@zhivex-ai/core 1.1.1 → 1.1.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/README.md +1 -1
- package/dist/agent-control-plane.d.ts.map +1 -1
- package/dist/agent-control-plane.js +21 -0
- package/dist/agent-control-plane.js.map +1 -1
- package/dist/agent-store.d.ts.map +1 -1
- package/dist/agent-store.js +209 -22
- package/dist/agent-store.js.map +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +7 -0
- package/dist/agent.js.map +1 -1
- package/dist/artifact.d.ts.map +1 -1
- package/dist/artifact.js +11 -3
- package/dist/artifact.js.map +1 -1
- package/dist/production-agent-kit.d.ts.map +1 -1
- package/dist/production-agent-kit.js +11 -3
- package/dist/production-agent-kit.js.map +1 -1
- package/dist/store-security.js +7 -6
- package/dist/store-security.js.map +1 -1
- package/dist/url-security.d.ts +5 -0
- package/dist/url-security.d.ts.map +1 -1
- package/dist/url-security.js +15 -1
- package/dist/url-security.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ Most applications should install `@zhivex-ai/sdk` and follow the main adoption g
|
|
|
41
41
|
- `createHttpTool()` propagates caller cancellation and idempotency, rejects redirects by default, validates its timeout, and bounds response bodies. Override `maxResponseBytes` or `redirect` only for an application-owned endpoint.
|
|
42
42
|
- `parseUIMessageRequest()` validates the runtime message/part shape and bounds request bytes, message count, and JSONL line size.
|
|
43
43
|
- The default browser WebSocket connection rejects oversized incoming frames. Set `maxIncomingFrameBytes` only when the provider contract requires a different bound.
|
|
44
|
-
- `assertTrustedEndpoint()` rejects credentials, unsafe schemes, private/loopback hosts, and allowlist boundary tricks unless a trusted server configuration explicitly opts in.
|
|
44
|
+
- `assertTrustedEndpoint()` rejects credentials, unsafe schemes, private/loopback hosts, embedded private-IP DNS aliases, and allowlist boundary tricks unless a trusted server configuration explicitly opts in. Because it is synchronous, arbitrary DNS rebinding still requires an application-owned host allowlist plus resolver and egress controls.
|
|
45
45
|
|
|
46
46
|
Repository and full documentation:
|
|
47
47
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-control-plane.d.ts","sourceRoot":"","sources":["../src/agent-control-plane.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-control-plane.d.ts","sourceRoot":"","sources":["../src/agent-control-plane.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,10 @@ const writePermissions = new Set([
|
|
|
64
64
|
"shell",
|
|
65
65
|
"external-side-effect"
|
|
66
66
|
]);
|
|
67
|
+
const supervisedPermissions = new Set([
|
|
68
|
+
...writePermissions,
|
|
69
|
+
"network"
|
|
70
|
+
]);
|
|
67
71
|
const normalizeNames = (names) => new Set((names ?? []).map((name) => name.toLowerCase()));
|
|
68
72
|
const normalizePermissions = (permissions) => new Set(permissions ?? []);
|
|
69
73
|
const normalizeRiskLevels = (levels) => new Set(levels ?? []);
|
|
@@ -235,6 +239,12 @@ const decision = (approved, reason, mode) => ({
|
|
|
235
239
|
reason,
|
|
236
240
|
metadata: { policy: "agent-control-plane", mode }
|
|
237
241
|
});
|
|
242
|
+
const approvalRequiredDecision = (reason, mode) => ({
|
|
243
|
+
approved: false,
|
|
244
|
+
approvalRequired: true,
|
|
245
|
+
reason,
|
|
246
|
+
metadata: { policy: "agent-control-plane", mode }
|
|
247
|
+
});
|
|
238
248
|
export const createAgentToolPolicy = (options = {}) => {
|
|
239
249
|
const mode = options.mode ?? "supervised";
|
|
240
250
|
const allowNames = normalizeNames(options.allowToolNames);
|
|
@@ -273,6 +283,17 @@ export const createAgentToolPolicy = (options = {}) => {
|
|
|
273
283
|
if (mode === "deny-write" && hasWritePermission(permissions)) {
|
|
274
284
|
return decision(false, `Tool "${request.tool.name}" requests write permissions.`, mode);
|
|
275
285
|
}
|
|
286
|
+
if (mode === "supervised") {
|
|
287
|
+
if (request.tool.requiresApproval) {
|
|
288
|
+
return approvalRequiredDecision(`Tool "${request.tool.name}" requires explicit approval.`, mode);
|
|
289
|
+
}
|
|
290
|
+
if (riskLevel === "high" || riskLevel === "critical") {
|
|
291
|
+
return approvalRequiredDecision(`Tool "${request.tool.name}" requires approval for risk level "${riskLevel}".`, mode);
|
|
292
|
+
}
|
|
293
|
+
if (permissions.some((permission) => supervisedPermissions.has(permission) && !allowPermissions.has(permission))) {
|
|
294
|
+
return approvalRequiredDecision(`Tool "${request.tool.name}" requests sensitive permissions.`, mode);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
276
297
|
return { approved: true, metadata: { policy: "agent-control-plane", mode } };
|
|
277
298
|
};
|
|
278
299
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-control-plane.js","sourceRoot":"","sources":["../src/agent-control-plane.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-control-plane.js","sourceRoot":"","sources":["../src/agent-control-plane.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-store.d.ts","sourceRoot":"","sources":["../src/agent-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAMhB,aAAa,EAEb,aAAa,EACb,yBAAyB,EACzB,eAAe,EAGf,YAAY,EACZ,+BAA+B,EAC/B,4BAA4B,EAE5B,6BAA6B,EAC7B,0BAA0B,EAG3B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-store.d.ts","sourceRoot":"","sources":["../src/agent-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAMhB,aAAa,EAEb,aAAa,EACb,yBAAyB,EACzB,eAAe,EAGf,YAAY,EACZ,+BAA+B,EAC/B,4BAA4B,EAE5B,6BAA6B,EAC7B,0BAA0B,EAG3B,MAAM,YAAY,CAAC;AAuYpB,eAAO,MAAM,2BAA2B,GAAI,UAAS,yBAA8B,KAAG,aA2KrF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,SAAS,yBAAyB,GAAG;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,aAmSH,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,UAAS;IACtD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,YAAY,EAAE,CAAC;IAC1D,KAAK,CAAC,EAAE,eAAe,CAAC;CACpB,KAAG,gBAeR,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,SAAS;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,YAAY,EAAE,CAAC;IAC1D,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,KAAG,gBAwBH,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,SAAS,0BAA0B,KAAG,aA4U/E,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,SAAS,6BAA6B,KAAG,gBAoCrF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,SAAS,4BAA4B,KAAG,aAuWnF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,+BAA+B,KAAG,gBAoCzF,CAAC"}
|
package/dist/agent-store.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { promises as fs } from "node:fs";
|
|
2
|
-
import { createHash } from "node:crypto";
|
|
1
|
+
import { constants, promises as fs } from "node:fs";
|
|
2
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { normalizeAgentRunState } from "./agent-state.js";
|
|
5
5
|
import { ConflictError, ValidationError } from "./errors.js";
|
|
@@ -40,6 +40,157 @@ const resolveScope = (configured, operation) => {
|
|
|
40
40
|
const fileNameForAgentStoreKey = (key) => `${encodeURIComponent(key)}.json`;
|
|
41
41
|
const fileNameForIdempotencyKey = (key) => `.idempotency-${createHash("sha256").update(key).digest("hex")}.json`;
|
|
42
42
|
const identifierPattern = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
43
|
+
const FILE_RUN_LOCK_TIMEOUT_MS = 2_000;
|
|
44
|
+
const FILE_RUN_LOCK_RETRY_MS = 10;
|
|
45
|
+
const FILE_RUN_LOCK_STALE_MS = 30_000;
|
|
46
|
+
const waitForFileRunLock = () => new Promise((resolve) => {
|
|
47
|
+
setTimeout(resolve, FILE_RUN_LOCK_RETRY_MS);
|
|
48
|
+
});
|
|
49
|
+
const parseFileRunStoreLock = (value) => {
|
|
50
|
+
try {
|
|
51
|
+
const lock = JSON.parse(value);
|
|
52
|
+
return typeof lock.ownerId === "string" &&
|
|
53
|
+
Number.isSafeInteger(lock.pid) &&
|
|
54
|
+
lock.pid > 0 &&
|
|
55
|
+
Number.isFinite(lock.createdAt)
|
|
56
|
+
? lock
|
|
57
|
+
: undefined;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const isProcessAlive = (pid) => {
|
|
64
|
+
try {
|
|
65
|
+
process.kill(pid, 0);
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
return error.code !== "ESRCH";
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const readFileRunStoreLock = async (lockPath) => {
|
|
73
|
+
let handle;
|
|
74
|
+
try {
|
|
75
|
+
handle = await fs.open(lockPath, constants.O_RDONLY | constants.O_NOFOLLOW);
|
|
76
|
+
const stats = await handle.stat();
|
|
77
|
+
return {
|
|
78
|
+
lock: parseFileRunStoreLock(await handle.readFile("utf8")),
|
|
79
|
+
modifiedAt: stats.mtimeMs
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
if (error.code === "ENOENT") {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
if (error.code === "ELOOP") {
|
|
87
|
+
throw new ValidationError("Refusing to follow a file AgentRunStore lock symlink.");
|
|
88
|
+
}
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
await handle?.close().catch(() => undefined);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const removeFileRunStoreLock = async (lockPath, ownerId) => {
|
|
96
|
+
const current = await readFileRunStoreLock(lockPath);
|
|
97
|
+
if (current?.lock?.ownerId !== ownerId) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
await fs.unlink(lockPath);
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (error.code === "ENOENT") {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const recoverFileRunStoreLock = async (lockPath) => {
|
|
112
|
+
const current = await readFileRunStoreLock(lockPath);
|
|
113
|
+
if (!current) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
const malformedAndStale = !current.lock && Date.now() - current.modifiedAt >= FILE_RUN_LOCK_STALE_MS;
|
|
117
|
+
const ownerExited = current.lock ? !isProcessAlive(current.lock.pid) : false;
|
|
118
|
+
// Never steal an old lock from a live owner: a large local store can make a
|
|
119
|
+
// legitimate CAS operation exceed the stale threshold. The age fallback is
|
|
120
|
+
// reserved for malformed locks that have no verifiable owner.
|
|
121
|
+
if (!malformedAndStale && !ownerExited) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
const recoveryId = createHash("sha256")
|
|
125
|
+
.update(current.lock?.ownerId ?? "malformed")
|
|
126
|
+
.digest("hex");
|
|
127
|
+
const recoveryPath = `${lockPath}.${recoveryId}.recovery`;
|
|
128
|
+
try {
|
|
129
|
+
await fs.link(lockPath, recoveryPath);
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
if (error.code === "ENOENT") {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
if (error.code === "EEXIST") {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
const [lockStats, recoveryStats] = await Promise.all([
|
|
142
|
+
fs.lstat(lockPath),
|
|
143
|
+
fs.lstat(recoveryPath)
|
|
144
|
+
]);
|
|
145
|
+
if (lockStats.dev !== recoveryStats.dev || lockStats.ino !== recoveryStats.ino) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
const verified = await readFileRunStoreLock(lockPath);
|
|
149
|
+
if (current.lock?.ownerId !== verified?.lock?.ownerId ||
|
|
150
|
+
(!current.lock && verified?.lock)) {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
await fs.unlink(lockPath);
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
if (error.code === "ENOENT") {
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
throw error;
|
|
161
|
+
}
|
|
162
|
+
finally {
|
|
163
|
+
await fs.unlink(recoveryPath).catch((error) => {
|
|
164
|
+
if (error.code !== "ENOENT")
|
|
165
|
+
throw error;
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
const acquireFileRunStoreLock = async (lockPath) => {
|
|
170
|
+
const ownerId = randomUUID();
|
|
171
|
+
const startedAt = Date.now();
|
|
172
|
+
const lock = { ownerId, pid: process.pid, createdAt: startedAt };
|
|
173
|
+
while (true) {
|
|
174
|
+
try {
|
|
175
|
+
await writePrivateFile(lockPath, JSON.stringify(lock), { flag: "wx" });
|
|
176
|
+
return async () => {
|
|
177
|
+
await removeFileRunStoreLock(lockPath, ownerId);
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
if (error.code !== "EEXIST") {
|
|
182
|
+
throw error;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (await recoverFileRunStoreLock(lockPath)) {
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
if (Date.now() - startedAt >= FILE_RUN_LOCK_TIMEOUT_MS) {
|
|
189
|
+
throw new ConflictError("Timed out acquiring the file AgentRunStore revision lock.");
|
|
190
|
+
}
|
|
191
|
+
await waitForFileRunLock();
|
|
192
|
+
}
|
|
193
|
+
};
|
|
43
194
|
const normalizeLimit = (value, fallback = 50) => {
|
|
44
195
|
if (value === undefined)
|
|
45
196
|
return fallback;
|
|
@@ -149,6 +300,14 @@ const nextStoredState = (state, options) => {
|
|
|
149
300
|
? normalized
|
|
150
301
|
: { ...normalized, revision: options.expectedRevision + 1 };
|
|
151
302
|
};
|
|
303
|
+
const isConcurrentPostgresTableCreationConflict = (error) => {
|
|
304
|
+
if (!error || typeof error !== "object")
|
|
305
|
+
return false;
|
|
306
|
+
const record = error;
|
|
307
|
+
return record.code === "23505" &&
|
|
308
|
+
(record.constraint === "pg_type_typname_nsp_index" ||
|
|
309
|
+
record.constraint_name === "pg_type_typname_nsp_index");
|
|
310
|
+
};
|
|
152
311
|
const ensurePostgresTable = (() => {
|
|
153
312
|
const initializedTables = new WeakMap();
|
|
154
313
|
return async (client, tableName, createSql) => {
|
|
@@ -159,10 +318,31 @@ const ensurePostgresTable = (() => {
|
|
|
159
318
|
}
|
|
160
319
|
let initialization = tables.get(tableName);
|
|
161
320
|
if (!initialization) {
|
|
162
|
-
initialization =
|
|
321
|
+
initialization = (async () => {
|
|
322
|
+
for (let attempt = 0;; attempt += 1) {
|
|
323
|
+
try {
|
|
324
|
+
await client.query(createSql, []);
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
catch (error) {
|
|
328
|
+
if (!isConcurrentPostgresTableCreationConflict(error) || attempt >= 2) {
|
|
329
|
+
throw error;
|
|
330
|
+
}
|
|
331
|
+
await new Promise((resolve) => setTimeout(resolve, 10 * (attempt + 1)));
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
})();
|
|
163
335
|
tables.set(tableName, initialization);
|
|
164
336
|
}
|
|
165
|
-
|
|
337
|
+
try {
|
|
338
|
+
await initialization;
|
|
339
|
+
}
|
|
340
|
+
catch (error) {
|
|
341
|
+
if (tables.get(tableName) === initialization) {
|
|
342
|
+
tables.delete(tableName);
|
|
343
|
+
}
|
|
344
|
+
throw error;
|
|
345
|
+
}
|
|
166
346
|
};
|
|
167
347
|
})();
|
|
168
348
|
export const createInMemoryAgentRunStore = (options = {}) => {
|
|
@@ -348,6 +528,7 @@ export const createFileAgentRunStore = (options) => {
|
|
|
348
528
|
const idempotencyPath = (key, scope) => path.join(options.directory, fileNameForIdempotencyKey(scopedKey(effectiveScope(scope), key)));
|
|
349
529
|
const leasePath = (runId, scope) => path.join(options.directory, `.lease-${createHash("sha256").update(scopedKey(effectiveScope(scope), runId)).digest("hex")}.json`);
|
|
350
530
|
const toolPath = (runId, toolCallId, scope) => path.join(options.directory, `.tool-${createHash("sha256").update(`${scopedKey(effectiveScope(scope), runId)}:${toolCallId}`).digest("hex")}.json`);
|
|
531
|
+
const revisionLockPath = (runId, scope) => path.join(options.directory, `.run-lock-${createHash("sha256").update(scopedKey(effectiveScope(scope), runId)).digest("hex")}.lock`);
|
|
351
532
|
const load = async (runId, scope) => {
|
|
352
533
|
try {
|
|
353
534
|
const content = await fs.readFile(runPath(runId, scope), "utf8");
|
|
@@ -442,19 +623,25 @@ export const createFileAgentRunStore = (options) => {
|
|
|
442
623
|
async save(state, saveOptions) {
|
|
443
624
|
await ensurePrivateDirectory(options.directory);
|
|
444
625
|
const scope = effectiveScope(state.scope);
|
|
445
|
-
const
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
const
|
|
450
|
-
if (
|
|
451
|
-
|
|
626
|
+
const releaseLock = await acquireFileRunStoreLock(revisionLockPath(state.runId, scope));
|
|
627
|
+
try {
|
|
628
|
+
const current = await load(state.runId, scope);
|
|
629
|
+
assertExpectedRevision(current, saveOptions?.expectedRevision);
|
|
630
|
+
const normalized = nextStoredState(state, saveOptions);
|
|
631
|
+
if (normalized.idempotencyKey) {
|
|
632
|
+
const owner = await findByIdempotencyKey(normalized.idempotencyKey, scope);
|
|
633
|
+
if (owner && owner.runId !== normalized.runId) {
|
|
634
|
+
throw new ConflictError("AgentRunState idempotency key conflict.");
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
const stored = { ...normalized, ...(scope ? { scope } : {}) };
|
|
638
|
+
await writePrivateFile(runPath(normalized.runId, scope), JSON.stringify(stored, null, 2));
|
|
639
|
+
if (normalized.idempotencyKey) {
|
|
640
|
+
await writePrivateFile(idempotencyPath(normalized.idempotencyKey, scope), JSON.stringify(stored, null, 2));
|
|
452
641
|
}
|
|
453
642
|
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
if (normalized.idempotencyKey) {
|
|
457
|
-
await writePrivateFile(idempotencyPath(normalized.idempotencyKey, scope), JSON.stringify(stored, null, 2));
|
|
643
|
+
finally {
|
|
644
|
+
await releaseLock();
|
|
458
645
|
}
|
|
459
646
|
},
|
|
460
647
|
async delete(runId, scope) {
|
|
@@ -1118,7 +1305,7 @@ export const createPostgresAgentRunStore = (options) => {
|
|
|
1118
1305
|
const updatedAt = Date.now();
|
|
1119
1306
|
await options.client.query(`INSERT INTO ${tableName} (run_id, state_json, updated_at_ms)
|
|
1120
1307
|
VALUES ($1, $2::jsonb, $3)
|
|
1121
|
-
ON CONFLICT(run_id) DO NOTHING`, [dbKey(normalized.runId, scope),
|
|
1308
|
+
ON CONFLICT(run_id) DO NOTHING`, [dbKey(normalized.runId, scope), normalized, updatedAt]);
|
|
1122
1309
|
const claim = await options.client.query(`INSERT INTO ${idempotencyTableName} (idempotency_key, run_id, updated_at_ms)
|
|
1123
1310
|
VALUES ($1, $2, $3)
|
|
1124
1311
|
ON CONFLICT(idempotency_key) DO NOTHING
|
|
@@ -1167,7 +1354,7 @@ export const createPostgresAgentRunStore = (options) => {
|
|
|
1167
1354
|
VALUES ($1, $2::jsonb, $3)
|
|
1168
1355
|
ON CONFLICT(run_id) DO UPDATE SET
|
|
1169
1356
|
state_json = EXCLUDED.state_json,
|
|
1170
|
-
updated_at_ms = EXCLUDED.updated_at_ms`, [dbKey(normalized.runId, scope),
|
|
1357
|
+
updated_at_ms = EXCLUDED.updated_at_ms`, [dbKey(normalized.runId, scope), stored, updatedAt]);
|
|
1171
1358
|
}
|
|
1172
1359
|
else {
|
|
1173
1360
|
const saved = await options.client.query(`INSERT INTO ${tableName} (run_id, state_json, updated_at_ms)
|
|
@@ -1176,7 +1363,7 @@ export const createPostgresAgentRunStore = (options) => {
|
|
|
1176
1363
|
state_json = EXCLUDED.state_json,
|
|
1177
1364
|
updated_at_ms = EXCLUDED.updated_at_ms
|
|
1178
1365
|
WHERE COALESCE((${tableName}.state_json->>'revision')::bigint, 0) = $4
|
|
1179
|
-
RETURNING run_id`, [dbKey(normalized.runId, scope),
|
|
1366
|
+
RETURNING run_id`, [dbKey(normalized.runId, scope), stored, updatedAt, saveOptions.expectedRevision]);
|
|
1180
1367
|
if (getRecordField(saved.rows[0], ["run_id", "runId"]) !== dbKey(normalized.runId, scope)) {
|
|
1181
1368
|
throw new ConflictError("AgentRunState revision conflict.");
|
|
1182
1369
|
}
|
|
@@ -1288,13 +1475,13 @@ export const createPostgresAgentRunStore = (options) => {
|
|
|
1288
1475
|
entry_json = EXCLUDED.entry_json,
|
|
1289
1476
|
revision = EXCLUDED.revision,
|
|
1290
1477
|
updated_at_ms = EXCLUDED.updated_at_ms
|
|
1291
|
-
RETURNING revision`, [key, entry.toolCallId,
|
|
1478
|
+
RETURNING revision`, [key, entry.toolCallId, next, next.revision, next.updatedAt])
|
|
1292
1479
|
: await options.client.query(`UPDATE ${journalTableName}
|
|
1293
1480
|
SET entry_json = $3::jsonb,
|
|
1294
1481
|
revision = $4,
|
|
1295
1482
|
updated_at_ms = $5
|
|
1296
1483
|
WHERE run_key = $1 AND tool_call_id = $2 AND revision = $6
|
|
1297
|
-
RETURNING revision`, [key, entry.toolCallId,
|
|
1484
|
+
RETURNING revision`, [key, entry.toolCallId, next, next.revision, next.updatedAt, journalOptions.expectedRevision]);
|
|
1298
1485
|
if (getRecordField(result.rows[0], ["revision"]) === undefined) {
|
|
1299
1486
|
throw new ConflictError("Agent tool-call journal revision conflict.");
|
|
1300
1487
|
}
|
|
@@ -1307,7 +1494,7 @@ export const createPostgresAgentRunStore = (options) => {
|
|
|
1307
1494
|
SELECT $1, $2, $3::jsonb, 0, $4
|
|
1308
1495
|
WHERE EXISTS (SELECT 1 FROM ${tableName} WHERE run_id = $1)
|
|
1309
1496
|
ON CONFLICT(run_key, tool_call_id) DO NOTHING
|
|
1310
|
-
RETURNING entry_json`, [dbKey(entry.runId, entry.scope), entry.toolCallId,
|
|
1497
|
+
RETURNING entry_json`, [dbKey(entry.runId, entry.scope), entry.toolCallId, next, next.updatedAt]);
|
|
1311
1498
|
const claimed = getRecordField(result.rows[0], ["entry_json", "entryJson"]);
|
|
1312
1499
|
if (claimed && typeof claimed === "object")
|
|
1313
1500
|
return { claimed: true, entry: next };
|
|
@@ -1347,7 +1534,7 @@ export const createPostgresAgentMemoryStore = (options) => {
|
|
|
1347
1534
|
VALUES ($1, $2::jsonb, $3)
|
|
1348
1535
|
ON CONFLICT(memory_key) DO UPDATE SET
|
|
1349
1536
|
messages_json = EXCLUDED.messages_json,
|
|
1350
|
-
updated_at_ms = EXCLUDED.updated_at_ms`, [keyFor(context),
|
|
1537
|
+
updated_at_ms = EXCLUDED.updated_at_ms`, [keyFor(context), selectMessages(context.state), Date.now()]);
|
|
1351
1538
|
}
|
|
1352
1539
|
};
|
|
1353
1540
|
};
|