@cat-factory/node-server 0.107.24 → 0.107.26

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.
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
package/dist/container.js CHANGED
@@ -340,6 +340,454 @@ function applyMothershipRemoteRepos(dependencies, remoteRepos) {
340
340
  remoteRepos.skillSourceRepository;
341
341
  }
342
342
  }
343
+ /**
344
+ * Assemble the engine {@link CoreDependencies} from the {@link NodeCoreDepsBundle} the composition
345
+ * root built. Extracted verbatim from {@link buildNodeContainer} so the runtime object is identical
346
+ * (later spreads still override earlier ones in the same order) — purely the function-size ratchet
347
+ * split, not a behaviour change.
348
+ */
349
+ function assembleNodeCoreDependencies(bundle) {
350
+ const { config, options, env, db, repos, sourced, idGenerator, clock, gateways, runnerUrlPolicy, githubInstallationRepository, environmentBackendRegistry, runnerBackendRegistry, customManifestTypeRegistry, agentKindRegistry, gateRegistry, stepResolverRegistry, initiativePresetRegistry, providerRegistry, apiKeys, subscriptions, personalSubscriptions, localModelEndpoints, openRouterCatalog, modelProviderResolver, cloudflareModelsEnabled, deployDeps, runnerPoolConnectionRepository, agentContextObservability, searchQueryObservability, resolveTestSecretRefs, githubClient, tasks, fileGitHubIssue, issueWritebackProvider, githubGateDeps, githubModuleDeps, bootstrapJobRepository, repoBootstrapper, slackDeps, executionEventPublisher, agentExecutor, notificationChannel, releaseHealthDeps, packageRegistryDeps, incidentEnrichmentDeps, accountSettings, resolveBinaryArtifactStore, } = bundle;
351
+ return {
352
+ ...releaseHealthDeps,
353
+ ...incidentEnrichmentDeps,
354
+ ...packageRegistryDeps,
355
+ // Fold the service frame's SENSITIVE test-credential refs (key + description, never values)
356
+ // into the tester prompt. Present when ENCRYPTION_KEY is set; absent ⇒ no advertised secrets.
357
+ ...(resolveTestSecretRefs ? { resolveTestSecretRefs } : {}),
358
+ // App-owned backend registries (kind → provider) the connection services resolve through.
359
+ environmentBackendRegistry,
360
+ runnerBackendRegistry,
361
+ // The app-owned agent-kind registry (built-ins + any deployment-registered kinds); the
362
+ // engine reads it (traits / inline-surface / pre-post-op hooks) and re-exposes it on Core.
363
+ agentKindRegistry,
364
+ // The app-owned gate + step-resolver registries; the engine's gate machine + completion hub
365
+ // read them, and the gate registry is re-exposed on Core for the boot-time validation.
366
+ gateRegistry,
367
+ stepResolverRegistry,
368
+ // The app-owned provider registry the gate providers were wired onto above; the engine's gate
369
+ // machine reads the SAME instance through its GateContext.
370
+ providerRegistry,
371
+ // The app-owned pipeline registry (deployment-registered extra pipelines); createCore threads
372
+ // it into the workspace + pipeline services and re-exposes it on Core for boot-time validation.
373
+ pipelineRegistry: options.pipelineRegistry,
374
+ // The app-owned initiative-preset registry; the initiative services read it and it is
375
+ // re-exposed on Core for the snapshot descriptors + preset probe.
376
+ initiativePresetRegistry,
377
+ // The code-defined custom provision-type catalog, merged with the workspace rows by
378
+ // `listCustomTypes` so a programmatically-registered type surfaces in the infra editor + the
379
+ // per-service provisioning picker.
380
+ customManifestTypeRegistry,
381
+ ...(accountSettings ? { accountSettings } : {}),
382
+ // Resolves the per-account binary-artifact store (screenshots) for the visual-confirmation
383
+ // gate; resolving to null (no storage configured) ⇒ the gate passes through.
384
+ resolveBinaryArtifactStore,
385
+ workspaceRepository: repos.workspaceRepository,
386
+ workspaceMemberRepository: repos.workspaceMemberRepository,
387
+ accountRepository: repos.accountRepository,
388
+ membershipRepository: repos.membershipRepository,
389
+ userRepository: repos.userRepository,
390
+ passwordHasher: new WebCryptoPasswordHasher(),
391
+ blockRepository: repos.blockRepository,
392
+ pipelineRepository: repos.pipelineRepository,
393
+ executionRepository: repos.executionRepository,
394
+ // Clear a finished run's personal-credential activation promptly (TTL sweep is the backstop).
395
+ // In mothership mode its home is the LOCAL `node:sqlite` credential bucket (the activation
396
+ // re-seals the token for the run, and the LOCAL container executor decrypts it), injected via
397
+ // `options.subscriptionActivationRepository` — the SAME instance the personal-subscription
398
+ // service above mints into, so mint + clear agree. Absent (plain Node / siloed-Postgres local)
399
+ // → the Drizzle repo over `db`. This is NEVER routed through `sourced` (the remote registry):
400
+ // every no-db (mothership) caller injects the override — `buildLocalContainer` in production
401
+ // and `makeMothershipConformanceApp` in tests — so `db` here is always a real Postgres handle,
402
+ // and routing an activation clear to the mothership (where `deleteByExecution` isn't
403
+ // allow-listed) is a path no caller takes.
404
+ subscriptionActivationRepository: options.subscriptionActivationRepository ?? new DrizzleSubscriptionActivationRepository(db),
405
+ // In-org shared services. When a realtime hub is wired (start()), the engine's
406
+ // event publisher (composed above) is a `FanOutEventPublisher` over these two repos,
407
+ // so a shared service's live events reach every board that mounts it — parity with
408
+ // the Cloudflare facade. Without a hub (createServer/tests) the engine uses its
409
+ // NoopEventPublisher and nothing is pushed.
410
+ serviceRepository: repos.serviceRepository,
411
+ workspaceMountRepository: repos.workspaceMountRepository,
412
+ tokenUsageRepository: repos.tokenUsageRepository,
413
+ llmCallMetricRepository: repos.llmCallMetricRepository,
414
+ // Deployment-level rollups over `agent_runs` for the operator dashboard.
415
+ platformMetricsRepository: repos.platformMetricsRepository,
416
+ // Unified provisioning event log (its own Postgres schema). Threads the recorder
417
+ // into the env services and exposes the read service for the logs controller.
418
+ provisioningLogRepository: repos.provisioningLogRepository,
419
+ recordLlmPrompts: config.observability.recordPrompts,
420
+ // Re-exposed on the core for the agent-context read endpoint; the same instance
421
+ // is injected into the container executor above for the write path.
422
+ agentContextObservability,
423
+ // Re-exposed on the core for the search-query read endpoint AND the search proxy's
424
+ // write path (it reads it off the request container).
425
+ searchQueryObservability,
426
+ // Opt-in external trace sink(s) — Langfuse and/or OpenTelemetry — fanning every
427
+ // recorded LLM call out as a generation. Built only when configured; otherwise
428
+ // undefined and there is no external emission.
429
+ llmTraceSink: buildTraceSink(config),
430
+ modelPresetRepository: repos.modelPresetRepository,
431
+ // A fresh workspace's model-preset library is seeded with this built-in as the default
432
+ // (Node deploy → Kimi K2.7, the Cloudflare-runnable baseline; the local facade injects
433
+ // Claude). Applied only at first seed, so a user's later manual default choice wins.
434
+ defaultModelPresetId: options.defaultModelPresetId ?? DEFAULT_MODEL_PRESET_ID,
435
+ serviceFragmentDefaultsRepository: repos.serviceFragmentDefaultsRepository,
436
+ // Requirements-review feature (stateless reviewer + the requirements-rework
437
+ // step). Wired identically to the Cloudflare facade's `selectRequirementsDeps`
438
+ // so both runtimes serve the review/rework API AND substitute a block's reworked
439
+ // requirements into the agent context (the cross-runtime conformance suite asserts
440
+ // the substitution against both stores). The reviewer's model resolves exactly
441
+ // like a pipeline step: block-pin > workspace per-kind default > routing default
442
+ // (which falls back to Cloudflare Workers AI unless a direct key is set).
443
+ requirementReviewRepository: repos.requirementReviewRepository,
444
+ // Interactive document-interview sessions (WS5). Wired unconditionally; the interviewer
445
+ // reuses the requirements reviewer's model config resolved just below.
446
+ docInterviewRepository: repos.docInterviewRepository,
447
+ // Kaizen agent (post-run grading). Wired unconditionally, mirroring the Cloudflare
448
+ // facade, so the engine schedules gradings at run completion and the background sweep
449
+ // runs them. The grader resolves its model for the `kaizen` kind exactly like a step.
450
+ kaizenGradingRepository: repos.kaizenGradingRepository,
451
+ kaizenVerifiedComboRepository: repos.kaizenVerifiedComboRepository,
452
+ clarityReviewRepository: repos.clarityReviewRepository,
453
+ brainstormSessionRepository: repos.brainstormSessionRepository,
454
+ // Initiatives (the long-running multi-task work container). Wired unconditionally,
455
+ // mirroring the Worker's `selectMergeLifecycleDeps`, so the create/read API + the
456
+ // planning pipeline's ingest/committer steps work identically on both runtimes.
457
+ initiativeRepository: repos.initiativeRepository,
458
+ // Merge threshold presets: the per-workspace auto-merge ceiling library a task's
459
+ // merge gate resolves (block-pinned preset > workspace default). Wired
460
+ // unconditionally, exactly like the Worker's `selectMergeLifecycleDeps`, so the
461
+ // preset CRUD API + the merger step's threshold resolution work identically.
462
+ riskPolicyRepository: repos.riskPolicyRepository,
463
+ // Shared stacks (long-lived compose infra a consumer environment attaches to). Wired
464
+ // unconditionally like the merge presets so the CRUD API works identically on both
465
+ // runtimes; the bring-up (`ensureUp`) needs a host daemon, so plain Node has no
466
+ // `composeRuntime` — the local facade injects one via `overrides.composeRuntime`.
467
+ sharedStackRepository: repos.sharedStackRepository,
468
+ // Sandbox (parallel prompt/model testing) — contributed as one sandbox-owned mixin,
469
+ // symmetric with the Worker's `...selectSandboxDeps(db)`; the run-driver reuses the
470
+ // reviewer model config below. The container body never enumerates the five repos.
471
+ ...createDrizzleSandboxDeps(db),
472
+ // Per-workspace runtime settings (human-wait escalation threshold + per-service task
473
+ // limit). Wired unconditionally so the settings API + the limit enforcement + the
474
+ // escalation sweep work identically to the Worker.
475
+ workspaceSettingsRepository: repos.workspaceSettingsRepository,
476
+ userSettingsRepository: repos.userSettingsRepository,
477
+ modelProviderResolver,
478
+ requirementReviewModel: config.agents.routing.default.ref,
479
+ requirementReviewResolveModel: config.agents.resolveBlockModel,
480
+ // Local mode runs the inline reviewers/brainstorm/estimator on the ambient Claude Code /
481
+ // Codex CLI when the pinned model is a subscription harness (undefined on stock Node, so
482
+ // such refs degrade to the routing default). Also drives the preset satisfiability guard.
483
+ ...(config.agents.inlineHarnessRef ? { inlineHarnessRef: config.agents.inlineHarnessRef } : {}),
484
+ // Notifications subsystem (parity with the Worker, which wires it unconditionally):
485
+ // the inbox + the human-action surfaces. Node has no real-time push, so the rows
486
+ // persist (inbox + snapshot) and any channel composed below — e.g. Slack — delivers.
487
+ notificationRepository: sourced('notificationRepository', (d) => new DrizzleNotificationRepository(d)),
488
+ ...tasks.deps,
489
+ // Recurring pipelines + the workspace tracker selection. The tracker provider
490
+ // files the tech-debt pipeline's issue by resolving the *workspace's* connected
491
+ // integration: GitHub issues through the workspace's GitHub App installation,
492
+ // Jira tickets from the per-workspace encrypted connection store — both per-tenant.
493
+ pipelineScheduleRepository: repos.pipelineScheduleRepository,
494
+ trackerSettingsRepository: repos.trackerSettingsRepository,
495
+ ticketTrackerProvider: new TicketTrackerService({
496
+ trackerSettingsRepository: repos.trackerSettingsRepository,
497
+ fetchImpl: fetch,
498
+ ...(fileGitHubIssue ? { fileGitHubIssue } : {}),
499
+ ...(tasks.taskConnectionRepository
500
+ ? {
501
+ resolveJiraConnection: async (workspaceId) => {
502
+ const connection = await tasks.taskConnectionRepository.getByWorkspace(workspaceId, 'jira');
503
+ const { baseUrl, accountEmail, apiToken } = connection?.credentials ?? {};
504
+ if (!baseUrl || !accountEmail || !apiToken)
505
+ return null;
506
+ return { baseUrl, accountEmail, apiToken };
507
+ },
508
+ resolveLinearConnection: async (workspaceId) => {
509
+ const connection = await tasks.taskConnectionRepository.getByWorkspace(workspaceId, 'linear');
510
+ const { apiKey, token } = connection?.credentials ?? {};
511
+ return apiKey || token ? { apiKey, token } : null;
512
+ },
513
+ }
514
+ : {}),
515
+ }),
516
+ issueWritebackProvider,
517
+ idGenerator,
518
+ clock,
519
+ agentExecutor,
520
+ spendPricing: config.spend,
521
+ // Price metered dynamic OpenRouter models at their real per-model rate (not the
522
+ // bare-`openrouter` fallback) using this workspace's enabled catalog.
523
+ dynamicModelPricesFor: openRouterCatalog
524
+ ? (ws) => openRouterCatalog.capabilitiesFor(ws)
525
+ : undefined,
526
+ // The runner-pool integration assembles when enabled, so a workspace can
527
+ // register the self-hosted pool its container agents dispatch to.
528
+ ...(config.runners.enabled && config.runners.encryptionKey
529
+ ? {
530
+ runnerPoolConnectionRepository,
531
+ runnerSecretCipher: new WebCryptoSecretCipher({
532
+ masterKeyBase64: config.runners.encryptionKey,
533
+ info: RUNNERS_CIPHER_INFO,
534
+ }),
535
+ // The pool provider instance backs the connection service's describeProvider +
536
+ // testConnection (the manifest editor's secret-key form + a pre-save probe). An
537
+ // injected native adapter wins here too (same instance that drives dispatch), so
538
+ // its describeConfig/testConnection render — else the generic manifest provider
539
+ // (same SSRF policy as the dispatch transport).
540
+ runnerPoolProvider: options.runnerPoolProvider ??
541
+ new HttpRunnerPoolProvider(runnerUrlPolicy ? { urlPolicy: runnerUrlPolicy } : {}),
542
+ // Node (and local) has undici, so it can verify a private CA / skip TLS for a
543
+ // Kubernetes apiserver — accept such a config at registration.
544
+ runnerCustomTlsSupported: true,
545
+ ...(runnerUrlPolicy ? { runnerUrlSafetyPolicy: runnerUrlPolicy } : {}),
546
+ }
547
+ : {}),
548
+ ...(options.boss
549
+ ? {
550
+ workRunner: new PgBossWorkRunner(options.boss, executionRuntime(config, env).queue),
551
+ // The durable bootstrap driver (analogue of the Worker's BootstrapWorkflow):
552
+ // BootstrapService.startRun enqueues a drive job that polls the run to terminal.
553
+ bootstrapRunner: new PgBossBootstrapRunner(options.boss, executionRuntime(config, env).queue),
554
+ // The durable env-config-repair driver (analogue of the Worker's
555
+ // EnvConfigRepairWorkflow): start enqueues a drive job that polls the run to terminal.
556
+ envConfigRepairRunner: new PgBossEnvConfigRepairRunner(options.boss, executionRuntime(config, env).queue),
557
+ // The durable ephemeral-environment self-test driver (analogue of the Worker's
558
+ // EnvironmentTestWorkflow): startRun enqueues a drive job that advances the run.
559
+ environmentTestRunner: new PgBossEnvironmentTestRunner(options.boss, executionRuntime(config, env).queue),
560
+ }
561
+ : {}),
562
+ ...githubGateDeps,
563
+ // GitHub installation + repo/branch/PR/issue/commit/check-run projections + the
564
+ // sync/webhook module (inline ingest persists to these repos on Node).
565
+ ...githubModuleDeps,
566
+ // Repo-bootstrap: the reference-architecture library + bootstrap-run store make the
567
+ // module + API available; `repoBootstrapper` (when wired) dispatches the bootstrap
568
+ // container through the shared runner seam, and `bootstrapRunner` (pg-boss, below)
569
+ // durably drives its poll loop — parity with the Worker's BootstrapWorkflow.
570
+ referenceArchitectureRepository: sourced('referenceArchitectureRepository', (d) => new DrizzleReferenceArchitectureRepository(d)),
571
+ bootstrapJobRepository,
572
+ ...(repoBootstrapper ? { repoBootstrapper } : {}),
573
+ // Env-config-repair runs share the unified agent_runs table (kind-scoped). The job
574
+ // repository is wired unconditionally; the repairer (agent fallback) is wired
575
+ // post-overrides below over the FINAL provider, and the durable runner in the
576
+ // `options.boss` block above — parity with the Worker's EnvConfigRepairWorkflow.
577
+ envConfigRepairJobRepository: sourced('envConfigRepairJobRepository', (d) => new DrizzleEnvConfigRepairJobRepository(d)),
578
+ // Ephemeral-environment self-test runs (their own table). The store is wired
579
+ // unconditionally; the environments module builds the service when it + a git provider
580
+ // are present, and the durable runner is wired in the `options.boss` block above.
581
+ environmentTestRunRepository: sourced('environmentTestRunRepository', (d) => new DrizzleEnvironmentTestRunRepository(d)),
582
+ // Document sources (Confluence / Notion / GitHub docs): wired from the shared
583
+ // integration providers exactly like the Worker, so a workspace can connect a
584
+ // source and import requirement/PRD/RFC pages as agent context.
585
+ ...selectNodeDocumentsDeps(config, db, githubClient, githubInstallationRepository),
586
+ // Ephemeral environments (opt-in): a workspace registers its own environment
587
+ // management API; the tester provisions/destroys per-run environments from it. A
588
+ // trusted in-house adapter can replace the default HTTP provider via the seam.
589
+ // The environment integration scopes its own URL/host policy from
590
+ // `config.environments` inside this selector (separate from the runner pool's).
591
+ ...selectNodeEnvironmentsDeps(config, db),
592
+ // The async container-backed Kubernetes deploy lifecycle (deployJobClient +
593
+ // resolveDeployCloneTarget) — pool-backed by default, overridable by the local facade.
594
+ ...deployDeps,
595
+ // Prompt-fragment library (ADR 0006; opt-in): the managed tenant-scoped catalog
596
+ // of best-practice fragments feeding every agent run, wired exactly like the
597
+ // Worker's selectFragmentLibraryDeps (repos + installation resolver + selector).
598
+ ...selectNodeFragmentLibraryDeps(config, env, db, githubClient, githubInstallationRepository, modelProviderResolver),
599
+ // Repo-sourced Claude Skills library (docs/initiatives/repo-skills.md; opt-in): the
600
+ // account's catalog of repo-authored skills, wired exactly like the Worker's
601
+ // selectSkillLibraryDeps (account repos + installation resolver).
602
+ ...selectNodeSkillLibraryDeps(config, db, githubClient, githubInstallationRepository),
603
+ // Push-webhook skill-source freshness fan-out (slice 4): resync affected sources via the
604
+ // pg-boss GitHub-sync queue. No boss (pure-logic test) ⇒ no proactive resync; the
605
+ // dispatch-time probe is the freshness backstop.
606
+ enqueueSkillResync: async ({ accountId, sourceId }) => {
607
+ await gateways.githubWebhook.queueSkillResync(accountId, sourceId);
608
+ },
609
+ // Slack: an extra notification transport (the channel) + its management module.
610
+ // Default-off; when enabled its channel is composed into `notificationChannel` below
611
+ // alongside the in-app push, identically to the Worker.
612
+ ...slackDeps,
613
+ // Account invitations + per-account email senders (UI-onboarded, DB-stored).
614
+ ...selectNodeEmailInvitationDeps(config, repos),
615
+ // The pipeline-start guard resolves what's configured for a workspace + initiator.
616
+ resolveProviderCapabilities: (workspaceId, initiatedBy) => resolveWorkspaceCapabilities({
617
+ apiKeys,
618
+ subscriptions,
619
+ personalSubscriptions,
620
+ cloudflareModelsEnabled,
621
+ baseUrlFor: (provider) => baseUrlForNode(provider, env),
622
+ localModelEndpoints,
623
+ openRouterCatalog,
624
+ accountSettings,
625
+ workspaceAccountOf: (workspaceId) => repos.workspaceRepository.accountOf(workspaceId),
626
+ modelPolicySupported: config.infrastructure?.modelPolicy?.supported ?? false,
627
+ ...(options.caches ? { caches: options.caches } : {}),
628
+ }, workspaceId, initiatedBy),
629
+ // Real-time push (when a hub is wired) + the composed notification channel (in-app
630
+ // push + Slack). These come AFTER the spreads so the composite replaces the bare
631
+ // Slack channel `slackDeps` set; both are absent (no override) when nothing is wired.
632
+ ...(executionEventPublisher ? { executionEventPublisher } : {}),
633
+ ...(notificationChannel ? { notificationChannel } : {}),
634
+ // Run the engine's gate-probe / merge GitHub reads under the run initiator's ambient
635
+ // context, so a per-user PAT (when set) is preferred over the App/env token.
636
+ runInitiatorScope: runWithInitiator,
637
+ // The process-wide cache bag from start() (Redis-notified invalidation when REDIS_URL
638
+ // is set). Absent ⇒ createCore builds bare in-memory defaults.
639
+ ...(options.caches ? { caches: options.caches } : {}),
640
+ ...options.overrides,
641
+ };
642
+ }
643
+ /**
644
+ * Project the assembled engine core + the Node-facade extras onto the {@link ServerContainer}
645
+ * the HTTP layer resolves. Extracted verbatim from {@link buildNodeContainer} (a function-size
646
+ * ratchet split — behaviour is identical); the mothership persistence-registry surface, the
647
+ * per-user credential stores, and the VCS/gateway wiring are surfaced exactly as before.
648
+ */
649
+ function projectNodeServerContainer(bundle) {
650
+ const { dependencies, config, defaultWebSearchUpstream, resolveRepoTarget, repos, appRegistry, options, repoProjectionRepository, githubInstallationRepository, environmentBackendRegistry, runnerBackendRegistry, resolveBinaryArtifactStore, gateways, vcsRegistry, testSecretsService, subscriptions, personalSubscriptions, apiKeys, publicApiKeys, cloudflareModelsEnabled, env, localModelEndpoints, userSecrets, db, openRouterCatalog, traceSink, } = bundle;
651
+ return {
652
+ ...createCore(dependencies),
653
+ config,
654
+ // The deployment-wide trusted web-search upstream (built from `WEB_SEARCH_*` env above),
655
+ // read by `WebSearchProxyController` as the fallback when a run's account has no keys.
656
+ ...(defaultWebSearchUpstream ? { defaultWebSearchUpstream } : {}),
657
+ // The same checkout-free repo resolver the engine binds pre/post-ops with, surfaced so
658
+ // the shared service-spec read controller can read the `spec/` artifact off main.
659
+ resolveRunRepoContext: dependencies.resolveRunRepoContext,
660
+ // The block→service→repo resolver, surfaced so the task-search controller can scope a
661
+ // GitHub-issue search to the originating service's repo (and refuse it when unlinked).
662
+ resolveRepoTarget,
663
+ agentRunRepository: repos.agentRunRepository,
664
+ // Execution-scoped repo, surfaced for the conformance suite's compareAndSwap parity check.
665
+ executionRepository: repos.executionRepository,
666
+ // The repository registry the mothership-mode machine API (`/internal/persistence`) reflects
667
+ // over, so a Node deployment can act as a mothership for mothership-mode local nodes. The
668
+ // controller gates which repo+method is callable (allow-list) and account-scopes each call;
669
+ // exposing the whole `dependencies` (which carries every repo under its canonical name) is
670
+ // safe. `agentRunRepository` is the one repo NOT part of `CoreDependencies` (the engine's
671
+ // Core never reads it — it's surfaced separately above for `AgentRunController`), so fold it
672
+ // in explicitly, else the board's retry/stop `getRef` call comes back `... is not wired`.
673
+ // Sourced identically on both facades so they attach the same registry surface.
674
+ // Mothership-side GitHub token delegation (`POST /internal/github/installation-token`):
675
+ // when this deployment's GitHub App is configured, a machine-authed mothership-mode node
676
+ // can mint the short-lived installation tokens its agent containers/gates need — the App
677
+ // private key never leaves this service. The registry satisfies the seam structurally.
678
+ // Wired symmetrically on the Cloudflare facade.
679
+ ...(appRegistry ? { githubTokenDelegation: appRegistry } : {}),
680
+ // Mothership-side real-time UPSTREAM delivery (`POST /internal/events/publish`): when this
681
+ // deployment is a mothership (its realtime transport is wired), a machine-authed mothership-mode
682
+ // node's relayed engine events land in this deployment's OWN fan-out (`options.realtimeSink` —
683
+ // the hub, or the layered propagator on a multi-node deployment), so hosted teammates on the
684
+ // shared board see the local node's activity live. Wired symmetrically on the Cloudflare facade
685
+ // (the per-workspace WorkspaceEventsHub Durable Object). Absent realtime ⇒ the endpoint 503s.
686
+ ...(options.realtimeSink
687
+ ? { machineEventRelay: new LocalMachineEventRelay(options.realtimeSink) }
688
+ : {}),
689
+ repositories: {
690
+ ...dependencies,
691
+ agentRunRepository: repos.agentRunRepository,
692
+ // The binary-artifact METADATA store (visual-confirmation gate screenshots/references) is
693
+ // not part of `CoreDependencies` (it's composed into `resolveBinaryArtifactStore`, not the
694
+ // engine's Core), so fold it into the reflected registry explicitly — else a mothership-mode
695
+ // node's artifact reads/writes come back `... is not wired`. The blob BYTES stay per-account
696
+ // local; only the metadata is proxied.
697
+ binaryArtifactMetadataStore: repos.binaryArtifactMetadataStore,
698
+ // The sensitive per-service test-credential store is org/durable state the engine reads via
699
+ // the `resolveTestSecretRefs` FUNCTION (never the repo directly), so it isn't in
700
+ // `CoreDependencies` either — fold it in explicitly, else a mothership-mode node's tester
701
+ // run-path read + the inspector CRUD come back `... is not wired`. Only the SEALED blob is
702
+ // proxied (decrypted service-side under the LOCAL key), like the observability/runner-pool
703
+ // connections.
704
+ testSecretsRepository: repos.testSecretsRepository,
705
+ // GitHub projection + installation reads the mothership serves over the persistence RPC even
706
+ // when its OWN github service is off. A mothership-mode local node reaches GitHub by token
707
+ // DELEGATION (no local App), which enables `container.github`, so its board snapshot
708
+ // (`github.service.listRepos` → `repoProjectionRepository.list`) and run-path repo resolution
709
+ // (`githubInstallationRepository.getByWorkspace` + `repoProjectionRepository.list`) read the
710
+ // projection over RPC. Both are plain org tables the mothership owns, constructed
711
+ // unconditionally above — so reflect them regardless of `config.github.enabled` (they land in
712
+ // `dependencies` only when the github MODULE is wired), else a mothership without its own App
713
+ // configured 500s that board load with `... is not wired`. Allow-listed in
714
+ // `REMOTE_PERSISTENCE_METHODS`; folded in explicitly like the stores above.
715
+ repoProjectionRepository,
716
+ githubInstallationRepository,
717
+ },
718
+ // App-owned backend registries, surfaced so the workspace snapshot's backend-kind
719
+ // selectors (`environmentBackendKinds` / `runnerBackendKinds`) read the registered kinds.
720
+ environmentBackendRegistry,
721
+ runnerBackendRegistry,
722
+ // The consensus transcript store, for the read endpoint (window load / reload).
723
+ consensusSessionRepository: repos.consensusSessionRepository,
724
+ // Resolves the per-account binary-artifact store (screenshots) for the artifact
725
+ // controllers + the visual-confirmation gate (configured per-account in the UI).
726
+ resolveBinaryArtifactStore,
727
+ // Stock/remote Node has NO built-in container runtime, so container agents run ONLY on a
728
+ // self-hosted runner pool — an unregistered pool means no agent can run, which the infra-setup
729
+ // banner should surface. Local mode injects its own per-run-host-container `resolveTransport`
730
+ // (so the pool is optional there); detect that by the absence of the default pool transport.
731
+ agentExecutorRequiresRunnerPool: options.resolveTransport === undefined,
732
+ // A missing ephemeral-environment provider is a real setup gap ONLY when no zero-config
733
+ // in-container test-env default exists. Stock Node's sole test-env backend is the
734
+ // `environment-provider`, so it's required here; local mode on a Docker-family runtime
735
+ // advertises `local-compose` (docker-compose in the run's container, no connection), which
736
+ // flips this false so the "test environment not configured" banner stays quiet. Derived from
737
+ // the capability descriptor local already populated, so the two can't drift.
738
+ ephemeralEnvironmentsRequireProvider: !testEnvHasZeroConfigDefault(config.infrastructure),
739
+ // pg-boss-backed async GitHub ingest when the durable engine is wired (the real
740
+ // server drains the queue via `startGitHubSyncWorker`); inline fallback with no boss.
741
+ // Built once above so the skill-freshness fan-out shares this same instance.
742
+ gateways,
743
+ // Source-control PAT login: lets a user sign in with their own GitHub/GitLab PAT via
744
+ // `/auth/pat`, held to the server's login/org/domain allowlist. Local mode overrides this
745
+ // (via its container spread) with a configured-token, allowlist-exempt registry.
746
+ vcsIdentity: buildNodeVcsIdentityRegistry(config),
747
+ // The app-owned VCS provider registry the neutral webhook route resolves a provider from.
748
+ vcsRegistry,
749
+ // The sensitive per-service test-credential store the shared test-secrets controller reads;
750
+ // present when the shared ENCRYPTION_KEY is configured.
751
+ ...(testSecretsService ? { testSecrets: testSecretsService } : {}),
752
+ // The vendor-credential (subscription token pool) service the shared controller
753
+ // reads; present when the shared ENCRYPTION_KEY is configured.
754
+ subscriptions,
755
+ // The per-user individual-usage subscription store (Claude); present when the
756
+ // shared ENCRYPTION_KEY is configured.
757
+ personalSubscriptions,
758
+ // The direct-provider API-key pool (account/workspace/user); present when the
759
+ // shared ENCRYPTION_KEY is configured.
760
+ apiKeys,
761
+ // The inbound public-API key store; present when the shared ENCRYPTION_KEY is configured.
762
+ publicApiKeys,
763
+ // Whether the opt-in Cloudflare Workers AI lib is enabled (REST creds present).
764
+ cloudflareModelsEnabled,
765
+ // The direct-provider base-URL resolver the catalog uses to gate selectability on a
766
+ // resolvable endpoint (e.g. LiteLLM stays unselectable until LITELLM_BASE_URL is set).
767
+ baseUrlFor: (provider) => baseUrlForNode(provider, env),
768
+ // The per-user locally-run model endpoints store; present when ENCRYPTION_KEY is set.
769
+ localModelEndpoints,
770
+ // The per-user generic secret store (GitHub PAT, …); present when ENCRYPTION_KEY is set.
771
+ userSecrets,
772
+ // The per-user "repos my PAT can reach" projection (board redaction + picker expansion);
773
+ // Postgres-backed, so absent in the no-DB mothership node (redaction degrades to visible).
774
+ userRepoAccess: db ? new DrizzleUserRepoAccessRepository(db) : undefined,
775
+ // The sealed-secret inventory the key-drift sweep + drop remediation use (ADR 0026 D6.2/D6.3);
776
+ // Postgres-backed and gated on ENCRYPTION_KEY (no key ⇒ nothing is sealed to scan).
777
+ ...(db && env.ENCRYPTION_KEY?.trim()
778
+ ? { sealedSecretInventory: new DrizzleSealedSecretInventory(db) }
779
+ : {}),
780
+ // The per-workspace OpenRouter dynamic-catalog store; present when the API-key pool is.
781
+ openRouterCatalog,
782
+ // Flush + release the external trace sink on graceful shutdown so the OpenTelemetry SDK
783
+ // exporter's final batch of spans/metrics isn't dropped and its background timers are
784
+ // cleared. Best-effort; a no-op for the fetch-based Langfuse sink and when nothing is
785
+ // wired. (The local facade composes this into its own `onShutdown` — see its container.)
786
+ onShutdown: async () => {
787
+ await traceSink?.shutdown?.();
788
+ },
789
+ };
790
+ }
343
791
  export function buildNodeContainer(options) {
344
792
  const env = options.env ?? process.env;
345
793
  const config = options.config ?? loadNodeConfig(env);
@@ -602,320 +1050,79 @@ export function buildNodeContainer(options) {
602
1050
  env,
603
1051
  config,
604
1052
  db,
605
- repos,
606
- idGenerator,
607
- clock,
608
- providerRegistry,
609
- packageRegistrySecretCipher,
610
- contentStorageDefaultBackend: options.contentStorageDefaultBackend,
611
- caches: options.caches,
612
- });
613
- // Runner-pool URL/host guard, scoped to its own config (independent of the environment
614
- // allow-list); absent => strict public-https.
615
- const runnerUrlPolicy = resolveUrlSafetyPolicy(config.runners);
616
- // Apply any test-injected gate providers LAST, so they override the config wiring above (the
617
- // cross-runtime conformance suite drives the externalized CI gate over a faked verdict; in
618
- // local mode a PAT-backed CI provider is wired above and would otherwise win). Production
619
- // leaves `gateProviders` undefined, so this is a no-op outside tests.
620
- applyGateProviders(providerRegistry, options.gateProviders);
621
- // Surface any gate left as a silent pass-through (no provider wired) so a misconfigured
622
- // deployment is visible in the logs instead of quietly auto-merging without checking CI.
623
- warnUnwiredGates(providerRegistry, logger);
624
- // pg-boss-backed async GitHub ingest (webhook/resync/backfill) when the durable engine is
625
- // wired; inline fallback with no boss. Built once so the engine's skill-freshness fan-out
626
- // (slice 4) enqueues through the SAME `githubWebhook` seam rather than re-deriving the queue.
627
- const gateways = createNodeGateways(env, options.boss);
628
- const dependencies = {
629
- ...releaseHealthDeps,
630
- ...incidentEnrichmentDeps,
631
- ...packageRegistryDeps,
632
- // Fold the service frame's SENSITIVE test-credential refs (key + description, never values)
633
- // into the tester prompt. Present when ENCRYPTION_KEY is set; absent ⇒ no advertised secrets.
634
- ...(resolveTestSecretRefs ? { resolveTestSecretRefs } : {}),
635
- // App-owned backend registries (kind → provider) the connection services resolve through.
636
- environmentBackendRegistry,
637
- runnerBackendRegistry,
638
- // The app-owned agent-kind registry (built-ins + any deployment-registered kinds); the
639
- // engine reads it (traits / inline-surface / pre-post-op hooks) and re-exposes it on Core.
640
- agentKindRegistry,
641
- // The app-owned gate + step-resolver registries; the engine's gate machine + completion hub
642
- // read them, and the gate registry is re-exposed on Core for the boot-time validation.
643
- gateRegistry,
644
- stepResolverRegistry,
645
- // The app-owned provider registry the gate providers were wired onto above; the engine's gate
646
- // machine reads the SAME instance through its GateContext.
647
- providerRegistry,
648
- // The app-owned pipeline registry (deployment-registered extra pipelines); createCore threads
649
- // it into the workspace + pipeline services and re-exposes it on Core for boot-time validation.
650
- pipelineRegistry: options.pipelineRegistry,
651
- // The app-owned initiative-preset registry; the initiative services read it and it is
652
- // re-exposed on Core for the snapshot descriptors + preset probe.
653
- initiativePresetRegistry,
654
- // The code-defined custom provision-type catalog, merged with the workspace rows by
655
- // `listCustomTypes` so a programmatically-registered type surfaces in the infra editor + the
656
- // per-service provisioning picker.
657
- customManifestTypeRegistry,
658
- ...(accountSettings ? { accountSettings } : {}),
659
- // Resolves the per-account binary-artifact store (screenshots) for the visual-confirmation
660
- // gate; resolving to null (no storage configured) ⇒ the gate passes through.
661
- resolveBinaryArtifactStore,
662
- workspaceRepository: repos.workspaceRepository,
663
- workspaceMemberRepository: repos.workspaceMemberRepository,
664
- accountRepository: repos.accountRepository,
665
- membershipRepository: repos.membershipRepository,
666
- userRepository: repos.userRepository,
667
- passwordHasher: new WebCryptoPasswordHasher(),
668
- blockRepository: repos.blockRepository,
669
- pipelineRepository: repos.pipelineRepository,
670
- executionRepository: repos.executionRepository,
671
- // Clear a finished run's personal-credential activation promptly (TTL sweep is the backstop).
672
- // In mothership mode its home is the LOCAL `node:sqlite` credential bucket (the activation
673
- // re-seals the token for the run, and the LOCAL container executor decrypts it), injected via
674
- // `options.subscriptionActivationRepository` — the SAME instance the personal-subscription
675
- // service above mints into, so mint + clear agree. Absent (plain Node / siloed-Postgres local)
676
- // → the Drizzle repo over `db`. This is NEVER routed through `sourced` (the remote registry):
677
- // every no-db (mothership) caller injects the override — `buildLocalContainer` in production
678
- // and `makeMothershipConformanceApp` in tests — so `db` here is always a real Postgres handle,
679
- // and routing an activation clear to the mothership (where `deleteByExecution` isn't
680
- // allow-listed) is a path no caller takes.
681
- subscriptionActivationRepository: options.subscriptionActivationRepository ?? new DrizzleSubscriptionActivationRepository(db),
682
- // In-org shared services. When a realtime hub is wired (start()), the engine's
683
- // event publisher (composed above) is a `FanOutEventPublisher` over these two repos,
684
- // so a shared service's live events reach every board that mounts it — parity with
685
- // the Cloudflare facade. Without a hub (createServer/tests) the engine uses its
686
- // NoopEventPublisher and nothing is pushed.
687
- serviceRepository: repos.serviceRepository,
688
- workspaceMountRepository: repos.workspaceMountRepository,
689
- tokenUsageRepository: repos.tokenUsageRepository,
690
- llmCallMetricRepository: repos.llmCallMetricRepository,
691
- // Deployment-level rollups over `agent_runs` for the operator dashboard.
692
- platformMetricsRepository: repos.platformMetricsRepository,
693
- // Unified provisioning event log (its own Postgres schema). Threads the recorder
694
- // into the env services and exposes the read service for the logs controller.
695
- provisioningLogRepository: repos.provisioningLogRepository,
696
- recordLlmPrompts: config.observability.recordPrompts,
697
- // Re-exposed on the core for the agent-context read endpoint; the same instance
698
- // is injected into the container executor above for the write path.
699
- agentContextObservability,
700
- // Re-exposed on the core for the search-query read endpoint AND the search proxy's
701
- // write path (it reads it off the request container).
702
- searchQueryObservability,
703
- // Opt-in external trace sink(s) — Langfuse and/or OpenTelemetry — fanning every
704
- // recorded LLM call out as a generation. Built only when configured; otherwise
705
- // undefined and there is no external emission.
706
- llmTraceSink: buildTraceSink(config),
707
- modelPresetRepository: repos.modelPresetRepository,
708
- // A fresh workspace's model-preset library is seeded with this built-in as the default
709
- // (Node deploy → Kimi K2.7, the Cloudflare-runnable baseline; the local facade injects
710
- // Claude). Applied only at first seed, so a user's later manual default choice wins.
711
- defaultModelPresetId: options.defaultModelPresetId ?? DEFAULT_MODEL_PRESET_ID,
712
- serviceFragmentDefaultsRepository: repos.serviceFragmentDefaultsRepository,
713
- // Requirements-review feature (stateless reviewer + the requirements-rework
714
- // step). Wired identically to the Cloudflare facade's `selectRequirementsDeps`
715
- // so both runtimes serve the review/rework API AND substitute a block's reworked
716
- // requirements into the agent context (the cross-runtime conformance suite asserts
717
- // the substitution against both stores). The reviewer's model resolves exactly
718
- // like a pipeline step: block-pin > workspace per-kind default > routing default
719
- // (which falls back to Cloudflare Workers AI unless a direct key is set).
720
- requirementReviewRepository: repos.requirementReviewRepository,
721
- // Interactive document-interview sessions (WS5). Wired unconditionally; the interviewer
722
- // reuses the requirements reviewer's model config resolved just below.
723
- docInterviewRepository: repos.docInterviewRepository,
724
- // Kaizen agent (post-run grading). Wired unconditionally, mirroring the Cloudflare
725
- // facade, so the engine schedules gradings at run completion and the background sweep
726
- // runs them. The grader resolves its model for the `kaizen` kind exactly like a step.
727
- kaizenGradingRepository: repos.kaizenGradingRepository,
728
- kaizenVerifiedComboRepository: repos.kaizenVerifiedComboRepository,
729
- clarityReviewRepository: repos.clarityReviewRepository,
730
- brainstormSessionRepository: repos.brainstormSessionRepository,
731
- // Initiatives (the long-running multi-task work container). Wired unconditionally,
732
- // mirroring the Worker's `selectMergeLifecycleDeps`, so the create/read API + the
733
- // planning pipeline's ingest/committer steps work identically on both runtimes.
734
- initiativeRepository: repos.initiativeRepository,
735
- // Merge threshold presets: the per-workspace auto-merge ceiling library a task's
736
- // merge gate resolves (block-pinned preset > workspace default). Wired
737
- // unconditionally, exactly like the Worker's `selectMergeLifecycleDeps`, so the
738
- // preset CRUD API + the merger step's threshold resolution work identically.
739
- riskPolicyRepository: repos.riskPolicyRepository,
740
- // Shared stacks (long-lived compose infra a consumer environment attaches to). Wired
741
- // unconditionally like the merge presets so the CRUD API works identically on both
742
- // runtimes; the bring-up (`ensureUp`) needs a host daemon, so plain Node has no
743
- // `composeRuntime` — the local facade injects one via `overrides.composeRuntime`.
744
- sharedStackRepository: repos.sharedStackRepository,
745
- // Sandbox (parallel prompt/model testing) — contributed as one sandbox-owned mixin,
746
- // symmetric with the Worker's `...selectSandboxDeps(db)`; the run-driver reuses the
747
- // reviewer model config below. The container body never enumerates the five repos.
748
- ...createDrizzleSandboxDeps(db),
749
- // Per-workspace runtime settings (human-wait escalation threshold + per-service task
750
- // limit). Wired unconditionally so the settings API + the limit enforcement + the
751
- // escalation sweep work identically to the Worker.
752
- workspaceSettingsRepository: repos.workspaceSettingsRepository,
753
- userSettingsRepository: repos.userSettingsRepository,
754
- modelProviderResolver,
755
- requirementReviewModel: config.agents.routing.default.ref,
756
- requirementReviewResolveModel: config.agents.resolveBlockModel,
757
- // Local mode runs the inline reviewers/brainstorm/estimator on the ambient Claude Code /
758
- // Codex CLI when the pinned model is a subscription harness (undefined on stock Node, so
759
- // such refs degrade to the routing default). Also drives the preset satisfiability guard.
760
- ...(config.agents.inlineHarnessRef ? { inlineHarnessRef: config.agents.inlineHarnessRef } : {}),
761
- // Notifications subsystem (parity with the Worker, which wires it unconditionally):
762
- // the inbox + the human-action surfaces. Node has no real-time push, so the rows
763
- // persist (inbox + snapshot) and any channel composed below — e.g. Slack — delivers.
764
- notificationRepository: sourced('notificationRepository', (d) => new DrizzleNotificationRepository(d)),
765
- ...tasks.deps,
766
- // Recurring pipelines + the workspace tracker selection. The tracker provider
767
- // files the tech-debt pipeline's issue by resolving the *workspace's* connected
768
- // integration: GitHub issues through the workspace's GitHub App installation,
769
- // Jira tickets from the per-workspace encrypted connection store — both per-tenant.
770
- pipelineScheduleRepository: repos.pipelineScheduleRepository,
771
- trackerSettingsRepository: repos.trackerSettingsRepository,
772
- ticketTrackerProvider: new TicketTrackerService({
773
- trackerSettingsRepository: repos.trackerSettingsRepository,
774
- fetchImpl: fetch,
775
- ...(fileGitHubIssue ? { fileGitHubIssue } : {}),
776
- ...(tasks.taskConnectionRepository
777
- ? {
778
- resolveJiraConnection: async (workspaceId) => {
779
- const connection = await tasks.taskConnectionRepository.getByWorkspace(workspaceId, 'jira');
780
- const { baseUrl, accountEmail, apiToken } = connection?.credentials ?? {};
781
- if (!baseUrl || !accountEmail || !apiToken)
782
- return null;
783
- return { baseUrl, accountEmail, apiToken };
784
- },
785
- resolveLinearConnection: async (workspaceId) => {
786
- const connection = await tasks.taskConnectionRepository.getByWorkspace(workspaceId, 'linear');
787
- const { apiKey, token } = connection?.credentials ?? {};
788
- return apiKey || token ? { apiKey, token } : null;
789
- },
790
- }
791
- : {}),
792
- }),
793
- issueWritebackProvider,
794
- idGenerator,
795
- clock,
796
- agentExecutor,
797
- spendPricing: config.spend,
798
- // Price metered dynamic OpenRouter models at their real per-model rate (not the
799
- // bare-`openrouter` fallback) using this workspace's enabled catalog.
800
- dynamicModelPricesFor: openRouterCatalog
801
- ? (ws) => openRouterCatalog.capabilitiesFor(ws)
802
- : undefined,
803
- // The runner-pool integration assembles when enabled, so a workspace can
804
- // register the self-hosted pool its container agents dispatch to.
805
- ...(config.runners.enabled && config.runners.encryptionKey
806
- ? {
807
- runnerPoolConnectionRepository,
808
- runnerSecretCipher: new WebCryptoSecretCipher({
809
- masterKeyBase64: config.runners.encryptionKey,
810
- info: RUNNERS_CIPHER_INFO,
811
- }),
812
- // The pool provider instance backs the connection service's describeProvider +
813
- // testConnection (the manifest editor's secret-key form + a pre-save probe). An
814
- // injected native adapter wins here too (same instance that drives dispatch), so
815
- // its describeConfig/testConnection render — else the generic manifest provider
816
- // (same SSRF policy as the dispatch transport).
817
- runnerPoolProvider: options.runnerPoolProvider ??
818
- new HttpRunnerPoolProvider(runnerUrlPolicy ? { urlPolicy: runnerUrlPolicy } : {}),
819
- // Node (and local) has undici, so it can verify a private CA / skip TLS for a
820
- // Kubernetes apiserver — accept such a config at registration.
821
- runnerCustomTlsSupported: true,
822
- ...(runnerUrlPolicy ? { runnerUrlSafetyPolicy: runnerUrlPolicy } : {}),
823
- }
824
- : {}),
825
- ...(options.boss
826
- ? {
827
- workRunner: new PgBossWorkRunner(options.boss, executionRuntime(config, env).queue),
828
- // The durable bootstrap driver (analogue of the Worker's BootstrapWorkflow):
829
- // BootstrapService.startRun enqueues a drive job that polls the run to terminal.
830
- bootstrapRunner: new PgBossBootstrapRunner(options.boss, executionRuntime(config, env).queue),
831
- // The durable env-config-repair driver (analogue of the Worker's
832
- // EnvConfigRepairWorkflow): start enqueues a drive job that polls the run to terminal.
833
- envConfigRepairRunner: new PgBossEnvConfigRepairRunner(options.boss, executionRuntime(config, env).queue),
834
- // The durable ephemeral-environment self-test driver (analogue of the Worker's
835
- // EnvironmentTestWorkflow): startRun enqueues a drive job that advances the run.
836
- environmentTestRunner: new PgBossEnvironmentTestRunner(options.boss, executionRuntime(config, env).queue),
837
- }
838
- : {}),
839
- ...githubGateDeps,
840
- // GitHub installation + repo/branch/PR/issue/commit/check-run projections + the
841
- // sync/webhook module (inline ingest persists to these repos on Node).
842
- ...githubModuleDeps,
843
- // Repo-bootstrap: the reference-architecture library + bootstrap-run store make the
844
- // module + API available; `repoBootstrapper` (when wired) dispatches the bootstrap
845
- // container through the shared runner seam, and `bootstrapRunner` (pg-boss, below)
846
- // durably drives its poll loop — parity with the Worker's BootstrapWorkflow.
847
- referenceArchitectureRepository: sourced('referenceArchitectureRepository', (d) => new DrizzleReferenceArchitectureRepository(d)),
1053
+ repos,
1054
+ idGenerator,
1055
+ clock,
1056
+ providerRegistry,
1057
+ packageRegistrySecretCipher,
1058
+ contentStorageDefaultBackend: options.contentStorageDefaultBackend,
1059
+ caches: options.caches,
1060
+ });
1061
+ // Runner-pool URL/host guard, scoped to its own config (independent of the environment
1062
+ // allow-list); absent => strict public-https.
1063
+ const runnerUrlPolicy = resolveUrlSafetyPolicy(config.runners);
1064
+ // Apply any test-injected gate providers LAST, so they override the config wiring above (the
1065
+ // cross-runtime conformance suite drives the externalized CI gate over a faked verdict; in
1066
+ // local mode a PAT-backed CI provider is wired above and would otherwise win). Production
1067
+ // leaves `gateProviders` undefined, so this is a no-op outside tests.
1068
+ applyGateProviders(providerRegistry, options.gateProviders);
1069
+ // Surface any gate left as a silent pass-through (no provider wired) so a misconfigured
1070
+ // deployment is visible in the logs instead of quietly auto-merging without checking CI.
1071
+ warnUnwiredGates(providerRegistry, logger);
1072
+ // pg-boss-backed async GitHub ingest (webhook/resync/backfill) when the durable engine is
1073
+ // wired; inline fallback with no boss. Built once so the engine's skill-freshness fan-out
1074
+ // (slice 4) enqueues through the SAME `githubWebhook` seam rather than re-deriving the queue.
1075
+ const gateways = createNodeGateways(env, options.boss);
1076
+ const dependencies = assembleNodeCoreDependencies({
1077
+ config,
1078
+ options,
1079
+ env,
1080
+ db,
1081
+ repos,
1082
+ sourced,
1083
+ idGenerator,
1084
+ clock,
1085
+ gateways,
1086
+ runnerUrlPolicy,
1087
+ githubInstallationRepository,
1088
+ environmentBackendRegistry,
1089
+ runnerBackendRegistry,
1090
+ customManifestTypeRegistry,
1091
+ agentKindRegistry,
1092
+ gateRegistry,
1093
+ stepResolverRegistry,
1094
+ initiativePresetRegistry,
1095
+ providerRegistry,
1096
+ apiKeys,
1097
+ subscriptions,
1098
+ personalSubscriptions,
1099
+ localModelEndpoints,
1100
+ openRouterCatalog,
1101
+ modelProviderResolver,
1102
+ cloudflareModelsEnabled,
1103
+ deployDeps,
1104
+ runnerPoolConnectionRepository,
1105
+ agentContextObservability,
1106
+ searchQueryObservability,
1107
+ resolveTestSecretRefs,
1108
+ githubClient,
1109
+ tasks,
1110
+ fileGitHubIssue,
1111
+ issueWritebackProvider,
1112
+ githubGateDeps,
1113
+ githubModuleDeps,
848
1114
  bootstrapJobRepository,
849
- ...(repoBootstrapper ? { repoBootstrapper } : {}),
850
- // Env-config-repair runs share the unified agent_runs table (kind-scoped). The job
851
- // repository is wired unconditionally; the repairer (agent fallback) is wired
852
- // post-overrides below over the FINAL provider, and the durable runner in the
853
- // `options.boss` block above — parity with the Worker's EnvConfigRepairWorkflow.
854
- envConfigRepairJobRepository: sourced('envConfigRepairJobRepository', (d) => new DrizzleEnvConfigRepairJobRepository(d)),
855
- // Ephemeral-environment self-test runs (their own table). The store is wired
856
- // unconditionally; the environments module builds the service when it + a git provider
857
- // are present, and the durable runner is wired in the `options.boss` block above.
858
- environmentTestRunRepository: sourced('environmentTestRunRepository', (d) => new DrizzleEnvironmentTestRunRepository(d)),
859
- // Document sources (Confluence / Notion / GitHub docs): wired from the shared
860
- // integration providers exactly like the Worker, so a workspace can connect a
861
- // source and import requirement/PRD/RFC pages as agent context.
862
- ...selectNodeDocumentsDeps(config, db, githubClient, githubInstallationRepository),
863
- // Ephemeral environments (opt-in): a workspace registers its own environment
864
- // management API; the tester provisions/destroys per-run environments from it. A
865
- // trusted in-house adapter can replace the default HTTP provider via the seam.
866
- // The environment integration scopes its own URL/host policy from
867
- // `config.environments` inside this selector (separate from the runner pool's).
868
- ...selectNodeEnvironmentsDeps(config, db),
869
- // The async container-backed Kubernetes deploy lifecycle (deployJobClient +
870
- // resolveDeployCloneTarget) — pool-backed by default, overridable by the local facade.
871
- ...deployDeps,
872
- // Prompt-fragment library (ADR 0006; opt-in): the managed tenant-scoped catalog
873
- // of best-practice fragments feeding every agent run, wired exactly like the
874
- // Worker's selectFragmentLibraryDeps (repos + installation resolver + selector).
875
- ...selectNodeFragmentLibraryDeps(config, env, db, githubClient, githubInstallationRepository, modelProviderResolver),
876
- // Repo-sourced Claude Skills library (docs/initiatives/repo-skills.md; opt-in): the
877
- // account's catalog of repo-authored skills, wired exactly like the Worker's
878
- // selectSkillLibraryDeps (account repos + installation resolver).
879
- ...selectNodeSkillLibraryDeps(config, db, githubClient, githubInstallationRepository),
880
- // Push-webhook skill-source freshness fan-out (slice 4): resync affected sources via the
881
- // pg-boss GitHub-sync queue. No boss (pure-logic test) ⇒ no proactive resync; the
882
- // dispatch-time probe is the freshness backstop.
883
- enqueueSkillResync: async ({ accountId, sourceId }) => {
884
- await gateways.githubWebhook.queueSkillResync(accountId, sourceId);
885
- },
886
- // Slack: an extra notification transport (the channel) + its management module.
887
- // Default-off; when enabled its channel is composed into `notificationChannel` below
888
- // alongside the in-app push, identically to the Worker.
889
- ...slackDeps,
890
- // Account invitations + per-account email senders (UI-onboarded, DB-stored).
891
- ...selectNodeEmailInvitationDeps(config, repos),
892
- // The pipeline-start guard resolves what's configured for a workspace + initiator.
893
- resolveProviderCapabilities: (workspaceId, initiatedBy) => resolveWorkspaceCapabilities({
894
- apiKeys,
895
- subscriptions,
896
- personalSubscriptions,
897
- cloudflareModelsEnabled,
898
- baseUrlFor: (provider) => baseUrlForNode(provider, env),
899
- localModelEndpoints,
900
- openRouterCatalog,
901
- accountSettings,
902
- workspaceAccountOf: (workspaceId) => repos.workspaceRepository.accountOf(workspaceId),
903
- modelPolicySupported: config.infrastructure?.modelPolicy?.supported ?? false,
904
- ...(options.caches ? { caches: options.caches } : {}),
905
- }, workspaceId, initiatedBy),
906
- // Real-time push (when a hub is wired) + the composed notification channel (in-app
907
- // push + Slack). These come AFTER the spreads so the composite replaces the bare
908
- // Slack channel `slackDeps` set; both are absent (no override) when nothing is wired.
909
- ...(executionEventPublisher ? { executionEventPublisher } : {}),
910
- ...(notificationChannel ? { notificationChannel } : {}),
911
- // Run the engine's gate-probe / merge GitHub reads under the run initiator's ambient
912
- // context, so a per-user PAT (when set) is preferred over the App/env token.
913
- runInitiatorScope: runWithInitiator,
914
- // The process-wide cache bag from start() (Redis-notified invalidation when REDIS_URL
915
- // is set). Absent ⇒ createCore builds bare in-memory defaults.
916
- ...(options.caches ? { caches: options.caches } : {}),
917
- ...options.overrides,
918
- };
1115
+ repoBootstrapper,
1116
+ slackDeps,
1117
+ executionEventPublisher,
1118
+ agentExecutor,
1119
+ notificationChannel,
1120
+ releaseHealthDeps,
1121
+ packageRegistryDeps,
1122
+ incidentEnrichmentDeps,
1123
+ accountSettings,
1124
+ resolveBinaryArtifactStore,
1125
+ });
919
1126
  // Browsable frontend preview (slice 5c): wire the preview module when a per-runtime preview
920
1127
  // transport is available (real in local mode / a fake pair in the conformance suite).
921
1128
  wirePreviewModule(dependencies, options, {
@@ -947,145 +1154,34 @@ export function buildNodeContainer(options) {
947
1154
  // Mothership mode (`db` undefined): re-source the run-path org/durable repos the sub-helpers
948
1155
  // built directly over the absent `db` from the remote registry (a no-op outside mothership mode).
949
1156
  applyMothershipRemoteRepos(dependencies, remoteRepos);
950
- return {
951
- ...createCore(dependencies),
1157
+ return projectNodeServerContainer({
1158
+ dependencies,
952
1159
  config,
953
- // The deployment-wide trusted web-search upstream (built from `WEB_SEARCH_*` env above),
954
- // read by `WebSearchProxyController` as the fallback when a run's account has no keys.
955
- ...(defaultWebSearchUpstream ? { defaultWebSearchUpstream } : {}),
956
- // The same checkout-free repo resolver the engine binds pre/post-ops with, surfaced so
957
- // the shared service-spec read controller can read the `spec/` artifact off main.
958
- resolveRunRepoContext: dependencies.resolveRunRepoContext,
959
- // The block→service→repo resolver, surfaced so the task-search controller can scope a
960
- // GitHub-issue search to the originating service's repo (and refuse it when unlinked).
1160
+ defaultWebSearchUpstream,
961
1161
  resolveRepoTarget,
962
- agentRunRepository: repos.agentRunRepository,
963
- // Execution-scoped repo, surfaced for the conformance suite's compareAndSwap parity check.
964
- executionRepository: repos.executionRepository,
965
- // The repository registry the mothership-mode machine API (`/internal/persistence`) reflects
966
- // over, so a Node deployment can act as a mothership for mothership-mode local nodes. The
967
- // controller gates which repo+method is callable (allow-list) and account-scopes each call;
968
- // exposing the whole `dependencies` (which carries every repo under its canonical name) is
969
- // safe. `agentRunRepository` is the one repo NOT part of `CoreDependencies` (the engine's
970
- // Core never reads it — it's surfaced separately above for `AgentRunController`), so fold it
971
- // in explicitly, else the board's retry/stop `getRef` call comes back `... is not wired`.
972
- // Sourced identically on both facades so they attach the same registry surface.
973
- // Mothership-side GitHub token delegation (`POST /internal/github/installation-token`):
974
- // when this deployment's GitHub App is configured, a machine-authed mothership-mode node
975
- // can mint the short-lived installation tokens its agent containers/gates need — the App
976
- // private key never leaves this service. The registry satisfies the seam structurally.
977
- // Wired symmetrically on the Cloudflare facade.
978
- ...(appRegistry ? { githubTokenDelegation: appRegistry } : {}),
979
- // Mothership-side real-time UPSTREAM delivery (`POST /internal/events/publish`): when this
980
- // deployment is a mothership (its realtime transport is wired), a machine-authed mothership-mode
981
- // node's relayed engine events land in this deployment's OWN fan-out (`options.realtimeSink` —
982
- // the hub, or the layered propagator on a multi-node deployment), so hosted teammates on the
983
- // shared board see the local node's activity live. Wired symmetrically on the Cloudflare facade
984
- // (the per-workspace WorkspaceEventsHub Durable Object). Absent realtime ⇒ the endpoint 503s.
985
- ...(options.realtimeSink
986
- ? { machineEventRelay: new LocalMachineEventRelay(options.realtimeSink) }
987
- : {}),
988
- repositories: {
989
- ...dependencies,
990
- agentRunRepository: repos.agentRunRepository,
991
- // The binary-artifact METADATA store (visual-confirmation gate screenshots/references) is
992
- // not part of `CoreDependencies` (it's composed into `resolveBinaryArtifactStore`, not the
993
- // engine's Core), so fold it into the reflected registry explicitly — else a mothership-mode
994
- // node's artifact reads/writes come back `... is not wired`. The blob BYTES stay per-account
995
- // local; only the metadata is proxied.
996
- binaryArtifactMetadataStore: repos.binaryArtifactMetadataStore,
997
- // The sensitive per-service test-credential store is org/durable state the engine reads via
998
- // the `resolveTestSecretRefs` FUNCTION (never the repo directly), so it isn't in
999
- // `CoreDependencies` either — fold it in explicitly, else a mothership-mode node's tester
1000
- // run-path read + the inspector CRUD come back `... is not wired`. Only the SEALED blob is
1001
- // proxied (decrypted service-side under the LOCAL key), like the observability/runner-pool
1002
- // connections.
1003
- testSecretsRepository: repos.testSecretsRepository,
1004
- // GitHub projection + installation reads the mothership serves over the persistence RPC even
1005
- // when its OWN github service is off. A mothership-mode local node reaches GitHub by token
1006
- // DELEGATION (no local App), which enables `container.github`, so its board snapshot
1007
- // (`github.service.listRepos` → `repoProjectionRepository.list`) and run-path repo resolution
1008
- // (`githubInstallationRepository.getByWorkspace` + `repoProjectionRepository.list`) read the
1009
- // projection over RPC. Both are plain org tables the mothership owns, constructed
1010
- // unconditionally above — so reflect them regardless of `config.github.enabled` (they land in
1011
- // `dependencies` only when the github MODULE is wired), else a mothership without its own App
1012
- // configured 500s that board load with `... is not wired`. Allow-listed in
1013
- // `REMOTE_PERSISTENCE_METHODS`; folded in explicitly like the stores above.
1014
- repoProjectionRepository,
1015
- githubInstallationRepository,
1016
- },
1017
- // App-owned backend registries, surfaced so the workspace snapshot's backend-kind
1018
- // selectors (`environmentBackendKinds` / `runnerBackendKinds`) read the registered kinds.
1162
+ repos,
1163
+ appRegistry,
1164
+ options,
1165
+ repoProjectionRepository,
1166
+ githubInstallationRepository,
1019
1167
  environmentBackendRegistry,
1020
1168
  runnerBackendRegistry,
1021
- // The consensus transcript store, for the read endpoint (window load / reload).
1022
- consensusSessionRepository: repos.consensusSessionRepository,
1023
- // Resolves the per-account binary-artifact store (screenshots) for the artifact
1024
- // controllers + the visual-confirmation gate (configured per-account in the UI).
1025
1169
  resolveBinaryArtifactStore,
1026
- // Stock/remote Node has NO built-in container runtime, so container agents run ONLY on a
1027
- // self-hosted runner pool — an unregistered pool means no agent can run, which the infra-setup
1028
- // banner should surface. Local mode injects its own per-run-host-container `resolveTransport`
1029
- // (so the pool is optional there); detect that by the absence of the default pool transport.
1030
- agentExecutorRequiresRunnerPool: options.resolveTransport === undefined,
1031
- // A missing ephemeral-environment provider is a real setup gap ONLY when no zero-config
1032
- // in-container test-env default exists. Stock Node's sole test-env backend is the
1033
- // `environment-provider`, so it's required here; local mode on a Docker-family runtime
1034
- // advertises `local-compose` (docker-compose in the run's container, no connection), which
1035
- // flips this false so the "test environment not configured" banner stays quiet. Derived from
1036
- // the capability descriptor local already populated, so the two can't drift.
1037
- ephemeralEnvironmentsRequireProvider: !testEnvHasZeroConfigDefault(config.infrastructure),
1038
- // pg-boss-backed async GitHub ingest when the durable engine is wired (the real
1039
- // server drains the queue via `startGitHubSyncWorker`); inline fallback with no boss.
1040
- // Built once above so the skill-freshness fan-out shares this same instance.
1041
1170
  gateways,
1042
- // Source-control PAT login: lets a user sign in with their own GitHub/GitLab PAT via
1043
- // `/auth/pat`, held to the server's login/org/domain allowlist. Local mode overrides this
1044
- // (via its container spread) with a configured-token, allowlist-exempt registry.
1045
- vcsIdentity: buildNodeVcsIdentityRegistry(config),
1046
- // The app-owned VCS provider registry the neutral webhook route resolves a provider from.
1047
1171
  vcsRegistry,
1048
- // The sensitive per-service test-credential store the shared test-secrets controller reads;
1049
- // present when the shared ENCRYPTION_KEY is configured.
1050
- ...(testSecretsService ? { testSecrets: testSecretsService } : {}),
1051
- // The vendor-credential (subscription token pool) service the shared controller
1052
- // reads; present when the shared ENCRYPTION_KEY is configured.
1172
+ testSecretsService,
1053
1173
  subscriptions,
1054
- // The per-user individual-usage subscription store (Claude); present when the
1055
- // shared ENCRYPTION_KEY is configured.
1056
1174
  personalSubscriptions,
1057
- // The direct-provider API-key pool (account/workspace/user); present when the
1058
- // shared ENCRYPTION_KEY is configured.
1059
1175
  apiKeys,
1060
- // The inbound public-API key store; present when the shared ENCRYPTION_KEY is configured.
1061
1176
  publicApiKeys,
1062
- // Whether the opt-in Cloudflare Workers AI lib is enabled (REST creds present).
1063
1177
  cloudflareModelsEnabled,
1064
- // The direct-provider base-URL resolver the catalog uses to gate selectability on a
1065
- // resolvable endpoint (e.g. LiteLLM stays unselectable until LITELLM_BASE_URL is set).
1066
- baseUrlFor: (provider) => baseUrlForNode(provider, env),
1067
- // The per-user locally-run model endpoints store; present when ENCRYPTION_KEY is set.
1178
+ env,
1068
1179
  localModelEndpoints,
1069
- // The per-user generic secret store (GitHub PAT, …); present when ENCRYPTION_KEY is set.
1070
1180
  userSecrets,
1071
- // The per-user "repos my PAT can reach" projection (board redaction + picker expansion);
1072
- // Postgres-backed, so absent in the no-DB mothership node (redaction degrades to visible).
1073
- userRepoAccess: db ? new DrizzleUserRepoAccessRepository(db) : undefined,
1074
- // The sealed-secret inventory the key-drift sweep + drop remediation use (ADR 0026 D6.2/D6.3);
1075
- // Postgres-backed and gated on ENCRYPTION_KEY (no key ⇒ nothing is sealed to scan).
1076
- ...(db && env.ENCRYPTION_KEY?.trim()
1077
- ? { sealedSecretInventory: new DrizzleSealedSecretInventory(db) }
1078
- : {}),
1079
- // The per-workspace OpenRouter dynamic-catalog store; present when the API-key pool is.
1181
+ db,
1080
1182
  openRouterCatalog,
1081
- // Flush + release the external trace sink on graceful shutdown so the OpenTelemetry SDK
1082
- // exporter's final batch of spans/metrics isn't dropped and its background timers are
1083
- // cleared. Best-effort; a no-op for the fetch-based Langfuse sink and when nothing is
1084
- // wired. (The local facade composes this into its own `onShutdown` — see its container.)
1085
- onShutdown: async () => {
1086
- await traceSink?.shutdown?.();
1087
- },
1088
- };
1183
+ traceSink,
1184
+ });
1089
1185
  }
1090
1186
  /**
1091
1187
  * Wire the task-source integration for the Node facade when it is enabled (the
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/node-server",
3
- "version": "0.107.24",
3
+ "version": "0.107.26",
4
4
  "description": "Node.js runtime facade for the Agent Architecture Board: serves the shared @cat-factory/server Hono app via @hono/node-server, wiring Node implementations of the runtime ports (persistence, gateways, model provisioning).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,24 +33,24 @@
33
33
  "pg-boss": "^12.26.1",
34
34
  "toad-scheduler": "^4.1.0",
35
35
  "ws": "^8.21.1",
36
- "@cat-factory/agents": "0.67.4",
37
- "@cat-factory/consensus": "0.11.18",
38
- "@cat-factory/caching": "0.10.26",
36
+ "@cat-factory/agents": "0.67.5",
39
37
  "@cat-factory/contracts": "0.154.2",
40
- "@cat-factory/eks": "0.1.120",
41
- "@cat-factory/gates": "0.7.13",
42
- "@cat-factory/gitlab": "0.11.13",
43
- "@cat-factory/integrations": "0.88.16",
44
- "@cat-factory/kernel": "0.148.4",
45
- "@cat-factory/observability-langfuse": "0.7.244",
46
- "@cat-factory/observability-otel": "0.2.27",
47
- "@cat-factory/orchestration": "0.131.5",
38
+ "@cat-factory/eks": "0.1.121",
39
+ "@cat-factory/consensus": "0.11.19",
40
+ "@cat-factory/caching": "0.10.27",
41
+ "@cat-factory/gates": "0.7.14",
42
+ "@cat-factory/gitlab": "0.11.14",
43
+ "@cat-factory/integrations": "0.88.17",
44
+ "@cat-factory/observability-langfuse": "0.7.245",
45
+ "@cat-factory/kernel": "0.148.5",
46
+ "@cat-factory/observability-otel": "0.2.28",
47
+ "@cat-factory/orchestration": "0.131.7",
48
48
  "@cat-factory/prompt-fragments": "0.14.1",
49
- "@cat-factory/provider-bedrock": "0.7.267",
50
- "@cat-factory/provider-cloudflare": "0.7.268",
51
- "@cat-factory/provider-s3": "0.2.194",
52
- "@cat-factory/server": "0.140.5",
53
- "@cat-factory/spend": "0.12.70"
49
+ "@cat-factory/provider-bedrock": "0.7.268",
50
+ "@cat-factory/provider-s3": "0.2.195",
51
+ "@cat-factory/server": "0.140.7",
52
+ "@cat-factory/provider-cloudflare": "0.7.269",
53
+ "@cat-factory/spend": "0.12.71"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/node": "^26.1.1",
@@ -59,7 +59,7 @@
59
59
  "drizzle-kit": "1.0.0-rc.4",
60
60
  "typescript": "7.0.2",
61
61
  "vitest": "^4.1.10",
62
- "@cat-factory/conformance": "0.11.48"
62
+ "@cat-factory/conformance": "0.11.50"
63
63
  },
64
64
  "optionalDependencies": {
65
65
  "ioredis": "^5.11.1"