@cat-factory/node-server 0.58.0 → 0.58.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/dist/db/schema.d.ts +30 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +7 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/githubReconcile.d.ts +26 -0
- package/dist/githubReconcile.d.ts.map +1 -0
- package/dist/githubReconcile.js +115 -0
- package/dist/githubReconcile.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/repositories/containerExecution.d.ts +1 -0
- package/dist/repositories/containerExecution.d.ts.map +1 -1
- package/dist/repositories/containerExecution.js +11 -1
- package/dist/repositories/containerExecution.js.map +1 -1
- package/dist/repositories/drizzle.d.ts.map +1 -1
- package/dist/repositories/drizzle.js +22 -0
- package/dist/repositories/drizzle.js.map +1 -1
- package/dist/repositories/github.d.ts.map +1 -1
- package/dist/repositories/github.js +130 -80
- package/dist/repositories/github.js.map +1 -1
- package/dist/repositories/notifications.d.ts +1 -0
- package/dist/repositories/notifications.d.ts.map +1 -1
- package/dist/repositories/notifications.js +11 -1
- package/dist/repositories/notifications.js.map +1 -1
- package/dist/retention.d.ts +3 -1
- package/dist/retention.d.ts.map +1 -1
- package/dist/retention.js +4 -17
- package/dist/retention.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +14 -0
- package/dist/server.js.map +1 -1
- package/drizzle/20260702071903_uneven_ironclad/migration.sql +2 -0
- package/drizzle/20260702071903_uneven_ironclad/snapshot.json +13311 -0
- package/package.json +17 -17
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { and, eq, inArray, isNull, lt, notInArray } from 'drizzle-orm';
|
|
1
|
+
import { and, desc, eq, inArray, isNull, lt, notInArray, sql } from 'drizzle-orm';
|
|
2
2
|
import { githubBranches, githubCheckRuns, githubCommits, githubInstallations, githubIssues, githubPullRequests, githubRepos, githubSyncCursors, } from '../db/schema.js';
|
|
3
3
|
// Drizzle/Postgres mirrors of the GitHub projection D1 repositories (migration 0004;
|
|
4
4
|
// cursors re-keyed by migration 0032). The inline GitHub sync populates these read
|
|
@@ -7,6 +7,27 @@ import { githubBranches, githubCheckRuns, githubCommits, githubInstallations, gi
|
|
|
7
7
|
// booleans here exactly as the D1 mappers do.
|
|
8
8
|
const bool = (v) => v === 1;
|
|
9
9
|
const intBool = (v) => (v ? 1 : 0);
|
|
10
|
+
// The sync upserts land whole pages at a time, so each repository writes multi-row
|
|
11
|
+
// INSERT ... ON CONFLICT statements in chunks (one round-trip per chunk, not per row),
|
|
12
|
+
// mirroring the D1 twins' `db.batch` chunking.
|
|
13
|
+
const UPSERT_CHUNK = 50;
|
|
14
|
+
function chunks(items, size) {
|
|
15
|
+
const out = [];
|
|
16
|
+
for (let i = 0; i < items.length; i += size)
|
|
17
|
+
out.push(items.slice(i, i + size));
|
|
18
|
+
return out;
|
|
19
|
+
}
|
|
20
|
+
// A multi-row ON CONFLICT DO UPDATE rejects two rows with the same conflict key in one
|
|
21
|
+
// statement ("cannot affect row a second time"), so dedupe by key first — last one wins,
|
|
22
|
+
// matching what the former row-at-a-time loop converged on.
|
|
23
|
+
function dedupeByKey(items, key) {
|
|
24
|
+
const byKey = new Map();
|
|
25
|
+
for (const item of items)
|
|
26
|
+
byKey.set(key(item), item);
|
|
27
|
+
return [...byKey.values()];
|
|
28
|
+
}
|
|
29
|
+
/** `excluded.<column>` reference for a multi-row upsert's conflict-update set. */
|
|
30
|
+
const excluded = (column) => sql.raw(`excluded."${column.name}"`);
|
|
10
31
|
// ---- repositories projection (+ sync cursors) -----------------------------
|
|
11
32
|
function rowToRepo(row) {
|
|
12
33
|
return {
|
|
@@ -30,8 +51,12 @@ export class DrizzleRepoProjectionRepository {
|
|
|
30
51
|
async upsertMany(workspaceId, repos) {
|
|
31
52
|
if (repos.length === 0)
|
|
32
53
|
return;
|
|
33
|
-
|
|
34
|
-
|
|
54
|
+
// `block_id` and `is_monorepo` are board-owned (set via linkBlock/setMonorepo),
|
|
55
|
+
// not sync — the update set deliberately omits them so sync never clobbers them.
|
|
56
|
+
for (const batch of chunks(dedupeByKey(repos, (r) => String(r.githubId)), UPSERT_CHUNK)) {
|
|
57
|
+
await this.db
|
|
58
|
+
.insert(githubRepos)
|
|
59
|
+
.values(batch.map((repo) => ({
|
|
35
60
|
workspace_id: workspaceId,
|
|
36
61
|
github_id: repo.githubId,
|
|
37
62
|
installation_id: repo.installationId,
|
|
@@ -42,21 +67,16 @@ export class DrizzleRepoProjectionRepository {
|
|
|
42
67
|
is_monorepo: intBool(repo.isMonorepo ?? false),
|
|
43
68
|
synced_at: repo.syncedAt,
|
|
44
69
|
deleted_at: null,
|
|
45
|
-
}
|
|
46
|
-
// `block_id` and `is_monorepo` are board-owned (set via linkBlock/setMonorepo),
|
|
47
|
-
// not sync — the update set deliberately omits them so sync never clobbers them.
|
|
48
|
-
await this.db
|
|
49
|
-
.insert(githubRepos)
|
|
50
|
-
.values(values)
|
|
70
|
+
})))
|
|
51
71
|
.onConflictDoUpdate({
|
|
52
72
|
target: [githubRepos.workspace_id, githubRepos.github_id],
|
|
53
73
|
set: {
|
|
54
|
-
installation_id:
|
|
55
|
-
owner:
|
|
56
|
-
name:
|
|
57
|
-
default_branch:
|
|
58
|
-
private:
|
|
59
|
-
synced_at:
|
|
74
|
+
installation_id: excluded(githubRepos.installation_id),
|
|
75
|
+
owner: excluded(githubRepos.owner),
|
|
76
|
+
name: excluded(githubRepos.name),
|
|
77
|
+
default_branch: excluded(githubRepos.default_branch),
|
|
78
|
+
private: excluded(githubRepos.private),
|
|
79
|
+
synced_at: excluded(githubRepos.synced_at),
|
|
60
80
|
deleted_at: null,
|
|
61
81
|
},
|
|
62
82
|
});
|
|
@@ -169,10 +189,10 @@ export class DrizzleBranchProjectionRepository {
|
|
|
169
189
|
this.db = db;
|
|
170
190
|
}
|
|
171
191
|
async upsertMany(workspaceId, branches) {
|
|
172
|
-
for (const
|
|
192
|
+
for (const batch of chunks(dedupeByKey(branches, (b) => `${b.repoGithubId}\u0000${b.name}`), UPSERT_CHUNK)) {
|
|
173
193
|
await this.db
|
|
174
194
|
.insert(githubBranches)
|
|
175
|
-
.values({
|
|
195
|
+
.values(batch.map((b) => ({
|
|
176
196
|
workspace_id: workspaceId,
|
|
177
197
|
repo_github_id: b.repoGithubId,
|
|
178
198
|
name: b.name,
|
|
@@ -180,13 +200,13 @@ export class DrizzleBranchProjectionRepository {
|
|
|
180
200
|
protected: intBool(b.protected),
|
|
181
201
|
synced_at: b.syncedAt,
|
|
182
202
|
deleted_at: null,
|
|
183
|
-
})
|
|
203
|
+
})))
|
|
184
204
|
.onConflictDoUpdate({
|
|
185
205
|
target: [githubBranches.workspace_id, githubBranches.repo_github_id, githubBranches.name],
|
|
186
206
|
set: {
|
|
187
|
-
head_sha:
|
|
188
|
-
protected:
|
|
189
|
-
synced_at:
|
|
207
|
+
head_sha: excluded(githubBranches.head_sha),
|
|
208
|
+
protected: excluded(githubBranches.protected),
|
|
209
|
+
synced_at: excluded(githubBranches.synced_at),
|
|
190
210
|
deleted_at: null,
|
|
191
211
|
},
|
|
192
212
|
});
|
|
@@ -214,8 +234,13 @@ export class DrizzlePullRequestProjectionRepository {
|
|
|
214
234
|
this.db = db;
|
|
215
235
|
}
|
|
216
236
|
async upsertMany(workspaceId, pulls) {
|
|
217
|
-
for (const
|
|
218
|
-
|
|
237
|
+
for (const batch of chunks(dedupeByKey(pulls, (p) => `${p.repoGithubId}:${p.number}`), UPSERT_CHUNK)) {
|
|
238
|
+
await this.db
|
|
239
|
+
.insert(githubPullRequests)
|
|
240
|
+
.values(batch.map((p) => ({
|
|
241
|
+
workspace_id: workspaceId,
|
|
242
|
+
repo_github_id: p.repoGithubId,
|
|
243
|
+
number: p.number,
|
|
219
244
|
github_id: p.githubId,
|
|
220
245
|
title: p.title,
|
|
221
246
|
state: p.state,
|
|
@@ -227,22 +252,26 @@ export class DrizzlePullRequestProjectionRepository {
|
|
|
227
252
|
gh_updated_at: p.updatedAt,
|
|
228
253
|
synced_at: p.syncedAt,
|
|
229
254
|
deleted_at: null,
|
|
230
|
-
}
|
|
231
|
-
await this.db
|
|
232
|
-
.insert(githubPullRequests)
|
|
233
|
-
.values({
|
|
234
|
-
workspace_id: workspaceId,
|
|
235
|
-
repo_github_id: p.repoGithubId,
|
|
236
|
-
number: p.number,
|
|
237
|
-
...set,
|
|
238
|
-
})
|
|
255
|
+
})))
|
|
239
256
|
.onConflictDoUpdate({
|
|
240
257
|
target: [
|
|
241
258
|
githubPullRequests.workspace_id,
|
|
242
259
|
githubPullRequests.repo_github_id,
|
|
243
260
|
githubPullRequests.number,
|
|
244
261
|
],
|
|
245
|
-
set
|
|
262
|
+
set: {
|
|
263
|
+
github_id: excluded(githubPullRequests.github_id),
|
|
264
|
+
title: excluded(githubPullRequests.title),
|
|
265
|
+
state: excluded(githubPullRequests.state),
|
|
266
|
+
head_ref: excluded(githubPullRequests.head_ref),
|
|
267
|
+
base_ref: excluded(githubPullRequests.base_ref),
|
|
268
|
+
head_sha: excluded(githubPullRequests.head_sha),
|
|
269
|
+
merged: excluded(githubPullRequests.merged),
|
|
270
|
+
author: excluded(githubPullRequests.author),
|
|
271
|
+
gh_updated_at: excluded(githubPullRequests.gh_updated_at),
|
|
272
|
+
synced_at: excluded(githubPullRequests.synced_at),
|
|
273
|
+
deleted_at: null,
|
|
274
|
+
},
|
|
246
275
|
});
|
|
247
276
|
}
|
|
248
277
|
}
|
|
@@ -266,15 +295,18 @@ export class DrizzlePullRequestProjectionRepository {
|
|
|
266
295
|
const rows = await this.db
|
|
267
296
|
.select()
|
|
268
297
|
.from(githubPullRequests)
|
|
269
|
-
.where(and(eq(githubPullRequests.workspace_id, workspaceId), eq(githubPullRequests.repo_github_id, repoGithubId), isNull(githubPullRequests.deleted_at)))
|
|
270
|
-
|
|
298
|
+
.where(and(eq(githubPullRequests.workspace_id, workspaceId), eq(githubPullRequests.repo_github_id, repoGithubId), isNull(githubPullRequests.deleted_at)))
|
|
299
|
+
.orderBy(desc(githubPullRequests.number));
|
|
300
|
+
return rows.map((r) => this.rowToPr(r));
|
|
271
301
|
}
|
|
272
302
|
async listByWorkspace(workspaceId) {
|
|
303
|
+
// NULLS LAST matches the D1 twin (SQLite sorts NULLs last on DESC).
|
|
273
304
|
const rows = await this.db
|
|
274
305
|
.select()
|
|
275
306
|
.from(githubPullRequests)
|
|
276
|
-
.where(and(eq(githubPullRequests.workspace_id, workspaceId), isNull(githubPullRequests.deleted_at)))
|
|
277
|
-
|
|
307
|
+
.where(and(eq(githubPullRequests.workspace_id, workspaceId), isNull(githubPullRequests.deleted_at)))
|
|
308
|
+
.orderBy(sql `${githubPullRequests.gh_updated_at} DESC NULLS LAST`);
|
|
309
|
+
return rows.map((r) => this.rowToPr(r));
|
|
278
310
|
}
|
|
279
311
|
}
|
|
280
312
|
// ---- issues ---------------------------------------------------------------
|
|
@@ -284,8 +316,13 @@ export class DrizzleIssueProjectionRepository {
|
|
|
284
316
|
this.db = db;
|
|
285
317
|
}
|
|
286
318
|
async upsertMany(workspaceId, issues) {
|
|
287
|
-
for (const
|
|
288
|
-
|
|
319
|
+
for (const batch of chunks(dedupeByKey(issues, (i) => `${i.repoGithubId}:${i.number}`), UPSERT_CHUNK)) {
|
|
320
|
+
await this.db
|
|
321
|
+
.insert(githubIssues)
|
|
322
|
+
.values(batch.map((i) => ({
|
|
323
|
+
workspace_id: workspaceId,
|
|
324
|
+
repo_github_id: i.repoGithubId,
|
|
325
|
+
number: i.number,
|
|
289
326
|
github_id: i.githubId,
|
|
290
327
|
title: i.title,
|
|
291
328
|
state: i.state,
|
|
@@ -294,18 +331,19 @@ export class DrizzleIssueProjectionRepository {
|
|
|
294
331
|
gh_updated_at: i.updatedAt,
|
|
295
332
|
synced_at: i.syncedAt,
|
|
296
333
|
deleted_at: null,
|
|
297
|
-
}
|
|
298
|
-
await this.db
|
|
299
|
-
.insert(githubIssues)
|
|
300
|
-
.values({
|
|
301
|
-
workspace_id: workspaceId,
|
|
302
|
-
repo_github_id: i.repoGithubId,
|
|
303
|
-
number: i.number,
|
|
304
|
-
...set,
|
|
305
|
-
})
|
|
334
|
+
})))
|
|
306
335
|
.onConflictDoUpdate({
|
|
307
336
|
target: [githubIssues.workspace_id, githubIssues.repo_github_id, githubIssues.number],
|
|
308
|
-
set
|
|
337
|
+
set: {
|
|
338
|
+
github_id: excluded(githubIssues.github_id),
|
|
339
|
+
title: excluded(githubIssues.title),
|
|
340
|
+
state: excluded(githubIssues.state),
|
|
341
|
+
author: excluded(githubIssues.author),
|
|
342
|
+
labels: excluded(githubIssues.labels),
|
|
343
|
+
gh_updated_at: excluded(githubIssues.gh_updated_at),
|
|
344
|
+
synced_at: excluded(githubIssues.synced_at),
|
|
345
|
+
deleted_at: null,
|
|
346
|
+
},
|
|
309
347
|
});
|
|
310
348
|
}
|
|
311
349
|
}
|
|
@@ -326,17 +364,18 @@ export class DrizzleIssueProjectionRepository {
|
|
|
326
364
|
const rows = await this.db
|
|
327
365
|
.select()
|
|
328
366
|
.from(githubIssues)
|
|
329
|
-
.where(and(eq(githubIssues.workspace_id, workspaceId), eq(githubIssues.repo_github_id, repoGithubId), isNull(githubIssues.deleted_at)))
|
|
330
|
-
|
|
367
|
+
.where(and(eq(githubIssues.workspace_id, workspaceId), eq(githubIssues.repo_github_id, repoGithubId), isNull(githubIssues.deleted_at)))
|
|
368
|
+
.orderBy(desc(githubIssues.number));
|
|
369
|
+
return rows.map((r) => this.rowToIssue(r));
|
|
331
370
|
}
|
|
332
371
|
async listByWorkspace(workspaceId) {
|
|
372
|
+
// NULLS LAST matches the D1 twin (SQLite sorts NULLs last on DESC).
|
|
333
373
|
const rows = await this.db
|
|
334
374
|
.select()
|
|
335
375
|
.from(githubIssues)
|
|
336
|
-
.where(and(eq(githubIssues.workspace_id, workspaceId), isNull(githubIssues.deleted_at)))
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
.sort((a, b) => (b.updatedAt ?? 0) - (a.updatedAt ?? 0));
|
|
376
|
+
.where(and(eq(githubIssues.workspace_id, workspaceId), isNull(githubIssues.deleted_at)))
|
|
377
|
+
.orderBy(sql `${githubIssues.gh_updated_at} DESC NULLS LAST`);
|
|
378
|
+
return rows.map((r) => this.rowToIssue(r));
|
|
340
379
|
}
|
|
341
380
|
}
|
|
342
381
|
// ---- commits --------------------------------------------------------------
|
|
@@ -346,19 +385,26 @@ export class DrizzleCommitProjectionRepository {
|
|
|
346
385
|
this.db = db;
|
|
347
386
|
}
|
|
348
387
|
async upsertMany(workspaceId, commits) {
|
|
349
|
-
for (const
|
|
350
|
-
|
|
388
|
+
for (const batch of chunks(dedupeByKey(commits, (c) => `${c.repoGithubId}:${c.sha}`), UPSERT_CHUNK)) {
|
|
389
|
+
await this.db
|
|
390
|
+
.insert(githubCommits)
|
|
391
|
+
.values(batch.map((c) => ({
|
|
392
|
+
workspace_id: workspaceId,
|
|
393
|
+
repo_github_id: c.repoGithubId,
|
|
394
|
+
sha: c.sha,
|
|
351
395
|
message: c.message,
|
|
352
396
|
author: c.author,
|
|
353
397
|
authored_at: c.authoredAt,
|
|
354
398
|
synced_at: c.syncedAt,
|
|
355
|
-
}
|
|
356
|
-
await this.db
|
|
357
|
-
.insert(githubCommits)
|
|
358
|
-
.values({ workspace_id: workspaceId, repo_github_id: c.repoGithubId, sha: c.sha, ...set })
|
|
399
|
+
})))
|
|
359
400
|
.onConflictDoUpdate({
|
|
360
401
|
target: [githubCommits.workspace_id, githubCommits.repo_github_id, githubCommits.sha],
|
|
361
|
-
set
|
|
402
|
+
set: {
|
|
403
|
+
message: excluded(githubCommits.message),
|
|
404
|
+
author: excluded(githubCommits.author),
|
|
405
|
+
authored_at: excluded(githubCommits.authored_at),
|
|
406
|
+
synced_at: excluded(githubCommits.synced_at),
|
|
407
|
+
},
|
|
362
408
|
});
|
|
363
409
|
}
|
|
364
410
|
}
|
|
@@ -371,21 +417,22 @@ export class DrizzleCommitProjectionRepository {
|
|
|
371
417
|
return deleted.length;
|
|
372
418
|
}
|
|
373
419
|
async listByRepo(workspaceId, repoGithubId, limit = 100) {
|
|
420
|
+
// NULLS LAST matches the D1 twin (SQLite sorts NULLs last on DESC); the limit runs
|
|
421
|
+
// in SQL so the query returns `limit` rows instead of the repo's full history.
|
|
374
422
|
const rows = await this.db
|
|
375
423
|
.select()
|
|
376
424
|
.from(githubCommits)
|
|
377
|
-
.where(and(eq(githubCommits.workspace_id, workspaceId), eq(githubCommits.repo_github_id, repoGithubId)))
|
|
378
|
-
|
|
379
|
-
.
|
|
425
|
+
.where(and(eq(githubCommits.workspace_id, workspaceId), eq(githubCommits.repo_github_id, repoGithubId)))
|
|
426
|
+
.orderBy(sql `${githubCommits.authored_at} DESC NULLS LAST`)
|
|
427
|
+
.limit(limit);
|
|
428
|
+
return rows.map((row) => ({
|
|
380
429
|
repoGithubId: row.repo_github_id,
|
|
381
430
|
sha: row.sha,
|
|
382
431
|
message: row.message,
|
|
383
432
|
author: row.author,
|
|
384
433
|
authoredAt: row.authored_at,
|
|
385
434
|
syncedAt: row.synced_at,
|
|
386
|
-
}))
|
|
387
|
-
.sort((a, b) => (b.authoredAt ?? 0) - (a.authoredAt ?? 0))
|
|
388
|
-
.slice(0, limit);
|
|
435
|
+
}));
|
|
389
436
|
}
|
|
390
437
|
}
|
|
391
438
|
// ---- check runs -----------------------------------------------------------
|
|
@@ -395,29 +442,32 @@ export class DrizzleCheckRunProjectionRepository {
|
|
|
395
442
|
this.db = db;
|
|
396
443
|
}
|
|
397
444
|
async upsertMany(workspaceId, checks) {
|
|
398
|
-
for (const
|
|
399
|
-
const set = {
|
|
400
|
-
head_sha: c.headSha,
|
|
401
|
-
name: c.name,
|
|
402
|
-
status: c.status,
|
|
403
|
-
conclusion: c.conclusion,
|
|
404
|
-
synced_at: c.syncedAt,
|
|
405
|
-
};
|
|
445
|
+
for (const batch of chunks(dedupeByKey(checks, (c) => `${c.repoGithubId}:${c.githubId}`), UPSERT_CHUNK)) {
|
|
406
446
|
await this.db
|
|
407
447
|
.insert(githubCheckRuns)
|
|
408
|
-
.values({
|
|
448
|
+
.values(batch.map((c) => ({
|
|
409
449
|
workspace_id: workspaceId,
|
|
410
450
|
repo_github_id: c.repoGithubId,
|
|
411
451
|
github_id: c.githubId,
|
|
412
|
-
|
|
413
|
-
|
|
452
|
+
head_sha: c.headSha,
|
|
453
|
+
name: c.name,
|
|
454
|
+
status: c.status,
|
|
455
|
+
conclusion: c.conclusion,
|
|
456
|
+
synced_at: c.syncedAt,
|
|
457
|
+
})))
|
|
414
458
|
.onConflictDoUpdate({
|
|
415
459
|
target: [
|
|
416
460
|
githubCheckRuns.workspace_id,
|
|
417
461
|
githubCheckRuns.repo_github_id,
|
|
418
462
|
githubCheckRuns.github_id,
|
|
419
463
|
],
|
|
420
|
-
set
|
|
464
|
+
set: {
|
|
465
|
+
head_sha: excluded(githubCheckRuns.head_sha),
|
|
466
|
+
name: excluded(githubCheckRuns.name),
|
|
467
|
+
status: excluded(githubCheckRuns.status),
|
|
468
|
+
conclusion: excluded(githubCheckRuns.conclusion),
|
|
469
|
+
synced_at: excluded(githubCheckRuns.synced_at),
|
|
470
|
+
},
|
|
421
471
|
});
|
|
422
472
|
}
|
|
423
473
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/repositories/github.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/repositories/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export declare class DrizzleNotificationRepository implements NotificationReposi
|
|
|
7
7
|
listOpen(workspaceId: string): Promise<Notification[]>;
|
|
8
8
|
findOpenByBlock(workspaceId: string, blockId: string, type: NotificationType): Promise<Notification | null>;
|
|
9
9
|
upsert(workspaceId: string, notification: Notification): Promise<void>;
|
|
10
|
+
escalateStaleOpen(workspaceId: string, cutoff: number): Promise<Notification[]>;
|
|
10
11
|
upsertOpenForBlock(workspaceId: string, notification: Notification): Promise<Notification>;
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/repositories/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAuChD,qBAAa,6BAA8B,YAAW,sBAAsB;IAC9D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAOvE;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAO3D;IAEK,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAe9B;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC3E;IAEK,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAsC/F;CACF"}
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/repositories/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAuChD,qBAAa,6BAA8B,YAAW,sBAAsB;IAC9D,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAOvE;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAO3D;IAEK,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAe9B;IAEK,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC3E;IAEK,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBpF;IAEK,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAsC/F;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { notificationSeveritySchema, notificationStatusSchema, notificationTypeSchema, } from '@cat-factory/contracts';
|
|
2
2
|
import { decodeEnum, decodeEnumOr } from '@cat-factory/server';
|
|
3
|
-
import { and, desc, eq, sql } from 'drizzle-orm';
|
|
3
|
+
import { and, desc, eq, isNull, lte, or, sql } from 'drizzle-orm';
|
|
4
4
|
import { notifications } from '../db/schema.js';
|
|
5
5
|
function rowToNotification(row) {
|
|
6
6
|
let payload = null;
|
|
@@ -93,6 +93,16 @@ export class DrizzleNotificationRepository {
|
|
|
93
93
|
},
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
|
+
async escalateStaleOpen(workspaceId, cutoff) {
|
|
97
|
+
// One statement flips every overdue open card and returns the rows for re-delivery —
|
|
98
|
+
// the sweep never loops per-row upserts. Mirrors the D1 twin.
|
|
99
|
+
const rows = await this.db
|
|
100
|
+
.update(notifications)
|
|
101
|
+
.set({ severity: 'urgent' })
|
|
102
|
+
.where(and(eq(notifications.workspace_id, workspaceId), eq(notifications.status, 'open'), or(eq(notifications.severity, 'normal'), isNull(notifications.severity)), lte(notifications.created_at, cutoff)))
|
|
103
|
+
.returning();
|
|
104
|
+
return rows.map(rowToNotification);
|
|
105
|
+
}
|
|
96
106
|
async upsertOpenForBlock(workspaceId, notification) {
|
|
97
107
|
// Atomic dedup: the conflict arbiter is the partial unique index on
|
|
98
108
|
// (workspace_id, block_id, type) WHERE status='open'. A second concurrent open raise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/repositories/notifications.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/repositories/notifications.ts"],"names":[],"mappings":"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"}
|
package/dist/retention.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentContextSnapshotRepository, ResolveBinaryArtifactStore, Clock, LlmCallMetricRepository, PasswordResetTokenRepository, PipelineScheduleRepository, ProvisioningLogRepository, SubscriptionActivationRepository, TokenUsageRepository, WorkspaceRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
1
|
+
import type { AgentContextSnapshotRepository, ResolveBinaryArtifactStore, Clock, CommitProjectionRepository, LlmCallMetricRepository, PasswordResetTokenRepository, PipelineScheduleRepository, ProvisioningLogRepository, SubscriptionActivationRepository, TokenUsageRepository, WorkspaceRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { Logger, RetentionConfig } from '@cat-factory/server';
|
|
3
3
|
/** Recurring-pipeline run history is kept ~1 week (the inspector's window). */
|
|
4
4
|
export declare const SCHEDULE_RUN_RETENTION_MS: number;
|
|
@@ -11,6 +11,7 @@ export interface RetentionRepos {
|
|
|
11
11
|
subscriptionActivationRepository: Pick<SubscriptionActivationRepository, 'deleteExpired'>;
|
|
12
12
|
provisioningLogRepository: Pick<ProvisioningLogRepository, 'deleteOlderThan'>;
|
|
13
13
|
passwordResetTokenRepository: Pick<PasswordResetTokenRepository, 'deleteExpired'>;
|
|
14
|
+
commitRepository: Pick<CommitProjectionRepository, 'deleteOlderThan'>;
|
|
14
15
|
}
|
|
15
16
|
/** Rows reclaimed from each table, for logging. */
|
|
16
17
|
export interface RetentionResult {
|
|
@@ -21,6 +22,7 @@ export interface RetentionResult {
|
|
|
21
22
|
activations: number;
|
|
22
23
|
provisioningLog: number;
|
|
23
24
|
passwordResetTokens: number;
|
|
25
|
+
commits: number;
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* How often the retention sweep runs. The windows are measured in days, so an hourly
|
package/dist/retention.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,KAAK,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAElE,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,QAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,KAAK,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAElE,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,QAA0B,CAAA;AAYhE,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;IACnE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAA;IAEzE,8BAA8B,EAAE,IAAI,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAA;IACvF,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;IAG/E,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,EAAE,eAAe,CAAC,CAAA;IAEzF,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,CAAA;IAE7E,4BAA4B,EAAE,IAAI,CAAC,4BAA4B,EAAE,eAAe,CAAC,CAAA;IAKjF,gBAAgB,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;CACtE;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAiB,CAAA;AAYzD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CAyB1B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CAkBZ;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,0BAA0B,EACxC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAC7D,kBAAkB,EAAE,IAAI,CAAC,2BAA2B,EAAE,KAAK,CAAC,EAC5D,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CA4BZ"}
|
package/dist/retention.js
CHANGED
|
@@ -32,6 +32,7 @@ export async function sweepRetention(repos, retention, now) {
|
|
|
32
32
|
provisioningLog: await prune(retention.provisioningLogMs, now, (c) => repos.provisioningLogRepository.deleteOlderThan(c)),
|
|
33
33
|
// Reset tokens past their own expiry — `now`, not a window (like activations).
|
|
34
34
|
passwordResetTokens: await repos.passwordResetTokenRepository.deleteExpired(now),
|
|
35
|
+
commits: await prune(retention.commitMs, now, (c) => repos.commitRepository.deleteOlderThan(c)),
|
|
35
36
|
};
|
|
36
37
|
}
|
|
37
38
|
/**
|
|
@@ -43,23 +44,9 @@ export async function sweepRetention(repos, retention, now) {
|
|
|
43
44
|
export function startRetentionSweeper(repos, retention, clock, log) {
|
|
44
45
|
const tick = async () => {
|
|
45
46
|
try {
|
|
46
|
-
const
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
agentContextSnapshots > 0 ||
|
|
50
|
-
scheduleRuns > 0 ||
|
|
51
|
-
activations > 0 ||
|
|
52
|
-
provisioningLog > 0 ||
|
|
53
|
-
passwordResetTokens > 0) {
|
|
54
|
-
log.info({
|
|
55
|
-
tokenUsage,
|
|
56
|
-
llmCallMetrics,
|
|
57
|
-
agentContextSnapshots,
|
|
58
|
-
scheduleRuns,
|
|
59
|
-
activations,
|
|
60
|
-
provisioningLog,
|
|
61
|
-
passwordResetTokens,
|
|
62
|
-
}, 'retention sweep reclaimed rows');
|
|
47
|
+
const reclaimed = await sweepRetention(repos, retention, clock.now());
|
|
48
|
+
if (Object.values(reclaimed).some((n) => n > 0)) {
|
|
49
|
+
log.info(reclaimed, 'retention sweep reclaimed rows');
|
|
63
50
|
}
|
|
64
51
|
}
|
|
65
52
|
catch (error) {
|
package/dist/retention.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention.js","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retention.js","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,eAAe,EAMrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,KAAK,oBAAoB,EAAsB,MAAM,gBAAgB,CAAA;AAW9E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,eAAe,EAMrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,KAAK,oBAAoB,EAAsB,MAAM,gBAAgB,CAAA;AAW9E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAgB/D,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;CAAG;AAEpE,wFAAwF;AACxF,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,IAAI,CAAC,MAAM,CAAC,CA2Bd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,CAEvE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACjB,WAAW,EAAE,eAAe,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;IAAC,YAAY,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;CAAE,CAUxF;AAED;;;;GAIG;AACH,wBAAsB,KAAK,CACzB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,eAAe,CAAA;IACnE;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACT,GACL,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CA6JnC"}
|