@xemahq/xema 0.3.0 → 0.5.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 +50 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +21 -3
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/dist.d.ts +3 -0
- package/dist/commands/dist.d.ts.map +1 -0
- package/dist/commands/dist.js +142 -0
- package/dist/commands/dist.js.map +1 -0
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +39 -5
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +192 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +30 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/runtime/config/init-presets.d.ts +37 -0
- package/dist/runtime/config/init-presets.d.ts.map +1 -0
- package/dist/runtime/config/init-presets.js +145 -0
- package/dist/runtime/config/init-presets.js.map +1 -0
- package/dist/runtime/distribution/available-biome.d.ts +10 -0
- package/dist/runtime/distribution/available-biome.d.ts.map +1 -0
- package/dist/runtime/distribution/available-biome.js +51 -0
- package/dist/runtime/distribution/available-biome.js.map +1 -0
- package/dist/runtime/distribution/compose.d.ts +22 -0
- package/dist/runtime/distribution/compose.d.ts.map +1 -0
- package/dist/runtime/distribution/compose.js +50 -0
- package/dist/runtime/distribution/compose.js.map +1 -0
- package/dist/runtime/paths.d.ts +3 -1
- package/dist/runtime/paths.d.ts.map +1 -1
- package/dist/runtime/paths.js +37 -0
- package/dist/runtime/paths.js.map +1 -1
- package/dist/runtime/runner/helm-cli.d.ts +20 -0
- package/dist/runtime/runner/helm-cli.d.ts.map +1 -0
- package/dist/runtime/runner/helm-cli.js +58 -0
- package/dist/runtime/runner/helm-cli.js.map +1 -0
- package/dist/runtime/runner/helm-runner.d.ts +1 -2
- package/dist/runtime/runner/helm-runner.d.ts.map +1 -1
- package/dist/runtime/runner/helm-runner.js +11 -24
- package/dist/runtime/runner/helm-runner.js.map +1 -1
- package/dist/runtime/sources/kinds/git.d.ts +4 -0
- package/dist/runtime/sources/kinds/git.d.ts.map +1 -1
- package/dist/runtime/sources/kinds/git.js +12 -7
- package/dist/runtime/sources/kinds/git.js.map +1 -1
- package/examples/01-local-monolith.yaml +1 -1
- package/examples/02-local-container-full.yaml +1 -1
- package/examples/03-byo-infra.yaml +1 -1
- package/examples/05-appliance-helm.yaml +1 -1
- package/examples/06-biome-sources.yaml +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm-cli.js","sourceRoot":"","sources":["../../../src/runtime/runner/helm-cli.ts"],"names":[],"mappings":";;;AAAA,2DAA8C;AAajC,QAAA,sBAAsB,GAAG,MAAM,CAAC;AAChC,QAAA,uBAAuB,GAAG,kCAAkC,CAAC;AAQ1E,MAAa,OAAO;IACD,GAAG,CAAS;IAEpB,SAAS,CAAS;IACV,UAAU,CAAqB;IAEhD,YAAY,OAAuB,EAAE;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,8BAAsB,CAAC;QACxF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,IAAuB;QAC1B,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,6BAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC1F,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACpF,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,SAAS,CAAC,IAAuB;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,CAAC;IAGD,KAAK,CAAC,YAAY;QAChB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,GAAG;aACP,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAGD,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;IAGD,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AA7DD,0BA6DC"}
|
|
@@ -9,11 +9,10 @@ export interface HelmRunnerOptions {
|
|
|
9
9
|
export declare class HelmRunner implements ServiceRunner {
|
|
10
10
|
private readonly opts;
|
|
11
11
|
readonly kind = ServiceRunnerKind.Helm;
|
|
12
|
-
private readonly
|
|
12
|
+
private readonly helm;
|
|
13
13
|
private readonly namespace;
|
|
14
14
|
private readonly chartRepo;
|
|
15
15
|
constructor(opts?: HelmRunnerOptions);
|
|
16
16
|
start(input: StartServiceInput): Promise<RunningService>;
|
|
17
|
-
private helm;
|
|
18
17
|
}
|
|
19
18
|
//# sourceMappingURL=helm-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime/runner/helm-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helm-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime/runner/helm-runner.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAgB1B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,qBAAa,UAAW,YAAW,aAAa;IAMlC,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,QAAQ,CAAC,IAAI,0BAA0B;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEN,IAAI,GAAE,iBAAsB;IAUnD,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;CAkC/D"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HelmRunner = void 0;
|
|
4
|
-
const
|
|
4
|
+
const helm_cli_1 = require("./helm-cli");
|
|
5
5
|
const service_runner_1 = require("./service-runner");
|
|
6
|
-
const DEFAULT_CHART_REPO = 'oci://registry.local/xema/charts';
|
|
7
|
-
const DEFAULT_NAMESPACE = 'xema';
|
|
8
6
|
const DEFAULT_WAIT_TIMEOUT = '5m';
|
|
9
7
|
class HelmRunner {
|
|
10
8
|
opts;
|
|
11
9
|
kind = service_runner_1.ServiceRunnerKind.Helm;
|
|
12
|
-
|
|
10
|
+
helm;
|
|
13
11
|
namespace;
|
|
14
12
|
chartRepo;
|
|
15
13
|
constructor(opts = {}) {
|
|
16
14
|
this.opts = opts;
|
|
17
|
-
this.
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
this.helm = new helm_cli_1.HelmCli({
|
|
16
|
+
bin: opts.bin,
|
|
17
|
+
namespace: opts.namespace,
|
|
18
|
+
kubeconfig: opts.kubeconfig,
|
|
19
|
+
});
|
|
20
|
+
this.namespace = this.helm.namespace;
|
|
21
|
+
this.chartRepo = opts.chartRepo ?? process.env.XEMA_CHART_REPO ?? helm_cli_1.DEFAULT_HELM_CHART_REPO;
|
|
20
22
|
}
|
|
21
23
|
async start(input) {
|
|
22
24
|
const { entry } = input;
|
|
@@ -39,32 +41,17 @@ class HelmRunner {
|
|
|
39
41
|
if (entry.imageRef) {
|
|
40
42
|
args.push('--set', `image.repository=${entry.imageRef}`);
|
|
41
43
|
}
|
|
42
|
-
await this.helm(args);
|
|
44
|
+
await this.helm.exec(args);
|
|
43
45
|
const url = `http://${entry.name}.${this.namespace}.svc.cluster.local`;
|
|
44
46
|
return {
|
|
45
47
|
name: entry.name,
|
|
46
48
|
url,
|
|
47
49
|
handle: `helm:${release}`,
|
|
48
50
|
close: async () => {
|
|
49
|
-
await this.helm(
|
|
51
|
+
await this.helm.uninstall(release).catch(() => undefined);
|
|
50
52
|
},
|
|
51
53
|
};
|
|
52
54
|
}
|
|
53
|
-
helm(args) {
|
|
54
|
-
const env = { ...process.env };
|
|
55
|
-
if (this.opts.kubeconfig) {
|
|
56
|
-
env.KUBECONFIG = this.opts.kubeconfig;
|
|
57
|
-
}
|
|
58
|
-
return new Promise((resolve, reject) => {
|
|
59
|
-
(0, node_child_process_1.execFile)(this.bin, [...args], { env, maxBuffer: 32 * 1024 * 1024 }, (err, stdout, stderr) => {
|
|
60
|
-
if (err) {
|
|
61
|
-
reject(new Error(`${this.bin} ${args.join(' ')} failed: ${stderr || err.message}`));
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
resolve(stdout);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
55
|
}
|
|
69
56
|
exports.HelmRunner = HelmRunner;
|
|
70
57
|
//# sourceMappingURL=helm-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm-runner.js","sourceRoot":"","sources":["../../../src/runtime/runner/helm-runner.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"helm-runner.js","sourceRoot":"","sources":["../../../src/runtime/runner/helm-runner.ts"],"names":[],"mappings":";;;AAAA,yCAA8D;AAC9D,qDAK0B;AAyB1B,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,MAAa,UAAU;IAMQ;IALpB,IAAI,GAAG,kCAAiB,CAAC,IAAI,CAAC;IACtB,IAAI,CAAU;IACd,SAAS,CAAS;IAClB,SAAS,CAAS;IAEnC,YAA6B,OAA0B,EAAE;QAA5B,SAAI,GAAJ,IAAI,CAAwB;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAO,CAAC;YACtB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,kCAAuB,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAwB;QAClC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,MAAM,IAAI,GAAG;YACX,SAAS;YACT,WAAW;YACX,OAAO;YACP,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE;YACjC,aAAa;YACb,IAAI,CAAC,SAAS;YACd,oBAAoB;YACpB,QAAQ;YACR,WAAW;YACX,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,oBAAoB;SAC9C,CAAC;QACF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,GAAG,GAAG,UAAU,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,oBAAoB,CAAC;QACvE,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG;YACH,MAAM,EAAE,QAAQ,OAAO,EAAE;YACzB,KAAK,EAAE,KAAK,IAAmB,EAAE;gBAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5D,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAlDD,gCAkDC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { type LockIndex } from '../../roster';
|
|
2
|
+
import type { CredentialResolver } from '../credentials';
|
|
2
3
|
import type { GitSource } from '../schema';
|
|
3
4
|
import type { SourceResolveContext } from '../types';
|
|
5
|
+
type LogFn = (line: string) => void;
|
|
4
6
|
export declare function resolveGitSource(spec: GitSource, ctx: SourceResolveContext): LockIndex | null;
|
|
7
|
+
export declare function checkoutGitSource(spec: GitSource, credentials: CredentialResolver, log?: LogFn): string;
|
|
8
|
+
export {};
|
|
5
9
|
//# sourceMappingURL=git.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sources/kinds/git.ts"],"names":[],"mappings":"AAKA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sources/kinds/git.ts"],"names":[],"mappings":"AAKA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGrD,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAmBpC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAgB7F;AAOD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,kBAAkB,EAC/B,GAAG,CAAC,EAAE,KAAK,GACV,MAAM,CAMR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveGitSource = resolveGitSource;
|
|
4
|
+
exports.checkoutGitSource = checkoutGitSource;
|
|
4
5
|
const node_child_process_1 = require("node:child_process");
|
|
5
6
|
const node_fs_1 = require("node:fs");
|
|
6
7
|
const node_os_1 = require("node:os");
|
|
@@ -16,20 +17,24 @@ function resolveGitSource(spec, ctx) {
|
|
|
16
17
|
`(a clone is source, not an image; use native substrate for git biomes).`);
|
|
17
18
|
return null;
|
|
18
19
|
}
|
|
19
|
-
const
|
|
20
|
-
const ref = spec.ref ?? 'HEAD';
|
|
21
|
-
const dir = (0, node_path_1.join)(GIT_CACHE_DIR, spec.name);
|
|
22
|
-
ensureClone(spec, dir, ref, token, ctx);
|
|
20
|
+
const dir = checkoutGitSource(spec, ctx.credentials, ctx.log);
|
|
23
21
|
const { biomes } = (0, manifest_walk_1.walkBiomeManifests)(dir);
|
|
24
22
|
const serverBiomes = biomes.filter((b) => b.target === 'server' && b.services.length > 0);
|
|
25
|
-
ctx.log?.(`source "${spec.name}" (git): ${String(serverBiomes.length)} biome(s) from ${spec.url}@${ref}`);
|
|
23
|
+
ctx.log?.(`source "${spec.name}" (git): ${String(serverBiomes.length)} biome(s) from ${spec.url}@${spec.ref ?? 'HEAD'}`);
|
|
26
24
|
return (0, roster_1.indexFromDiscoveredBiomes)(serverBiomes, { sourceName: spec.name, sourceRoot: dir });
|
|
27
25
|
}
|
|
28
|
-
function
|
|
26
|
+
function checkoutGitSource(spec, credentials, log) {
|
|
27
|
+
const token = credentials.resolve(spec.authTokenEnv, spec.name);
|
|
28
|
+
const ref = spec.ref ?? 'HEAD';
|
|
29
|
+
const dir = (0, node_path_1.join)(GIT_CACHE_DIR, spec.name);
|
|
30
|
+
ensureClone(spec, dir, ref, token, log);
|
|
31
|
+
return dir;
|
|
32
|
+
}
|
|
33
|
+
function ensureClone(spec, dir, ref, token, log) {
|
|
29
34
|
if ((0, node_fs_1.existsSync)((0, node_path_1.join)(dir, REF_MARKER))) {
|
|
30
35
|
const cached = (0, node_fs_1.readFileSync)((0, node_path_1.join)(dir, REF_MARKER), 'utf8').trim();
|
|
31
36
|
if (cached === ref) {
|
|
32
|
-
|
|
37
|
+
log?.(`source "${spec.name}" (git): reusing cached clone (${ref}).`);
|
|
33
38
|
return;
|
|
34
39
|
}
|
|
35
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/runtime/sources/kinds/git.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/runtime/sources/kinds/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ edition: oss
|
|
|
8
8
|
app:
|
|
9
9
|
substrate: native # monolith is native-only
|
|
10
10
|
processModel: monolith # 1 process, SQLite, no etcd
|
|
11
|
-
include:
|
|
11
|
+
include: all
|
|
12
12
|
infra:
|
|
13
13
|
# Native substrate assumes you already run infra (e.g. docker compose up).
|
|
14
14
|
# If you want the launcher to manage infra too, use the container substrate
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/xema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Xema OS global CLI (plan v4.3 §6 Phase J). Single binary day-0 onboarding: `npm i -g @xemahq/xema && xema dev` boots the whole stack; `xema biome scaffold` / `install` / `publish` / `lint` author and ship biomes; `xema run <capability>` invokes through the local capability-router. Multi-platform: works without pnpm or any monorepo clone.",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"@nestjs/common": "11.1.13",
|
|
22
22
|
"@nestjs/core": "11.1.13",
|
|
23
23
|
"@nestjs/platform-express": "11.1.13",
|
|
24
|
+
"@xemahq/distribution-resolver": "^0.1.1",
|
|
24
25
|
"@xemahq/kernel-contracts": "^0.22.0",
|
|
25
26
|
"@xemahq/kernel-state-runtime": "^0.1.5",
|
|
26
27
|
"@xemahq/service-registry-nest": "^0.1.9",
|