@cat-factory/node-server 0.153.2 → 0.154.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 (115) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +4 -0
  3. package/dist/config.js.map +1 -1
  4. package/dist/container-core-deps.d.ts.map +1 -1
  5. package/dist/container-core-deps.js +9 -1
  6. package/dist/container-core-deps.js.map +1 -1
  7. package/dist/container-executor-deps.d.ts.map +1 -1
  8. package/dist/container-executor-deps.js +4 -1
  9. package/dist/container-executor-deps.js.map +1 -1
  10. package/dist/container-options.d.ts +15 -1
  11. package/dist/container-options.d.ts.map +1 -1
  12. package/dist/container-options.js.map +1 -1
  13. package/dist/db/schema-slack.d.ts +262 -0
  14. package/dist/db/schema-slack.d.ts.map +1 -0
  15. package/dist/db/schema-slack.js +42 -0
  16. package/dist/db/schema-slack.js.map +1 -0
  17. package/dist/db/schema.d.ts +16 -261
  18. package/dist/db/schema.d.ts.map +1 -1
  19. package/dist/db/schema.js +7 -32
  20. package/dist/db/schema.js.map +1 -1
  21. package/dist/environments.d.ts +4 -2
  22. package/dist/environments.d.ts.map +1 -1
  23. package/dist/environments.js +4 -1
  24. package/dist/environments.js.map +1 -1
  25. package/dist/execution/bootstrapRunner.d.ts.map +1 -1
  26. package/dist/execution/bootstrapRunner.js +2 -1
  27. package/dist/execution/bootstrapRunner.js.map +1 -1
  28. package/dist/execution/deadLetter.d.ts +16 -0
  29. package/dist/execution/deadLetter.d.ts.map +1 -0
  30. package/dist/execution/deadLetter.js +40 -0
  31. package/dist/execution/deadLetter.js.map +1 -0
  32. package/dist/execution/envConfigRepairRunner.d.ts.map +1 -1
  33. package/dist/execution/envConfigRepairRunner.js +2 -1
  34. package/dist/execution/envConfigRepairRunner.js.map +1 -1
  35. package/dist/execution/envTestRunner.d.ts +10 -3
  36. package/dist/execution/envTestRunner.d.ts.map +1 -1
  37. package/dist/execution/envTestRunner.js +16 -2
  38. package/dist/execution/envTestRunner.js.map +1 -1
  39. package/dist/execution/githubSyncRunner.d.ts.map +1 -1
  40. package/dist/execution/githubSyncRunner.js +2 -1
  41. package/dist/execution/githubSyncRunner.js.map +1 -1
  42. package/dist/execution/pgBossRunner.d.ts +7 -3
  43. package/dist/execution/pgBossRunner.d.ts.map +1 -1
  44. package/dist/execution/pgBossRunner.js +31 -2
  45. package/dist/execution/pgBossRunner.js.map +1 -1
  46. package/dist/execution/trackerSyncRunner.d.ts.map +1 -1
  47. package/dist/execution/trackerSyncRunner.js +2 -1
  48. package/dist/execution/trackerSyncRunner.js.map +1 -1
  49. package/dist/foundationalServices.d.ts +4 -2
  50. package/dist/foundationalServices.d.ts.map +1 -1
  51. package/dist/foundationalServices.js +4 -1
  52. package/dist/foundationalServices.js.map +1 -1
  53. package/dist/githubReconcile.d.ts +4 -2
  54. package/dist/githubReconcile.d.ts.map +1 -1
  55. package/dist/githubReconcile.js +4 -1
  56. package/dist/githubReconcile.js.map +1 -1
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +7 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/infraReachability.d.ts +4 -2
  62. package/dist/infraReachability.d.ts.map +1 -1
  63. package/dist/infraReachability.js +5 -2
  64. package/dist/infraReachability.js.map +1 -1
  65. package/dist/initiativeLoop.d.ts +4 -2
  66. package/dist/initiativeLoop.d.ts.map +1 -1
  67. package/dist/initiativeLoop.js +4 -1
  68. package/dist/initiativeLoop.js.map +1 -1
  69. package/dist/kaizen.d.ts +4 -2
  70. package/dist/kaizen.d.ts.map +1 -1
  71. package/dist/kaizen.js +4 -1
  72. package/dist/kaizen.js.map +1 -1
  73. package/dist/notifications.d.ts +4 -2
  74. package/dist/notifications.d.ts.map +1 -1
  75. package/dist/notifications.js +5 -2
  76. package/dist/notifications.js.map +1 -1
  77. package/dist/platformHealth.d.ts +4 -2
  78. package/dist/platformHealth.d.ts.map +1 -1
  79. package/dist/platformHealth.js +5 -2
  80. package/dist/platformHealth.js.map +1 -1
  81. package/dist/platformMetrics.d.ts +17 -3
  82. package/dist/platformMetrics.d.ts.map +1 -1
  83. package/dist/platformMetrics.js +23 -3
  84. package/dist/platformMetrics.js.map +1 -1
  85. package/dist/queueDepth.d.ts +38 -0
  86. package/dist/queueDepth.d.ts.map +1 -0
  87. package/dist/queueDepth.js +69 -0
  88. package/dist/queueDepth.js.map +1 -0
  89. package/dist/readiness.d.ts +16 -0
  90. package/dist/readiness.d.ts.map +1 -1
  91. package/dist/readiness.js +34 -9
  92. package/dist/readiness.js.map +1 -1
  93. package/dist/recurring.d.ts +4 -2
  94. package/dist/recurring.d.ts.map +1 -1
  95. package/dist/recurring.js +4 -1
  96. package/dist/recurring.js.map +1 -1
  97. package/dist/repositories/drizzle/execution.d.ts +1 -0
  98. package/dist/repositories/drizzle/execution.d.ts.map +1 -1
  99. package/dist/repositories/drizzle/execution.js +12 -0
  100. package/dist/repositories/drizzle/execution.js.map +1 -1
  101. package/dist/retention.d.ts +22 -6
  102. package/dist/retention.d.ts.map +1 -1
  103. package/dist/retention.js +37 -23
  104. package/dist/retention.js.map +1 -1
  105. package/dist/server.d.ts +9 -0
  106. package/dist/server.d.ts.map +1 -1
  107. package/dist/server.js +54 -18
  108. package/dist/server.js.map +1 -1
  109. package/dist/sweeper.d.ts +10 -0
  110. package/dist/sweeper.d.ts.map +1 -1
  111. package/dist/sweeper.js +8 -2
  112. package/dist/sweeper.js.map +1 -1
  113. package/drizzle/20260803043617_bent_spitfire/migration.sql +1 -0
  114. package/drizzle/20260803043617_bent_spitfire/snapshot.json +18998 -0
  115. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/repositories/drizzle/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/repositories/drizzle/execution.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { AgentContextSnapshotRepository, AgentSearchQueryRepository, ResolveBinaryArtifactStore, Clock, CommitProjectionRepository, LlmCallMetricRepository, NotificationRepository, PasswordResetTokenRepository, PipelineScheduleRepository, ProvisioningLogRepository, SubscriptionActivationRepository, SubscriptionQuotaCycleRepository, TokenUsageRepository, WorkspaceRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
2
- import type { Logger, RetentionConfig } from '@cat-factory/server';
2
+ import type { Logger, RetentionConfig, SweepHealthTracker } from '@cat-factory/server';
3
3
  /** The Node-persisted repositories with an age-based prune. */
4
4
  export interface RetentionRepos {
5
5
  tokenUsageRepository: Pick<TokenUsageRepository, 'deleteOlderThan'>;
@@ -14,7 +14,7 @@ export interface RetentionRepos {
14
14
  commitRepository: Pick<CommitProjectionRepository, 'deleteOlderThan'>;
15
15
  notificationRepository: Pick<NotificationRepository, 'deleteResolvedOlderThan'>;
16
16
  }
17
- /** Rows reclaimed from each table, for logging. */
17
+ /** Rows reclaimed from each table, plus the tables the pass could not prune. */
18
18
  export interface RetentionResult {
19
19
  tokenUsage: number;
20
20
  llmCallMetrics: number;
@@ -27,20 +27,34 @@ export interface RetentionResult {
27
27
  passwordResetTokens: number;
28
28
  commits: number;
29
29
  notifications: number;
30
+ /**
31
+ * The tables whose prune threw this pass. EMPTY on a clean pass. Reported separately from
32
+ * the counts because a failed prune and an empty table both reclaim 0 rows, and only one of
33
+ * them means the table is still growing.
34
+ */
35
+ failedTables: string[];
30
36
  }
31
37
  /**
32
38
  * Prune each Node-persisted unbounded table to its retention window. Pure over its
33
39
  * repos so it is unit-testable without a database (mirrors the Worker's pure
34
- * `sweepRetention`). Returns the counts removed per table.
40
+ * `sweepRetention`). Returns the counts removed per table plus the tables that failed.
41
+ *
42
+ * Every table is pruned in ISOLATION (slice 4.4): the passes used to be a chain of bare
43
+ * `await`s, so the first failing `deleteOlderThan` aborted every later one — indefinitely,
44
+ * since the same table failed on every subsequent pass too. The heaviest tables
45
+ * (`llm_call_metrics`, the agent-context snapshots) sit late in the chain, which made that
46
+ * the worst possible ordering. Shared with the Worker's twin via `createRetentionPass`.
35
47
  */
36
- export declare function sweepRetention(repos: RetentionRepos, retention: RetentionConfig, now: number): Promise<RetentionResult>;
48
+ export declare function sweepRetention(repos: RetentionRepos, retention: RetentionConfig, now: number, logger?: Logger): Promise<RetentionResult>;
37
49
  /**
38
50
  * Start the periodic retention sweep, the Node analogue of the Worker's cron prune.
39
51
  * Runs once immediately (so a restart reclaims promptly) then on an hourly timer.
40
52
  * Best-effort: a failed sweep is logged and retried next tick, never thrown. Returns
41
53
  * a stop function that clears the timer.
42
54
  */
43
- export declare function startRetentionSweeper(repos: RetentionRepos, retention: RetentionConfig, clock: Clock, log: Logger): () => void;
55
+ export declare function startRetentionSweeper(repos: RetentionRepos, retention: RetentionConfig, clock: Clock, log: Logger,
56
+ /** Records each pass's outcome under this sweep's name (see {@link startSweeper}). */
57
+ health: SweepHealthTracker): () => void;
44
58
  /**
45
59
  * Start the per-workspace binary-artifact retention sweep (the Node analogue of the Worker's
46
60
  * artifact-retention cron). Unlike the global ledger sweep above, retention here is a
@@ -48,5 +62,7 @@ export declare function startRetentionSweeper(repos: RetentionRepos, retention:
48
62
  * reference images — bytes and metadata — past its own `artifactRetentionDays` window. Runs
49
63
  * once immediately then hourly; best-effort. Returns a stop function.
50
64
  */
51
- export declare function startArtifactRetentionSweeper(resolveStore: ResolveBinaryArtifactStore, workspaceRepository: Pick<WorkspaceRepository, 'listVisible'>, settingsRepository: Pick<WorkspaceSettingsRepository, 'get'>, clock: Clock, log: Logger): () => void;
65
+ export declare function startArtifactRetentionSweeper(resolveStore: ResolveBinaryArtifactStore, workspaceRepository: Pick<WorkspaceRepository, 'listVisible'>, settingsRepository: Pick<WorkspaceSettingsRepository, 'get'>, clock: Clock, log: Logger,
66
+ /** Records each pass's outcome under this sweep's name (see {@link startSweeper}). */
67
+ health: SweepHealthTracker): () => void;
52
68
  //# sourceMappingURL=retention.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,gCAAgC,EAChC,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAwBlE,+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;IAEvF,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;IAC/E,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;IAG/E,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,EAAE,eAAe,CAAC,CAAA;IAEzF,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAA;IAE3F,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;IAGrE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAA;CAChF;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACtB;AAmBD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CAqC1B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CAaZ;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,CAuBZ"}
1
+ {"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,gCAAgC,EAChC,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAwBtF,+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;IAEvF,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;IAC/E,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;IAG/E,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,EAAE,eAAe,CAAC,CAAA;IAEzF,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAA;IAE3F,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;IAGrE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAA;CAChF;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AASD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CAsD1B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM;AACX,sFAAsF;AACtF,MAAM,EAAE,kBAAkB,GACzB,MAAM,IAAI,CAyBZ;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;AACX,sFAAsF;AACtF,MAAM,EAAE,kBAAkB,GACzB,MAAM,IAAI,CAwBZ"}
package/dist/retention.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { DEFAULT_WORKSPACE_SETTINGS } from '@cat-factory/kernel';
2
- import { sweepBinaryArtifactRetention } from '@cat-factory/orchestration';
2
+ import { createRetentionPass, sweepBinaryArtifactRetention } from '@cat-factory/orchestration';
3
3
  import { startSweeper } from './sweeper.js';
4
4
  /** Recurring-pipeline run history is kept ~1 week (the inspector's window). */
5
5
  const SCHEDULE_RUN_RETENTION_MS = 7 * 24 * 60 * 60 * 1000;
@@ -16,37 +16,39 @@ const SUBSCRIPTION_QUOTA_CYCLE_RETENTION_MS = 30 * 24 * 60 * 60 * 1000;
16
16
  * delete that usually reclaims nothing.
17
17
  */
18
18
  const RETENTION_SWEEP_INTERVAL_MS = 60 * 60 * 1000;
19
- /** Delete rows older than `now - windowMs`, treating a non-positive window as "disabled". */
20
- async function prune(windowMs, now, del) {
21
- if (windowMs <= 0)
22
- return 0;
23
- return del(now - windowMs);
24
- }
25
19
  /**
26
20
  * Prune each Node-persisted unbounded table to its retention window. Pure over its
27
21
  * repos so it is unit-testable without a database (mirrors the Worker's pure
28
- * `sweepRetention`). Returns the counts removed per table.
22
+ * `sweepRetention`). Returns the counts removed per table plus the tables that failed.
23
+ *
24
+ * Every table is pruned in ISOLATION (slice 4.4): the passes used to be a chain of bare
25
+ * `await`s, so the first failing `deleteOlderThan` aborted every later one — indefinitely,
26
+ * since the same table failed on every subsequent pass too. The heaviest tables
27
+ * (`llm_call_metrics`, the agent-context snapshots) sit late in the chain, which made that
28
+ * the worst possible ordering. Shared with the Worker's twin via `createRetentionPass`.
29
29
  */
30
- export async function sweepRetention(repos, retention, now) {
30
+ export async function sweepRetention(repos, retention, now, logger) {
31
+ const pass = createRetentionPass(logger);
31
32
  return {
32
- tokenUsage: await prune(retention.tokenUsageMs, now, (c) => repos.tokenUsageRepository.deleteOlderThan(c)),
33
- llmCallMetrics: await prune(retention.llmCallMetricsMs, now, (c) => repos.llmCallMetricRepository.deleteOlderThan(c)),
33
+ tokenUsage: await pass.prune('token_usage', retention.tokenUsageMs, now, (c) => repos.tokenUsageRepository.deleteOlderThan(c)),
34
+ llmCallMetrics: await pass.prune('llm_call_metrics', retention.llmCallMetricsMs, now, (c) => repos.llmCallMetricRepository.deleteOlderThan(c)),
34
35
  // Same window as the LLM call telemetry: heavy prompt + injected-file bodies.
35
- agentContextSnapshots: await prune(retention.llmCallMetricsMs, now, (c) => repos.agentContextSnapshotRepository.deleteOlderThan(c)),
36
+ agentContextSnapshots: await pass.prune('agent_context_snapshots', retention.llmCallMetricsMs, now, (c) => repos.agentContextSnapshotRepository.deleteOlderThan(c)),
36
37
  // Same window as the LLM call telemetry (performed web-search queries).
37
- agentSearchQueries: await prune(retention.llmCallMetricsMs, now, (c) => repos.agentSearchQueryRepository.deleteOlderThan(c)),
38
+ agentSearchQueries: await pass.prune('agent_search_queries', retention.llmCallMetricsMs, now, (c) => repos.agentSearchQueryRepository.deleteOlderThan(c)),
38
39
  // Fixed ~1-week window (not part of the configurable retention policy).
39
- scheduleRuns: await prune(SCHEDULE_RUN_RETENTION_MS, now, (c) => repos.pipelineScheduleRepository.pruneRunsBefore(c)),
40
+ scheduleRuns: await pass.prune('pipeline_schedule_runs', SCHEDULE_RUN_RETENTION_MS, now, (c) => repos.pipelineScheduleRepository.pruneRunsBefore(c)),
40
41
  // Delete activations whose own TTL (expires_at) has passed — `now`, not a window.
41
- activations: await repos.subscriptionActivationRepository.deleteExpired(now),
42
+ activations: await pass.expire('subscription_activations', () => repos.subscriptionActivationRepository.deleteExpired(now)),
42
43
  // Idle quota cycles past the fixed 30-day window (well beyond the weekly one).
43
- subscriptionQuotaCycles: await prune(SUBSCRIPTION_QUOTA_CYCLE_RETENTION_MS, now, (c) => repos.subscriptionQuotaCycleRepository.deleteOlderThan(c)),
44
- provisioningLog: await prune(retention.provisioningLogMs, now, (c) => repos.provisioningLogRepository.deleteOlderThan(c)),
44
+ subscriptionQuotaCycles: await pass.prune('subscription_quota_cycles', SUBSCRIPTION_QUOTA_CYCLE_RETENTION_MS, now, (c) => repos.subscriptionQuotaCycleRepository.deleteOlderThan(c)),
45
+ provisioningLog: await pass.prune('provisioning_log', retention.provisioningLogMs, now, (c) => repos.provisioningLogRepository.deleteOlderThan(c)),
45
46
  // Reset tokens past their own expiry — `now`, not a window (like activations).
46
- passwordResetTokens: await repos.passwordResetTokenRepository.deleteExpired(now),
47
- commits: await prune(retention.commitMs, now, (c) => repos.commitRepository.deleteOlderThan(c)),
47
+ passwordResetTokens: await pass.expire('password_reset_tokens', () => repos.passwordResetTokenRepository.deleteExpired(now)),
48
+ commits: await pass.prune('github_commits', retention.commitMs, now, (c) => repos.commitRepository.deleteOlderThan(c)),
48
49
  // Resolved (acted/dismissed) notifications past the window; open cards untouched.
49
- notifications: await prune(retention.notificationsMs, now, (c) => repos.notificationRepository.deleteResolvedOlderThan(c)),
50
+ notifications: await pass.prune('notifications', retention.notificationsMs, now, (c) => repos.notificationRepository.deleteResolvedOlderThan(c)),
51
+ failedTables: pass.failed,
50
52
  };
51
53
  }
52
54
  /**
@@ -55,17 +57,26 @@ export async function sweepRetention(repos, retention, now) {
55
57
  * Best-effort: a failed sweep is logged and retried next tick, never thrown. Returns
56
58
  * a stop function that clears the timer.
57
59
  */
58
- export function startRetentionSweeper(repos, retention, clock, log) {
60
+ export function startRetentionSweeper(repos, retention, clock, log,
61
+ /** Records each pass's outcome under this sweep's name (see {@link startSweeper}). */
62
+ health) {
59
63
  return startSweeper({
60
64
  name: 'retention',
61
65
  intervalMs: RETENTION_SWEEP_INTERVAL_MS,
62
66
  log,
67
+ health,
63
68
  failureMessage: 'retention sweep failed',
64
69
  tick: async () => {
65
- const reclaimed = await sweepRetention(repos, retention, clock.now());
70
+ const { failedTables, ...reclaimed } = await sweepRetention(repos, retention, clock.now(), log);
66
71
  if (Object.values(reclaimed).some((n) => n > 0)) {
67
72
  log.info('retention sweep reclaimed rows', { ...reclaimed });
68
73
  }
74
+ // Each failure was already warned at its table; this names the SET, so "one table has
75
+ // been failing every hour for a week" is one greppable line rather than a pattern
76
+ // someone has to notice across hundreds.
77
+ if (failedTables.length > 0) {
78
+ log.warn('retention sweep could not prune every table', { failedTables });
79
+ }
69
80
  },
70
81
  });
71
82
  }
@@ -76,11 +87,14 @@ export function startRetentionSweeper(repos, retention, clock, log) {
76
87
  * reference images — bytes and metadata — past its own `artifactRetentionDays` window. Runs
77
88
  * once immediately then hourly; best-effort. Returns a stop function.
78
89
  */
79
- export function startArtifactRetentionSweeper(resolveStore, workspaceRepository, settingsRepository, clock, log) {
90
+ export function startArtifactRetentionSweeper(resolveStore, workspaceRepository, settingsRepository, clock, log,
91
+ /** Records each pass's outcome under this sweep's name (see {@link startSweeper}). */
92
+ health) {
80
93
  return startSweeper({
81
94
  name: 'artifact-retention',
82
95
  intervalMs: RETENTION_SWEEP_INTERVAL_MS,
83
96
  log,
97
+ health,
84
98
  failureMessage: 'artifact retention sweep failed',
85
99
  tick: async () => {
86
100
  const removed = await sweepBinaryArtifactRetention({
@@ -1 +1 @@
1
- {"version":3,"file":"retention.js","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retention.js","sourceRoot":"","sources":["../src/retention.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AAE9F,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,+EAA+E;AAC/E,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,qCAAqC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AA6DtE;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAElD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAqB,EACrB,SAA0B,EAC1B,GAAW,EACX,MAAe;IAEf,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO;QACL,UAAU,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7E,KAAK,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAC9C;QACD,cAAc,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1F,KAAK,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC,CACjD;QACD,8EAA8E;QAC9E,qBAAqB,EAAE,MAAM,IAAI,CAAC,KAAK,CACrC,yBAAyB,EACzB,SAAS,CAAC,gBAAgB,EAC1B,GAAG,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC,CAAC,CAC/D;QACD,wEAAwE;QACxE,kBAAkB,EAAE,MAAM,IAAI,CAAC,KAAK,CAClC,sBAAsB,EACtB,SAAS,CAAC,gBAAgB,EAC1B,GAAG,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC,CAAC,CAC3D;QACD,wEAAwE;QACxE,YAAY,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7F,KAAK,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC,CAAC,CACpD;QACD,kFAAkF;QAClF,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAC9D,KAAK,CAAC,gCAAgC,CAAC,aAAa,CAAC,GAAG,CAAC,CAC1D;QACD,+EAA+E;QAC/E,uBAAuB,EAAE,MAAM,IAAI,CAAC,KAAK,CACvC,2BAA2B,EAC3B,qCAAqC,EACrC,GAAG,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC,CAAC,CACjE;QACD,eAAe,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAC5F,KAAK,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC,CACnD;QACD,+EAA+E;QAC/E,mBAAmB,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,GAAG,EAAE,CACnE,KAAK,CAAC,4BAA4B,CAAC,aAAa,CAAC,GAAG,CAAC,CACtD;QACD,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CACzE,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAC1C;QACD,kFAAkF;QAClF,aAAa,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CACrF,KAAK,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CACxD;QACD,YAAY,EAAE,IAAI,CAAC,MAAM;KAC1B,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAqB,EACrB,SAA0B,EAC1B,KAAY,EACZ,GAAW;AACX,sFAAsF;AACtF,MAA0B;IAE1B,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,2BAA2B;QACvC,GAAG;QACH,MAAM;QACN,cAAc,EAAE,wBAAwB;QACxC,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,GAAG,MAAM,cAAc,CACzD,KAAK,EACL,SAAS,EACT,KAAK,CAAC,GAAG,EAAE,EACX,GAAG,CACJ,CAAA;YACD,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD,sFAAsF;YACtF,kFAAkF;YAClF,yCAAyC;YACzC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,YAAwC,EACxC,mBAA6D,EAC7D,kBAA4D,EAC5D,KAAY,EACZ,GAAW;AACX,sFAAsF;AACtF,MAA0B;IAE1B,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,2BAA2B;QACvC,GAAG;QACH,MAAM;QACN,cAAc,EAAE,iCAAiC;QACjD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC;gBACjD,YAAY;gBACZ,gBAAgB,EAAE,GAAG,EAAE,CACrB,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzE,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CAChC,kBAAkB;qBACf,GAAG,CAAC,WAAW,CAAC;qBAChB,IAAI,CACH,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,qBAAqB,IAAI,0BAA0B,CAAC,qBAAqB,CACpF;gBACL,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;aACjB,CAAC,CAAA;YACF,IAAI,OAAO,GAAG,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAA;QACrF,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
package/dist/server.d.ts CHANGED
@@ -104,6 +104,15 @@ export declare function start(options?: {
104
104
  * resolve as the `builtin` tier of every workspace's catalog. Absent → an empty catalog tier.
105
105
  */
106
106
  foundationalServiceRegistry?: NodeContainerOptions['foundationalServiceRegistry'];
107
+ /**
108
+ * App-owned DI seam for the deployment's GENERATIVE BINARY INTEGRATIONS (the same shape once
109
+ * more): a deployment news a `defaultBinaryGeneratorRegistry()`, registers the image / music /
110
+ * video generation APIs it pays for on it by reference, and passes it here. A pipeline step
111
+ * whose kind carries the `binary-output` trait then SELECTS from them
112
+ * (`stepOptions.binaryOutput.generatorIds`). Absent → an empty registry, so any step selecting
113
+ * an integration is refused at admission rather than dispatching an agent that cannot generate.
114
+ */
115
+ binaryGeneratorRegistry?: NodeContainerOptions['binaryGeneratorRegistry'];
107
116
  /**
108
117
  * The address to bind the HTTP listener to. Defaults to `HOST` from the env, else
109
118
  * all interfaces. A facade or operator can pass `127.0.0.1` to keep the service off
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
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,EAGX,KAAK,aAAa,EAClB,KAAK,eAAe,EAiBrB,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,KAAK,gBAAgB,EAAmB,MAAM,sBAAsB,CAAA;AAE7E,OAAO,EAAE,KAAK,oBAAoB,EAAsB,MAAM,gBAAgB,CAAA;AAuB9E,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,KAAK,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAoB1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAMjD,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;CAAG;AAEpE,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B;AAED,wFAAwF;AACxF,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,gBAAqB,GAC1B,IAAI,CAAC,MAAM,CAAC,CAgDd;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;IACb;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;CACxC,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;IAAC,YAAY,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;CAAE,CAexF;AAcD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EAAE,EACzB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,UAAU,CAAC,OAAO,KAAK,CAAC,CAU1B;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;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAA;IAC7D;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,oBAAoB,CAAC,0BAA0B,CAAC,CAAA;IAC3E;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAA;IAC3D;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,oBAAoB,CAAC,6BAA6B,CAAC,CAAA;IACjF;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAA;IACzE;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACzC;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;;;OAQG;IACH,uBAAuB,CAAC,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAA;IACzE;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAA;IAC3D;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,CAAA;CAClE,GACL,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAqBnC;AA4ND;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,IAAI,CACb,eAAe,EACf,0BAA0B,GAAG,mBAAmB,GAAG,kBAAkB,CACtE,EACD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAyBf"}
package/dist/server.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { serve } from '@hono/node-server';
2
- import { CORS_ALLOWED_HEADERS, CORS_EXPOSED_HEADERS, corsReflectsWhenUnset, createMisconfiguredApp, formatConfigProblems, handleError, isConfigValidationError, logger, parseLogLevel, mountAuthGate, mountRequestLogging, setLogLevel, registerCoreControllers, resolveCorsOrigin, sweepKeyDriftAndRaise, WebCryptoSecretCipher, } from '@cat-factory/server';
2
+ import { CORS_ALLOWED_HEADERS, CORS_EXPOSED_HEADERS, corsReflectsWhenUnset, createMisconfiguredApp, formatConfigProblems, handleError, isConfigValidationError, logger, operationalMetrics, parseLogLevel, mountAuthGate, mountRequestLogging, setLogLevel, registerCoreControllers, resolveCorsOrigin, sweepHealth, sweepKeyDriftAndRaise, WebCryptoSecretCipher, } from '@cat-factory/server';
3
3
  import { bootPersistence } from './bootPersistence.js';
4
4
  import { installProcessFailureGuards } from './processGuards.js';
5
5
  import { startBootClock } from './bootTimings.js';
@@ -35,6 +35,8 @@ import { createDrizzleRepositories } from './repositories/drizzle.js';
35
35
  import { DrizzleEnvironmentTestRunRepository } from './repositories/environmentTest.js';
36
36
  import { startGitHubReconcileSweeper } from './githubReconcile.js';
37
37
  import { startPlatformMetricsSweeper } from './platformMetrics.js';
38
+ import { startSweeper } from './sweeper.js';
39
+ import { DEAD_LETTER_SWEEP_INTERVAL_MS, probePgBossQueueDepth, sweepDeadLetterQueues, } from './queueDepth.js';
38
40
  import { DrizzleCommitProjectionRepository, DrizzleRepoProjectionRepository, } from './repositories/github.js';
39
41
  import { DrizzleSubscriptionActivationRepository } from './repositories/personalSubscription.js';
40
42
  import { DrizzleNotificationRepository } from './repositories/notifications.js';
@@ -207,13 +209,17 @@ async function startDurableWorkers(boss, container, runtime) {
207
209
  */
208
210
  function startBackgroundSweepers(deps) {
209
211
  const { boss, pool, db, container, repos, runtime, clock, env } = deps;
210
- const stopSweeper = startStaleRunSweeper(boss, pool, container, runtime.sweeper, runtime.queue, logger);
212
+ const stopSweeper = startStaleRunSweeper(boss, pool, container, runtime.sweeper, runtime.queue, {
213
+ log: logger,
214
+ metrics: operationalMetrics,
215
+ health: sweepHealth,
216
+ });
211
217
  // Env-test self-tests live in their own table (not agent_runs), so the stale-run
212
218
  // sweeper above never sees them — this sibling re-enqueues a drive for any stale run;
213
219
  // the drive's own budget-exhaustion finalize settles one that still can't finish.
214
220
  // Reads the LOCAL store directly (sweeping is deployment-internal, like the other
215
221
  // `listStale` surfaces): on a satellite the local table is empty and this no-ops.
216
- const stopEnvTestSweeper = startEnvTestSweeper(new PgBossEnvironmentTestRunner(boss, runtime.queue), new DrizzleEnvironmentTestRunRepository(db), { leaseMs: runtime.sweeper.leaseMs, intervalMs: runtime.sweeper.intervalMs }, logger);
222
+ const stopEnvTestSweeper = startEnvTestSweeper(new PgBossEnvironmentTestRunner(boss, runtime.queue), new DrizzleEnvironmentTestRunRepository(db), { leaseMs: runtime.sweeper.leaseMs, intervalMs: runtime.sweeper.intervalMs }, logger, operationalMetrics, sweepHealth);
217
223
  // Bound the unbounded tables (`token_usage`, the heavy `llm_call_metrics`): the Worker
218
224
  // prunes these from cron, Node has none, so a timer mirrors it. Without this the
219
225
  // observability sink — full per-call prompt/response — grows forever on Postgres.
@@ -229,30 +235,30 @@ function startBackgroundSweepers(deps) {
229
235
  passwordResetTokenRepository: repos.passwordResetTokenRepository,
230
236
  commitRepository: new DrizzleCommitProjectionRepository(db),
231
237
  notificationRepository: new DrizzleNotificationRepository(db),
232
- }, container.config.retention, clock, logger);
238
+ }, container.config.retention, clock, logger, sweepHealth);
233
239
  // Per-workspace binary-artifact (screenshot) retention; only when content storage is wired
234
240
  // (the resolver is present once an encryption key is configured). The sweep resolves each
235
241
  // workspace's per-account store itself.
236
242
  const stopArtifactRetention = container.resolveBinaryArtifactStore
237
- ? startArtifactRetentionSweeper(container.resolveBinaryArtifactStore, repos.workspaceRepository, repos.workspaceSettingsRepository, clock, logger)
243
+ ? startArtifactRetentionSweeper(container.resolveBinaryArtifactStore, repos.workspaceRepository, repos.workspaceSettingsRepository, clock, logger, sweepHealth)
238
244
  : () => { };
239
245
  // Fire due recurring pipelines on a one-minute timer (the Worker uses cron).
240
- const stopScheduleSweeper = startScheduleSweeper(container, clock, logger);
246
+ const stopScheduleSweeper = startScheduleSweeper(container, clock, logger, sweepHealth);
241
247
  // Tick the initiative execution loop on a one-minute timer (the Worker uses cron); reconciles
242
248
  // + spawns for every executing initiative. Terminal child runs poke the loop directly, so this
243
249
  // is the backstop cadence; no-op unless the initiatives module is wired. Resolve the interval
244
250
  // from the INJECTED `env` (not `process.env`) so an `INITIATIVE_LOOP_INTERVAL_MS` passed through
245
251
  // `start({ env })` is honoured — the e2e backend relies on the fast sweep for its first spawn.
246
- const stopInitiativeLoop = startInitiativeLoopSweeper(container, clock, logger, resolveSweepInterval(env));
252
+ const stopInitiativeLoop = startInitiativeLoopSweeper(container, clock, logger, sweepHealth, resolveSweepInterval(env));
247
253
  // Tear down expired ephemeral environments (the Worker uses cron); no-op unless the
248
254
  // environments integration is wired.
249
- const stopEnvironmentSweeper = startEnvironmentSweeper(container, clock, logger);
255
+ const stopEnvironmentSweeper = startEnvironmentSweeper(container, clock, logger, sweepHealth);
250
256
  // Escalate long-waiting notifications yellow → red (the Worker uses cron); the
251
257
  // overdue-human signal now that runs never time out waiting for input.
252
- const stopNotificationEscalation = startNotificationEscalationSweeper(container, clock, logger);
258
+ const stopNotificationEscalation = startNotificationEscalationSweeper(container, clock, logger, sweepHealth);
253
259
  // Run pending Kaizen gradings on a one-minute timer (the Worker uses cron); no-op
254
260
  // unless the Kaizen feature is wired.
255
- const stopKaizenSweeper = startKaizenSweeper(container, clock, logger);
261
+ const stopKaizenSweeper = startKaizenSweeper(container, clock, logger, sweepHealth);
256
262
  // Re-sync stale GitHub repo projections — the backstop for missed webhooks (the
257
263
  // Worker's `github-reconcile` cron); no-op unless the GitHub App module is wired.
258
264
  const stopGitHubReconcile = container.github
@@ -260,7 +266,7 @@ function startBackgroundSweepers(deps) {
260
266
  repoProjectionRepository: new DrizzleRepoProjectionRepository(db),
261
267
  installationRepository: new DrizzleGitHubInstallationRepository(db),
262
268
  syncRepoById: (workspaceId, repoGithubId) => container.github.syncService.syncRepoById(workspaceId, repoGithubId),
263
- }, clock, logger)
269
+ }, clock, logger, sweepHealth)
264
270
  : () => { };
265
271
  // Push deployment-level (platform-operator) observability aggregates to the OTLP endpoint
266
272
  // as OpenTelemetry gauge metrics (the Worker uses cron). No-op unless the platform
@@ -270,21 +276,39 @@ function startBackgroundSweepers(deps) {
270
276
  otel: container.config.otel,
271
277
  platformObservability: container.platformObservability,
272
278
  workspaceRepository: repos.workspaceRepository,
273
- }, clock, logger)
279
+ // The queue gauge rides the SAME flush as the counters, so an operator sees backlog
280
+ // and the events that caused it on one timeline. One `getQueues()` per tick answers
281
+ // every queue, so this is an aggregate read, not a per-queue probe loop.
282
+ probeQueueDepth: () => probePgBossQueueDepth(boss),
283
+ }, clock, logger, operationalMetrics, sweepHealth)
274
284
  : () => { };
275
285
  // Raise/clear `platform_health` notifications when the deployment's own run health crosses a
276
286
  // threshold (the Worker uses cron). No-op unless `PLATFORM_ALERTS` is opted in and the
277
287
  // notifications + platform-observability reads are wired.
278
- const stopPlatformHealth = startPlatformHealthSweeper(container, clock, logger);
288
+ const stopPlatformHealth = startPlatformHealthSweeper(container, clock, logger, sweepHealth);
279
289
  // Probe each workspace's CONFIGURED infrastructure connections and report a dead one as
280
290
  // `unreachable` (the Worker uses cron). No-op unless `INFRA_REACHABILITY_WATCH` is opted in.
281
- const stopInfraReachability = startInfraReachabilitySweeper(container, clock, logger);
291
+ const stopInfraReachability = startInfraReachabilitySweeper(container, clock, logger, sweepHealth);
282
292
  // Refresh repo-linked foundational-service sources so a merged contract change reaches the
283
293
  // catalog without anyone opening the management surface (the Worker uses cron). No-op unless
284
294
  // the catalog + GitHub are both wired.
285
- const stopFoundationalSources = startFoundationalSourceSweeper(container, logger);
295
+ const stopFoundationalSources = startFoundationalSourceSweeper(container, logger, sweepHealth);
296
+ // Report what has landed in the dead-letter queues (slice 4.5). Reporting only, never a
297
+ // replay: a job that failed every retry will fail again, so the decision to re-drive one
298
+ // stays a human's. Before this, a job that exhausted `retryLimit` simply stopped existing.
299
+ const stopDeadLetter = startSweeper({
300
+ name: 'dead-letter',
301
+ intervalMs: DEAD_LETTER_SWEEP_INTERVAL_MS,
302
+ log: logger,
303
+ health: sweepHealth,
304
+ failureMessage: 'dead-letter sweep failed',
305
+ tick: async () => {
306
+ await sweepDeadLetterQueues(boss, logger);
307
+ },
308
+ });
286
309
  return {
287
310
  stopSweeper,
311
+ stopDeadLetter,
288
312
  stopEnvTestSweeper,
289
313
  stopRetention,
290
314
  stopArtifactRetention,
@@ -377,6 +401,7 @@ async function bootServer(options, env) {
377
401
  const caches = createAppCaches({
378
402
  notificationPairFactory: await buildCacheNotifications(env, logger),
379
403
  logger,
404
+ operationalMetrics,
380
405
  ...(options.cachesProfile ? { profile: options.cachesProfile } : {}),
381
406
  });
382
407
  const container = buildContainer({
@@ -390,6 +415,7 @@ async function bootServer(options, env) {
390
415
  initiativePresetRegistry: options.initiativePresetRegistry,
391
416
  taskTypeRegistry: options.taskTypeRegistry,
392
417
  foundationalServiceRegistry: options.foundationalServiceRegistry,
418
+ binaryGeneratorRegistry: options.binaryGeneratorRegistry,
393
419
  // Forward the deployment's default-preset choice (undefined ⇒ the builder's facade
394
420
  // default). The local facade rides on this same field via its `buildContainer` override.
395
421
  defaultModelPresetId: options.defaultModelPresetId,
@@ -432,18 +458,27 @@ async function bootServer(options, env) {
432
458
  pipelineRegistry: container.pipelineRegistry,
433
459
  taskTypeRegistry: container.taskTypeRegistry,
434
460
  foundationalServiceRegistry: container.foundationalServiceRegistry,
461
+ binaryGeneratorRegistry: container.binaryGeneratorRegistry,
435
462
  onWarn: (problem) => logger.warn(problem.message, { code: problem.code }),
436
463
  });
437
464
  const runtime = executionRuntime(container.config, env);
438
465
  await startDurableWorkers(boss, container, runtime);
439
466
  bootClock.mark('workers');
440
- // Readiness probe for `/ready`: a live Postgres round-trip + the pg-boss flag, draining the
441
- // instant shutdown begins so a load balancer stops routing here while in-flight requests finish.
467
+ // Readiness probe for `/ready`: a live Postgres round-trip, the pg-boss graceful-stop flag AND
468
+ // a real round-trip through pg-boss's OWN connection, draining the instant shutdown begins so a
469
+ // load balancer stops routing here while in-flight requests finish. The boss round-trip is
470
+ // slice 4.3: the flag alone only ever observed the clean `stopped` transition, so a boss whose
471
+ // substrate died under a running process reported healthy forever — the one thing a readiness
472
+ // probe exists to catch. `getQueues()` is a metadata read through pg-boss's own pool (the app's
473
+ // `SELECT 1` uses a different one), so it fails exactly when that pool is gone.
442
474
  const readiness = makeReadinessProbe({
443
475
  ping: async () => {
444
476
  await pool.query('SELECT 1');
445
477
  },
446
478
  pgBossHealthy: isBossRunning,
479
+ pgBossPing: async () => {
480
+ await boss.getQueues();
481
+ },
447
482
  isDraining: () => draining,
448
483
  });
449
484
  const app = createApp(container, env, { readiness });
@@ -470,7 +505,7 @@ async function bootServer(options, env) {
470
505
  // The background sweepers only schedule `setInterval`s (no work runs until a timer fires), so
471
506
  // start them AFTER the listener binds — the server accepts requests a few ms sooner. The pg-boss
472
507
  // workers above stay before listen so an enqueued job always has a consumer.
473
- const { stopSweeper, stopEnvTestSweeper, stopRetention, stopArtifactRetention, stopScheduleSweeper, stopInitiativeLoop, stopEnvironmentSweeper, stopNotificationEscalation, stopKaizenSweeper, stopGitHubReconcile, stopPlatformMetrics, stopPlatformHealth, stopInfraReachability, stopFoundationalSources, } = startBackgroundSweepers({ boss, pool, db, container, repos, runtime, clock, env });
508
+ const { stopSweeper, stopDeadLetter, stopEnvTestSweeper, stopRetention, stopArtifactRetention, stopScheduleSweeper, stopInitiativeLoop, stopEnvironmentSweeper, stopNotificationEscalation, stopKaizenSweeper, stopGitHubReconcile, stopPlatformMetrics, stopPlatformHealth, stopInfraReachability, stopFoundationalSources, } = startBackgroundSweepers({ boss, pool, db, container, repos, runtime, clock, env });
474
509
  // Backfill the deployment's declared environment-handler seeds onto every existing workspace
475
510
  // (idempotent; new workspaces are seeded by WorkspaceService.create). FIRE-AND-FORGET after the
476
511
  // listener binds so it never delays serving; best-effort + fully logged inside, and a no-op when
@@ -489,6 +524,7 @@ async function bootServer(options, env) {
489
524
  draining = true;
490
525
  logger.info('shutting down cat-factory node server', { signal });
491
526
  stopSweeper();
527
+ stopDeadLetter();
492
528
  stopEnvTestSweeper();
493
529
  stopRetention();
494
530
  stopArtifactRetention();