@cereworker/core 26.330.3 → 26.403.2
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/dist/conversation.d.ts +27 -5
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +254 -108
- package/dist/conversation.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy-sqlite.d.ts +6 -0
- package/dist/legacy-sqlite.d.ts.map +1 -0
- package/dist/legacy-sqlite.js +90 -0
- package/dist/legacy-sqlite.js.map +1 -0
- package/dist/orchestrator.d.ts +11 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +460 -75
- package/dist/orchestrator.js.map +1 -1
- package/dist/pairing.d.ts +11 -2
- package/dist/pairing.d.ts.map +1 -1
- package/dist/pairing.js +166 -95
- package/dist/pairing.js.map +1 -1
- package/dist/plan-store.d.ts +4 -3
- package/dist/plan-store.d.ts.map +1 -1
- package/dist/plan-store.js +69 -72
- package/dist/plan-store.js.map +1 -1
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +31 -11
- package/dist/system-prompt.js.map +1 -1
- package/dist/text-store.d.ts +18 -0
- package/dist/text-store.d.ts.map +1 -0
- package/dist/text-store.js +212 -0
- package/dist/text-store.js.map +1 -0
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/system-prompt.js
CHANGED
|
@@ -1,14 +1,33 @@
|
|
|
1
1
|
const TOOL_CATEGORIES = {
|
|
2
|
-
'File & Code': [
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
'
|
|
7
|
-
'
|
|
8
|
-
'
|
|
9
|
-
'
|
|
2
|
+
'File & Code': [
|
|
3
|
+
'shell',
|
|
4
|
+
'readFile',
|
|
5
|
+
'writeFile',
|
|
6
|
+
'editFile',
|
|
7
|
+
'listDirectory',
|
|
8
|
+
'searchFiles',
|
|
9
|
+
'glob',
|
|
10
10
|
],
|
|
11
|
-
|
|
11
|
+
Memory: ['memory_read', 'memory_write', 'memory_log', 'memory_search'],
|
|
12
|
+
Network: ['httpFetch', 'webSearch'],
|
|
13
|
+
Browser: [
|
|
14
|
+
'browserNavigate',
|
|
15
|
+
'browserGetText',
|
|
16
|
+
'browserScreenshot',
|
|
17
|
+
'browserClick',
|
|
18
|
+
'browserClickByText',
|
|
19
|
+
'browserType',
|
|
20
|
+
'browserEval',
|
|
21
|
+
'browserWait',
|
|
22
|
+
'browserGetUrl',
|
|
23
|
+
'browserListTabs',
|
|
24
|
+
'browserSwitchTab',
|
|
25
|
+
'browserNewTab',
|
|
26
|
+
'browserCloseTab',
|
|
27
|
+
'browserConnect',
|
|
28
|
+
'browserDisconnect',
|
|
29
|
+
],
|
|
30
|
+
Agents: ['spawn_agent', 'query_agents', 'cancel_agent'],
|
|
12
31
|
};
|
|
13
32
|
function groupTools(tools) {
|
|
14
33
|
const categorized = new Map();
|
|
@@ -43,7 +62,7 @@ function groupTools(tools) {
|
|
|
43
62
|
export function buildSystemPrompt(options) {
|
|
44
63
|
const sections = [];
|
|
45
64
|
// Identity
|
|
46
|
-
const nameStr =
|
|
65
|
+
const nameStr = options.profile?.name && options.profile.name !== 'Cere'
|
|
47
66
|
? `You are ${options.profile.name}, the Cerebrum of CereWorker, a dual-LLM autonomous agent.`
|
|
48
67
|
: 'You are the Cerebrum of CereWorker, a dual-LLM autonomous agent.';
|
|
49
68
|
const instanceLines = [nameStr];
|
|
@@ -125,6 +144,7 @@ You are an autonomous agent. When given a goal, figure out how to accomplish it
|
|
|
125
144
|
- If the Cerebellum flags a warning on a tool result, investigate and self-correct.
|
|
126
145
|
- If you used tools to execute a real task, do not end the turn until you call either \`task_complete\` or \`task_blocked\`.
|
|
127
146
|
- For multi-step tool-driven tasks, call \`task_checkpoint\` after each major verified step and before switching to the next phase so retries can resume from the right place.
|
|
147
|
+
- If you are recovering from a retry, treat the verified checkpoints and recovery summary as authoritative and continue from the next unfinished step instead of repeating confirmed work.
|
|
128
148
|
- Use \`task_complete\` only after you have verified the requested outcome and can cite concrete evidence.
|
|
129
149
|
- Use \`task_blocked\` when you cannot finish the task and need to report a specific blocker with evidence.
|
|
130
150
|
|
|
@@ -148,7 +168,7 @@ You are an autonomous agent. When given a goal, figure out how to accomplish it
|
|
|
148
168
|
### Key principles
|
|
149
169
|
- **Skills first.** Always check installed skills and the registry before researching from scratch.
|
|
150
170
|
- **Be resourceful.** If a direct approach fails, search for alternatives. Install CLI tools. Find public APIs. Write helper scripts.
|
|
151
|
-
- **${options.autoMode ?
|
|
171
|
+
- **${options.autoMode ? 'Act decisively.' : 'Ask when unsure.'}** ${options.autoMode ? 'You are in auto mode — execute directly.' : 'Ask for approval on unfamiliar or destructive commands.'} Only ask the user when you genuinely need a decision.
|
|
152
172
|
- **Credentials**: Check environment variables and config files first. If missing, tell the user what's needed and where to put them.`);
|
|
153
173
|
// Architecture
|
|
154
174
|
const cerebellumStatus = options.cerebellumConnected ? 'connected' : 'offline';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAuBA,MAAM,eAAe,GAA6B;IAChD,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface TextStoreLockOptions {
|
|
2
|
+
timeoutMs?: number;
|
|
3
|
+
pollMs?: number;
|
|
4
|
+
staleMs?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function resolveStoreBasePath(path: string): string;
|
|
7
|
+
export declare function ensureDir(path: string): void;
|
|
8
|
+
export declare function withTextStoreLock<T>(targetPath: string, fn: () => T, options?: TextStoreLockOptions): T;
|
|
9
|
+
export declare function writeTextFileAtomic(path: string, content: string): void;
|
|
10
|
+
export declare function writeJsonFileAtomic(path: string, value: unknown): void;
|
|
11
|
+
export declare function readJsonFile<T>(path: string, fallback: T): T;
|
|
12
|
+
export declare function appendJsonLine(path: string, value: unknown): void;
|
|
13
|
+
export declare function readJsonLines<T>(path: string): T[];
|
|
14
|
+
export declare function writeJsonLines(path: string, rows: unknown[]): void;
|
|
15
|
+
export declare function uniqueBackupPath(path: string): string;
|
|
16
|
+
export declare function readFileHeader(path: string, bytes: number): Buffer;
|
|
17
|
+
export declare function joinJsonlPath(dir: string, filename: string): string;
|
|
18
|
+
//# sourceMappingURL=text-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-store.d.ts","sourceRoot":"","sources":["../src/text-store.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAI5C;AAgFD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,CAAC,CA+B3G;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgBvE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAEtE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAO5D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAGjE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAclD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAKlE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnE"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, } from 'node:fs';
|
|
2
|
+
import { hostname, homedir } from 'node:os';
|
|
3
|
+
import { dirname, extname, join, resolve } from 'node:path';
|
|
4
|
+
import { createLogger } from './logger.js';
|
|
5
|
+
const log = createLogger('text-store');
|
|
6
|
+
const DEFAULT_LOCK_TIMEOUT_MS = 2_000;
|
|
7
|
+
const DEFAULT_LOCK_POLL_MS = 100;
|
|
8
|
+
const DEFAULT_LOCK_STALE_MS = 30_000;
|
|
9
|
+
const LOCK_OWNER_FILE = 'owner.json';
|
|
10
|
+
function expandHome(path) {
|
|
11
|
+
return path.replace(/^~(?=\/|$)/, homedir());
|
|
12
|
+
}
|
|
13
|
+
export function resolveStoreBasePath(path) {
|
|
14
|
+
const resolved = resolve(expandHome(path));
|
|
15
|
+
if (existsSync(resolved) && statSync(resolved).isDirectory()) {
|
|
16
|
+
return resolved;
|
|
17
|
+
}
|
|
18
|
+
return extname(resolved) ? dirname(resolved) : resolved;
|
|
19
|
+
}
|
|
20
|
+
export function ensureDir(path) {
|
|
21
|
+
if (!existsSync(path)) {
|
|
22
|
+
mkdirSync(path, { recursive: true });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function sleepMs(ms) {
|
|
26
|
+
if (ms <= 0)
|
|
27
|
+
return;
|
|
28
|
+
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
|
|
29
|
+
}
|
|
30
|
+
function getLockDir(path) {
|
|
31
|
+
return `${path}.lock`;
|
|
32
|
+
}
|
|
33
|
+
function getLockOwnerPath(lockDir) {
|
|
34
|
+
return join(lockDir, LOCK_OWNER_FILE);
|
|
35
|
+
}
|
|
36
|
+
function readLockOwner(lockDir) {
|
|
37
|
+
return readJsonFile(getLockOwnerPath(lockDir), null);
|
|
38
|
+
}
|
|
39
|
+
function isProcessAlive(pid) {
|
|
40
|
+
if (!Number.isInteger(pid) || pid <= 0)
|
|
41
|
+
return false;
|
|
42
|
+
try {
|
|
43
|
+
process.kill(pid, 0);
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const code = error.code;
|
|
48
|
+
if (code === 'ESRCH')
|
|
49
|
+
return false;
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function tryAcquireLock(lockDir, targetPath) {
|
|
54
|
+
try {
|
|
55
|
+
mkdirSync(lockDir);
|
|
56
|
+
try {
|
|
57
|
+
writeFileSync(getLockOwnerPath(lockDir), JSON.stringify({
|
|
58
|
+
pid: process.pid,
|
|
59
|
+
hostname: hostname(),
|
|
60
|
+
acquiredAt: Date.now(),
|
|
61
|
+
targetPath,
|
|
62
|
+
}, null, 2) + '\n', 'utf-8');
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
rmSync(lockDir, { recursive: true, force: true });
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
const code = error.code;
|
|
72
|
+
if (code === 'EEXIST')
|
|
73
|
+
return false;
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function tryReleaseStaleLock(lockDir, staleMs) {
|
|
78
|
+
if (!existsSync(lockDir))
|
|
79
|
+
return false;
|
|
80
|
+
const owner = readLockOwner(lockDir);
|
|
81
|
+
if (!owner) {
|
|
82
|
+
const ageMs = Date.now() - statSync(lockDir).mtimeMs;
|
|
83
|
+
if (ageMs < staleMs)
|
|
84
|
+
return false;
|
|
85
|
+
rmSync(lockDir, { recursive: true, force: true });
|
|
86
|
+
log.warn('Removed stale text-store lock without owner metadata', { lockDir, ageMs: Math.round(ageMs) });
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
const ageMs = Date.now() - owner.acquiredAt;
|
|
90
|
+
if (ageMs < staleMs)
|
|
91
|
+
return false;
|
|
92
|
+
if (owner.hostname !== hostname())
|
|
93
|
+
return false;
|
|
94
|
+
if (isProcessAlive(owner.pid))
|
|
95
|
+
return false;
|
|
96
|
+
rmSync(lockDir, { recursive: true, force: true });
|
|
97
|
+
log.warn('Removed stale text-store lock', {
|
|
98
|
+
lockDir,
|
|
99
|
+
targetPath: owner.targetPath,
|
|
100
|
+
pid: owner.pid,
|
|
101
|
+
ageMs: Math.round(ageMs),
|
|
102
|
+
});
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
export function withTextStoreLock(targetPath, fn, options = {}) {
|
|
106
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_LOCK_TIMEOUT_MS;
|
|
107
|
+
const pollMs = options.pollMs ?? DEFAULT_LOCK_POLL_MS;
|
|
108
|
+
const staleMs = options.staleMs ?? DEFAULT_LOCK_STALE_MS;
|
|
109
|
+
const startedAt = Date.now();
|
|
110
|
+
const lockDir = getLockDir(targetPath);
|
|
111
|
+
ensureDir(dirname(lockDir));
|
|
112
|
+
let waitLogged = false;
|
|
113
|
+
while (!tryAcquireLock(lockDir, targetPath)) {
|
|
114
|
+
if (tryReleaseStaleLock(lockDir, staleMs)) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
const elapsedMs = Date.now() - startedAt;
|
|
118
|
+
if (!waitLogged) {
|
|
119
|
+
log.debug('Waiting for text-store lock', { targetPath, lockDir });
|
|
120
|
+
waitLogged = true;
|
|
121
|
+
}
|
|
122
|
+
if (elapsedMs >= timeoutMs) {
|
|
123
|
+
log.warn('Text-store lock timed out', { targetPath, lockDir, timeoutMs });
|
|
124
|
+
throw new Error(`Text store busy: ${targetPath}`);
|
|
125
|
+
}
|
|
126
|
+
sleepMs(Math.min(pollMs, timeoutMs - elapsedMs));
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
return fn();
|
|
130
|
+
}
|
|
131
|
+
finally {
|
|
132
|
+
rmSync(lockDir, { recursive: true, force: true });
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export function writeTextFileAtomic(path, content) {
|
|
136
|
+
ensureDir(dirname(path));
|
|
137
|
+
const tempPath = `${path}.${process.pid}.${Date.now()}.tmp`;
|
|
138
|
+
writeFileSync(tempPath, content, 'utf-8');
|
|
139
|
+
try {
|
|
140
|
+
renameSync(tempPath, path);
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
const code = error.code;
|
|
144
|
+
if ((code === 'EEXIST' || code === 'EPERM' || code === 'ENOTEMPTY') && existsSync(path)) {
|
|
145
|
+
rmSync(path, { force: true });
|
|
146
|
+
renameSync(tempPath, path);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
rmSync(tempPath, { force: true });
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
export function writeJsonFileAtomic(path, value) {
|
|
154
|
+
writeTextFileAtomic(path, JSON.stringify(value, null, 2) + '\n');
|
|
155
|
+
}
|
|
156
|
+
export function readJsonFile(path, fallback) {
|
|
157
|
+
if (!existsSync(path))
|
|
158
|
+
return fallback;
|
|
159
|
+
try {
|
|
160
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
return fallback;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
export function appendJsonLine(path, value) {
|
|
167
|
+
ensureDir(dirname(path));
|
|
168
|
+
appendFileSync(path, JSON.stringify(value) + '\n', 'utf-8');
|
|
169
|
+
}
|
|
170
|
+
export function readJsonLines(path) {
|
|
171
|
+
if (!existsSync(path))
|
|
172
|
+
return [];
|
|
173
|
+
const content = readFileSync(path, 'utf-8').trim();
|
|
174
|
+
if (!content)
|
|
175
|
+
return [];
|
|
176
|
+
return content
|
|
177
|
+
.split('\n')
|
|
178
|
+
.map((line) => {
|
|
179
|
+
try {
|
|
180
|
+
return JSON.parse(line);
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
})
|
|
186
|
+
.filter((value) => value !== null);
|
|
187
|
+
}
|
|
188
|
+
export function writeJsonLines(path, rows) {
|
|
189
|
+
const content = rows.length > 0
|
|
190
|
+
? rows.map((row) => JSON.stringify(row)).join('\n') + '\n'
|
|
191
|
+
: '';
|
|
192
|
+
writeTextFileAtomic(path, content);
|
|
193
|
+
}
|
|
194
|
+
export function uniqueBackupPath(path) {
|
|
195
|
+
let candidate = `${path}.bak`;
|
|
196
|
+
let counter = 1;
|
|
197
|
+
while (existsSync(candidate)) {
|
|
198
|
+
candidate = `${path}.bak.${counter}`;
|
|
199
|
+
counter++;
|
|
200
|
+
}
|
|
201
|
+
return candidate;
|
|
202
|
+
}
|
|
203
|
+
export function readFileHeader(path, bytes) {
|
|
204
|
+
if (!existsSync(path))
|
|
205
|
+
return Buffer.alloc(0);
|
|
206
|
+
const content = readFileSync(path);
|
|
207
|
+
return content.subarray(0, Math.min(bytes, content.length));
|
|
208
|
+
}
|
|
209
|
+
export function joinJsonlPath(dir, filename) {
|
|
210
|
+
return join(dir, filename);
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=text-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-store.js","sourceRoot":"","sources":["../src/text-store.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -53,6 +53,7 @@ export interface VerificationResult {
|
|
|
53
53
|
toolName: string;
|
|
54
54
|
}
|
|
55
55
|
export type StreamFinishReason = 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other';
|
|
56
|
+
export type StreamContentKind = 'text' | 'tool-call' | 'empty' | 'other' | 'error';
|
|
56
57
|
export interface StreamFinishMetadata {
|
|
57
58
|
finishReason?: StreamFinishReason;
|
|
58
59
|
rawFinishReason?: string;
|
|
@@ -62,6 +63,11 @@ export interface StreamFinishMetadata {
|
|
|
62
63
|
toolCallCount: number;
|
|
63
64
|
hadToolActivity: boolean;
|
|
64
65
|
stepCount: number;
|
|
66
|
+
lastContentKind: StreamContentKind;
|
|
67
|
+
endedWithToolCall: boolean;
|
|
68
|
+
hadFinalText: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface TurnProtocolState extends StreamFinishMetadata {
|
|
65
71
|
}
|
|
66
72
|
export interface BrowserTabSnapshot {
|
|
67
73
|
id: string;
|
|
@@ -92,6 +98,30 @@ export interface ProgressEntry {
|
|
|
92
98
|
isError: boolean;
|
|
93
99
|
checkpointStatus?: TaskCheckpointStatus;
|
|
94
100
|
}
|
|
101
|
+
export type TurnOutcome = 'completed' | 'completed_no_text' | 'ended_on_tool_calls' | 'completion_signal_missing' | 'aborted' | 'stalled' | 'protocol_error';
|
|
102
|
+
export type TurnBoundaryKind = 'tool' | 'checkpoint' | 'completion' | 'stall' | 'recovery';
|
|
103
|
+
export interface TurnBoundarySummary {
|
|
104
|
+
id: string;
|
|
105
|
+
kind: TurnBoundaryKind;
|
|
106
|
+
action: string;
|
|
107
|
+
summary: string;
|
|
108
|
+
createdAt: number;
|
|
109
|
+
stateChanging: boolean;
|
|
110
|
+
browserState?: BrowserStateSnapshot;
|
|
111
|
+
url?: string;
|
|
112
|
+
tabId?: string;
|
|
113
|
+
evidence?: string;
|
|
114
|
+
checkpointStatus?: TaskCheckpointStatus;
|
|
115
|
+
}
|
|
116
|
+
export type TurnJournalEntryType = 'turn_started' | 'partial_text' | 'tool_start' | 'tool_end' | 'checkpoint' | 'boundary' | 'completion_signal' | 'recovery' | 'turn_finished' | 'turn_error';
|
|
117
|
+
export interface TurnJournalEntry {
|
|
118
|
+
turnId: string;
|
|
119
|
+
attempt: number;
|
|
120
|
+
timestamp: number;
|
|
121
|
+
type: TurnJournalEntryType;
|
|
122
|
+
summary: string;
|
|
123
|
+
data?: Record<string, unknown>;
|
|
124
|
+
}
|
|
95
125
|
export type RecoveryCause = 'stall' | 'completion';
|
|
96
126
|
export type RecoveryAction = 'wait' | 'retry' | 'stop';
|
|
97
127
|
export interface TurnRecoveryRequest {
|
|
@@ -105,12 +135,17 @@ export interface TurnRecoveryRequest {
|
|
|
105
135
|
stallRetryCount: number;
|
|
106
136
|
completionRetryCount: number;
|
|
107
137
|
finishReason?: string;
|
|
138
|
+
turnOutcome: TurnOutcome;
|
|
139
|
+
lastContentKind: StreamContentKind;
|
|
108
140
|
elapsedSeconds?: number;
|
|
109
141
|
partialContent?: string;
|
|
110
142
|
latestUserMessage?: string;
|
|
111
143
|
browserState: BrowserStateSnapshot;
|
|
112
144
|
progressEntries: ProgressEntry[];
|
|
113
145
|
taskCheckpoints: TaskCheckpoint[];
|
|
146
|
+
latestBoundary?: TurnBoundarySummary;
|
|
147
|
+
recentBoundaries: TurnBoundarySummary[];
|
|
148
|
+
repetitionSignals: string[];
|
|
114
149
|
}
|
|
115
150
|
export interface TurnRecoveryAssessment {
|
|
116
151
|
action: RecoveryAction;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjF,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cereworker/core",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.403.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"nanoid": "^5.0.9",
|
|
20
|
-
"@cereworker/config": "26.
|
|
20
|
+
"@cereworker/config": "26.403.2"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"typescript": "^5.7.3"
|