@cat-factory/node-server 0.92.20 → 0.93.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.
- package/dist/cacheNotifications.d.ts.map +1 -1
- package/dist/cacheNotifications.js +17 -5
- package/dist/cacheNotifications.js.map +1 -1
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +29 -0
- package/dist/container.js.map +1 -1
- package/dist/db/schema.d.ts +217 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +25 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/execution/envTestRunner.d.ts +31 -0
- package/dist/execution/envTestRunner.d.ts.map +1 -0
- package/dist/execution/envTestRunner.js +104 -0
- package/dist/execution/envTestRunner.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/realtime.d.ts +2 -1
- package/dist/realtime.d.ts.map +1 -1
- package/dist/realtime.js +3 -0
- package/dist/realtime.js.map +1 -1
- package/dist/redisProbe.d.ts +40 -0
- package/dist/redisProbe.d.ts.map +1 -0
- package/dist/redisProbe.js +124 -0
- package/dist/redisProbe.js.map +1 -0
- package/dist/redisPropagator.d.ts.map +1 -1
- package/dist/redisPropagator.js +4 -3
- package/dist/redisPropagator.js.map +1 -1
- package/dist/repositories/environmentTest.d.ts +13 -0
- package/dist/repositories/environmentTest.d.ts.map +1 -0
- package/dist/repositories/environmentTest.js +101 -0
- package/dist/repositories/environmentTest.js.map +1 -0
- package/dist/repositories/github.d.ts +1 -0
- package/dist/repositories/github.d.ts.map +1 -1
- package/dist/repositories/github.js +8 -0
- package/dist/repositories/github.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +21 -0
- package/dist/server.js.map +1 -1
- package/drizzle/20260710212849_cuddly_starfox/migration.sql +20 -0
- package/drizzle/20260710212849_cuddly_starfox/snapshot.json +15654 -0
- package/package.json +19 -19
package/dist/realtime.js
CHANGED
|
@@ -98,6 +98,9 @@ export class NodeEventPublisher {
|
|
|
98
98
|
async envConfigRepairChanged(workspaceId, job) {
|
|
99
99
|
this.publish(workspaceId, { type: 'env-config-repair', job, at: Date.now() });
|
|
100
100
|
}
|
|
101
|
+
async envTestChanged(workspaceId, run) {
|
|
102
|
+
this.publish(workspaceId, { type: 'envTest', run, at: Date.now() });
|
|
103
|
+
}
|
|
101
104
|
async notificationChanged(workspaceId, notification) {
|
|
102
105
|
this.publish(workspaceId, { type: 'notification', notification, at: Date.now() });
|
|
103
106
|
}
|
package/dist/realtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { PropagatorLogger } from './propagator.js';
|
|
2
|
+
/** How long the boot probe waits for the bus to answer before warning. */
|
|
3
|
+
export declare const DEFAULT_REDIS_PROBE_TIMEOUT_MS = 3000;
|
|
4
|
+
/**
|
|
5
|
+
* Result of a single {@link probeRedisReachable} attempt:
|
|
6
|
+
* - `true` — the bus answered.
|
|
7
|
+
* - `false` — the bus did not answer within the timeout (unreachable / DNS / auth rejected).
|
|
8
|
+
* - `undefined` — the probe couldn't run (ioredis absent). The missing-dependency
|
|
9
|
+
* {@link missingIoredisProblem} already covers that case fatally, so the probe stays silent.
|
|
10
|
+
*/
|
|
11
|
+
export type RedisProbeResult = boolean | undefined;
|
|
12
|
+
/** A pluggable connect probe (default {@link ioredisConnectProbe}); a test injects a fake. */
|
|
13
|
+
export type RedisConnectProbe = (url: string, timeoutMs: number) => Promise<RedisProbeResult>;
|
|
14
|
+
/**
|
|
15
|
+
* A human-readable, CREDENTIAL-FREE label for a `redis://` URL: `host:port` (or just the host).
|
|
16
|
+
* `URL.hostname`/`.port` omit any `user:password@` userinfo, so this is safe to log — a redis URL
|
|
17
|
+
* commonly carries a password (`redis://:secret@host:6379`), which must never reach the logs.
|
|
18
|
+
*/
|
|
19
|
+
export declare function redisTargetLabel(url: string): string;
|
|
20
|
+
/** The boot warning shown when the Redis bus is set but unreachable. */
|
|
21
|
+
export declare function describeRedisUnreachable(url: string, timeoutMs: number): string;
|
|
22
|
+
/**
|
|
23
|
+
* Best-effort reachability check of the Redis bus at `url`. Never throws and is bounded by a hard
|
|
24
|
+
* timeout guard (in case an injected/real probe hangs), so it is always safe to await at boot.
|
|
25
|
+
* `connectProbe` + `timeoutMs` are injectable for tests.
|
|
26
|
+
*/
|
|
27
|
+
export declare function probeRedisReachable(url: string, opts?: {
|
|
28
|
+
connectProbe?: RedisConnectProbe;
|
|
29
|
+
timeoutMs?: number;
|
|
30
|
+
}): Promise<RedisProbeResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Probe the Redis bus at boot and, when it is set but unreachable, log ONE elaborate warning
|
|
33
|
+
* naming the host + how to verify. A no-op when `REDIS_URL` is unset (single-node / local) or when
|
|
34
|
+
* the probe couldn't run (ioredis absent — the fatal {@link missingIoredisProblem} covers that).
|
|
35
|
+
*/
|
|
36
|
+
export declare function warnIfRedisUnreachable(env: NodeJS.ProcessEnv, log: PropagatorLogger, opts?: {
|
|
37
|
+
connectProbe?: RedisConnectProbe;
|
|
38
|
+
timeoutMs?: number;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
//# sourceMappingURL=redisProbe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisProbe.d.ts","sourceRoot":"","sources":["../src/redisProbe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAmBvD,0EAA0E;AAC1E,eAAO,MAAM,8BAA8B,OAAO,CAAA;AAWlD;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,CAAA;AAElD,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAE7F;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED,wEAAwE;AACxE,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAY/E;AAsCD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClE,OAAO,CAAC,gBAAgB,CAAC,CAmB3B;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,EAAE,gBAAgB,EACrB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClE,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { DOCS } from '@cat-factory/server';
|
|
2
|
+
// Boot-time reachability probe for the optional Redis bus (error-message coverage A7).
|
|
3
|
+
//
|
|
4
|
+
// When `REDIS_URL` is set but the bus is UNREACHABLE at boot, both Redis consumers — the
|
|
5
|
+
// cross-node real-time propagator (`redisPropagator.ts`) and the distributed cache-invalidation
|
|
6
|
+
// wiring (`cacheNotifications.ts`) — deliberately do NOT wedge boot: ioredis retries the
|
|
7
|
+
// connection in the BACKGROUND (see `RedisWebSocketPropagator.start`, which fires the subscribe
|
|
8
|
+
// without awaiting it). That resilience has a downside: with the bus down, cross-node realtime
|
|
9
|
+
// and cache coherence are SILENTLY degraded (each replica serves only its own events/caches) and
|
|
10
|
+
// nothing tells the operator. This one bounded, best-effort probe surfaces that at boot — naming
|
|
11
|
+
// the host and how to verify — instead of leaving it to be discovered from stale peers.
|
|
12
|
+
//
|
|
13
|
+
// It mirrors local mode's `probeGitHubPat` (A12): best-effort, timeout-bounded, and it NEVER
|
|
14
|
+
// blocks or crashes boot — an unreachable bus is a WARNING, not a fatal error (the retry loop is
|
|
15
|
+
// the real recovery path). The complementary FATAL case — `REDIS_URL` set but `ioredis` not
|
|
16
|
+
// installed — is handled separately by `missingIoredisProblem` (a ConfigValidationError that lands
|
|
17
|
+
// on the misconfigured screen), so the probe treats an absent ioredis as "couldn't probe".
|
|
18
|
+
/** How long the boot probe waits for the bus to answer before warning. */
|
|
19
|
+
export const DEFAULT_REDIS_PROBE_TIMEOUT_MS = 3000;
|
|
20
|
+
/**
|
|
21
|
+
* A human-readable, CREDENTIAL-FREE label for a `redis://` URL: `host:port` (or just the host).
|
|
22
|
+
* `URL.hostname`/`.port` omit any `user:password@` userinfo, so this is safe to log — a redis URL
|
|
23
|
+
* commonly carries a password (`redis://:secret@host:6379`), which must never reach the logs.
|
|
24
|
+
*/
|
|
25
|
+
export function redisTargetLabel(url) {
|
|
26
|
+
try {
|
|
27
|
+
const u = new URL(url);
|
|
28
|
+
return u.port ? `${u.hostname}:${u.port}` : u.hostname;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return 'the configured Redis host';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** The boot warning shown when the Redis bus is set but unreachable. */
|
|
35
|
+
export function describeRedisUnreachable(url, timeoutMs) {
|
|
36
|
+
const target = redisTargetLabel(url);
|
|
37
|
+
return (`REDIS_URL is set but the Redis bus at ${target} did not answer within ${timeoutMs}ms — ` +
|
|
38
|
+
`cross-node real-time propagation and distributed cache invalidation are DEGRADED: each ` +
|
|
39
|
+
`replica serves only its own WebSocket events and caches, so a change on one node won't reach ` +
|
|
40
|
+
`browsers or caches on the others. ioredis keeps retrying in the background, so this ` +
|
|
41
|
+
`self-heals once the bus is reachable. Check that Redis is running and reachable from this ` +
|
|
42
|
+
`node and that REDIS_URL points at it (verify with \`redis-cli -u <REDIS_URL> ping\`). A ` +
|
|
43
|
+
`single-replica or local deployment does not need Redis — unset REDIS_URL to silence this. ` +
|
|
44
|
+
`See ${DOCS.concurrencyAndRedis()}.`);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The default probe: a one-shot, non-retrying lazy connect via `ioredis` (dynamically imported
|
|
48
|
+
* with the same opaque specifier the consumers use, so ioredis stays out of the TS build graph).
|
|
49
|
+
* Bounded by `connectTimeout` + a null retry strategy so it resolves promptly whether the bus is up
|
|
50
|
+
* or down; its own 'error' handler swallows a failed connect so it can't surface as an unhandled
|
|
51
|
+
* event and crash boot. Returns `undefined` when ioredis is absent (the fatal configProblem covers
|
|
52
|
+
* that), `false` on a connect failure, `true` when the bus answered.
|
|
53
|
+
*/
|
|
54
|
+
async function ioredisConnectProbe(url, timeoutMs) {
|
|
55
|
+
let Ctor;
|
|
56
|
+
try {
|
|
57
|
+
const mod = (await import('ioredis'));
|
|
58
|
+
Ctor = (mod.default ?? mod);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
const client = new Ctor(url, {
|
|
64
|
+
lazyConnect: true,
|
|
65
|
+
connectTimeout: timeoutMs,
|
|
66
|
+
maxRetriesPerRequest: 0,
|
|
67
|
+
retryStrategy: () => null,
|
|
68
|
+
enableOfflineQueue: false,
|
|
69
|
+
});
|
|
70
|
+
client.on('error', () => { });
|
|
71
|
+
try {
|
|
72
|
+
await client.connect();
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
client.disconnect();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Best-effort reachability check of the Redis bus at `url`. Never throws and is bounded by a hard
|
|
84
|
+
* timeout guard (in case an injected/real probe hangs), so it is always safe to await at boot.
|
|
85
|
+
* `connectProbe` + `timeoutMs` are injectable for tests.
|
|
86
|
+
*/
|
|
87
|
+
export async function probeRedisReachable(url, opts = {}) {
|
|
88
|
+
const timeoutMs = opts.timeoutMs ?? DEFAULT_REDIS_PROBE_TIMEOUT_MS;
|
|
89
|
+
const probe = opts.connectProbe ?? ioredisConnectProbe;
|
|
90
|
+
let guard;
|
|
91
|
+
try {
|
|
92
|
+
return await Promise.race([
|
|
93
|
+
probe(url, timeoutMs),
|
|
94
|
+
// Belt-and-suspenders: if the probe itself hangs past its own deadline, treat the bus as
|
|
95
|
+
// unreachable rather than waiting indefinitely (the default probe won't, but an env quirk
|
|
96
|
+
// could). A little slack over timeoutMs lets the probe's own timeout win the race normally.
|
|
97
|
+
new Promise((resolve) => {
|
|
98
|
+
guard = setTimeout(() => resolve(false), timeoutMs + 500);
|
|
99
|
+
}),
|
|
100
|
+
]);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
if (guard)
|
|
107
|
+
clearTimeout(guard);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Probe the Redis bus at boot and, when it is set but unreachable, log ONE elaborate warning
|
|
112
|
+
* naming the host + how to verify. A no-op when `REDIS_URL` is unset (single-node / local) or when
|
|
113
|
+
* the probe couldn't run (ioredis absent — the fatal {@link missingIoredisProblem} covers that).
|
|
114
|
+
*/
|
|
115
|
+
export async function warnIfRedisUnreachable(env, log, opts = {}) {
|
|
116
|
+
const url = env.REDIS_URL?.trim();
|
|
117
|
+
if (!url)
|
|
118
|
+
return;
|
|
119
|
+
const reachable = await probeRedisReachable(url, opts);
|
|
120
|
+
if (reachable === false) {
|
|
121
|
+
log.warn({ target: redisTargetLabel(url) }, describeRedisUnreachable(url, opts.timeoutMs ?? DEFAULT_REDIS_PROBE_TIMEOUT_MS));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=redisProbe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisProbe.js","sourceRoot":"","sources":["../src/redisProbe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redisPropagator.d.ts","sourceRoot":"","sources":["../src/redisPropagator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redisPropagator.d.ts","sourceRoot":"","sources":["../src/redisPropagator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAY7F,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;IAChF,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC1D,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACxB,UAAU,IAAI,IAAI,CAAA;CACnB;AAED,0FAA0F;AAC1F,KAAK,SAAS,GAAG,WAAW,GAAG,YAAY,CAAA;AA+B3C,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,yBAAyB,CAAA;AAW9D,MAAM,WAAW,+BAA+B;IAC9C,GAAG,EAAE,MAAM,CAAA;IACX,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,gBAAgB,CAAA;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;CACjE;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,QAAQ,CAAC,IAAI,WAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAChF,OAAO,CAAC,GAAG,CAAC,CAAa;IACzB,OAAO,CAAC,GAAG,CAAC,CAAa;IAEzB,YAAY,OAAO,EAAE,+BAA+B,EAYnD;YAEa,cAAc;IAW5B,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAmBtC;IAEK,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BtE;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAK1B;YAEa,aAAa;IAS3B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,KAAK;CAWd"}
|
package/dist/redisPropagator.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { missingIoredisProblem } from '@cat-factory/server';
|
|
2
3
|
async function loadRedis() {
|
|
3
4
|
try {
|
|
4
5
|
const mod = (await import('ioredis'));
|
|
@@ -7,9 +8,9 @@ async function loadRedis() {
|
|
|
7
8
|
return (mod.default ?? mod);
|
|
8
9
|
}
|
|
9
10
|
catch (err) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
// A ConfigValidationError (not a bare Error) so this reaches the misconfigured fallback screen
|
|
12
|
+
// at boot with the install-or-unset remedy, instead of dying opaquely inside start().
|
|
13
|
+
throw missingIoredisProblem('cross-node WebSocket propagation', err);
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redisPropagator.js","sourceRoot":"","sources":["../src/redisPropagator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"redisPropagator.js","sourceRoot":"","sources":["../src/redisPropagator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { EnvironmentTestRunRecord, EnvironmentTestRunRecordPatch, EnvironmentTestRunRepository } from '@cat-factory/kernel';
|
|
2
|
+
import type { DrizzleDb } from '../db/client.js';
|
|
3
|
+
/** Postgres-backed ephemeral-environment self-test runs. */
|
|
4
|
+
export declare class DrizzleEnvironmentTestRunRepository implements EnvironmentTestRunRepository {
|
|
5
|
+
private readonly db;
|
|
6
|
+
constructor(db: DrizzleDb);
|
|
7
|
+
insert(record: EnvironmentTestRunRecord): Promise<void>;
|
|
8
|
+
updateIfRunning(workspaceId: string, id: string, patch: EnvironmentTestRunRecordPatch): Promise<boolean>;
|
|
9
|
+
get(workspaceId: string, id: string): Promise<EnvironmentTestRunRecord | null>;
|
|
10
|
+
listRunningByWorkspace(workspaceId: string): Promise<EnvironmentTestRunRecord[]>;
|
|
11
|
+
listStale(cutoffMs: number, limit?: number): Promise<EnvironmentTestRunRecord[]>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=environmentTest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environmentTest.d.ts","sourceRoot":"","sources":["../../src/repositories/environmentTest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAI7B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA2BhD,4DAA4D;AAC5D,qBAAa,mCAAoC,YAAW,4BAA4B;IAC1E,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5D;IAEK,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,OAAO,CAAC,CAsBlB;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAOnF;IAEK,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAYrF;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAajF;CACF"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { and, asc, desc, eq, lt } from 'drizzle-orm';
|
|
2
|
+
import { environmentTestRuns } from '../db/schema.js';
|
|
3
|
+
// Drizzle/Postgres mirror of the D1EnvironmentTestRunRepository. Ephemeral-environment
|
|
4
|
+
// self-test runs live in their own `environment_test_runs` table (not agent_runs) because
|
|
5
|
+
// they carry a `stage` state machine and are not container agents. Behaviourally identical
|
|
6
|
+
// so the cross-runtime conformance suite asserts the same lifecycle on both stores.
|
|
7
|
+
function rowToRecord(row) {
|
|
8
|
+
return {
|
|
9
|
+
id: row.id,
|
|
10
|
+
workspaceId: row.workspace_id,
|
|
11
|
+
blockId: row.block_id,
|
|
12
|
+
status: row.status,
|
|
13
|
+
stage: row.stage,
|
|
14
|
+
initiatedBy: row.initiated_by,
|
|
15
|
+
provisioning: JSON.parse(row.provisioning),
|
|
16
|
+
branch: row.branch,
|
|
17
|
+
environmentId: row.environment_id,
|
|
18
|
+
envUrl: row.env_url,
|
|
19
|
+
error: row.error,
|
|
20
|
+
failedStage: row.failed_stage ?? null,
|
|
21
|
+
createdAt: row.created_at,
|
|
22
|
+
updatedAt: row.updated_at,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Postgres-backed ephemeral-environment self-test runs. */
|
|
26
|
+
export class DrizzleEnvironmentTestRunRepository {
|
|
27
|
+
db;
|
|
28
|
+
constructor(db) {
|
|
29
|
+
this.db = db;
|
|
30
|
+
}
|
|
31
|
+
async insert(record) {
|
|
32
|
+
await this.db.insert(environmentTestRuns).values({
|
|
33
|
+
id: record.id,
|
|
34
|
+
workspace_id: record.workspaceId,
|
|
35
|
+
block_id: record.blockId,
|
|
36
|
+
status: record.status,
|
|
37
|
+
stage: record.stage,
|
|
38
|
+
initiated_by: record.initiatedBy,
|
|
39
|
+
provisioning: JSON.stringify(record.provisioning),
|
|
40
|
+
branch: record.branch,
|
|
41
|
+
environment_id: record.environmentId,
|
|
42
|
+
env_url: record.envUrl,
|
|
43
|
+
error: record.error,
|
|
44
|
+
failed_stage: record.failedStage,
|
|
45
|
+
created_at: record.createdAt,
|
|
46
|
+
updated_at: record.updatedAt,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async updateIfRunning(workspaceId, id, patch) {
|
|
50
|
+
const set = {};
|
|
51
|
+
if (patch.status !== undefined)
|
|
52
|
+
set.status = patch.status;
|
|
53
|
+
if (patch.stage !== undefined)
|
|
54
|
+
set.stage = patch.stage;
|
|
55
|
+
if (patch.branch !== undefined)
|
|
56
|
+
set.branch = patch.branch;
|
|
57
|
+
if (patch.environmentId !== undefined)
|
|
58
|
+
set.environment_id = patch.environmentId;
|
|
59
|
+
if (patch.envUrl !== undefined)
|
|
60
|
+
set.env_url = patch.envUrl;
|
|
61
|
+
if (patch.error !== undefined)
|
|
62
|
+
set.error = patch.error;
|
|
63
|
+
if (patch.failedStage !== undefined)
|
|
64
|
+
set.failed_stage = patch.failedStage;
|
|
65
|
+
if (patch.updatedAt !== undefined)
|
|
66
|
+
set.updated_at = patch.updatedAt;
|
|
67
|
+
if (Object.keys(set).length === 0)
|
|
68
|
+
return false;
|
|
69
|
+
const result = await this.db
|
|
70
|
+
.update(environmentTestRuns)
|
|
71
|
+
.set(set)
|
|
72
|
+
.where(and(eq(environmentTestRuns.workspace_id, workspaceId), eq(environmentTestRuns.id, id), eq(environmentTestRuns.status, 'running')));
|
|
73
|
+
return (result.rowCount ?? 0) > 0;
|
|
74
|
+
}
|
|
75
|
+
async get(workspaceId, id) {
|
|
76
|
+
const rows = await this.db
|
|
77
|
+
.select()
|
|
78
|
+
.from(environmentTestRuns)
|
|
79
|
+
.where(and(eq(environmentTestRuns.workspace_id, workspaceId), eq(environmentTestRuns.id, id)))
|
|
80
|
+
.limit(1);
|
|
81
|
+
return rows[0] ? rowToRecord(rows[0]) : null;
|
|
82
|
+
}
|
|
83
|
+
async listRunningByWorkspace(workspaceId) {
|
|
84
|
+
const rows = await this.db
|
|
85
|
+
.select()
|
|
86
|
+
.from(environmentTestRuns)
|
|
87
|
+
.where(and(eq(environmentTestRuns.workspace_id, workspaceId), eq(environmentTestRuns.status, 'running')))
|
|
88
|
+
.orderBy(desc(environmentTestRuns.created_at));
|
|
89
|
+
return rows.map(rowToRecord);
|
|
90
|
+
}
|
|
91
|
+
async listStale(cutoffMs, limit = 50) {
|
|
92
|
+
const rows = await this.db
|
|
93
|
+
.select()
|
|
94
|
+
.from(environmentTestRuns)
|
|
95
|
+
.where(and(eq(environmentTestRuns.status, 'running'), lt(environmentTestRuns.updated_at, cutoffMs)))
|
|
96
|
+
.orderBy(asc(environmentTestRuns.updated_at))
|
|
97
|
+
.limit(limit);
|
|
98
|
+
return rows.map(rowToRecord);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=environmentTest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environmentTest.js","sourceRoot":"","sources":["../../src/repositories/environmentTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export declare class DrizzleRepoProjectionRepository implements RepoProjectionRe
|
|
|
7
7
|
upsertMany(workspaceId: string, repos: GitHubRepo[]): Promise<void>;
|
|
8
8
|
list(workspaceId: string): Promise<GitHubRepo[]>;
|
|
9
9
|
get(workspaceId: string, githubId: number): Promise<GitHubRepo | null>;
|
|
10
|
+
listByInstallation(installationId: number): Promise<GitHubRepo[]>;
|
|
10
11
|
linkedWorkspaces(repoGithubId: number, candidateWorkspaceIds: string[]): Promise<string[]>;
|
|
11
12
|
tombstoneMissing(workspaceId: string, installationId: number, seenGithubIds: number[], at: number): Promise<void>;
|
|
12
13
|
setMonorepo(workspaceId: string, githubId: number, isMonorepo: boolean): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/repositories/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,EACxB,YAAY,EACZ,UAAU,EACV,cAAc,EACf,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA4DhD,uFAAuF;AACvF,qBAAa,+BAAgC,YAAW,wBAAwB;IAClE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCxE;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAOrD;IAEK,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAa3E;IAEK,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAa/F;IAEK,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EAAE,EACvB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAcf;IAEK,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3F;IAEK,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA8BjE;IAEK,SAAS,CACb,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAgB5B;IAEK,SAAS,CACb,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAmBf;CACF;AAID,qBAAa,iCAAkC,YAAW,0BAA0B;IACtE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B7E;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmBnF;CACF;AAID,qBAAa,sCAAuC,YAAW,+BAA+B;IAChF,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C/E;IAED,OAAO,CAAC,OAAO;IAiBT,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAaxF;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAavE;CACF;AAID,qBAAa,gCAAiC,YAAW,yBAAyB;IACpE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC1E;IAED,OAAO,CAAC,UAAU;IAcZ,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAalF;IAEK,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAQjE;CACF;AAID,qBAAa,iCAAkC,YAAW,0BAA0B;IACtE,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B5E;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtD;IAEK,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,SAAM,GACV,OAAO,CAAC,YAAY,EAAE,CAAC,CAsBzB;CACF;AAID,qBAAa,mCAAoC,YAAW,4BAA4B;IAC1E,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC7E;IAEK,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,EAAE,CAAC,CAqB3B;CACF"}
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/repositories/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,6 +99,14 @@ export class DrizzleRepoProjectionRepository {
|
|
|
99
99
|
.limit(1);
|
|
100
100
|
return rows[0] ? rowToRepo(rows[0]) : null;
|
|
101
101
|
}
|
|
102
|
+
async listByInstallation(installationId) {
|
|
103
|
+
const rows = await this.db
|
|
104
|
+
.select()
|
|
105
|
+
.from(githubRepos)
|
|
106
|
+
.where(and(eq(githubRepos.installation_id, installationId), isNull(githubRepos.deleted_at)))
|
|
107
|
+
.orderBy(githubRepos.owner, githubRepos.name);
|
|
108
|
+
return rows.map(rowToRepo);
|
|
109
|
+
}
|
|
102
110
|
async linkedWorkspaces(repoGithubId, candidateWorkspaceIds) {
|
|
103
111
|
if (candidateWorkspaceIds.length === 0)
|
|
104
112
|
return [];
|
|
@@ -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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"}
|
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,aAAa,EAClB,KAAK,eAAe,EAWrB,MAAM,qBAAqB,CAAA;AAE5B,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;
|
|
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,aAAa,EAClB,KAAK,eAAe,EAWrB,MAAM,qBAAqB,CAAA;AAE5B,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;AAoB9E,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAkB/D,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,CAyCd;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,CASxF;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;;;;;;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;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,CAAA;CAClE,GACL,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAenC"}
|
package/dist/server.js
CHANGED
|
@@ -15,16 +15,19 @@ import { startExecutionWorker, startStaleRunSweeper } from './execution/pgBossRu
|
|
|
15
15
|
import { startBootstrapWorker } from './execution/bootstrapRunner.js';
|
|
16
16
|
import { startGitHubSyncWorker } from './execution/githubSyncRunner.js';
|
|
17
17
|
import { startEnvConfigRepairWorker } from './execution/envConfigRepairRunner.js';
|
|
18
|
+
import { PgBossEnvironmentTestRunner, startEnvTestSweeper, startEnvTestWorker, } from './execution/envTestRunner.js';
|
|
18
19
|
import { startEnvironmentSweeper } from './environments.js';
|
|
19
20
|
import { startScheduleSweeper } from './recurring.js';
|
|
20
21
|
import { resolveSweepInterval, startInitiativeLoopSweeper } from './initiativeLoop.js';
|
|
21
22
|
import { startKaizenSweeper } from './kaizen.js';
|
|
22
23
|
import { startNotificationEscalationSweeper } from './notifications.js';
|
|
23
24
|
import { buildRealtimePropagator } from './propagator.js';
|
|
25
|
+
import { warnIfRedisUnreachable } from './redisProbe.js';
|
|
24
26
|
import { makeReadinessProbe } from './readiness.js';
|
|
25
27
|
import { NodeRealtimeHub, attachRealtime } from './realtime.js';
|
|
26
28
|
import { DrizzleGitHubInstallationRepository } from './repositories/containerExecution.js';
|
|
27
29
|
import { createDrizzleRepositories } from './repositories/drizzle.js';
|
|
30
|
+
import { DrizzleEnvironmentTestRunRepository } from './repositories/environmentTest.js';
|
|
28
31
|
import { startGitHubReconcileSweeper } from './githubReconcile.js';
|
|
29
32
|
import { DrizzleCommitProjectionRepository, DrizzleRepoProjectionRepository, } from './repositories/github.js';
|
|
30
33
|
import { DrizzleSubscriptionActivationRepository } from './repositories/personalSubscription.js';
|
|
@@ -231,6 +234,12 @@ async function bootServer(options, env) {
|
|
|
231
234
|
// Connect the cross-node adapters (a no-op when none are configured) so peer events start
|
|
232
235
|
// reaching this node's browsers.
|
|
233
236
|
await realtimePropagator.start(logger);
|
|
237
|
+
// Best-effort boot probe of the Redis bus (A7): when REDIS_URL is set but the bus is
|
|
238
|
+
// unreachable, ioredis retries silently in the background and cross-node realtime + cache
|
|
239
|
+
// coherence are quietly degraded. One bounded, non-fatal probe surfaces that at boot with the
|
|
240
|
+
// host and how to verify, instead of leaving the operator to discover it from stale peers. A
|
|
241
|
+
// no-op when REDIS_URL is unset (single-node / local mode).
|
|
242
|
+
await warnIfRedisUnreachable(env, logger);
|
|
234
243
|
// Validate the registered extensions (gates / agent kinds) once, before serving — every
|
|
235
244
|
// `register*` import side effect has run by now. A typo'd gate helperKind or an unknown
|
|
236
245
|
// resultView fails loudly here instead of mid-run. Mirrors the Worker's first-request guard.
|
|
@@ -254,6 +263,11 @@ async function bootServer(options, env) {
|
|
|
254
263
|
await startEnvConfigRepairWorker(boss, container, runtime.drive, logger, {
|
|
255
264
|
concurrency: runtime.concurrency,
|
|
256
265
|
});
|
|
266
|
+
// Durably drive ephemeral-environment self-test runs (the Worker uses a per-run
|
|
267
|
+
// EnvironmentTestWorkflow); a no-op queue when the environments module isn't wired.
|
|
268
|
+
await startEnvTestWorker(boss, container, runtime.drive, logger, {
|
|
269
|
+
concurrency: runtime.concurrency,
|
|
270
|
+
});
|
|
257
271
|
// Async GitHub ingest (the analogue of the Worker's GITHUB_SYNC_QUEUE consumer +
|
|
258
272
|
// GitHubBackfillWorkflow): drain the `github.sync` queue the gateway seams enqueue onto,
|
|
259
273
|
// so webhook deliveries / resyncs / backfills apply out of band and the request acks fast.
|
|
@@ -283,6 +297,12 @@ async function bootServer(options, env) {
|
|
|
283
297
|
// few ms sooner. The pg-boss workers above stay before listen so an enqueued job always
|
|
284
298
|
// has a consumer.
|
|
285
299
|
const stopSweeper = startStaleRunSweeper(boss, pool, container, runtime.sweeper, runtime.queue, logger);
|
|
300
|
+
// Env-test self-tests live in their own table (not agent_runs), so the stale-run
|
|
301
|
+
// sweeper above never sees them — this sibling re-enqueues a drive for any stale run;
|
|
302
|
+
// the drive's own budget-exhaustion finalize settles one that still can't finish.
|
|
303
|
+
// Reads the LOCAL store directly (sweeping is deployment-internal, like the other
|
|
304
|
+
// `listStale` surfaces): on a satellite the local table is empty and this no-ops.
|
|
305
|
+
const stopEnvTestSweeper = startEnvTestSweeper(new PgBossEnvironmentTestRunner(boss, runtime.queue), new DrizzleEnvironmentTestRunRepository(db), { leaseMs: runtime.sweeper.leaseMs, intervalMs: runtime.sweeper.intervalMs }, logger);
|
|
286
306
|
// Bound the unbounded tables (`token_usage`, the heavy `llm_call_metrics`): the Worker
|
|
287
307
|
// prunes these from cron, Node has none, so a timer mirrors it. Without this the
|
|
288
308
|
// observability sink — full per-call prompt/response — grows forever on Postgres.
|
|
@@ -344,6 +364,7 @@ async function bootServer(options, env) {
|
|
|
344
364
|
draining = true;
|
|
345
365
|
logger.info({ signal }, 'shutting down cat-factory node server');
|
|
346
366
|
stopSweeper();
|
|
367
|
+
stopEnvTestSweeper();
|
|
347
368
|
stopRetention();
|
|
348
369
|
stopArtifactRetention();
|
|
349
370
|
stopScheduleSweeper();
|