@intentface/latch-drizzle 0.13.3 → 0.14.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/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +4 -0
- package/dist/adapter.js.map +1 -1
- package/dist/adapter.pg.d.ts.map +1 -1
- package/dist/adapter.pg.js +5 -0
- package/dist/adapter.pg.js.map +1 -1
- package/dist/adapter.shared.d.ts +13 -0
- package/dist/adapter.shared.d.ts.map +1 -1
- package/dist/adapter.shared.js +101 -40
- package/dist/adapter.shared.js.map +1 -1
- package/package.json +9 -7
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC;;;;OAIG;IACH,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,EAAE,EAAE,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAClD,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC5B,cAAc,CAAC,CAAC,CAAC,CA4BnB"}
|
package/dist/adapter.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sql } from "drizzle-orm";
|
|
1
2
|
import * as schema from "./schema.js";
|
|
2
3
|
import { makeStorageAdapter } from "./adapter.shared.js";
|
|
3
4
|
export { isUniqueViolation } from "./adapter.shared.js";
|
|
@@ -9,6 +10,9 @@ export { isUniqueViolation } from "./adapter.shared.js";
|
|
|
9
10
|
export function createSqliteAdapter(db, opts) {
|
|
10
11
|
return makeStorageAdapter(db, schema, {
|
|
11
12
|
owner: opts.owner,
|
|
13
|
+
// Lease times from the database's clock. `julianday` rather than
|
|
14
|
+
// `unixepoch('subsec')` so older SQLite builds work too.
|
|
15
|
+
nowMs: sql `cast(round((julianday('now') - 2440587.5) * 86400000) as integer)`,
|
|
12
16
|
// No interactive transaction: this adapter also serves synchronous drivers
|
|
13
17
|
// (better-sqlite3), whose transaction API rejects an async callback — and
|
|
14
18
|
// libsql opens a transaction on a NEW connection, which for an in-memory
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAWxD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,EAAkD,EAClD,IAA6B;IAE7B,OAAO,kBAAkB,CAAI,EAAE,EAAE,MAAM,EAAE;QACvC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,iEAAiE;QACjE,yDAAyD;QACzD,KAAK,EAAE,GAAG,CAAA,mEAAmE;QAC7E,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,GAAG,CAAC,OAAQ,EAAqC,CAAC,KAAK,KAAK,UAAU;YACpE,CAAC,CAAC;gBACE,KAAK,EAAE,CAAC,KAAgB,EAAE,EAAE,CACzB,EAA6D,CAAC,KAAK,CAAC,KAAc,CAAC;aACvF;YACH,CAAC,CAAC;gBACE,kEAAkE;gBAClE,iEAAiE;gBACjE,8DAA8D;gBAC9D,MAAM,EAAE,CAAK,EAAsB,EAAE,EAAE,CACpC,EAA+D,CAAC,WAAW,CAAC,EAAE,CAAC;aACnF,CAAC;KACP,CAAC,CAAC;AACL,CAAC"}
|
package/dist/adapter.pg.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.pg.d.ts","sourceRoot":"","sources":["../src/adapter.pg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.pg.d.ts","sourceRoot":"","sources":["../src/adapter.pg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC7B,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC5B,cAAc,CAAC,CAAC,CAAC,CAanB"}
|
package/dist/adapter.pg.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sql } from "drizzle-orm";
|
|
1
2
|
import * as schema from "./schema.pg.js";
|
|
2
3
|
import { makeStorageAdapter } from "./adapter.shared.js";
|
|
3
4
|
/**
|
|
@@ -8,6 +9,10 @@ import { makeStorageAdapter } from "./adapter.shared.js";
|
|
|
8
9
|
export function createPostgresAdapter(db, opts) {
|
|
9
10
|
return makeStorageAdapter(db, schema, {
|
|
10
11
|
owner: opts.owner,
|
|
12
|
+
// Lease times from the database's clock: `clock_timestamp()`, not `now()`,
|
|
13
|
+
// which is frozen at transaction start.
|
|
14
|
+
nowMs: sql `(extract(epoch from clock_timestamp()) * 1000)::bigint`,
|
|
15
|
+
lockFencedRun: true,
|
|
11
16
|
// One transaction per message batch: the max(seq) reads and the inserts
|
|
12
17
|
// commit (or roll back) together, so a crash mid-batch can't leave a
|
|
13
18
|
// partial write and a concurrent appender can't interleave into the same
|
package/dist/adapter.pg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.pg.js","sourceRoot":"","sources":["../src/adapter.pg.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.pg.js","sourceRoot":"","sources":["../src/adapter.pg.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,EAA6B,EAC7B,IAA6B;IAE7B,OAAO,kBAAkB,CAAI,EAAE,EAAE,MAAM,EAAE;QACvC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,2EAA2E;QAC3E,wCAAwC;QACxC,KAAK,EAAE,GAAG,CAAA,wDAAwD;QAClE,aAAa,EAAE,IAAI;QACnB,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,aAAa;QACb,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;KACnC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/adapter.shared.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type SQL } from "drizzle-orm";
|
|
1
2
|
import { type StorageAdapter } from "@intentface/latch-core";
|
|
2
3
|
/**
|
|
3
4
|
* Dialect-shared `StorageAdapter` implementation. The SQLite and Postgres entry
|
|
@@ -37,6 +38,18 @@ export interface SharedAdapterOptions<P> {
|
|
|
37
38
|
batch?: (stmts: any[]) => Promise<any[]>;
|
|
38
39
|
/** A synchronous transaction (sync SQLite drivers): the builders' `.run()`/`.get()` inside it are atomic. */
|
|
39
40
|
syncTx?: <T>(fn: (tx: any) => T) => T;
|
|
41
|
+
/**
|
|
42
|
+
* The database's current time in epoch ms, as SQL. Every lease time — set,
|
|
43
|
+
* renewed, compared — comes from this one clock, so skew between app servers
|
|
44
|
+
* can't make one node reap a run another is still renewing.
|
|
45
|
+
*/
|
|
46
|
+
nowMs: SQL;
|
|
47
|
+
/**
|
|
48
|
+
* Postgres: lock the run row (`for share`) while a fenced write checks it, so
|
|
49
|
+
* a concurrent reclaim waits for the write to commit (and a write that waited
|
|
50
|
+
* on a reclaim re-reads the bumped token). SQLite serializes writers already.
|
|
51
|
+
*/
|
|
52
|
+
lockFencedRun?: boolean;
|
|
40
53
|
}
|
|
41
54
|
/**
|
|
42
55
|
* True if a driver error is a primary-key / unique-constraint violation. Walks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.shared.d.ts","sourceRoot":"","sources":["../src/adapter.shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.shared.d.ts","sourceRoot":"","sources":["../src/adapter.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,GAAG,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAUL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;GAQG;AAEH,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC;;;;OAIG;IACH,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;IAClC;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACvD;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,6GAA6G;IAC7G,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC;;;;OAIG;IACH,KAAK,EAAE,GAAG,CAAC;IACX;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD;AAmBD;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAAc,CAAC;AAOxC,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,EAAE,EAAE,GAAG,EACP,CAAC,EAAE,aAAa,EAChB,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC5B,cAAc,CAAC,CAAC,CAAC,CA8oBnB"}
|
package/dist/adapter.shared.js
CHANGED
|
@@ -10,13 +10,20 @@ function newId(prefix) {
|
|
|
10
10
|
* `23505`), two levels down for libsql.
|
|
11
11
|
*/
|
|
12
12
|
export function isUniqueViolation(error) {
|
|
13
|
+
return violates(error, /^SQLITE_CONSTRAINT/i, "23505", /unique constraint|primary key|duplicate key|sqlite_constraint/i);
|
|
14
|
+
}
|
|
15
|
+
/** True if a driver error is a NOT NULL violation (libsql `SQLITE_CONSTRAINT_NOTNULL`, pg `23502`). */
|
|
16
|
+
function isNotNullViolation(error) {
|
|
17
|
+
return violates(error, /^SQLITE_CONSTRAINT_NOTNULL/i, "23502", /not null constraint|null value in column/i);
|
|
18
|
+
}
|
|
19
|
+
function violates(error, sqliteCode, pgCode, text) {
|
|
13
20
|
let e = error;
|
|
14
21
|
for (let depth = 0; e && depth < 5; depth++) {
|
|
15
22
|
const code = e.code;
|
|
16
|
-
if (typeof code === "string" && (
|
|
23
|
+
if (typeof code === "string" && (sqliteCode.test(code) || code === pgCode))
|
|
17
24
|
return true;
|
|
18
25
|
const message = e instanceof Error ? e.message : typeof e === "string" ? e : "";
|
|
19
|
-
if (
|
|
26
|
+
if (text.test(message))
|
|
20
27
|
return true;
|
|
21
28
|
e = e.cause;
|
|
22
29
|
}
|
|
@@ -34,6 +41,7 @@ function ownerKeyOf(owner, principal) {
|
|
|
34
41
|
}
|
|
35
42
|
export function makeStorageAdapter(db, s, opts) {
|
|
36
43
|
const ownerKey = (p) => ownerKeyOf(opts.owner, p);
|
|
44
|
+
const nowMs = opts.nowMs;
|
|
37
45
|
const rowToChat = (r) => ({
|
|
38
46
|
id: r.id,
|
|
39
47
|
owner: r.owner,
|
|
@@ -111,30 +119,43 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
111
119
|
leaseOwner: null,
|
|
112
120
|
fencingToken: sql `coalesce(${s.runs.fencingToken}, 0) + 1`,
|
|
113
121
|
})
|
|
114
|
-
.where(and(eq(s.runs.chatId, chatId), eq(s.runs.status, "active"), lt(liveUntil,
|
|
122
|
+
.where(and(eq(s.runs.chatId, chatId), eq(s.runs.status, "active"), lt(liveUntil, nowMs)));
|
|
115
123
|
async function supersedeStale(exec, chatId, now) {
|
|
116
124
|
await supersedeStaleQuery(chatId, now, exec);
|
|
117
125
|
}
|
|
118
|
-
/**
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
126
|
+
/** Whether `fence`'s run still holds its lease — evaluated inside the write it guards. */
|
|
127
|
+
const fenceHolds = (fence) => sql `exists (select 1 from ${s.runs} where ${s.runs.id} = ${fence.runId} and ${s.runs.leaseOwner} = ${fence.owner} and ${s.runs.fencingToken} = ${fence.fencingToken}${opts.lockFencedRun ? sql ` for share` : sql ``})`;
|
|
128
|
+
/**
|
|
129
|
+
* One message upsert (seq computed in-statement) as a query, for batching.
|
|
130
|
+
*
|
|
131
|
+
* With `fence`, the lease check is part of the same statement, so nothing can
|
|
132
|
+
* slip between check and write: a refused insert computes a NULL seq and
|
|
133
|
+
* fails the NOT NULL constraint (rolling back its batch or transaction), and
|
|
134
|
+
* a refused update of an existing message matches no row.
|
|
135
|
+
*/
|
|
136
|
+
const messageInsert = (chatId, m, exec = db, fence) => {
|
|
137
|
+
const nextSeq = sql `(select coalesce(max(${s.messages.seq}), -1) + 1 from ${s.messages} where ${s.messages.chatId} = ${chatId})`;
|
|
138
|
+
return exec
|
|
139
|
+
.insert(s.messages)
|
|
140
|
+
.values({
|
|
141
|
+
id: m.id,
|
|
142
|
+
chatId,
|
|
143
|
+
runId: null,
|
|
144
|
+
seq: (fence ? sql `case when ${fenceHolds(fence)} then ${nextSeq} end` : nextSeq),
|
|
145
|
+
role: m.role,
|
|
146
|
+
parts: m.parts,
|
|
147
|
+
metadata: m.metadata ?? null,
|
|
148
|
+
createdAt: m.metadata?.createdAt ?? Date.now(),
|
|
149
|
+
})
|
|
150
|
+
// Existing message (same chat + id) → update content only; seq is
|
|
151
|
+
// preserved. Conflict target is the composite PK — a same-id row in
|
|
152
|
+
// ANOTHER chat is a different row, never overwritten from here.
|
|
153
|
+
.onConflictDoUpdate({
|
|
154
|
+
target: [s.messages.chatId, s.messages.id],
|
|
155
|
+
set: { parts: m.parts, metadata: m.metadata ?? null },
|
|
156
|
+
...(fence ? { setWhere: fenceHolds(fence) } : {}),
|
|
157
|
+
});
|
|
158
|
+
};
|
|
138
159
|
/**
|
|
139
160
|
* Insert a run row. A LIVE active run in the chat trips the partial unique
|
|
140
161
|
* index → a placeholder `ChatBusyError` (retryAfterMs 0). The caller fills
|
|
@@ -153,14 +174,13 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
153
174
|
}
|
|
154
175
|
}
|
|
155
176
|
/** The busy refusal with the live run's remaining time, computed on the main connection. */
|
|
156
|
-
async function busyError(chatId
|
|
177
|
+
async function busyError(chatId) {
|
|
157
178
|
const live = await db
|
|
158
|
-
.select({
|
|
179
|
+
.select({ left: sql `${liveUntil} - ${nowMs}` })
|
|
159
180
|
.from(s.runs)
|
|
160
181
|
.where(and(eq(s.runs.chatId, chatId), eq(s.runs.status, "active")))
|
|
161
182
|
.limit(1);
|
|
162
|
-
|
|
163
|
-
return new ChatBusyError(chatId, Math.max(1, until - now));
|
|
183
|
+
return new ChatBusyError(chatId, Math.max(1, live[0] ? Number(live[0].left) : 1));
|
|
164
184
|
}
|
|
165
185
|
/** `insertRun` for the non-transactional entry points: turn the placeholder into the real refusal. */
|
|
166
186
|
async function openRunRow(row, chatId, now) {
|
|
@@ -170,7 +190,7 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
170
190
|
}
|
|
171
191
|
catch (error) {
|
|
172
192
|
if (error instanceof ChatBusyError)
|
|
173
|
-
throw await busyError(chatId
|
|
193
|
+
throw await busyError(chatId);
|
|
174
194
|
throw error;
|
|
175
195
|
}
|
|
176
196
|
}
|
|
@@ -190,9 +210,9 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
190
210
|
...(input.lease
|
|
191
211
|
? {
|
|
192
212
|
leaseOwner: input.lease.owner,
|
|
193
|
-
leaseExpiresAt:
|
|
213
|
+
leaseExpiresAt: sql `${nowMs} + ${input.lease.ttlMs}`,
|
|
194
214
|
fencingToken: 1,
|
|
195
|
-
heartbeatAt:
|
|
215
|
+
heartbeatAt: nowMs,
|
|
196
216
|
attempt: 1,
|
|
197
217
|
}
|
|
198
218
|
: {}),
|
|
@@ -204,6 +224,45 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
204
224
|
// Chat activity: keep `updatedAt` fresh so `listChats` orders by it.
|
|
205
225
|
await exec.update(s.chats).set({ updatedAt: Date.now() }).where(eq(s.chats.id, chatId));
|
|
206
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* The fenced append, all-or-nothing in every driver: each statement checks
|
|
229
|
+
* the fence itself, and they run as one batch / transaction so a refusal
|
|
230
|
+
* part-way leaves nothing behind. Resolves whether every message landed.
|
|
231
|
+
*/
|
|
232
|
+
async function appendFenced(chatId, msgs, fence) {
|
|
233
|
+
const touch = (exec) => exec.update(s.chats).set({ updatedAt: Date.now() }).where(and(eq(s.chats.id, chatId), fenceHolds(fence)));
|
|
234
|
+
const upserts = (exec) => msgs.map((m) => messageInsert(chatId, m, exec, fence).returning({ id: s.messages.id }));
|
|
235
|
+
try {
|
|
236
|
+
let landed;
|
|
237
|
+
if (opts.batch) {
|
|
238
|
+
landed = (await opts.batch([...upserts(db), touch(db)])).slice(0, msgs.length);
|
|
239
|
+
}
|
|
240
|
+
else if (opts.syncTx) {
|
|
241
|
+
landed = opts.syncTx((tx) => {
|
|
242
|
+
const rows = upserts(tx).map((q) => q.all());
|
|
243
|
+
touch(tx).run();
|
|
244
|
+
return rows;
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
landed = await opts.withTx(async (tx) => {
|
|
249
|
+
const rows = [];
|
|
250
|
+
for (const q of upserts(tx))
|
|
251
|
+
rows.push(await q);
|
|
252
|
+
await touch(tx);
|
|
253
|
+
return rows;
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
// A refused update of an existing message matches no row instead of
|
|
257
|
+
// failing; the fence is read once per transaction, so it refuses all.
|
|
258
|
+
return landed.every((rows) => rows.length > 0);
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
if (isNotNullViolation(error))
|
|
262
|
+
return false;
|
|
263
|
+
throw error;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
207
266
|
return {
|
|
208
267
|
async createChat(principal, input) {
|
|
209
268
|
const now = Date.now();
|
|
@@ -275,7 +334,9 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
275
334
|
metadata: (r.metadata ?? undefined),
|
|
276
335
|
}));
|
|
277
336
|
},
|
|
278
|
-
async appendMessages(chatId, msgs) {
|
|
337
|
+
async appendMessages(chatId, msgs, fence) {
|
|
338
|
+
if (fence)
|
|
339
|
+
return msgs.length === 0 || appendFenced(chatId, msgs, fence);
|
|
279
340
|
if (msgs.length === 0)
|
|
280
341
|
return;
|
|
281
342
|
// The next seq is computed INSIDE each INSERT (a single statement), so
|
|
@@ -330,7 +391,7 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
330
391
|
}
|
|
331
392
|
catch (error) {
|
|
332
393
|
if (error instanceof ChatBusyError || isUniqueViolation(error)) {
|
|
333
|
-
throw await busyError(input.chatId
|
|
394
|
+
throw await busyError(input.chatId);
|
|
334
395
|
}
|
|
335
396
|
throw error;
|
|
336
397
|
}
|
|
@@ -351,10 +412,9 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
351
412
|
return rowToRun(await openRunRow(row, input.chatId, now));
|
|
352
413
|
},
|
|
353
414
|
async heartbeatRun(id, owner, ttlMs, fencingToken) {
|
|
354
|
-
const now = Date.now();
|
|
355
415
|
const updated = await db
|
|
356
416
|
.update(s.runs)
|
|
357
|
-
.set({ leaseExpiresAt:
|
|
417
|
+
.set({ leaseExpiresAt: sql `${nowMs} + ${ttlMs}`, heartbeatAt: nowMs })
|
|
358
418
|
.where(and(eq(s.runs.id, id), eq(s.runs.leaseOwner, owner),
|
|
359
419
|
// Fenced: a stale holder whose run was reaped + re-claimed (owner
|
|
360
420
|
// may match again, token was bumped) can't resurrect the lease.
|
|
@@ -363,7 +423,6 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
363
423
|
return updated.length > 0;
|
|
364
424
|
},
|
|
365
425
|
async reclaimRun(id, owner, ttlMs) {
|
|
366
|
-
const now = Date.now();
|
|
367
426
|
let updated;
|
|
368
427
|
try {
|
|
369
428
|
updated = await db
|
|
@@ -371,8 +430,8 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
371
430
|
.set({
|
|
372
431
|
status: "active",
|
|
373
432
|
leaseOwner: owner,
|
|
374
|
-
leaseExpiresAt:
|
|
375
|
-
heartbeatAt:
|
|
433
|
+
leaseExpiresAt: sql `${nowMs} + ${ttlMs}`,
|
|
434
|
+
heartbeatAt: nowMs,
|
|
376
435
|
error: null,
|
|
377
436
|
endedAt: null,
|
|
378
437
|
fencingToken: sql `coalesce(${s.runs.fencingToken}, 0) + 1`,
|
|
@@ -383,7 +442,7 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
383
442
|
// never-leased live (T1) run has leaseExpiresAt NULL and must not
|
|
384
443
|
// be seizable; a reaped run keeps its (expired) leaseExpiresAt
|
|
385
444
|
// even though the reaper cleared leaseOwner, so it still matches.
|
|
386
|
-
isNotNull(s.runs.leaseExpiresAt), lt(s.runs.leaseExpiresAt,
|
|
445
|
+
isNotNull(s.runs.leaseExpiresAt), lt(s.runs.leaseExpiresAt, nowMs)))
|
|
387
446
|
.returning();
|
|
388
447
|
}
|
|
389
448
|
catch (error) {
|
|
@@ -411,16 +470,18 @@ export function makeStorageAdapter(db, s, opts) {
|
|
|
411
470
|
return updated.length > 0;
|
|
412
471
|
},
|
|
413
472
|
async reapExpiredRuns(now, opts) {
|
|
473
|
+
// `now` only to simulate time (tests); otherwise the database's clock.
|
|
474
|
+
const at = now ?? nowMs;
|
|
414
475
|
const reaped = await db
|
|
415
476
|
.update(s.runs)
|
|
416
477
|
.set({
|
|
417
478
|
status: "errored",
|
|
418
479
|
error: opts?.error ?? "lease expired",
|
|
419
|
-
endedAt:
|
|
480
|
+
endedAt: at,
|
|
420
481
|
leaseOwner: null,
|
|
421
482
|
fencingToken: sql `${s.runs.fencingToken} + 1`,
|
|
422
483
|
})
|
|
423
|
-
.where(and(eq(s.runs.status, "active"), lt(s.runs.leaseExpiresAt,
|
|
484
|
+
.where(and(eq(s.runs.status, "active"), lt(s.runs.leaseExpiresAt, at)))
|
|
424
485
|
.returning();
|
|
425
486
|
return reaped.map(rowToRun);
|
|
426
487
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.shared.js","sourceRoot":"","sources":["../src/adapter.shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.shared.js","sourceRoot":"","sources":["../src/adapter.shared.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentface/latch-drizzle",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Latch StorageAdapter on Drizzle (SQLite/libsql first, Postgres next).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@libsql/client": "^0.15.0",
|
|
36
36
|
"drizzle-orm": "^0.45.0",
|
|
37
|
-
"@intentface/latch-agent-builder": "^0.
|
|
38
|
-
"@intentface/latch-core": "^0.
|
|
39
|
-
"@intentface/latch-memory": "^0.
|
|
37
|
+
"@intentface/latch-agent-builder": "^0.14.0",
|
|
38
|
+
"@intentface/latch-core": "^0.14.0",
|
|
39
|
+
"@intentface/latch-memory": "^0.14.0"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"ai": ">=7.0.0"
|
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
"@electric-sql/pglite": "^0.2.0",
|
|
46
46
|
"ai": "^7.0.106",
|
|
47
47
|
"tsx": "^4.19.0",
|
|
48
|
-
"typescript": "^5.7.0"
|
|
48
|
+
"typescript": "^5.7.0",
|
|
49
|
+
"vitest": "^4"
|
|
49
50
|
},
|
|
50
51
|
"repository": {
|
|
51
52
|
"type": "git",
|
|
@@ -54,11 +55,12 @@
|
|
|
54
55
|
},
|
|
55
56
|
"scripts": {
|
|
56
57
|
"build": "tsc -p tsconfig.json",
|
|
57
|
-
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
58
|
+
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json",
|
|
58
59
|
"smoke": "tsx src/smoke.ts",
|
|
59
60
|
"smoke:pg": "tsx src/smoke.pg.ts",
|
|
60
61
|
"smoke:agents": "tsx src/agent-store.smoke.ts",
|
|
61
62
|
"smoke:agent-versions": "tsx src/agent-versions.smoke.ts",
|
|
62
|
-
"smoke:agent-versions:pg": "tsx src/agent-versions.smoke.pg.ts"
|
|
63
|
+
"smoke:agent-versions:pg": "tsx src/agent-versions.smoke.pg.ts",
|
|
64
|
+
"test": "vitest run"
|
|
63
65
|
}
|
|
64
66
|
}
|