@cat-factory/node-server 0.107.11 → 0.107.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/container-account-deps.d.ts +40 -0
- package/dist/container-account-deps.d.ts.map +1 -0
- package/dist/container-account-deps.js +142 -0
- package/dist/container-account-deps.js.map +1 -0
- package/dist/container-github-deps.d.ts +56 -0
- package/dist/container-github-deps.d.ts.map +1 -0
- package/dist/container-github-deps.js +275 -0
- package/dist/container-github-deps.js.map +1 -0
- package/dist/container-model-deps.d.ts +50 -0
- package/dist/container-model-deps.d.ts.map +1 -0
- package/dist/container-model-deps.js +127 -0
- package/dist/container-model-deps.js.map +1 -0
- package/dist/container-realtime-deps.d.ts +34 -0
- package/dist/container-realtime-deps.d.ts.map +1 -0
- package/dist/container-realtime-deps.js +112 -0
- package/dist/container-realtime-deps.js.map +1 -0
- package/dist/container-run-services-deps.d.ts +44 -0
- package/dist/container-run-services-deps.d.ts.map +1 -0
- package/dist/container-run-services-deps.js +148 -0
- package/dist/container-run-services-deps.js.map +1 -0
- package/dist/container-transport-deps.d.ts +72 -0
- package/dist/container-transport-deps.d.ts.map +1 -0
- package/dist/container-transport-deps.js +88 -0
- package/dist/container-transport-deps.js.map +1 -0
- package/dist/container.d.ts +2 -2
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +123 -742
- package/dist/container.js.map +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ProvisioningLogRecorder, } from '@cat-factory/integrations';
|
|
2
|
+
import { RunnerJobClient, makeResolveDeployCloneTarget, } from '@cat-factory/server';
|
|
3
|
+
import { buildNodeResolveTransport, selectNodeRepoBootstrapper, withProvisioningLog, } from './container-executor-deps.js';
|
|
4
|
+
import { DrizzleBootstrapJobRepository } from './repositories/bootstrap.js';
|
|
5
|
+
/**
|
|
6
|
+
* The runner-transport resolver + the container-backed deploy lifecycle seams of the Node
|
|
7
|
+
* composition root, lifted out of `buildNodeContainer` so that root stays within the file-size
|
|
8
|
+
* budget. Resolves the workspace's runner transport (a sibling facade's injected one wins, else
|
|
9
|
+
* the self-hosted pool), wraps it with the provisioning-log decorator, and builds the deploy job
|
|
10
|
+
* client + clone-target resolver (default: the pool-backed client + an App-token github.com origin).
|
|
11
|
+
*/
|
|
12
|
+
export function buildNodeTransportDeploy(input) {
|
|
13
|
+
const { config, repos, idGenerator, clock, runnerPoolConnectionRepository, runnerBackendRegistry, appRegistry, resolveRepoTarget, workspaceRepository, resolveTransportOverride, runnerPoolProvider, skipProvisioningLogWrap, mintInstallationToken, deployJobClientOverride, disableDefaultDeployJobClient, resolveDeployCloneTargetOverride, resolveRepoOrigin, } = input;
|
|
14
|
+
// Best-effort recorder for the provisioning event log (its own Postgres schema).
|
|
15
|
+
// Shared by the env services (via createCore) and the runner/container transport
|
|
16
|
+
// decorator below, so every spin-up/down attempt is logged.
|
|
17
|
+
const provisioningLogRecorder = new ProvisioningLogRecorder({
|
|
18
|
+
repository: repos.provisioningLogRepository,
|
|
19
|
+
idGenerator,
|
|
20
|
+
clock,
|
|
21
|
+
});
|
|
22
|
+
// A sibling facade (local mode) may inject its own transport — even `null` — which
|
|
23
|
+
// replaces the default self-hosted-pool resolution; undefined keeps Node's default
|
|
24
|
+
// (a self-hosted pool, optionally driven by an injected native `runnerPoolProvider`).
|
|
25
|
+
// The injected transport is a per-run container (local mode), the default is a
|
|
26
|
+
// self-hosted pool — tag each accordingly so the logs drawer can filter by subsystem.
|
|
27
|
+
// A facade that pre-wraps its branches with their own subsystem tags (local mode) sets
|
|
28
|
+
// `skipProvisioningLogWrap` so we don't double-wrap.
|
|
29
|
+
const baseResolveTransport = resolveTransportOverride !== undefined
|
|
30
|
+
? resolveTransportOverride
|
|
31
|
+
: buildNodeResolveTransport(config, runnerPoolConnectionRepository, workspaceRepository, clock, runnerBackendRegistry, runnerPoolProvider);
|
|
32
|
+
const resolveTransport = skipProvisioningLogWrap
|
|
33
|
+
? baseResolveTransport
|
|
34
|
+
: withProvisioningLog(baseResolveTransport, provisioningLogRecorder, resolveTransportOverride !== undefined ? 'container' : 'runner-pool');
|
|
35
|
+
// The async, container-backed Kubernetes deploy lifecycle (slice 9's `deployJobClient` +
|
|
36
|
+
// `resolveDeployCloneTarget` seams). Node deploys on the workspace's self-hosted runner pool
|
|
37
|
+
// (which pulls the `imageDeploy` variant), so the default deploy client wraps the SAME
|
|
38
|
+
// `resolveTransport` the agent executor uses — the pool is Node's analogue of the Worker's
|
|
39
|
+
// DeployContainer. The clone-target resolver mints a short-lived install token + a github.com
|
|
40
|
+
// origin from the App registry. The local facade injects BOTH (a deploy-dedicated native/
|
|
41
|
+
// container transport + a PAT/GitLab clone target) via `options`, which win here. Absent any
|
|
42
|
+
// backend ⇒ unwired, so a render-needing config fails loudly (the raw REST path is unaffected).
|
|
43
|
+
const baseDeployMint = mintInstallationToken ??
|
|
44
|
+
(appRegistry ? (id) => appRegistry.installationToken(id) : undefined);
|
|
45
|
+
const deployJobClient = deployJobClientOverride ??
|
|
46
|
+
(disableDefaultDeployJobClient || !resolveTransport
|
|
47
|
+
? undefined
|
|
48
|
+
: new RunnerJobClient(resolveTransport));
|
|
49
|
+
const resolveDeployCloneTarget = resolveDeployCloneTargetOverride ??
|
|
50
|
+
(baseDeployMint
|
|
51
|
+
? makeResolveDeployCloneTarget(resolveRepoTarget, (id) => baseDeployMint(id), resolveRepoOrigin ? { resolveCloneUrl: (t) => resolveRepoOrigin(t).cloneUrl } : {})
|
|
52
|
+
: undefined);
|
|
53
|
+
const deployDeps = config.environments.encryptionKey
|
|
54
|
+
? {
|
|
55
|
+
...(deployJobClient ? { deployJobClient } : {}),
|
|
56
|
+
...(resolveDeployCloneTarget ? { resolveDeployCloneTarget } : {}),
|
|
57
|
+
}
|
|
58
|
+
: {};
|
|
59
|
+
return { resolveTransport, baseDeployMint, deployDeps };
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The repo-bootstrap slice of the Node composition root (the reference-architecture library +
|
|
63
|
+
* the container-dispatching `repoBootstrapper`), lifted out of `buildNodeContainer` so that root
|
|
64
|
+
* stays within the file-size budget. The bootstrap-job repo is wired unconditionally (the module
|
|
65
|
+
* + ref-arch CRUD then work like the Worker); the `repoBootstrapper` wires only when its
|
|
66
|
+
* prerequisites are met (transport + proxy + token + GitHub client) — the same token source the
|
|
67
|
+
* container executor uses.
|
|
68
|
+
*/
|
|
69
|
+
export function buildNodeBootstrapper(input) {
|
|
70
|
+
const { env, config, sourced, resolveTransport, githubInstallationRepository, repoProjectionRepository, appRegistry, githubClient, mintInstallationToken, resolvePackageRegistries, caches, } = input;
|
|
71
|
+
const bootstrapJobRepository = sourced('bootstrapJobRepository', (d) => new DrizzleBootstrapJobRepository(d));
|
|
72
|
+
const bootstrapMintInstallationToken = mintInstallationToken ??
|
|
73
|
+
(appRegistry ? (id) => appRegistry.installationToken(id) : undefined);
|
|
74
|
+
const repoBootstrapper = selectNodeRepoBootstrapper({
|
|
75
|
+
env,
|
|
76
|
+
config,
|
|
77
|
+
resolveTransport,
|
|
78
|
+
installationRepository: githubInstallationRepository,
|
|
79
|
+
bootstrapJobRepository,
|
|
80
|
+
repoRepository: repoProjectionRepository,
|
|
81
|
+
...(caches?.repoProjection ? { repoProjectionCache: caches.repoProjection } : {}),
|
|
82
|
+
githubClient,
|
|
83
|
+
mintInstallationToken: bootstrapMintInstallationToken,
|
|
84
|
+
...(resolvePackageRegistries ? { resolvePackageRegistries } : {}),
|
|
85
|
+
});
|
|
86
|
+
return { bootstrapJobRepository, bootstrapMintInstallationToken, repoBootstrapper };
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=container-transport-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-transport-deps.js","sourceRoot":"","sources":["../src/container-transport-deps.ts"],"names":[],"mappings":"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"}
|
package/dist/container.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { type GateProviderOverrides } from '@cat-factory/gates';
|
|
|
7
7
|
import type { AppCaches, InitiativePresetRegistry, PipelineRegistry, PreviewTransport, ProviderRegistry, VcsProviderRegistry } from '@cat-factory/kernel';
|
|
8
8
|
import type { PgBoss } from 'pg-boss';
|
|
9
9
|
import type { DrizzleDb } from './db/client.js';
|
|
10
|
-
import {
|
|
10
|
+
import type { LocalEventSink } from './realtime.js';
|
|
11
11
|
import { createDrizzleRepositories } from './repositories/drizzle.js';
|
|
12
12
|
import type { ContentStorageBackend } from '@cat-factory/contracts';
|
|
13
13
|
export { buildNodeResolveTransport, missingContainerExecutorPrereqs, withProvisioningLog, } from './container-executor-deps.js';
|
|
@@ -32,7 +32,7 @@ export declare function pickRepoSource<T>(remote: Record<string, unknown> | unde
|
|
|
32
32
|
* warm container — the personal per-run activation for an individual vendor, the pooled token
|
|
33
33
|
* otherwise — mirroring `ContainerAgentExecutor.resolveAuth`.
|
|
34
34
|
*/
|
|
35
|
-
interface ModelProviderResolverWrapDeps {
|
|
35
|
+
export interface ModelProviderResolverWrapDeps {
|
|
36
36
|
leasePersonalSubscriptionToken?: (executionId: string, userId: string, vendor: SubscriptionVendor) => Promise<{
|
|
37
37
|
secret: string;
|
|
38
38
|
}>;
|
package/dist/container.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|