@cat-factory/node-server 0.121.1 → 0.122.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.
- package/dist/container-github-deps.d.ts.map +1 -1
- package/dist/container-github-deps.js +5 -1
- package/dist/container-github-deps.js.map +1 -1
- package/dist/db/schema/tracker.d.ts +127 -0
- package/dist/db/schema/tracker.d.ts.map +1 -1
- package/dist/db/schema/tracker.js +16 -0
- package/dist/db/schema/tracker.js.map +1 -1
- package/dist/execution/trackerSyncRunner.d.ts +31 -0
- package/dist/execution/trackerSyncRunner.d.ts.map +1 -0
- package/dist/execution/trackerSyncRunner.js +85 -0
- package/dist/execution/trackerSyncRunner.js.map +1 -0
- package/dist/gateways.d.ts.map +1 -1
- package/dist/gateways.js +6 -1
- package/dist/gateways.js.map +1 -1
- package/dist/repositories/drizzle/settings.d.ts +23 -1
- package/dist/repositories/drizzle/settings.d.ts.map +1 -1
- package/dist/repositories/drizzle/settings.js +78 -1
- package/dist/repositories/drizzle/settings.js.map +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -0
- package/dist/server.js.map +1 -1
- package/drizzle/20260727121836_steep_psynapse/migration.sql +11 -0
- package/drizzle/20260727121836_steep_psynapse/snapshot.json +17463 -0
- package/package.json +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-github-deps.d.ts","sourceRoot":"","sources":["../src/container-github-deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAKtB,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,KAAK,EACL,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,gBAAgB,EAGhB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EAExB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAgBvB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"container-github-deps.d.ts","sourceRoot":"","sources":["../src/container-github-deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAKtB,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,KAAK,EACL,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,gBAAgB,EAGhB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EAExB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAgBvB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AA+B/C,qGAAqG;AACrG,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC/B,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;CACpD;AAiDD,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAA;IACjB,EAAE,EAAE,SAAS,CAAA;IACb,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAChD,6FAA6F;IAC7F,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3D,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC1C,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,YAAY,CAAA;IACnC,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,kGAAkG;IAClG,kBAAkB,EAAE,YAAY,GAAG,SAAS,CAAA;IAC5C,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,eAAe,EAAE,eAAe,CAAA;IAChC,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,0FAA0F;IAC1F,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,mFAAmF;IACnF,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IACtC,KAAK,EAAE,aAAa,CAAA;IACpB,eAAe,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;IAC7D,sBAAsB,EAAE,qBAAqB,CAAA;IAC7C,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACzC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAgL/E"}
|
|
@@ -6,7 +6,7 @@ import { buildNodeGitHubIssueFiler } from './container-executor-deps.js';
|
|
|
6
6
|
import { DrizzleDocumentRepository } from './repositories/documents.js';
|
|
7
7
|
import { DrizzleBranchProjectionRepository, DrizzleCheckRunProjectionRepository, DrizzleCommitProjectionRepository, DrizzleIssueProjectionRepository, DrizzlePullRequestProjectionRepository, } from './repositories/github.js';
|
|
8
8
|
import { DrizzleTaskConnectionRepository, DrizzleTaskRepository, DrizzleTaskSourceSettingsRepository, } from './repositories/tasks.js';
|
|
9
|
-
import { DrizzleReviewQuestionPostRepository } from './repositories/drizzle/settings.js';
|
|
9
|
+
import { DrizzleReviewQuestionPostRepository, DrizzleTrackerCommentIngestRepository, } from './repositories/drizzle/settings.js';
|
|
10
10
|
import { DrizzleUserRepoAccessRepository } from './repositories/userRepoAccess.js';
|
|
11
11
|
// The engine's CI/mergeability gate reads never persist rate-limit snapshots (that is the
|
|
12
12
|
// GitHub sync/webhook path's job), so the client backing them takes a no-op rate-limit store.
|
|
@@ -49,6 +49,10 @@ function selectNodeTasksDeps(config, db, githubClient, installations) {
|
|
|
49
49
|
taskConnectionRepository,
|
|
50
50
|
taskSourceSettingsRepository: new DrizzleTaskSourceSettingsRepository(db),
|
|
51
51
|
taskRepository: new DrizzleTaskRepository(db),
|
|
52
|
+
// Idempotency markers for INBOUND tracker comments. Wired alongside the task module rather
|
|
53
|
+
// than the writeback, because it guards the INGEST half (a redelivered comment applying its
|
|
54
|
+
// answers twice), which exists only when the task projection does.
|
|
55
|
+
trackerCommentIngestRepository: new DrizzleTrackerCommentIngestRepository(db),
|
|
52
56
|
},
|
|
53
57
|
taskConnectionRepository,
|
|
54
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-github-deps.js","sourceRoot":"","sources":["../src/container-github-deps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"container-github-deps.js","sourceRoot":"","sources":["../src/container-github-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -252,6 +252,133 @@ export declare const reviewQuestionPosts: import("drizzle-orm/pg-core").PgTableW
|
|
|
252
252
|
};
|
|
253
253
|
dialect: 'pg';
|
|
254
254
|
}>;
|
|
255
|
+
export declare const trackerCommentIngests: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
256
|
+
name: "tracker_comment_ingests";
|
|
257
|
+
schema: undefined;
|
|
258
|
+
columns: {
|
|
259
|
+
workspace_id: import("drizzle-orm/pg-core").PgBuildColumn<"tracker_comment_ingests", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
|
|
260
|
+
name: string;
|
|
261
|
+
tableName: "tracker_comment_ingests";
|
|
262
|
+
dataType: "string";
|
|
263
|
+
data: string;
|
|
264
|
+
driverParam: string;
|
|
265
|
+
notNull: true;
|
|
266
|
+
hasDefault: false;
|
|
267
|
+
isPrimaryKey: false;
|
|
268
|
+
isAutoincrement: false;
|
|
269
|
+
hasRuntimeDefault: false;
|
|
270
|
+
enumValues: undefined;
|
|
271
|
+
identity: undefined;
|
|
272
|
+
generated: undefined;
|
|
273
|
+
}>;
|
|
274
|
+
source: import("drizzle-orm/pg-core").PgBuildColumn<"tracker_comment_ingests", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
|
|
275
|
+
name: string;
|
|
276
|
+
tableName: "tracker_comment_ingests";
|
|
277
|
+
dataType: "string";
|
|
278
|
+
data: string;
|
|
279
|
+
driverParam: string;
|
|
280
|
+
notNull: true;
|
|
281
|
+
hasDefault: false;
|
|
282
|
+
isPrimaryKey: false;
|
|
283
|
+
isAutoincrement: false;
|
|
284
|
+
hasRuntimeDefault: false;
|
|
285
|
+
enumValues: undefined;
|
|
286
|
+
identity: undefined;
|
|
287
|
+
generated: undefined;
|
|
288
|
+
}>;
|
|
289
|
+
external_id: import("drizzle-orm/pg-core").PgBuildColumn<"tracker_comment_ingests", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
|
|
290
|
+
name: string;
|
|
291
|
+
tableName: "tracker_comment_ingests";
|
|
292
|
+
dataType: "string";
|
|
293
|
+
data: string;
|
|
294
|
+
driverParam: string;
|
|
295
|
+
notNull: true;
|
|
296
|
+
hasDefault: false;
|
|
297
|
+
isPrimaryKey: false;
|
|
298
|
+
isAutoincrement: false;
|
|
299
|
+
hasRuntimeDefault: false;
|
|
300
|
+
enumValues: undefined;
|
|
301
|
+
identity: undefined;
|
|
302
|
+
generated: undefined;
|
|
303
|
+
}>;
|
|
304
|
+
comment_id: import("drizzle-orm/pg-core").PgBuildColumn<"tracker_comment_ingests", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
|
|
305
|
+
name: string;
|
|
306
|
+
tableName: "tracker_comment_ingests";
|
|
307
|
+
dataType: "string";
|
|
308
|
+
data: string;
|
|
309
|
+
driverParam: string;
|
|
310
|
+
notNull: true;
|
|
311
|
+
hasDefault: false;
|
|
312
|
+
isPrimaryKey: false;
|
|
313
|
+
isAutoincrement: false;
|
|
314
|
+
hasRuntimeDefault: false;
|
|
315
|
+
enumValues: undefined;
|
|
316
|
+
identity: undefined;
|
|
317
|
+
generated: undefined;
|
|
318
|
+
}>;
|
|
319
|
+
status: import("drizzle-orm/pg-core").PgBuildColumn<"tracker_comment_ingests", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
|
|
320
|
+
name: string;
|
|
321
|
+
tableName: "tracker_comment_ingests";
|
|
322
|
+
dataType: "string";
|
|
323
|
+
data: string;
|
|
324
|
+
driverParam: string;
|
|
325
|
+
notNull: true;
|
|
326
|
+
hasDefault: false;
|
|
327
|
+
isPrimaryKey: false;
|
|
328
|
+
isAutoincrement: false;
|
|
329
|
+
hasRuntimeDefault: false;
|
|
330
|
+
enumValues: undefined;
|
|
331
|
+
identity: undefined;
|
|
332
|
+
generated: undefined;
|
|
333
|
+
}>;
|
|
334
|
+
attempts: import("drizzle-orm/pg-core").PgBuildColumn<"tracker_comment_ingests", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>, {
|
|
335
|
+
name: string;
|
|
336
|
+
tableName: "tracker_comment_ingests";
|
|
337
|
+
dataType: "number int32";
|
|
338
|
+
data: number;
|
|
339
|
+
driverParam: string | number;
|
|
340
|
+
notNull: true;
|
|
341
|
+
hasDefault: true;
|
|
342
|
+
isPrimaryKey: false;
|
|
343
|
+
isAutoincrement: false;
|
|
344
|
+
hasRuntimeDefault: false;
|
|
345
|
+
enumValues: undefined;
|
|
346
|
+
identity: undefined;
|
|
347
|
+
generated: undefined;
|
|
348
|
+
}>;
|
|
349
|
+
error: import("drizzle-orm/pg-core").PgBuildColumn<"tracker_comment_ingests", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, {
|
|
350
|
+
name: string;
|
|
351
|
+
tableName: "tracker_comment_ingests";
|
|
352
|
+
dataType: "string";
|
|
353
|
+
data: string;
|
|
354
|
+
driverParam: string;
|
|
355
|
+
notNull: false;
|
|
356
|
+
hasDefault: false;
|
|
357
|
+
isPrimaryKey: false;
|
|
358
|
+
isAutoincrement: false;
|
|
359
|
+
hasRuntimeDefault: false;
|
|
360
|
+
enumValues: undefined;
|
|
361
|
+
identity: undefined;
|
|
362
|
+
generated: undefined;
|
|
363
|
+
}>;
|
|
364
|
+
updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"tracker_comment_ingests", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
|
|
365
|
+
name: string;
|
|
366
|
+
tableName: "tracker_comment_ingests";
|
|
367
|
+
dataType: "number int53";
|
|
368
|
+
data: number;
|
|
369
|
+
driverParam: string | number;
|
|
370
|
+
notNull: true;
|
|
371
|
+
hasDefault: false;
|
|
372
|
+
isPrimaryKey: false;
|
|
373
|
+
isAutoincrement: false;
|
|
374
|
+
hasRuntimeDefault: false;
|
|
375
|
+
enumValues: undefined;
|
|
376
|
+
identity: undefined;
|
|
377
|
+
generated: undefined;
|
|
378
|
+
}>;
|
|
379
|
+
};
|
|
380
|
+
dialect: 'pg';
|
|
381
|
+
}>;
|
|
255
382
|
export declare const taskConnections: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
256
383
|
name: "task_connections";
|
|
257
384
|
schema: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../src/db/schema/tracker.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa1B,CAAA;AAOF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa/B,CAAA;AAOD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAA;AAKD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS9B,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBjB,CAAA"}
|
|
1
|
+
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../src/db/schema/tracker.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa1B,CAAA;AAOF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa/B,CAAA;AAQD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAajC,CAAA;AAOD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAA;AAKD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS9B,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBjB,CAAA"}
|
|
@@ -37,6 +37,22 @@ export const reviewQuestionPosts = pgTable('review_question_posts', {
|
|
|
37
37
|
error: text('error'),
|
|
38
38
|
updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
|
|
39
39
|
}, (t) => [primaryKey({ columns: [t.workspace_id, t.review_id, t.iteration, t.issue_ref] })]);
|
|
40
|
+
// Idempotency markers for INBOUND tracker comments (mirror of D1 migration 0064): one row per
|
|
41
|
+
// (workspace, source, external_id, comment_id). Every tracker redelivers, and an async queue job is
|
|
42
|
+
// retried on any error, so the row is CLAIMED before a comment's review commands are applied —
|
|
43
|
+
// otherwise one reporter comment would answer the same finding several times. A `failed` row is
|
|
44
|
+
// re-claimable; `applied` is terminal; a `pending` one is re-claimable only once abandoned, so an
|
|
45
|
+
// ingester killed mid-apply cannot silence that comment forever.
|
|
46
|
+
export const trackerCommentIngests = pgTable('tracker_comment_ingests', {
|
|
47
|
+
workspace_id: text('workspace_id').notNull(),
|
|
48
|
+
source: text('source').notNull(),
|
|
49
|
+
external_id: text('external_id').notNull(),
|
|
50
|
+
comment_id: text('comment_id').notNull(),
|
|
51
|
+
status: text('status').notNull(),
|
|
52
|
+
attempts: integer('attempts').notNull().default(0),
|
|
53
|
+
error: text('error'),
|
|
54
|
+
updated_at: bigint('updated_at', { mode: 'number' }).notNull(),
|
|
55
|
+
}, (t) => [primaryKey({ columns: [t.workspace_id, t.source, t.external_id, t.comment_id] })]);
|
|
40
56
|
// Task-source integration (mirror of D1 migration 0014): a workspace's connections
|
|
41
57
|
// to external issue trackers (Jira) and local projections of the issues it imported.
|
|
42
58
|
// `credentials` is an encrypted JSON bag (AES-256-GCM envelope), never sent on the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../src/db/schema/tracker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../src/db/schema/tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Logger, ServerContainer, TrackerWebhookIngest } from '@cat-factory/server';
|
|
2
|
+
import type { TrackerWebhookEvent } from '@cat-factory/kernel';
|
|
3
|
+
import type { PgBoss } from 'pg-boss';
|
|
4
|
+
export declare const TRACKER_SYNC_QUEUE = "tracker.sync";
|
|
5
|
+
/** One unit of async tracker work: a verified, parsed delivery for one workspace. */
|
|
6
|
+
export interface TrackerSyncJob {
|
|
7
|
+
workspaceId: string;
|
|
8
|
+
event: TrackerWebhookEvent;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* pg-boss tracker webhook ingest: enqueues a verified, parsed delivery so the receiver acks fast
|
|
12
|
+
* and the worker applies it asynchronously. Node analogue of the Worker's `CfTrackerWebhookIngest`.
|
|
13
|
+
*/
|
|
14
|
+
export declare class PgBossTrackerWebhookIngest implements TrackerWebhookIngest {
|
|
15
|
+
private readonly boss;
|
|
16
|
+
constructor(boss: PgBoss);
|
|
17
|
+
enqueueEvent(workspaceId: string, event: TrackerWebhookEvent): Promise<boolean>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create the tracker-sync queue and start the worker that applies queued deliveries.
|
|
21
|
+
*
|
|
22
|
+
* No-op-safe: with no tracker-webhook module wired (task sources unconfigured) a job is completed
|
|
23
|
+
* (dropped) rather than retried forever — the enqueue path is only reachable through the receiver,
|
|
24
|
+
* which requires the module, so a job with no module is a boot-ordering edge, not a steady state.
|
|
25
|
+
* `localConcurrency` lets independent deliveries apply in parallel, the same throughput lever the
|
|
26
|
+
* GitHub-sync worker uses.
|
|
27
|
+
*/
|
|
28
|
+
export declare function startTrackerSyncWorker(boss: PgBoss, container: ServerContainer, log: Logger, options?: {
|
|
29
|
+
concurrency?: number;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
//# sourceMappingURL=trackerSyncRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackerSyncRunner.d.ts","sourceRoot":"","sources":["../../src/execution/trackerSyncRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAO,MAAM,EAAe,MAAM,SAAS,CAAA;AAgBvD,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAEhD,qFAAqF;AACrF,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,mBAAmB,CAAA;CAC3B;AA4BD;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,oBAAoB;IACzD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,MAAM,EAAI;IAEvC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpF;CACF;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACrC,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// Async TRACKER ingest on pg-boss: the Node analogue of the Worker's `TRACKER_SYNC_QUEUE`
|
|
2
|
+
// consumer, and a deliberate copy of `githubSyncRunner.ts`'s shape for the same reasons.
|
|
3
|
+
//
|
|
4
|
+
// The shared `taskWebhookController` verifies a delivery's HMAC over the raw body, parses it
|
|
5
|
+
// through the source's provider, and hands the neutral event to the `trackerWebhook` gateway
|
|
6
|
+
// seam; on Node that enqueues a job here so the HTTP request acks fast — every tracker expects a
|
|
7
|
+
// prompt 2xx and will redeliver otherwise, and the handle can fire a whole pipeline (intake) or
|
|
8
|
+
// drive a parked review through an LLM incorporation (a reply), neither of which belongs inside a
|
|
9
|
+
// webhook request. A registered worker drains the queue and applies each job through the SAME
|
|
10
|
+
// `TrackerWebhookService` the inline path uses, so only WHERE the work runs changes.
|
|
11
|
+
//
|
|
12
|
+
// A queue-less container (a pure-logic test, a local dev boot with no boss) gets the shared
|
|
13
|
+
// `InlineTrackerWebhookIngest` instead and the controller applies the event in-request.
|
|
14
|
+
export const TRACKER_SYNC_QUEUE = 'tracker.sync';
|
|
15
|
+
// Retry a handful of times with backoff so a transient failure (a DB blip, a rate-limited tracker
|
|
16
|
+
// comment) is redriven rather than dropped. The apply is idempotent by the ingest CLAIM (a comment
|
|
17
|
+
// already applied is skipped, an abandoned claim is retaken), so a retry is safe — which is
|
|
18
|
+
// exactly why the claim had to exist before this queue did.
|
|
19
|
+
const RETRY_LIMIT = 5;
|
|
20
|
+
const RETRY_DELAY_SECONDS = 5;
|
|
21
|
+
// `expireInSeconds` is an ABSOLUTE cap on a single job (pg-boss times a job out at
|
|
22
|
+
// `started_on + expireInSeconds`; heartbeats do NOT refresh it). A reply's apply runs an
|
|
23
|
+
// incorporation LLM call in the worst case, so size it past that with headroom — but well below
|
|
24
|
+
// the ingest claim's abandonment window, or an expired job would be retried while its claim is
|
|
25
|
+
// still considered in-flight and the comment would go unanswered until the window elapsed.
|
|
26
|
+
const EXPIRE_SECONDS = 5 * 60;
|
|
27
|
+
// Fast crash recovery, DECOUPLED from that cap: a live worker auto-heartbeats its active job, so
|
|
28
|
+
// a crashed worker is detected within `HEARTBEAT_SECONDS` and pg-boss frees the job for a retry.
|
|
29
|
+
const HEARTBEAT_SECONDS = 60;
|
|
30
|
+
function sendOptions() {
|
|
31
|
+
return {
|
|
32
|
+
retryLimit: RETRY_LIMIT,
|
|
33
|
+
retryDelay: RETRY_DELAY_SECONDS,
|
|
34
|
+
retryBackoff: true,
|
|
35
|
+
expireInSeconds: EXPIRE_SECONDS,
|
|
36
|
+
heartbeatSeconds: HEARTBEAT_SECONDS,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* pg-boss tracker webhook ingest: enqueues a verified, parsed delivery so the receiver acks fast
|
|
41
|
+
* and the worker applies it asynchronously. Node analogue of the Worker's `CfTrackerWebhookIngest`.
|
|
42
|
+
*/
|
|
43
|
+
export class PgBossTrackerWebhookIngest {
|
|
44
|
+
boss;
|
|
45
|
+
constructor(boss) {
|
|
46
|
+
this.boss = boss;
|
|
47
|
+
}
|
|
48
|
+
async enqueueEvent(workspaceId, event) {
|
|
49
|
+
await this.boss.send(TRACKER_SYNC_QUEUE, { workspaceId, event }, sendOptions());
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Create the tracker-sync queue and start the worker that applies queued deliveries.
|
|
55
|
+
*
|
|
56
|
+
* No-op-safe: with no tracker-webhook module wired (task sources unconfigured) a job is completed
|
|
57
|
+
* (dropped) rather than retried forever — the enqueue path is only reachable through the receiver,
|
|
58
|
+
* which requires the module, so a job with no module is a boot-ordering edge, not a steady state.
|
|
59
|
+
* `localConcurrency` lets independent deliveries apply in parallel, the same throughput lever the
|
|
60
|
+
* GitHub-sync worker uses.
|
|
61
|
+
*/
|
|
62
|
+
export async function startTrackerSyncWorker(boss, container, log, options = {}) {
|
|
63
|
+
const concurrency = Math.max(1, options.concurrency ?? 5);
|
|
64
|
+
await boss.createQueue(TRACKER_SYNC_QUEUE);
|
|
65
|
+
await boss.work(TRACKER_SYNC_QUEUE, { localConcurrency: concurrency }, async (jobs) => {
|
|
66
|
+
const service = container.trackerWebhook?.service;
|
|
67
|
+
if (!service)
|
|
68
|
+
return;
|
|
69
|
+
for (const job of jobs) {
|
|
70
|
+
try {
|
|
71
|
+
await service.handle(job.data.workspaceId, job.data.event);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
log.error({
|
|
75
|
+
workspaceId: job.data.workspaceId,
|
|
76
|
+
source: job.data.event.source,
|
|
77
|
+
kind: job.data.event.kind,
|
|
78
|
+
err: error instanceof Error ? error.message : String(error),
|
|
79
|
+
}, 'tracker webhook job failed');
|
|
80
|
+
throw error; // let pg-boss retry/backoff (the durable backstop)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=trackerSyncRunner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackerSyncRunner.js","sourceRoot":"","sources":["../../src/execution/trackerSyncRunner.ts"],"names":[],"mappings":"AAIA,0FAA0F;AAC1F,yFAAyF;AACzF,EAAE;AACF,6FAA6F;AAC7F,6FAA6F;AAC7F,iGAAiG;AACjG,gGAAgG;AAChG,kGAAkG;AAClG,8FAA8F;AAC9F,qFAAqF;AACrF,EAAE;AACF,4FAA4F;AAC5F,wFAAwF;AAExF,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAA;AAQhD,kGAAkG;AAClG,mGAAmG;AACnG,4FAA4F;AAC5F,4DAA4D;AAC5D,MAAM,WAAW,GAAG,CAAC,CAAA;AACrB,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAC7B,mFAAmF;AACnF,yFAAyF;AACzF,gGAAgG;AAChG,+FAA+F;AAC/F,2FAA2F;AAC3F,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,CAAA;AAC7B,iGAAiG;AACjG,iGAAiG;AACjG,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAE5B,SAAS,WAAW;IAClB,OAAO;QACL,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,mBAAmB;QAC/B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,cAAc;QAC/B,gBAAgB,EAAE,iBAAiB;KACpC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IACR,IAAI;IAAjC,YAA6B,IAAY;oBAAZ,IAAI;IAAW,CAAC;IAE7C,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,KAA0B;QAChE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAA;QAC/E,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,SAA0B,EAC1B,GAAW,EACX,OAAO,GAA6B,EAAE;IAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAA;IACzD,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAA;IAC1C,MAAM,IAAI,CAAC,IAAI,CACb,kBAAkB,EAClB,EAAE,gBAAgB,EAAE,WAAW,EAAE,EACjC,KAAK,EAAE,IAA2B,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,EAAE,OAAO,CAAA;QACjD,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CACP;oBACE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW;oBACjC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;oBAC7B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;oBACzB,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC5D,EACD,4BAA4B,CAC7B,CAAA;gBACD,MAAM,KAAK,CAAA,CAAC,mDAAmD;YACjE,CAAC;QACH,CAAC;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
|
package/dist/gateways.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateways.d.ts","sourceRoot":"","sources":["../src/gateways.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"gateways.d.ts","sourceRoot":"","sources":["../src/gateways.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,KAAK,eAAe,EAErB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAgGrC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAgBzF"}
|
package/dist/gateways.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DEEPSEEK_BASE_URL, MOONSHOT_BASE_URL, OPENAI_BASE_URL, OPENROUTER_BASE_URL, QWEN_BASE_URL, } from '@cat-factory/agents';
|
|
2
|
-
import {} from '@cat-factory/server';
|
|
2
|
+
import { InlineTrackerWebhookIngest, } from '@cat-factory/server';
|
|
3
3
|
import { PgBossGitHubBackfillScheduler, PgBossGitHubWebhookIngest, } from './execution/githubSyncRunner.js';
|
|
4
|
+
import { PgBossTrackerWebhookIngest } from './execution/trackerSyncRunner.js';
|
|
4
5
|
// Node implementations of the runtime gateway seams. Async GitHub ingest is backed by
|
|
5
6
|
// pg-boss when the durable job engine is up (the production/dev path): backfills, webhook
|
|
6
7
|
// deliveries and repo resyncs enqueue on the `github.sync` queue so the request acks fast,
|
|
@@ -97,6 +98,10 @@ export function createNodeGateways(env, boss) {
|
|
|
97
98
|
? new PgBossGitHubBackfillScheduler(boss)
|
|
98
99
|
: new InlineGitHubBackfillScheduler(),
|
|
99
100
|
githubWebhook: boss ? new PgBossGitHubWebhookIngest(boss) : new InlineGitHubWebhookIngest(),
|
|
101
|
+
// Inbound TRACKER deliveries. The queue-less fallback is the SHARED inline seam rather than a
|
|
102
|
+
// Node-local class: unlike the GitHub-sync seams there is nothing runtime-specific about doing
|
|
103
|
+
// nothing, and a second copy is a second place for the boolean to be wrong.
|
|
104
|
+
trackerWebhook: boss ? new PgBossTrackerWebhookIngest(boss) : new InlineTrackerWebhookIngest(),
|
|
100
105
|
llmUpstream: new HttpLlmUpstream(env),
|
|
101
106
|
// Container web-search upstream is resolved per-account by the proxy controller
|
|
102
107
|
// (keys moved out of env into the per-account settings store), so no boot-time
|
package/dist/gateways.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateways.js","sourceRoot":"","sources":["../src/gateways.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,aAAa,GACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"gateways.js","sourceRoot":"","sources":["../src/gateways.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountSettingsRecord, AccountSettingsRepository, KeyFingerprintStore, LocalSettingsRecord, LocalSettingsRepository, ModelPreset, ModelPresetRepository, NotificationWebhookRecord, NotificationWebhookRepository, ReviewQuestionPostClaimWindow, ReviewQuestionPostKey, ReviewQuestionPostRecord, ReviewQuestionPostRepository, TrackerSettings, TrackerSettingsRepository, UserSettings, UserSettingsRepository, WorkspaceSettings, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
1
|
+
import type { AccountSettingsRecord, AccountSettingsRepository, KeyFingerprintStore, LocalSettingsRecord, LocalSettingsRepository, ModelPreset, ModelPresetRepository, NotificationWebhookRecord, NotificationWebhookRepository, ReviewQuestionPostClaimWindow, ReviewQuestionPostKey, ReviewQuestionPostRecord, ReviewQuestionPostRepository, TrackerCommentIngestClaimWindow, TrackerCommentIngestKey, TrackerCommentIngestRecord, TrackerCommentIngestRepository, TrackerSettings, TrackerSettingsRepository, UserSettings, UserSettingsRepository, WorkspaceSettings, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { DrizzleDb } from '../../db/client.js';
|
|
3
3
|
export declare class DrizzleKeyFingerprintStore implements KeyFingerprintStore {
|
|
4
4
|
private readonly db;
|
|
@@ -115,4 +115,26 @@ export declare class DrizzleReviewQuestionPostRepository implements ReviewQuesti
|
|
|
115
115
|
}, now: number): Promise<void>;
|
|
116
116
|
get(key: ReviewQuestionPostKey): Promise<ReviewQuestionPostRecord | null>;
|
|
117
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Idempotency markers for INBOUND tracker comments — one row per
|
|
120
|
+
* `(workspace, source, externalId, commentId)` in `tracker_comment_ingests` (mirror of the D1
|
|
121
|
+
* `D1TrackerCommentIngestRepository`).
|
|
122
|
+
*
|
|
123
|
+
* Same atomic-claim shape as {@link DrizzleReviewQuestionPostRepository} above, for the same
|
|
124
|
+
* reason: a read-then-write would let two concurrent deliveries of one comment both decide to
|
|
125
|
+
* apply it, and each apply answers a finding a human is reading.
|
|
126
|
+
*/
|
|
127
|
+
export declare class DrizzleTrackerCommentIngestRepository implements TrackerCommentIngestRepository {
|
|
128
|
+
private readonly db;
|
|
129
|
+
constructor(db: DrizzleDb);
|
|
130
|
+
private where;
|
|
131
|
+
claim(key: TrackerCommentIngestKey, window: TrackerCommentIngestClaimWindow): Promise<boolean>;
|
|
132
|
+
settle(key: TrackerCommentIngestKey, outcome: {
|
|
133
|
+
status: 'applied';
|
|
134
|
+
} | {
|
|
135
|
+
status: 'failed';
|
|
136
|
+
error: string;
|
|
137
|
+
}, now: number): Promise<void>;
|
|
138
|
+
get(key: TrackerCommentIngestKey): Promise<TrackerCommentIngestRecord | null>;
|
|
139
|
+
}
|
|
118
140
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/repositories/drizzle/settings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/repositories/drizzle/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// CoreRepositories set by ./drizzle.ts (the barrel).
|
|
6
6
|
import { parseNotificationWebhookTypes } from '@cat-factory/server';
|
|
7
7
|
import { and, eq, inArray, lte, or, sql } from 'drizzle-orm';
|
|
8
|
-
import { accountSettings, keyFingerprint, localSettings, modelPresets, notificationWebhooks, reviewQuestionPosts, trackerSettings, userSettings, workspaceSettings, } from '../../db/schema.js';
|
|
8
|
+
import { accountSettings, keyFingerprint, localSettings, modelPresets, notificationWebhooks, reviewQuestionPosts, trackerCommentIngests, trackerSettings, userSettings, workspaceSettings, } from '../../db/schema.js';
|
|
9
9
|
/** The fixed singleton-row id for the deployment's key fingerprint (ADR 0026 D6.1). */
|
|
10
10
|
const KEY_FINGERPRINT_ID = 'key';
|
|
11
11
|
export class DrizzleKeyFingerprintStore {
|
|
@@ -542,4 +542,81 @@ export class DrizzleReviewQuestionPostRepository {
|
|
|
542
542
|
};
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
|
+
/**
|
|
546
|
+
* Idempotency markers for INBOUND tracker comments — one row per
|
|
547
|
+
* `(workspace, source, externalId, commentId)` in `tracker_comment_ingests` (mirror of the D1
|
|
548
|
+
* `D1TrackerCommentIngestRepository`).
|
|
549
|
+
*
|
|
550
|
+
* Same atomic-claim shape as {@link DrizzleReviewQuestionPostRepository} above, for the same
|
|
551
|
+
* reason: a read-then-write would let two concurrent deliveries of one comment both decide to
|
|
552
|
+
* apply it, and each apply answers a finding a human is reading.
|
|
553
|
+
*/
|
|
554
|
+
export class DrizzleTrackerCommentIngestRepository {
|
|
555
|
+
db;
|
|
556
|
+
constructor(db) {
|
|
557
|
+
this.db = db;
|
|
558
|
+
}
|
|
559
|
+
where(key) {
|
|
560
|
+
return and(eq(trackerCommentIngests.workspace_id, key.workspaceId), eq(trackerCommentIngests.source, key.source), eq(trackerCommentIngests.external_id, key.externalId), eq(trackerCommentIngests.comment_id, key.commentId));
|
|
561
|
+
}
|
|
562
|
+
async claim(key, window) {
|
|
563
|
+
const claimed = await this.db
|
|
564
|
+
.insert(trackerCommentIngests)
|
|
565
|
+
.values({
|
|
566
|
+
workspace_id: key.workspaceId,
|
|
567
|
+
source: key.source,
|
|
568
|
+
external_id: key.externalId,
|
|
569
|
+
comment_id: key.commentId,
|
|
570
|
+
status: 'pending',
|
|
571
|
+
attempts: 1,
|
|
572
|
+
error: null,
|
|
573
|
+
updated_at: window.now,
|
|
574
|
+
})
|
|
575
|
+
.onConflictDoUpdate({
|
|
576
|
+
target: [
|
|
577
|
+
trackerCommentIngests.workspace_id,
|
|
578
|
+
trackerCommentIngests.source,
|
|
579
|
+
trackerCommentIngests.external_id,
|
|
580
|
+
trackerCommentIngests.comment_id,
|
|
581
|
+
],
|
|
582
|
+
set: {
|
|
583
|
+
status: 'pending',
|
|
584
|
+
attempts: sql `${trackerCommentIngests.attempts} + 1`,
|
|
585
|
+
error: null,
|
|
586
|
+
updated_at: window.now,
|
|
587
|
+
},
|
|
588
|
+
// `failed` retries a transient failure; an old `pending` takes over from an ingester that
|
|
589
|
+
// died mid-apply (see TRACKER_COMMENT_INGEST_CLAIM_TTL_MS). A fresh `pending` is an apply
|
|
590
|
+
// still in flight and must NOT be stolen.
|
|
591
|
+
setWhere: or(eq(trackerCommentIngests.status, 'failed'), and(eq(trackerCommentIngests.status, 'pending'), lte(trackerCommentIngests.updated_at, window.reclaimPendingBefore))),
|
|
592
|
+
})
|
|
593
|
+
.returning({ commentId: trackerCommentIngests.comment_id });
|
|
594
|
+
return claimed.length > 0;
|
|
595
|
+
}
|
|
596
|
+
async settle(key, outcome, now) {
|
|
597
|
+
await this.db
|
|
598
|
+
.update(trackerCommentIngests)
|
|
599
|
+
.set({
|
|
600
|
+
status: outcome.status,
|
|
601
|
+
error: outcome.status === 'failed' ? outcome.error : null,
|
|
602
|
+
updated_at: now,
|
|
603
|
+
})
|
|
604
|
+
.where(this.where(key));
|
|
605
|
+
}
|
|
606
|
+
async get(key) {
|
|
607
|
+
const [row] = await this.db.select().from(trackerCommentIngests).where(this.where(key)).limit(1);
|
|
608
|
+
if (!row)
|
|
609
|
+
return null;
|
|
610
|
+
return {
|
|
611
|
+
workspaceId: row.workspace_id,
|
|
612
|
+
source: row.source,
|
|
613
|
+
externalId: row.external_id,
|
|
614
|
+
commentId: row.comment_id,
|
|
615
|
+
status: row.status,
|
|
616
|
+
attempts: row.attempts,
|
|
617
|
+
error: row.error,
|
|
618
|
+
updatedAt: row.updated_at,
|
|
619
|
+
};
|
|
620
|
+
}
|
|
621
|
+
}
|
|
545
622
|
//# sourceMappingURL=settings.js.map
|