@cogitator-ai/core 0.1.0 → 0.3.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 +920 -15
- package/dist/__tests__/agent.test.js +2 -2
- package/dist/__tests__/agent.test.js.map +1 -1
- package/dist/__tests__/base64.test.js +1 -1
- package/dist/__tests__/base64.test.js.map +1 -1
- package/dist/__tests__/calculator.test.js +1 -1
- package/dist/__tests__/calculator.test.js.map +1 -1
- package/dist/__tests__/cogitator-memory.test.js +2 -2
- package/dist/__tests__/cogitator-memory.test.js.map +1 -1
- package/dist/__tests__/datetime.test.js +1 -1
- package/dist/__tests__/datetime.test.js.map +1 -1
- package/dist/__tests__/exec.test.js +1 -1
- package/dist/__tests__/exec.test.js.map +1 -1
- package/dist/__tests__/filesystem.test.js +1 -1
- package/dist/__tests__/filesystem.test.js.map +1 -1
- package/dist/__tests__/google-backend.test.js +1 -1
- package/dist/__tests__/google-backend.test.js.map +1 -1
- package/dist/__tests__/hash.test.js +1 -1
- package/dist/__tests__/hash.test.js.map +1 -1
- package/dist/__tests__/http.test.js +1 -1
- package/dist/__tests__/http.test.js.map +1 -1
- package/dist/__tests__/json.test.js +1 -1
- package/dist/__tests__/json.test.js.map +1 -1
- package/dist/__tests__/logger.test.js +1 -1
- package/dist/__tests__/logger.test.js.map +1 -1
- package/dist/__tests__/random.test.js +1 -1
- package/dist/__tests__/random.test.js.map +1 -1
- package/dist/__tests__/regex.test.js +1 -1
- package/dist/__tests__/regex.test.js.map +1 -1
- package/dist/__tests__/registry.test.js +2 -2
- package/dist/__tests__/registry.test.js.map +1 -1
- package/dist/__tests__/sleep.test.js +1 -1
- package/dist/__tests__/sleep.test.js.map +1 -1
- package/dist/__tests__/tool.test.js +1 -1
- package/dist/__tests__/tool.test.js.map +1 -1
- package/dist/__tests__/uuid.test.js +1 -1
- package/dist/__tests__/uuid.test.js.map +1 -1
- package/dist/cogitator.d.ts +46 -1
- package/dist/cogitator.d.ts.map +1 -1
- package/dist/cogitator.js +274 -17
- package/dist/cogitator.js.map +1 -1
- package/dist/constitutional/constitution.d.ts +9 -0
- package/dist/constitutional/constitution.d.ts.map +1 -0
- package/dist/constitutional/constitution.js +215 -0
- package/dist/constitutional/constitution.js.map +1 -0
- package/dist/constitutional/constitutional-ai.d.ts +36 -0
- package/dist/constitutional/constitutional-ai.d.ts.map +1 -0
- package/dist/constitutional/constitutional-ai.js +163 -0
- package/dist/constitutional/constitutional-ai.js.map +1 -0
- package/dist/constitutional/critique-reviser.d.ts +20 -0
- package/dist/constitutional/critique-reviser.d.ts.map +1 -0
- package/dist/constitutional/critique-reviser.js +98 -0
- package/dist/constitutional/critique-reviser.js.map +1 -0
- package/dist/constitutional/index.d.ts +13 -0
- package/dist/constitutional/index.d.ts.map +1 -0
- package/dist/constitutional/index.js +8 -0
- package/dist/constitutional/index.js.map +1 -0
- package/dist/constitutional/input-filter.d.ts +19 -0
- package/dist/constitutional/input-filter.d.ts.map +1 -0
- package/dist/constitutional/input-filter.js +88 -0
- package/dist/constitutional/input-filter.js.map +1 -0
- package/dist/constitutional/output-filter.d.ts +19 -0
- package/dist/constitutional/output-filter.d.ts.map +1 -0
- package/dist/constitutional/output-filter.js +86 -0
- package/dist/constitutional/output-filter.js.map +1 -0
- package/dist/constitutional/prompts.d.ts +11 -0
- package/dist/constitutional/prompts.d.ts.map +1 -0
- package/dist/constitutional/prompts.js +202 -0
- package/dist/constitutional/prompts.js.map +1 -0
- package/dist/constitutional/tool-guard.d.ts +18 -0
- package/dist/constitutional/tool-guard.d.ts.map +1 -0
- package/dist/constitutional/tool-guard.js +125 -0
- package/dist/constitutional/tool-guard.js.map +1 -0
- package/dist/cost-routing/budget-enforcer.d.ts +26 -0
- package/dist/cost-routing/budget-enforcer.d.ts.map +1 -0
- package/dist/cost-routing/budget-enforcer.js +86 -0
- package/dist/cost-routing/budget-enforcer.js.map +1 -0
- package/dist/cost-routing/cost-router.d.ts +34 -0
- package/dist/cost-routing/cost-router.d.ts.map +1 -0
- package/dist/cost-routing/cost-router.js +80 -0
- package/dist/cost-routing/cost-router.js.map +1 -0
- package/dist/cost-routing/cost-tracker.d.ts +20 -0
- package/dist/cost-routing/cost-tracker.d.ts.map +1 -0
- package/dist/cost-routing/cost-tracker.js +85 -0
- package/dist/cost-routing/cost-tracker.js.map +1 -0
- package/dist/cost-routing/index.d.ts +6 -0
- package/dist/cost-routing/index.d.ts.map +1 -0
- package/dist/cost-routing/index.js +6 -0
- package/dist/cost-routing/index.js.map +1 -0
- package/dist/cost-routing/model-selector.d.ts +15 -0
- package/dist/cost-routing/model-selector.d.ts.map +1 -0
- package/dist/cost-routing/model-selector.js +216 -0
- package/dist/cost-routing/model-selector.js.map +1 -0
- package/dist/cost-routing/task-analyzer.d.ts +13 -0
- package/dist/cost-routing/task-analyzer.d.ts.map +1 -0
- package/dist/cost-routing/task-analyzer.js +185 -0
- package/dist/cost-routing/task-analyzer.js.map +1 -0
- package/dist/index.d.ts +19 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/learning/ab-testing.d.ts +45 -0
- package/dist/learning/ab-testing.d.ts.map +1 -0
- package/dist/learning/ab-testing.js +267 -0
- package/dist/learning/ab-testing.js.map +1 -0
- package/dist/learning/agent-optimizer.d.ts +42 -0
- package/dist/learning/agent-optimizer.d.ts.map +1 -0
- package/dist/learning/agent-optimizer.js +273 -0
- package/dist/learning/agent-optimizer.js.map +1 -0
- package/dist/learning/auto-optimizer.d.ts +38 -0
- package/dist/learning/auto-optimizer.d.ts.map +1 -0
- package/dist/learning/auto-optimizer.js +229 -0
- package/dist/learning/auto-optimizer.js.map +1 -0
- package/dist/learning/demo-selector.d.ts +29 -0
- package/dist/learning/demo-selector.d.ts.map +1 -0
- package/dist/learning/demo-selector.js +235 -0
- package/dist/learning/demo-selector.js.map +1 -0
- package/dist/learning/index.d.ts +24 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +13 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/instruction-optimizer.d.ts +29 -0
- package/dist/learning/instruction-optimizer.d.ts.map +1 -0
- package/dist/learning/instruction-optimizer.js +175 -0
- package/dist/learning/instruction-optimizer.js.map +1 -0
- package/dist/learning/metrics.d.ts +37 -0
- package/dist/learning/metrics.d.ts.map +1 -0
- package/dist/learning/metrics.js +310 -0
- package/dist/learning/metrics.js.map +1 -0
- package/dist/learning/postgres-trace-store.d.ts +53 -0
- package/dist/learning/postgres-trace-store.d.ts.map +1 -0
- package/dist/learning/postgres-trace-store.js +692 -0
- package/dist/learning/postgres-trace-store.js.map +1 -0
- package/dist/learning/prompt-logger.d.ts +29 -0
- package/dist/learning/prompt-logger.d.ts.map +1 -0
- package/dist/learning/prompt-logger.js +157 -0
- package/dist/learning/prompt-logger.js.map +1 -0
- package/dist/learning/prompt-monitor.d.ts +29 -0
- package/dist/learning/prompt-monitor.d.ts.map +1 -0
- package/dist/learning/prompt-monitor.js +243 -0
- package/dist/learning/prompt-monitor.js.map +1 -0
- package/dist/learning/prompts.d.ts +28 -0
- package/dist/learning/prompts.d.ts.map +1 -0
- package/dist/learning/prompts.js +195 -0
- package/dist/learning/prompts.js.map +1 -0
- package/dist/learning/rollback-manager.d.ts +36 -0
- package/dist/learning/rollback-manager.d.ts.map +1 -0
- package/dist/learning/rollback-manager.js +177 -0
- package/dist/learning/rollback-manager.js.map +1 -0
- package/dist/learning/trace-store.d.ts +26 -0
- package/dist/learning/trace-store.d.ts.map +1 -0
- package/dist/learning/trace-store.js +218 -0
- package/dist/learning/trace-store.js.map +1 -0
- package/dist/llm/google.d.ts.map +1 -1
- package/dist/llm/google.js +1 -2
- package/dist/llm/google.js.map +1 -1
- package/dist/reasoning/branch-evaluator.d.ts +28 -0
- package/dist/reasoning/branch-evaluator.d.ts.map +1 -0
- package/dist/reasoning/branch-evaluator.js +143 -0
- package/dist/reasoning/branch-evaluator.js.map +1 -0
- package/dist/reasoning/branch-generator.d.ts +9 -0
- package/dist/reasoning/branch-generator.d.ts.map +1 -0
- package/dist/reasoning/branch-generator.js +60 -0
- package/dist/reasoning/branch-generator.js.map +1 -0
- package/dist/reasoning/index.d.ts +5 -0
- package/dist/reasoning/index.d.ts.map +1 -0
- package/dist/reasoning/index.js +5 -0
- package/dist/reasoning/index.js.map +1 -0
- package/dist/reasoning/prompts.d.ts +19 -0
- package/dist/reasoning/prompts.d.ts.map +1 -0
- package/dist/reasoning/prompts.js +161 -0
- package/dist/reasoning/prompts.js.map +1 -0
- package/dist/reasoning/thought-tree.d.ts +32 -0
- package/dist/reasoning/thought-tree.d.ts.map +1 -0
- package/dist/reasoning/thought-tree.js +352 -0
- package/dist/reasoning/thought-tree.js.map +1 -0
- package/dist/reflection/index.d.ts +4 -0
- package/dist/reflection/index.d.ts.map +1 -0
- package/dist/reflection/index.js +4 -0
- package/dist/reflection/index.js.map +1 -0
- package/dist/reflection/insight-store.d.ts +19 -0
- package/dist/reflection/insight-store.d.ts.map +1 -0
- package/dist/reflection/insight-store.js +129 -0
- package/dist/reflection/insight-store.js.map +1 -0
- package/dist/reflection/prompts.d.ts +18 -0
- package/dist/reflection/prompts.d.ts.map +1 -0
- package/dist/reflection/prompts.js +157 -0
- package/dist/reflection/prompts.js.map +1 -0
- package/dist/reflection/reflection-engine.d.ts +25 -0
- package/dist/reflection/reflection-engine.d.ts.map +1 -0
- package/dist/reflection/reflection-engine.js +202 -0
- package/dist/reflection/reflection-engine.js.map +1 -0
- package/dist/registry.d.ts +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +3 -0
- package/dist/registry.js.map +1 -1
- package/dist/time-travel/checkpoint-store.d.ts +34 -0
- package/dist/time-travel/checkpoint-store.d.ts.map +1 -0
- package/dist/time-travel/checkpoint-store.js +240 -0
- package/dist/time-travel/checkpoint-store.js.map +1 -0
- package/dist/time-travel/comparator.d.ts +26 -0
- package/dist/time-travel/comparator.d.ts.map +1 -0
- package/dist/time-travel/comparator.js +253 -0
- package/dist/time-travel/comparator.js.map +1 -0
- package/dist/time-travel/forker.d.ts +22 -0
- package/dist/time-travel/forker.d.ts.map +1 -0
- package/dist/time-travel/forker.js +118 -0
- package/dist/time-travel/forker.js.map +1 -0
- package/dist/time-travel/index.d.ts +6 -0
- package/dist/time-travel/index.d.ts.map +1 -0
- package/dist/time-travel/index.js +6 -0
- package/dist/time-travel/index.js.map +1 -0
- package/dist/time-travel/replayer.d.ts +20 -0
- package/dist/time-travel/replayer.d.ts.map +1 -0
- package/dist/time-travel/replayer.js +147 -0
- package/dist/time-travel/replayer.js.map +1 -0
- package/dist/time-travel/time-travel.d.ts +41 -0
- package/dist/time-travel/time-travel.d.ts.map +1 -0
- package/dist/time-travel/time-travel.js +127 -0
- package/dist/time-travel/time-travel.js.map +1 -0
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +2 -0
- package/dist/tool.js.map +1 -1
- package/dist/tools/base64.d.ts.map +1 -1
- package/dist/tools/base64.js +2 -8
- package/dist/tools/base64.js.map +1 -1
- package/dist/tools/datetime.d.ts.map +1 -1
- package/dist/tools/datetime.js.map +1 -1
- package/dist/tools/exec.d.ts.map +1 -1
- package/dist/tools/exec.js +1 -4
- package/dist/tools/exec.js.map +1 -1
- package/dist/tools/filesystem.d.ts.map +1 -1
- package/dist/tools/filesystem.js +4 -1
- package/dist/tools/filesystem.js.map +1 -1
- package/dist/tools/hash.d.ts.map +1 -1
- package/dist/tools/hash.js +1 -4
- package/dist/tools/hash.js.map +1 -1
- package/dist/tools/http.d.ts.map +1 -1
- package/dist/tools/http.js +1 -4
- package/dist/tools/http.js.map +1 -1
- package/dist/tools/regex.d.ts.map +1 -1
- package/dist/tools/regex.js +4 -1
- package/dist/tools/regex.js.map +1 -1
- package/dist/utils/circuit-breaker.d.ts.map +1 -1
- package/dist/utils/circuit-breaker.js.map +1 -1
- package/dist/utils/fallback.d.ts.map +1 -1
- package/dist/utils/fallback.js +1 -4
- package/dist/utils/fallback.js.map +1 -1
- package/dist/utils/retry.d.ts.map +1 -1
- package/dist/utils/retry.js +8 -13
- package/dist/utils/retry.js.map +1 -1
- package/package.json +17 -8
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
export class InMemoryInsightStore {
|
|
2
|
+
insights = new Map();
|
|
3
|
+
agentIndex = new Map();
|
|
4
|
+
async store(insight) {
|
|
5
|
+
this.insights.set(insight.id, insight);
|
|
6
|
+
let agentInsights = this.agentIndex.get(insight.agentId);
|
|
7
|
+
if (!agentInsights) {
|
|
8
|
+
agentInsights = new Set();
|
|
9
|
+
this.agentIndex.set(insight.agentId, agentInsights);
|
|
10
|
+
}
|
|
11
|
+
agentInsights.add(insight.id);
|
|
12
|
+
}
|
|
13
|
+
async storeMany(insights) {
|
|
14
|
+
for (const insight of insights) {
|
|
15
|
+
await this.store(insight);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async findRelevant(agentId, context, limit = 5) {
|
|
19
|
+
const agentInsights = this.agentIndex.get(agentId);
|
|
20
|
+
if (!agentInsights)
|
|
21
|
+
return [];
|
|
22
|
+
const contextLower = context.toLowerCase();
|
|
23
|
+
const contextWords = new Set(contextLower.split(/\s+/).filter((w) => w.length > 3));
|
|
24
|
+
const scored = [];
|
|
25
|
+
for (const id of agentInsights) {
|
|
26
|
+
const insight = this.insights.get(id);
|
|
27
|
+
if (!insight)
|
|
28
|
+
continue;
|
|
29
|
+
let score = 0;
|
|
30
|
+
const insightText = `${insight.content} ${insight.context}`.toLowerCase();
|
|
31
|
+
for (const word of contextWords) {
|
|
32
|
+
if (insightText.includes(word)) {
|
|
33
|
+
score += 1;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
score += insight.confidence * 0.5;
|
|
37
|
+
score += Math.min(insight.usageCount * 0.1, 1);
|
|
38
|
+
const ageMs = Date.now() - insight.lastUsedAt.getTime();
|
|
39
|
+
const ageDays = ageMs / (1000 * 60 * 60 * 24);
|
|
40
|
+
score -= Math.min(ageDays * 0.01, 0.5);
|
|
41
|
+
const typeBoost = {
|
|
42
|
+
pattern: 0.3,
|
|
43
|
+
success: 0.2,
|
|
44
|
+
tip: 0.2,
|
|
45
|
+
mistake: 0.4,
|
|
46
|
+
warning: 0.4,
|
|
47
|
+
};
|
|
48
|
+
score += typeBoost[insight.type] ?? 0;
|
|
49
|
+
if (score > 0) {
|
|
50
|
+
scored.push({ insight, score });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
scored.sort((a, b) => b.score - a.score);
|
|
54
|
+
return scored.slice(0, limit).map((s) => s.insight);
|
|
55
|
+
}
|
|
56
|
+
async getAll(agentId) {
|
|
57
|
+
const agentInsights = this.agentIndex.get(agentId);
|
|
58
|
+
if (!agentInsights)
|
|
59
|
+
return [];
|
|
60
|
+
const result = [];
|
|
61
|
+
for (const id of agentInsights) {
|
|
62
|
+
const insight = this.insights.get(id);
|
|
63
|
+
if (insight)
|
|
64
|
+
result.push(insight);
|
|
65
|
+
}
|
|
66
|
+
result.sort((a, b) => b.lastUsedAt.getTime() - a.lastUsedAt.getTime());
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
async getById(id) {
|
|
70
|
+
return this.insights.get(id) ?? null;
|
|
71
|
+
}
|
|
72
|
+
async markUsed(id) {
|
|
73
|
+
const insight = this.insights.get(id);
|
|
74
|
+
if (insight) {
|
|
75
|
+
insight.usageCount += 1;
|
|
76
|
+
insight.lastUsedAt = new Date();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async prune(agentId, maxInsights) {
|
|
80
|
+
const agentInsights = this.agentIndex.get(agentId);
|
|
81
|
+
if (!agentInsights || agentInsights.size <= maxInsights)
|
|
82
|
+
return 0;
|
|
83
|
+
const insights = [];
|
|
84
|
+
for (const id of agentInsights) {
|
|
85
|
+
const insight = this.insights.get(id);
|
|
86
|
+
if (insight)
|
|
87
|
+
insights.push(insight);
|
|
88
|
+
}
|
|
89
|
+
insights.sort((a, b) => {
|
|
90
|
+
const scoreA = a.usageCount * 0.5 +
|
|
91
|
+
a.confidence * 0.3 +
|
|
92
|
+
((Date.now() - a.lastUsedAt.getTime()) / (1000 * 60 * 60 * 24)) * -0.2;
|
|
93
|
+
const scoreB = b.usageCount * 0.5 +
|
|
94
|
+
b.confidence * 0.3 +
|
|
95
|
+
((Date.now() - b.lastUsedAt.getTime()) / (1000 * 60 * 60 * 24)) * -0.2;
|
|
96
|
+
return scoreB - scoreA;
|
|
97
|
+
});
|
|
98
|
+
const toRemove = insights.slice(maxInsights);
|
|
99
|
+
for (const insight of toRemove) {
|
|
100
|
+
this.insights.delete(insight.id);
|
|
101
|
+
agentInsights.delete(insight.id);
|
|
102
|
+
}
|
|
103
|
+
return toRemove.length;
|
|
104
|
+
}
|
|
105
|
+
async delete(id) {
|
|
106
|
+
const insight = this.insights.get(id);
|
|
107
|
+
if (!insight)
|
|
108
|
+
return false;
|
|
109
|
+
this.insights.delete(id);
|
|
110
|
+
this.agentIndex.get(insight.agentId)?.delete(id);
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
async clear(agentId) {
|
|
114
|
+
const agentInsights = this.agentIndex.get(agentId);
|
|
115
|
+
if (!agentInsights)
|
|
116
|
+
return;
|
|
117
|
+
for (const id of agentInsights) {
|
|
118
|
+
this.insights.delete(id);
|
|
119
|
+
}
|
|
120
|
+
this.agentIndex.delete(agentId);
|
|
121
|
+
}
|
|
122
|
+
getStats() {
|
|
123
|
+
return {
|
|
124
|
+
totalInsights: this.insights.size,
|
|
125
|
+
agentCount: this.agentIndex.size,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=insight-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insight-store.js","sourceRoot":"","sources":["../../src/reflection/insight-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ReflectionAction, AgentContext, Insight } from '@cogitator-ai/types';
|
|
2
|
+
export declare function buildToolReflectionPrompt(action: ReflectionAction, context: AgentContext, relevantInsights: Insight[]): string;
|
|
3
|
+
export declare function buildErrorReflectionPrompt(action: ReflectionAction, context: AgentContext, relevantInsights: Insight[]): string;
|
|
4
|
+
export declare function buildRunReflectionPrompt(context: AgentContext, actions: ReflectionAction[], finalOutput: string, success: boolean): string;
|
|
5
|
+
export interface ParsedReflection {
|
|
6
|
+
wasSuccessful: boolean;
|
|
7
|
+
confidence: number;
|
|
8
|
+
reasoning: string;
|
|
9
|
+
alternativesConsidered?: string[];
|
|
10
|
+
whatCouldImprove?: string;
|
|
11
|
+
insights: Array<{
|
|
12
|
+
type: string;
|
|
13
|
+
content: string;
|
|
14
|
+
context: string;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
export declare function parseReflectionResponse(response: string): ParsedReflection | null;
|
|
18
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/reflection/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnF,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,EACrB,gBAAgB,EAAE,OAAO,EAAE,GAC1B,MAAM,CAsCR;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,EACrB,gBAAgB,EAAE,OAAO,EAAE,GAC1B,MAAM,CA6CR;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACf,MAAM,CAwCR;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA0CjF"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
export function buildToolReflectionPrompt(action, context, relevantInsights) {
|
|
2
|
+
const insightsSection = relevantInsights.length > 0
|
|
3
|
+
? `\nRelevant past learnings:\n${relevantInsights.map((i) => `- ${i.content}`).join('\n')}`
|
|
4
|
+
: '';
|
|
5
|
+
return `You just executed a tool. Analyze the result and extract learnings.
|
|
6
|
+
|
|
7
|
+
Tool: ${action.toolName}
|
|
8
|
+
Input: ${JSON.stringify(action.input, null, 2)}
|
|
9
|
+
Output: ${JSON.stringify(action.output, null, 2)}
|
|
10
|
+
Duration: ${action.duration ?? 'unknown'}ms
|
|
11
|
+
Goal: ${context.goal}
|
|
12
|
+
Iteration: ${context.iterationIndex + 1}
|
|
13
|
+
Available tools: ${context.availableTools.join(', ')}
|
|
14
|
+
${insightsSection}
|
|
15
|
+
|
|
16
|
+
Analyze this tool execution:
|
|
17
|
+
1. Was this the right tool for the task? Rate confidence 0.0-1.0
|
|
18
|
+
2. Did the output help progress toward the goal?
|
|
19
|
+
3. What alternatives could have been considered?
|
|
20
|
+
4. What can be learned for future similar situations?
|
|
21
|
+
|
|
22
|
+
Respond ONLY with valid JSON (no markdown, no code blocks):
|
|
23
|
+
{
|
|
24
|
+
"wasSuccessful": boolean,
|
|
25
|
+
"confidence": number,
|
|
26
|
+
"reasoning": "brief explanation",
|
|
27
|
+
"alternativesConsidered": ["alternative 1", "alternative 2"],
|
|
28
|
+
"whatCouldImprove": "suggestion or null",
|
|
29
|
+
"insights": [
|
|
30
|
+
{
|
|
31
|
+
"type": "pattern|mistake|success|tip|warning",
|
|
32
|
+
"content": "what was learned",
|
|
33
|
+
"context": "when this applies"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}`;
|
|
37
|
+
}
|
|
38
|
+
export function buildErrorReflectionPrompt(action, context, relevantInsights) {
|
|
39
|
+
const previousActions = context.previousActions.length > 0
|
|
40
|
+
? `\nPrevious actions:\n${context.previousActions
|
|
41
|
+
.map((a, i) => `${i + 1}. ${a.type}${a.toolName ? `: ${a.toolName}` : ''}`)
|
|
42
|
+
.join('\n')}`
|
|
43
|
+
: '';
|
|
44
|
+
const insightsSection = relevantInsights.length > 0
|
|
45
|
+
? `\nRelevant past learnings:\n${relevantInsights.map((i) => `- ${i.content}`).join('\n')}`
|
|
46
|
+
: '';
|
|
47
|
+
return `An error occurred during agent execution. Analyze what went wrong.
|
|
48
|
+
|
|
49
|
+
Error: ${action.error}
|
|
50
|
+
Action type: ${action.type}
|
|
51
|
+
${action.toolName ? `Tool: ${action.toolName}` : ''}
|
|
52
|
+
${action.input ? `Input: ${JSON.stringify(action.input, null, 2)}` : ''}
|
|
53
|
+
Goal: ${context.goal}
|
|
54
|
+
Iteration: ${context.iterationIndex + 1}
|
|
55
|
+
${previousActions}
|
|
56
|
+
${insightsSection}
|
|
57
|
+
|
|
58
|
+
Analyze this error:
|
|
59
|
+
1. What caused this error?
|
|
60
|
+
2. Could it have been prevented?
|
|
61
|
+
3. Is this recoverable? How?
|
|
62
|
+
4. What should be done differently next time?
|
|
63
|
+
|
|
64
|
+
Respond ONLY with valid JSON (no markdown, no code blocks):
|
|
65
|
+
{
|
|
66
|
+
"wasSuccessful": false,
|
|
67
|
+
"confidence": number,
|
|
68
|
+
"reasoning": "what went wrong and why",
|
|
69
|
+
"alternativesConsidered": ["what could have been done instead"],
|
|
70
|
+
"whatCouldImprove": "specific improvement",
|
|
71
|
+
"insights": [
|
|
72
|
+
{
|
|
73
|
+
"type": "mistake|warning|tip",
|
|
74
|
+
"content": "what was learned from this error",
|
|
75
|
+
"context": "when this applies"
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}`;
|
|
79
|
+
}
|
|
80
|
+
export function buildRunReflectionPrompt(context, actions, finalOutput, success) {
|
|
81
|
+
const actionsSummary = actions
|
|
82
|
+
.map((a, i) => {
|
|
83
|
+
const result = a.error ? `ERROR: ${a.error}` : 'OK';
|
|
84
|
+
return `${i + 1}. ${a.type}${a.toolName ? `: ${a.toolName}` : ''} - ${result}`;
|
|
85
|
+
})
|
|
86
|
+
.join('\n');
|
|
87
|
+
return `The agent run has completed. Provide an overall analysis.
|
|
88
|
+
|
|
89
|
+
Goal: ${context.goal}
|
|
90
|
+
Total iterations: ${context.iterationIndex + 1}
|
|
91
|
+
Final outcome: ${success ? 'SUCCESS' : 'FAILED'}
|
|
92
|
+
|
|
93
|
+
Actions taken:
|
|
94
|
+
${actionsSummary}
|
|
95
|
+
|
|
96
|
+
Final output: ${finalOutput.slice(0, 500)}${finalOutput.length > 500 ? '...' : ''}
|
|
97
|
+
|
|
98
|
+
Analyze the entire run:
|
|
99
|
+
1. Was the goal achieved? Rate confidence 0.0-1.0
|
|
100
|
+
2. What worked well?
|
|
101
|
+
3. What could be improved?
|
|
102
|
+
4. What patterns or strategies should be remembered?
|
|
103
|
+
|
|
104
|
+
Respond ONLY with valid JSON (no markdown, no code blocks):
|
|
105
|
+
{
|
|
106
|
+
"wasSuccessful": ${success},
|
|
107
|
+
"confidence": number,
|
|
108
|
+
"reasoning": "overall assessment",
|
|
109
|
+
"alternativesConsidered": ["what could have been done differently"],
|
|
110
|
+
"whatCouldImprove": "key improvement for future runs",
|
|
111
|
+
"insights": [
|
|
112
|
+
{
|
|
113
|
+
"type": "pattern|success|tip",
|
|
114
|
+
"content": "key learning from this run",
|
|
115
|
+
"context": "when to apply this"
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
}`;
|
|
119
|
+
}
|
|
120
|
+
export function parseReflectionResponse(response) {
|
|
121
|
+
try {
|
|
122
|
+
let cleaned = response.trim();
|
|
123
|
+
if (cleaned.startsWith('```json')) {
|
|
124
|
+
cleaned = cleaned.slice(7);
|
|
125
|
+
}
|
|
126
|
+
else if (cleaned.startsWith('```')) {
|
|
127
|
+
cleaned = cleaned.slice(3);
|
|
128
|
+
}
|
|
129
|
+
if (cleaned.endsWith('```')) {
|
|
130
|
+
cleaned = cleaned.slice(0, -3);
|
|
131
|
+
}
|
|
132
|
+
cleaned = cleaned.trim();
|
|
133
|
+
const parsed = JSON.parse(cleaned);
|
|
134
|
+
if (typeof parsed.wasSuccessful !== 'boolean') {
|
|
135
|
+
parsed.wasSuccessful = false;
|
|
136
|
+
}
|
|
137
|
+
if (typeof parsed.confidence !== 'number' || parsed.confidence < 0 || parsed.confidence > 1) {
|
|
138
|
+
parsed.confidence = 0.5;
|
|
139
|
+
}
|
|
140
|
+
if (typeof parsed.reasoning !== 'string') {
|
|
141
|
+
parsed.reasoning = '';
|
|
142
|
+
}
|
|
143
|
+
if (!Array.isArray(parsed.insights)) {
|
|
144
|
+
parsed.insights = [];
|
|
145
|
+
}
|
|
146
|
+
parsed.insights = parsed.insights.filter((i) => i &&
|
|
147
|
+
typeof i === 'object' &&
|
|
148
|
+
typeof i.type === 'string' &&
|
|
149
|
+
typeof i.content === 'string' &&
|
|
150
|
+
typeof i.context === 'string');
|
|
151
|
+
return parsed;
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/reflection/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { LLMBackend, Insight, InsightStore, Reflection, ReflectionConfig, ReflectionAction, ReflectionResult, AgentContext, ReflectionSummary } from '@cogitator-ai/types';
|
|
2
|
+
export interface ReflectionEngineOptions {
|
|
3
|
+
llm: LLMBackend;
|
|
4
|
+
insightStore: InsightStore;
|
|
5
|
+
config: ReflectionConfig;
|
|
6
|
+
}
|
|
7
|
+
export declare class ReflectionEngine {
|
|
8
|
+
private llm;
|
|
9
|
+
private insightStore;
|
|
10
|
+
private config;
|
|
11
|
+
private reflections;
|
|
12
|
+
constructor(options: ReflectionEngineOptions);
|
|
13
|
+
reflectOnToolCall(action: ReflectionAction, context: AgentContext): Promise<ReflectionResult>;
|
|
14
|
+
reflectOnError(action: ReflectionAction, context: AgentContext): Promise<ReflectionResult>;
|
|
15
|
+
reflectOnRun(context: AgentContext, actions: ReflectionAction[], finalOutput: string, success: boolean): Promise<ReflectionResult>;
|
|
16
|
+
getRelevantInsights(context: AgentContext, limit?: number): Promise<Insight[]>;
|
|
17
|
+
getRunReflections(runId: string): Reflection[];
|
|
18
|
+
getSummary(agentId: string): Promise<ReflectionSummary>;
|
|
19
|
+
private callLLM;
|
|
20
|
+
private createReflection;
|
|
21
|
+
private processReflection;
|
|
22
|
+
private createFallbackResult;
|
|
23
|
+
private validateInsightType;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=reflection-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflection-engine.d.ts","sourceRoot":"","sources":["../../src/reflection/reflection-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAY7B,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,UAAU,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,WAAW,CAAmC;gBAE1C,OAAO,EAAE,uBAAuB;IAMtC,iBAAiB,CACrB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,gBAAgB,CAAC;IAqBtB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyB1F,YAAY,CAChB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,gBAAgB,CAAC;IAwBtB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU/E,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;IAIxC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;YA+B/C,OAAO;IAqBrB,OAAO,CAAC,gBAAgB;YAiDV,iBAAiB;IAqB/B,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,mBAAmB;CAO5B"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { buildToolReflectionPrompt, buildErrorReflectionPrompt, buildRunReflectionPrompt, parseReflectionResponse, } from './prompts';
|
|
2
|
+
function generateId() {
|
|
3
|
+
return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 9)}`;
|
|
4
|
+
}
|
|
5
|
+
export class ReflectionEngine {
|
|
6
|
+
llm;
|
|
7
|
+
insightStore;
|
|
8
|
+
config;
|
|
9
|
+
reflections = new Map();
|
|
10
|
+
constructor(options) {
|
|
11
|
+
this.llm = options.llm;
|
|
12
|
+
this.insightStore = options.insightStore;
|
|
13
|
+
this.config = options.config;
|
|
14
|
+
}
|
|
15
|
+
async reflectOnToolCall(action, context) {
|
|
16
|
+
const relevantInsights = await this.insightStore.findRelevant(context.agentId, context.goal, 5);
|
|
17
|
+
const prompt = buildToolReflectionPrompt(action, context, relevantInsights);
|
|
18
|
+
const response = await this.callLLM(prompt);
|
|
19
|
+
const parsed = parseReflectionResponse(response);
|
|
20
|
+
if (!parsed) {
|
|
21
|
+
return this.createFallbackResult(action, context);
|
|
22
|
+
}
|
|
23
|
+
const reflection = this.createReflection(action, context, parsed);
|
|
24
|
+
await this.processReflection(reflection, context);
|
|
25
|
+
return {
|
|
26
|
+
reflection,
|
|
27
|
+
shouldAdjustStrategy: parsed.confidence < 0.5,
|
|
28
|
+
suggestedAction: parsed.whatCouldImprove ?? undefined,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
async reflectOnError(action, context) {
|
|
32
|
+
const relevantInsights = await this.insightStore.findRelevant(context.agentId, `error ${action.error ?? ''}`, 5);
|
|
33
|
+
const prompt = buildErrorReflectionPrompt(action, context, relevantInsights);
|
|
34
|
+
const response = await this.callLLM(prompt);
|
|
35
|
+
const parsed = parseReflectionResponse(response);
|
|
36
|
+
if (!parsed) {
|
|
37
|
+
return this.createFallbackResult(action, context, true);
|
|
38
|
+
}
|
|
39
|
+
const reflection = this.createReflection(action, context, parsed);
|
|
40
|
+
await this.processReflection(reflection, context);
|
|
41
|
+
return {
|
|
42
|
+
reflection,
|
|
43
|
+
shouldAdjustStrategy: true,
|
|
44
|
+
suggestedAction: parsed.whatCouldImprove ?? 'Consider alternative approaches',
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
async reflectOnRun(context, actions, finalOutput, success) {
|
|
48
|
+
const prompt = buildRunReflectionPrompt(context, actions, finalOutput, success);
|
|
49
|
+
const response = await this.callLLM(prompt);
|
|
50
|
+
const parsed = parseReflectionResponse(response);
|
|
51
|
+
const action = {
|
|
52
|
+
type: 'response',
|
|
53
|
+
output: finalOutput,
|
|
54
|
+
};
|
|
55
|
+
if (!parsed) {
|
|
56
|
+
return this.createFallbackResult(action, context, !success);
|
|
57
|
+
}
|
|
58
|
+
const reflection = this.createReflection(action, context, parsed);
|
|
59
|
+
await this.processReflection(reflection, context);
|
|
60
|
+
return {
|
|
61
|
+
reflection,
|
|
62
|
+
shouldAdjustStrategy: false,
|
|
63
|
+
suggestedAction: parsed.whatCouldImprove ?? undefined,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
async getRelevantInsights(context, limit = 5) {
|
|
67
|
+
const insights = await this.insightStore.findRelevant(context.agentId, context.goal, limit);
|
|
68
|
+
for (const insight of insights) {
|
|
69
|
+
await this.insightStore.markUsed(insight.id);
|
|
70
|
+
}
|
|
71
|
+
return insights;
|
|
72
|
+
}
|
|
73
|
+
getRunReflections(runId) {
|
|
74
|
+
return this.reflections.get(runId) ?? [];
|
|
75
|
+
}
|
|
76
|
+
async getSummary(agentId) {
|
|
77
|
+
const allInsights = await this.insightStore.getAll(agentId);
|
|
78
|
+
let allReflections = [];
|
|
79
|
+
for (const reflections of this.reflections.values()) {
|
|
80
|
+
allReflections = allReflections.concat(reflections.filter((r) => r.agentId === agentId));
|
|
81
|
+
}
|
|
82
|
+
const successCount = allReflections.filter((r) => r.analysis.wasSuccessful).length;
|
|
83
|
+
const totalConfidence = allReflections.reduce((sum, r) => sum + r.analysis.confidence, 0);
|
|
84
|
+
const mistakes = allInsights.filter((i) => i.type === 'mistake').map((i) => i.content);
|
|
85
|
+
const patterns = allInsights
|
|
86
|
+
.filter((i) => i.type === 'pattern' || i.type === 'success')
|
|
87
|
+
.map((i) => i.content);
|
|
88
|
+
const topInsights = [...allInsights]
|
|
89
|
+
.sort((a, b) => b.usageCount * b.confidence - a.usageCount * a.confidence)
|
|
90
|
+
.slice(0, 10);
|
|
91
|
+
return {
|
|
92
|
+
totalReflections: allReflections.length,
|
|
93
|
+
successRate: allReflections.length > 0 ? successCount / allReflections.length : 0,
|
|
94
|
+
averageConfidence: allReflections.length > 0 ? totalConfidence / allReflections.length : 0,
|
|
95
|
+
topInsights,
|
|
96
|
+
commonMistakes: [...new Set(mistakes)].slice(0, 5),
|
|
97
|
+
learnedPatterns: [...new Set(patterns)].slice(0, 5),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
async callLLM(prompt) {
|
|
101
|
+
const response = await this.llm.chat({
|
|
102
|
+
model: this.config.reflectionModel ?? '',
|
|
103
|
+
messages: [
|
|
104
|
+
{
|
|
105
|
+
role: 'system',
|
|
106
|
+
content: 'You are a reflection assistant. Analyze actions and extract learnings. Always respond with valid JSON only.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
role: 'user',
|
|
110
|
+
content: prompt,
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
temperature: 0.3,
|
|
114
|
+
maxTokens: 1000,
|
|
115
|
+
});
|
|
116
|
+
return response.content;
|
|
117
|
+
}
|
|
118
|
+
createReflection(action, context, parsed) {
|
|
119
|
+
const reflectionId = generateId();
|
|
120
|
+
const insights = parsed.insights.map((i) => ({
|
|
121
|
+
id: generateId(),
|
|
122
|
+
type: this.validateInsightType(i.type),
|
|
123
|
+
content: i.content,
|
|
124
|
+
context: i.context,
|
|
125
|
+
confidence: parsed.confidence,
|
|
126
|
+
usageCount: 0,
|
|
127
|
+
createdAt: new Date(),
|
|
128
|
+
lastUsedAt: new Date(),
|
|
129
|
+
agentId: context.agentId,
|
|
130
|
+
source: {
|
|
131
|
+
runId: context.runId,
|
|
132
|
+
reflectionId,
|
|
133
|
+
},
|
|
134
|
+
}));
|
|
135
|
+
return {
|
|
136
|
+
id: reflectionId,
|
|
137
|
+
runId: context.runId,
|
|
138
|
+
agentId: context.agentId,
|
|
139
|
+
timestamp: new Date(),
|
|
140
|
+
action,
|
|
141
|
+
analysis: {
|
|
142
|
+
wasSuccessful: parsed.wasSuccessful,
|
|
143
|
+
confidence: parsed.confidence,
|
|
144
|
+
reasoning: parsed.reasoning,
|
|
145
|
+
alternativesConsidered: parsed.alternativesConsidered,
|
|
146
|
+
whatCouldImprove: parsed.whatCouldImprove,
|
|
147
|
+
},
|
|
148
|
+
insights,
|
|
149
|
+
goal: context.goal,
|
|
150
|
+
iterationIndex: context.iterationIndex,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
async processReflection(reflection, context) {
|
|
154
|
+
let runReflections = this.reflections.get(reflection.runId);
|
|
155
|
+
if (!runReflections) {
|
|
156
|
+
runReflections = [];
|
|
157
|
+
this.reflections.set(reflection.runId, runReflections);
|
|
158
|
+
}
|
|
159
|
+
runReflections.push(reflection);
|
|
160
|
+
if (this.config.storeInsights !== false) {
|
|
161
|
+
const minConfidence = this.config.minConfidenceToStore ?? 0.3;
|
|
162
|
+
const valuableInsights = reflection.insights.filter((i) => i.confidence >= minConfidence);
|
|
163
|
+
if (valuableInsights.length > 0) {
|
|
164
|
+
await this.insightStore.storeMany(valuableInsights);
|
|
165
|
+
const maxInsights = this.config.maxInsightsPerAgent ?? 100;
|
|
166
|
+
await this.insightStore.prune(context.agentId, maxInsights);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
createFallbackResult(action, context, isError = false) {
|
|
171
|
+
const reflection = {
|
|
172
|
+
id: generateId(),
|
|
173
|
+
runId: context.runId,
|
|
174
|
+
agentId: context.agentId,
|
|
175
|
+
timestamp: new Date(),
|
|
176
|
+
action,
|
|
177
|
+
analysis: {
|
|
178
|
+
wasSuccessful: !isError,
|
|
179
|
+
confidence: 0.5,
|
|
180
|
+
reasoning: isError ? 'Error occurred during execution' : 'Action completed',
|
|
181
|
+
alternativesConsidered: [],
|
|
182
|
+
whatCouldImprove: undefined,
|
|
183
|
+
},
|
|
184
|
+
insights: [],
|
|
185
|
+
goal: context.goal,
|
|
186
|
+
iterationIndex: context.iterationIndex,
|
|
187
|
+
};
|
|
188
|
+
return {
|
|
189
|
+
reflection,
|
|
190
|
+
shouldAdjustStrategy: isError,
|
|
191
|
+
suggestedAction: undefined,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
validateInsightType(type) {
|
|
195
|
+
const validTypes = ['pattern', 'mistake', 'success', 'tip', 'warning'];
|
|
196
|
+
if (validTypes.includes(type)) {
|
|
197
|
+
return type;
|
|
198
|
+
}
|
|
199
|
+
return 'tip';
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=reflection-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflection-engine.js","sourceRoot":"","sources":["../../src/reflection/reflection-engine.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAEnB,SAAS,UAAU;IACjB,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAQD,MAAM,OAAO,gBAAgB;IACnB,GAAG,CAAa;IAChB,YAAY,CAAe;IAC3B,MAAM,CAAmB;IACzB,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEtD,YAAY,OAAgC;QAC1C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAwB,EACxB,OAAqB;QAErB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEhG,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,OAAO;YACL,UAAU;YACV,oBAAoB,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG;YAC7C,eAAe,EAAE,MAAM,CAAC,gBAAgB,IAAI,SAAS;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAwB,EAAE,OAAqB;QAClE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAC3D,OAAO,CAAC,OAAO,EACf,SAAS,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,EAC7B,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,OAAO;YACL,UAAU;YACV,oBAAoB,EAAE,IAAI;YAC1B,eAAe,EAAE,MAAM,CAAC,gBAAgB,IAAI,iCAAiC;SAC9E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAqB,EACrB,OAA2B,EAC3B,WAAmB,EACnB,OAAgB;QAEhB,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAqB;YAC/B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,WAAW;SACpB,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,OAAO;YACL,UAAU;YACV,oBAAoB,EAAE,KAAK;YAC3B,eAAe,EAAE,MAAM,CAAC,gBAAgB,IAAI,SAAS;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAqB,EAAE,KAAK,GAAG,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,cAAc,GAAiB,EAAE,CAAC;QACtC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;QACnF,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE1F,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEvF,MAAM,QAAQ,GAAG,WAAW;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;aAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aACzE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,OAAO;YACL,gBAAgB,EAAE,cAAc,CAAC,MAAM;YACvC,WAAW,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjF,iBAAiB,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1F,WAAW;YACX,cAAc,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAClD,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACnC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE;YACxC,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,6GAA6G;iBAChH;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,MAAM;iBAChB;aACF;YACD,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAEO,gBAAgB,CACtB,MAAwB,EACxB,OAAqB,EACrB,MAOC;QAED,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;QAElC,MAAM,QAAQ,GAAc,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,EAAE,EAAE,UAAU,EAAE;YAChB,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,UAAU,EAAE,IAAI,IAAI,EAAE;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE;gBACN,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,YAAY;aACb;SACF,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE;gBACR,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;gBACrD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aAC1C;YACD,QAAQ;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,UAAsB,EAAE,OAAqB;QAC3E,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACzD,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,GAAG,CAAC;YAC9D,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,aAAa,CAAC,CAAC;YAE1F,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,GAAG,CAAC;gBAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oBAAoB,CAC1B,MAAwB,EACxB,OAAqB,EACrB,OAAO,GAAG,KAAK;QAEf,MAAM,UAAU,GAAe;YAC7B,EAAE,EAAE,UAAU,EAAE;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE;gBACR,aAAa,EAAE,CAAC,OAAO;gBACvB,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,kBAAkB;gBAC3E,sBAAsB,EAAE,EAAE;gBAC1B,gBAAgB,EAAE,SAAS;aAC5B;YACD,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC;QAEF,OAAO;YACL,UAAU;YACV,oBAAoB,EAAE,OAAO;YAC7B,eAAe,EAAE,SAAS;SAC3B,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,UAAU,GAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACtF,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAmB,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAmB,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/dist/registry.d.ts
CHANGED
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG5D,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAA2B;IAExC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI1B,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAMjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,MAAM,IAAI,IAAI,EAAE;IAIhB,UAAU,IAAI,UAAU,EAAE;IAI1B,KAAK,IAAI,IAAI;CAGd"}
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG5D,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAA2B;IAExC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI1B,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAMjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,MAAM,IAAI,IAAI,EAAE;IAIhB,UAAU,IAAI,UAAU,EAAE;IAI1B,QAAQ,IAAI,MAAM,EAAE;IAIpB,KAAK,IAAI,IAAI;CAGd"}
|
package/dist/registry.js
CHANGED
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,OAAO,YAAY;IACf,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IAExC,QAAQ,CAAC,IAAU;QACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,OAAO,YAAY;IACf,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IAExC,QAAQ,CAAC,IAAU;QACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ExecutionCheckpoint, TimeTravelCheckpointStore, CheckpointQuery, RunResult, ExecutionTrace } from '@cogitator-ai/types';
|
|
2
|
+
export declare class InMemoryCheckpointStore implements TimeTravelCheckpointStore {
|
|
3
|
+
private checkpoints;
|
|
4
|
+
private traceIndex;
|
|
5
|
+
private agentIndex;
|
|
6
|
+
private runIdIndex;
|
|
7
|
+
private labelIndex;
|
|
8
|
+
save(checkpoint: ExecutionCheckpoint): Promise<void>;
|
|
9
|
+
load(id: string): Promise<ExecutionCheckpoint | null>;
|
|
10
|
+
list(query: CheckpointQuery): Promise<ExecutionCheckpoint[]>;
|
|
11
|
+
delete(id: string): Promise<boolean>;
|
|
12
|
+
getByTrace(traceId: string): Promise<ExecutionCheckpoint[]>;
|
|
13
|
+
getByAgent(agentId: string, limit?: number): Promise<ExecutionCheckpoint[]>;
|
|
14
|
+
getByLabel(label: string): Promise<ExecutionCheckpoint[]>;
|
|
15
|
+
clear(agentId?: string): Promise<void>;
|
|
16
|
+
createFromRunResult(result: RunResult, stepIndex: number, options?: {
|
|
17
|
+
label?: string;
|
|
18
|
+
metadata?: Record<string, unknown>;
|
|
19
|
+
}): ExecutionCheckpoint;
|
|
20
|
+
createFromTrace(trace: ExecutionTrace, stepIndex: number, options?: {
|
|
21
|
+
label?: string;
|
|
22
|
+
metadata?: Record<string, unknown>;
|
|
23
|
+
}): ExecutionCheckpoint;
|
|
24
|
+
createAllFromRunResult(result: RunResult, options?: {
|
|
25
|
+
labelPrefix?: string;
|
|
26
|
+
}): Promise<ExecutionCheckpoint[]>;
|
|
27
|
+
private addToIndex;
|
|
28
|
+
private removeFromIndex;
|
|
29
|
+
private extractMessagesUpToStep;
|
|
30
|
+
private extractToolResultsUpToStep;
|
|
31
|
+
private extractPendingToolCalls;
|
|
32
|
+
private countStepsFromSpans;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=checkpoint-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint-store.d.ts","sourceRoot":"","sources":["../../src/time-travel/checkpoint-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EAEf,SAAS,EACT,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,uBAAwB,YAAW,yBAAyB;IACvE,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,UAAU,CAAkC;IAE9C,IAAI,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAIrD,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAoD5D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBpC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAI3D,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAI3E,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAIzD,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB5C,mBAAmB,CACjB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC/D,mBAAmB;IAsBtB,eAAe,CACb,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC/D,mBAAmB;IAmChB,sBAAsB,CAC1B,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACjC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAejC,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,0BAA0B;IAsBlC,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,mBAAmB;CAa5B"}
|