@evelinka-ai/core 0.3.1 → 0.4.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.
Files changed (200) hide show
  1. package/README.md +14 -0
  2. package/dist/agent-lib/llm-semaphore.js +1 -1
  3. package/dist/agent-lib/llm-semaphore.js.map +1 -1
  4. package/dist/channels/capabilities.d.ts +14 -0
  5. package/dist/channels/capabilities.d.ts.map +1 -0
  6. package/dist/channels/capabilities.js +16 -0
  7. package/dist/channels/capabilities.js.map +1 -0
  8. package/dist/channels/catalog.js +1 -1
  9. package/dist/channels/catalog.js.map +1 -1
  10. package/dist/channels/model-provider-ids.d.ts +3 -0
  11. package/dist/channels/model-provider-ids.d.ts.map +1 -0
  12. package/dist/channels/model-provider-ids.js +2 -0
  13. package/dist/channels/model-provider-ids.js.map +1 -0
  14. package/dist/channels/model-providers.d.ts +10 -0
  15. package/dist/channels/model-providers.d.ts.map +1 -1
  16. package/dist/channels/model-providers.js +34 -0
  17. package/dist/channels/model-providers.js.map +1 -1
  18. package/dist/channels/providers.d.ts +4 -0
  19. package/dist/channels/providers.d.ts.map +1 -1
  20. package/dist/channels/providers.js +29 -38
  21. package/dist/channels/providers.js.map +1 -1
  22. package/dist/channels/token-budgets.d.ts +3 -0
  23. package/dist/channels/token-budgets.d.ts.map +1 -0
  24. package/dist/channels/token-budgets.js +33 -0
  25. package/dist/channels/token-budgets.js.map +1 -0
  26. package/dist/channels/usage.d.ts.map +1 -1
  27. package/dist/channels/usage.js +5 -2
  28. package/dist/channels/usage.js.map +1 -1
  29. package/dist/db/connection-pool.d.ts +18 -0
  30. package/dist/db/connection-pool.d.ts.map +1 -0
  31. package/dist/db/connection-pool.js +125 -0
  32. package/dist/db/connection-pool.js.map +1 -0
  33. package/dist/db/migrate.d.ts +33 -0
  34. package/dist/db/migrate.d.ts.map +1 -0
  35. package/dist/db/migrate.js +183 -0
  36. package/dist/db/migrate.js.map +1 -0
  37. package/dist/db/migrations/0000_core_ledgers.sql +118 -0
  38. package/dist/db/migrations/0001_memory.sql +47 -0
  39. package/dist/db/migrations/0002_memory_search.sql +21 -0
  40. package/dist/db/migrations/0003_token_usage_account.sql +1 -0
  41. package/dist/db/migrations/meta/0000_snapshot.json +729 -0
  42. package/dist/db/migrations/meta/0001_snapshot.json +1069 -0
  43. package/dist/db/migrations/meta/0002_snapshot.json +1100 -0
  44. package/dist/db/migrations/meta/0003_snapshot.json +1106 -0
  45. package/dist/db/migrations/meta/_journal.json +34 -0
  46. package/dist/db/pool.d.ts +9 -0
  47. package/dist/db/pool.d.ts.map +1 -0
  48. package/dist/db/pool.js +44 -0
  49. package/dist/db/pool.js.map +1 -0
  50. package/dist/db/schema/auth.d.ts +195 -0
  51. package/dist/db/schema/auth.d.ts.map +1 -0
  52. package/dist/db/schema/auth.js +15 -0
  53. package/dist/db/schema/auth.js.map +1 -0
  54. package/dist/db/schema/budgets.d.ts +372 -0
  55. package/dist/db/schema/budgets.d.ts.map +1 -0
  56. package/dist/db/schema/budgets.js +32 -0
  57. package/dist/db/schema/budgets.js.map +1 -0
  58. package/dist/db/schema/bugs.d.ts +314 -0
  59. package/dist/db/schema/bugs.d.ts.map +1 -0
  60. package/dist/db/schema/bugs.js +26 -0
  61. package/dist/db/schema/bugs.js.map +1 -0
  62. package/dist/db/schema/control-plane.d.ts +110 -0
  63. package/dist/db/schema/control-plane.d.ts.map +1 -0
  64. package/dist/db/schema/control-plane.js +10 -0
  65. package/dist/db/schema/control-plane.js.map +1 -0
  66. package/dist/db/schema/coordination.d.ts +231 -0
  67. package/dist/db/schema/coordination.d.ts.map +1 -0
  68. package/dist/db/schema/coordination.js +81 -0
  69. package/dist/db/schema/coordination.js.map +1 -0
  70. package/dist/db/schema/delivery.d.ts +192 -0
  71. package/dist/db/schema/delivery.d.ts.map +1 -0
  72. package/dist/db/schema/delivery.js +18 -0
  73. package/dist/db/schema/delivery.js.map +1 -0
  74. package/dist/db/schema/index.d.ts +8 -0
  75. package/dist/db/schema/index.d.ts.map +1 -0
  76. package/dist/db/schema/index.js +8 -0
  77. package/dist/db/schema/index.js.map +1 -0
  78. package/dist/db/schema/memory.d.ts +581 -0
  79. package/dist/db/schema/memory.d.ts.map +1 -0
  80. package/dist/db/schema/memory.js +54 -0
  81. package/dist/db/schema/memory.js.map +1 -0
  82. package/dist/db/schema/observability.d.ts +212 -0
  83. package/dist/db/schema/observability.d.ts.map +1 -0
  84. package/dist/db/schema/observability.js +16 -0
  85. package/dist/db/schema/observability.js.map +1 -0
  86. package/dist/db/schema/workflow-read.d.ts +116 -0
  87. package/dist/db/schema/workflow-read.d.ts.map +1 -0
  88. package/dist/db/schema/workflow-read.js +13 -0
  89. package/dist/db/schema/workflow-read.js.map +1 -0
  90. package/dist/lib/budgets/account.d.ts +12 -0
  91. package/dist/lib/budgets/account.d.ts.map +1 -0
  92. package/dist/lib/budgets/account.js +84 -0
  93. package/dist/lib/budgets/account.js.map +1 -0
  94. package/dist/lib/budgets/prepaid-response-store.js +1 -1
  95. package/dist/lib/budgets/token-budget.d.ts +15 -0
  96. package/dist/lib/budgets/token-budget.d.ts.map +1 -1
  97. package/dist/lib/budgets/token-budget.js +145 -14
  98. package/dist/lib/budgets/token-budget.js.map +1 -1
  99. package/dist/lib/budgets/token-usage-pg.d.ts +15 -4
  100. package/dist/lib/budgets/token-usage-pg.d.ts.map +1 -1
  101. package/dist/lib/budgets/token-usage-pg.js +217 -238
  102. package/dist/lib/budgets/token-usage-pg.js.map +1 -1
  103. package/dist/lib/budgets/usage.d.ts +24 -3
  104. package/dist/lib/budgets/usage.d.ts.map +1 -1
  105. package/dist/lib/budgets/usage.js +54 -4
  106. package/dist/lib/budgets/usage.js.map +1 -1
  107. package/dist/lib/control-plane/catalog.d.ts +2 -0
  108. package/dist/lib/control-plane/catalog.d.ts.map +1 -1
  109. package/dist/lib/control-plane/catalog.js +15 -12
  110. package/dist/lib/control-plane/catalog.js.map +1 -1
  111. package/dist/lib/control-plane/console-caps.d.ts +8 -0
  112. package/dist/lib/control-plane/console-caps.d.ts.map +1 -0
  113. package/dist/lib/control-plane/console-caps.js +45 -0
  114. package/dist/lib/control-plane/console-caps.js.map +1 -0
  115. package/dist/lib/control-plane/flow-settings.d.ts +81 -1
  116. package/dist/lib/control-plane/flow-settings.d.ts.map +1 -1
  117. package/dist/lib/control-plane/flow-settings.js +181 -24
  118. package/dist/lib/control-plane/flow-settings.js.map +1 -1
  119. package/dist/lib/control-plane/tools-config.d.ts.map +1 -1
  120. package/dist/lib/control-plane/tools-config.js.map +1 -1
  121. package/dist/lib/coordination/checkpoints.d.ts +0 -1
  122. package/dist/lib/coordination/checkpoints.d.ts.map +1 -1
  123. package/dist/lib/coordination/checkpoints.js +54 -39
  124. package/dist/lib/coordination/checkpoints.js.map +1 -1
  125. package/dist/lib/coordination/head-lease.d.ts +6 -6
  126. package/dist/lib/coordination/head-lease.d.ts.map +1 -1
  127. package/dist/lib/coordination/head-lease.js +149 -85
  128. package/dist/lib/coordination/head-lease.js.map +1 -1
  129. package/dist/lib/coordination/pg.d.ts +1 -2
  130. package/dist/lib/coordination/pg.d.ts.map +1 -1
  131. package/dist/lib/coordination/pg.js +3 -22
  132. package/dist/lib/coordination/pg.js.map +1 -1
  133. package/dist/lib/coordination/work-queue.d.ts +0 -1
  134. package/dist/lib/coordination/work-queue.d.ts.map +1 -1
  135. package/dist/lib/coordination/work-queue.js +159 -142
  136. package/dist/lib/coordination/work-queue.js.map +1 -1
  137. package/dist/lib/delivery/host-operation-store.d.ts +10 -0
  138. package/dist/lib/delivery/host-operation-store.d.ts.map +1 -0
  139. package/dist/lib/delivery/host-operation-store.js +68 -0
  140. package/dist/lib/delivery/host-operation-store.js.map +1 -0
  141. package/dist/lib/delivery/push.js +1 -1
  142. package/dist/lib/delivery/push.js.map +1 -1
  143. package/dist/lib/delivery/schedule-lock.d.ts.map +1 -1
  144. package/dist/lib/delivery/schedule-lock.js +2 -5
  145. package/dist/lib/delivery/schedule-lock.js.map +1 -1
  146. package/dist/lib/media/webp.d.ts +4 -0
  147. package/dist/lib/media/webp.d.ts.map +1 -1
  148. package/dist/lib/media/webp.js +7 -0
  149. package/dist/lib/media/webp.js.map +1 -1
  150. package/dist/lib/memory/memory-events.d.ts +25 -0
  151. package/dist/lib/memory/memory-events.d.ts.map +1 -0
  152. package/dist/lib/memory/memory-events.js +135 -0
  153. package/dist/lib/memory/memory-events.js.map +1 -0
  154. package/dist/lib/memory/memory-vault-git.js.map +1 -1
  155. package/dist/lib/memory/vault-explorer.d.ts.map +1 -1
  156. package/dist/lib/memory/vault-explorer.js +3 -2
  157. package/dist/lib/memory/vault-explorer.js.map +1 -1
  158. package/dist/lib/models/ai-settings.d.ts +38 -0
  159. package/dist/lib/models/ai-settings.d.ts.map +1 -0
  160. package/dist/lib/models/ai-settings.js +204 -0
  161. package/dist/lib/models/ai-settings.js.map +1 -0
  162. package/dist/lib/models/custom-providers.d.ts.map +1 -1
  163. package/dist/lib/models/custom-providers.js +1 -1
  164. package/dist/lib/models/custom-providers.js.map +1 -1
  165. package/dist/lib/models/lane-uses.d.ts +10 -0
  166. package/dist/lib/models/lane-uses.d.ts.map +1 -0
  167. package/dist/lib/models/lane-uses.js +64 -0
  168. package/dist/lib/models/lane-uses.js.map +1 -0
  169. package/dist/lib/models/model-catalog.d.ts.map +1 -1
  170. package/dist/lib/models/model-catalog.js.map +1 -1
  171. package/dist/lib/models/model-config.d.ts.map +1 -1
  172. package/dist/lib/models/model-config.js +15 -2
  173. package/dist/lib/models/model-config.js.map +1 -1
  174. package/dist/lib/models/slots.d.ts +19 -0
  175. package/dist/lib/models/slots.d.ts.map +1 -0
  176. package/dist/lib/models/slots.js +77 -0
  177. package/dist/lib/models/slots.js.map +1 -0
  178. package/dist/lib/observability/console-read.d.ts +32 -0
  179. package/dist/lib/observability/console-read.d.ts.map +1 -0
  180. package/dist/lib/observability/console-read.js +84 -0
  181. package/dist/lib/observability/console-read.js.map +1 -0
  182. package/dist/lib/observability/logger.d.ts +4 -1
  183. package/dist/lib/observability/logger.d.ts.map +1 -1
  184. package/dist/lib/observability/logger.js +98 -7
  185. package/dist/lib/observability/logger.js.map +1 -1
  186. package/dist/lib/observability/model-events.d.ts.map +1 -1
  187. package/dist/lib/observability/model-events.js +37 -79
  188. package/dist/lib/observability/model-events.js.map +1 -1
  189. package/dist/lib/observability/recorder-hook.d.ts +1 -1
  190. package/dist/lib/observability/recorder-hook.d.ts.map +1 -1
  191. package/dist/lib/observability/recorder-hook.js +16 -3
  192. package/dist/lib/observability/recorder-hook.js.map +1 -1
  193. package/dist/lib/observability/recorder.d.ts +6 -0
  194. package/dist/lib/observability/recorder.d.ts.map +1 -1
  195. package/dist/lib/observability/recorder.js +10 -1
  196. package/dist/lib/observability/recorder.js.map +1 -1
  197. package/dist/tenant.d.ts +16 -7
  198. package/dist/tenant.d.ts.map +1 -1
  199. package/dist/tenant.js.map +1 -1
  200. package/package.json +43 -3
@@ -1,7 +1,16 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import { and, desc, eq, gt, like, lt, or, sql } from "drizzle-orm";
3
+ import { drizzle } from "drizzle-orm/node-postgres";
4
+ import { defineHeadLeaseTable } from "../../db/schema/coordination.js";
5
+ import { workflowRunsReadTable } from "../../db/schema/workflow-read.js";
2
6
  import { logger } from "../observability/logger.js";
3
7
  import { intervalMs, pgBrick } from "./pg.js";
4
8
  const log = logger.child({ module: "head-lease" });
9
+ const db = drizzle.mock();
10
+ const execute = (pool, statement) => {
11
+ const query = statement.toSQL();
12
+ return pool.query(query.sql, query.params);
13
+ };
5
14
  export const LEASE_HEARTBEAT_MS = 20_000;
6
15
  export const LEASE_TTL_MS = 75_000;
7
16
  export const LEASE_PROGRESS_STALL_MS = 15 * 60_000;
@@ -28,14 +37,19 @@ export async function workflowRunStates(p, runIds, runsTable = DEFAULT_RUNS_TABL
28
37
  if (!ids.length)
29
38
  return out;
30
39
  try {
31
- const r = await p.query(`SELECT id, status::text AS status,
32
- attributes->>'$eve.type' AS type,
33
- attributes->>'$eve.parent' AS parent,
34
- attributes->>'$eve.root' AS root
35
- FROM ${runsTable}
36
- WHERE id = ANY($1)
37
- OR attributes->>'$eve.parent' = ANY($1)
38
- OR attributes->>'$eve.root' = ANY($1)`, [ids]);
40
+ const runs = workflowRunsReadTable(runsTable);
41
+ const parent = sql `${runs.attributes}->>'$eve.parent'`;
42
+ const root = sql `${runs.attributes}->>'$eve.root'`;
43
+ const r = await execute(p, db
44
+ .select({
45
+ id: runs.id,
46
+ status: sql `${runs.status}::text`.as("status"),
47
+ type: sql `${runs.attributes}->>'$eve.type'`.as("type"),
48
+ parent: parent.as("parent"),
49
+ root: root.as("root"),
50
+ })
51
+ .from(runs)
52
+ .where(or(sql `${runs.id} = ANY(${sql.param(ids)})`, sql `${parent} = ANY(${sql.param(ids)})`, sql `${root} = ANY(${sql.param(ids)})`)));
39
53
  const sessions = new Set(r.rows.filter((row) => ids.includes(row.id)).map((row) => row.id));
40
54
  const turns = new Map();
41
55
  for (const row of r.rows) {
@@ -104,32 +118,32 @@ const trueOwner = () => true;
104
118
  const trueProgress = async () => true;
105
119
  export function defineHeadLease(config) {
106
120
  const { table } = config;
107
- const pg = pgBrick([
108
- `CREATE TABLE IF NOT EXISTS ${table} (
109
- key text PRIMARY KEY,
110
- owner text NOT NULL DEFAULT '',
111
- claimed_at timestamptz NOT NULL DEFAULT now(),
112
- heartbeat_at timestamptz NOT NULL DEFAULT now(),
113
- progress_at timestamptz NOT NULL DEFAULT now(),
114
- run_id text NOT NULL DEFAULT '',
115
- session_id text,
116
- boot_id text NOT NULL DEFAULT '',
117
- phase text NOT NULL DEFAULT 'claimed'
118
- )`,
119
- `ALTER TABLE ${table} ADD COLUMN IF NOT EXISTS owner text NOT NULL DEFAULT ''`,
120
- `ALTER TABLE ${table} ADD COLUMN IF NOT EXISTS heartbeat_at timestamptz NOT NULL DEFAULT now()`,
121
- `ALTER TABLE ${table} ADD COLUMN IF NOT EXISTS progress_at timestamptz NOT NULL DEFAULT now()`,
122
- `ALTER TABLE ${table} ADD COLUMN IF NOT EXISTS run_id text NOT NULL DEFAULT ''`,
123
- `ALTER TABLE ${table} ADD COLUMN IF NOT EXISTS session_id text`,
124
- `ALTER TABLE ${table} ADD COLUMN IF NOT EXISTS boot_id text NOT NULL DEFAULT ''`,
125
- `ALTER TABLE ${table} ADD COLUMN IF NOT EXISTS phase text NOT NULL DEFAULT 'claimed'`,
126
- ]);
121
+ const rows = defineHeadLeaseTable(config);
122
+ const holderColumns = {
123
+ owner: rows.owner,
124
+ runId: rows.runId,
125
+ sessionId: rows.sessionId,
126
+ bootId: rows.bootId,
127
+ phase: rows.phase,
128
+ heartbeatAt: rows.heartbeatAt,
129
+ progressAt: rows.progressAt,
130
+ };
131
+ const staleBefore = () => sql `now() - (${intervalMs(LEASE_TTL_MS)} || ' milliseconds')::interval`;
132
+ const owned = (key, owner) => and(eq(rows.key, key), eq(rows.owner, owner));
133
+ const pg = pgBrick();
127
134
  const bootIdOf = (deps) => deps.bootId ?? config.bootId ?? PROCESS_BOOT_ID;
128
135
  async function readHolder(p, key) {
129
- const r = await p.query(`SELECT owner, run_id, session_id, boot_id, phase, heartbeat_at, progress_at,
130
- heartbeat_at < now() - ($2 || ' milliseconds')::interval AS stale
131
- FROM ${table} WHERE key = $1`, [key, intervalMs(LEASE_TTL_MS)]);
132
- return r.rows[0] ? { ...toHolder(r.rows[0]), stale: r.rows[0].stale === true } : undefined;
136
+ const r = await execute(p, db
137
+ .select({
138
+ ...holderColumns,
139
+ scope: rows.scope,
140
+ stale: sql `${rows.heartbeatAt} < ${staleBefore()}`.as("stale"),
141
+ })
142
+ .from(rows)
143
+ .where(eq(rows.key, key)));
144
+ return r.rows[0]
145
+ ? { ...toHolder(r.rows[0]), stale: r.rows[0].stale === true, scope: r.rows[0].scope ?? null }
146
+ : undefined;
133
147
  }
134
148
  async function takeOver(p, key, holder, next, deps) {
135
149
  if (!holder.stale)
@@ -139,39 +153,51 @@ export function defineHeadLease(config) {
139
153
  log.info({ key, holderRun: holder.runId, holderBoot: holder.bootId, state }, "stale lease NOT taken over — the engine still runs it (or could not be asked)");
140
154
  return false;
141
155
  }
142
- const r = await p.query(`UPDATE ${table}
143
- SET owner = $2, claimed_at = now(), heartbeat_at = now(), progress_at = now(),
144
- run_id = $3, session_id = $4, boot_id = $5, phase = $6
145
- WHERE key = $1 AND owner = $7
146
- AND heartbeat_at < now() - ($8 || ' milliseconds')::interval
147
- RETURNING key`, [
148
- key,
149
- next.owner,
150
- next.runId,
151
- next.sessionId,
152
- next.bootId,
153
- next.phase,
154
- holder.owner,
155
- intervalMs(LEASE_TTL_MS),
156
- ]);
156
+ const r = await execute(p, db
157
+ .update(rows)
158
+ .set({
159
+ owner: next.owner,
160
+ claimedAt: sql `now()`,
161
+ heartbeatAt: sql `now()`,
162
+ progressAt: sql `now()`,
163
+ runId: next.runId,
164
+ sessionId: next.sessionId,
165
+ bootId: next.bootId,
166
+ phase: next.phase,
167
+ ...(next.scope === undefined ? {} : { scope: sql `${next.scope}::jsonb` }),
168
+ })
169
+ .where(and(owned(key, holder.owner), lt(rows.heartbeatAt, staleBefore())))
170
+ .returning({ key: rows.key }));
157
171
  return (r.rowCount ?? 0) > 0;
158
172
  }
159
- const reserve = async (key, deps = {}) => {
173
+ const reserve = async (key, deps = {}, scope) => {
160
174
  try {
161
175
  const p = await pg.poolFor(deps);
162
176
  if (!p)
163
177
  return { held: true, release: noRelease };
164
178
  const owner = randomUUID();
165
179
  const bootId = bootIdOf(deps);
166
- const r = await p.query(`INSERT INTO ${table}
167
- (key, owner, claimed_at, heartbeat_at, progress_at, run_id, session_id, boot_id, phase)
168
- VALUES ($1, $2, now(), now(), now(), '', NULL, $3, 'reserved')
169
- ON CONFLICT (key) DO NOTHING
170
- RETURNING key`, [key, owner, bootId]);
180
+ const record = scope === undefined ? null : JSON.stringify(scope);
181
+ const r = await execute(p, db
182
+ .insert(rows)
183
+ .values({
184
+ key,
185
+ owner,
186
+ claimedAt: sql `now()`,
187
+ heartbeatAt: sql `now()`,
188
+ progressAt: sql `now()`,
189
+ runId: sql `''`,
190
+ sessionId: sql `NULL`,
191
+ bootId,
192
+ phase: sql `'reserved'`,
193
+ scope: sql `${record}::jsonb`,
194
+ })
195
+ .onConflictDoNothing({ target: rows.key })
196
+ .returning({ key: rows.key }));
171
197
  if ((r.rowCount ?? 0) === 0) {
172
198
  const holder = await readHolder(p, key);
173
199
  const taken = holder !== undefined &&
174
- (await takeOver(p, key, holder, { owner, runId: "", sessionId: null, bootId, phase: "reserved" }, deps));
200
+ (await takeOver(p, key, holder, { owner, runId: "", sessionId: null, bootId, phase: "reserved", scope: record }, deps));
175
201
  if (!taken)
176
202
  return { held: false, holder, release: noRelease };
177
203
  }
@@ -180,7 +206,7 @@ export function defineHeadLease(config) {
180
206
  owner,
181
207
  release: async () => {
182
208
  try {
183
- await p.query(`DELETE FROM ${table} WHERE key = $1 AND owner = $2`, [key, owner]);
209
+ await execute(p, db.delete(rows).where(owned(key, owner)));
184
210
  }
185
211
  catch (err) {
186
212
  log.warn({ err: String(err), key }, "lease reservation release failed (TTL reclaims)");
@@ -201,19 +227,40 @@ export function defineHeadLease(config) {
201
227
  const owner = randomUUID();
202
228
  const bootId = bootIdOf(deps);
203
229
  const sessionId = meta.sessionId ?? null;
204
- const values = [key, owner, meta.runId, sessionId, bootId];
205
- const upgraded = await p.query(`UPDATE ${table}
206
- SET owner = $2, claimed_at = now(), heartbeat_at = now(), progress_at = now(),
207
- run_id = $3, session_id = $4, boot_id = $5, phase = 'adopted'
208
- WHERE key = $1 AND (run_id = '' OR run_id = $3)
209
- RETURNING key`, values);
230
+ let scope = null;
231
+ const upgraded = await execute(p, db
232
+ .update(rows)
233
+ .set({
234
+ owner,
235
+ claimedAt: sql `now()`,
236
+ heartbeatAt: sql `now()`,
237
+ progressAt: sql `now()`,
238
+ runId: meta.runId,
239
+ sessionId,
240
+ bootId,
241
+ phase: sql `'adopted'`,
242
+ })
243
+ .where(and(eq(rows.key, key), or(eq(rows.runId, sql `''`), eq(rows.runId, meta.runId))))
244
+ .returning({ key: rows.key, scope: rows.scope }));
210
245
  let held = (upgraded.rowCount ?? 0) > 0;
246
+ if (held)
247
+ scope = upgraded.rows[0]?.scope ?? null;
211
248
  if (!held) {
212
- const inserted = await p.query(`INSERT INTO ${table}
213
- (key, owner, claimed_at, heartbeat_at, progress_at, run_id, session_id, boot_id, phase)
214
- VALUES ($1, $2, now(), now(), now(), $3, $4, $5, 'adopted')
215
- ON CONFLICT (key) DO NOTHING
216
- RETURNING key`, values);
249
+ const inserted = await execute(p, db
250
+ .insert(rows)
251
+ .values({
252
+ key,
253
+ owner,
254
+ claimedAt: sql `now()`,
255
+ heartbeatAt: sql `now()`,
256
+ progressAt: sql `now()`,
257
+ runId: meta.runId,
258
+ sessionId,
259
+ bootId,
260
+ phase: sql `'adopted'`,
261
+ })
262
+ .onConflictDoNothing({ target: rows.key })
263
+ .returning({ key: rows.key }));
217
264
  held = (inserted.rowCount ?? 0) > 0;
218
265
  }
219
266
  if (!held) {
@@ -221,6 +268,8 @@ export function defineHeadLease(config) {
221
268
  held =
222
269
  holder !== undefined &&
223
270
  (await takeOver(p, key, holder, { owner, runId: meta.runId, sessionId, bootId, phase: "adopted" }, deps));
271
+ if (held)
272
+ scope = holder?.scope ?? null;
224
273
  if (!held) {
225
274
  return {
226
275
  held: false,
@@ -243,7 +292,7 @@ export function defineHeadLease(config) {
243
292
  return;
244
293
  }
245
294
  try {
246
- const renewed = await p.query(`UPDATE ${table} SET heartbeat_at = now() WHERE key = $1 AND owner = $2`, [key, owner]);
295
+ const renewed = await execute(p, db.update(rows).set({ heartbeatAt: sql `now()` }).where(owned(key, owner)));
247
296
  if ((renewed.rowCount ?? 0) === 0)
248
297
  lost = true;
249
298
  }
@@ -257,14 +306,20 @@ export function defineHeadLease(config) {
257
306
  held: true,
258
307
  owner,
259
308
  runId: meta.runId,
309
+ scope,
260
310
  isOwner: () => !lost && !released,
261
311
  progress: async (phase) => {
262
312
  if (released || lost)
263
313
  return false;
264
314
  try {
265
- const updated = await p.query(`UPDATE ${table}
266
- SET heartbeat_at = now(), progress_at = now(), phase = $3
267
- WHERE key = $1 AND owner = $2`, [key, owner, phase.slice(0, 100)]);
315
+ const updated = await execute(p, db
316
+ .update(rows)
317
+ .set({
318
+ heartbeatAt: sql `now()`,
319
+ progressAt: sql `now()`,
320
+ phase: phase.slice(0, 100),
321
+ })
322
+ .where(owned(key, owner)));
268
323
  if ((updated.rowCount ?? 0) === 0) {
269
324
  lost = true;
270
325
  return false;
@@ -284,7 +339,7 @@ export function defineHeadLease(config) {
284
339
  released = true;
285
340
  clearInterval(timer);
286
341
  try {
287
- await p.query(`DELETE FROM ${table} WHERE key = $1 AND owner = $2`, [key, owner]);
342
+ await execute(p, db.delete(rows).where(owned(key, owner)));
288
343
  }
289
344
  catch (err) {
290
345
  log.warn({ err: String(err), key }, "head-lease release failed (TTL will reclaim)");
@@ -302,10 +357,12 @@ export function defineHeadLease(config) {
302
357
  const p = await pg.poolFor(deps);
303
358
  if (!p)
304
359
  return undefined;
305
- const r = await p.query(`SELECT key, owner, run_id, session_id, boot_id, phase, heartbeat_at, progress_at
306
- FROM ${table}
307
- WHERE key LIKE $1 AND heartbeat_at > now() - ($2 || ' milliseconds')::interval
308
- ORDER BY heartbeat_at DESC LIMIT 1`, [`${itemKey}@%`, intervalMs(LEASE_TTL_MS)]);
360
+ const r = await execute(p, db
361
+ .select({ key: rows.key, ...holderColumns })
362
+ .from(rows)
363
+ .where(and(like(rows.key, `${itemKey}@%`), gt(rows.heartbeatAt, staleBefore())))
364
+ .orderBy(desc(rows.heartbeatAt))
365
+ .limit(1));
309
366
  return r.rows[0] ? { ...toHolder(r.rows[0]), key: r.rows[0].key } : null;
310
367
  }
311
368
  catch (err) {
@@ -318,8 +375,19 @@ export function defineHeadLease(config) {
318
375
  const p = await pg.poolFor(deps);
319
376
  if (!p)
320
377
  return null;
321
- const r = await p.query(`SELECT key, owner, claimed_at, run_id, session_id, boot_id, phase, heartbeat_at, progress_at
322
- FROM ${table}`);
378
+ const r = await execute(p, db
379
+ .select({
380
+ key: rows.key,
381
+ owner: rows.owner,
382
+ claimedAt: rows.claimedAt,
383
+ runId: rows.runId,
384
+ sessionId: rows.sessionId,
385
+ bootId: rows.bootId,
386
+ phase: rows.phase,
387
+ heartbeatAt: rows.heartbeatAt,
388
+ progressAt: rows.progressAt,
389
+ })
390
+ .from(rows));
323
391
  return r.rows.map((row) => ({
324
392
  ...toHolder(row),
325
393
  key: row.key,
@@ -333,12 +401,12 @@ export function defineHeadLease(config) {
333
401
  };
334
402
  const reapDetailed = async (deps = {}) => {
335
403
  const none = { reaped: [], deferred: [] };
336
- const rows = await list(deps);
337
- if (!rows)
404
+ const leases = await list(deps);
405
+ if (!leases)
338
406
  return none;
339
407
  const now = (deps.now ?? Date.now)();
340
408
  const bootId = bootIdOf(deps);
341
- const stale = rows.filter((row) => isLeaseDead(row, { now, bootId }));
409
+ const stale = leases.filter((row) => isLeaseDead(row, { now, bootId }));
342
410
  if (!stale.length)
343
411
  return none;
344
412
  const p = await pg.poolFor(deps);
@@ -375,10 +443,7 @@ export function defineHeadLease(config) {
375
443
  const reaped = [];
376
444
  for (const row of dead) {
377
445
  try {
378
- const r = await p.query(`DELETE FROM ${table} WHERE key = $1 AND owner = $2`, [
379
- row.key,
380
- row.owner,
381
- ]);
446
+ const r = await execute(p, db.delete(rows).where(owned(row.key, row.owner)));
382
447
  if ((r.rowCount ?? 0) > 0)
383
448
  reaped.push(row);
384
449
  }
@@ -390,7 +455,6 @@ export function defineHeadLease(config) {
390
455
  };
391
456
  return {
392
457
  table,
393
- ensureSchema: pg.ensureSchema,
394
458
  reserve,
395
459
  adopt,
396
460
  liveFor,
@@ -1 +1 @@
1
- {"version":3,"file":"head-lease.js","sourceRoot":"","sources":["../../../src/lib/coordination/head-lease.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"head-lease.js","sourceRoot":"","sources":["../../../src/lib/coordination/head-lease.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,9 @@ export interface PgDeps {
9
9
  ensureSchema?: boolean;
10
10
  }
11
11
  export interface PgBrick {
12
- ensureSchema(p: QueryPool): Promise<void>;
13
12
  poolFor(deps: PgDeps): Promise<QueryPool | undefined>;
14
13
  }
15
- export declare function pgBrick(ddl: readonly string[]): PgBrick;
14
+ export declare function pgBrick(): PgBrick;
16
15
  export declare const iso: (v: Date | string | null | undefined) => string | null;
17
16
  export declare const intervalMs: (n: number) => string;
18
17
  export interface KeyPlan<K extends Record<string, number>> {
@@ -1 +1 @@
1
- {"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../../../src/lib/coordination/pg.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IAEtB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CACvD;AAGD,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CA6BvD;AAGD,eAAO,MAAM,GAAG,GAAI,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM,GAAG,IAC7B,CAAC;AAGvC,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,MAAgC,CAAC;AAGxE,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACvD,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE7C,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtD,GAAG,EAAE;IACH,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CAChC,GACA,OAAO,CAAC,CAAC,CAAC,CAcZ"}
1
+ {"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../../../src/lib/coordination/pg.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IAEtB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CACvD;AAGD,wBAAgB,OAAO,IAAI,OAAO,CAajC;AAGD,eAAO,MAAM,GAAG,GAAI,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM,GAAG,IAC7B,CAAC;AAGvC,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,MAAgC,CAAC;AAGxE,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACvD,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE7C,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtD,GAAG,EAAE;IACH,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CAChC,GACA,OAAO,CAAC,CAAC,CAAC,CAcZ"}
@@ -1,35 +1,16 @@
1
- import { Pool } from "pg";
2
- export function pgBrick(ddl) {
3
- let pool;
4
- let ensured;
1
+ import { sharedPool } from "../../db/pool.js";
2
+ export function pgBrick() {
5
3
  const envPool = () => {
6
4
  const url = process.env.WORKFLOW_POSTGRES_URL;
7
5
  if (!url)
8
6
  return undefined;
9
- if (!pool)
10
- pool = new Pool({ connectionString: url, max: 2 });
11
- return pool;
12
- };
13
- const ensureSchema = (p) => {
14
- if (!ensured) {
15
- ensured = (async () => {
16
- for (const s of ddl)
17
- await p.query(s);
18
- })().catch((err) => {
19
- ensured = undefined;
20
- throw err;
21
- });
22
- }
23
- return ensured;
7
+ return sharedPool(url);
24
8
  };
25
9
  return {
26
- ensureSchema,
27
10
  poolFor: async (deps) => {
28
11
  const p = deps.pool ?? envPool();
29
12
  if (!p)
30
13
  return undefined;
31
- if (deps.ensureSchema !== false)
32
- await ensureSchema(p);
33
14
  return p;
34
15
  },
35
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pg.js","sourceRoot":"","sources":["../../../src/lib/coordination/pg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg.js","sourceRoot":"","sources":["../../../src/lib/coordination/pg.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAsB9C,MAAM,UAAU,OAAO;IACrB,MAAM,OAAO,GAAG,GAA0B,EAAE;QAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC9C,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,OAAO,UAAU,CAAC,GAAG,CAAyB,CAAC;IACjD,CAAC,CAAC;IACF,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAC;YACzB,OAAO,CAAC,CAAC;QACX,CAAC;KACF,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAmC,EAAiB,EAAE,CACxE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAGvC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAgBxE,MAAM,UAAU,OAAO,CACrB,GAEC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAyB,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,CAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACpE,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACtE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,CAAM;KACxF,CAAC;AACJ,CAAC"}
@@ -64,7 +64,6 @@ export interface WorkQueue<K, Reason extends string, P extends PolicyColumns> {
64
64
  readonly table: string;
65
65
  readonly ledgerTtlMs: number;
66
66
  readonly claimWindowMs: number;
67
- ensureSchema(p: QueryPool): Promise<void>;
68
67
  upsert(item: UpsertInput<K, Reason, P>, deps?: WorkDeps): Promise<boolean>;
69
68
  read(key: K, deps?: WorkDeps, opts?: ReadWorkOpts): Promise<WorkItem<K, Reason, P> | null | undefined>;
70
69
  list(deps?: WorkDeps, opts?: ReadWorkOpts): Promise<WorkItem<K, Reason, P>[] | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"work-queue.d.ts","sourceRoot":"","sources":["../../../src/lib/coordination/work-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"work-queue.d.ts","sourceRoot":"","sources":["../../../src/lib/coordination/work-queue.ts"],"names":[],"mappings":"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"}