@wrenautomation/aerie 0.6.1 → 0.7.1

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.
@@ -9,6 +9,8 @@ import { sql } from "drizzle-orm";
9
9
  import { atomic } from "../db.js";
10
10
  import * as s from "../schema.js";
11
11
  import { aerieStore } from "../store.js";
12
+ /** NOTIFY channel of the coord tables; payload `<queue|lease>:<ns>` (migration 0010) */
13
+ export const COORD_CHANNEL = "aerie_coord";
12
14
  /** rows from any drizzle pg driver (postgres-js: array; PGlite, node-postgres: { rows }) */
13
15
  async function rows(q, query) {
14
16
  const r = (await q.execute(query));
@@ -42,16 +44,17 @@ export function pgCoord(o) {
42
44
  await aerieStore({ db: tx }).edit(id, { status: name }, by);
43
45
  };
44
46
  /** new lease, under the task lock */
45
- const lease = async (tx, id, holder, leaseMs, queued) => {
47
+ const lease = async (tx, id, holder, leaseMs, queued, key) => {
46
48
  const t = clock();
47
49
  const others = await rows(tx, sql `select holder from ${L} where ns = ${ns} and task_id = ${id} and holder <> ${holder}
48
50
  and expires >= ${t} order by gen`);
49
51
  const [g] = await rows(tx, sql `select nextval('aerie.coord_gen')::float8 as gen`);
50
52
  const gen = num(g?.gen);
51
53
  await tx.execute(sql `
52
- insert into ${L} (ns, task_id, holder, gen, expires, queued, lane, pin)
53
- values (${ns}, ${id}, ${holder}, ${gen}, ${plus(t, leaseMs)}, ${!!queued}, ${queued?.lane ?? null}, ${queued?.pin ?? null})
54
+ insert into ${L} (ns, task_id, holder, gen, expires, queued, lane, pin, take_key)
55
+ values (${ns}, ${id}, ${holder}, ${gen}, ${plus(t, leaseMs)}, ${!!queued}, ${queued?.lane ?? null}, ${queued?.pin ?? null}, ${key ?? null})
54
56
  on conflict (ns, task_id, holder) do update set gen = excluded.gen, expires = excluded.expires,
57
+ take_key = coalesce(excluded.take_key, ${L}.take_key),
55
58
  queued = excluded.queued or ${L}.queued,
56
59
  lane = case when excluded.queued then excluded.lane else ${L}.lane end,
57
60
  pin = case when excluded.queued then excluded.pin else ${L}.pin end`);
@@ -96,7 +99,9 @@ export function pgCoord(o) {
96
99
  return { last: true, closeNow: false, status: "ready" };
97
100
  };
98
101
  /** queue rows in order */
99
- const queueRows = (q) => rows(q, sql `select task_id as id, lane, pin, pos from ${Q} where ns = ${ns} order by pos, task_id`);
102
+ const queueRows = (q) => rows(q, sql `select q.task_id as id, q.lane, q.pin, q.pos, k.title from ${Q} q
103
+ left join ${s.task} k on k.id = upper(q.task_id)
104
+ where q.ns = ${ns} order by q.pos, q.task_id`);
100
105
  const store = {
101
106
  name: "aerie",
102
107
  ownsStatus: !!o.status,
@@ -221,9 +226,45 @@ export function pgCoord(o) {
221
226
  await lockQueue(tx);
222
227
  await tx.execute(sql `delete from ${Q} where ns = ${ns} and task_id = any(${textArr(ids)})`);
223
228
  }),
224
- queueList: async () => (await queueRows(db)).map((i, pos) => ({ id: i.id, lane: i.lane, pin: i.pin, pos })),
229
+ queueList: async () => (await queueRows(db)).map((i, pos) => ({
230
+ id: i.id,
231
+ lane: i.lane,
232
+ pin: i.pin,
233
+ pos,
234
+ ...(i.title ? { title: i.title } : {}),
235
+ })),
225
236
  queueTake: (x, holder, leaseMs) => atomic(db, async (tx) => {
226
237
  await lockQueue(tx);
238
+ if (x.key) {
239
+ // a replay: the lease this take made, if still live
240
+ const [had] = await rows(tx, sql `select task_id as id, gen::float8 as gen from ${L} where ns = ${ns} and holder = ${holder}
241
+ and take_key = ${x.key} and expires >= ${clock()}`);
242
+ if (had)
243
+ return { id: had.id, gen: num(had.gen) };
244
+ }
245
+ // run lanes (D21): only workers hold them, and a live one renews at lease/3
246
+ if (x.pin?.startsWith("run:")) {
247
+ const t = clock();
248
+ // a dead worker's lapsed lease: back to the queue head first
249
+ const lapsed = await rows(tx, sql `select task_id as id, holder, queued from ${L}
250
+ where ns = ${ns} and pin = ${x.pin} and expires < ${t} order by task_id`);
251
+ if (lapsed.length) {
252
+ await lockTasks(tx, lapsed.map((l) => l.id));
253
+ for (const l of lapsed) {
254
+ // re-read under the lock: a re-claim since the read keeps it
255
+ const still = await rows(tx, sql `select 1 from ${L} where ns = ${ns} and task_id = ${l.id} and holder = ${l.holder}
256
+ and expires < ${t}`);
257
+ if (still.length)
258
+ await drop(tx, l.id, [l.holder], { queue: l.queued, by: l.holder });
259
+ }
260
+ }
261
+ if (x.cap !== undefined) {
262
+ const [n] = await rows(tx, sql `select count(*)::int as n from ${L}
263
+ where ns = ${ns} and pin = ${x.pin} and expires >= ${t}`);
264
+ if (num(n?.n) >= x.cap)
265
+ return null;
266
+ }
267
+ }
227
268
  const all = x.lanes === "*";
228
269
  const lanes = Array.isArray(x.lanes) ? x.lanes : [];
229
270
  const [item] = await rows(tx, sql `select task_id as id, lane, pin from ${Q} where ns = ${ns}
@@ -234,7 +275,7 @@ export function pgCoord(o) {
234
275
  return null;
235
276
  await lockTasks(tx, [item.id]);
236
277
  await tx.execute(sql `delete from ${Q} where ns = ${ns} and task_id = ${item.id}`);
237
- const r = await lease(tx, item.id, holder, leaseMs, { lane: item.lane, pin: item.pin });
278
+ const r = await lease(tx, item.id, holder, leaseMs, { lane: item.lane, pin: item.pin }, x.key);
238
279
  return { id: item.id, gen: r.gen };
239
280
  }),
240
281
  fence: async (id, holder, gen) => (await rows(db, sql `select 1 from ${L} where ns = ${ns} and task_id = ${id} and holder = ${holder}
@@ -243,6 +284,16 @@ export function pgCoord(o) {
243
284
  await o.end?.();
244
285
  },
245
286
  };
287
+ const sub = o.subscribe;
288
+ if (sub)
289
+ store.listen = async (onChange) => {
290
+ const stop = await sub(COORD_CHANNEL, (payload) => {
291
+ const [what, ...rest] = payload.split(":");
292
+ if (rest.join(":") === ns && (what === "queue" || what === "lease"))
293
+ onChange(what);
294
+ });
295
+ return { end: stop };
296
+ };
246
297
  return store;
247
298
  }
248
299
  //# sourceMappingURL=postgres.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/coord/postgres.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAY,GAAG,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAoC,MAAM,UAAU,CAAC;AACpE,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiBzC,4FAA4F;AAC5F,KAAK,UAAU,IAAI,CAAU,CAAY,EAAE,KAAU;IACnD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAmC,CAAC;IACrE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,EAAE,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAA,uBAAuB,CAAC,mBAAmB,CAAC;AACtE,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAA,gBAAgB,CAAC,kBAAkB,CAAC;AACjE,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,MAAM,OAAO,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;AAElG,MAAM,UAAU,OAAO,CAAC,CAAiB;IACvC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAG,GAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,OAAO,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,EAAU,EAAE,EAAE,CAAC,GAAG,CAAA,IAAI,CAAC,MAAM,EAAE,sCAAsC,CAAC;IAC5F,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;IACzB,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;IACtB,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;IAEvB,MAAM,SAAS,GAAG,CAAC,EAAM,EAAE,EAAE,CAC3B,EAAE,CAAC,OAAO,CACR,GAAG,CAAA,iDAAiD,eAAe,EAAE,QAAQ,OAAO,CACrF,CAAC;IACJ,MAAM,SAAS,GAAG,KAAK,EAAE,EAAM,EAAE,GAAa,EAAE,EAAE;QAChD,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;YACvC,MAAM,EAAE,CAAC,OAAO,CACd,GAAG,CAAA,iDAAiD,eAAe,EAAE,SAAS,EAAE,EAAE,OAAO,CAC1F,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EAAE,EAAM,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE;QACrE,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO;QACtB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,EAAE,EACF,GAAG,CAAA,sBAAsB,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,WAAW,EAAE,EAAE,CACjE,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,CAAC,+CAA+C;QAC9F,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF,qCAAqC;IACrC,MAAM,KAAK,GAAG,KAAK,EACjB,EAAM,EACN,EAAU,EACV,MAAc,EACd,OAAe,EACf,MAAoD,EACpD,EAAE;QACF,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,EAAE,EACF,GAAG,CAAA,sBAAsB,CAAC,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,MAAM;2BAClE,CAAC,eAAe,CACtC,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CACpB,EAAE,EACF,GAAG,CAAA,kDAAkD,CACtD,CAAC;QACF,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxB,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;oBACJ,CAAC;gBACL,EAAE,KAAK,EAAE,KAAK,MAAM,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE,GAAG,IAAI,IAAI;;sCAEzF,CAAC;mEAC4B,CAAC;iEACH,CAAC,UAAU,CAAC,CAAC;QAC1E,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,EAAM,EAAE,EAAU,EAAE,CAAM,EAAE,EAAE,CAC3C,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,eAAe,CAAC,mCAAmC,EAAE,KAAK,EAAE,KAAK,CAAC;yEACX,CAAC,CAAC;IAEzE,2FAA2F;IAC3F,MAAM,IAAI,GAAG,KAAK,EAChB,EAAM,EACN,EAAU,EACV,OAAiB,EACjB,CAAqF,EACtB,EAAE;QACjE,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,GAAG,CAAA,iBAAiB,CAAC,eAAe,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,MAAM,IAAI,CAMrB,EAAE,EACF,GAAG,CAAA,eAAe,CAAC,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,OAAO,CAAC,OAAO,CAAC;8CACrD,CACzC,CAAC;QACF,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,eAAe,CAAC;kBACxB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CACrB,EAAE,EACF,GAAG,CAAA,iBAAiB,CAAC,eAAe,EAAE,kBAAkB,EAAE,UAAU,CACrE,CAAC;QACF,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,EAAE,EACF,GAAG,CAAA,eAAe,CAAC,eAAe,EAAE,kBAAkB,EAAE,cAAc,CACvE,CAAC;QACF,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,eAAe,CAAC,eAAe,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACxD,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,eAAe,CAAC,eAAe,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAC7E,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,eAAe,CAAC;kBACxB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG;2CACL,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YACrE,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC3D,CAAC;QACD,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC1D,CAAC,CAAC;IAEF,0BAA0B;IAC1B,MAAM,SAAS,GAAG,CAAC,CAAY,EAAE,EAAE,CACjC,IAAI,CACF,CAAC,EACD,GAAG,CAAA,6CAA6C,CAAC,eAAe,EAAE,wBAAwB,CAC3F,CAAC;IAEJ,MAAM,KAAK,GAAe;QACxB,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;QAEtB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAC7B,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtB,0EAA0E;YAC1E,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CACpB,EAAE,EACF,GAAG,CAAA,eAAe,CAAC,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,CAC/E,CAAC;YACF,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CACpB,EAAE,EACF,GAAG,CAAA,qBAAqB,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,WAAW,EAAE,EAAE,CAChE,CAAC;YACF,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;QACnE,CAAC,CAAC;QAEJ,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAC1B,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,EAAE,EACF,GAAG,CAAA,6CAA6C,CAAC;2BAChC,EAAE,qBAAqB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;oCAClD,CAC3B,CAAC;YACF,MAAM,IAAI,GAAqC,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;oBAAE,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;gBACtD,MAAM,SAAS,CACb,EAAE,EACF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxB,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,6DAA6D;oBAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CACtB,EAAE,EACF,GAAG,CAAA,iBAAiB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,MAAM;kCACjE,CAAC,EAAE,CACxB,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,MAAM;wBAAE,SAAS;oBAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1C,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,UAAU,CAAC,kBAAkB,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;uBAClD,EAAE,qBAAqB,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAC/E,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC,CAAC;QAEJ,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAC9B,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtB,IAAI,CAAC,CAAC,KAAK;gBAAE,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE;gBACjD,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,EAAE,EAAE,MAAM;aACX,CAAC,CAAC;QACL,CAAC,CAAC;QAEJ,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,CAAC,GAAG,MAAM,IAAI,CAOlB,EAAE,EACF,GAAG,CAAA,oCAAoC,EAAE,CAAC,GAAG,CAAA,WAAW,CAAC;;2BAEtC,EAAE,CAAC,GAAG,CAAA,WAAW,CAAC;mBAC1B,CAAC;;sBAEE,EAAE,CAAC,GAAG,CAAA,MAAM,CAAC;mBAChB,CAAC;eACL,CAAC,gBAAgB,CAAC,CAAC,IAAI;uBACf,EAAE,qBAAqB,CACvC,CAAC;YACF,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAU,CAAC;YACnF,OAAO,CAAC,CAAC,GAAG,CACV,CAAC,CAAC,EAAY,EAAE,CAAC,CAAC;gBAChB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBACtB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAC3B,CAAC,CAAC,EAAS,EAAE,CAAC,CAAC;oBACb,MAAM,EAAE,CAAC,CAAC,MAAgB;oBAC1B,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACf,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;oBACvB,GAAG,CAAC,CAAC,CAAC,MAAM;wBACV,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAG,CAAC,CAAC,IAAe,IAAI,IAAI,EAAE,GAAG,EAAG,CAAC,CAAC,GAAc,IAAI,IAAI,EAAE,EAAE;wBAClF,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CACH;gBACD,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClD,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpC,MAAM,EAAE,CAAC,CAAC,MAAgB;oBAC1B,MAAM,EAAE,CAAC,CAAC,MAAgB;oBAC1B,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;iBACd,CAAC,CAAC;aACJ,CAAC,CACH,CAAC;QACJ,CAAC;QAED,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CACxB,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO;YACxB,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,eAAe,CAAC,eAAe,EAAE,sBAAsB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5F,IAAI,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC;YAC5B,IAAI,EAAU,CAAC;YACf,IAAI,EAAU,CAAC;YACf,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBAC3B,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC3B,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,MAAM,GAAG,GAAG,GAAG,EAAE;oBACf,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;oBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrB,IAAI,CAAC,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gBAAgB,CAAC,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAU,CAAC;gBAC5E,CAAC,CAAC;gBACF,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;gBACjB,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtC,wCAAwC;oBACxC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,UAAU,CAAC;qBACtB,CAAC,eAAe,EAAE,oBAAoB,EAAE,4BAA4B,CAAC,CAAC;oBAC/E,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC3B,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,eAAe,CAAC;mBACzB,EAAE,SAAS,CAAC,CAAC,IAAI,IAAI,IAAI,WAAW,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,cAAc,IAAI;wBAC3E,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEJ,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CACnB,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO;YACxB,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,eAAe,CAAC,eAAe,EAAE,sBAAsB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9F,CAAC,CAAC;QAEJ,SAAS,EAAE,KAAK,IAAI,EAAE,CACpB,CAAC,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CACvB,CAAC,CAAC,EAAE,GAAG,EAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CACrE;QAEH,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAChC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtB,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CACvB,EAAE,EACF,GAAG,CAAA,wCAAwC,CAAC,eAAe,EAAE;yDACd,CAAC,CAAC,GAAG,IAAI,IAAI;8BACxC,GAAG,kBAAkB,OAAO,CAAC,KAAK,CAAC;4CACrB,CACnC,CAAC;YACF,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,MAAM,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/B,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,eAAe,CAAC,eAAe,EAAE,kBAAkB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClF,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACxF,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QACrC,CAAC,CAAC;QAEJ,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAC/B,CACE,MAAM,IAAI,CACR,EAAE,EACF,GAAG,CAAA,iBAAiB,CAAC,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,MAAM;0BACjE,GAAG,mBAAmB,KAAK,EAAE,EAAE,CAChD,CACF,CAAC,MAAM,GAAG,CAAC;QAEd,GAAG,EAAE,KAAK,IAAI,EAAE;YACd,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/coord/postgres.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { CoordStore } from "../coord/port.js";
3
3
  import type { TaskRecord } from "../core/index.js";
4
- import { type Picker } from "../run/route.js";
4
+ import { type Atomic, type Picker } from "../run/route.js";
5
5
  import type { AerieStore, Intake } from "../store.js";
6
6
  export declare const INBOX = "inbox";
7
7
  export declare const MAYBE_DUP = "maybe-dup";
@@ -120,6 +120,7 @@ export interface IntakeOptions {
120
120
  lane?: string | undefined;
121
121
  coord?: CoordStore | undefined;
122
122
  pick?: Picker | undefined;
123
+ atomic?: Atomic | undefined;
123
124
  timeoutMs?: number | undefined;
124
125
  hear?: typeof hear;
125
126
  }
@@ -299,7 +299,7 @@ export async function intake(a, input, by, o = {}) {
299
299
  });
300
300
  else
301
301
  try {
302
- const r = await route(a, o.coord, id, by, o.pick);
302
+ const r = await route(a, o.coord, id, by, o.pick, o.atomic);
303
303
  res.routed.push({ id, runner: r.runner, lane: r.lane });
304
304
  }
305
305
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intake/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intake/index.ts"],"names":[],"mappings":"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"}
@@ -8645,7 +8645,9 @@ var init_schema2 = __esm({
8645
8645
  /** taken from the queue: where release(queue) puts it back */
8646
8646
  queued: boolean().notNull().default(false),
8647
8647
  lane: text(),
8648
- pin: text()
8648
+ pin: text(),
8649
+ /** the take's own key: a replayed take with it gets this lease back, not the next row */
8650
+ takeKey: text("take_key")
8649
8651
  },
8650
8652
  (t) => [primaryKey({ columns: [t.ns, t.taskId, t.holder], name: "pk_coord_lease" })]
8651
8653
  );
@@ -9976,6 +9978,7 @@ var init_store = __esm({
9976
9978
  // src/coord/postgres.ts
9977
9979
  var postgres_exports = {};
9978
9980
  __export(postgres_exports, {
9981
+ COORD_CHANNEL: () => COORD_CHANNEL,
9979
9982
  pgCoord: () => pgCoord
9980
9983
  });
9981
9984
  async function rows(q, query) {
@@ -10010,7 +10013,7 @@ function pgCoord(o) {
10010
10013
  if (!hit[0] || hit[0].status === name) return;
10011
10014
  await aerieStore({ db: tx }).edit(id, { status: name }, by);
10012
10015
  };
10013
- const lease = async (tx, id, holder, leaseMs, queued) => {
10016
+ const lease = async (tx, id, holder, leaseMs, queued, key) => {
10014
10017
  const t = clock();
10015
10018
  const others = await rows(
10016
10019
  tx,
@@ -10023,9 +10026,10 @@ function pgCoord(o) {
10023
10026
  );
10024
10027
  const gen = num(g?.gen);
10025
10028
  await tx.execute(sql`
10026
- insert into ${L} (ns, task_id, holder, gen, expires, queued, lane, pin)
10027
- values (${ns}, ${id}, ${holder}, ${gen}, ${plus(t, leaseMs)}, ${!!queued}, ${queued?.lane ?? null}, ${queued?.pin ?? null})
10029
+ insert into ${L} (ns, task_id, holder, gen, expires, queued, lane, pin, take_key)
10030
+ values (${ns}, ${id}, ${holder}, ${gen}, ${plus(t, leaseMs)}, ${!!queued}, ${queued?.lane ?? null}, ${queued?.pin ?? null}, ${key ?? null})
10028
10031
  on conflict (ns, task_id, holder) do update set gen = excluded.gen, expires = excluded.expires,
10032
+ take_key = coalesce(excluded.take_key, ${L}.take_key),
10029
10033
  queued = excluded.queued or ${L}.queued,
10030
10034
  lane = case when excluded.queued then excluded.lane else ${L}.lane end,
10031
10035
  pin = case when excluded.queued then excluded.pin else ${L}.pin end`);
@@ -10077,7 +10081,9 @@ function pgCoord(o) {
10077
10081
  };
10078
10082
  const queueRows = (q) => rows(
10079
10083
  q,
10080
- sql`select task_id as id, lane, pin, pos from ${Q} where ns = ${ns} order by pos, task_id`
10084
+ sql`select q.task_id as id, q.lane, q.pin, q.pos, k.title from ${Q} q
10085
+ left join ${task} k on k.id = upper(q.task_id)
10086
+ where q.ns = ${ns} order by q.pos, q.task_id`
10081
10087
  );
10082
10088
  const store = {
10083
10089
  name: "aerie",
@@ -10212,10 +10218,54 @@ function pgCoord(o) {
10212
10218
  await tx.execute(sql`delete from ${Q} where ns = ${ns} and task_id = any(${textArr(ids)})`);
10213
10219
  }),
10214
10220
  queueList: async () => (await queueRows(db)).map(
10215
- (i, pos) => ({ id: i.id, lane: i.lane, pin: i.pin, pos })
10221
+ (i, pos) => ({
10222
+ id: i.id,
10223
+ lane: i.lane,
10224
+ pin: i.pin,
10225
+ pos,
10226
+ ...i.title ? { title: i.title } : {}
10227
+ })
10216
10228
  ),
10217
10229
  queueTake: (x, holder, leaseMs) => atomic(db, async (tx) => {
10218
10230
  await lockQueue(tx);
10231
+ if (x.key) {
10232
+ const [had] = await rows(
10233
+ tx,
10234
+ sql`select task_id as id, gen::float8 as gen from ${L} where ns = ${ns} and holder = ${holder}
10235
+ and take_key = ${x.key} and expires >= ${clock()}`
10236
+ );
10237
+ if (had) return { id: had.id, gen: num(had.gen) };
10238
+ }
10239
+ if (x.pin?.startsWith("run:")) {
10240
+ const t = clock();
10241
+ const lapsed = await rows(
10242
+ tx,
10243
+ sql`select task_id as id, holder, queued from ${L}
10244
+ where ns = ${ns} and pin = ${x.pin} and expires < ${t} order by task_id`
10245
+ );
10246
+ if (lapsed.length) {
10247
+ await lockTasks(
10248
+ tx,
10249
+ lapsed.map((l) => l.id)
10250
+ );
10251
+ for (const l of lapsed) {
10252
+ const still = await rows(
10253
+ tx,
10254
+ sql`select 1 from ${L} where ns = ${ns} and task_id = ${l.id} and holder = ${l.holder}
10255
+ and expires < ${t}`
10256
+ );
10257
+ if (still.length) await drop(tx, l.id, [l.holder], { queue: l.queued, by: l.holder });
10258
+ }
10259
+ }
10260
+ if (x.cap !== void 0) {
10261
+ const [n] = await rows(
10262
+ tx,
10263
+ sql`select count(*)::int as n from ${L}
10264
+ where ns = ${ns} and pin = ${x.pin} and expires >= ${t}`
10265
+ );
10266
+ if (num(n?.n) >= x.cap) return null;
10267
+ }
10268
+ }
10219
10269
  const all = x.lanes === "*";
10220
10270
  const lanes = Array.isArray(x.lanes) ? x.lanes : [];
10221
10271
  const [item] = await rows(
@@ -10228,7 +10278,14 @@ function pgCoord(o) {
10228
10278
  if (!item) return null;
10229
10279
  await lockTasks(tx, [item.id]);
10230
10280
  await tx.execute(sql`delete from ${Q} where ns = ${ns} and task_id = ${item.id}`);
10231
- const r = await lease(tx, item.id, holder, leaseMs, { lane: item.lane, pin: item.pin });
10281
+ const r = await lease(
10282
+ tx,
10283
+ item.id,
10284
+ holder,
10285
+ leaseMs,
10286
+ { lane: item.lane, pin: item.pin },
10287
+ x.key
10288
+ );
10232
10289
  return { id: item.id, gen: r.gen };
10233
10290
  }),
10234
10291
  fence: async (id, holder, gen) => (await rows(
@@ -10240,9 +10297,18 @@ function pgCoord(o) {
10240
10297
  await o.end?.();
10241
10298
  }
10242
10299
  };
10300
+ const sub = o.subscribe;
10301
+ if (sub)
10302
+ store.listen = async (onChange) => {
10303
+ const stop = await sub(COORD_CHANNEL, (payload) => {
10304
+ const [what, ...rest] = payload.split(":");
10305
+ if (rest.join(":") === ns && (what === "queue" || what === "lease")) onChange(what);
10306
+ });
10307
+ return { end: stop };
10308
+ };
10243
10309
  return store;
10244
10310
  }
10245
- var ms, at2, num, textArr;
10311
+ var COORD_CHANNEL, ms, at2, num, textArr;
10246
10312
  var init_postgres = __esm({
10247
10313
  "src/coord/postgres.ts"() {
10248
10314
  "use strict";
@@ -10250,6 +10316,7 @@ var init_postgres = __esm({
10250
10316
  init_db2();
10251
10317
  init_schema2();
10252
10318
  init_store();
10319
+ COORD_CHANNEL = "aerie_coord";
10253
10320
  ms = (v) => sql`(extract(epoch from ${v}) * 1000)::float8`;
10254
10321
  at2 = (v) => sql`to_timestamp(${v}::float8 / 1000)`;
10255
10322
  num = (v) => Math.round(Number(v));
@@ -10289,7 +10356,24 @@ function coordFromUrl(url, o = {}) {
10289
10356
  connect_timeout: 2,
10290
10357
  connection: { statement_timeout: 2e3 }
10291
10358
  });
10292
- return { store: pgCoord2({ ...o, db: drizzle2(sql2) }), close: () => sql2.end({ timeout: 1 }) };
10359
+ let quiet;
10360
+ const subscribe = async (channel, fn) => {
10361
+ quiet ??= postgres(url, {
10362
+ max: 1,
10363
+ fetch_types: false,
10364
+ onnotice: () => {
10365
+ },
10366
+ connect_timeout: 2
10367
+ });
10368
+ const l = await quiet.listen(channel, fn);
10369
+ return () => l.unlisten();
10370
+ };
10371
+ return {
10372
+ store: pgCoord2({ ...o, db: drizzle2(sql2), subscribe }),
10373
+ close: async () => {
10374
+ await Promise.all([sql2.end({ timeout: 1 }), quiet?.end({ timeout: 1 })]);
10375
+ }
10376
+ };
10293
10377
  })();
10294
10378
  const call = (k) => (
10295
10379
  // biome-ignore lint/suspicious/noExplicitAny: forwards each port call as is
@@ -10310,6 +10394,11 @@ function coordFromUrl(url, o = {}) {
10310
10394
  queueList: call("queueList"),
10311
10395
  queueTake: call("queueTake"),
10312
10396
  fence: call("fence"),
10397
+ listen: async (onChange) => {
10398
+ const store = (await open()).store;
10399
+ if (!store.listen) throw new Error("aerie coord: listen needs a subscribe");
10400
+ return store.listen(onChange);
10401
+ },
10313
10402
  end: async () => {
10314
10403
  if (ready) await (await ready).close();
10315
10404
  ready = void 0;