@cat-factory/node-server 0.107.11 → 0.107.13
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/config.d.ts.map +1 -1
- package/dist/config.js +240 -198
- package/dist/config.js.map +1 -1
- package/dist/container-account-deps.d.ts +40 -0
- package/dist/container-account-deps.d.ts.map +1 -0
- package/dist/container-account-deps.js +142 -0
- package/dist/container-account-deps.js.map +1 -0
- package/dist/container-github-deps.d.ts +56 -0
- package/dist/container-github-deps.d.ts.map +1 -0
- package/dist/container-github-deps.js +275 -0
- package/dist/container-github-deps.js.map +1 -0
- package/dist/container-model-deps.d.ts +50 -0
- package/dist/container-model-deps.d.ts.map +1 -0
- package/dist/container-model-deps.js +127 -0
- package/dist/container-model-deps.js.map +1 -0
- package/dist/container-realtime-deps.d.ts +34 -0
- package/dist/container-realtime-deps.d.ts.map +1 -0
- package/dist/container-realtime-deps.js +112 -0
- package/dist/container-realtime-deps.js.map +1 -0
- package/dist/container-run-services-deps.d.ts +44 -0
- package/dist/container-run-services-deps.d.ts.map +1 -0
- package/dist/container-run-services-deps.js +148 -0
- package/dist/container-run-services-deps.js.map +1 -0
- package/dist/container-transport-deps.d.ts +72 -0
- package/dist/container-transport-deps.d.ts.map +1 -0
- package/dist/container-transport-deps.js +88 -0
- package/dist/container-transport-deps.js.map +1 -0
- package/dist/container.d.ts +2 -23
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +173 -785
- package/dist/container.js.map +1 -1
- package/package.json +8 -8
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,SAAS,EAMV,MAAM,qBAAqB,CAAA;AAgK5B;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAO9C;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,SAAS,EAMV,MAAM,qBAAqB,CAAA;AAgK5B;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAO9C;AAoWD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAuFhE"}
|
package/dist/config.js
CHANGED
|
@@ -145,21 +145,16 @@ export function cloudflareCredsHalfSet(env) {
|
|
|
145
145
|
? { set: 'CLOUDFLARE_ACCOUNT_ID', missing: 'CLOUDFLARE_API_TOKEN' }
|
|
146
146
|
: { set: 'CLOUDFLARE_API_TOKEN', missing: 'CLOUDFLARE_ACCOUNT_ID' };
|
|
147
147
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
// selectability against each workspace's configured keys + subscriptions.
|
|
159
|
-
// Cloudflare Workers AI over REST needs BOTH the account id and the API token. A
|
|
160
|
-
// half-set pair silently disables the provider, so a deployment that set only one reads
|
|
161
|
-
// as "Cloudflare not configured" with no hint the other half is the gap. Name the
|
|
162
|
-
// missing half at boot (error-message coverage A10).
|
|
148
|
+
/**
|
|
149
|
+
* Deployment-level model capabilities. Direct keys are per-workspace (resolved at run time
|
|
150
|
+
* from the DB pool), so none are known here; Cloudflare Workers AI is opt-in over REST
|
|
151
|
+
* (account id + API token). The per-workspace `/models` endpoint recomputes selectability
|
|
152
|
+
* against each workspace's configured keys + subscriptions. A half-set Cloudflare pair
|
|
153
|
+
* silently disables the provider, so a deployment that set only one reads as "Cloudflare not
|
|
154
|
+
* configured" with no hint the other half is the gap — name the missing half at boot
|
|
155
|
+
* (error-message coverage A10).
|
|
156
|
+
*/
|
|
157
|
+
function resolveProviderCaps(env) {
|
|
163
158
|
const cfAccountId = env.CLOUDFLARE_ACCOUNT_ID?.trim();
|
|
164
159
|
const cfApiToken = env.CLOUDFLARE_API_TOKEN?.trim();
|
|
165
160
|
const cfHalfSet = cloudflareCredsHalfSet(env);
|
|
@@ -168,18 +163,22 @@ export function loadNodeConfig(env) {
|
|
|
168
163
|
`(over REST) needs both, so it stays DISABLED. Set ${cfHalfSet.missing} too, or unset ` +
|
|
169
164
|
`${cfHalfSet.set}. See ${DOCS.envVars(ENV_VARS_ANCHORS.modelProviders)}.`);
|
|
170
165
|
}
|
|
171
|
-
|
|
166
|
+
return {
|
|
172
167
|
directProviders: new Set(),
|
|
173
168
|
subscriptionVendors: new Set(ALL_SUBSCRIPTION_VENDORS),
|
|
174
169
|
cloudflareEnabled: !!(cfAccountId && cfApiToken),
|
|
175
170
|
};
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Agent model routing (default + per-kind overrides + the per-block resolver). Mirrors the
|
|
174
|
+
* Worker's routing: unpinned agents default to Qwen (the Cloudflare flavour when enabled,
|
|
175
|
+
* upgraded to direct DashScope per-workspace by the executor when a Qwen key is configured);
|
|
176
|
+
* the agentic kinds default to GLM-5.2. The two numeric knobs are parsed ONCE (each is read
|
|
177
|
+
* across every config below, and `parseNumericEnv` warns per call, so hoisting collapses a
|
|
178
|
+
* single garbage value to one warning per var — A8).
|
|
179
|
+
*/
|
|
180
|
+
function buildAgentRouting(env, caps) {
|
|
179
181
|
const qwenDefault = resolveModelRef('qwen', caps);
|
|
180
|
-
// Parse the two shared numeric knobs ONCE: each is read across every model config
|
|
181
|
-
// below, and `parseNumericEnv` warns per call, so a single garbage value would emit
|
|
182
|
-
// one warning per site. Hoisting collapses that to one warning per var (A8).
|
|
183
182
|
const envTemperature = num('AGENT_DEFAULT_TEMPERATURE', env.AGENT_DEFAULT_TEMPERATURE);
|
|
184
183
|
const envMaxOutputTokens = num('AGENT_MAX_OUTPUT_TOKENS', env.AGENT_MAX_OUTPUT_TOKENS);
|
|
185
184
|
const defaultConfig = {
|
|
@@ -214,19 +213,34 @@ export function loadNodeConfig(env) {
|
|
|
214
213
|
temperature: envTemperature ?? 0.3,
|
|
215
214
|
maxOutputTokens: envMaxOutputTokens ?? 5000,
|
|
216
215
|
};
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
216
|
+
return {
|
|
217
|
+
routing: {
|
|
218
|
+
default: defaultConfig,
|
|
219
|
+
byKind: {
|
|
220
|
+
architect: agenticDefault,
|
|
221
|
+
coder: agenticDefault,
|
|
222
|
+
reviewer: companionDefault,
|
|
223
|
+
'spec-companion': companionDefault,
|
|
224
|
+
'architect-companion': companionDefault,
|
|
225
|
+
'conflict-resolver': conflictResolverDefault,
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
resolveBlockModel: (modelId) => resolveModelRef(modelId, caps),
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* The GitHub App integration config + its boot-time key-shape validation. The App (private key
|
|
233
|
+
* + app id) backs container-agent runs: it mints the short-lived push token the harness
|
|
234
|
+
* clones/pushes with, so the integration enables only when both are present (a partial config
|
|
235
|
+
* doesn't half-enable repo-operating steps). The App key's SHAPE is validated at boot (present
|
|
236
|
+
* + PKCS#8 PEM + decodable body) whenever the App is configured, so a malformed key fails on the
|
|
237
|
+
* misconfigured screen with the openssl conversion remedy instead of opaquely at the first
|
|
238
|
+
* installation-token mint (error-message coverage A3). The privileged tier is validated on the
|
|
239
|
+
* SAME condition `loadPrivilegedApp` activates it (both id AND key present).
|
|
240
|
+
*/
|
|
241
|
+
function buildGithubConfig(env) {
|
|
222
242
|
const githubAppId = env.GITHUB_APP_ID?.trim() ?? '';
|
|
223
243
|
const githubAppConfigured = githubAppId !== '' && (env.GITHUB_APP_PRIVATE_KEY?.trim() ?? '') !== '';
|
|
224
|
-
// Validate the App private key's SHAPE at boot (present + PKCS#8 PEM + decodable body) whenever
|
|
225
|
-
// the App is configured, so a malformed key fails on the misconfigured screen with the openssl
|
|
226
|
-
// conversion remedy instead of opaquely at the first installation-token mint (error-message
|
|
227
|
-
// coverage A3). The privileged tier is validated on the SAME condition `loadPrivilegedApp`
|
|
228
|
-
// activates it (both id AND key present) — validating a key with no id would fail boot on a
|
|
229
|
-
// credential the privileged tier never consumes and diverge from the Worker's `loadPrivilegedApp`.
|
|
230
244
|
if (githubAppConfigured)
|
|
231
245
|
requireGitHubAppPrivateKey(env.GITHUB_APP_PRIVATE_KEY);
|
|
232
246
|
const privilegedAppId = env.GITHUB_PRIVILEGED_APP_ID?.trim() ?? '';
|
|
@@ -234,17 +248,26 @@ export function loadNodeConfig(env) {
|
|
|
234
248
|
if (privilegedAppId !== '' && privilegedAppKey !== '') {
|
|
235
249
|
requireGitHubAppPrivateKey(env.GITHUB_PRIVILEGED_APP_PRIVATE_KEY, 'GITHUB_PRIVILEGED_APP_PRIVATE_KEY');
|
|
236
250
|
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
251
|
+
return {
|
|
252
|
+
enabled: githubAppConfigured,
|
|
253
|
+
appId: env.GITHUB_APP_ID?.trim() ?? '',
|
|
254
|
+
appSlug: env.GITHUB_APP_SLUG?.trim() ?? '',
|
|
255
|
+
apiBase: env.GITHUB_API_BASE?.trim() || 'https://api.github.com',
|
|
256
|
+
setupRedirectUrl: env.GITHUB_SETUP_REDIRECT_URL?.trim() || '/',
|
|
257
|
+
webhookSecret: env.GITHUB_WEBHOOK_SECRET ?? '',
|
|
258
|
+
privilegedApp: loadPrivilegedApp(env),
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Auth config: which login providers are enabled, plus the two fail-fast boot guards. Remote
|
|
263
|
+
* node mode has NO anonymous tier, so a genuinely unconfigured remote deployment refuses to
|
|
264
|
+
* boot rather than silently 503-ing every protected route. GitHub OAuth set with a missing/too-
|
|
265
|
+
* short session secret (and no dev-open fallback) is the same silent-brick footgun. Local mode
|
|
266
|
+
* always enables password login via `applyLocalDefaults`, and the test/CI harnesses opt into
|
|
267
|
+
* AUTH_DEV_OPEN, so neither trips these guards.
|
|
268
|
+
*/
|
|
269
|
+
function buildAuthConfig(env) {
|
|
270
|
+
const sessionSecret = env.AUTH_SESSION_SECRET?.trim() ?? '';
|
|
248
271
|
const clientId = env.GITHUB_OAUTH_CLIENT_ID?.trim() ?? '';
|
|
249
272
|
const clientSecret = env.GITHUB_OAUTH_CLIENT_SECRET?.trim() ?? '';
|
|
250
273
|
const googleClientId = env.GOOGLE_OAUTH_CLIENT_ID?.trim() ?? '';
|
|
@@ -277,17 +300,168 @@ export function loadNodeConfig(env) {
|
|
|
277
300
|
docsUrl: ENV_HELP.AUTH_SESSION_SECRET.docsUrl,
|
|
278
301
|
});
|
|
279
302
|
}
|
|
280
|
-
// Remote node mode has NO anonymous tier: a hosted deployment must be able to sign a
|
|
281
|
-
// user in from the very first request. So refuse to boot when no login provider is
|
|
282
|
-
// configured AND the dev-open test hatch is off — rather than silently leaving auth
|
|
283
|
-
// disabled and 503-ing every protected route (a confusing half-brick that reads like a
|
|
284
|
-
// bug, not a misconfiguration). Local mode always enables password login via
|
|
285
|
-
// `applyLocalDefaults`, and the test/CI harnesses opt into AUTH_DEV_OPEN, so neither
|
|
286
|
-
// trips this; only a genuinely unconfigured remote deployment does.
|
|
287
303
|
const authEnabled = githubEnabled || googleEnabled || passwordEnabled;
|
|
288
304
|
if (!authEnabled && !devOpen) {
|
|
289
305
|
throw configProblem({ key: 'AUTH_PROVIDER', ...ENV_HELP.AUTH_PROVIDER });
|
|
290
306
|
}
|
|
307
|
+
return {
|
|
308
|
+
enabled: authEnabled,
|
|
309
|
+
devOpen,
|
|
310
|
+
testingNoAuth,
|
|
311
|
+
githubEnabled,
|
|
312
|
+
clientId,
|
|
313
|
+
clientSecret,
|
|
314
|
+
sessionSecret,
|
|
315
|
+
apiBase: env.GITHUB_API_BASE?.trim() || 'https://api.github.com',
|
|
316
|
+
oauthBase: env.GITHUB_OAUTH_BASE?.trim() || 'https://github.com',
|
|
317
|
+
sessionTtlMs: (ttlHours !== undefined && ttlHours > 0 ? ttlHours : 168) * 60 * 60 * 1000,
|
|
318
|
+
machineTokenTtlMs: resolveMachineTokenTtlMs(env.AUTH_MACHINE_TOKEN_TTL_MS),
|
|
319
|
+
successRedirectUrl: env.AUTH_SUCCESS_REDIRECT_URL?.trim() || '',
|
|
320
|
+
callbackUrl: env.AUTH_CALLBACK_URL?.trim() || '',
|
|
321
|
+
passwordEnabled,
|
|
322
|
+
// Open (un-gated) signup is a local-mode convenience; hosted defaults stay
|
|
323
|
+
// invite/email-domain-gated. `applyLocalDefaults` flips it on for local mode.
|
|
324
|
+
openSignup: env.AUTH_OPEN_SIGNUP?.trim() === 'true',
|
|
325
|
+
...(googleEnabled
|
|
326
|
+
? {
|
|
327
|
+
google: {
|
|
328
|
+
clientId: googleClientId,
|
|
329
|
+
clientSecret: googleClientSecret,
|
|
330
|
+
redirectUrl: env.GOOGLE_OAUTH_REDIRECT_URL?.trim() || '',
|
|
331
|
+
},
|
|
332
|
+
}
|
|
333
|
+
: {}),
|
|
334
|
+
allowedEmailDomains: csv(env.AUTH_ALLOWED_EMAIL_DOMAINS).map((d) => d.toLowerCase()),
|
|
335
|
+
allowedLogins: csv(env.AUTH_ALLOWED_LOGINS).map((l) => l.toLowerCase()),
|
|
336
|
+
allowedOrgs: csv(env.AUTH_ALLOWED_ORGS).map((o) => o.toLowerCase()),
|
|
337
|
+
allowedRedirectOrigins: csv(env.AUTH_ALLOWED_REDIRECT_ORIGINS).map((o) => {
|
|
338
|
+
try {
|
|
339
|
+
return new URL(o).origin;
|
|
340
|
+
}
|
|
341
|
+
catch {
|
|
342
|
+
return o;
|
|
343
|
+
}
|
|
344
|
+
}),
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Auth-email config. Available whenever an encryption key exists — there is no separate opt-in
|
|
349
|
+
* flag. The per-account provider API key is sealed with that key. The deployment-level `system`
|
|
350
|
+
* sender (auth emails like password reset) is read entirely from env and is independent of the
|
|
351
|
+
* per-account connections, so it loads regardless of `enabled`.
|
|
352
|
+
*/
|
|
353
|
+
function buildEmailConfig(env) {
|
|
354
|
+
const appBaseUrl = env.APP_BASE_URL?.trim() || env.AUTH_SUCCESS_REDIRECT_URL?.trim() || '';
|
|
355
|
+
const system = loadSystemEmailSender(env);
|
|
356
|
+
const encryptionKey = env.ENCRYPTION_KEY?.trim();
|
|
357
|
+
return encryptionKey
|
|
358
|
+
? { enabled: true, encryptionKey, appBaseUrl, system }
|
|
359
|
+
: { enabled: false, appBaseUrl, system };
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Ephemeral-environment provider integration (a tenant rolls its own environment-management
|
|
363
|
+
* API): assembles from the shared ENCRYPTION_KEY that seals per-tenant credentials at rest, with
|
|
364
|
+
* no separate enable flag, mirroring the Worker.
|
|
365
|
+
*/
|
|
366
|
+
function buildEnvironmentsConfig(env) {
|
|
367
|
+
const detectionConventions = parseDetectionConventions(env.ENVIRONMENTS_DETECTION_CONVENTIONS);
|
|
368
|
+
return {
|
|
369
|
+
encryptionKey: env.ENCRYPTION_KEY?.trim(),
|
|
370
|
+
// Trusted-adapter escape hatch: permit an in-house env platform on an
|
|
371
|
+
// internal/VPN host (otherwise the strict public-https guard rejects it).
|
|
372
|
+
allowUrlHosts: csv(env.ENVIRONMENTS_ALLOW_URL_HOSTS),
|
|
373
|
+
allowHttpUrls: env.ENVIRONMENTS_ALLOW_HTTP_URLS === 'true',
|
|
374
|
+
// Additive house-convention extensions to provisioning detection (JSON object).
|
|
375
|
+
...(detectionConventions ? { detectionConventions } : {}),
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Self-hosted runner pools encrypt their scheduler credentials at rest; opt-in via the presence
|
|
380
|
+
* of an ENCRYPTION_KEY, sealed with that shared key (mirroring the Worker).
|
|
381
|
+
*/
|
|
382
|
+
function buildRunnersConfig(env) {
|
|
383
|
+
const runnersEncryptionKey = env.ENCRYPTION_KEY?.trim() ?? '';
|
|
384
|
+
return runnersEncryptionKey
|
|
385
|
+
? {
|
|
386
|
+
enabled: true,
|
|
387
|
+
encryptionKey: runnersEncryptionKey,
|
|
388
|
+
allowUrlHosts: csv(env.RUNNERS_ALLOW_URL_HOSTS),
|
|
389
|
+
allowHttpUrls: env.RUNNERS_ALLOW_HTTP_URLS === 'true',
|
|
390
|
+
}
|
|
391
|
+
: { enabled: false };
|
|
392
|
+
}
|
|
393
|
+
/** Retention windows (ms) for the append-heavy telemetry/log tables. */
|
|
394
|
+
function buildRetentionConfig(env) {
|
|
395
|
+
return {
|
|
396
|
+
tokenUsageMs: retentionMs('TOKEN_USAGE_RETENTION_DAYS', env.TOKEN_USAGE_RETENTION_DAYS, 395),
|
|
397
|
+
rateLimitMs: retentionMs('GITHUB_RATE_LIMIT_RETENTION_DAYS', env.GITHUB_RATE_LIMIT_RETENTION_DAYS, 7),
|
|
398
|
+
commitMs: retentionMs('GITHUB_COMMIT_RETENTION_DAYS', env.GITHUB_COMMIT_RETENTION_DAYS, 90),
|
|
399
|
+
// Heavy full per-call prompt/response; pruned aggressively (default 3 days).
|
|
400
|
+
llmCallMetricsMs: retentionMs('LLM_CALL_METRICS_RETENTION_DAYS', env.LLM_CALL_METRICS_RETENTION_DAYS, 3),
|
|
401
|
+
// High-churn provisioning event log; pruned aggressively (default 14 days).
|
|
402
|
+
provisioningLogMs: retentionMs('PROVISIONING_LOG_RETENTION_DAYS', env.PROVISIONING_LOG_RETENTION_DAYS, 14),
|
|
403
|
+
// Resolved (acted/dismissed) notifications; generous default of 90 days. Open
|
|
404
|
+
// cards (the actionable inbox) are never pruned.
|
|
405
|
+
notificationsMs: retentionMs('NOTIFICATION_RETENTION_DAYS', env.NOTIFICATION_RETENTION_DAYS, 90),
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Optional Langfuse trace sink: off unless `LANGFUSE_ENABLED=true` AND both keys are present (a
|
|
410
|
+
* half-configured sink silently does nothing). Mirrors the Worker mapping.
|
|
411
|
+
*/
|
|
412
|
+
function buildLangfuseConfig(env) {
|
|
413
|
+
return {
|
|
414
|
+
enabled: env.LANGFUSE_ENABLED?.trim() === 'true' &&
|
|
415
|
+
!!env.LANGFUSE_PUBLIC_KEY?.trim() &&
|
|
416
|
+
!!env.LANGFUSE_SECRET_KEY?.trim(),
|
|
417
|
+
publicKey: env.LANGFUSE_PUBLIC_KEY?.trim(),
|
|
418
|
+
secretKey: env.LANGFUSE_SECRET_KEY?.trim(),
|
|
419
|
+
baseUrl: env.LANGFUSE_BASE_URL?.trim() || undefined,
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Optional OpenTelemetry OTLP exporter: off unless `OTEL_ENABLED=true` AND an endpoint is set (a
|
|
424
|
+
* half-configured exporter silently does nothing, like every other opt-in integration). On Node
|
|
425
|
+
* this uses the official @opentelemetry/* SDK (see container.ts).
|
|
426
|
+
*/
|
|
427
|
+
function buildOtelConfig(env) {
|
|
428
|
+
const otelEnabled = env.OTEL_ENABLED?.trim() === 'true' && !!env.OTEL_EXPORTER_OTLP_ENDPOINT?.trim();
|
|
429
|
+
return {
|
|
430
|
+
enabled: otelEnabled,
|
|
431
|
+
endpoint: env.OTEL_EXPORTER_OTLP_ENDPOINT?.trim() || undefined,
|
|
432
|
+
headers: parseOtlpHeaders(env.OTEL_EXPORTER_OTLP_HEADERS),
|
|
433
|
+
serviceName: env.OTEL_SERVICE_NAME?.trim() || undefined,
|
|
434
|
+
platformMetrics: {
|
|
435
|
+
// A further opt-in on top of the base exporter (adds recurring DB rollup load).
|
|
436
|
+
enabled: otelEnabled && env.OTEL_PLATFORM_METRICS?.trim() === 'true',
|
|
437
|
+
intervalMs: parsePlatformMetricsIntervalMs(env.OTEL_PLATFORM_METRICS_INTERVAL_MS),
|
|
438
|
+
window: parsePlatformMetricsWindow(env.OTEL_PLATFORM_METRICS_WINDOW),
|
|
439
|
+
},
|
|
440
|
+
};
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Execution engine timing knobs (durable poll/CI intervals + container max age), each defaulting
|
|
444
|
+
* to the Worker's values.
|
|
445
|
+
*/
|
|
446
|
+
function buildExecutionConfig(env) {
|
|
447
|
+
return {
|
|
448
|
+
decisionTimeout: env.DECISION_TIMEOUT?.trim() || '24 hours',
|
|
449
|
+
jobPollInterval: env.JOB_POLL_INTERVAL?.trim() || '15 seconds',
|
|
450
|
+
jobMaxPolls: num('JOB_MAX_POLLS', env.JOB_MAX_POLLS) ?? 280,
|
|
451
|
+
jobPollFailureTolerance: num('JOB_POLL_FAILURE_TOLERANCE', env.JOB_POLL_FAILURE_TOLERANCE) ?? 6,
|
|
452
|
+
ciPollInterval: env.CI_POLL_INTERVAL?.trim() || '30 seconds',
|
|
453
|
+
ciMaxPolls: num('CI_MAX_POLLS', env.CI_MAX_POLLS) ?? 120,
|
|
454
|
+
containerMaxAgeMs: Math.max(75, num('CONTAINER_MAX_AGE_MINUTES', env.CONTAINER_MAX_AGE_MINUTES) ?? 90) * 60_000,
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
export function loadNodeConfig(env) {
|
|
458
|
+
// Validate the system encryption key up front: present, valid base64, and decoding to a full
|
|
459
|
+
// AES-256 key. It is effectively mandatory (the always-on document/task integrations below seal
|
|
460
|
+
// credentials at rest under it), so a missing/malformed key fails here with an actionable message
|
|
461
|
+
// rather than lazily inside the first cipher build (a bare "must decode to at least 32 bytes" or
|
|
462
|
+
// an opaque `atob` error). Mirrors the Worker's `loadConfig` and local mode's secret validation.
|
|
463
|
+
requireEncryptionKey(env.ENCRYPTION_KEY);
|
|
464
|
+
const caps = resolveProviderCaps(env);
|
|
291
465
|
// The deployment-level BASE pricing (built-in table + the fallback currency/monthly-limit
|
|
292
466
|
// a workspace inherits when it sets no budget of its own). The per-workspace budget moved
|
|
293
467
|
// out of env (`SPEND_*`) onto the workspace settings row; the spend service overlays it.
|
|
@@ -297,128 +471,29 @@ export function loadNodeConfig(env) {
|
|
|
297
471
|
...DEFAULT_SPEND_PRICING,
|
|
298
472
|
...budgetCapsOverlay(num('BUDGET_MAX_MONTHLY_PER_ACCOUNT', env.BUDGET_MAX_MONTHLY_PER_ACCOUNT), num('BUDGET_MAX_MONTHLY_PER_USER', env.BUDGET_MAX_MONTHLY_PER_USER)),
|
|
299
473
|
};
|
|
300
|
-
|
|
301
|
-
//
|
|
302
|
-
|
|
474
|
+
const slackEncryptionKey = env.ENCRYPTION_KEY?.trim() ?? '';
|
|
475
|
+
// Slack notification transport: opt-in (SLACK_ENABLED), the per-account bot token
|
|
476
|
+
// sealed with the shared ENCRYPTION_KEY. OAuth credentials moved out of env into
|
|
477
|
+
// per-account settings (sealed), resolved dynamically at connect time.
|
|
478
|
+
const slackEnabled = env.SLACK_ENABLED?.trim() === 'true';
|
|
303
479
|
return {
|
|
304
|
-
agents:
|
|
305
|
-
routing: {
|
|
306
|
-
default: defaultConfig,
|
|
307
|
-
byKind: {
|
|
308
|
-
architect: agenticDefault,
|
|
309
|
-
coder: agenticDefault,
|
|
310
|
-
reviewer: companionDefault,
|
|
311
|
-
'spec-companion': companionDefault,
|
|
312
|
-
'architect-companion': companionDefault,
|
|
313
|
-
'conflict-resolver': conflictResolverDefault,
|
|
314
|
-
},
|
|
315
|
-
},
|
|
316
|
-
resolveBlockModel: (modelId) => resolveModelRef(modelId, caps),
|
|
317
|
-
},
|
|
480
|
+
agents: buildAgentRouting(env, caps),
|
|
318
481
|
// Surface each model's informational list cost in the picker (from spend pricing).
|
|
319
482
|
models: effectiveCatalog(caps, modelCostResolver(spend)),
|
|
320
|
-
execution:
|
|
321
|
-
decisionTimeout: env.DECISION_TIMEOUT?.trim() || '24 hours',
|
|
322
|
-
jobPollInterval: env.JOB_POLL_INTERVAL?.trim() || '15 seconds',
|
|
323
|
-
jobMaxPolls: num('JOB_MAX_POLLS', env.JOB_MAX_POLLS) ?? 280,
|
|
324
|
-
jobPollFailureTolerance: num('JOB_POLL_FAILURE_TOLERANCE', env.JOB_POLL_FAILURE_TOLERANCE) ?? 6,
|
|
325
|
-
ciPollInterval: env.CI_POLL_INTERVAL?.trim() || '30 seconds',
|
|
326
|
-
ciMaxPolls: num('CI_MAX_POLLS', env.CI_MAX_POLLS) ?? 120,
|
|
327
|
-
containerMaxAgeMs: Math.max(75, num('CONTAINER_MAX_AGE_MINUTES', env.CONTAINER_MAX_AGE_MINUTES) ?? 90) *
|
|
328
|
-
60_000,
|
|
329
|
-
},
|
|
483
|
+
execution: buildExecutionConfig(env),
|
|
330
484
|
spend,
|
|
331
|
-
github:
|
|
332
|
-
enabled: githubAppConfigured,
|
|
333
|
-
appId: env.GITHUB_APP_ID?.trim() ?? '',
|
|
334
|
-
appSlug: env.GITHUB_APP_SLUG?.trim() ?? '',
|
|
335
|
-
apiBase: env.GITHUB_API_BASE?.trim() || 'https://api.github.com',
|
|
336
|
-
setupRedirectUrl: env.GITHUB_SETUP_REDIRECT_URL?.trim() || '/',
|
|
337
|
-
webhookSecret: env.GITHUB_WEBHOOK_SECRET ?? '',
|
|
338
|
-
privilegedApp: loadPrivilegedApp(env),
|
|
339
|
-
},
|
|
485
|
+
github: buildGithubConfig(env),
|
|
340
486
|
gitlab: loadGitLabConfig(env),
|
|
341
|
-
auth:
|
|
342
|
-
|
|
343
|
-
devOpen,
|
|
344
|
-
testingNoAuth,
|
|
345
|
-
githubEnabled,
|
|
346
|
-
clientId,
|
|
347
|
-
clientSecret,
|
|
348
|
-
sessionSecret,
|
|
349
|
-
apiBase: env.GITHUB_API_BASE?.trim() || 'https://api.github.com',
|
|
350
|
-
oauthBase: env.GITHUB_OAUTH_BASE?.trim() || 'https://github.com',
|
|
351
|
-
sessionTtlMs: (ttlHours !== undefined && ttlHours > 0 ? ttlHours : 168) * 60 * 60 * 1000,
|
|
352
|
-
machineTokenTtlMs: resolveMachineTokenTtlMs(env.AUTH_MACHINE_TOKEN_TTL_MS),
|
|
353
|
-
successRedirectUrl: env.AUTH_SUCCESS_REDIRECT_URL?.trim() || '',
|
|
354
|
-
callbackUrl: env.AUTH_CALLBACK_URL?.trim() || '',
|
|
355
|
-
passwordEnabled,
|
|
356
|
-
// Open (un-gated) signup is a local-mode convenience; hosted defaults stay
|
|
357
|
-
// invite/email-domain-gated. `applyLocalDefaults` flips it on for local mode.
|
|
358
|
-
openSignup: env.AUTH_OPEN_SIGNUP?.trim() === 'true',
|
|
359
|
-
...(googleEnabled
|
|
360
|
-
? {
|
|
361
|
-
google: {
|
|
362
|
-
clientId: googleClientId,
|
|
363
|
-
clientSecret: googleClientSecret,
|
|
364
|
-
redirectUrl: env.GOOGLE_OAUTH_REDIRECT_URL?.trim() || '',
|
|
365
|
-
},
|
|
366
|
-
}
|
|
367
|
-
: {}),
|
|
368
|
-
allowedEmailDomains: csv(env.AUTH_ALLOWED_EMAIL_DOMAINS).map((d) => d.toLowerCase()),
|
|
369
|
-
allowedLogins: csv(env.AUTH_ALLOWED_LOGINS).map((l) => l.toLowerCase()),
|
|
370
|
-
allowedOrgs: csv(env.AUTH_ALLOWED_ORGS).map((o) => o.toLowerCase()),
|
|
371
|
-
allowedRedirectOrigins: csv(env.AUTH_ALLOWED_REDIRECT_ORIGINS).map((o) => {
|
|
372
|
-
try {
|
|
373
|
-
return new URL(o).origin;
|
|
374
|
-
}
|
|
375
|
-
catch {
|
|
376
|
-
return o;
|
|
377
|
-
}
|
|
378
|
-
}),
|
|
379
|
-
},
|
|
380
|
-
// Email is available whenever an encryption key exists — there is no separate opt-in
|
|
381
|
-
// flag. The per-account provider API key is sealed with that key. The deployment-level
|
|
382
|
-
// `system` sender (auth emails like password reset) is read entirely from env and is
|
|
383
|
-
// independent of the per-account connections, so it loads regardless of `enabled`.
|
|
384
|
-
email: env.ENCRYPTION_KEY?.trim()
|
|
385
|
-
? {
|
|
386
|
-
enabled: true,
|
|
387
|
-
encryptionKey: env.ENCRYPTION_KEY.trim(),
|
|
388
|
-
appBaseUrl: env.APP_BASE_URL?.trim() || env.AUTH_SUCCESS_REDIRECT_URL?.trim() || '',
|
|
389
|
-
system: loadSystemEmailSender(env),
|
|
390
|
-
}
|
|
391
|
-
: {
|
|
392
|
-
enabled: false,
|
|
393
|
-
appBaseUrl: env.APP_BASE_URL?.trim() || env.AUTH_SUCCESS_REDIRECT_URL?.trim() || '',
|
|
394
|
-
system: loadSystemEmailSender(env),
|
|
395
|
-
},
|
|
487
|
+
auth: buildAuthConfig(env),
|
|
488
|
+
email: buildEmailConfig(env),
|
|
396
489
|
// Document-source integration: the providers (Confluence/Notion/GitHub-docs) are
|
|
397
490
|
// the shared `@cat-factory/integrations` fetch shells, wired in the container
|
|
398
491
|
// exactly like the Worker's `selectDocumentsDeps`. Always on (the shared
|
|
399
492
|
// ENCRYPTION_KEY backs credential encryption at rest).
|
|
400
493
|
documents: loadDocumentsConfig(env),
|
|
401
494
|
tasks: loadTasksConfig(env),
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
// per-tenant credentials at rest, with no separate enable flag, mirroring the Worker.
|
|
405
|
-
environments: {
|
|
406
|
-
encryptionKey: env.ENCRYPTION_KEY?.trim(),
|
|
407
|
-
// Trusted-adapter escape hatch: permit an in-house env platform on an
|
|
408
|
-
// internal/VPN host (otherwise the strict public-https guard rejects it).
|
|
409
|
-
allowUrlHosts: csv(env.ENVIRONMENTS_ALLOW_URL_HOSTS),
|
|
410
|
-
allowHttpUrls: env.ENVIRONMENTS_ALLOW_HTTP_URLS === 'true',
|
|
411
|
-
// Additive house-convention extensions to provisioning detection (JSON object).
|
|
412
|
-
...(detectionConventions ? { detectionConventions } : {}),
|
|
413
|
-
},
|
|
414
|
-
runners: runnersEncryptionKey
|
|
415
|
-
? {
|
|
416
|
-
enabled: true,
|
|
417
|
-
encryptionKey: runnersEncryptionKey,
|
|
418
|
-
allowUrlHosts: csv(env.RUNNERS_ALLOW_URL_HOSTS),
|
|
419
|
-
allowHttpUrls: env.RUNNERS_ALLOW_HTTP_URLS === 'true',
|
|
420
|
-
}
|
|
421
|
-
: { enabled: false },
|
|
495
|
+
environments: buildEnvironmentsConfig(env),
|
|
496
|
+
runners: buildRunnersConfig(env),
|
|
422
497
|
slack: slackEnabled && slackEncryptionKey
|
|
423
498
|
? { enabled: true, encryptionKey: slackEncryptionKey }
|
|
424
499
|
: { enabled: false },
|
|
@@ -429,18 +504,7 @@ export function loadNodeConfig(env) {
|
|
|
429
504
|
releaseHealth: env.OBSERVABILITY_ENABLED === 'true' && env.ENCRYPTION_KEY?.trim()
|
|
430
505
|
? { enabled: true, encryptionKey: env.ENCRYPTION_KEY.trim() }
|
|
431
506
|
: { enabled: false },
|
|
432
|
-
retention:
|
|
433
|
-
tokenUsageMs: retentionMs('TOKEN_USAGE_RETENTION_DAYS', env.TOKEN_USAGE_RETENTION_DAYS, 395),
|
|
434
|
-
rateLimitMs: retentionMs('GITHUB_RATE_LIMIT_RETENTION_DAYS', env.GITHUB_RATE_LIMIT_RETENTION_DAYS, 7),
|
|
435
|
-
commitMs: retentionMs('GITHUB_COMMIT_RETENTION_DAYS', env.GITHUB_COMMIT_RETENTION_DAYS, 90),
|
|
436
|
-
// Heavy full per-call prompt/response; pruned aggressively (default 3 days).
|
|
437
|
-
llmCallMetricsMs: retentionMs('LLM_CALL_METRICS_RETENTION_DAYS', env.LLM_CALL_METRICS_RETENTION_DAYS, 3),
|
|
438
|
-
// High-churn provisioning event log; pruned aggressively (default 14 days).
|
|
439
|
-
provisioningLogMs: retentionMs('PROVISIONING_LOG_RETENTION_DAYS', env.PROVISIONING_LOG_RETENTION_DAYS, 14),
|
|
440
|
-
// Resolved (acted/dismissed) notifications; generous default of 90 days. Open
|
|
441
|
-
// cards (the actionable inbox) are never pruned.
|
|
442
|
-
notificationsMs: retentionMs('NOTIFICATION_RETENTION_DAYS', env.NOTIFICATION_RETENTION_DAYS, 90),
|
|
443
|
-
},
|
|
507
|
+
retention: buildRetentionConfig(env),
|
|
444
508
|
// Prompt-fragment library (ADR 0006): on by default, opt OUT with
|
|
445
509
|
// `PROMPT_LIBRARY_ENABLED=false`. Needs no encryption key (fragments are not
|
|
446
510
|
// secrets) and its tables ship in the base schema. Mirrors the Worker's
|
|
@@ -453,30 +517,8 @@ export function loadNodeConfig(env) {
|
|
|
453
517
|
// Recording the complete prompts is on by default; opt out with
|
|
454
518
|
// `LLM_RECORD_PROMPTS=false` to keep the numeric telemetry but drop the prompt body.
|
|
455
519
|
observability: { recordPrompts: env.LLM_RECORD_PROMPTS?.trim() !== 'false' },
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
langfuse: {
|
|
459
|
-
enabled: env.LANGFUSE_ENABLED?.trim() === 'true' &&
|
|
460
|
-
!!env.LANGFUSE_PUBLIC_KEY?.trim() &&
|
|
461
|
-
!!env.LANGFUSE_SECRET_KEY?.trim(),
|
|
462
|
-
publicKey: env.LANGFUSE_PUBLIC_KEY?.trim(),
|
|
463
|
-
secretKey: env.LANGFUSE_SECRET_KEY?.trim(),
|
|
464
|
-
baseUrl: env.LANGFUSE_BASE_URL?.trim() || undefined,
|
|
465
|
-
},
|
|
466
|
-
// Optional OpenTelemetry OTLP exporter: off unless `OTEL_ENABLED=true` AND an endpoint
|
|
467
|
-
// is set. On Node this uses the official @opentelemetry/* SDK (see container.ts).
|
|
468
|
-
otel: {
|
|
469
|
-
enabled: otelEnabled,
|
|
470
|
-
endpoint: env.OTEL_EXPORTER_OTLP_ENDPOINT?.trim() || undefined,
|
|
471
|
-
headers: parseOtlpHeaders(env.OTEL_EXPORTER_OTLP_HEADERS),
|
|
472
|
-
serviceName: env.OTEL_SERVICE_NAME?.trim() || undefined,
|
|
473
|
-
platformMetrics: {
|
|
474
|
-
// A further opt-in on top of the base exporter (adds recurring DB rollup load).
|
|
475
|
-
enabled: otelEnabled && env.OTEL_PLATFORM_METRICS?.trim() === 'true',
|
|
476
|
-
intervalMs: parsePlatformMetricsIntervalMs(env.OTEL_PLATFORM_METRICS_INTERVAL_MS),
|
|
477
|
-
window: parsePlatformMetricsWindow(env.OTEL_PLATFORM_METRICS_WINDOW),
|
|
478
|
-
},
|
|
479
|
-
},
|
|
520
|
+
langfuse: buildLangfuseConfig(env),
|
|
521
|
+
otel: buildOtelConfig(env),
|
|
480
522
|
// Platform-health alerting: a periodic sweep raises a `platform_health` notification when
|
|
481
523
|
// the deployment's own run health crosses a threshold. Opt-in (`PLATFORM_ALERTS=true`);
|
|
482
524
|
// independent of the OTel exporter (it fans out through the notification channel seam).
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { AccountSettingsService } from '@cat-factory/integrations';
|
|
2
|
+
import type { CoreDependencies } from '@cat-factory/orchestration';
|
|
3
|
+
import type { AppCaches, Clock, IdGenerator, ProviderRegistry } from '@cat-factory/kernel';
|
|
4
|
+
import { type AppConfig } from '@cat-factory/server';
|
|
5
|
+
import type { ContentStorageBackend } from '@cat-factory/contracts';
|
|
6
|
+
import type { DrizzleDb } from './db/client.js';
|
|
7
|
+
import type { createDrizzleRepositories } from './repositories/drizzle.js';
|
|
8
|
+
type NodeRepositories = ReturnType<typeof createDrizzleRepositories>;
|
|
9
|
+
/** Inputs {@link buildNodeAccountDeps} needs from the composition root. */
|
|
10
|
+
export interface NodeAccountDepsInput {
|
|
11
|
+
env: NodeJS.ProcessEnv;
|
|
12
|
+
config: AppConfig;
|
|
13
|
+
db: DrizzleDb;
|
|
14
|
+
repos: NodeRepositories;
|
|
15
|
+
idGenerator: IdGenerator;
|
|
16
|
+
clock: Clock;
|
|
17
|
+
/** The app-owned provider registry the observability/incident gate providers wire onto. */
|
|
18
|
+
providerRegistry: ProviderRegistry;
|
|
19
|
+
/** The package-registry cipher built by {@link buildNodeRunServices} (management-API side). */
|
|
20
|
+
packageRegistrySecretCipher: CoreDependencies['packageRegistrySecretCipher'];
|
|
21
|
+
contentStorageDefaultBackend?: ContentStorageBackend;
|
|
22
|
+
caches?: AppCaches;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The per-account settings + binary-artifact storage + observability/incident gate wiring of
|
|
26
|
+
* the Node composition root, lifted out of `buildNodeContainer` so that root stays within the
|
|
27
|
+
* file-size budget. Wires the release-health + incident-enrichment gate providers onto the
|
|
28
|
+
* app-owned `providerRegistry` (a side effect — call BEFORE `applyGateProviders`), and builds
|
|
29
|
+
* the per-account settings service + the content-storage blob backend factory it resolves the
|
|
30
|
+
* binary-artifact store from.
|
|
31
|
+
*/
|
|
32
|
+
export declare function buildNodeAccountDeps(input: NodeAccountDepsInput): {
|
|
33
|
+
releaseHealthDeps: Partial<CoreDependencies>;
|
|
34
|
+
packageRegistryDeps: Partial<CoreDependencies>;
|
|
35
|
+
incidentEnrichmentDeps: Partial<CoreDependencies>;
|
|
36
|
+
accountSettings: AccountSettingsService | undefined;
|
|
37
|
+
resolveBinaryArtifactStore: import("@cat-factory/kernel").ResolveBinaryArtifactStore;
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=container-account-deps.d.ts.map
|