@markusylisiurunen/tau 0.3.39 → 0.3.40
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 +5 -5
- package/dist/core/agent/agent_runtime.js +0 -22
- package/dist/core/agent/agent_runtime.js.map +1 -1
- package/dist/core/history/migrations.js +57 -0
- package/dist/core/history/migrations.js.map +1 -0
- package/dist/core/history/setup.js +18 -0
- package/dist/core/history/setup.js.map +1 -1
- package/dist/core/runtime/chat_runtime.js +0 -6
- package/dist/core/runtime/chat_runtime.js.map +1 -1
- package/dist/core/static/code_mode/history/documentation.md +3 -3
- package/dist/core/static/code_mode/nook/documentation.md +6 -4
- package/dist/core/static/code_mode/web/documentation.md +3 -3
- package/dist/core/tools/code_mode.js +12 -0
- package/dist/core/tools/code_mode.js.map +1 -1
- package/dist/core/tools/history.js +10 -12
- package/dist/core/tools/history.js.map +1 -1
- package/dist/core/tools/nook.js +12 -12
- package/dist/core/tools/nook.js.map +1 -1
- package/dist/core/tools/web.js +8 -10
- package/dist/core/tools/web.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/history/worker/index.js +149 -192
- package/dist/history/worker/index.js.map +1 -1
- package/dist/host/local_session_host.js +1 -1
- package/dist/host/local_session_host.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,9 +22,11 @@ const DIGEST_TEXT_CONFIG = {
|
|
|
22
22
|
},
|
|
23
23
|
};
|
|
24
24
|
const MAX_BODY_BYTES = 8 * 1024 * 1024;
|
|
25
|
+
const MAX_ENTRY_BYTES = 1024 * 1024;
|
|
26
|
+
const MAX_ENTRY_SEARCH_TEXT_BYTES = 512 * 1024;
|
|
25
27
|
const MAX_OPERATIONS = 10;
|
|
26
28
|
const MAX_ENTRIES_PER_OPERATION = 25;
|
|
27
|
-
const MAX_SEARCH_LIMIT =
|
|
29
|
+
const MAX_SEARCH_LIMIT = 75;
|
|
28
30
|
const MAX_READ_LIMIT = 100;
|
|
29
31
|
const MAX_READ_PAGE_PAYLOAD_BYTES = 12 * 1024 * 1024;
|
|
30
32
|
const DIGEST_NEW_ENTRY_THRESHOLD = 8;
|
|
@@ -38,78 +40,7 @@ const DIGEST_SOURCE_MAX_BYTES = 12 * 1024 * 1024;
|
|
|
38
40
|
const DIGEST_MAX_SPLIT_DEPTH = 3;
|
|
39
41
|
const DIGEST_IDLE_MS = 10 * 60 * 1_000;
|
|
40
42
|
const DIGEST_LEASE_MS = 30 * 60 * 1_000;
|
|
41
|
-
const
|
|
42
|
-
{
|
|
43
|
-
version: 1,
|
|
44
|
-
statements: [
|
|
45
|
-
`CREATE TABLE IF NOT EXISTS sessions (
|
|
46
|
-
session_id TEXT PRIMARY KEY,
|
|
47
|
-
attributes_json TEXT NOT NULL,
|
|
48
|
-
created_at INTEGER NOT NULL,
|
|
49
|
-
updated_at INTEGER NOT NULL,
|
|
50
|
-
transcript_revision INTEGER NOT NULL DEFAULT 0,
|
|
51
|
-
digest_title TEXT,
|
|
52
|
-
digest_summary TEXT,
|
|
53
|
-
digest_through_entry_id TEXT
|
|
54
|
-
)`,
|
|
55
|
-
`CREATE TABLE IF NOT EXISTS attributes (
|
|
56
|
-
session_id TEXT NOT NULL,
|
|
57
|
-
key TEXT NOT NULL,
|
|
58
|
-
value TEXT NOT NULL,
|
|
59
|
-
PRIMARY KEY (session_id, key)
|
|
60
|
-
)`,
|
|
61
|
-
"CREATE INDEX IF NOT EXISTS attributes_lookup ON attributes(key, value, session_id)",
|
|
62
|
-
`CREATE TABLE IF NOT EXISTS entries (
|
|
63
|
-
session_id TEXT NOT NULL,
|
|
64
|
-
position INTEGER NOT NULL,
|
|
65
|
-
entry_id TEXT NOT NULL,
|
|
66
|
-
timestamp INTEGER NOT NULL,
|
|
67
|
-
payload_json TEXT NOT NULL,
|
|
68
|
-
search_text TEXT NOT NULL,
|
|
69
|
-
PRIMARY KEY (session_id, entry_id),
|
|
70
|
-
UNIQUE (session_id, position)
|
|
71
|
-
)`,
|
|
72
|
-
"CREATE INDEX IF NOT EXISTS entries_order ON entries(session_id, position)",
|
|
73
|
-
`CREATE VIRTUAL TABLE IF NOT EXISTS entries_fts USING fts5(
|
|
74
|
-
session_id UNINDEXED,
|
|
75
|
-
entry_id UNINDEXED,
|
|
76
|
-
position UNINDEXED,
|
|
77
|
-
text
|
|
78
|
-
)`,
|
|
79
|
-
`CREATE VIRTUAL TABLE IF NOT EXISTS sessions_fts USING fts5(
|
|
80
|
-
session_id UNINDEXED,
|
|
81
|
-
title,
|
|
82
|
-
summary
|
|
83
|
-
)`,
|
|
84
|
-
`CREATE TABLE IF NOT EXISTS operations (
|
|
85
|
-
operation_id TEXT PRIMARY KEY,
|
|
86
|
-
session_id TEXT NOT NULL,
|
|
87
|
-
applied_at INTEGER NOT NULL
|
|
88
|
-
)`,
|
|
89
|
-
],
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
version: 2,
|
|
93
|
-
statements: [
|
|
94
|
-
`CREATE TABLE IF NOT EXISTS digest_worker_lease (
|
|
95
|
-
singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
|
|
96
|
-
claimed_at INTEGER
|
|
97
|
-
)`,
|
|
98
|
-
"INSERT OR IGNORE INTO digest_worker_lease (singleton, claimed_at) VALUES (1, NULL)",
|
|
99
|
-
],
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
version: 3,
|
|
103
|
-
statements: [
|
|
104
|
-
"ALTER TABLE sessions ADD COLUMN digest_failure_count INTEGER NOT NULL DEFAULT 0",
|
|
105
|
-
"ALTER TABLE sessions ADD COLUMN digest_next_attempt_at INTEGER",
|
|
106
|
-
"ALTER TABLE sessions ADD COLUMN digest_last_attempt_at INTEGER",
|
|
107
|
-
"ALTER TABLE sessions ADD COLUMN digest_last_success_at INTEGER",
|
|
108
|
-
"ALTER TABLE sessions ADD COLUMN digest_last_error TEXT",
|
|
109
|
-
],
|
|
110
|
-
},
|
|
111
|
-
];
|
|
112
|
-
let initialization;
|
|
43
|
+
const DIGEST_SESSIONS_PER_CRON = 3;
|
|
113
44
|
class HistoryApiError extends Error {
|
|
114
45
|
code;
|
|
115
46
|
status;
|
|
@@ -130,7 +61,6 @@ export default {
|
|
|
130
61
|
if (request.method !== "POST")
|
|
131
62
|
return error("method_not_allowed", "Use POST", 405);
|
|
132
63
|
try {
|
|
133
|
-
await initialize(env.DB);
|
|
134
64
|
if (new URL(request.url).pathname === "/v1/operations") {
|
|
135
65
|
const body = await readJson(request);
|
|
136
66
|
const operations = parseOperations(body);
|
|
@@ -160,7 +90,6 @@ export default {
|
|
|
160
90
|
}
|
|
161
91
|
},
|
|
162
92
|
async scheduled(_controller, env, _context) {
|
|
163
|
-
await initialize(env.DB);
|
|
164
93
|
const claimedAt = Date.now();
|
|
165
94
|
const lease = await env.DB.prepare(`UPDATE digest_worker_lease
|
|
166
95
|
SET claimed_at = ?
|
|
@@ -171,59 +100,14 @@ export default {
|
|
|
171
100
|
.first();
|
|
172
101
|
if (!lease)
|
|
173
102
|
return;
|
|
174
|
-
let sessionId;
|
|
175
|
-
let failureCount = 0;
|
|
176
103
|
try {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
WHERE (s.digest_through_entry_id IS NULL OR s.digest_through_entry_id != latest.entry_id)
|
|
184
|
-
AND s.updated_at <= ?
|
|
185
|
-
AND (s.digest_next_attempt_at IS NULL OR s.digest_next_attempt_at <= ?)
|
|
186
|
-
AND (
|
|
187
|
-
s.digest_through_entry_id IS NULL
|
|
188
|
-
OR latest.position - COALESCE(digested.position, 0) >= ?
|
|
189
|
-
OR s.updated_at <= ?
|
|
190
|
-
)
|
|
191
|
-
ORDER BY COALESCE(s.digest_last_attempt_at, 0), s.updated_at, s.session_id
|
|
192
|
-
LIMIT 1`)
|
|
193
|
-
.bind(claimedAt - DIGEST_IDLE_MS, claimedAt, DIGEST_NEW_ENTRY_THRESHOLD, claimedAt - DIGEST_MAX_STALENESS_MS)
|
|
194
|
-
.first();
|
|
195
|
-
if (!stale)
|
|
196
|
-
return;
|
|
197
|
-
sessionId = stale.session_id;
|
|
198
|
-
failureCount = Number(stale.digest_failure_count);
|
|
199
|
-
await env.DB.prepare("UPDATE sessions SET digest_last_attempt_at = ? WHERE session_id = ?")
|
|
200
|
-
.bind(claimedAt, sessionId)
|
|
201
|
-
.run();
|
|
202
|
-
const updated = await refreshDigestIfNeeded(env, sessionId);
|
|
203
|
-
await env.DB.prepare(`UPDATE sessions
|
|
204
|
-
SET digest_failure_count = 0,
|
|
205
|
-
digest_next_attempt_at = NULL,
|
|
206
|
-
digest_last_error = NULL,
|
|
207
|
-
digest_last_success_at = CASE WHEN ? THEN ? ELSE digest_last_success_at END
|
|
208
|
-
WHERE session_id = ?`)
|
|
209
|
-
.bind(updated ? 1 : 0, Date.now(), sessionId)
|
|
210
|
-
.run();
|
|
211
|
-
}
|
|
212
|
-
catch (caught) {
|
|
213
|
-
if (sessionId) {
|
|
214
|
-
const failedAt = Date.now();
|
|
215
|
-
const nextAttemptAt = failedAt + digestRetryDelayMs(failureCount + 1);
|
|
216
|
-
await env.DB.prepare(`UPDATE sessions
|
|
217
|
-
SET digest_failure_count = ?,
|
|
218
|
-
digest_next_attempt_at = ?,
|
|
219
|
-
digest_last_error = ?
|
|
220
|
-
WHERE session_id = ?`)
|
|
221
|
-
.bind(failureCount + 1, nextAttemptAt, digestErrorMessage(caught), sessionId)
|
|
222
|
-
.run();
|
|
104
|
+
for (let index = 0; index < DIGEST_SESSIONS_PER_CRON; index += 1) {
|
|
105
|
+
const attemptedAt = Date.now();
|
|
106
|
+
const candidate = await selectDigestCandidate(env.DB, attemptedAt);
|
|
107
|
+
if (!candidate)
|
|
108
|
+
return;
|
|
109
|
+
await attemptScheduledDigest(env, candidate, attemptedAt);
|
|
223
110
|
}
|
|
224
|
-
logWorkerError("history_digest_refresh_failed", caught, {
|
|
225
|
-
sessionId: sessionId ?? "unknown",
|
|
226
|
-
});
|
|
227
111
|
}
|
|
228
112
|
finally {
|
|
229
113
|
await env.DB.prepare("UPDATE digest_worker_lease SET claimed_at = NULL WHERE singleton = 1 AND claimed_at = ?")
|
|
@@ -232,12 +116,100 @@ export default {
|
|
|
232
116
|
}
|
|
233
117
|
},
|
|
234
118
|
};
|
|
235
|
-
|
|
236
|
-
|
|
119
|
+
async function selectDigestCandidate(database, now) {
|
|
120
|
+
const candidate = await database
|
|
121
|
+
.prepare(`SELECT s.session_id, s.digest_failure_count
|
|
122
|
+
FROM sessions s
|
|
123
|
+
JOIN entries latest ON latest.session_id = s.session_id
|
|
124
|
+
AND latest.position = (SELECT MAX(position) FROM entries WHERE session_id = s.session_id)
|
|
125
|
+
LEFT JOIN entries digested ON digested.session_id = s.session_id
|
|
126
|
+
AND digested.entry_id = s.digest_through_entry_id
|
|
127
|
+
WHERE (s.digest_through_entry_id IS NULL OR s.digest_through_entry_id != latest.entry_id)
|
|
128
|
+
AND s.updated_at <= ?
|
|
129
|
+
AND (s.digest_next_attempt_at IS NULL OR s.digest_next_attempt_at <= ?)
|
|
130
|
+
AND (
|
|
131
|
+
s.digest_through_entry_id IS NULL
|
|
132
|
+
OR latest.position - COALESCE(digested.position, 0) >= ?
|
|
133
|
+
OR s.updated_at <= ?
|
|
134
|
+
)
|
|
135
|
+
ORDER BY COALESCE(s.digest_last_attempt_at, 0), s.updated_at, s.session_id
|
|
136
|
+
LIMIT 1`)
|
|
137
|
+
.bind(now - DIGEST_IDLE_MS, now, DIGEST_NEW_ENTRY_THRESHOLD, now - DIGEST_MAX_STALENESS_MS)
|
|
138
|
+
.first();
|
|
139
|
+
if (!candidate)
|
|
140
|
+
return undefined;
|
|
141
|
+
return {
|
|
142
|
+
sessionId: candidate.session_id,
|
|
143
|
+
failureCount: Number(candidate.digest_failure_count),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
async function attemptScheduledDigest(env, candidate, attemptedAt) {
|
|
147
|
+
try {
|
|
148
|
+
await env.DB.prepare("UPDATE sessions SET digest_last_attempt_at = ? WHERE session_id = ?")
|
|
149
|
+
.bind(attemptedAt, candidate.sessionId)
|
|
150
|
+
.run();
|
|
151
|
+
const updated = await refreshDigestIfNeeded(env, candidate.sessionId);
|
|
152
|
+
await env.DB.prepare(`UPDATE sessions
|
|
153
|
+
SET digest_failure_count = 0,
|
|
154
|
+
digest_next_attempt_at = NULL,
|
|
155
|
+
digest_last_error = NULL,
|
|
156
|
+
digest_last_success_at = CASE WHEN ? THEN ? ELSE digest_last_success_at END
|
|
157
|
+
WHERE session_id = ?`)
|
|
158
|
+
.bind(updated ? 1 : 0, Date.now(), candidate.sessionId)
|
|
159
|
+
.run();
|
|
160
|
+
}
|
|
161
|
+
catch (caught) {
|
|
162
|
+
const failedAt = Date.now();
|
|
163
|
+
await env.DB.prepare(`UPDATE sessions
|
|
164
|
+
SET digest_failure_count = ?,
|
|
165
|
+
digest_next_attempt_at = ?,
|
|
166
|
+
digest_last_error = ?
|
|
167
|
+
WHERE session_id = ?`)
|
|
168
|
+
.bind(candidate.failureCount + 1, failedAt +
|
|
169
|
+
digestRetryDelayMs(candidate.failureCount + 1, retryAfterDelayMs(caught, failedAt)), digestErrorMessage(caught), candidate.sessionId)
|
|
170
|
+
.run();
|
|
171
|
+
logWorkerError("history_digest_refresh_failed", caught, {
|
|
172
|
+
sessionId: candidate.sessionId,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
export function digestRetryDelayMs(failureCount, retryAfterMs = 0) {
|
|
177
|
+
const backoff = Math.min(DIGEST_RETRY_BASE_MS * 2 ** Math.max(0, failureCount - 1), DIGEST_RETRY_MAX_MS);
|
|
178
|
+
return Math.min(Math.max(backoff, retryAfterMs), DIGEST_RETRY_MAX_MS);
|
|
179
|
+
}
|
|
180
|
+
function retryAfterDelayMs(caught, now) {
|
|
181
|
+
const value = retryAfterValue(caught, new Set());
|
|
182
|
+
if (typeof value === "number")
|
|
183
|
+
return Number.isFinite(value) && value > 0 ? value * 1_000 : 0;
|
|
184
|
+
if (typeof value !== "string")
|
|
185
|
+
return 0;
|
|
186
|
+
const seconds = Number(value);
|
|
187
|
+
if (Number.isFinite(seconds) && seconds > 0)
|
|
188
|
+
return seconds * 1_000;
|
|
189
|
+
const date = Date.parse(value);
|
|
190
|
+
return Number.isFinite(date) && date > now ? date - now : 0;
|
|
191
|
+
}
|
|
192
|
+
function retryAfterValue(value, visited) {
|
|
193
|
+
if (value instanceof Headers)
|
|
194
|
+
return value.get("retry-after");
|
|
195
|
+
if (typeof value !== "object" || value === null || visited.has(value))
|
|
196
|
+
return undefined;
|
|
197
|
+
visited.add(value);
|
|
198
|
+
const record = value;
|
|
199
|
+
const direct = record["retry-after"] ?? record["Retry-After"];
|
|
200
|
+
if (direct !== undefined)
|
|
201
|
+
return direct;
|
|
202
|
+
for (const key of ["headers", "response", "cause"]) {
|
|
203
|
+
const nested = retryAfterValue(record[key], visited);
|
|
204
|
+
if (nested !== undefined)
|
|
205
|
+
return nested;
|
|
206
|
+
}
|
|
207
|
+
return undefined;
|
|
237
208
|
}
|
|
238
209
|
function digestErrorMessage(caught) {
|
|
239
|
-
if (caught instanceof Error)
|
|
210
|
+
if (caught instanceof Error && caught.cause === undefined) {
|
|
240
211
|
return `${caught.name}: ${caught.message}`.slice(0, 2_000);
|
|
212
|
+
}
|
|
241
213
|
if (typeof caught === "object" && caught !== null) {
|
|
242
214
|
const details = providerErrorDetails(caught);
|
|
243
215
|
return JSON.stringify(details).slice(0, 2_000);
|
|
@@ -245,26 +217,35 @@ function digestErrorMessage(caught) {
|
|
|
245
217
|
return String(caught).slice(0, 2_000);
|
|
246
218
|
}
|
|
247
219
|
function logWorkerError(event, caught, context) {
|
|
248
|
-
const error = caught
|
|
220
|
+
const error = typeof caught === "object" && caught !== null
|
|
249
221
|
? {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
222
|
+
...providerErrorDetails(caught),
|
|
223
|
+
...(caught instanceof Error && caught.stack
|
|
224
|
+
? { stack: caught.stack.slice(0, 4_000) }
|
|
225
|
+
: {}),
|
|
253
226
|
}
|
|
254
|
-
:
|
|
255
|
-
? providerErrorDetails(caught)
|
|
256
|
-
: { message: String(caught).slice(0, 2_000) };
|
|
227
|
+
: { message: String(caught).slice(0, 2_000) };
|
|
257
228
|
console.error(JSON.stringify({ event, ...context, error }));
|
|
258
229
|
}
|
|
259
|
-
function providerErrorDetails(error) {
|
|
230
|
+
function providerErrorDetails(error, depth = 0) {
|
|
260
231
|
const details = {};
|
|
261
|
-
for (const key of ["name", "message", "code", "status", "statusCode", "internalCode"]) {
|
|
232
|
+
for (const key of ["name", "message", "state", "code", "status", "statusCode", "internalCode"]) {
|
|
262
233
|
const value = error[key];
|
|
263
234
|
if (typeof value === "string")
|
|
264
235
|
details[key] = value.slice(0, 2_000);
|
|
265
236
|
if (typeof value === "number" || typeof value === "boolean")
|
|
266
237
|
details[key] = value;
|
|
267
238
|
}
|
|
239
|
+
if (depth < 2) {
|
|
240
|
+
for (const key of ["error", "cause"]) {
|
|
241
|
+
const value = error[key];
|
|
242
|
+
if (typeof value === "string")
|
|
243
|
+
details[key] = value.slice(0, 2_000);
|
|
244
|
+
if (typeof value === "object" && value !== null) {
|
|
245
|
+
details[key] = providerErrorDetails(value, depth + 1);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
268
249
|
return details;
|
|
269
250
|
}
|
|
270
251
|
function authorize(request, env) {
|
|
@@ -273,47 +254,6 @@ function authorize(request, env) {
|
|
|
273
254
|
return false;
|
|
274
255
|
return request.headers.get("authorization") === `Bearer ${expected}`;
|
|
275
256
|
}
|
|
276
|
-
async function initialize(database) {
|
|
277
|
-
if (!initialization) {
|
|
278
|
-
initialization = migrateHistoryDatabase(database).catch((caught) => {
|
|
279
|
-
initialization = undefined;
|
|
280
|
-
throw caught;
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
await initialization;
|
|
284
|
-
}
|
|
285
|
-
export async function migrateHistoryDatabase(database) {
|
|
286
|
-
await database
|
|
287
|
-
.prepare(`CREATE TABLE IF NOT EXISTS history_schema_migrations (
|
|
288
|
-
version INTEGER PRIMARY KEY,
|
|
289
|
-
applied_at INTEGER NOT NULL
|
|
290
|
-
)`)
|
|
291
|
-
.run();
|
|
292
|
-
const rows = await database
|
|
293
|
-
.prepare("SELECT version FROM history_schema_migrations ORDER BY version")
|
|
294
|
-
.all();
|
|
295
|
-
const applied = new Set(rows.results.map((row) => Number(row.version)));
|
|
296
|
-
const latestKnown = HISTORY_SCHEMA_MIGRATIONS.at(-1)?.version ?? 0;
|
|
297
|
-
const latestApplied = Math.max(0, ...applied);
|
|
298
|
-
if (latestApplied > latestKnown) {
|
|
299
|
-
throw new Error(`history database schema ${latestApplied} is newer than supported version ${latestKnown}`);
|
|
300
|
-
}
|
|
301
|
-
for (let version = 1; version <= latestApplied; version += 1) {
|
|
302
|
-
if (!applied.has(version)) {
|
|
303
|
-
throw new Error(`history database schema migrations are not sequential at version ${version}`);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
for (const migration of HISTORY_SCHEMA_MIGRATIONS) {
|
|
307
|
-
if (applied.has(migration.version))
|
|
308
|
-
continue;
|
|
309
|
-
await database.batch([
|
|
310
|
-
...migration.statements.map((statement) => database.prepare(statement)),
|
|
311
|
-
database
|
|
312
|
-
.prepare("INSERT OR IGNORE INTO history_schema_migrations (version, applied_at) VALUES (?, ?)")
|
|
313
|
-
.bind(migration.version, Date.now()),
|
|
314
|
-
]);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
257
|
export async function applyOperation(database, operation) {
|
|
318
258
|
const existing = await database
|
|
319
259
|
.prepare("SELECT 1 AS found FROM operations WHERE operation_id = ?")
|
|
@@ -352,15 +292,18 @@ export async function applyOperation(database, operation) {
|
|
|
352
292
|
.prepare("SELECT COALESCE(MAX(position), 0) AS position FROM entries WHERE session_id = ?")
|
|
353
293
|
.bind(operation.sessionId)
|
|
354
294
|
.first();
|
|
295
|
+
const existingEntries = await database
|
|
296
|
+
.prepare(`SELECT entry_id FROM entries
|
|
297
|
+
WHERE session_id = ? AND entry_id IN (${operation.entries.map(() => "?").join(", ")})`)
|
|
298
|
+
.bind(operation.sessionId, ...operation.entries.map((entry) => entry.id))
|
|
299
|
+
.all();
|
|
300
|
+
const existingEntryIds = new Set(existingEntries.results.map((row) => row.entry_id));
|
|
355
301
|
let position = Number(current?.position ?? 0);
|
|
356
302
|
let updatedAt = 0;
|
|
357
303
|
for (const entry of operation.entries) {
|
|
358
|
-
|
|
359
|
-
.prepare("SELECT 1 AS found FROM entries WHERE session_id = ? AND entry_id = ?")
|
|
360
|
-
.bind(operation.sessionId, entry.id)
|
|
361
|
-
.first();
|
|
362
|
-
if (duplicate)
|
|
304
|
+
if (existingEntryIds.has(entry.id))
|
|
363
305
|
continue;
|
|
306
|
+
existingEntryIds.add(entry.id);
|
|
364
307
|
position += 1;
|
|
365
308
|
updatedAt = Math.max(updatedAt, entry.timestamp);
|
|
366
309
|
const searchText = entrySearchText(entry);
|
|
@@ -726,10 +669,17 @@ export async function runAi(ai, prompt, text) {
|
|
|
726
669
|
reasoning: { effort: "medium" },
|
|
727
670
|
...(text ? { text } : {}),
|
|
728
671
|
});
|
|
729
|
-
const
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
672
|
+
const response = result;
|
|
673
|
+
const outputText = response.output_text || responsesOutputText(response.output ?? []);
|
|
674
|
+
if (outputText)
|
|
675
|
+
return outputText;
|
|
676
|
+
if (response.state === "Failed" || response.error !== undefined) {
|
|
677
|
+
const message = typeof response.error === "string"
|
|
678
|
+
? response.error
|
|
679
|
+
: JSON.stringify(providerErrorDetails(response));
|
|
680
|
+
throw new Error(`Cloudflare AI failed: ${message}`, { cause: response });
|
|
681
|
+
}
|
|
682
|
+
throw new Error("Cloudflare AI returned an invalid digest response");
|
|
733
683
|
}
|
|
734
684
|
function responsesOutputText(output) {
|
|
735
685
|
return output
|
|
@@ -817,7 +767,7 @@ function parseEntry(raw) {
|
|
|
817
767
|
if (!Object.hasOwn(entry, "content")) {
|
|
818
768
|
throw invalidRequest(`${type} entry.content is required`);
|
|
819
769
|
}
|
|
820
|
-
return { ...base, type, content: entry.content };
|
|
770
|
+
return validateEntrySize({ ...base, type, content: entry.content });
|
|
821
771
|
}
|
|
822
772
|
if (!Object.hasOwn(entry, "arguments") || !Object.hasOwn(entry, "result")) {
|
|
823
773
|
throw invalidRequest("tool entry.arguments and entry.result are required");
|
|
@@ -829,14 +779,20 @@ function parseEntry(raw) {
|
|
|
829
779
|
outcome !== "cancelled") {
|
|
830
780
|
throw invalidRequest("tool entry.outcome is invalid");
|
|
831
781
|
}
|
|
832
|
-
return {
|
|
782
|
+
return validateEntrySize({
|
|
833
783
|
...base,
|
|
834
784
|
type,
|
|
835
785
|
name: requiredString(entry.name, "tool entry.name", 256),
|
|
836
786
|
arguments: entry.arguments,
|
|
837
787
|
result: entry.result,
|
|
838
788
|
outcome,
|
|
839
|
-
};
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
function validateEntrySize(entry) {
|
|
792
|
+
if (utf8ByteLength(JSON.stringify(entry)) > MAX_ENTRY_BYTES) {
|
|
793
|
+
throw invalidRequest(`entries must not exceed ${MAX_ENTRY_BYTES} serialized bytes`);
|
|
794
|
+
}
|
|
795
|
+
return entry;
|
|
840
796
|
}
|
|
841
797
|
function parseAttributeFilters(raw) {
|
|
842
798
|
if (raw === undefined)
|
|
@@ -907,7 +863,8 @@ async function readJson(request) {
|
|
|
907
863
|
}
|
|
908
864
|
}
|
|
909
865
|
function entrySearchText(entry) {
|
|
910
|
-
|
|
866
|
+
const bytes = new TextEncoder().encode(recursiveText(entry));
|
|
867
|
+
return decodeUtf8Head(bytes, MAX_ENTRY_SEARCH_TEXT_BYTES);
|
|
911
868
|
}
|
|
912
869
|
function recursiveText(value) {
|
|
913
870
|
if (typeof value === "string")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/history/worker/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/history/worker/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -562,7 +562,7 @@ class LocalHostedSessionHandle {
|
|
|
562
562
|
if (userMessage && hasGoalTurnMetadata(userMessage.message)) {
|
|
563
563
|
throw new SessionRetryUnavailableError("goal-controlled turns cannot be retried; resume a blocked goal or start a new goal");
|
|
564
564
|
}
|
|
565
|
-
if (!userMessage
|
|
565
|
+
if (!userMessage) {
|
|
566
566
|
throw new SessionRetryUnavailableError("no user turn is available to retry");
|
|
567
567
|
}
|
|
568
568
|
return await this.runTurn();
|