@cat-factory/local-server 0.29.0 → 0.30.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.
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +57 -5
- package/dist/container.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mothership.d.ts +68 -0
- package/dist/mothership.d.ts.map +1 -0
- package/dist/mothership.js +145 -0
- package/dist/mothership.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +60 -1
- package/dist/server.js.map +1 -1
- package/package.json +12 -11
package/dist/container.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAUpE,OAAO,KAAK,EAAqC,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAO7F,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,qBAAqB,CAAA;AAkD5B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAgblF;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,CAc3E"}
|
package/dist/container.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { CryptoIdGenerator, DrizzleEnvironmentUserHandlerRepository, DrizzleGitHubInstallationRepository, DrizzleLocalSettingsRepository, DrizzleRunnerPoolConnectionRepository, ProvisioningLogRecorder, SystemClock, buildNodeContainer, buildNodeResolveTransport, createDrizzleRepositories, loadNodeConfig, withProvisioningLog, } from '@cat-factory/node-server';
|
|
1
|
+
import { CryptoIdGenerator, DrizzleEnvironmentUserHandlerRepository, DrizzleGitHubInstallationRepository, DrizzleLocalSettingsRepository, DrizzleRunnerPoolConnectionRepository, ProvisioningLogRecorder, SystemClock, buildNodeContainer, buildNodeResolveTransport, createDrizzleRepositories, executionRuntime, loadNodeConfig, withProvisioningLog, } from '@cat-factory/node-server';
|
|
2
|
+
import { InProcessWorkRunner, composeMothership, isMothershipMode, } from './mothership.js';
|
|
2
3
|
import { ConflictError } from '@cat-factory/kernel';
|
|
3
4
|
import { WorkspaceSettingsService } from '@cat-factory/orchestration';
|
|
4
5
|
import { buildInfrastructureCapabilities, logger } from '@cat-factory/server';
|
|
@@ -36,6 +37,12 @@ import { createDockerComposeRuntime } from './compose.js';
|
|
|
36
37
|
// real PRs on github.com via the PAT.
|
|
37
38
|
export function buildLocalContainer(options) {
|
|
38
39
|
const env = applyLocalDefaults(options.env ?? process.env);
|
|
40
|
+
// Mothership mode (docs/initiatives/mothership-mode.md): no local Postgres. Org/durable
|
|
41
|
+
// state is served remotely (RPC) and credentials stay local (node:sqlite). When on, we
|
|
42
|
+
// build the composite repositories + credential store here and thread them through the
|
|
43
|
+
// existing NodeContainer seams with `db` left undefined; the in-process work runner replaces
|
|
44
|
+
// pg-boss. Off → the standard siloed-Postgres local mode is unchanged.
|
|
45
|
+
const mothership = isMothershipMode(env) && !options.db ? composeMothership(env) : undefined;
|
|
39
46
|
const pat = env.GITHUB_PAT?.trim();
|
|
40
47
|
const gitlabPat = env.GITLAB_PAT?.trim();
|
|
41
48
|
// The push/clone token and the VCS client are provider-agnostic. Prefer a GitHub PAT, else
|
|
@@ -90,6 +97,9 @@ export function buildLocalContainer(options) {
|
|
|
90
97
|
...(nativeAgents ? { nativeAmbientAuth: nativeHarnesses } : {}),
|
|
91
98
|
localMode: {
|
|
92
99
|
enabled: true,
|
|
100
|
+
// Surfaced to the SPA so it can label what is stored locally (credentials) vs delegated
|
|
101
|
+
// to the mothership (org/durable state). Off → the standard siloed-Postgres local mode.
|
|
102
|
+
...(mothership ? { mothership: true } : {}),
|
|
93
103
|
...(gitToken ? {} : { githubPatSetupUrl: githubPatCreationUrl() }),
|
|
94
104
|
// Scopes-preselected "create a PAT" deep links so the "no token configured" notice sends
|
|
95
105
|
// the developer straight to the right token page (scopes differ per provider).
|
|
@@ -114,7 +124,11 @@ export function buildLocalContainer(options) {
|
|
|
114
124
|
// own) so the chooser reads the same workspace settings the rest of the engine does.
|
|
115
125
|
const clock = new SystemClock();
|
|
116
126
|
const idGenerator = new CryptoIdGenerator();
|
|
117
|
-
|
|
127
|
+
// In mothership mode the repository set is the remote (RPC-backed) composite; otherwise the
|
|
128
|
+
// Drizzle set over the local Postgres. The credential repos are injected separately below.
|
|
129
|
+
const repos = options.repos ??
|
|
130
|
+
mothership?.repos ??
|
|
131
|
+
createDrizzleRepositories(options.db, clock);
|
|
118
132
|
const wsSettings = new WorkspaceSettingsService({
|
|
119
133
|
workspaceSettingsRepository: repos.workspaceSettingsRepository,
|
|
120
134
|
workspaceRepository: repos.workspaceRepository,
|
|
@@ -210,7 +224,13 @@ export function buildLocalContainer(options) {
|
|
|
210
224
|
// is non-null and a workspace can register a pool via the API; a native adapter injected
|
|
211
225
|
// through `options.runnerPoolProvider` drives the actual dispatch. The connection repo is
|
|
212
226
|
// also held for the start-time guard's cheap "is a pool registered?" existence check.
|
|
213
|
-
|
|
227
|
+
// In mothership mode there is no local db, so resolve this repo REMOTELY (like the rest of the
|
|
228
|
+
// org state) rather than over an undefined db handle — a delegation check then returns a clean
|
|
229
|
+
// gated `unknown_method` (the repo joins the allow-list in the gating phase, see the tracker)
|
|
230
|
+
// instead of a `Cannot read properties of undefined` TypeError.
|
|
231
|
+
const runnerPoolConnectionRepository = mothership
|
|
232
|
+
? mothership.repos.runnerPoolConnectionRepository
|
|
233
|
+
: new DrizzleRunnerPoolConnectionRepository(options.db);
|
|
214
234
|
// Build the app-owned backend registries once and share them with BOTH the pool resolver
|
|
215
235
|
// here AND `buildNodeContainer` below (via `backendRegistries`), so the runner backend a
|
|
216
236
|
// workspace's `kind` resolves to is the same instance everywhere. Defaults to the built-ins.
|
|
@@ -304,11 +324,26 @@ export function buildLocalContainer(options) {
|
|
|
304
324
|
active: localTestInfraSupported ? 'local-compose' : 'environment-provider',
|
|
305
325
|
},
|
|
306
326
|
});
|
|
327
|
+
// Mothership mode has no pg-boss: drive runs in-process through the SAME advance/poll loop
|
|
328
|
+
// with real timer-backed sleeps. Bound to the execution service AFTER the container is built
|
|
329
|
+
// (the service doesn't exist yet — chicken-and-egg with createCore).
|
|
330
|
+
const inProcessRunner = mothership
|
|
331
|
+
? new InProcessWorkRunner(executionRuntime(config, env).drive, logger)
|
|
332
|
+
: undefined;
|
|
307
333
|
const container = buildNodeContainer({
|
|
308
334
|
...options,
|
|
309
335
|
env,
|
|
310
336
|
config,
|
|
311
337
|
repos,
|
|
338
|
+
// Mothership credentials stay on the laptop: inject the local node:sqlite store's two repos
|
|
339
|
+
// so the API-key pool + local-model endpoints are sealed with the LOCAL key (the
|
|
340
|
+
// mothership's ENCRYPTION_KEY never reaches this machine). Off → Drizzle over Postgres.
|
|
341
|
+
...(mothership
|
|
342
|
+
? {
|
|
343
|
+
providerApiKeyRepository: mothership.credentialStore.providerApiKeyRepository,
|
|
344
|
+
localModelEndpointRepository: mothership.credentialStore.localModelEndpointRepository,
|
|
345
|
+
}
|
|
346
|
+
: {}),
|
|
312
347
|
// Share the SAME registries the pool resolver above was built with (so a custom runner
|
|
313
348
|
// backend resolves to one instance across the local chooser + the engine's connection service).
|
|
314
349
|
backendRegistries,
|
|
@@ -343,6 +378,10 @@ export function buildLocalContainer(options) {
|
|
|
343
378
|
// cross-runtime conformance harness) can override it.
|
|
344
379
|
assertAgentBackendConfigured,
|
|
345
380
|
...options.overrides,
|
|
381
|
+
// Mothership mode's in-process work runner (no pg-boss). After `...options.overrides` so an
|
|
382
|
+
// explicit test override still wins; in mothership boot there is no `boss`, so this is the
|
|
383
|
+
// only runner wired.
|
|
384
|
+
...(inProcessRunner ? { workRunner: inProcessRunner } : {}),
|
|
346
385
|
// The local PAT carries the CI-config scope (GitHub `workflow` — pre-selected by the
|
|
347
386
|
// creation URL; GitLab `api` covers it), so the connection isn't missing that grant —
|
|
348
387
|
// report it granted to suppress the advisory banner. (The App-permissions probe this
|
|
@@ -357,10 +396,20 @@ export function buildLocalContainer(options) {
|
|
|
357
396
|
// Per-USER infra handler overrides are a LOCAL-mode feature: only the local facade
|
|
358
397
|
// wires the repository, so the per-user override service + controller assemble here
|
|
359
398
|
// (and stay 503 / inert on the Worker + Node facades). A developer can point a
|
|
360
|
-
// provision type at their own Docker / k3s for the runs they initiate.
|
|
361
|
-
|
|
399
|
+
// provision type at their own Docker / k3s for the runs they initiate. It is backed by
|
|
400
|
+
// local Postgres, so it only wires when a `db` is present — in mothership mode (`db`
|
|
401
|
+
// undefined) there is no local database, so the override service stays inert (503),
|
|
402
|
+
// exactly like `localSettingsService` above; remoting it is a later environments slice.
|
|
403
|
+
...(options.db
|
|
404
|
+
? {
|
|
405
|
+
environmentUserHandlerRepository: new DrizzleEnvironmentUserHandlerRepository(options.db),
|
|
406
|
+
}
|
|
407
|
+
: {}),
|
|
362
408
|
},
|
|
363
409
|
});
|
|
410
|
+
// Bind the in-process work runner to the now-built execution service, so `startRun` /
|
|
411
|
+
// `signalDecision` drive runs in-process (mothership mode; no-op otherwise).
|
|
412
|
+
inProcessRunner?.bind(container.executionService);
|
|
364
413
|
// Surface the local-mode settings service so the dedicated local-settings panel can
|
|
365
414
|
// read/write the warm-pool + checkout config (the controller 503s when this is absent,
|
|
366
415
|
// which is the case on every non-local facade). Also expose the PAT-login registry so the
|
|
@@ -369,6 +418,9 @@ export function buildLocalContainer(options) {
|
|
|
369
418
|
...container,
|
|
370
419
|
vcsIdentity,
|
|
371
420
|
...(localSettingsService ? { localSettings: { service: localSettingsService } } : {}),
|
|
421
|
+
// Release the local credential SQLite handle on shutdown (mothership mode owns it; the
|
|
422
|
+
// boot path calls this from its SIGTERM/SIGINT handler). No-op otherwise.
|
|
423
|
+
...(mothership ? { onShutdown: mothership.close } : {}),
|
|
372
424
|
};
|
|
373
425
|
}
|
|
374
426
|
/** Values that explicitly DISABLE native mode (so `LOCAL_NATIVE_AGENTS=false` means off). */
|
package/dist/container.js.map
CHANGED
|
@@ -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/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export { type ContainerRuntimeAdapter, type ContainerExec, type RuntimeId, creat
|
|
|
6
6
|
export { linkRepo, type LinkRepoOptions, type LinkedRepo } from './linkRepo.js';
|
|
7
7
|
export { createLocalGitHubClient, StaticTokenAppRegistry } from './github.js';
|
|
8
8
|
export { createLocalCredentialStore, type LocalCredentialStore } from './sqlite/credentialStore.js';
|
|
9
|
+
export { composeMothership, isMothershipMode, InProcessWorkRunner, type MothershipComposition, } from './mothership.js';
|
|
9
10
|
export { registerAgentKind, registerAgentKinds, clearRegisteredAgentKinds, type AgentKindDefinition, } from '@cat-factory/agents';
|
|
10
11
|
export { registerPipeline, registerPipelines, clearRegisteredPipelines } from '@cat-factory/kernel';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,EACpC,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAO7E,OAAO,EAAE,0BAA0B,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAInG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,EACpC,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAO7E,OAAO,EAAE,0BAA0B,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAInG,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,10 @@ export { createLocalGitHubClient, StaticTokenAppRegistry } from './github.js';
|
|
|
22
22
|
// public; the raw db opener and the repo classes stay internal until the 1b composition
|
|
23
23
|
// step proves a consumer needs them.
|
|
24
24
|
export { createLocalCredentialStore } from './sqlite/credentialStore.js';
|
|
25
|
+
// Mothership composition: the remote (RPC) + local-sqlite repository set, the in-process work
|
|
26
|
+
// runner that replaces pg-boss, and the boot-mode probe. `startLocal()` selects the no-Postgres
|
|
27
|
+
// boot automatically when LOCAL_MOTHERSHIP_URL is set.
|
|
28
|
+
export { composeMothership, isMothershipMode, InProcessWorkRunner, } from './mothership.js';
|
|
25
29
|
// Installation-level extension points, re-exported for parity with the Node facade so
|
|
26
30
|
// a local deployment can register custom agent kinds / pipelines before `startLocal()`.
|
|
27
31
|
export { registerAgentKind, registerAgentKinds, clearRegisteredAgentKinds, } from '@cat-factory/agents';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,sFAAsF;AACtF,yEAAyE;AACzE,gFAAgF;AAChF,4DAA4D;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,GAErC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAIL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAA;AAC5B,qFAAqF;AACrF,gFAAgF;AAChF,sEAAsE;AACtE,OAAO,EAAE,QAAQ,EAAyC,MAAM,eAAe,CAAA;AAC/E,6EAA6E;AAC7E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAE7E,0FAA0F;AAC1F,sFAAsF;AACtF,wFAAwF;AACxF,wFAAwF;AACxF,qCAAqC;AACrC,OAAO,EAAE,0BAA0B,EAA6B,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,sFAAsF;AACtF,yEAAyE;AACzE,gFAAgF;AAChF,4DAA4D;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EACL,6BAA6B,EAC7B,oCAAoC,GAErC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAIL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAA;AAC5B,qFAAqF;AACrF,gFAAgF;AAChF,sEAAsE;AACtE,OAAO,EAAE,QAAQ,EAAyC,MAAM,eAAe,CAAA;AAC/E,6EAA6E;AAC7E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAE7E,0FAA0F;AAC1F,sFAAsF;AACtF,wFAAwF;AACxF,wFAAwF;AACxF,qCAAqC;AACrC,OAAO,EAAE,0BAA0B,EAA6B,MAAM,6BAA6B,CAAA;AACnG,8FAA8F;AAC9F,gGAAgG;AAChG,uDAAuD;AACvD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GAEpB,MAAM,iBAAiB,CAAA;AAExB,sFAAsF;AACtF,wFAAwF;AACxF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAE1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type CoreRepositories, type DriveConfig, driveExecution } from '@cat-factory/node-server';
|
|
2
|
+
import { type Logger } from '@cat-factory/server';
|
|
3
|
+
import type { WorkRunner } from '@cat-factory/kernel';
|
|
4
|
+
import { type LocalCredentialStore } from './sqlite/credentialStore.js';
|
|
5
|
+
/** True when this local node should boot in mothership mode (a mothership URL is configured). */
|
|
6
|
+
export declare function isMothershipMode(env: NodeJS.ProcessEnv): boolean;
|
|
7
|
+
/** The composed mothership persistence: remote org repos + the local credential store. */
|
|
8
|
+
export interface MothershipComposition {
|
|
9
|
+
/**
|
|
10
|
+
* The full {@link CoreRepositories} surface, every entry remote (RPC-backed). The pilot
|
|
11
|
+
* allow-list gates which repo+method actually executes on the mothership; an
|
|
12
|
+
* un-allow-listed call returns `unknown_method`. IMPORTANT: the pilot table exposes only the
|
|
13
|
+
* six core domain repos, which is NOT enough for a board load or a run end-to-end — those
|
|
14
|
+
* touch many more repos (mounts, settings, presets, notifications, …) that are still
|
|
15
|
+
* un-allow-listed (and the direct-db repos in `buildNodeContainer` have no db here), so they
|
|
16
|
+
* currently throw. The widened surface is the gating phase in docs/initiatives/mothership-mode.md
|
|
17
|
+
* (this PR must stay a draft until it lands).
|
|
18
|
+
*/
|
|
19
|
+
repos: CoreRepositories;
|
|
20
|
+
/** The local-sqlite credential store (kept on the laptop, sealed with the local key). */
|
|
21
|
+
credentialStore: LocalCredentialStore;
|
|
22
|
+
/** Close the underlying SQLite db (call on shutdown). */
|
|
23
|
+
close(): void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Compose the mothership persistence from env. Builds the machine-authed RPC client +
|
|
27
|
+
* the full remote repository registry, and opens the local credential store. The caller
|
|
28
|
+
* (`buildLocalContainer`) passes `repos` as `options.repos` and the credential store's two
|
|
29
|
+
* repositories as `options.providerApiKeyRepository` / `options.localModelEndpointRepository`,
|
|
30
|
+
* with `options.db` left undefined.
|
|
31
|
+
*
|
|
32
|
+
* Throws when `LOCAL_MOTHERSHIP_TOKEN` is missing — a mothership URL with no machine token
|
|
33
|
+
* cannot authenticate a single call, so fail fast at boot rather than 403 on first read.
|
|
34
|
+
*/
|
|
35
|
+
export declare function composeMothership(env: NodeJS.ProcessEnv): MothershipComposition;
|
|
36
|
+
/**
|
|
37
|
+
* The in-process work runner: the no-Postgres analogue of {@link PgBossWorkRunner}. A
|
|
38
|
+
* mothership-mode node has no pg-boss, so it drives runs in this process by calling the SAME
|
|
39
|
+
* `driveExecution` advance/poll loop (with real timer-backed sleeps) in the background.
|
|
40
|
+
*
|
|
41
|
+
* It serialises per execution — at most one drive per run at a time — so a `signalDecision`
|
|
42
|
+
* (or a re-armed human-review gate) that arrives mid-drive coalesces into exactly one
|
|
43
|
+
* follow-up drive once the current one returns, mirroring pg-boss's `exclusive` queue
|
|
44
|
+
* semantics (one live advance per run, duplicate sends suppressed). The execution service is
|
|
45
|
+
* bound after the container is built (it does not exist when the runner is constructed).
|
|
46
|
+
*
|
|
47
|
+
* NOTE (single process, best effort): unlike pg-boss there is no durable queue or stale-run
|
|
48
|
+
* sweeper, so a crash loses in-flight drives — acceptable for a single-developer local node,
|
|
49
|
+
* and the durable SQLite work queue is PR 2 in the initiative.
|
|
50
|
+
*/
|
|
51
|
+
export declare class InProcessWorkRunner implements WorkRunner {
|
|
52
|
+
private readonly cfg;
|
|
53
|
+
private readonly log;
|
|
54
|
+
private exec?;
|
|
55
|
+
/** Per-execution state: `running` = a drive is active, `rerun` = another was requested mid-drive. */
|
|
56
|
+
private readonly inflight;
|
|
57
|
+
constructor(cfg: DriveConfig, log: Logger);
|
|
58
|
+
/** Bind the execution service once the container is built (chicken-and-egg with `createCore`). */
|
|
59
|
+
bind(exec: Parameters<typeof driveExecution>[0]): void;
|
|
60
|
+
startRun(workspaceId: string, executionId: string): Promise<void>;
|
|
61
|
+
signalDecision(workspaceId: string, executionId: string): Promise<void>;
|
|
62
|
+
cancelRun(): Promise<void>;
|
|
63
|
+
private schedule;
|
|
64
|
+
private drive;
|
|
65
|
+
/** Re-arm a polling gate after its poll interval (the in-process analogue of the sweeper). */
|
|
66
|
+
private rearmAfterDelay;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=mothership.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAClG,OAAO,EAEL,KAAK,MAAM,EAEZ,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,6BAA6B,CAAA;AAUnG,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAEhE;AAaD,0FAA0F;AAC1F,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,KAAK,EAAE,gBAAgB,CAAA;IACvB,yFAAyF;IACzF,eAAe,EAAE,oBAAoB,CAAA;IACrC,yDAAyD;IACzD,KAAK,IAAI,IAAI,CAAA;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,qBAAqB,CAiB/E;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IAMlD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,IAAI,CAAC,CAAsC;IACnD,qGAAqG;IACrG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAElE,YACmB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,MAAM,EAC1B;IAEJ,kGAAkG;IAClG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAErD;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;IAEK,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5E;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/B;IAED,OAAO,CAAC,QAAQ;YAUF,KAAK;IAmCnB,8FAA8F;IAC9F,OAAO,CAAC,eAAe;CAKxB"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { mkdirSync } from 'node:fs';
|
|
4
|
+
import { driveExecution } from '@cat-factory/node-server';
|
|
5
|
+
import { HttpPersistenceRpcClient, createRemoteRepositoryRegistry, } from '@cat-factory/server';
|
|
6
|
+
import { createLocalCredentialStore } from './sqlite/credentialStore.js';
|
|
7
|
+
// Mothership mode (docs/initiatives/mothership-mode.md): the local node keeps NO main
|
|
8
|
+
// database. Org/durable state lives on a hosted "mothership" cat-factory (Node or Cloudflare)
|
|
9
|
+
// and is reached over the authenticated `/internal/persistence` machine API; agent/model
|
|
10
|
+
// CREDENTIALS stay on the laptop in a file-based `node:sqlite` store, sealed with the LOCAL
|
|
11
|
+
// key (the mothership's ENCRYPTION_KEY never reaches the machine). This module composes those
|
|
12
|
+
// two halves into the seams `buildLocalContainer` threads into `buildNodeContainer`, and
|
|
13
|
+
// supplies the in-process work runner that replaces pg-boss when there is no Postgres.
|
|
14
|
+
/** True when this local node should boot in mothership mode (a mothership URL is configured). */
|
|
15
|
+
export function isMothershipMode(env) {
|
|
16
|
+
return !!env.LOCAL_MOTHERSHIP_URL?.trim();
|
|
17
|
+
}
|
|
18
|
+
/** Resolve the on-disk path for the local credential SQLite store (`:memory:` honoured for tests). */
|
|
19
|
+
function credentialDbPath(env) {
|
|
20
|
+
const explicit = env.LOCAL_MOTHERSHIP_CREDENTIAL_DB?.trim();
|
|
21
|
+
if (explicit)
|
|
22
|
+
return explicit;
|
|
23
|
+
// Default to a stable per-user file so credentials survive restarts (the whole point of a
|
|
24
|
+
// local store). Created under the developer's home dir; ensure the directory exists.
|
|
25
|
+
const dir = join(homedir(), '.cat-factory');
|
|
26
|
+
mkdirSync(dir, { recursive: true });
|
|
27
|
+
return join(dir, 'credentials.sqlite');
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Compose the mothership persistence from env. Builds the machine-authed RPC client +
|
|
31
|
+
* the full remote repository registry, and opens the local credential store. The caller
|
|
32
|
+
* (`buildLocalContainer`) passes `repos` as `options.repos` and the credential store's two
|
|
33
|
+
* repositories as `options.providerApiKeyRepository` / `options.localModelEndpointRepository`,
|
|
34
|
+
* with `options.db` left undefined.
|
|
35
|
+
*
|
|
36
|
+
* Throws when `LOCAL_MOTHERSHIP_TOKEN` is missing — a mothership URL with no machine token
|
|
37
|
+
* cannot authenticate a single call, so fail fast at boot rather than 403 on first read.
|
|
38
|
+
*/
|
|
39
|
+
export function composeMothership(env) {
|
|
40
|
+
const baseUrl = env.LOCAL_MOTHERSHIP_URL?.trim();
|
|
41
|
+
if (!baseUrl) {
|
|
42
|
+
throw new Error('composeMothership called without LOCAL_MOTHERSHIP_URL set');
|
|
43
|
+
}
|
|
44
|
+
const token = env.LOCAL_MOTHERSHIP_TOKEN?.trim();
|
|
45
|
+
if (!token) {
|
|
46
|
+
throw new Error('LOCAL_MOTHERSHIP_URL is set but LOCAL_MOTHERSHIP_TOKEN is not. A mothership-mode node ' +
|
|
47
|
+
'authenticates every persistence call with a machine token minted by the mothership; ' +
|
|
48
|
+
'set LOCAL_MOTHERSHIP_TOKEN and restart. (Login-based minting lands in a later slice.)');
|
|
49
|
+
}
|
|
50
|
+
const client = new HttpPersistenceRpcClient({ baseUrl, token });
|
|
51
|
+
const repos = createRemoteRepositoryRegistry(client);
|
|
52
|
+
const credentialStore = createLocalCredentialStore(credentialDbPath(env));
|
|
53
|
+
return { repos, credentialStore, close: () => credentialStore.close() };
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The in-process work runner: the no-Postgres analogue of {@link PgBossWorkRunner}. A
|
|
57
|
+
* mothership-mode node has no pg-boss, so it drives runs in this process by calling the SAME
|
|
58
|
+
* `driveExecution` advance/poll loop (with real timer-backed sleeps) in the background.
|
|
59
|
+
*
|
|
60
|
+
* It serialises per execution — at most one drive per run at a time — so a `signalDecision`
|
|
61
|
+
* (or a re-armed human-review gate) that arrives mid-drive coalesces into exactly one
|
|
62
|
+
* follow-up drive once the current one returns, mirroring pg-boss's `exclusive` queue
|
|
63
|
+
* semantics (one live advance per run, duplicate sends suppressed). The execution service is
|
|
64
|
+
* bound after the container is built (it does not exist when the runner is constructed).
|
|
65
|
+
*
|
|
66
|
+
* NOTE (single process, best effort): unlike pg-boss there is no durable queue or stale-run
|
|
67
|
+
* sweeper, so a crash loses in-flight drives — acceptable for a single-developer local node,
|
|
68
|
+
* and the durable SQLite work queue is PR 2 in the initiative.
|
|
69
|
+
*/
|
|
70
|
+
export class InProcessWorkRunner {
|
|
71
|
+
cfg;
|
|
72
|
+
log;
|
|
73
|
+
exec;
|
|
74
|
+
/** Per-execution state: `running` = a drive is active, `rerun` = another was requested mid-drive. */
|
|
75
|
+
inflight = new Map();
|
|
76
|
+
constructor(cfg, log) {
|
|
77
|
+
this.cfg = cfg;
|
|
78
|
+
this.log = log;
|
|
79
|
+
}
|
|
80
|
+
/** Bind the execution service once the container is built (chicken-and-egg with `createCore`). */
|
|
81
|
+
bind(exec) {
|
|
82
|
+
this.exec = exec;
|
|
83
|
+
}
|
|
84
|
+
async startRun(workspaceId, executionId) {
|
|
85
|
+
this.schedule(workspaceId, executionId);
|
|
86
|
+
}
|
|
87
|
+
async signalDecision(workspaceId, executionId) {
|
|
88
|
+
// The decision is already persisted (to the mothership); re-drive so the parked run resumes.
|
|
89
|
+
this.schedule(workspaceId, executionId);
|
|
90
|
+
}
|
|
91
|
+
async cancelRun() {
|
|
92
|
+
// Best-effort: the run is finalized via ExecutionService.stopRun; an in-flight drive is a
|
|
93
|
+
// no-op once the run is terminal (advanceInstance returns noop).
|
|
94
|
+
}
|
|
95
|
+
schedule(workspaceId, executionId) {
|
|
96
|
+
if (this.inflight.has(executionId)) {
|
|
97
|
+
// A drive is already running for this run — coalesce into one follow-up.
|
|
98
|
+
this.inflight.set(executionId, 'rerun');
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.inflight.set(executionId, 'running');
|
|
102
|
+
void this.drive(workspaceId, executionId);
|
|
103
|
+
}
|
|
104
|
+
async drive(workspaceId, executionId) {
|
|
105
|
+
if (!this.exec) {
|
|
106
|
+
this.inflight.delete(executionId);
|
|
107
|
+
this.log.error({ executionId }, 'in-process work runner driven before bind()');
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
// Loop while a re-run was requested mid-drive (a coalesced signal); single-threaded JS
|
|
112
|
+
// makes the read-then-act on `inflight` race-free between awaits.
|
|
113
|
+
for (;;) {
|
|
114
|
+
this.inflight.set(executionId, 'running');
|
|
115
|
+
const outcome = await driveExecution(this.exec, workspaceId, executionId, this.cfg, {
|
|
116
|
+
log: this.log,
|
|
117
|
+
});
|
|
118
|
+
const rerun = this.inflight.get(executionId) === 'rerun';
|
|
119
|
+
// A re-armed unbounded-wait gate (human review) released the drive without finishing;
|
|
120
|
+
// with no stale-run sweeper here, re-arm it ourselves after the gate's poll interval so
|
|
121
|
+
// it polls again rather than stalling. Skip the delayed re-arm when a signal already
|
|
122
|
+
// queued an immediate re-drive (`rerun`): looping below covers it, and arming both would
|
|
123
|
+
// leave a stray timer that amplifies polling on every gate+signal coincidence.
|
|
124
|
+
if (outcome.rearmedGate && !rerun) {
|
|
125
|
+
this.rearmAfterDelay(workspaceId, executionId);
|
|
126
|
+
}
|
|
127
|
+
if (!rerun)
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
this.log.error({ workspaceId, executionId, err: err instanceof Error ? err.message : String(err) }, 'in-process execution driver failed');
|
|
133
|
+
}
|
|
134
|
+
finally {
|
|
135
|
+
this.inflight.delete(executionId);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/** Re-arm a polling gate after its poll interval (the in-process analogue of the sweeper). */
|
|
139
|
+
rearmAfterDelay(workspaceId, executionId) {
|
|
140
|
+
const delay = Math.max(1000, this.cfg.ciPollIntervalMs);
|
|
141
|
+
const timer = setTimeout(() => this.schedule(workspaceId, executionId), delay);
|
|
142
|
+
timer.unref?.(); // never keep the process alive on a re-arm timer alone
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=mothership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mothership.js","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoD,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAwBlG,wBAAsB,UAAU,CAC9B,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;CACT,GACL,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAqD5C"}
|
package/dist/server.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { execFile } from 'node:child_process';
|
|
2
2
|
import { promisify } from 'node:util';
|
|
3
|
-
import { start } from '@cat-factory/node-server';
|
|
3
|
+
import { NodeRealtimeHub, createApp, serveAppWithRealtime, start } from '@cat-factory/node-server';
|
|
4
4
|
import { logger } from '@cat-factory/server';
|
|
5
|
+
import { validateRegistrationsOnce } from '@cat-factory/orchestration';
|
|
5
6
|
import { applyLocalDefaults } from './config.js';
|
|
6
7
|
import { buildLocalContainer } from './container.js';
|
|
7
8
|
import { githubPatCreationUrl } from './github.js';
|
|
9
|
+
import { isMothershipMode } from './mothership.js';
|
|
8
10
|
import { createRuntimeAdapter, resolveRuntimeId } from './runtimes/index.js';
|
|
9
11
|
const execFileAsync = promisify(execFile);
|
|
10
12
|
// Boot the local-mode service. It reuses the Node facade's `start()` — Postgres +
|
|
@@ -51,12 +53,69 @@ export async function startLocal(options = {}) {
|
|
|
51
53
|
'on your network can reach the API. Set AUTH_DEV_OPEN=false, or HOST=127.0.0.1 on ' +
|
|
52
54
|
'Docker Desktop, to restrict it.');
|
|
53
55
|
}
|
|
56
|
+
// Mothership mode boots WITHOUT Postgres (no DATABASE_URL / migrate / pg-boss): org/durable
|
|
57
|
+
// state lives on the mothership and runs are driven by the in-process work runner. Take the
|
|
58
|
+
// dedicated boot path instead of the Node facade's `start()` (which requires Postgres).
|
|
59
|
+
if (isMothershipMode(localized)) {
|
|
60
|
+
return startLocalMothership(localized, options.host);
|
|
61
|
+
}
|
|
54
62
|
return start({
|
|
55
63
|
env,
|
|
56
64
|
host: options.host,
|
|
57
65
|
buildContainer: (o) => buildLocalContainer(o),
|
|
58
66
|
});
|
|
59
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Boot the local-mode service in MOTHERSHIP mode: no Postgres, no pg-boss. The container
|
|
70
|
+
* (built by {@link buildLocalContainer}) composes the remote (RPC-backed) org repositories +
|
|
71
|
+
* the local `node:sqlite` credential store, and carries the in-process work runner that drives
|
|
72
|
+
* runs through the same advance/poll loop. This serves the SAME shared Hono app + WebSocket
|
|
73
|
+
* event transport the Node boot does — only the durable-execution + persistence substrate
|
|
74
|
+
* differs.
|
|
75
|
+
*
|
|
76
|
+
* The periodic Postgres-backed sweepers the Node `start()` runs (retention, recurring-pipeline
|
|
77
|
+
* fire, notification escalation, Kaizen) are intentionally NOT started here: they prune/scan
|
|
78
|
+
* stores that live on the mothership (its own cron owns them), and the durable SQLite work
|
|
79
|
+
* queue + telemetry sync are later initiative slices (PR 2 / PR 5).
|
|
80
|
+
*/
|
|
81
|
+
async function startLocalMothership(env, host) {
|
|
82
|
+
logger.info({ mothership: env.LOCAL_MOTHERSHIP_URL }, 'local mode: booting in MOTHERSHIP mode (no local Postgres; org state served remotely)');
|
|
83
|
+
// Shared with the engine's event publisher (wired inside the container) and the HTTP
|
|
84
|
+
// server's WebSocket upgrade listener below, exactly as the Node `start()` does.
|
|
85
|
+
const realtimeHub = new NodeRealtimeHub();
|
|
86
|
+
const container = buildLocalContainer({ env, realtimeHub });
|
|
87
|
+
// Validate registered gates / agent kinds once before serving (parity with `start()`).
|
|
88
|
+
validateRegistrationsOnce({
|
|
89
|
+
onWarn: (problem) => logger.warn({ code: problem.code }, problem.message),
|
|
90
|
+
});
|
|
91
|
+
const app = createApp(container, env);
|
|
92
|
+
// Shared serve + WebSocket-upgrade helper (one implementation with `start()`, so port/host
|
|
93
|
+
// resolution can't drift). The shutdown sequence stays local because it differs from `start()`:
|
|
94
|
+
// no pg-boss/pool to stop, but the local credential SQLite handle to release.
|
|
95
|
+
const { server, stopRealtime } = serveAppWithRealtime({
|
|
96
|
+
app,
|
|
97
|
+
realtimeHub,
|
|
98
|
+
auth: container.config.auth,
|
|
99
|
+
env,
|
|
100
|
+
host,
|
|
101
|
+
label: 'cat-factory local (mothership) server',
|
|
102
|
+
});
|
|
103
|
+
let shuttingDown = false;
|
|
104
|
+
const shutdown = async (signal) => {
|
|
105
|
+
if (shuttingDown)
|
|
106
|
+
return;
|
|
107
|
+
shuttingDown = true;
|
|
108
|
+
logger.info({ signal }, 'shutting down cat-factory local (mothership) server');
|
|
109
|
+
stopRealtime();
|
|
110
|
+
await new Promise((resolve) => server.close(() => resolve()));
|
|
111
|
+
// Release the local credential SQLite handle (mothership mode owns it).
|
|
112
|
+
await container.onShutdown?.();
|
|
113
|
+
process.exit(0);
|
|
114
|
+
};
|
|
115
|
+
process.once('SIGTERM', () => void shutdown('SIGTERM'));
|
|
116
|
+
process.once('SIGINT', () => void shutdown('SIGINT'));
|
|
117
|
+
return server;
|
|
118
|
+
}
|
|
60
119
|
/**
|
|
61
120
|
* Log the resolved container runtime + capabilities + networking, and probe that its CLI
|
|
62
121
|
* is installed. Non-fatal: the board still boots if the binary is missing (only
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/local-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.1",
|
|
4
4
|
"description": "Local-mode runtime facade for the Agent Architecture Board: the @cat-factory/node-server stack with agent jobs run as local Docker/Podman containers and GitHub accessed via a personal access token — a developer can run the whole product on their own machine.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,22 +24,23 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
+
"@hono/node-server": "^2.0.6",
|
|
27
28
|
"drizzle-orm": "1.0.0-rc.4",
|
|
28
|
-
"@cat-factory/
|
|
29
|
-
"@cat-factory/
|
|
30
|
-
"@cat-factory/
|
|
31
|
-
"@cat-factory/
|
|
32
|
-
"@cat-factory/
|
|
33
|
-
"@cat-factory/node-server": "0.
|
|
34
|
-
"@cat-factory/orchestration": "0.48.
|
|
35
|
-
"@cat-factory/server": "0.
|
|
29
|
+
"@cat-factory/contracts": "0.66.0",
|
|
30
|
+
"@cat-factory/gitlab": "0.4.15",
|
|
31
|
+
"@cat-factory/integrations": "0.44.1",
|
|
32
|
+
"@cat-factory/kernel": "0.62.1",
|
|
33
|
+
"@cat-factory/agents": "0.24.4",
|
|
34
|
+
"@cat-factory/node-server": "0.51.1",
|
|
35
|
+
"@cat-factory/orchestration": "0.48.2",
|
|
36
|
+
"@cat-factory/server": "0.55.1"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
39
|
"@types/node": "^26.0.1",
|
|
39
40
|
"typescript": "7.0.1-rc",
|
|
40
41
|
"vitest": "^4.1.9",
|
|
41
|
-
"@cat-factory/conformance": "0.9.
|
|
42
|
-
"@cat-factory/gates": "0.2.
|
|
42
|
+
"@cat-factory/conformance": "0.9.55",
|
|
43
|
+
"@cat-factory/gates": "0.2.45"
|
|
43
44
|
},
|
|
44
45
|
"scripts": {
|
|
45
46
|
"build": "tsc -b tsconfig.build.json",
|