@cogitator-ai/core 0.21.1 → 0.22.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 +29 -30
- package/dist/agent.d.ts +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +17 -1
- package/dist/agent.js.map +1 -1
- package/dist/cogitator/initializers.d.ts +5 -6
- package/dist/cogitator/initializers.d.ts.map +1 -1
- package/dist/cogitator/initializers.js +18 -17
- package/dist/cogitator/initializers.js.map +1 -1
- package/dist/cogitator/response-format.d.ts +17 -0
- package/dist/cogitator/response-format.d.ts.map +1 -0
- package/dist/cogitator/response-format.js +78 -0
- package/dist/cogitator/response-format.js.map +1 -0
- package/dist/cogitator/run-limiter.d.ts +18 -0
- package/dist/cogitator/run-limiter.d.ts.map +1 -0
- package/dist/cogitator/run-limiter.js +64 -0
- package/dist/cogitator/run-limiter.js.map +1 -0
- package/dist/cogitator/streaming.d.ts +2 -2
- package/dist/cogitator/streaming.d.ts.map +1 -1
- package/dist/cogitator/streaming.js +2 -1
- package/dist/cogitator/streaming.js.map +1 -1
- package/dist/cogitator/tool-executor.d.ts.map +1 -1
- package/dist/cogitator/tool-executor.js +18 -4
- package/dist/cogitator/tool-executor.js.map +1 -1
- package/dist/constitutional/constitutional-ai.d.ts +5 -0
- package/dist/constitutional/constitutional-ai.d.ts.map +1 -1
- package/dist/constitutional/constitutional-ai.js +19 -28
- package/dist/constitutional/constitutional-ai.js.map +1 -1
- package/dist/context/context-manager.d.ts +4 -1
- package/dist/context/context-manager.d.ts.map +1 -1
- package/dist/context/context-manager.js +12 -11
- package/dist/context/context-manager.js.map +1 -1
- package/dist/cost-routing/cost-estimator.d.ts +2 -0
- package/dist/cost-routing/cost-estimator.d.ts.map +1 -1
- package/dist/cost-routing/cost-estimator.js +6 -2
- package/dist/cost-routing/cost-estimator.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/learning/agent-optimizer.d.ts +21 -5
- package/dist/learning/agent-optimizer.d.ts.map +1 -1
- package/dist/learning/agent-optimizer.js +97 -142
- package/dist/learning/agent-optimizer.js.map +1 -1
- package/dist/learning/index.d.ts +1 -1
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/trace-builder.d.ts +20 -0
- package/dist/learning/trace-builder.d.ts.map +1 -0
- package/dist/learning/trace-builder.js +159 -0
- package/dist/learning/trace-builder.js.map +1 -0
- package/dist/llm/anthropic.d.ts.map +1 -1
- package/dist/llm/anthropic.js +10 -0
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/google.d.ts.map +1 -1
- package/dist/llm/google.js +22 -2
- package/dist/llm/google.js.map +1 -1
- package/dist/llm/index.d.ts +1 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +2 -16
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/providers.d.ts +4 -0
- package/dist/llm/providers.d.ts.map +1 -0
- package/dist/llm/providers.js +18 -0
- package/dist/llm/providers.js.map +1 -0
- package/dist/observability/opentelemetry.d.ts +12 -5
- package/dist/observability/opentelemetry.d.ts.map +1 -1
- package/dist/observability/opentelemetry.js +58 -32
- package/dist/observability/opentelemetry.js.map +1 -1
- package/dist/reasoning/thought-tree.js +2 -2
- package/dist/reasoning/thought-tree.js.map +1 -1
- package/dist/runtime.d.ts +22 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +132 -33
- package/dist/runtime.js.map +1 -1
- package/dist/time-travel/checkpoint-store.d.ts +1 -0
- package/dist/time-travel/checkpoint-store.d.ts.map +1 -1
- package/dist/time-travel/checkpoint-store.js +16 -7
- package/dist/time-travel/checkpoint-store.js.map +1 -1
- package/dist/time-travel/replayer.d.ts +9 -1
- package/dist/time-travel/replayer.d.ts.map +1 -1
- package/dist/time-travel/replayer.js +40 -23
- package/dist/time-travel/replayer.js.map +1 -1
- package/dist/time-travel/time-travel.d.ts +13 -0
- package/dist/time-travel/time-travel.d.ts.map +1 -1
- package/dist/time-travel/time-travel.js +79 -9
- package/dist/time-travel/time-travel.js.map +1 -1
- package/package.json +5 -5
|
@@ -11,9 +11,17 @@ export declare class ExecutionReplayer {
|
|
|
11
11
|
private replayDeterministic;
|
|
12
12
|
private replayLive;
|
|
13
13
|
private buildMessagesForReplay;
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Puts tool results into the replayed tool messages: a modified result, keyed
|
|
16
|
+
* by call id or tool name, wins over the result cached in the checkpoint.
|
|
17
|
+
*/
|
|
15
18
|
private applyToolResultsToMessages;
|
|
16
19
|
private extractUserInput;
|
|
20
|
+
/**
|
|
21
|
+
* The agent a live replay runs: the original with the checkpoint's history in
|
|
22
|
+
* its instructions, tools in `skipTools` removed, and tools named in
|
|
23
|
+
* `modifiedToolResults` answering with the given value instead of running.
|
|
24
|
+
*/
|
|
17
25
|
private createReplayAgent;
|
|
18
26
|
private countSteps;
|
|
19
27
|
private findDivergencePoint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replayer.d.ts","sourceRoot":"","sources":["../../src/time-travel/replayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EACb,YAAY,EAIZ,yBAAyB,
|
|
1
|
+
{"version":3,"file":"replayer.d.ts","sourceRoot":"","sources":["../../src/time-travel/replayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EACb,YAAY,EAIZ,yBAAyB,EAG1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,yBAAyB,CAAC;CAC5C;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,eAAe,CAA4B;gBAEvC,OAAO,EAAE,wBAAwB;IAIvC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YAajF,mBAAmB;YAoDnB,UAAU;IAiCxB,OAAO,CAAC,sBAAsB;IAU9B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,gBAAgB;IAMxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,cAAc;CASvB"}
|
|
@@ -18,7 +18,6 @@ export class ExecutionReplayer {
|
|
|
18
18
|
}
|
|
19
19
|
async replayDeterministic(_cogitator, agent, checkpoint, options) {
|
|
20
20
|
const messages = this.buildMessagesForReplay(checkpoint, options.modifiedMessages);
|
|
21
|
-
const mergedToolResults = this.mergeToolResults(checkpoint.toolResults, options.modifiedToolResults);
|
|
22
21
|
const stepsReplayed = checkpoint.stepIndex + 1;
|
|
23
22
|
const stepsExecuted = 0;
|
|
24
23
|
const divergedAt = undefined;
|
|
@@ -41,7 +40,7 @@ export class ExecutionReplayer {
|
|
|
41
40
|
duration: Date.now() - startTime,
|
|
42
41
|
},
|
|
43
42
|
toolCalls: checkpoint.pendingToolCalls,
|
|
44
|
-
messages: this.applyToolResultsToMessages(messages,
|
|
43
|
+
messages: this.applyToolResultsToMessages(messages, checkpoint.toolResults, options.modifiedToolResults ?? {}),
|
|
45
44
|
trace: {
|
|
46
45
|
traceId,
|
|
47
46
|
spans,
|
|
@@ -57,20 +56,10 @@ export class ExecutionReplayer {
|
|
|
57
56
|
async replayLive(cogitator, agent, checkpoint, options) {
|
|
58
57
|
const initialMessages = this.buildMessagesForReplay(checkpoint, options.modifiedMessages);
|
|
59
58
|
const input = this.extractUserInput(initialMessages);
|
|
60
|
-
const modifiedAgent = this.createReplayAgent(agent, initialMessages);
|
|
59
|
+
const modifiedAgent = this.createReplayAgent(agent, initialMessages, options);
|
|
61
60
|
const runResult = await cogitator.run(modifiedAgent, {
|
|
62
61
|
input,
|
|
63
62
|
threadId: `replay_${checkpoint.runId}`,
|
|
64
|
-
onToolCall: (toolCall) => {
|
|
65
|
-
if (options.skipTools?.includes(toolCall.name)) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
onToolResult: (result) => {
|
|
70
|
-
if (options.modifiedToolResults?.[result.callId]) {
|
|
71
|
-
result.result = options.modifiedToolResults[result.callId];
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
63
|
});
|
|
75
64
|
const stepsReplayed = checkpoint.stepIndex + 1;
|
|
76
65
|
const stepsExecuted = this.countSteps(runResult);
|
|
@@ -91,17 +80,21 @@ export class ExecutionReplayer {
|
|
|
91
80
|
}
|
|
92
81
|
return [...checkpoint.messages];
|
|
93
82
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Puts tool results into the replayed tool messages: a modified result, keyed
|
|
85
|
+
* by call id or tool name, wins over the result cached in the checkpoint.
|
|
86
|
+
*/
|
|
87
|
+
applyToolResultsToMessages(messages, cached, modified) {
|
|
88
|
+
const pick = (record, keys) => keys.find((key) => key !== undefined && Object.hasOwn(record, key));
|
|
100
89
|
return messages.map((msg) => {
|
|
101
|
-
if (msg.role
|
|
102
|
-
return
|
|
90
|
+
if (msg.role !== 'tool')
|
|
91
|
+
return msg;
|
|
92
|
+
const modifiedKey = pick(modified, [msg.toolCallId, msg.name]);
|
|
93
|
+
if (modifiedKey !== undefined) {
|
|
94
|
+
return { ...msg, content: toolContent(modified[modifiedKey]) };
|
|
103
95
|
}
|
|
104
|
-
|
|
96
|
+
const cachedKey = pick(cached, [msg.toolCallId]);
|
|
97
|
+
return cachedKey === undefined ? msg : { ...msg, content: toolContent(cached[cachedKey]) };
|
|
105
98
|
});
|
|
106
99
|
}
|
|
107
100
|
extractUserInput(messages) {
|
|
@@ -109,7 +102,12 @@ export class ExecutionReplayer {
|
|
|
109
102
|
const lastUserMessage = userMessages[userMessages.length - 1];
|
|
110
103
|
return lastUserMessage ? this.getTextContent(lastUserMessage.content) : '';
|
|
111
104
|
}
|
|
112
|
-
|
|
105
|
+
/**
|
|
106
|
+
* The agent a live replay runs: the original with the checkpoint's history in
|
|
107
|
+
* its instructions, tools in `skipTools` removed, and tools named in
|
|
108
|
+
* `modifiedToolResults` answering with the given value instead of running.
|
|
109
|
+
*/
|
|
110
|
+
createReplayAgent(agent, preloadedMessages, options) {
|
|
113
111
|
const systemMessage = preloadedMessages.find((m) => m.role === 'system');
|
|
114
112
|
const contextFromHistory = preloadedMessages
|
|
115
113
|
.filter((m) => m.role === 'assistant' || m.role === 'tool')
|
|
@@ -122,6 +120,7 @@ export class ExecutionReplayer {
|
|
|
122
120
|
...agent.config,
|
|
123
121
|
name: `${agent.name}_replay`,
|
|
124
122
|
instructions: newInstructions,
|
|
123
|
+
tools: replayTools(agent.tools, options),
|
|
125
124
|
});
|
|
126
125
|
}
|
|
127
126
|
countSteps(result) {
|
|
@@ -165,4 +164,22 @@ export class ExecutionReplayer {
|
|
|
165
164
|
.join(' ');
|
|
166
165
|
}
|
|
167
166
|
}
|
|
167
|
+
function replayTools(tools, options) {
|
|
168
|
+
const skipped = new Set(options.skipTools ?? []);
|
|
169
|
+
const mocks = options.modifiedToolResults ?? {};
|
|
170
|
+
return tools
|
|
171
|
+
.filter((tool) => !skipped.has(tool.name))
|
|
172
|
+
.map((tool) => (Object.hasOwn(mocks, tool.name) ? mockedTool(tool, mocks[tool.name]) : tool));
|
|
173
|
+
}
|
|
174
|
+
function mockedTool(tool, result) {
|
|
175
|
+
const mocked = Object.create(Object.getPrototypeOf(tool));
|
|
176
|
+
return Object.assign(mocked, tool, {
|
|
177
|
+
execute: async () => result,
|
|
178
|
+
sandbox: undefined,
|
|
179
|
+
requiresApproval: undefined,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
function toolContent(value) {
|
|
183
|
+
return typeof value === 'string' ? value : JSON.stringify(value);
|
|
184
|
+
}
|
|
168
185
|
//# sourceMappingURL=replayer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replayer.js","sourceRoot":"","sources":["../../src/time-travel/replayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"replayer.js","sourceRoot":"","sources":["../../src/time-travel/replayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,19 @@ export declare class TimeTravel {
|
|
|
36
36
|
getCheckpointStore(): TimeTravelCheckpointStore;
|
|
37
37
|
getTraceStore(): TraceStore;
|
|
38
38
|
getConfig(): TimeTravelConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Stores a run's trace under its trace id, so `compare()` can read it. The
|
|
41
|
+
* trace of an original run is stored once; a replay's is always new.
|
|
42
|
+
*/
|
|
43
|
+
private recordTrace;
|
|
44
|
+
/**
|
|
45
|
+
* A deterministic replay runs no model or tool calls, so its trace is the
|
|
46
|
+
* original's up to the replayed step, ending in the replayed output.
|
|
47
|
+
*/
|
|
48
|
+
private recordDeterministicTrace;
|
|
49
|
+
/** Deletes expired checkpoints of the run's agent and the oldest beyond the per-trace cap. */
|
|
50
|
+
private pruneCheckpoints;
|
|
51
|
+
private recordFork;
|
|
39
52
|
private countSteps;
|
|
40
53
|
}
|
|
41
54
|
//# sourceMappingURL=time-travel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-travel.d.ts","sourceRoot":"","sources":["../../src/time-travel/time-travel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,yBAAyB,EACzB,SAAS,EACT,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"time-travel.d.ts","sourceRoot":"","sources":["../../src/time-travel/time-travel.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { ExecutionReplayer } from './replayer.js';
|
|
|
4
4
|
import { ExecutionForker } from './forker.js';
|
|
5
5
|
import { TraceComparator } from './comparator.js';
|
|
6
6
|
import { InMemoryTraceStore } from '../learning/trace-store.js';
|
|
7
|
+
import { buildExecutionTrace, runInput } from '../learning/trace-builder.js';
|
|
7
8
|
export class TimeTravel {
|
|
8
9
|
cogitator;
|
|
9
10
|
checkpointStore;
|
|
@@ -31,15 +32,21 @@ export class TimeTravel {
|
|
|
31
32
|
async checkpoint(result, stepIndex, label) {
|
|
32
33
|
const checkpoint = this.checkpointStore.createFromRunResult(result, stepIndex, { label });
|
|
33
34
|
await this.checkpointStore.save(checkpoint);
|
|
35
|
+
await this.recordTrace(result);
|
|
36
|
+
await this.pruneCheckpoints(result);
|
|
34
37
|
return checkpoint;
|
|
35
38
|
}
|
|
36
39
|
async checkpointAll(result, labelPrefix) {
|
|
37
|
-
|
|
40
|
+
await this.recordTrace(result);
|
|
41
|
+
const checkpoints = await this.checkpointStore.createAllFromRunResult(result, { labelPrefix });
|
|
42
|
+
await this.pruneCheckpoints(result);
|
|
43
|
+
return checkpoints;
|
|
38
44
|
}
|
|
39
45
|
async checkpointEvery(result, interval, labelPrefix) {
|
|
40
46
|
if (!Number.isInteger(interval) || interval <= 0) {
|
|
41
47
|
throw new Error('Checkpoint interval must be a positive integer');
|
|
42
48
|
}
|
|
49
|
+
await this.recordTrace(result);
|
|
43
50
|
const stepCount = this.countSteps(result);
|
|
44
51
|
const checkpoints = [];
|
|
45
52
|
for (let i = 0; i < stepCount; i += interval) {
|
|
@@ -49,6 +56,7 @@ export class TimeTravel {
|
|
|
49
56
|
await this.checkpointStore.save(checkpoint);
|
|
50
57
|
checkpoints.push(checkpoint);
|
|
51
58
|
}
|
|
59
|
+
await this.pruneCheckpoints(result);
|
|
52
60
|
return checkpoints;
|
|
53
61
|
}
|
|
54
62
|
async getCheckpoints(traceId) {
|
|
@@ -61,11 +69,18 @@ export class TimeTravel {
|
|
|
61
69
|
return this.checkpointStore.delete(checkpointId);
|
|
62
70
|
}
|
|
63
71
|
async replay(agent, checkpointId, options) {
|
|
64
|
-
|
|
72
|
+
const result = await this.replayer.replay(this.cogitator, agent, {
|
|
65
73
|
fromCheckpoint: checkpointId,
|
|
66
74
|
mode: options?.mode ?? 'live',
|
|
67
75
|
...options,
|
|
68
76
|
});
|
|
77
|
+
if (options?.mode === 'deterministic') {
|
|
78
|
+
await this.recordDeterministicTrace(result);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
await this.recordTrace(result, true);
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
69
84
|
}
|
|
70
85
|
async replayDeterministic(agent, checkpointId) {
|
|
71
86
|
return this.replay(agent, checkpointId, { mode: 'deterministic' });
|
|
@@ -74,25 +89,28 @@ export class TimeTravel {
|
|
|
74
89
|
return this.replay(agent, checkpointId, { mode: 'live', ...options });
|
|
75
90
|
}
|
|
76
91
|
async fork(agent, checkpointId, options) {
|
|
77
|
-
return this.forker.fork(this.cogitator, agent, {
|
|
92
|
+
return this.recordFork(await this.forker.fork(this.cogitator, agent, {
|
|
78
93
|
checkpointId,
|
|
79
94
|
...options,
|
|
80
|
-
});
|
|
95
|
+
}));
|
|
81
96
|
}
|
|
82
97
|
async forkWithContext(agent, checkpointId, additionalContext, label) {
|
|
83
|
-
return this.forker.forkWithContext(this.cogitator, agent, checkpointId, additionalContext, label);
|
|
98
|
+
return this.recordFork(await this.forker.forkWithContext(this.cogitator, agent, checkpointId, additionalContext, label));
|
|
84
99
|
}
|
|
85
100
|
async forkWithMockedTool(agent, checkpointId, toolName, mockResult, label) {
|
|
86
|
-
return this.forker.forkWithMockedTools(this.cogitator, agent, checkpointId, { [toolName]: mockResult }, label);
|
|
101
|
+
return this.recordFork(await this.forker.forkWithMockedTools(this.cogitator, agent, checkpointId, { [toolName]: mockResult }, label));
|
|
87
102
|
}
|
|
88
103
|
async forkWithMockedTools(agent, checkpointId, mockResults, label) {
|
|
89
|
-
return this.forker.forkWithMockedTools(this.cogitator, agent, checkpointId, mockResults, label);
|
|
104
|
+
return this.recordFork(await this.forker.forkWithMockedTools(this.cogitator, agent, checkpointId, mockResults, label));
|
|
90
105
|
}
|
|
91
106
|
async forkWithNewInput(agent, checkpointId, newInput, label) {
|
|
92
|
-
return this.forker.forkWithNewInput(this.cogitator, agent, checkpointId, newInput, label);
|
|
107
|
+
return this.recordFork(await this.forker.forkWithNewInput(this.cogitator, agent, checkpointId, newInput, label));
|
|
93
108
|
}
|
|
94
109
|
async forkMultiple(agent, checkpointId, variants) {
|
|
95
|
-
|
|
110
|
+
const forks = await this.forker.forkMultiple(this.cogitator, agent, checkpointId, variants);
|
|
111
|
+
for (const fork of forks)
|
|
112
|
+
await this.recordFork(fork);
|
|
113
|
+
return forks;
|
|
96
114
|
}
|
|
97
115
|
async compare(traceId1, traceId2) {
|
|
98
116
|
return this.comparator.compare(traceId1, traceId2);
|
|
@@ -112,6 +130,58 @@ export class TimeTravel {
|
|
|
112
130
|
getConfig() {
|
|
113
131
|
return { ...this.config };
|
|
114
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Stores a run's trace under its trace id, so `compare()` can read it. The
|
|
135
|
+
* trace of an original run is stored once; a replay's is always new.
|
|
136
|
+
*/
|
|
137
|
+
async recordTrace(result, replay = false) {
|
|
138
|
+
const id = result.trace.traceId;
|
|
139
|
+
if (!replay && (await this.traceStore.get(id)))
|
|
140
|
+
return;
|
|
141
|
+
await this.traceStore.store(buildExecutionTrace(result, runInput(result), { id }));
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* A deterministic replay runs no model or tool calls, so its trace is the
|
|
145
|
+
* original's up to the replayed step, ending in the replayed output.
|
|
146
|
+
*/
|
|
147
|
+
async recordDeterministicTrace(result) {
|
|
148
|
+
const original = await this.traceStore.get(result.originalTraceId);
|
|
149
|
+
if (!original) {
|
|
150
|
+
await this.recordTrace(result, true);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
await this.traceStore.store({
|
|
154
|
+
...original,
|
|
155
|
+
id: result.trace.traceId,
|
|
156
|
+
runId: result.runId,
|
|
157
|
+
output: result.output,
|
|
158
|
+
steps: original.steps.slice(0, result.stepsReplayed),
|
|
159
|
+
createdAt: new Date(),
|
|
160
|
+
isDemo: false,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
/** Deletes expired checkpoints of the run's agent and the oldest beyond the per-trace cap. */
|
|
164
|
+
async pruneCheckpoints(result) {
|
|
165
|
+
const { maxCheckpointsPerTrace, checkpointRetention } = this.config;
|
|
166
|
+
if (checkpointRetention !== undefined && checkpointRetention > 0) {
|
|
167
|
+
const expiredBefore = Date.now() - checkpointRetention;
|
|
168
|
+
for (const checkpoint of await this.checkpointStore.getByAgent(result.agentId)) {
|
|
169
|
+
if (checkpoint.createdAt.getTime() < expiredBefore) {
|
|
170
|
+
await this.checkpointStore.delete(checkpoint.id);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (maxCheckpointsPerTrace !== undefined && maxCheckpointsPerTrace > 0) {
|
|
175
|
+
const forTrace = (await this.checkpointStore.getByTrace(result.trace.traceId)).sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime());
|
|
176
|
+
for (const checkpoint of forTrace.slice(0, forTrace.length - maxCheckpointsPerTrace)) {
|
|
177
|
+
await this.checkpointStore.delete(checkpoint.id);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
async recordFork(fork) {
|
|
182
|
+
await this.recordTrace(fork.result, true);
|
|
183
|
+
return fork;
|
|
184
|
+
}
|
|
115
185
|
countSteps(result) {
|
|
116
186
|
let count = 0;
|
|
117
187
|
for (const span of result.trace.spans) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-travel.js","sourceRoot":"","sources":["../../src/time-travel/time-travel.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"time-travel.js","sourceRoot":"","sources":["../../src/time-travel/time-travel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "Core runtime for Cogitator AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@anthropic-ai/sdk": "^0.131.0",
|
|
22
|
-
"@cogitator-ai/memory": "0.8.
|
|
22
|
+
"@cogitator-ai/memory": "0.8.1",
|
|
23
23
|
"@cogitator-ai/models": "18.0.0",
|
|
24
|
-
"@cogitator-ai/types": "0.
|
|
24
|
+
"@cogitator-ai/types": "0.25.0",
|
|
25
25
|
"nanoid": "^6.0.1",
|
|
26
26
|
"openai": "^7.25.0",
|
|
27
27
|
"zod": "^4.6.5"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@aws-sdk/client-bedrock-runtime": "^3.1145.0",
|
|
34
|
-
"@cogitator-ai/sandbox": "0.4.
|
|
34
|
+
"@cogitator-ai/sandbox": "0.4.1",
|
|
35
35
|
"@types/node": "^22.20.4",
|
|
36
36
|
"@types/pg": "^8.23.1",
|
|
37
37
|
"typescript": "^6.0.3",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@aws-sdk/client-bedrock-runtime": "^3.0.0",
|
|
42
|
-
"@cogitator-ai/sandbox": ">=0.4.
|
|
42
|
+
"@cogitator-ai/sandbox": ">=0.4.1",
|
|
43
43
|
"better-sqlite3": "^11.0.0 || ^12.0.0 || ^13.0.0",
|
|
44
44
|
"langfuse": "^3.0.0",
|
|
45
45
|
"nodemailer": "^6.0.0",
|