@cat-factory/node-server 0.111.6 → 0.112.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,193 @@
1
+ import { defaultAgentKindRegistry, defaultInitiativePresetRegistry } from '@cat-factory/agents';
2
+ // Opt-in AWS EKS backends (runner + environment), registered by reference below (the Worker
3
+ // facade registers the same pair, keeping the runtimes symmetric with the native `kubernetes`
4
+ // backend these extend). They are pass-throughs until a workspace actually connects an `eks`
5
+ // backend, and carry NO runtime AWS SDK dependency (the token is minted with WebCrypto), so this
6
+ // adds no cost to a deployment that never uses EKS.
7
+ import { eksEnvironmentBackend, eksRunnerBackend } from '@cat-factory/eks';
8
+ import { createBackendRegistries } from '@cat-factory/integrations';
9
+ import { defaultProviderRegistry, defaultVcsRegistry } from '@cat-factory/kernel';
10
+ import { defaultStepResolverRegistry, resolvePresetModelForKind } from '@cat-factory/orchestration';
11
+ import { buildInfrastructureCapabilities } from '@cat-factory/server';
12
+ // The built-in polling-gate suite (ci / conflicts / post-release-health + on-call). The facade
13
+ // builds an app-owned `GateRegistry` pre-loaded with the suite via `gateRegistryWithBuiltins()`
14
+ // below, then wires each gate's provider.
15
+ import { gateRegistryWithBuiltins } from '@cat-factory/gates';
16
+ import { buildGitLabEngineClient, registerGitLab, StaticGitLabTokenSource, } from '@cat-factory/gitlab';
17
+ import { loadNodeConfig } from './config.js';
18
+ import { createDrizzleRepositories } from './repositories/drizzle.js';
19
+ import { CryptoIdGenerator, SystemClock } from './runtime.js';
20
+ /**
21
+ * The Node composition root's FOUNDATION: everything {@link buildNodeContainer} resolves before it
22
+ * starts wiring modules — the effective env/config (with the Node infrastructure descriptor filled
23
+ * in), the clock + id generator, the repository set plus the mothership-aware `sourced` picker, the
24
+ * app-owned registries, the opt-in GitLab engine client, and the workspace model-preset resolver.
25
+ * Carved out of `container.ts` for the per-function line budget
26
+ * (docs/initiatives/lint-complexity-size-ratchet.md); the ordering of every side effect is
27
+ * preserved exactly, so this is behaviour-neutral.
28
+ */
29
+ /**
30
+ * Source one org/durable repository that a standard build constructs directly from the Drizzle
31
+ * `db`. In mothership mode (no Postgres) `remote` is the full-surface remote registry — a
32
+ * `Proxy` (`createRemoteRepositoryRegistry`) that forwards any repo name to the hosted
33
+ * mothership over the `/internal/persistence` RPC — so the repo comes from THERE instead of the
34
+ * absent db; otherwise `build()` constructs the Drizzle repo over `db` as before. This is the
35
+ * Phase-3 `db: undefined` audit seam: every direct-db store on the board-load + run path routes
36
+ * through it. Routing is orthogonal to the server-side allow-list — an un-allow-listed remote
37
+ * method still returns a clean `unknown_method`, never a `db`-undefined `TypeError`. Mirrors the
38
+ * credential-repo override seam (`providerApiKeyRepository`), which keeps credentials local while
39
+ * org state goes remote. See docs/initiatives/mothership-mode.md (Phase 3, part 1).
40
+ */
41
+ export function pickRepoSource(remote, name, build) {
42
+ return remote ? remote[name] : build();
43
+ }
44
+ /**
45
+ * Resolve every app-owned registry the container wires: the backend-kind registries (env + runner
46
+ * + custom-manifest + user-secret), the agent-kind / gate / step-resolver / initiative-preset /
47
+ * VCS-provider / gate-provider registries. Each is the injected instance when `options` supplies it
48
+ * (a deployment's custom entries, or the conformance harness's pre-loaded instance) else the
49
+ * built-ins-only default, and the opt-in AWS EKS backends are registered by reference. Extracted
50
+ * from {@link buildNodeContainer} to keep it under the complexity ceiling.
51
+ */
52
+ function resolveNodeAppRegistries(options) {
53
+ const { environmentBackendRegistry, runnerBackendRegistry, customManifestTypeRegistry, userSecretKindRegistry, } = options.backendRegistries ?? createBackendRegistries();
54
+ // Register the opt-in AWS EKS backends by reference (the default registries stay AWS-free).
55
+ // Reuses the native Kubernetes transport/provider behind a minted IAM apiserver token; a
56
+ // pass-through until a workspace connects an `eks` backend. Registered on BOTH facades (the
57
+ // Worker registers the same pair in its container build) so the runtimes stay symmetric with
58
+ // the native `kubernetes` backend these extend — a real EKS cluster's private-CA apiserver is
59
+ // only reachable from a runtime that can pin a custom CA (Node/local), the same constraint a
60
+ // private-CA `kubernetes` connection already carries.
61
+ runnerBackendRegistry.register(eksRunnerBackend);
62
+ environmentBackendRegistry.register(eksEnvironmentBackend);
63
+ return {
64
+ environmentBackendRegistry,
65
+ runnerBackendRegistry,
66
+ customManifestTypeRegistry,
67
+ userSecretKindRegistry,
68
+ // The app-owned agent-kind registry: the injected instance (so a deployment's custom kinds
69
+ // are visible) else the built-ins-only default.
70
+ agentKindRegistry: options.agentKindRegistry ?? defaultAgentKindRegistry(),
71
+ // The app-owned gate registry: the injected instance (conformance / a deployment pre-loads it),
72
+ // else a fresh one with the built-in `@cat-factory/gates` suite installed.
73
+ gateRegistry: options.gateRegistry ?? gateRegistryWithBuiltins(),
74
+ // The app-owned step-resolver registry: the injected instance else an empty default (the
75
+ // built-in `merger` resolver is a privileged engine built-in, not a registry entry).
76
+ stepResolverRegistry: options.stepResolverRegistry ?? defaultStepResolverRegistry(),
77
+ // The app-owned initiative-preset registry: the injected instance else the built-ins-only
78
+ // default (generic / docs-refresh / tech-migration).
79
+ initiativePresetRegistry: options.initiativePresetRegistry ?? defaultInitiativePresetRegistry(),
80
+ // Opt-in GitLab VCS provider registry (a no-op unless GITLAB_TOKEN is set; the wiring lives in
81
+ // the caller, symmetric with the Worker facade per "keep the runtimes symmetric").
82
+ vcsRegistry: options.vcsRegistry ?? defaultVcsRegistry(),
83
+ // The app-owned provider registry the built-in gates probe through (fresh empty unless injected).
84
+ providerRegistry: options.providerRegistry ?? defaultProviderRegistry(),
85
+ };
86
+ }
87
+ /**
88
+ * Resolve the composition root's foundation (see the module doc). Called FIRST by
89
+ * {@link buildNodeContainer}, so its side effects — filling `config.infrastructure` and
90
+ * registering the GitLab VCS provider — happen in the same order as when this was inline.
91
+ */
92
+ export function resolveNodeContainerFoundation(options) {
93
+ const env = options.env ?? process.env;
94
+ const config = options.config ?? loadNodeConfig(env);
95
+ // A browsable preview needs a per-runtime host-port-publish transport. Plain Node (runner
96
+ // pool) has none, so advertise support ONLY when a `previewTransport` is actually wired
97
+ // (local mode, or a facade/test that injects one) — otherwise the SPA would offer a Start
98
+ // button that 503s. Local pre-sets its own descriptor before calling in, so this ??= is
99
+ // skipped there; the check covers a stock Node build (false) and the conformance harness
100
+ // (which injects a fake transport via `overrides` → true).
101
+ const previewTransportWired = Boolean(options.previewTransport ?? options.overrides?.previewTransport);
102
+ // The Node service has no built-in per-run container runtime: repo-operating agents run on
103
+ // a self-hosted runner pool, and Tester environments via the environment provider. Surface
104
+ // that so the SPA's infrastructure selector reads accurately. Local mode pre-sets its own
105
+ // descriptor (host Docker + pool) before calling in, so only fill it when absent.
106
+ config.infrastructure ??= buildInfrastructureCapabilities({
107
+ execution: { available: ['runner-pool'], active: 'runner-pool' },
108
+ testEnv: { available: ['environment-provider'], active: 'environment-provider' },
109
+ frontendPreview: { supported: previewTransportWired },
110
+ // A remote Node deployment has account admins to govern the account-wide model policy.
111
+ // (Local mode sets `config.infrastructure` itself before delegating here, so its
112
+ // mothership-gated value wins over this `??=`.)
113
+ modelPolicy: { supported: true },
114
+ });
115
+ const clock = new SystemClock();
116
+ const idGenerator = new CryptoIdGenerator();
117
+ // Mothership mode runs with NO Postgres (`options.db` undefined): org/durable state is served
118
+ // remotely via `options.repos`, so that set is REQUIRED there. (A standard Node/local build
119
+ // passes `db` and we build the Drizzle set from it.)
120
+ if (!options.repos && !options.db) {
121
+ throw new Error('buildNodeContainer requires `repos` when `db` is undefined (mothership mode supplies the ' +
122
+ 'composite remote + local-credential repositories).');
123
+ }
124
+ const repos = options.repos ?? createDrizzleRepositories(options.db, clock);
125
+ // The Drizzle constructors only stash the handle — no build-time work (audited) — so BUILDING
126
+ // the stores below over an `undefined` db is safe; `db` carries the non-null type for those
127
+ // constructions, and the per-user credential services take the OPTIONAL `options.db` and turn
128
+ // themselves off when it is absent.
129
+ const db = options.db;
130
+ // Mothership mode (`options.db` undefined): the org/durable stores a standard build constructs
131
+ // directly from the db — the GitHub installation + projections, runner-pool connection,
132
+ // bootstrap + env-config-repair job stores, notifications, reference-architecture library,
133
+ // task + subscription-activation stores — are sourced from the REMOTE registry instead (here
134
+ // `options.repos` is the full-surface remote `Proxy` from `composeMothership`, which forwards
135
+ // any repo name to the mothership over RPC). `pickRepoSource(remoteRepos, name, build)` picks
136
+ // the remote entry when there is no db, else builds the Drizzle repo — see the Phase-3 audit in
137
+ // docs/initiatives/mothership-mode.md. The feature-flagged integration repos owned by the
138
+ // sub-helpers (tasks/documents/environments/fragments/slack) are opt-in and off by default, so
139
+ // they are NOT on the default board-load + run path and remain a follow-up sub-slice.
140
+ const remoteRepos = options.db ? undefined : repos;
141
+ // `remoteRepos` + `db` are fixed for this build, so bind them once: `sourced('name', (d) => …)`
142
+ // picks the remote registry entry in mothership mode, else builds the Drizzle repo over `db`.
143
+ const sourced = (name, build) => pickRepoSource(remoteRepos, name, () => build(db));
144
+ // The app-owned registries (backend kinds, agent kinds, gates, step resolvers, initiative
145
+ // presets, VCS providers, gate-provider registry) — injected instances when supplied (a
146
+ // deployment's custom entries / the conformance harness) else the built-ins-only defaults.
147
+ // The SAME instances flow to the executors, createCore, and the ServerContainer projection.
148
+ const registries = resolveNodeAppRegistries(options);
149
+ const { vcsRegistry } = registries;
150
+ // The built-in gates' providers are wired onto the app-owned `providerRegistry` (fresh unless
151
+ // injected via `options`). The GitHub + release-health wiring runs only inside its
152
+ // `enabled`/`githubClient` branches; a fresh registry starts empty, so an unconfigured gate just
153
+ // stays unwired (pass-through) — no reset needed (the former `clearGateProviders()` guarded a
154
+ // module-global that no longer exists). Mirrors the Worker facade (keep the runtimes symmetric).
155
+ // Any test-injected gate providers (`options.gateProviders`) are applied at the END of this build
156
+ // so they OVERRIDE the config wiring (local mode wires a PAT-backed CI provider here that would
157
+ // otherwise clobber a faked one) — gates read their provider lazily at probe time, last write wins.
158
+ let gitlabEngineClient;
159
+ if (config.gitlab?.enabled && env.GITLAB_TOKEN) {
160
+ registerGitLab(vcsRegistry, {
161
+ tokenSource: new StaticGitLabTokenSource(env.GITLAB_TOKEN, config.gitlab.apiBase),
162
+ clock,
163
+ webhookSecret: config.gitlab.webhookSecret || undefined,
164
+ });
165
+ // Bridge the GitLab VcsClient onto the legacy GitHubClient port the engine's gate / merge /
166
+ // RepoFiles paths consume, so a GitLab-only deployment (no GitHub App) gates on real CI and
167
+ // merges the MR for real — the SAME wiring local mode already does, now on the Node facade
168
+ // too (keep the runtimes symmetric). The GitHub App client wins when both are configured.
169
+ gitlabEngineClient = buildGitLabEngineClient({
170
+ token: env.GITLAB_TOKEN,
171
+ apiBase: config.gitlab.apiBase,
172
+ clock,
173
+ });
174
+ }
175
+ // Honour the workspace's model presets at run time (block-pinned > the task's
176
+ // selected/default model preset > env routing), uniformly for inline and container
177
+ // kinds. The built-in default preset points every agent kind at Kimi K2.7.
178
+ const resolveWorkspaceModelDefault = (workspaceId, agentKind, modelPresetId) => resolvePresetModelForKind(repos.modelPresetRepository, workspaceId, agentKind, modelPresetId);
179
+ return {
180
+ env,
181
+ config,
182
+ clock,
183
+ idGenerator,
184
+ repos,
185
+ db,
186
+ remoteRepos,
187
+ sourced,
188
+ registries,
189
+ gitlabEngineClient,
190
+ resolveWorkspaceModelDefault,
191
+ };
192
+ }
193
+ //# sourceMappingURL=container-foundation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-foundation.js","sourceRoot":"","sources":["../src/container-foundation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { IssueWritebackService } from '@cat-factory/integrations';
2
- import type { AppCaches, BlockRepository, Clock, GitHubClient, GitHubInstallationRepository, IdGenerator, ProviderRegistry, RepoProjectionRepository, ResolveUserGitHubToken, TaskConnectionRepository, TrackerSettingsRepository } from '@cat-factory/kernel';
2
+ import type { AppCaches, BlockRepository, Clock, GitHubClient, GitHubInstallationRepository, IdGenerator, ProviderRegistry, RepoProjectionRepository, ResolveUserGitHubToken, TaskConnectionRepository, TrackerSettingsRepository, WorkspaceRepository } from '@cat-factory/kernel';
3
3
  import type { CoreDependencies } from '@cat-factory/orchestration';
4
4
  import { type AppConfig, type GitHubAppRegistry, type ResolveRepoTarget } from '@cat-factory/server';
5
5
  import { buildNodeGitHubIssueFiler } from './container-executor-deps.js';
@@ -31,6 +31,8 @@ export interface NodeGitHubDepsInput {
31
31
  repoProjectionRepository: RepoProjectionRepository;
32
32
  blockRepository: BlockRepository;
33
33
  trackerSettingsRepository: TrackerSettingsRepository;
34
+ /** Needed by the per-workspace GitLab PAT connect service (workspace existence guard). */
35
+ workspaceRepository: WorkspaceRepository;
34
36
  caches?: AppCaches;
35
37
  }
36
38
  /** The GitHub-client-dependent wiring {@link selectNodeGitHubDeps} produces. */
@@ -1 +1 @@
1
- {"version":3,"file":"container-github-deps.d.ts","sourceRoot":"","sources":["../src/container-github-deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAItB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,KAAK,EACL,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,gBAAgB,EAGhB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EAExB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAcvB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AA2B/C,qGAAqG;AACrG,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC/B,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;CACpD;AA6CD,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAA;IACjB,EAAE,EAAE,SAAS,CAAA;IACb,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAChD,6FAA6F;IAC7F,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3D,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC1C,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,YAAY,CAAA;IACnC,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,kGAAkG;IAClG,kBAAkB,EAAE,YAAY,GAAG,SAAS,CAAA;IAC5C,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,eAAe,EAAE,eAAe,CAAA;IAChC,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,mFAAmF;IACnF,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IACtC,KAAK,EAAE,aAAa,CAAA;IACpB,eAAe,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;IAC7D,sBAAsB,EAAE,qBAAqB,CAAA;IAC7C,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACzC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAmS/E"}
1
+ {"version":3,"file":"container-github-deps.d.ts","sourceRoot":"","sources":["../src/container-github-deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAKtB,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,KAAK,EACL,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,gBAAgB,EAGhB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EAExB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAevB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AA2B/C,qGAAqG;AACrG,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC/B,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;CACpD;AA6CD,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAA;IACjB,EAAE,EAAE,SAAS,CAAA;IACb,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAChD,6FAA6F;IAC7F,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3D,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC1C,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,YAAY,CAAA;IACnC,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,kGAAkG;IAClG,kBAAkB,EAAE,YAAY,GAAG,SAAS,CAAA;IAC5C,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,eAAe,EAAE,eAAe,CAAA;IAChC,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,0FAA0F;IAC1F,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,mFAAmF;IACnF,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IACtC,KAAK,EAAE,aAAa,CAAA;IACpB,eAAe,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;IAC7D,sBAAsB,EAAE,qBAAqB,CAAA;IAC7C,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACzC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAuK/E"}
@@ -1,5 +1,6 @@
1
- import { GitHubIssuesProvider, IssueWritebackService, JiraProvider, LinearTaskProvider, githubIssuesLogic, } from '@cat-factory/integrations';
2
- import { FetchGitHubClient, FetchGitHubProvisioningClient, GitHubBranchUpdater, GitHubCiStatusProvider, GitHubDocQualityProvider, GitHubMergeabilityProvider, GitHubPullRequestMerger, GitHubPullRequestReviewProvider, PatPreferringAppRegistry, WebCryptoSecretCipher, WebCryptoWebhookVerifier, makeResolveRepoFilesForCoords, makeResolveRunRepoContext, } from '@cat-factory/server';
1
+ import { GitHubIssuesProvider, IssueWritebackService, JiraProvider, LinearTaskProvider, VcsPatConnectionService, githubIssuesLogic, } from '@cat-factory/integrations';
2
+ import { GitLabIdentityResolver, buildGitLabConnectClient } from '@cat-factory/gitlab';
3
+ import { FetchGitHubClient, FetchGitHubProvisioningClient, GitHubBranchUpdater, GitHubCiStatusProvider, GitHubDocQualityProvider, GitHubMergeabilityProvider, GitHubPullRequestMerger, GitHubPullRequestReviewProvider, PatPreferringAppRegistry, ProviderRoutingGitHubClient, WebCryptoSecretCipher, WebCryptoWebhookVerifier, makeResolveRepoFilesForCoords, makeResolveRunRepoContext, } from '@cat-factory/server';
3
4
  import { wireCiStatusProvider, wireDocQualityProvider, wireMergeabilityProvider, wirePullRequestReviewProvider, } from '@cat-factory/gates';
4
5
  import { buildNodeGitHubIssueFiler } from './container-executor-deps.js';
5
6
  import { DrizzleDocumentRepository } from './repositories/documents.js';
@@ -103,63 +104,13 @@ export function selectNodeGitHubDeps(input) {
103
104
  // is available — kept here, after the client is built, for parity with the Worker.
104
105
  const tasks = selectNodeTasksDeps(config, db, githubClient, githubInstallationRepository);
105
106
  // Issue-tracker writeback (comment-on-PR-open + close-on-merge of a task's linked
106
- // issue), gated per workspace + per task inside the provider. GitHub uses the same
107
- // per-tenant client + installation lookup as the tracker/CI/merge providers; Jira
108
- // reuses the workspace's encrypted connection. Wired whenever the tracker-settings
109
- // repo exists (always on Node) so the engine can write back when a tracker is set.
110
- const resolveWritebackIssue = githubClient
111
- ? async (workspaceId, externalId) => {
112
- const parsed = githubIssuesLogic.parseGitHubIssueExternalId(externalId);
113
- if (!parsed)
114
- return null;
115
- const installation = await githubInstallationRepository.getByWorkspace(workspaceId);
116
- if (!installation)
117
- return null;
118
- return { installationId: installation.installationId, parsed };
119
- }
120
- : undefined;
121
- const issueWritebackProvider = new IssueWritebackService({
107
+ // issue), gated per workspace + per task inside the provider.
108
+ const issueWritebackProvider = buildNodeIssueWriteback({
109
+ githubClient,
110
+ githubInstallationRepository,
122
111
  trackerSettingsRepository,
123
- taskRepository: sourced('taskRepository', (d) => new DrizzleTaskRepository(d)),
124
- fetchImpl: fetch,
125
- ...(githubClient && resolveWritebackIssue
126
- ? {
127
- commentOnGitHubIssue: async (workspaceId, externalId, body) => {
128
- const target = await resolveWritebackIssue(workspaceId, externalId);
129
- if (!target)
130
- return;
131
- await githubClient.comment(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number, body);
132
- },
133
- closeGitHubIssue: async (workspaceId, externalId) => {
134
- const target = await resolveWritebackIssue(workspaceId, externalId);
135
- if (!target)
136
- return;
137
- await githubClient.closeIssue(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number);
138
- },
139
- labelGitHubIssue: async (workspaceId, externalId, label) => {
140
- const target = await resolveWritebackIssue(workspaceId, externalId);
141
- if (!target)
142
- return;
143
- await githubClient.applyIssueLabel?.(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number, label);
144
- },
145
- }
146
- : {}),
147
- ...(tasks.taskConnectionRepository
148
- ? {
149
- resolveJiraConnection: async (workspaceId) => {
150
- const connection = await tasks.taskConnectionRepository.getByWorkspace(workspaceId, 'jira');
151
- const { baseUrl, accountEmail, apiToken } = connection?.credentials ?? {};
152
- if (!baseUrl || !accountEmail || !apiToken)
153
- return null;
154
- return { baseUrl, accountEmail, apiToken };
155
- },
156
- resolveLinearConnection: async (workspaceId) => {
157
- const connection = await tasks.taskConnectionRepository.getByWorkspace(workspaceId, 'linear');
158
- const { apiKey, token } = connection?.credentials ?? {};
159
- return apiKey || token ? { apiKey, token } : null;
160
- },
161
- }
162
- : {}),
112
+ sourced,
113
+ taskConnectionRepository: tasks.taskConnectionRepository,
163
114
  });
164
115
  let githubGateDeps = {};
165
116
  if (engineVcsClient) {
@@ -217,6 +168,64 @@ export function selectNodeGitHubDeps(input) {
217
168
  }),
218
169
  };
219
170
  }
171
+ const githubModuleDeps = buildNodeGitHubModuleDeps({
172
+ input,
173
+ githubClient,
174
+ });
175
+ return {
176
+ githubClient,
177
+ tasks,
178
+ fileGitHubIssue,
179
+ issueWritebackProvider,
180
+ githubGateDeps,
181
+ githubModuleDeps,
182
+ };
183
+ }
184
+ /**
185
+ * Wire the per-workspace GitLab PAT connect deps: the GitLab-backed `GitHubClient` (its token
186
+ * source decrypts each workspace's sealed PAT) that the `github` module reads through for a
187
+ * `gitlab` connection, plus the `VcsPatConnectionService` the connect controller drives. Enabled
188
+ * only when GitLab is configured AND a sealing key is present. Runtime-neutral inputs, so the
189
+ * Worker facade wires it the same way (per "keep the runtimes symmetric").
190
+ */
191
+ function selectVcsConnectDeps(input) {
192
+ const { config, installations, workspaceRepository, clock } = input;
193
+ const gitlab = config.gitlab;
194
+ if (!gitlab?.enabled || !gitlab.encryptionKey)
195
+ return undefined;
196
+ // One cipher seals (connect) and unseals (token source) under the same domain, so the two
197
+ // instances the client + service build from the same key + info interoperate.
198
+ const cipher = new WebCryptoSecretCipher({
199
+ masterKeyBase64: gitlab.encryptionKey,
200
+ info: 'cat-factory:vcs-token',
201
+ });
202
+ const client = buildGitLabConnectClient({
203
+ installations,
204
+ cipher,
205
+ apiBase: gitlab.apiBase,
206
+ clock,
207
+ });
208
+ const service = new VcsPatConnectionService({
209
+ provider: 'gitlab',
210
+ installations,
211
+ workspaceRepository,
212
+ identityResolver: new GitLabIdentityResolver({ apiBase: gitlab.apiBase }),
213
+ cipher,
214
+ clock,
215
+ });
216
+ return { client, service };
217
+ }
218
+ /**
219
+ * Assemble the deps for the `github` module (installation + the five projections + sync/webhook),
220
+ * including the per-workspace GitLab PAT connect wiring and the provider-routing client that
221
+ * fronts them when BOTH a GitHub App and GitLab connect are configured. Split out of
222
+ * {@link selectNodeGitHubDeps} along the module-deps seam so that selector stays within the
223
+ * per-function line budget, in the same shape as its {@link selectNodeTasksDeps} sibling.
224
+ * Behaviour-neutral: the same values are built in the same order.
225
+ */
226
+ function buildNodeGitHubModuleDeps(args) {
227
+ const { input, githubClient } = args;
228
+ const { config, db, sourced, clock, appRegistry, githubInstallationRepository, repoProjectionRepository, } = input;
220
229
  // GitHub installation + projections + sync/webhook module: wired when the App is
221
230
  // configured (a real githubClient), mirroring the Worker's selectGitHubDeps. This
222
231
  // turns the GitHub read endpoints + the inline webhook/backfill sync on for Node —
@@ -224,9 +233,37 @@ export function selectNodeGitHubDeps(input) {
224
233
  // projection repos here makes the inline ingest actually persist (parity with the
225
234
  // Worker, which fans the same sync through a queue/Workflow). `canCreateRepos` /
226
235
  // `workflowsGranted` come from the App registry when present (advisory).
227
- const githubModuleDeps = config.github.enabled && githubClient
236
+ // Per-workspace GitLab PAT connect (opt-in): when GitLab is configured AND a sealing key is
237
+ // present, wire a GitLab-backed client whose token source decrypts each workspace's sealed PAT,
238
+ // plus the connect service that validates + seals a pasted PAT. This lets a workspace connect
239
+ // GitLab through the UI and reuse the SAME GitHub-shaped projection/sync surface. Mirrors the
240
+ // Worker's `selectGitHubDeps` (per "keep the runtimes symmetric").
241
+ const gitlabConnect = selectVcsConnectDeps({
242
+ config,
243
+ installations: githubInstallationRepository,
244
+ workspaceRepository: input.workspaceRepository,
245
+ clock,
246
+ });
247
+ const gitlabConnectClient = gitlabConnect?.client;
248
+ const vcsConnectionService = gitlabConnect?.service;
249
+ // The client the `github` module (installation / sync / service) reads through. When BOTH a
250
+ // GitHub App and GitLab connect are configured, route each installation-keyed call to the
251
+ // matching client by the connection's stored provider; otherwise the single configured client
252
+ // serves the module directly.
253
+ const appClient = config.github.enabled ? githubClient : undefined;
254
+ const moduleClient = appClient && gitlabConnectClient
255
+ ? new ProviderRoutingGitHubClient({
256
+ installations: githubInstallationRepository,
257
+ github: appClient,
258
+ gitlab: gitlabConnectClient,
259
+ })
260
+ : (appClient ?? gitlabConnectClient);
261
+ return moduleClient
228
262
  ? {
229
- githubClient,
263
+ githubClient: moduleClient,
264
+ // Surfaced on the container for the GitLab connect controller (a CoreDependency, so it
265
+ // flows through `createCore` onto the ServerContainer). Present only with GitLab connect.
266
+ ...(vcsConnectionService ? { vcsConnectionService } : {}),
230
267
  githubInstallationRepository,
231
268
  repoProjectionRepository,
232
269
  // The five GitHub projection repos share one shape (remote in mothership mode, else
@@ -239,7 +276,11 @@ export function selectNodeGitHubDeps(input) {
239
276
  // Per-user PAT-reachable repo projection (picker expansion + redaction); Postgres-only,
240
277
  // so absent in a no-DB mothership node (the picker keeps its App-only behaviour there).
241
278
  userRepoAccessRepository: db ? new DrizzleUserRepoAccessRepository(db) : undefined,
242
- webhookVerifier: new WebCryptoWebhookVerifier(config.github.webhookSecret),
279
+ // The GitHub webhook verifier is App-specific (a GitLab-only deployment ingests via the
280
+ // neutral `/vcs/:provider/webhooks` route, not this verifier), so wire it only with the App.
281
+ ...(appClient
282
+ ? { webhookVerifier: new WebCryptoWebhookVerifier(config.github.webhookSecret) }
283
+ : {}),
243
284
  // Bound the initial backfill to the commit retention horizon (0 = full).
244
285
  commitBackfillHorizonMs: config.retention.commitMs || undefined,
245
286
  ...(appRegistry
@@ -263,13 +304,71 @@ export function selectNodeGitHubDeps(input) {
263
304
  : {}),
264
305
  }
265
306
  : {};
266
- return {
267
- githubClient,
268
- tasks,
269
- fileGitHubIssue,
270
- issueWritebackProvider,
271
- githubGateDeps,
272
- githubModuleDeps,
273
- };
307
+ }
308
+ /**
309
+ * Assemble the issue-tracker writeback provider (comment-on-PR-open + close/label-on-merge of a
310
+ * task's linked issue), gated per workspace + per task inside the provider. GitHub uses the same
311
+ * per-tenant client + installation lookup as the tracker/CI/merge providers; Jira and Linear reuse
312
+ * the workspace's encrypted connection. Split out of {@link selectNodeGitHubDeps} for the
313
+ * per-function line budget, in the same shape as its {@link selectNodeTasksDeps} sibling.
314
+ */
315
+ function buildNodeIssueWriteback(args) {
316
+ const { githubClient, githubInstallationRepository, trackerSettingsRepository, sourced, taskConnectionRepository, } = args;
317
+ // Wired whenever the tracker-settings repo exists (always on Node) so the engine can write
318
+ // back when a tracker is set; the GitHub half resolves the workspace's installation per issue.
319
+ const resolveWritebackIssue = githubClient
320
+ ? async (workspaceId, externalId) => {
321
+ const parsed = githubIssuesLogic.parseGitHubIssueExternalId(externalId);
322
+ if (!parsed)
323
+ return null;
324
+ const installation = await githubInstallationRepository.getByWorkspace(workspaceId);
325
+ if (!installation)
326
+ return null;
327
+ return { installationId: installation.installationId, parsed };
328
+ }
329
+ : undefined;
330
+ return new IssueWritebackService({
331
+ trackerSettingsRepository,
332
+ taskRepository: sourced('taskRepository', (d) => new DrizzleTaskRepository(d)),
333
+ fetchImpl: fetch,
334
+ ...(githubClient && resolveWritebackIssue
335
+ ? {
336
+ commentOnGitHubIssue: async (workspaceId, externalId, body) => {
337
+ const target = await resolveWritebackIssue(workspaceId, externalId);
338
+ if (!target)
339
+ return;
340
+ await githubClient.comment(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number, body);
341
+ },
342
+ closeGitHubIssue: async (workspaceId, externalId) => {
343
+ const target = await resolveWritebackIssue(workspaceId, externalId);
344
+ if (!target)
345
+ return;
346
+ await githubClient.closeIssue(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number);
347
+ },
348
+ labelGitHubIssue: async (workspaceId, externalId, label) => {
349
+ const target = await resolveWritebackIssue(workspaceId, externalId);
350
+ if (!target)
351
+ return;
352
+ await githubClient.applyIssueLabel?.(target.installationId, { owner: target.parsed.owner, repo: target.parsed.repo }, target.parsed.number, label);
353
+ },
354
+ }
355
+ : {}),
356
+ ...(taskConnectionRepository
357
+ ? {
358
+ resolveJiraConnection: async (workspaceId) => {
359
+ const connection = await taskConnectionRepository.getByWorkspace(workspaceId, 'jira');
360
+ const { baseUrl, accountEmail, apiToken } = connection?.credentials ?? {};
361
+ if (!baseUrl || !accountEmail || !apiToken)
362
+ return null;
363
+ return { baseUrl, accountEmail, apiToken };
364
+ },
365
+ resolveLinearConnection: async (workspaceId) => {
366
+ const connection = await taskConnectionRepository.getByWorkspace(workspaceId, 'linear');
367
+ const { apiKey, token } = connection?.credentials ?? {};
368
+ return apiKey || token ? { apiKey, token } : null;
369
+ },
370
+ }
371
+ : {}),
372
+ });
274
373
  }
275
374
  //# sourceMappingURL=container-github-deps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-github-deps.js","sourceRoot":"","sources":["../src/container-github-deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-github-deps.js","sourceRoot":"","sources":["../src/container-github-deps.ts"],"names":[],"mappings":"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"}
@@ -6,24 +6,18 @@ import { type AppConfig, type ResolveRepoOrigin, type ResolveRunnerTransport, ty
6
6
  import { type GateProviderOverrides } from '@cat-factory/gates';
7
7
  import type { AppCaches, InitiativePresetRegistry, PipelineRegistry, PreviewTransport, ProviderRegistry, TaskTypeRegistry, VcsProviderRegistry } from '@cat-factory/kernel';
8
8
  import type { PgBoss } from 'pg-boss';
9
+ import { selectNodeGitHubDeps } from './container-github-deps.js';
10
+ import { buildNodeModelDeps } from './container-model-deps.js';
11
+ import { buildNodeRunServices } from './container-run-services-deps.js';
12
+ import { buildNodeBootstrapper, buildNodeTransportDeploy } from './container-transport-deps.js';
13
+ import { buildNodeAccountDeps } from './container-account-deps.js';
14
+ import { buildNodeRealtimeDeps } from './container-realtime-deps.js';
9
15
  import type { DrizzleDb } from './db/client.js';
10
16
  import type { LocalEventSink } from './realtime.js';
11
17
  import { createDrizzleRepositories } from './repositories/drizzle.js';
12
18
  import type { ContentStorageBackend } from '@cat-factory/contracts';
19
+ export { pickRepoSource } from './container-foundation.js';
13
20
  export { buildNodeResolveTransport, missingContainerExecutorPrereqs, withProvisioningLog, } from './container-executor-deps.js';
14
- /**
15
- * Source one org/durable repository that a standard build constructs directly from the Drizzle
16
- * `db`. In mothership mode (no Postgres) `remote` is the full-surface remote registry — a
17
- * `Proxy` (`createRemoteRepositoryRegistry`) that forwards any repo name to the hosted
18
- * mothership over the `/internal/persistence` RPC — so the repo comes from THERE instead of the
19
- * absent db; otherwise `build()` constructs the Drizzle repo over `db` as before. This is the
20
- * Phase-3 `db: undefined` audit seam: every direct-db store on the board-load + run path routes
21
- * through it. Routing is orthogonal to the server-side allow-list — an un-allow-listed remote
22
- * method still returns a clean `unknown_method`, never a `db`-undefined `TypeError`. Mirrors the
23
- * credential-repo override seam (`providerApiKeyRepository`), which keeps credentials local while
24
- * org state goes remote. See docs/initiatives/mothership-mode.md (Phase 3, part 1).
25
- */
26
- export declare function pickRepoSource<T>(remote: Record<string, unknown> | undefined, name: string, build: () => T): T;
27
21
  /**
28
22
  * The subscription-credential lease seams `buildNodeContainer` hands to
29
23
  * {@link NodeContainerOptions.wrapModelProviderResolver}. Present only when the corresponding
@@ -337,5 +331,20 @@ export interface NodeContainerOptions {
337
331
  */
338
332
  contentStorageDefaultBackend?: ContentStorageBackend;
339
333
  }
334
+ export type NodeModelDepsResult = ReturnType<typeof buildNodeModelDeps>;
335
+ export type NodeTransportDeployResult = ReturnType<typeof buildNodeTransportDeploy>;
336
+ export type NodeRunServicesResult = ReturnType<typeof buildNodeRunServices>;
337
+ export type NodeGitHubDepsResult = ReturnType<typeof selectNodeGitHubDeps>;
338
+ export type NodeBootstrapperResult = ReturnType<typeof buildNodeBootstrapper>;
339
+ export type NodeRealtimeDepsResult = ReturnType<typeof buildNodeRealtimeDeps>;
340
+ export type NodeAccountDepsResult = ReturnType<typeof buildNodeAccountDeps>;
340
341
  export declare function buildNodeContainer(options: NodeContainerOptions): ServerContainer;
342
+ /**
343
+ * Wire the task-source integration for the Node facade when it is enabled (the
344
+ * `tasks` module then assembles so tenants can connect Jira through the existing
345
+ * UI). Returns the `CoreDependencies` fragment plus the connection repository so the
346
+ * tracker can resolve each workspace's Jira credentials from the same store.
347
+ * No registered providers → `{ deps: {} }` and both the tasks module and the Jira
348
+ * tracker stay off (the encryption key is guaranteed present by `loadTasksConfig`).
349
+ */
341
350
  //# sourceMappingURL=container.d.ts.map
@@ -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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"}