@xemahq/xema 0.4.0 → 0.5.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/README.md +30 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.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/init.d.ts.map +1 -1
- package/dist/commands/init.js +46 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/runtime/config/init-presets.d.ts +3 -0
- package/dist/runtime/config/init-presets.d.ts.map +1 -1
- package/dist/runtime/config/init-presets.js +11 -1
- package/dist/runtime/config/init-presets.js.map +1 -1
- 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 +2 -1
- package/dist/runtime/paths.d.ts.map +1 -1
- package/dist/runtime/paths.js +10 -0
- package/dist/runtime/paths.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/package.json +2 -1
package/README.md
CHANGED
|
@@ -193,6 +193,36 @@ What a biome *does* (services, skills, capabilities, agents) is wholly open —
|
|
|
193
193
|
only the bundle *shape* is standardized, so every author builds the same way and
|
|
194
194
|
any source resolves the same way.
|
|
195
195
|
|
|
196
|
+
## Compose a distribution — `xema dist build`
|
|
197
|
+
|
|
198
|
+
Build **your own platform**: take a base edition's first-party biomes and add
|
|
199
|
+
the ones you bring (your git repos / workspace dirs). The composition is
|
|
200
|
+
validated by the real distribution resolver (dependency closure + trust +
|
|
201
|
+
operator rules), then written as a distribution + a launch config:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
xema dist build --id acme-platform --base oss \
|
|
205
|
+
--git acme=https://github.com/acme/xema-biomes.git \
|
|
206
|
+
--source local=./my-biomes \
|
|
207
|
+
--config-out acme.config.yaml
|
|
208
|
+
# or read sources from an existing config: --config xema.config.yaml
|
|
209
|
+
# --no-allow-third-party rejects non-first-party biomes (default: allowed)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
It writes `~/.xema/distributions/<id>/{xema-distribution.json,distribution.lock.json}`
|
|
213
|
+
(the composed recipe + resolved record) and, with `--config-out`, a
|
|
214
|
+
`xema.config.yaml` (base edition + your sources). Then:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
xema dev --config acme.config.yaml # native — your biomes run from source
|
|
218
|
+
xema up --edition acme-platform # first-party biomes by edition (your composition)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Your composed distribution also shows up as an edition in `xema init` and
|
|
222
|
+
`xema up --edition <id>`. User biomes are `third-party` by origin and launch via
|
|
223
|
+
the source registry (which resolves their source roots); building container
|
|
224
|
+
images for your own biomes is a separate step.
|
|
225
|
+
|
|
196
226
|
## Author biomes & run capabilities
|
|
197
227
|
|
|
198
228
|
```bash
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsCpC,wBAAgB,YAAY,IAAI,OAAO,CA4BtC;AAED,wBAAsB,IAAI,CAAC,IAAI,GAAE,aAAa,CAAC,MAAM,CAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpF"}
|
package/dist/cli.js
CHANGED
|
@@ -9,6 +9,7 @@ const commander_1 = require("commander");
|
|
|
9
9
|
const apply_1 = require("./commands/apply");
|
|
10
10
|
const biome_1 = require("./commands/biome");
|
|
11
11
|
const dev_1 = require("./commands/dev");
|
|
12
|
+
const dist_1 = require("./commands/dist");
|
|
12
13
|
const doctor_1 = require("./commands/doctor");
|
|
13
14
|
const down_1 = require("./commands/down");
|
|
14
15
|
const export_1 = require("./commands/export");
|
|
@@ -45,6 +46,7 @@ function buildProgram() {
|
|
|
45
46
|
(0, status_1.registerCommand)(program);
|
|
46
47
|
(0, logs_1.registerCommand)(program);
|
|
47
48
|
(0, dev_1.registerCommand)(program);
|
|
49
|
+
(0, dist_1.registerCommand)(program);
|
|
48
50
|
(0, serve_1.registerCommand)(program);
|
|
49
51
|
(0, biome_1.registerCommand)(program);
|
|
50
52
|
(0, plan_1.registerCommand)(program);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist.d.ts","sourceRoot":"","sources":["../../src/commands/dist.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6BtD"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCommand = registerCommand;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_os_1 = require("node:os");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const yaml_1 = require("yaml");
|
|
8
|
+
const exit_codes_1 = require("../lib/exit-codes");
|
|
9
|
+
const loader_1 = require("../runtime/config/loader");
|
|
10
|
+
const compose_1 = require("../runtime/distribution/compose");
|
|
11
|
+
const paths_1 = require("../runtime/paths");
|
|
12
|
+
const credentials_1 = require("../runtime/sources/credentials");
|
|
13
|
+
const git_1 = require("../runtime/sources/kinds/git");
|
|
14
|
+
const schema_1 = require("../runtime/sources/schema");
|
|
15
|
+
const DEFAULT_BASE = 'oss';
|
|
16
|
+
const DEFAULT_OUT_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), '.xema', 'distributions');
|
|
17
|
+
function collect(value, previous) {
|
|
18
|
+
return [...previous, value];
|
|
19
|
+
}
|
|
20
|
+
function registerCommand(program) {
|
|
21
|
+
const dist = program.command('dist').summary('Compose a distribution (build your own platform)');
|
|
22
|
+
dist
|
|
23
|
+
.command('build')
|
|
24
|
+
.summary('Compose a distribution from a base edition + your own biomes')
|
|
25
|
+
.description('Seed a base edition (--base) with its first-party biomes, add your own ' +
|
|
26
|
+
'biomes from git/workspace sources (--git / --source, or a --config ' +
|
|
27
|
+
'sources: block), resolve + validate the whole set with the distribution ' +
|
|
28
|
+
'resolver, and write the distribution (xema-distribution.json + ' +
|
|
29
|
+
'distribution.lock.json) plus a launch xema.config.yaml.')
|
|
30
|
+
.requiredOption('--id <name>', 'Id for the composed distribution (kebab-case)')
|
|
31
|
+
.option('--base <edition>', `Base edition to extend (default: ${DEFAULT_BASE})`)
|
|
32
|
+
.option('--git <name=url>', 'Add a git biome source (repeatable)', collect, [])
|
|
33
|
+
.option('--source <name=path>', 'Add a local biome dir / workspace (repeatable)', collect, [])
|
|
34
|
+
.option('--config <path>', 'Read additional biome sources from a xema.config.yaml')
|
|
35
|
+
.option('--no-allow-third-party', 'Reject third-party (user) biomes (first-party only)')
|
|
36
|
+
.option('--out-dir <dir>', `Where to write the distribution (default: ${DEFAULT_OUT_DIR})`)
|
|
37
|
+
.option('--config-out <path>', 'Also write a launch xema.config.yaml referencing it')
|
|
38
|
+
.action((opts) => {
|
|
39
|
+
try {
|
|
40
|
+
runDistBuild(opts);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
44
|
+
(0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.GenericError, `xema dist build failed: ${message}`);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function runDistBuild(opts) {
|
|
49
|
+
const id = opts.id;
|
|
50
|
+
if (id === undefined || !/^[a-z][a-z0-9-]*$/.test(id)) {
|
|
51
|
+
return (0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.ConfigurationError, `--id must be lowercase kebab-case (got "${String(id)}").`);
|
|
52
|
+
}
|
|
53
|
+
const base = opts.base ?? DEFAULT_BASE;
|
|
54
|
+
const log = (line) => console.log(` ${line}`);
|
|
55
|
+
const specs = [
|
|
56
|
+
...(opts.git ?? []).map((s) => gitSpecFrom(s)),
|
|
57
|
+
...(opts.source ?? []).map((s) => workspaceSpecFrom(s)),
|
|
58
|
+
...sourcesFromConfig(opts.config),
|
|
59
|
+
];
|
|
60
|
+
const credentials = new credentials_1.CredentialResolver();
|
|
61
|
+
const userSources = specs.map((spec) => resolveSourceRoot(spec, credentials, log));
|
|
62
|
+
const allowThirdParty = opts.allowThirdParty !== false;
|
|
63
|
+
console.log(`xema dist build — composing "${id}" from base "${base}"`);
|
|
64
|
+
console.log('-'.repeat(60));
|
|
65
|
+
const result = (0, compose_1.composeDistribution)({
|
|
66
|
+
id,
|
|
67
|
+
baseEdition: base,
|
|
68
|
+
userSources,
|
|
69
|
+
allowThirdParty,
|
|
70
|
+
resolvedAt: new Date().toISOString(),
|
|
71
|
+
});
|
|
72
|
+
const outDir = (0, node_path_1.resolve)(process.cwd(), opts.outDir ?? DEFAULT_OUT_DIR, id);
|
|
73
|
+
(0, node_fs_1.mkdirSync)(outDir, { recursive: true });
|
|
74
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(outDir, 'xema-distribution.json'), `${JSON.stringify(result.definition, null, 2)}\n`, 'utf8');
|
|
75
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(outDir, 'distribution.lock.json'), `${JSON.stringify(result.lock, null, 2)}\n`, 'utf8');
|
|
76
|
+
if (opts.configOut !== undefined) {
|
|
77
|
+
const configPath = (0, node_path_1.resolve)(process.cwd(), opts.configOut);
|
|
78
|
+
(0, node_fs_1.writeFileSync)(configPath, renderLaunchConfig(base, specs), 'utf8');
|
|
79
|
+
}
|
|
80
|
+
console.log('');
|
|
81
|
+
console.log(`✓ Composed "${id}": ${String(result.lock.biomes.length)} biome(s) ` +
|
|
82
|
+
`(${String(result.baseBiomeCount)} base + ${String(result.userBiomeCount)} user` +
|
|
83
|
+
`${result.overridden.length > 0 ? `, ${String(result.overridden.length)} overridden` : ''}).`);
|
|
84
|
+
console.log(` distribution → ${outDir}/`);
|
|
85
|
+
if (opts.configOut !== undefined) {
|
|
86
|
+
console.log(` launch config → ${(0, node_path_1.resolve)(process.cwd(), opts.configOut)}`);
|
|
87
|
+
console.log('');
|
|
88
|
+
console.log(`Next: xema dev --config ${opts.configOut} (native — user biomes run from source)`);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
console.log('');
|
|
92
|
+
console.log(`Next: xema up --edition ${id} (add a launch config with --config-out for your git biomes)`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function resolveSourceRoot(spec, credentials, log) {
|
|
96
|
+
if (spec.kind === schema_1.SourceKind.Workspace) {
|
|
97
|
+
const root = spec.root !== undefined ? (0, node_path_1.resolve)(process.cwd(), spec.root) : (0, paths_1.findMonorepoRoot)();
|
|
98
|
+
if (root === null) {
|
|
99
|
+
return (0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.ConfigurationError, `source "${spec.name}": no root (not in a monorepo and no path given).`);
|
|
100
|
+
}
|
|
101
|
+
return { name: spec.name, root };
|
|
102
|
+
}
|
|
103
|
+
if (spec.kind === schema_1.SourceKind.Git) {
|
|
104
|
+
log(`cloning ${spec.url}${spec.ref !== undefined ? `@${spec.ref}` : ''} …`);
|
|
105
|
+
return { name: spec.name, root: (0, git_1.checkoutGitSource)(spec, credentials, log) };
|
|
106
|
+
}
|
|
107
|
+
return (0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.ConfigurationError, `source "${spec.name}" (${spec.kind}) can't seed a composition — use workspace or git ` +
|
|
108
|
+
`(npm/oci are install-time).`);
|
|
109
|
+
}
|
|
110
|
+
function gitSpecFrom(raw) {
|
|
111
|
+
const { name, value } = splitNameValue(raw, '--git');
|
|
112
|
+
return { name, kind: schema_1.SourceKind.Git, url: value };
|
|
113
|
+
}
|
|
114
|
+
function workspaceSpecFrom(raw) {
|
|
115
|
+
const { name, value } = splitNameValue(raw, '--source');
|
|
116
|
+
return { name, kind: schema_1.SourceKind.Workspace, root: value };
|
|
117
|
+
}
|
|
118
|
+
function splitNameValue(raw, flag) {
|
|
119
|
+
const eq = raw.indexOf('=');
|
|
120
|
+
if (eq <= 0) {
|
|
121
|
+
return (0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.ConfigurationError, `${flag} expects <name>=<value>, got "${raw}".`);
|
|
122
|
+
}
|
|
123
|
+
return { name: raw.slice(0, eq).trim(), value: raw.slice(eq + 1).trim() };
|
|
124
|
+
}
|
|
125
|
+
function sourcesFromConfig(configPath) {
|
|
126
|
+
if (configPath === undefined) {
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
const loaded = (0, loader_1.loadXemaConfig)({ explicit: configPath });
|
|
130
|
+
return loaded.config.sources.filter((s) => s.kind === schema_1.SourceKind.Workspace || s.kind === schema_1.SourceKind.Git);
|
|
131
|
+
}
|
|
132
|
+
function renderLaunchConfig(baseEdition, sources) {
|
|
133
|
+
const config = {
|
|
134
|
+
edition: baseEdition,
|
|
135
|
+
app: { substrate: 'native' },
|
|
136
|
+
sources,
|
|
137
|
+
};
|
|
138
|
+
const header = '# xema.config.yaml — generated by `xema dist build`\n' +
|
|
139
|
+
`# Base edition "${baseEdition}" + your biome sources (launched natively from source).\n\n`;
|
|
140
|
+
return header + (0, yaml_1.stringify)(config, { aliasDuplicateObjects: false });
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=dist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist.js","sourceRoot":"","sources":["../../src/commands/dist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuBtD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -8,6 +8,7 @@ const yaml_1 = require("yaml");
|
|
|
8
8
|
const exit_codes_1 = require("../lib/exit-codes");
|
|
9
9
|
const init_presets_1 = require("../runtime/config/init-presets");
|
|
10
10
|
const paths_1 = require("../runtime/paths");
|
|
11
|
+
const schema_1 = require("../runtime/sources/schema");
|
|
11
12
|
const DEFAULT_OUTPUT = 'xema.config.yaml';
|
|
12
13
|
const DEFAULT_PRESET = init_presets_1.InitPreset.LocalContainer;
|
|
13
14
|
function registerCommand(program) {
|
|
@@ -54,6 +55,13 @@ async function runInit(opts) {
|
|
|
54
55
|
else {
|
|
55
56
|
console.log(` • ${meta.nextStep}`);
|
|
56
57
|
}
|
|
58
|
+
const sources = resolved.inputs.sources ?? [];
|
|
59
|
+
if (sources.length > 0) {
|
|
60
|
+
console.log('');
|
|
61
|
+
console.log(`Added ${String(sources.length)} biome source(s). They run on the NATIVE substrate ` +
|
|
62
|
+
'(a git clone is source, not an image) — use `xema dev`. Check them with ' +
|
|
63
|
+
'`xema doctor --sources`. For a validated custom distribution: `xema dist build`.');
|
|
64
|
+
}
|
|
57
65
|
console.log('');
|
|
58
66
|
console.log('Tune it later: infra modes (managed | external <url> | disabled), app.substrate,');
|
|
59
67
|
console.log('app.include, and a `sources:` block for extra biome registries (see `xema doctor --sources`).');
|
|
@@ -112,12 +120,45 @@ async function runWizard(opts) {
|
|
|
112
120
|
if (meta.supportsWeb) {
|
|
113
121
|
web = await promptYesNo(rl, 'Start the web host shell?', false);
|
|
114
122
|
}
|
|
115
|
-
|
|
123
|
+
const sources = await promptUserBiomes(rl);
|
|
124
|
+
return {
|
|
125
|
+
preset,
|
|
126
|
+
inputs: { edition, web, ...urls, ...(sources.length > 0 ? { sources } : {}) },
|
|
127
|
+
};
|
|
116
128
|
}
|
|
117
129
|
finally {
|
|
118
130
|
rl.close();
|
|
119
131
|
}
|
|
120
132
|
}
|
|
133
|
+
async function promptUserBiomes(rl) {
|
|
134
|
+
console.log('');
|
|
135
|
+
console.log('Biomes come from the chosen edition. You can also add your OWN biomes');
|
|
136
|
+
console.log('(git repos) — or compose a full custom distribution with `xema dist build`.');
|
|
137
|
+
if (!(await promptYesNo(rl, 'Add your own biome git repo(s) now?', false))) {
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
const sources = [];
|
|
141
|
+
for (;;) {
|
|
142
|
+
const url = (await rl.question(' Git URL (https://…, Enter to stop): ')).trim();
|
|
143
|
+
if (url.length === 0) {
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
const name = await promptText(rl, ' Source name (kebab)', `biomes-${String(sources.length + 1)}`);
|
|
147
|
+
const ref = (await rl.question(' Ref / tag / branch (Enter for default): ')).trim();
|
|
148
|
+
const tokenEnv = (await rl.question(' Token env-var NAME (Enter if public): ')).trim();
|
|
149
|
+
sources.push({
|
|
150
|
+
name,
|
|
151
|
+
kind: schema_1.SourceKind.Git,
|
|
152
|
+
url,
|
|
153
|
+
...(ref.length > 0 ? { ref } : {}),
|
|
154
|
+
...(tokenEnv.length > 0 ? { authTokenEnv: tokenEnv } : {}),
|
|
155
|
+
});
|
|
156
|
+
if (!(await promptYesNo(rl, ' Add another?', false))) {
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return sources;
|
|
161
|
+
}
|
|
121
162
|
async function promptExternalInfra(rl, preset) {
|
|
122
163
|
const out = {};
|
|
123
164
|
out.postgresUrl = await promptText(rl, ' Postgres URL', init_presets_1.DEFAULT_LOCAL_URLS.postgres);
|
|
@@ -158,7 +199,10 @@ async function promptEdition(rl, def) {
|
|
|
158
199
|
return promptText(rl, 'Distribution edition', def);
|
|
159
200
|
}
|
|
160
201
|
const ordered = available.includes(def) ? [def, ...available.filter((e) => e !== def)] : [def, ...available];
|
|
161
|
-
const idx = await promptChoice(rl, 'Distribution edition (
|
|
202
|
+
const idx = await promptChoice(rl, 'Distribution edition (which biomes make up the platform)', ordered.map((e) => {
|
|
203
|
+
const hint = init_presets_1.EDITION_DESCRIPTIONS[e];
|
|
204
|
+
return hint !== undefined ? { label: e, hint } : { label: e };
|
|
205
|
+
}));
|
|
162
206
|
return ordered[idx] ?? def;
|
|
163
207
|
}
|
|
164
208
|
async function promptText(rl, question, def) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Substrate } from './schema';
|
|
2
|
+
import type { SourceSpec } from '../sources/schema';
|
|
3
|
+
export declare const EDITION_DESCRIPTIONS: Readonly<Record<string, string>>;
|
|
2
4
|
export declare enum InitPreset {
|
|
3
5
|
LocalMonolith = "local-monolith",
|
|
4
6
|
LocalContainer = "local-container",
|
|
@@ -21,6 +23,7 @@ export interface PresetInputs {
|
|
|
21
23
|
readonly keycloakUrl?: string;
|
|
22
24
|
readonly keycloakRealm?: string;
|
|
23
25
|
readonly objectStoreUrl?: string;
|
|
26
|
+
readonly sources?: readonly SourceSpec[];
|
|
24
27
|
}
|
|
25
28
|
export interface PresetMeta {
|
|
26
29
|
readonly preset: InitPreset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-presets.d.ts","sourceRoot":"","sources":["../../../src/runtime/config/init-presets.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,SAAS,EAAmB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"init-presets.d.ts","sourceRoot":"","sources":["../../../src/runtime/config/init-presets.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,SAAS,EAAmB,MAAM,UAAU,CAAC;AAE/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOpD,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMjE,CAAC;AAWF,oBAAY,UAAU;IAEpB,aAAa,mBAAmB;IAEhC,cAAc,oBAAoB;IAElC,QAAQ,cAAc;IAEtB,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAK7C,CAAC;AAGF,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAGX,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAErC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CA2CjE,CAAC;AAGF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEhE;AAUD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASnG"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PRESET_METAS = exports.DEFAULT_LOCAL_URLS = exports.INIT_PRESETS = exports.InitPreset = void 0;
|
|
3
|
+
exports.PRESET_METAS = exports.DEFAULT_LOCAL_URLS = exports.INIT_PRESETS = exports.InitPreset = exports.EDITION_DESCRIPTIONS = void 0;
|
|
4
4
|
exports.parseInitPreset = parseInitPreset;
|
|
5
5
|
exports.buildPresetConfig = buildPresetConfig;
|
|
6
6
|
const schema_1 = require("./schema");
|
|
7
|
+
exports.EDITION_DESCRIPTIONS = {
|
|
8
|
+
core: 'minimal floor — kernel + system + base tiers + init services (no platform biomes)',
|
|
9
|
+
oss: 'full open-source platform — core + all platform-tier biomes (most common)',
|
|
10
|
+
cloud: 'core + platform tier, tuned for a hosted/cloud deployment',
|
|
11
|
+
'appliance-base': 'core + platform for the on-prem appliance build',
|
|
12
|
+
'xema-internal': 'cloud + operator/fleet-management biomes (internal)',
|
|
13
|
+
};
|
|
7
14
|
var InitPreset;
|
|
8
15
|
(function (InitPreset) {
|
|
9
16
|
InitPreset["LocalMonolith"] = "local-monolith";
|
|
@@ -71,6 +78,9 @@ function parseInitPreset(value) {
|
|
|
71
78
|
const MANAGED = { mode: schema_1.InfraMode.Managed };
|
|
72
79
|
function buildPresetConfig(preset, inputs) {
|
|
73
80
|
const config = buildMinimal(preset, inputs);
|
|
81
|
+
if (inputs.sources !== undefined && inputs.sources.length > 0) {
|
|
82
|
+
config.sources = inputs.sources;
|
|
83
|
+
}
|
|
74
84
|
(0, schema_1.parseXemaConfig)(config);
|
|
75
85
|
return config;
|
|
76
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-presets.js","sourceRoot":"","sources":["../../../src/runtime/config/init-presets.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"init-presets.js","sourceRoot":"","sources":["../../../src/runtime/config/init-presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DiscoveredBiome } from '../sources/manifest-walk';
|
|
2
|
+
import type { AvailableBiome } from '@xemahq/distribution-resolver';
|
|
3
|
+
import type { LockedBiome } from '@xemahq/kernel-contracts/distribution';
|
|
4
|
+
export declare function lockedBiomeToAvailable(b: LockedBiome): AvailableBiome;
|
|
5
|
+
export declare function discoveredBiomeToAvailable(b: DiscoveredBiome, sourceName: string): AvailableBiome;
|
|
6
|
+
export declare function mergeAvailableBiomes(base: readonly AvailableBiome[], user: readonly AvailableBiome[]): {
|
|
7
|
+
biomes: AvailableBiome[];
|
|
8
|
+
overridden: string[];
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=available-biome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"available-biome.d.ts","sourceRoot":"","sources":["../../../src/runtime/distribution/available-biome.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAWzE,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,WAAW,GAAG,cAAc,CAarE;AASD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAmBjG;AAOD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,cAAc,EAAE,EAC/B,IAAI,EAAE,SAAS,cAAc,EAAE,GAC9B;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAapD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lockedBiomeToAvailable = lockedBiomeToAvailable;
|
|
4
|
+
exports.discoveredBiomeToAvailable = discoveredBiomeToAvailable;
|
|
5
|
+
exports.mergeAvailableBiomes = mergeAvailableBiomes;
|
|
6
|
+
const biome_1 = require("@xemahq/kernel-contracts/biome");
|
|
7
|
+
function lockedBiomeToAvailable(b) {
|
|
8
|
+
return {
|
|
9
|
+
id: b.id,
|
|
10
|
+
version: b.version,
|
|
11
|
+
tier: b.tier,
|
|
12
|
+
target: b.target,
|
|
13
|
+
origin: b.origin,
|
|
14
|
+
audience: b.audience ?? biome_1.BiomeAudience.Org,
|
|
15
|
+
requires: b.requiresServerBiomes ?? [],
|
|
16
|
+
repo: b.repo,
|
|
17
|
+
path: b.path,
|
|
18
|
+
services: b.services,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function discoveredBiomeToAvailable(b, sourceName) {
|
|
22
|
+
const manifest = b.manifest;
|
|
23
|
+
const trustTier = 'trustTier' in manifest.xema ? manifest.xema.trustTier : undefined;
|
|
24
|
+
return {
|
|
25
|
+
id: b.id,
|
|
26
|
+
version: b.version,
|
|
27
|
+
tier: b.tier,
|
|
28
|
+
target: b.target === 'server' ? biome_1.BiomeTarget.Server : biome_1.BiomeTarget.Web,
|
|
29
|
+
origin: trustTier ?? biome_1.BiomeOrigin.ThirdParty,
|
|
30
|
+
audience: (0, biome_1.getBiomeAudience)(manifest),
|
|
31
|
+
requires: b.requires,
|
|
32
|
+
repo: `source:${sourceName}`,
|
|
33
|
+
path: b.biomeDir.length > 0 ? b.biomeDir : '.',
|
|
34
|
+
services: b.services.map((s) => s.name),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function mergeAvailableBiomes(base, user) {
|
|
38
|
+
const byId = new Map();
|
|
39
|
+
for (const b of base) {
|
|
40
|
+
byId.set(b.id, b);
|
|
41
|
+
}
|
|
42
|
+
const overridden = [];
|
|
43
|
+
for (const b of user) {
|
|
44
|
+
if (byId.has(b.id)) {
|
|
45
|
+
overridden.push(b.id);
|
|
46
|
+
}
|
|
47
|
+
byId.set(b.id, b);
|
|
48
|
+
}
|
|
49
|
+
return { biomes: [...byId.values()], overridden };
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=available-biome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"available-biome.js","sourceRoot":"","sources":["../../../src/runtime/distribution/available-biome.ts"],"names":[],"mappings":";;AAsBA,wDAaC;AASD,gEAmBC;AAOD,oDAgBC;AAtFD,0DAOwC;AAexC,SAAgB,sBAAsB,CAAC,CAAc;IACnD,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,qBAAa,CAAC,GAAG;QACzC,QAAQ,EAAE,CAAC,CAAC,oBAAoB,IAAI,EAAE;QACtC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC;AACJ,CAAC;AASD,SAAgB,0BAA0B,CAAC,CAAkB,EAAE,UAAkB;IAC/E,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAyB,CAAC;IAG7C,MAAM,SAAS,GAAG,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAiB;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAW,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAW,CAAC,GAAG;QACpE,MAAM,EAAE,SAAS,IAAI,mBAAW,CAAC,UAAU;QAC3C,QAAQ,EAAE,IAAA,wBAAgB,EAAC,QAAQ,CAAC;QACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,IAAI,EAAE,UAAU,UAAU,EAAE;QAG5B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;QAC9C,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACxC,CAAC;AACJ,CAAC;AAOD,SAAgB,oBAAoB,CAClC,IAA+B,EAC/B,IAA+B;IAE/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Distribution, DistributionLock } from '@xemahq/kernel-contracts/distribution';
|
|
2
|
+
export interface UserBiomeSource {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly root: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ComposeInput {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
readonly displayName?: string;
|
|
9
|
+
readonly baseEdition: string;
|
|
10
|
+
readonly userSources: readonly UserBiomeSource[];
|
|
11
|
+
readonly allowThirdParty: boolean;
|
|
12
|
+
readonly resolvedAt: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ComposeResult {
|
|
15
|
+
readonly definition: Distribution;
|
|
16
|
+
readonly lock: DistributionLock;
|
|
17
|
+
readonly baseBiomeCount: number;
|
|
18
|
+
readonly userBiomeCount: number;
|
|
19
|
+
readonly overridden: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
export declare function composeDistribution(input: ComposeInput): ComposeResult;
|
|
22
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/runtime/distribution/compose.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAG5F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAE3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;IAEjD,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAWD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAqDtE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.composeDistribution = composeDistribution;
|
|
4
|
+
const distribution_resolver_1 = require("@xemahq/distribution-resolver");
|
|
5
|
+
const biome_1 = require("@xemahq/kernel-contracts/biome");
|
|
6
|
+
const lock_loader_1 = require("../lock-loader");
|
|
7
|
+
const available_biome_1 = require("./available-biome");
|
|
8
|
+
const manifest_walk_1 = require("../sources/manifest-walk");
|
|
9
|
+
function composeDistribution(input) {
|
|
10
|
+
const { lock: baseLock } = (0, lock_loader_1.loadDistributionLock)({ edition: input.baseEdition });
|
|
11
|
+
const baseBiomes = baseLock.biomes.map(available_biome_1.lockedBiomeToAvailable);
|
|
12
|
+
const userBiomes = [];
|
|
13
|
+
for (const source of input.userSources) {
|
|
14
|
+
const { biomes } = (0, manifest_walk_1.walkBiomeManifests)(source.root);
|
|
15
|
+
for (const b of biomes) {
|
|
16
|
+
userBiomes.push((0, available_biome_1.discoveredBiomeToAvailable)(b, source.name));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const { biomes: pool, overridden } = (0, available_biome_1.mergeAvailableBiomes)(baseBiomes, userBiomes);
|
|
20
|
+
const definition = {
|
|
21
|
+
schemaVersion: 1,
|
|
22
|
+
id: input.id,
|
|
23
|
+
displayName: input.displayName ?? input.id,
|
|
24
|
+
description: `Custom distribution composed from "${input.baseEdition}" + ${String(input.userSources.length)} user source(s).`,
|
|
25
|
+
include: pool.map((b) => ({ biome: b.id })),
|
|
26
|
+
trustPolicy: {
|
|
27
|
+
allow: input.allowThirdParty
|
|
28
|
+
? [biome_1.BiomeOrigin.FirstParty, biome_1.BiomeOrigin.ThirdParty]
|
|
29
|
+
: [biome_1.BiomeOrigin.FirstParty],
|
|
30
|
+
},
|
|
31
|
+
platformServices: baseLock.platformServices.map((ps) => ({ name: ps.name, tier: ps.tier })),
|
|
32
|
+
};
|
|
33
|
+
const resolved = (0, distribution_resolver_1.resolveDistribution)(definition, pool, { resolvedAt: input.resolvedAt });
|
|
34
|
+
const requiresById = new Map(pool.map((b) => [b.id, b.requires]));
|
|
35
|
+
const lock = {
|
|
36
|
+
...resolved,
|
|
37
|
+
biomes: resolved.biomes.map((b) => ({
|
|
38
|
+
...b,
|
|
39
|
+
requiresServerBiomes: requiresById.get(b.id) ?? [],
|
|
40
|
+
})),
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
definition,
|
|
44
|
+
lock,
|
|
45
|
+
baseBiomeCount: baseBiomes.length,
|
|
46
|
+
userBiomeCount: userBiomes.length,
|
|
47
|
+
overridden,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/runtime/distribution/compose.ts"],"names":[],"mappings":";;AAmDA,kDAqDC;AAxGD,yEAAyF;AACzF,0DAA6D;AAE7D,gDAAsD;AACtD,uDAI2B;AAC3B,4DAA8D;AA0C9D,SAAgB,mBAAmB,CAAC,KAAmB;IACrD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,kCAAoB,EAAC,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAChF,MAAM,UAAU,GAAqB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAsB,CAAC,CAAC;IAEjF,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kCAAkB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,IAAA,4CAA0B,EAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAA,sCAAoB,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAElF,MAAM,UAAU,GAAiB;QAC/B,aAAa,EAAE,CAAC;QAChB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE;QAC1C,WAAW,EAAE,sCAAsC,KAAK,CAAC,WAAW,OAAO,MAAM,CAC/E,KAAK,CAAC,WAAW,CAAC,MAAM,CACzB,kBAAkB;QAInB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,WAAW,EAAE;YACX,KAAK,EAAE,KAAK,CAAC,eAAe;gBAC1B,CAAC,CAAC,CAAC,mBAAW,CAAC,UAAU,EAAE,mBAAW,CAAC,UAAU,CAAC;gBAClD,CAAC,CAAC,CAAC,mBAAW,CAAC,UAAU,CAAC;SAC7B;QACD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;KAC5F,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAA,2CAAmB,EAAC,UAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAIzF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAqB;QAC7B,GAAG,QAAQ;QACX,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC;YACJ,oBAAoB,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;SACnD,CAAC,CAAC;KACJ,CAAC;IAEF,OAAO;QACL,UAAU;QACV,IAAI;QACJ,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,UAAU;KACX,CAAC;AACJ,CAAC"}
|
package/dist/runtime/paths.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ export declare function findMonorepoRoot(startDir?: string): string | null;
|
|
|
2
2
|
export declare function listAvailableEditions(): string[];
|
|
3
3
|
export interface ArtifactResolution {
|
|
4
4
|
readonly path: string;
|
|
5
|
-
readonly source: 'flag' | 'env' | 'vendored' | 'monorepo';
|
|
5
|
+
readonly source: 'flag' | 'env' | 'user' | 'vendored' | 'monorepo';
|
|
6
6
|
}
|
|
7
|
+
export declare function userDistributionsDir(): string;
|
|
7
8
|
export interface ResolveArtifactOptions {
|
|
8
9
|
readonly explicit?: string | undefined;
|
|
9
10
|
readonly envVar?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":"AAsBA,wBAAgB,gBAAgB,CAAC,QAAQ,GAAE,MAAkB,GAAG,MAAM,GAAG,IAAI,CAY5E;AAgBD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAShD;AAmBD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;CACpE;AAGD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,MAAM,WAAW,sBAAsB;IAErC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAcD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,CAiC5F;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,CAwBrF;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,GAAG,kBAAkB,CAwBtG"}
|
package/dist/runtime/paths.js
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.findMonorepoRoot = findMonorepoRoot;
|
|
4
4
|
exports.listAvailableEditions = listAvailableEditions;
|
|
5
|
+
exports.userDistributionsDir = userDistributionsDir;
|
|
5
6
|
exports.resolveDistributionLockPath = resolveDistributionLockPath;
|
|
6
7
|
exports.resolveImageLockPath = resolveImageLockPath;
|
|
7
8
|
exports.resolveBootGraphPath = resolveBootGraphPath;
|
|
8
9
|
const node_fs_1 = require("node:fs");
|
|
10
|
+
const node_os_1 = require("node:os");
|
|
9
11
|
const node_path_1 = require("node:path");
|
|
10
12
|
const MONOREPO_ROOT_MARKERS = ['pnpm-workspace.yaml', 'repos-infra/xema-distributions'];
|
|
11
13
|
function findMonorepoRoot(startDir = __dirname) {
|
|
@@ -31,6 +33,7 @@ function listAvailableEditions() {
|
|
|
31
33
|
collectEditionsFrom((0, node_path_1.join)(monorepo, 'repos-infra', 'xema-distributions'), editions);
|
|
32
34
|
}
|
|
33
35
|
collectEditionsFrom(vendoredAssetsDir(), editions);
|
|
36
|
+
collectEditionsFrom(userDistributionsDir(), editions);
|
|
34
37
|
return [...editions].sort();
|
|
35
38
|
}
|
|
36
39
|
function collectEditionsFrom(dir, into) {
|
|
@@ -50,6 +53,9 @@ function collectEditionsFrom(dir, into) {
|
|
|
50
53
|
}
|
|
51
54
|
}
|
|
52
55
|
}
|
|
56
|
+
function userDistributionsDir() {
|
|
57
|
+
return (0, node_path_1.join)((0, node_os_1.homedir)(), '.xema', 'distributions');
|
|
58
|
+
}
|
|
53
59
|
function firstExisting(candidates) {
|
|
54
60
|
for (const c of candidates) {
|
|
55
61
|
if ((0, node_fs_1.existsSync)(c.path)) {
|
|
@@ -67,6 +73,10 @@ function resolveDistributionLockPath(opts) {
|
|
|
67
73
|
if (opts.envVar) {
|
|
68
74
|
candidates.push({ path: absolutize(opts.envVar), source: 'env' });
|
|
69
75
|
}
|
|
76
|
+
candidates.push({
|
|
77
|
+
path: (0, node_path_1.join)(userDistributionsDir(), opts.edition, 'distribution.lock.json'),
|
|
78
|
+
source: 'user',
|
|
79
|
+
});
|
|
70
80
|
if (monorepo) {
|
|
71
81
|
candidates.push({
|
|
72
82
|
path: (0, node_path_1.join)(monorepo, 'repos-infra/xema-distributions', opts.edition, 'distribution.lock.json'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/xema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
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",
|