@xemahq/xema 0.1.4 → 0.2.0
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/README.md +64 -15
- package/dist/assets/boot-graph.json +72 -0
- package/dist/assets/core/distribution.lock.json +1244 -0
- package/dist/assets/core/images.lock.json +428 -0
- package/dist/assets/oss/distribution.lock.json +1978 -0
- package/dist/assets/oss/images.lock.json +594 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +36 -14
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/down.d.ts +3 -0
- package/dist/commands/down.d.ts.map +1 -0
- package/dist/commands/down.js +54 -0
- package/dist/commands/down.js.map +1 -0
- package/dist/commands/logs.d.ts +3 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +61 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +38 -8
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +41 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/up.d.ts +3 -0
- package/dist/commands/up.d.ts.map +1 -0
- package/dist/commands/up.js +44 -0
- package/dist/commands/up.js.map +1 -0
- package/dist/dev/infra-preflight.js +1 -1
- package/dist/dev/infra-preflight.js.map +1 -1
- package/dist/lib/command-registry.d.ts +1 -1
- package/dist/lib/command-registry.d.ts.map +1 -1
- package/dist/lib/command-registry.js +4 -0
- package/dist/lib/command-registry.js.map +1 -1
- package/dist/runtime/boot-graph-loader.d.ts +17 -0
- package/dist/runtime/boot-graph-loader.d.ts.map +1 -0
- package/dist/runtime/boot-graph-loader.js +40 -0
- package/dist/runtime/boot-graph-loader.js.map +1 -0
- package/dist/runtime/config/loader.d.ts +11 -0
- package/dist/runtime/config/loader.d.ts.map +1 -0
- package/dist/runtime/config/loader.js +38 -0
- package/dist/runtime/config/loader.js.map +1 -0
- package/dist/runtime/config/schema.d.ts +202 -0
- package/dist/runtime/config/schema.d.ts.map +1 -0
- package/dist/runtime/config/schema.js +125 -0
- package/dist/runtime/config/schema.js.map +1 -0
- package/dist/runtime/env-seeder.d.ts +17 -0
- package/dist/runtime/env-seeder.d.ts.map +1 -0
- package/dist/runtime/env-seeder.js +80 -0
- package/dist/runtime/env-seeder.js.map +1 -0
- package/dist/runtime/foreground.d.ts +8 -0
- package/dist/runtime/foreground.d.ts.map +1 -0
- package/dist/runtime/foreground.js +71 -0
- package/dist/runtime/foreground.js.map +1 -0
- package/dist/runtime/infra/infra-catalog.d.ts +19 -0
- package/dist/runtime/infra/infra-catalog.d.ts.map +1 -0
- package/dist/runtime/infra/infra-catalog.js +128 -0
- package/dist/runtime/infra/infra-catalog.js.map +1 -0
- package/dist/runtime/infra/infra-plan.d.ts +16 -0
- package/dist/runtime/infra/infra-plan.d.ts.map +1 -0
- package/dist/runtime/infra/infra-plan.js +44 -0
- package/dist/runtime/infra/infra-plan.js.map +1 -0
- package/dist/runtime/infra/infra-runner.d.ts +26 -0
- package/dist/runtime/infra/infra-runner.d.ts.map +1 -0
- package/dist/runtime/infra/infra-runner.js +135 -0
- package/dist/runtime/infra/infra-runner.js.map +1 -0
- package/dist/runtime/launch.d.ts +24 -0
- package/dist/runtime/launch.d.ts.map +1 -0
- package/dist/runtime/launch.js +116 -0
- package/dist/runtime/launch.js.map +1 -0
- package/dist/runtime/lock-loader.d.ts +26 -0
- package/dist/runtime/lock-loader.d.ts.map +1 -0
- package/dist/runtime/lock-loader.js +61 -0
- package/dist/runtime/lock-loader.js.map +1 -0
- package/dist/runtime/paths.d.ts +14 -0
- package/dist/runtime/paths.d.ts.map +1 -0
- package/dist/runtime/paths.js +109 -0
- package/dist/runtime/paths.js.map +1 -0
- package/dist/runtime/platform-services.d.ts +2 -0
- package/dist/runtime/platform-services.d.ts.map +1 -0
- package/dist/runtime/platform-services.js +8 -0
- package/dist/runtime/platform-services.js.map +1 -0
- package/dist/runtime/port-map.d.ts +3 -0
- package/dist/runtime/port-map.d.ts.map +1 -0
- package/dist/runtime/port-map.js +25 -0
- package/dist/runtime/port-map.js.map +1 -0
- package/dist/runtime/roster.d.ts +32 -0
- package/dist/runtime/roster.d.ts.map +1 -0
- package/dist/runtime/roster.js +106 -0
- package/dist/runtime/roster.js.map +1 -0
- package/dist/runtime/runner/container-runner.d.ts +14 -0
- package/dist/runtime/runner/container-runner.d.ts.map +1 -0
- package/dist/runtime/runner/container-runner.js +61 -0
- package/dist/runtime/runner/container-runner.js.map +1 -0
- package/dist/runtime/runner/docker-cli.d.ts +11 -0
- package/dist/runtime/runner/docker-cli.d.ts.map +1 -0
- package/dist/runtime/runner/docker-cli.js +53 -0
- package/dist/runtime/runner/docker-cli.js.map +1 -0
- package/dist/runtime/runner/health-probe.d.ts +2 -0
- package/dist/runtime/runner/health-probe.d.ts.map +1 -0
- package/dist/runtime/runner/health-probe.js +38 -0
- package/dist/runtime/runner/health-probe.js.map +1 -0
- package/dist/runtime/runner/helm-runner.d.ts +19 -0
- package/dist/runtime/runner/helm-runner.d.ts.map +1 -0
- package/dist/runtime/runner/helm-runner.js +70 -0
- package/dist/runtime/runner/helm-runner.js.map +1 -0
- package/dist/runtime/runner/native-runner.d.ts +9 -0
- package/dist/runtime/runner/native-runner.d.ts.map +1 -0
- package/dist/runtime/runner/native-runner.js +85 -0
- package/dist/runtime/runner/native-runner.js.map +1 -0
- package/dist/runtime/runner/service-runner.d.ts +23 -0
- package/dist/runtime/runner/service-runner.d.ts.map +1 -0
- package/dist/runtime/runner/service-runner.js +10 -0
- package/dist/runtime/runner/service-runner.js.map +1 -0
- package/dist/runtime/supervisor.d.ts +46 -0
- package/dist/runtime/supervisor.d.ts.map +1 -0
- package/dist/runtime/supervisor.js +77 -0
- package/dist/runtime/supervisor.js.map +1 -0
- package/dist/runtime/unit-type.d.ts +9 -0
- package/dist/runtime/unit-type.d.ts.map +1 -0
- package/dist/runtime/unit-type.js +19 -0
- package/dist/runtime/unit-type.js.map +1 -0
- package/dist/runtime/waves.d.ts +15 -0
- package/dist/runtime/waves.d.ts.map +1 -0
- package/dist/runtime/waves.js +77 -0
- package/dist/runtime/waves.js.map +1 -0
- package/package.json +9 -10
- package/xema.config.example.yaml +45 -0
package/dist/commands/dev.js
CHANGED
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerCommand = registerCommand;
|
|
4
|
-
const
|
|
4
|
+
const env_defaults_1 = require("../dev/env-defaults");
|
|
5
|
+
const infra_preflight_1 = require("../dev/infra-preflight");
|
|
5
6
|
const exit_codes_1 = require("../lib/exit-codes");
|
|
7
|
+
const schema_1 = require("../runtime/config/schema");
|
|
8
|
+
const foreground_1 = require("../runtime/foreground");
|
|
6
9
|
function registerCommand(program) {
|
|
7
10
|
program
|
|
8
11
|
.command('dev')
|
|
9
|
-
.summary('Boot Xema
|
|
10
|
-
.description('Boots
|
|
11
|
-
'
|
|
12
|
-
'
|
|
13
|
-
'
|
|
14
|
-
'
|
|
15
|
-
.option('--
|
|
16
|
-
.option('--router-port <port>', 'HTTP port for xema-capability-router', (raw) => Number.parseInt(raw, 10))
|
|
12
|
+
.summary('Boot Xema for local development (native substrate)')
|
|
13
|
+
.description('Boots the lock-resolved roster as host processes (in-process Nest + ' +
|
|
14
|
+
'forked Prisma services). Probes Postgres / Redis / event-hub-api first; ' +
|
|
15
|
+
'exits with an actionable `docker compose up` message if any are down. ' +
|
|
16
|
+
'Per-service skip-mode tolerates individual failures.')
|
|
17
|
+
.option('--edition <id>', 'Distribution edition (default: oss)')
|
|
18
|
+
.option('--web', 'Also start the host-shell frontend')
|
|
17
19
|
.option('--skip-preflight', 'Skip the infra TCP probe (debugging only — masks real outages).')
|
|
18
20
|
.action(async (opts) => {
|
|
19
21
|
try {
|
|
20
|
-
await (
|
|
21
|
-
kernelPort: opts.kernelPort,
|
|
22
|
-
routerPort: opts.routerPort,
|
|
23
|
-
skipPreflight: opts.skipPreflight,
|
|
24
|
-
});
|
|
22
|
+
await runDev(opts);
|
|
25
23
|
}
|
|
26
24
|
catch (err) {
|
|
27
25
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -29,4 +27,28 @@ function registerCommand(program) {
|
|
|
29
27
|
}
|
|
30
28
|
});
|
|
31
29
|
}
|
|
30
|
+
async function runDev(opts) {
|
|
31
|
+
const applied = (0, env_defaults_1.applyDevEnvDefaults)();
|
|
32
|
+
console.log('xema dev — native single-binary composition (lock-driven)');
|
|
33
|
+
console.log('-'.repeat(60));
|
|
34
|
+
console.log(` Env defaults : ${String(applied.length)} applied (user values preserved)`);
|
|
35
|
+
if (opts.skipPreflight !== true) {
|
|
36
|
+
const report = await (0, infra_preflight_1.runInfraPreflight)();
|
|
37
|
+
if (!report.allReachable) {
|
|
38
|
+
console.error((0, infra_preflight_1.formatPreflightFailure)(report));
|
|
39
|
+
(0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.MissingDependency);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
console.log(` Pre-flight : OK (${String(report.results.length)} infra dependencies reachable)`);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.log(' Pre-flight : SKIPPED (--skip-preflight)');
|
|
46
|
+
}
|
|
47
|
+
console.log('');
|
|
48
|
+
const config = (0, schema_1.parseXemaConfig)({
|
|
49
|
+
edition: opts.edition ?? 'oss',
|
|
50
|
+
app: { substrate: schema_1.Substrate.Native, include: 'all' },
|
|
51
|
+
});
|
|
52
|
+
await (0, foreground_1.bringUpForeground)({ config, includeWeb: Boolean(opts.web), detach: false });
|
|
53
|
+
}
|
|
32
54
|
//# sourceMappingURL=dev.js.map
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":";;AAyBA,0CAqBC;AA9CD,sDAA0D;AAC1D,4DAAmF;AACnF,kDAA8D;AAC9D,qDAAsE;AACtE,sDAA0D;AAqB1D,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,oDAAoD,CAAC;SAC7D,WAAW,CACV,sEAAsE;QACpE,0EAA0E;QAC1E,wEAAwE;QACxE,sDAAsD,CACzD;SACA,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;SAC/D,MAAM,CAAC,OAAO,EAAE,oCAAoC,CAAC;SACrD,MAAM,CAAC,kBAAkB,EAAE,iEAAiE,CAAC;SAC7F,MAAM,CAAC,KAAK,EAAE,IAAgB,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAA,qBAAQ,EAAC,4BAAe,CAAC,YAAY,EAAE,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAgB;IAGpC,MAAM,OAAO,GAAG,IAAA,kCAAmB,GAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAE1F,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAiB,GAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,IAAA,wCAAsB,EAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,IAAA,qBAAQ,EAAC,4BAAe,CAAC,iBAAiB,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;IACrG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAA,wBAAe,EAAC;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;QAC9B,GAAG,EAAE,EAAE,SAAS,EAAE,kBAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;KACrD,CAAC,CAAC;IACH,MAAM,IAAA,8BAAiB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -123,6 +123,6 @@ function printInfraReport(report) {
|
|
|
123
123
|
console.log('');
|
|
124
124
|
console.log('Note: `xema dev` wires 29/29 services into its candidate list — a mix');
|
|
125
125
|
console.log('of in-process and forked-worker boot. Individual boot failures are');
|
|
126
|
-
console.log('routed through skip-mode (see
|
|
126
|
+
console.log('routed through skip-mode (see native-runner.ts header for details).');
|
|
127
127
|
}
|
|
128
128
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"down.d.ts","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBtD"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCommand = registerCommand;
|
|
4
|
+
const exit_codes_1 = require("../lib/exit-codes");
|
|
5
|
+
const schema_1 = require("../runtime/config/schema");
|
|
6
|
+
const docker_cli_1 = require("../runtime/runner/docker-cli");
|
|
7
|
+
function registerCommand(program) {
|
|
8
|
+
program
|
|
9
|
+
.command('down')
|
|
10
|
+
.summary('Stop everything xema up started (container substrate)')
|
|
11
|
+
.description('Stop + remove all launcher-owned containers (services + managed infra). ' +
|
|
12
|
+
'Non-destructive by default; --purge also deletes the named data volumes ' +
|
|
13
|
+
'(Postgres, object store, search, workspace pools, …).')
|
|
14
|
+
.option('--purge', 'Also delete persistent data volumes (DESTRUCTIVE)')
|
|
15
|
+
.action(async (opts) => {
|
|
16
|
+
try {
|
|
17
|
+
await runDown(opts);
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
21
|
+
(0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.GenericError, `xema down failed: ${message}`);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async function runDown(opts) {
|
|
26
|
+
const docker = new docker_cli_1.DockerCli();
|
|
27
|
+
if (!(await docker.available())) {
|
|
28
|
+
console.log('No container runtime reachable — nothing to stop (native services stop with `xema up`).');
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const containers = await docker.launcherContainers();
|
|
32
|
+
if (containers.length === 0) {
|
|
33
|
+
console.log('No launcher-owned containers found.');
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
console.log(`Stopping ${String(containers.length)} container(s)...`);
|
|
37
|
+
for (const name of containers) {
|
|
38
|
+
await docker.runQuiet(['rm', '-f', name]);
|
|
39
|
+
console.log(` removed ${name}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (opts.purge) {
|
|
43
|
+
console.log('Purging data volumes...');
|
|
44
|
+
for (const component of Object.values(schema_1.InfraComponent)) {
|
|
45
|
+
const volume = `xema-${component}-data`;
|
|
46
|
+
await docker.runQuiet(['volume', 'rm', volume]);
|
|
47
|
+
console.log(` removed volume ${volume}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
console.log('Data volumes preserved (use --purge to delete them).');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=down.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"down.js","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":";;AAkBA,0CAkBC;AApCD,kDAA8D;AAC9D,qDAA0D;AAC1D,6DAAyD;AAgBzD,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,uDAAuD,CAAC;SAChE,WAAW,CACV,0EAA0E;QACxE,0EAA0E;QAC1E,uDAAuD,CAC1D;SACA,MAAM,CAAC,SAAS,EAAE,mDAAmD,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,IAAiB,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAA,qBAAQ,EAAC,4BAAe,CAAC,YAAY,EAAE,qBAAqB,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAiB;IACtC,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC;IAC/B,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;QACvG,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,uBAAc,CAAC,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,QAAQ,SAAS,OAAO,CAAC;YACxC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CActD"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCommand = registerCommand;
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
const exit_codes_1 = require("../lib/exit-codes");
|
|
6
|
+
const docker_cli_1 = require("../runtime/runner/docker-cli");
|
|
7
|
+
function registerCommand(program) {
|
|
8
|
+
program
|
|
9
|
+
.command('logs')
|
|
10
|
+
.argument('[service]', 'Service/container name to show logs for')
|
|
11
|
+
.summary('Show logs for a launcher-owned workload')
|
|
12
|
+
.option('-f, --follow', 'Follow log output')
|
|
13
|
+
.action(async (service, opts) => {
|
|
14
|
+
try {
|
|
15
|
+
await runLogs(service, opts);
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
19
|
+
(0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.GenericError, `xema logs failed: ${message}`);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async function runLogs(service, opts) {
|
|
24
|
+
const docker = new docker_cli_1.DockerCli();
|
|
25
|
+
if (!(await docker.available())) {
|
|
26
|
+
(0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.MissingDependency, 'No container runtime reachable.');
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const containers = await docker.launcherContainers();
|
|
30
|
+
if (!service) {
|
|
31
|
+
if (containers.length === 0) {
|
|
32
|
+
console.log('No launcher-owned workloads running.');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
console.log('Pick a service to show logs for:');
|
|
36
|
+
for (const name of containers) {
|
|
37
|
+
console.log(` ${name}`);
|
|
38
|
+
}
|
|
39
|
+
console.log('');
|
|
40
|
+
console.log('Usage: xema logs <service> [-f]');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!containers.includes(service)) {
|
|
44
|
+
(0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.NotFound, `No launcher-owned container named "${service}".`);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
await streamLogs(service, Boolean(opts.follow));
|
|
48
|
+
}
|
|
49
|
+
function streamLogs(service, follow) {
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
const args = ['logs'];
|
|
52
|
+
if (follow) {
|
|
53
|
+
args.push('-f');
|
|
54
|
+
}
|
|
55
|
+
args.push(service);
|
|
56
|
+
const child = (0, node_child_process_1.spawn)('docker', args, { stdio: 'inherit' });
|
|
57
|
+
child.on('error', reject);
|
|
58
|
+
child.on('exit', () => resolve());
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":";;AAgBA,0CAcC;AA9BD,2DAA2C;AAE3C,kDAA8D;AAC9D,6DAAyD;AAazD,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,WAAW,EAAE,yCAAyC,CAAC;SAChE,OAAO,CAAC,yCAAyC,CAAC;SAClD,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,IAAiB,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAA,qBAAQ,EAAC,4BAAe,CAAC,YAAY,EAAE,qBAAqB,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAA2B,EAAE,IAAiB;IACnE,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC;IAC/B,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;QAChC,IAAA,qBAAQ,EAAC,4BAAe,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,IAAA,qBAAQ,EAAC,4BAAe,CAAC,QAAQ,EAAE,sCAAsC,OAAO,IAAI,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IACD,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,MAAe;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmBtD"}
|
package/dist/commands/serve.js
CHANGED
|
@@ -2,17 +2,47 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerCommand = registerCommand;
|
|
4
4
|
const exit_codes_1 = require("../lib/exit-codes");
|
|
5
|
+
const loader_1 = require("../runtime/config/loader");
|
|
6
|
+
const schema_1 = require("../runtime/config/schema");
|
|
7
|
+
const foreground_1 = require("../runtime/foreground");
|
|
5
8
|
function registerCommand(program) {
|
|
6
9
|
program
|
|
7
10
|
.command('serve')
|
|
8
|
-
.summary('Boot Xema as separate processes (
|
|
9
|
-
.description('Multi-process self-host
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
.
|
|
13
|
-
.
|
|
14
|
-
(
|
|
15
|
-
|
|
11
|
+
.summary('Boot Xema as separate processes (self-host)')
|
|
12
|
+
.description('Multi-process self-host launcher. --profile selects the substrate: ' +
|
|
13
|
+
'single-instance (native host processes) or cluster (containers).')
|
|
14
|
+
.requiredOption('--profile <profile>', 'Deployment profile: single-instance | cluster | appliance')
|
|
15
|
+
.option('--config <path>', 'Path to xema.config.yaml')
|
|
16
|
+
.option('--web', 'Also start the host-shell frontend')
|
|
17
|
+
.action(async (opts) => {
|
|
18
|
+
try {
|
|
19
|
+
await runServe(opts);
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
23
|
+
(0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.GenericError, `xema serve failed: ${message}`);
|
|
24
|
+
}
|
|
16
25
|
});
|
|
17
26
|
}
|
|
27
|
+
async function runServe(opts) {
|
|
28
|
+
const substrate = profileToSubstrate(opts.profile);
|
|
29
|
+
const loaded = (0, loader_1.loadXemaConfig)({ explicit: opts.config });
|
|
30
|
+
const config = { ...loaded.config, app: { ...loaded.config.app, substrate } };
|
|
31
|
+
console.log(`xema serve — profile=${opts.profile} (substrate=${substrate})`);
|
|
32
|
+
console.log(` config: ${loaded.source}`);
|
|
33
|
+
console.log('');
|
|
34
|
+
await (0, foreground_1.bringUpForeground)({ config, includeWeb: Boolean(opts.web), detach: false });
|
|
35
|
+
}
|
|
36
|
+
function profileToSubstrate(profile) {
|
|
37
|
+
if (profile === 'single-instance') {
|
|
38
|
+
return schema_1.Substrate.Native;
|
|
39
|
+
}
|
|
40
|
+
if (profile === 'cluster') {
|
|
41
|
+
return schema_1.Substrate.Container;
|
|
42
|
+
}
|
|
43
|
+
if (profile === 'appliance') {
|
|
44
|
+
return schema_1.Substrate.Helm;
|
|
45
|
+
}
|
|
46
|
+
throw new Error(`Unknown --profile "${profile}". Valid values: single-instance | cluster | appliance.`);
|
|
47
|
+
}
|
|
18
48
|
//# sourceMappingURL=serve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":";;AAyBA,0CAmBC;AA5CD,kDAA8D;AAC9D,qDAA0D;AAC1D,qDAAqD;AACrD,sDAA0D;AAsB1D,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,OAAO,CAAC,6CAA6C,CAAC;SACtD,WAAW,CACV,qEAAqE;QACnE,kEAAkE,CACrE;SACA,cAAc,CAAC,qBAAqB,EAAE,2DAA2D,CAAC;SAClG,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,OAAO,EAAE,oCAAoC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAA,qBAAQ,EAAC,4BAAe,CAAC,YAAY,EAAE,sBAAsB,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAkB;IACxC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC;IAE9E,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,OAAO,eAAe,SAAS,GAAG,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,IAAA,8BAAiB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;QAClC,OAAO,kBAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,kBAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,kBAAS,CAAC,IAAI,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,KAAK,CACb,sBAAsB,OAAO,yDAAyD,CACvF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAatD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCommand = registerCommand;
|
|
4
|
+
const exit_codes_1 = require("../lib/exit-codes");
|
|
5
|
+
const docker_cli_1 = require("../runtime/runner/docker-cli");
|
|
6
|
+
function registerCommand(program) {
|
|
7
|
+
program
|
|
8
|
+
.command('status')
|
|
9
|
+
.summary('Show launcher-owned workloads and their health')
|
|
10
|
+
.description('List the containers xema up started (services + managed infra) with status.')
|
|
11
|
+
.action(async () => {
|
|
12
|
+
try {
|
|
13
|
+
await runStatus();
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
17
|
+
(0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.GenericError, `xema status failed: ${message}`);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
async function runStatus() {
|
|
22
|
+
const docker = new docker_cli_1.DockerCli();
|
|
23
|
+
if (!(await docker.available())) {
|
|
24
|
+
console.log('No container runtime reachable. (Native services report status only within `xema up`.)');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const out = await docker.runQuiet([
|
|
28
|
+
'ps',
|
|
29
|
+
'-a',
|
|
30
|
+
'--filter',
|
|
31
|
+
`label=${docker_cli_1.LAUNCHER_LABEL}`,
|
|
32
|
+
'--format',
|
|
33
|
+
'table {{.Names}}\t{{.Status}}\t{{.Ports}}\t{{.Label "' + docker_cli_1.LAUNCHER_LABEL + '"}}',
|
|
34
|
+
]);
|
|
35
|
+
if (out.trim().length === 0) {
|
|
36
|
+
console.log('No launcher-owned workloads running.');
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
console.log(out.trimEnd());
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";;AAWA,0CAaC;AAxBD,kDAA8D;AAC9D,6DAAyE;AAUzE,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,OAAO,CAAC,gDAAgD,CAAC;SACzD,WAAW,CAAC,6EAA6E,CAAC;SAC1F,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,SAAS,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAA,qBAAQ,EAAC,4BAAe,CAAC,YAAY,EAAE,uBAAuB,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC;IAC/B,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;QACtG,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI;QACJ,IAAI;QACJ,UAAU;QACV,SAAS,2BAAc,EAAE;QACzB,UAAU;QACV,uDAAuD,GAAG,2BAAc,GAAG,KAAK;KACjF,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsBtD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCommand = registerCommand;
|
|
4
|
+
const exit_codes_1 = require("../lib/exit-codes");
|
|
5
|
+
const loader_1 = require("../runtime/config/loader");
|
|
6
|
+
const foreground_1 = require("../runtime/foreground");
|
|
7
|
+
function registerCommand(program) {
|
|
8
|
+
program
|
|
9
|
+
.command('up')
|
|
10
|
+
.summary('Boot the Xema platform with one command')
|
|
11
|
+
.description('Resolve the distribution lock + xema.config.yaml into an effective roster, ' +
|
|
12
|
+
'bring up managed infra, and supervise the service waves over the configured ' +
|
|
13
|
+
'substrate (container | native). Foreground by default.')
|
|
14
|
+
.option('--config <path>', 'Path to xema.config.yaml')
|
|
15
|
+
.option('--edition <id>', 'Distribution edition override (e.g. oss, core)')
|
|
16
|
+
.option('--web', 'Also start the host-shell frontend')
|
|
17
|
+
.option('--all', 'Start everything including the frontend')
|
|
18
|
+
.option('--detach', 'Leave container workloads running and return (container substrate only)')
|
|
19
|
+
.action(async (opts) => {
|
|
20
|
+
try {
|
|
21
|
+
await runUp(opts);
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
25
|
+
(0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.GenericError, `xema up failed: ${message}`);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async function runUp(opts) {
|
|
30
|
+
const loaded = (0, loader_1.loadXemaConfig)({ explicit: opts.config });
|
|
31
|
+
const config = { ...loaded.config };
|
|
32
|
+
if (opts.edition) {
|
|
33
|
+
config.edition = opts.edition;
|
|
34
|
+
}
|
|
35
|
+
const includeWeb = Boolean(opts.web) || Boolean(opts.all);
|
|
36
|
+
console.log('xema up — one-command launcher');
|
|
37
|
+
console.log('-'.repeat(60));
|
|
38
|
+
console.log(` config : ${loaded.source}`);
|
|
39
|
+
console.log(` edition : ${config.edition}`);
|
|
40
|
+
console.log(` substrate: ${config.app.substrate}`);
|
|
41
|
+
console.log('');
|
|
42
|
+
await (0, foreground_1.bringUpForeground)({ config, includeWeb, detach: Boolean(opts.detach) });
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=up.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":";;AAqBA,0CAsBC;AA3CD,kDAA8D;AAC9D,qDAA0D;AAC1D,sDAA0D;AAmB1D,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,OAAO,CAAC,yCAAyC,CAAC;SAClD,WAAW,CACV,6EAA6E;QAC3E,8EAA8E;QAC9E,wDAAwD,CAC3D;SACA,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,gBAAgB,EAAE,gDAAgD,CAAC;SAC1E,MAAM,CAAC,OAAO,EAAE,oCAAoC,CAAC;SACrD,MAAM,CAAC,OAAO,EAAE,yCAAyC,CAAC;SAC1D,MAAM,CAAC,UAAU,EAAE,yEAAyE,CAAC;SAC7F,MAAM,CAAC,KAAK,EAAE,IAAe,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAA,qBAAQ,EAAC,4BAAe,CAAC,YAAY,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,IAAe;IAClC,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IACpC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,IAAA,8BAAiB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -122,7 +122,7 @@ function formatPreflightFailure(report) {
|
|
|
122
122
|
lines.push('Note: `xema dev` wires 29/29 services into its candidate list (mix');
|
|
123
123
|
lines.push('of in-process + forked-worker) — see Phase J in the plan-of-record.');
|
|
124
124
|
lines.push('Individual services that fail to boot are routed through skip-mode');
|
|
125
|
-
lines.push('(see `
|
|
125
|
+
lines.push('(see `native-runner.ts` header for the forked-worker root cause).');
|
|
126
126
|
return lines.join('\n');
|
|
127
127
|
}
|
|
128
128
|
function labelFor(kind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra-preflight.js","sourceRoot":"","sources":["../../src/dev/infra-preflight.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"infra-preflight.js","sourceRoot":"","sources":["../../src/dev/infra-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
2
|
export type RegisterCommand = (program: Command) => void;
|
|
3
|
-
export declare const XEMA_CLI_COMMAND_NAMES: readonly ["dev", "serve", "biome", "run", "shell", "objects", "doctor"];
|
|
3
|
+
export declare const XEMA_CLI_COMMAND_NAMES: readonly ["up", "down", "status", "logs", "dev", "serve", "biome", "run", "shell", "objects", "doctor"];
|
|
4
4
|
export type XemaCliCommandName = (typeof XEMA_CLI_COMMAND_NAMES)[number];
|
|
5
5
|
//# sourceMappingURL=command-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../../src/lib/command-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAYzD,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../../src/lib/command-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAYzD,eAAO,MAAM,sBAAsB,yGAYzB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../../src/lib/command-registry.ts"],"names":[],"mappings":";;;AAqBa,QAAA,sBAAsB,GAAG;IACpC,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,SAAS;IACT,QAAQ;CACA,CAAC"}
|
|
1
|
+
{"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../../src/lib/command-registry.ts"],"names":[],"mappings":";;;AAqBa,QAAA,sBAAsB,GAAG;IACpC,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,SAAS;IACT,QAAQ;CACA,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ArtifactResolution } from './paths';
|
|
2
|
+
export interface BootGraphServiceNode {
|
|
3
|
+
readonly tier: string;
|
|
4
|
+
readonly startupRequires: readonly string[];
|
|
5
|
+
}
|
|
6
|
+
export interface BootGraph {
|
|
7
|
+
readonly tiers: Readonly<Record<string, number>>;
|
|
8
|
+
readonly infraServices: ReadonlySet<string>;
|
|
9
|
+
readonly services: ReadonlyMap<string, BootGraphServiceNode>;
|
|
10
|
+
readonly resolution: ArtifactResolution;
|
|
11
|
+
}
|
|
12
|
+
export interface LoadBootGraphOptions {
|
|
13
|
+
readonly explicit?: string | undefined;
|
|
14
|
+
readonly envVar?: string | undefined;
|
|
15
|
+
}
|
|
16
|
+
export declare function loadBootGraph(opts?: LoadBootGraphOptions): BootGraph;
|
|
17
|
+
//# sourceMappingURL=boot-graph-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boot-graph-loader.d.ts","sourceRoot":"","sources":["../../src/runtime/boot-graph-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAUxE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,oBAAyB,GAAG,SAAS,CAmCxE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadBootGraph = loadBootGraph;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const paths_1 = require("./paths");
|
|
6
|
+
function loadBootGraph(opts = {}) {
|
|
7
|
+
const resolution = (0, paths_1.resolveBootGraphPath)({ explicit: opts.explicit, envVar: opts.envVar });
|
|
8
|
+
const raw = readJson(resolution.path);
|
|
9
|
+
if (typeof raw.tiers !== 'object' || raw.tiers === null) {
|
|
10
|
+
throw new Error(`Invalid boot-graph.json at ${resolution.path}: missing tiers object.`);
|
|
11
|
+
}
|
|
12
|
+
if (!Array.isArray(raw.infraServices)) {
|
|
13
|
+
throw new Error(`Invalid boot-graph.json at ${resolution.path}: missing infraServices[] array.`);
|
|
14
|
+
}
|
|
15
|
+
if (typeof raw.services !== 'object' || raw.services === null) {
|
|
16
|
+
throw new Error(`Invalid boot-graph.json at ${resolution.path}: missing services object.`);
|
|
17
|
+
}
|
|
18
|
+
const services = new Map();
|
|
19
|
+
for (const [name, node] of Object.entries(raw.services)) {
|
|
20
|
+
const n = node;
|
|
21
|
+
if (typeof n.tier !== 'string') {
|
|
22
|
+
throw new Error(`Invalid boot-graph.json: service "${name}" has no tier.`);
|
|
23
|
+
}
|
|
24
|
+
const requires = Array.isArray(n.startupRequires)
|
|
25
|
+
? (n.startupRequires.filter((r) => typeof r === 'string'))
|
|
26
|
+
: [];
|
|
27
|
+
services.set(name, { tier: n.tier, startupRequires: requires });
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
tiers: raw.tiers,
|
|
31
|
+
infraServices: new Set(raw.infraServices.filter((s) => typeof s === 'string')),
|
|
32
|
+
services,
|
|
33
|
+
resolution,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function readJson(path) {
|
|
37
|
+
const text = (0, node_fs_1.readFileSync)(path, 'utf8');
|
|
38
|
+
return JSON.parse(text);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=boot-graph-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boot-graph-loader.js","sourceRoot":"","sources":["../../src/runtime/boot-graph-loader.ts"],"names":[],"mappings":";;AA6BA,sCAmCC;AAhED,qCAAuC;AAEvC,mCAAwE;AA2BxE,SAAgB,aAAa,CAAC,OAA6B,EAAE;IAC3D,MAAM,UAAU,GAAG,IAAA,4BAAoB,EAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAInC,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,CAAC,IAAI,yBAAyB,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,CAAC,IAAI,kCAAkC,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,CAAC,IAAI,4BAA4B,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAmC,CAAC,EAAE,CAAC;QACnF,MAAM,CAAC,GAAG,IAAqD,CAAC;QAChE,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,gBAAgB,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YACvE,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAA+B;QAC1C,aAAa,EAAE,IAAI,GAAG,CAAE,GAAG,CAAC,aAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QAC1G,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type XemaConfig } from './schema';
|
|
2
|
+
export interface LoadConfigOptions {
|
|
3
|
+
readonly explicit?: string | undefined;
|
|
4
|
+
readonly cwd?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface LoadedConfig {
|
|
7
|
+
readonly config: XemaConfig;
|
|
8
|
+
readonly source: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function loadXemaConfig(opts?: LoadConfigOptions): LoadedConfig;
|
|
11
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/runtime/config/loader.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAS5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,IAAI,GAAE,iBAAsB,GAAG,YAAY,CAmBzE"}
|