@xemahq/xema 0.13.0 → 0.14.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 +68 -20
- package/dist/assets/boot-graph.json +57 -15
- package/dist/assets/core/distribution.lock.json +667 -297
- package/dist/assets/core/images.lock.json +136 -136
- package/dist/assets/oss/distribution.lock.json +1497 -461
- package/dist/assets/oss/images.lock.json +423 -188
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +36 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +1 -1
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/biome-dev.d.ts +3 -0
- package/dist/commands/biome-dev.d.ts.map +1 -0
- package/dist/commands/biome-dev.js +176 -0
- package/dist/commands/biome-dev.js.map +1 -0
- package/dist/commands/biome-validate.d.ts +10 -0
- package/dist/commands/biome-validate.d.ts.map +1 -0
- package/dist/commands/biome-validate.js +49 -0
- package/dist/commands/biome-validate.js.map +1 -0
- package/dist/commands/biome.d.ts.map +1 -1
- package/dist/commands/biome.js +359 -25
- package/dist/commands/biome.js.map +1 -1
- package/dist/commands/canopy.d.ts +3 -0
- package/dist/commands/canopy.d.ts.map +1 -0
- package/dist/commands/canopy.js +214 -0
- package/dist/commands/canopy.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +78 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +71 -21
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/dist.js +1 -1
- package/dist/commands/dist.js.map +1 -1
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +40 -6
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +1 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/installation.d.ts +3 -0
- package/dist/commands/installation.d.ts.map +1 -0
- package/dist/commands/installation.js +101 -0
- package/dist/commands/installation.js.map +1 -0
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +6 -14
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/objects.d.ts.map +1 -1
- package/dist/commands/objects.js +85 -6
- package/dist/commands/objects.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +1 -1
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +61 -9
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +33 -13
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/shell.d.ts.map +1 -1
- package/dist/commands/shell.js +190 -6
- package/dist/commands/shell.js.map +1 -1
- package/dist/commands/source.d.ts +3 -0
- package/dist/commands/source.d.ts.map +1 -0
- package/dist/commands/source.js +120 -0
- package/dist/commands/source.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +29 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +55 -5
- package/dist/commands/up.js.map +1 -1
- package/dist/dev/env-defaults.d.ts.map +1 -1
- package/dist/dev/env-defaults.js +9 -6
- package/dist/dev/env-defaults.js.map +1 -1
- package/dist/dev/forked-worker.d.ts +15 -0
- package/dist/dev/forked-worker.d.ts.map +1 -1
- package/dist/dev/forked-worker.js +72 -14
- package/dist/dev/forked-worker.js.map +1 -1
- package/dist/dev/opa-policies.d.ts +3 -0
- package/dist/dev/opa-policies.d.ts.map +1 -0
- package/dist/dev/opa-policies.js +64 -0
- package/dist/dev/opa-policies.js.map +1 -0
- package/dist/lib/cli-errors.d.ts +7 -0
- package/dist/lib/cli-errors.d.ts.map +1 -0
- package/dist/lib/cli-errors.js +30 -0
- package/dist/lib/cli-errors.js.map +1 -0
- package/dist/lib/control-plane.d.ts.map +1 -1
- package/dist/lib/control-plane.js +5 -2
- package/dist/lib/control-plane.js.map +1 -1
- package/dist/lib/exit-codes.d.ts +3 -4
- package/dist/lib/exit-codes.d.ts.map +1 -1
- package/dist/lib/exit-codes.js +3 -4
- package/dist/lib/exit-codes.js.map +1 -1
- package/dist/lib/http-error.d.ts +2 -0
- package/dist/lib/http-error.d.ts.map +1 -0
- package/dist/lib/http-error.js +51 -0
- package/dist/lib/http-error.js.map +1 -0
- package/dist/lib/roster-profile.d.ts +10 -0
- package/dist/lib/roster-profile.d.ts.map +1 -0
- package/dist/lib/roster-profile.js +44 -0
- package/dist/lib/roster-profile.js.map +1 -0
- package/dist/runtime/biome-dev.d.ts +28 -0
- package/dist/runtime/biome-dev.d.ts.map +1 -0
- package/dist/runtime/biome-dev.js +131 -0
- package/dist/runtime/biome-dev.js.map +1 -0
- package/dist/runtime/biome-local-install.d.ts +29 -0
- package/dist/runtime/biome-local-install.d.ts.map +1 -0
- package/dist/runtime/biome-local-install.js +243 -0
- package/dist/runtime/biome-local-install.js.map +1 -0
- package/dist/runtime/biome-publish.d.ts +34 -0
- package/dist/runtime/biome-publish.d.ts.map +1 -0
- package/dist/runtime/biome-publish.js +214 -0
- package/dist/runtime/biome-publish.js.map +1 -0
- package/dist/runtime/biome-scaffold.d.ts +35 -0
- package/dist/runtime/biome-scaffold.d.ts.map +1 -0
- package/dist/runtime/biome-scaffold.js +153 -0
- package/dist/runtime/biome-scaffold.js.map +1 -0
- package/dist/runtime/biome-validate.d.ts +28 -0
- package/dist/runtime/biome-validate.d.ts.map +1 -0
- package/dist/runtime/biome-validate.js +450 -0
- package/dist/runtime/biome-validate.js.map +1 -0
- package/dist/runtime/boot-graph-loader.d.ts +1 -0
- package/dist/runtime/boot-graph-loader.d.ts.map +1 -1
- package/dist/runtime/boot-graph-loader.js +99 -7
- package/dist/runtime/boot-graph-loader.js.map +1 -1
- package/dist/runtime/canopy-refs.d.ts +8 -0
- package/dist/runtime/canopy-refs.d.ts.map +1 -0
- package/dist/runtime/canopy-refs.js +51 -0
- package/dist/runtime/canopy-refs.js.map +1 -0
- package/dist/runtime/canopy-replies.d.ts +14 -0
- package/dist/runtime/canopy-replies.d.ts.map +1 -0
- package/dist/runtime/canopy-replies.js +39 -0
- package/dist/runtime/canopy-replies.js.map +1 -0
- package/dist/runtime/capability-invoke.d.ts +35 -0
- package/dist/runtime/capability-invoke.d.ts.map +1 -0
- package/dist/runtime/capability-invoke.js +119 -0
- package/dist/runtime/capability-invoke.js.map +1 -0
- package/dist/runtime/config/dev-mode.d.ts +8 -0
- package/dist/runtime/config/dev-mode.d.ts.map +1 -0
- package/dist/runtime/config/dev-mode.js +84 -0
- package/dist/runtime/config/dev-mode.js.map +1 -0
- package/dist/runtime/config/init-presets.d.ts +1 -1
- package/dist/runtime/config/init-presets.d.ts.map +1 -1
- package/dist/runtime/config/init-presets.js +63 -11
- package/dist/runtime/config/init-presets.js.map +1 -1
- package/dist/runtime/config/loader.d.ts +1 -0
- package/dist/runtime/config/loader.d.ts.map +1 -1
- package/dist/runtime/config/loader.js +41 -5
- package/dist/runtime/config/loader.js.map +1 -1
- package/dist/runtime/config/schema.d.ts +27 -12
- package/dist/runtime/config/schema.d.ts.map +1 -1
- package/dist/runtime/config/schema.js +113 -8
- package/dist/runtime/config/schema.js.map +1 -1
- package/dist/runtime/config/sources-config.d.ts +14 -0
- package/dist/runtime/config/sources-config.d.ts.map +1 -0
- package/dist/runtime/config/sources-config.js +79 -0
- package/dist/runtime/config/sources-config.js.map +1 -0
- package/dist/runtime/distribution/compose.d.ts.map +1 -1
- package/dist/runtime/distribution/compose.js +3 -1
- package/dist/runtime/distribution/compose.js.map +1 -1
- package/dist/runtime/env-seeder.d.ts +5 -0
- package/dist/runtime/env-seeder.d.ts.map +1 -1
- package/dist/runtime/env-seeder.js +118 -16
- package/dist/runtime/env-seeder.js.map +1 -1
- package/dist/runtime/foreground.d.ts +4 -0
- package/dist/runtime/foreground.d.ts.map +1 -1
- package/dist/runtime/foreground.js +11 -0
- package/dist/runtime/foreground.js.map +1 -1
- package/dist/runtime/infra/infra-catalog.d.ts +1 -0
- package/dist/runtime/infra/infra-catalog.d.ts.map +1 -1
- package/dist/runtime/infra/infra-catalog.js +2 -1
- package/dist/runtime/infra/infra-catalog.js.map +1 -1
- package/dist/runtime/infra/infra-runner.d.ts +5 -0
- package/dist/runtime/infra/infra-runner.d.ts.map +1 -1
- package/dist/runtime/infra/infra-runner.js +82 -13
- package/dist/runtime/infra/infra-runner.js.map +1 -1
- package/dist/runtime/installation/compiler.d.ts +37 -0
- package/dist/runtime/installation/compiler.d.ts.map +1 -0
- package/dist/runtime/installation/compiler.js +190 -0
- package/dist/runtime/installation/compiler.js.map +1 -0
- package/dist/runtime/installation/contract.d.ts +125 -0
- package/dist/runtime/installation/contract.d.ts.map +1 -0
- package/dist/runtime/installation/contract.js +182 -0
- package/dist/runtime/installation/contract.js.map +1 -0
- package/dist/runtime/installation/diagnostics.d.ts +16 -0
- package/dist/runtime/installation/diagnostics.d.ts.map +1 -0
- package/dist/runtime/installation/diagnostics.js +21 -0
- package/dist/runtime/installation/diagnostics.js.map +1 -0
- package/dist/runtime/installation/diff.d.ts +17 -0
- package/dist/runtime/installation/diff.d.ts.map +1 -0
- package/dist/runtime/installation/diff.js +99 -0
- package/dist/runtime/installation/diff.js.map +1 -0
- package/dist/runtime/installation/format.d.ts +3 -0
- package/dist/runtime/installation/format.d.ts.map +1 -0
- package/dist/runtime/installation/format.js +22 -0
- package/dist/runtime/installation/format.js.map +1 -0
- package/dist/runtime/installation/from-current-config.d.ts +8 -0
- package/dist/runtime/installation/from-current-config.d.ts.map +1 -0
- package/dist/runtime/installation/from-current-config.js +75 -0
- package/dist/runtime/installation/from-current-config.js.map +1 -0
- package/dist/runtime/installation/index.d.ts +13 -0
- package/dist/runtime/installation/index.d.ts.map +1 -0
- package/dist/runtime/installation/index.js +29 -0
- package/dist/runtime/installation/index.js.map +1 -0
- package/dist/runtime/installation/lifecycle.d.ts +23 -0
- package/dist/runtime/installation/lifecycle.d.ts.map +1 -0
- package/dist/runtime/installation/lifecycle.js +70 -0
- package/dist/runtime/installation/lifecycle.js.map +1 -0
- package/dist/runtime/installation/serialization.d.ts +3 -0
- package/dist/runtime/installation/serialization.d.ts.map +1 -0
- package/dist/runtime/installation/serialization.js +39 -0
- package/dist/runtime/installation/serialization.js.map +1 -0
- package/dist/runtime/installation/state-store.d.ts +20 -0
- package/dist/runtime/installation/state-store.d.ts.map +1 -0
- package/dist/runtime/installation/state-store.js +257 -0
- package/dist/runtime/installation/state-store.js.map +1 -0
- package/dist/runtime/installation/status.d.ts +30 -0
- package/dist/runtime/installation/status.d.ts.map +1 -0
- package/dist/runtime/installation/status.js +138 -0
- package/dist/runtime/installation/status.js.map +1 -0
- package/dist/runtime/installation/support-bundle.d.ts +30 -0
- package/dist/runtime/installation/support-bundle.d.ts.map +1 -0
- package/dist/runtime/installation/support-bundle.js +130 -0
- package/dist/runtime/installation/support-bundle.js.map +1 -0
- package/dist/runtime/installation/validation.d.ts +8 -0
- package/dist/runtime/installation/validation.d.ts.map +1 -0
- package/dist/runtime/installation/validation.js +39 -0
- package/dist/runtime/installation/validation.js.map +1 -0
- package/dist/runtime/installation/validators/common.d.ts +4 -0
- package/dist/runtime/installation/validators/common.d.ts.map +1 -0
- package/dist/runtime/installation/validators/common.js +29 -0
- package/dist/runtime/installation/validators/common.js.map +1 -0
- package/dist/runtime/installation/validators/infrastructure.d.ts +4 -0
- package/dist/runtime/installation/validators/infrastructure.d.ts.map +1 -0
- package/dist/runtime/installation/validators/infrastructure.js +78 -0
- package/dist/runtime/installation/validators/infrastructure.js.map +1 -0
- package/dist/runtime/installation/validators/operational.d.ts +4 -0
- package/dist/runtime/installation/validators/operational.d.ts.map +1 -0
- package/dist/runtime/installation/validators/operational.js +126 -0
- package/dist/runtime/installation/validators/operational.js.map +1 -0
- package/dist/runtime/installation/validators/profile.d.ts +4 -0
- package/dist/runtime/installation/validators/profile.d.ts.map +1 -0
- package/dist/runtime/installation/validators/profile.js +78 -0
- package/dist/runtime/installation/validators/profile.js.map +1 -0
- package/dist/runtime/installation/validators/secrets.d.ts +4 -0
- package/dist/runtime/installation/validators/secrets.d.ts.map +1 -0
- package/dist/runtime/installation/validators/secrets.js +68 -0
- package/dist/runtime/installation/validators/secrets.js.map +1 -0
- package/dist/runtime/launch-plan-format.d.ts +3 -0
- package/dist/runtime/launch-plan-format.d.ts.map +1 -0
- package/dist/runtime/launch-plan-format.js +57 -0
- package/dist/runtime/launch-plan-format.js.map +1 -0
- package/dist/runtime/launch.d.ts +25 -3
- package/dist/runtime/launch.d.ts.map +1 -1
- package/dist/runtime/launch.js +264 -24
- package/dist/runtime/launch.js.map +1 -1
- package/dist/runtime/object-registry-client.d.ts +31 -0
- package/dist/runtime/object-registry-client.d.ts.map +1 -0
- package/dist/runtime/object-registry-client.js +54 -0
- package/dist/runtime/object-registry-client.js.map +1 -0
- package/dist/runtime/paths.d.ts +1 -0
- package/dist/runtime/paths.d.ts.map +1 -1
- package/dist/runtime/paths.js +2 -0
- package/dist/runtime/paths.js.map +1 -1
- package/dist/runtime/roster.d.ts +10 -4
- package/dist/runtime/roster.d.ts.map +1 -1
- package/dist/runtime/roster.js +73 -7
- package/dist/runtime/roster.js.map +1 -1
- package/dist/runtime/run-manifest.d.ts +23 -0
- package/dist/runtime/run-manifest.d.ts.map +1 -0
- package/dist/runtime/run-manifest.js +273 -0
- package/dist/runtime/run-manifest.js.map +1 -0
- package/dist/runtime/runner/container-runner.d.ts +6 -0
- package/dist/runtime/runner/container-runner.d.ts.map +1 -1
- package/dist/runtime/runner/container-runner.js +25 -6
- package/dist/runtime/runner/container-runner.js.map +1 -1
- package/dist/runtime/runner/docker-cli.d.ts +6 -1
- package/dist/runtime/runner/docker-cli.d.ts.map +1 -1
- package/dist/runtime/runner/docker-cli.js +47 -6
- package/dist/runtime/runner/docker-cli.js.map +1 -1
- package/dist/runtime/runner/native-runner.d.ts.map +1 -1
- package/dist/runtime/runner/native-runner.js +21 -14
- package/dist/runtime/runner/native-runner.js.map +1 -1
- package/dist/runtime/secrets/managed-local-store.d.ts +26 -0
- package/dist/runtime/secrets/managed-local-store.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-store.js +202 -0
- package/dist/runtime/secrets/managed-local-store.js.map +1 -0
- package/dist/runtime/secrets/resolver.d.ts +23 -0
- package/dist/runtime/secrets/resolver.d.ts.map +1 -0
- package/dist/runtime/secrets/resolver.js +265 -0
- package/dist/runtime/secrets/resolver.js.map +1 -0
- package/dist/runtime/secrets/url-security.d.ts +3 -0
- package/dist/runtime/secrets/url-security.d.ts.map +1 -0
- package/dist/runtime/secrets/url-security.js +13 -0
- package/dist/runtime/secrets/url-security.js.map +1 -0
- package/dist/runtime/sources/credentials.d.ts.map +1 -1
- package/dist/runtime/sources/credentials.js +2 -1
- package/dist/runtime/sources/credentials.js.map +1 -1
- package/dist/runtime/sources/kinds/git.d.ts +6 -3
- package/dist/runtime/sources/kinds/git.d.ts.map +1 -1
- package/dist/runtime/sources/kinds/git.js +99 -22
- package/dist/runtime/sources/kinds/git.js.map +1 -1
- package/dist/runtime/sources/resolve-context.d.ts +7 -0
- package/dist/runtime/sources/resolve-context.d.ts.map +1 -0
- package/dist/runtime/sources/resolve-context.js +3 -0
- package/dist/runtime/sources/resolve-context.js.map +1 -0
- package/dist/runtime/sources/resolver.d.ts +2 -2
- package/dist/runtime/sources/resolver.d.ts.map +1 -1
- package/dist/runtime/sources/resolver.js +11 -5
- package/dist/runtime/sources/resolver.js.map +1 -1
- package/dist/runtime/store-client.d.ts +59 -0
- package/dist/runtime/store-client.d.ts.map +1 -0
- package/dist/runtime/store-client.js +71 -0
- package/dist/runtime/store-client.js.map +1 -0
- package/dist/runtime/supervisor.d.ts +6 -0
- package/dist/runtime/supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor.js +37 -5
- package/dist/runtime/supervisor.js.map +1 -1
- package/dist/runtime/waves.d.ts +1 -1
- package/dist/runtime/waves.d.ts.map +1 -1
- package/dist/runtime/waves.js +86 -19
- package/dist/runtime/waves.js.map +1 -1
- package/examples/01-local-native.yaml +4 -1
- package/examples/03-byo-infra.yaml +17 -7
- package/examples/05-appliance-helm.yaml +1 -1
- package/examples/06-biome-sources.yaml +4 -1
- package/package.json +6 -5
- package/xema.config.example.yaml +22 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/runtime/sources/resolver.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/runtime/sources/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { ControlPlaneTarget } from '../lib/control-plane';
|
|
2
|
+
export interface StoreListing {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly biomeId: string;
|
|
5
|
+
readonly scope: string;
|
|
6
|
+
readonly orgId?: string | null;
|
|
7
|
+
readonly displayName: string;
|
|
8
|
+
readonly description: string;
|
|
9
|
+
readonly trustTier: string;
|
|
10
|
+
readonly publisher: string;
|
|
11
|
+
readonly archived: boolean;
|
|
12
|
+
readonly createdAt: string;
|
|
13
|
+
readonly updatedAt: string;
|
|
14
|
+
readonly latestVersion?: string | null;
|
|
15
|
+
}
|
|
16
|
+
export interface StoreListingVersion {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly listingId: string;
|
|
19
|
+
readonly version: string;
|
|
20
|
+
readonly lifecycle: string;
|
|
21
|
+
readonly bundleUri?: string | null;
|
|
22
|
+
readonly bundleSha?: string | null;
|
|
23
|
+
readonly submittedAt: string;
|
|
24
|
+
readonly approvedAt?: string | null;
|
|
25
|
+
readonly archivedAt?: string | null;
|
|
26
|
+
readonly notes?: string | null;
|
|
27
|
+
}
|
|
28
|
+
export interface StoreInstall {
|
|
29
|
+
readonly id: string;
|
|
30
|
+
readonly listingVersionId: string;
|
|
31
|
+
readonly orgId: string;
|
|
32
|
+
readonly projectId?: string | null;
|
|
33
|
+
readonly installedAt: string;
|
|
34
|
+
readonly uninstalledAt?: string | null;
|
|
35
|
+
readonly versionConstraint: string;
|
|
36
|
+
}
|
|
37
|
+
export interface StorePagination {
|
|
38
|
+
readonly total: number;
|
|
39
|
+
readonly limit: number;
|
|
40
|
+
readonly offset: number;
|
|
41
|
+
readonly hasMore: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface ListListingsQuery {
|
|
44
|
+
readonly q?: string;
|
|
45
|
+
readonly scope?: string;
|
|
46
|
+
readonly orgId?: string;
|
|
47
|
+
readonly trustTier?: string;
|
|
48
|
+
readonly includeArchived?: boolean;
|
|
49
|
+
readonly limit?: number;
|
|
50
|
+
readonly offset?: number;
|
|
51
|
+
}
|
|
52
|
+
export declare function listListings(target: ControlPlaneTarget, query: ListListingsQuery): Promise<{
|
|
53
|
+
listings: readonly StoreListing[];
|
|
54
|
+
pagination: StorePagination;
|
|
55
|
+
}>;
|
|
56
|
+
export declare function getListing(target: ControlPlaneTarget, id: string): Promise<StoreListing>;
|
|
57
|
+
export declare function listListingVersions(target: ControlPlaneTarget, id: string): Promise<readonly StoreListingVersion[]>;
|
|
58
|
+
export declare function uninstallInstall(target: ControlPlaneTarget, installId: string): Promise<StoreInstall>;
|
|
59
|
+
//# sourceMappingURL=store-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-client.d.ts","sourceRoot":"","sources":["../../src/runtime/store-client.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ/D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAM3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAID,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAGD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAGD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAID,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AA6ED,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC;IAAE,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAAC,UAAU,EAAE,eAAe,CAAA;CAAE,CAAC,CAO7E;AAGD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,YAAY,CAAC,CAOvB;AAGD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAOzC;AAID,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CAOvB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listListings = listListings;
|
|
4
|
+
exports.getListing = getListing;
|
|
5
|
+
exports.listListingVersions = listListingVersions;
|
|
6
|
+
exports.uninstallInstall = uninstallInstall;
|
|
7
|
+
const exit_codes_1 = require("../lib/exit-codes");
|
|
8
|
+
const http_error_1 = require("../lib/http-error");
|
|
9
|
+
async function request(target, method, path) {
|
|
10
|
+
const url = `${target.baseUrl}${path}`;
|
|
11
|
+
let res;
|
|
12
|
+
try {
|
|
13
|
+
res = await fetch(url, {
|
|
14
|
+
method,
|
|
15
|
+
headers: { authorization: `Bearer ${target.token}` },
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
20
|
+
return (0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.GenericError, `Xema Store unreachable at ${url}: ${detail}`);
|
|
21
|
+
}
|
|
22
|
+
const text = await res.text();
|
|
23
|
+
if (!res.ok) {
|
|
24
|
+
return (0, exit_codes_1.exitWith)(res.status === 404 ? exit_codes_1.XemaCliExitCode.NotFound : exit_codes_1.XemaCliExitCode.GenericError, `Xema Store ${method} ${path} → ${res.status}: ` +
|
|
25
|
+
(0, http_error_1.extractServerError)(res.status, text || res.statusText));
|
|
26
|
+
}
|
|
27
|
+
return (text.length > 0 ? JSON.parse(text) : {});
|
|
28
|
+
}
|
|
29
|
+
function buildListingQuery(query) {
|
|
30
|
+
const params = new URLSearchParams();
|
|
31
|
+
if (query.q !== undefined && query.q.length > 0) {
|
|
32
|
+
params.set('q', query.q);
|
|
33
|
+
}
|
|
34
|
+
if (query.scope !== undefined) {
|
|
35
|
+
params.set('scope', query.scope);
|
|
36
|
+
}
|
|
37
|
+
if (query.orgId !== undefined) {
|
|
38
|
+
params.set('orgId', query.orgId);
|
|
39
|
+
}
|
|
40
|
+
if (query.trustTier !== undefined) {
|
|
41
|
+
params.set('trustTier', query.trustTier);
|
|
42
|
+
}
|
|
43
|
+
if (query.includeArchived === true) {
|
|
44
|
+
params.set('includeArchived', 'true');
|
|
45
|
+
}
|
|
46
|
+
if (query.limit !== undefined) {
|
|
47
|
+
params.set('limit', String(query.limit));
|
|
48
|
+
}
|
|
49
|
+
if (query.offset !== undefined) {
|
|
50
|
+
params.set('offset', String(query.offset));
|
|
51
|
+
}
|
|
52
|
+
const qs = params.toString();
|
|
53
|
+
return qs.length > 0 ? `?${qs}` : '';
|
|
54
|
+
}
|
|
55
|
+
async function listListings(target, query) {
|
|
56
|
+
const body = await request(target, 'GET', `/listings${buildListingQuery(query)}`);
|
|
57
|
+
return { listings: body.data ?? [], pagination: body.pagination };
|
|
58
|
+
}
|
|
59
|
+
async function getListing(target, id) {
|
|
60
|
+
const body = await request(target, 'GET', `/listings/${encodeURIComponent(id)}`);
|
|
61
|
+
return body.data;
|
|
62
|
+
}
|
|
63
|
+
async function listListingVersions(target, id) {
|
|
64
|
+
const body = await request(target, 'GET', `/listings/${encodeURIComponent(id)}/versions`);
|
|
65
|
+
return body.data ?? [];
|
|
66
|
+
}
|
|
67
|
+
async function uninstallInstall(target, installId) {
|
|
68
|
+
const body = await request(target, 'POST', `/installs/${encodeURIComponent(installId)}/uninstall`);
|
|
69
|
+
return body.data;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=store-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-client.js","sourceRoot":"","sources":["../../src/runtime/store-client.ts"],"names":[],"mappings":";;AAiLA,oCAUC;AAGD,gCAUC;AAGD,kDAUC;AAID,4CAUC;AA1MD,kDAA8D;AAC9D,kDAAuD;AA0FvD,KAAK,UAAU,OAAO,CACpB,MAA0B,EAC1B,MAAsB,EACtB,IAAY;IAEZ,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;IACvC,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACrB,MAAM;YACN,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE,EAAE;SACrD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,IAAA,qBAAQ,EACb,4BAAe,CAAC,YAAY,EAC5B,6BAA6B,GAAG,KAAK,MAAM,EAAE,CAC9C,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,IAAA,qBAAQ,EACb,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,4BAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,4BAAe,CAAC,YAAY,EAC5E,cAAc,MAAM,IAAI,IAAI,MAAM,GAAG,CAAC,MAAM,IAAI;YAC9C,IAAA,+BAAkB,EAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;AACxD,CAAC;AAGD,SAAS,iBAAiB,CAAC,KAAwB;IACjD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvC,CAAC;AAGM,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,KAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,MAAM,EACN,KAAK,EACL,YAAY,iBAAiB,CAAC,KAAK,CAAC,EAAE,CACvC,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACpE,CAAC;AAGM,KAAK,UAAU,UAAU,CAC9B,MAA0B,EAC1B,EAAU;IAEV,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,MAAM,EACN,KAAK,EACL,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE,CACtC,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAGM,KAAK,UAAU,mBAAmB,CACvC,MAA0B,EAC1B,EAAU;IAEV,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,MAAM,EACN,KAAK,EACL,aAAa,kBAAkB,CAAC,EAAE,CAAC,WAAW,CAC/C,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AACzB,CAAC;AAIM,KAAK,UAAU,gBAAgB,CACpC,MAA0B,EAC1B,SAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,MAAM,EACN,MAAM,EACN,aAAa,kBAAkB,CAAC,SAAS,CAAC,YAAY,CACvD,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC"}
|
|
@@ -2,6 +2,8 @@ import type { XemaConfig, Substrate } from './config/schema';
|
|
|
2
2
|
import type { InfraPlan } from './infra/infra-plan';
|
|
3
3
|
import type { RosterEntry } from './roster';
|
|
4
4
|
import type { RunningService, ServiceRunner } from './runner/service-runner';
|
|
5
|
+
import type { LocalInfrastructureCredentials } from './secrets/managed-local-store';
|
|
6
|
+
import type { ResolvedSecrets } from './secrets/resolver';
|
|
5
7
|
import type { Wave } from './waves';
|
|
6
8
|
export interface SupervisorOptions {
|
|
7
9
|
readonly roster: readonly RosterEntry[];
|
|
@@ -11,9 +13,12 @@ export interface SupervisorOptions {
|
|
|
11
13
|
readonly infra: InfraPlan;
|
|
12
14
|
readonly substrate: Substrate;
|
|
13
15
|
readonly ports: ReadonlyMap<string, number>;
|
|
16
|
+
readonly distributionLockPath: string;
|
|
14
17
|
readonly containerPort?: number;
|
|
15
18
|
readonly readinessTimeoutMs?: number;
|
|
16
19
|
readonly graceMs?: number;
|
|
20
|
+
readonly secrets?: ResolvedSecrets;
|
|
21
|
+
readonly managedCredentials?: LocalInfrastructureCredentials;
|
|
17
22
|
readonly onEvent?: (event: LifecycleEvent) => void;
|
|
18
23
|
}
|
|
19
24
|
export interface LifecycleEvent {
|
|
@@ -40,6 +45,7 @@ export declare class Supervisor {
|
|
|
40
45
|
bringUp(): Promise<BringUpResult>;
|
|
41
46
|
private startMember;
|
|
42
47
|
shutdown(): Promise<void>;
|
|
48
|
+
private recordRunManifest;
|
|
43
49
|
get current(): readonly RunningService[];
|
|
44
50
|
private emit;
|
|
45
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/runtime/supervisor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/runtime/supervisor.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAUpC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,8BAA8B,CAAC;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EACT,YAAY,GACZ,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,eAAe,CAAC;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AAMD,qBAAa,UAAU;IAKT,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAEK,IAAI,EAAE,iBAAiB;IAkB9C,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;YAgDzB,WAAW;IAkBnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB/B,OAAO,CAAC,iBAAiB;IASzB,IAAI,OAAO,IAAI,SAAS,cAAc,EAAE,CAEvC;IAED,OAAO,CAAC,IAAI;CAGb"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Supervisor = void 0;
|
|
4
4
|
const env_seeder_1 = require("./env-seeder");
|
|
5
|
+
const run_manifest_1 = require("./run-manifest");
|
|
5
6
|
const DEFAULT_READINESS_MS = 45_000;
|
|
6
7
|
const DEFAULT_GRACE_MS = 5_000;
|
|
7
8
|
const MANDATORY_TIER = 'kernel';
|
|
@@ -17,8 +18,15 @@ class Supervisor {
|
|
|
17
18
|
infra: opts.infra,
|
|
18
19
|
roster: opts.roster,
|
|
19
20
|
substrate: opts.substrate,
|
|
21
|
+
distributionLockPath: opts.distributionLockPath,
|
|
20
22
|
ports: opts.ports,
|
|
21
|
-
...(opts.
|
|
23
|
+
...(opts.secrets !== undefined ? { secrets: opts.secrets } : {}),
|
|
24
|
+
...(opts.managedCredentials !== undefined
|
|
25
|
+
? { managedCredentials: opts.managedCredentials }
|
|
26
|
+
: {}),
|
|
27
|
+
...(opts.containerPort !== undefined
|
|
28
|
+
? { containerPort: opts.containerPort }
|
|
29
|
+
: {}),
|
|
22
30
|
});
|
|
23
31
|
}
|
|
24
32
|
async bringUp() {
|
|
@@ -34,16 +42,27 @@ class Supervisor {
|
|
|
34
42
|
}
|
|
35
43
|
if (result.status === 'fulfilled') {
|
|
36
44
|
this.running.push(result.value);
|
|
37
|
-
this.
|
|
45
|
+
this.recordRunManifest(member.name, result.value.handle);
|
|
46
|
+
this.emit({
|
|
47
|
+
kind: 'service-ready',
|
|
48
|
+
service: member.name,
|
|
49
|
+
detail: result.value.url,
|
|
50
|
+
});
|
|
38
51
|
}
|
|
39
52
|
else {
|
|
40
|
-
const reason = result.reason instanceof Error
|
|
53
|
+
const reason = result.reason instanceof Error
|
|
54
|
+
? result.reason.message
|
|
55
|
+
: String(result.reason);
|
|
41
56
|
if (member.tier === MANDATORY_TIER) {
|
|
42
57
|
await this.shutdown();
|
|
43
58
|
throw new Error(`Mandatory service ${member.name} failed to start: ${reason}`);
|
|
44
59
|
}
|
|
45
60
|
this.skipped.push({ name: member.name, reason });
|
|
46
|
-
this.emit({
|
|
61
|
+
this.emit({
|
|
62
|
+
kind: 'service-skipped',
|
|
63
|
+
service: member.name,
|
|
64
|
+
detail: reason,
|
|
65
|
+
});
|
|
47
66
|
}
|
|
48
67
|
}
|
|
49
68
|
this.emit({ kind: 'wave-complete', wave: wave.index, tier: wave.tier });
|
|
@@ -51,7 +70,11 @@ class Supervisor {
|
|
|
51
70
|
return { running: [...this.running], skipped: [...this.skipped] };
|
|
52
71
|
}
|
|
53
72
|
async startMember(entry, readinessTimeoutMs) {
|
|
54
|
-
this.emit({
|
|
73
|
+
this.emit({
|
|
74
|
+
kind: 'service-starting',
|
|
75
|
+
service: entry.name,
|
|
76
|
+
tier: entry.tier,
|
|
77
|
+
});
|
|
55
78
|
const port = this.opts.ports.get(entry.name);
|
|
56
79
|
if (port === undefined) {
|
|
57
80
|
throw new Error(`no port assigned for ${entry.name}`);
|
|
@@ -65,6 +88,15 @@ class Supervisor {
|
|
|
65
88
|
await svc.close(graceMs).catch(() => undefined);
|
|
66
89
|
}
|
|
67
90
|
this.running.length = 0;
|
|
91
|
+
(0, run_manifest_1.clearRunManifest)();
|
|
92
|
+
}
|
|
93
|
+
recordRunManifest(name, handle) {
|
|
94
|
+
const pid = (0, run_manifest_1.parsePidHandle)(handle);
|
|
95
|
+
const port = this.opts.ports.get(name);
|
|
96
|
+
if (pid === undefined || port === undefined) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
(0, run_manifest_1.appendRunManifestEntry)({ name, pid, port });
|
|
68
100
|
}
|
|
69
101
|
get current() {
|
|
70
102
|
return [...this.running];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/runtime/supervisor.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;
|
|
1
|
+
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/runtime/supervisor.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/waves.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waves.d.ts","sourceRoot":"","sources":["../../src/runtime/waves.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"waves.d.ts","sourceRoot":"","sources":["../../src/runtime/waves.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAW5C,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;CAC1C;AAYD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAChC,MAAM,EAAE,CAiBV;AAoBD,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,SAAS,CAAC,EAAE,SAAS,GACpB,IAAI,EAAE,CAiGR;AAmCD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,SAAS,EAAE,SAAS,GACnB,KAAK,CAAC;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAyCD"}
|
package/dist/runtime/waves.js
CHANGED
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.bootGraphHardClosure = bootGraphHardClosure;
|
|
4
4
|
exports.deriveWaves = deriveWaves;
|
|
5
5
|
exports.findWaveOrderViolations = findWaveOrderViolations;
|
|
6
|
+
const distribution_1 = require("@xemahq/kernel-contracts/distribution");
|
|
7
|
+
const boot_graph_loader_1 = require("./boot-graph-loader");
|
|
6
8
|
function bootGraphHardClosure(seed, bootGraph, exists) {
|
|
7
9
|
const out = new Set(seed.filter(exists));
|
|
8
10
|
const queue = [...out];
|
|
@@ -21,25 +23,89 @@ function bootGraphHardClosure(seed, bootGraph, exists) {
|
|
|
21
23
|
}
|
|
22
24
|
return [...out];
|
|
23
25
|
}
|
|
24
|
-
const
|
|
25
|
-
kernel: 0,
|
|
26
|
-
system: 1,
|
|
27
|
-
base: 2,
|
|
28
|
-
platform: 3,
|
|
29
|
-
edge: 4,
|
|
30
|
-
};
|
|
26
|
+
const CANONICAL_TIER_RANK = distribution_1.PLATFORM_SERVICE_TIER_RANK;
|
|
31
27
|
function deriveWaves(roster, bootGraph) {
|
|
28
|
+
if (bootGraph === undefined) {
|
|
29
|
+
return deriveTierWaves(roster);
|
|
30
|
+
}
|
|
31
|
+
(0, boot_graph_loader_1.assertBootGraphIntegrity)(bootGraph);
|
|
32
|
+
const entries = new Map();
|
|
33
|
+
for (const entry of roster) {
|
|
34
|
+
if (entries.has(entry.name)) {
|
|
35
|
+
throw new Error(`Cannot compile boot waves: duplicate roster service "${entry.name}".`);
|
|
36
|
+
}
|
|
37
|
+
entries.set(entry.name, entry);
|
|
38
|
+
}
|
|
39
|
+
const prerequisites = new Map();
|
|
40
|
+
const dependents = new Map();
|
|
41
|
+
for (const name of entries.keys()) {
|
|
42
|
+
prerequisites.set(name, new Set());
|
|
43
|
+
dependents.set(name, new Set());
|
|
44
|
+
}
|
|
45
|
+
for (const [name] of entries) {
|
|
46
|
+
const node = bootGraph.services.get(name);
|
|
47
|
+
for (const dependency of node?.startupRequires ?? []) {
|
|
48
|
+
if (bootGraph.infraServices.has(dependency)) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (!entries.has(dependency)) {
|
|
52
|
+
throw new Error(`Cannot compile boot waves: service "${name}" hard-requires "${dependency}", ` +
|
|
53
|
+
`but that dependency is absent from the resolved roster.`);
|
|
54
|
+
}
|
|
55
|
+
prerequisites.get(name)?.add(dependency);
|
|
56
|
+
dependents.get(dependency)?.add(name);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const effectiveTier = (name) => bootGraph.services.get(name)?.tier ?? entries.get(name)?.tier ?? '';
|
|
32
60
|
const rank = (tier) => {
|
|
33
|
-
const fromGraph = bootGraph
|
|
61
|
+
const fromGraph = bootGraph.tiers[tier];
|
|
34
62
|
if (typeof fromGraph === 'number') {
|
|
35
63
|
return fromGraph;
|
|
36
64
|
}
|
|
37
|
-
const
|
|
38
|
-
if (typeof
|
|
39
|
-
return
|
|
65
|
+
const fromCanonical = CANONICAL_TIER_RANK[tier];
|
|
66
|
+
if (typeof fromCanonical === 'number') {
|
|
67
|
+
return fromCanonical;
|
|
40
68
|
}
|
|
41
69
|
return Number.MAX_SAFE_INTEGER;
|
|
42
70
|
};
|
|
71
|
+
const remaining = new Set(entries.keys());
|
|
72
|
+
const waves = [];
|
|
73
|
+
while (remaining.size > 0) {
|
|
74
|
+
const ready = [...remaining].filter((name) => (prerequisites.get(name)?.size ?? 0) === 0);
|
|
75
|
+
if (ready.length === 0) {
|
|
76
|
+
throw new Error(`Cannot compile boot waves: no dependency-free service remains among ${[
|
|
77
|
+
...remaining,
|
|
78
|
+
]
|
|
79
|
+
.sort()
|
|
80
|
+
.join(', ')}.`);
|
|
81
|
+
}
|
|
82
|
+
const orderedTiers = [...new Set(ready.map(effectiveTier))].sort((left, right) => rank(left) - rank(right) || left.localeCompare(right));
|
|
83
|
+
const tier = orderedTiers[0];
|
|
84
|
+
if (tier === undefined) {
|
|
85
|
+
throw new Error('Cannot compile boot waves: ready service set has no tier.');
|
|
86
|
+
}
|
|
87
|
+
const members = ready
|
|
88
|
+
.filter((name) => effectiveTier(name) === tier)
|
|
89
|
+
.sort()
|
|
90
|
+
.map((name) => entries.get(name))
|
|
91
|
+
.filter((entry) => entry !== undefined);
|
|
92
|
+
waves.push({ index: waves.length, tier, members });
|
|
93
|
+
for (const member of members) {
|
|
94
|
+
remaining.delete(member.name);
|
|
95
|
+
for (const dependent of dependents.get(member.name) ?? []) {
|
|
96
|
+
prerequisites.get(dependent)?.delete(member.name);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return waves;
|
|
101
|
+
}
|
|
102
|
+
function deriveTierWaves(roster) {
|
|
103
|
+
const rank = (tier) => {
|
|
104
|
+
const fromCanonical = CANONICAL_TIER_RANK[tier];
|
|
105
|
+
return typeof fromCanonical === 'number'
|
|
106
|
+
? fromCanonical
|
|
107
|
+
: Number.MAX_SAFE_INTEGER;
|
|
108
|
+
};
|
|
43
109
|
const byTier = new Map();
|
|
44
110
|
for (const entry of roster) {
|
|
45
111
|
const bucket = byTier.get(entry.tier);
|
|
@@ -54,17 +120,18 @@ function deriveWaves(roster, bootGraph) {
|
|
|
54
120
|
return orderedTiers.map((tier, index) => ({
|
|
55
121
|
index,
|
|
56
122
|
tier,
|
|
57
|
-
members: (byTier.get(tier) ?? [])
|
|
123
|
+
members: (byTier.get(tier) ?? [])
|
|
124
|
+
.slice()
|
|
125
|
+
.sort((a, b) => a.name.localeCompare(b.name)),
|
|
58
126
|
}));
|
|
59
127
|
}
|
|
60
128
|
function findWaveOrderViolations(waves, bootGraph) {
|
|
61
|
-
const
|
|
129
|
+
const waveOfService = new Map();
|
|
62
130
|
for (const wave of waves) {
|
|
63
131
|
for (const m of wave.members) {
|
|
64
|
-
|
|
132
|
+
waveOfService.set(m.name, { index: wave.index, tier: wave.tier });
|
|
65
133
|
}
|
|
66
134
|
}
|
|
67
|
-
const rank = (tier) => typeof bootGraph.tiers[tier] === 'number' ? bootGraph.tiers[tier] : Number.MAX_SAFE_INTEGER;
|
|
68
135
|
const violations = [];
|
|
69
136
|
for (const wave of waves) {
|
|
70
137
|
for (const m of wave.members) {
|
|
@@ -76,16 +143,16 @@ function findWaveOrderViolations(waves, bootGraph) {
|
|
|
76
143
|
if (bootGraph.infraServices.has(req)) {
|
|
77
144
|
continue;
|
|
78
145
|
}
|
|
79
|
-
const
|
|
80
|
-
if (
|
|
146
|
+
const required = waveOfService.get(req);
|
|
147
|
+
if (required === undefined) {
|
|
81
148
|
continue;
|
|
82
149
|
}
|
|
83
|
-
if (
|
|
150
|
+
if (required.index >= wave.index) {
|
|
84
151
|
violations.push({
|
|
85
152
|
service: m.name,
|
|
86
153
|
requires: req,
|
|
87
154
|
serviceTier: wave.tier,
|
|
88
|
-
requiresTier:
|
|
155
|
+
requiresTier: required.tier,
|
|
89
156
|
});
|
|
90
157
|
}
|
|
91
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waves.js","sourceRoot":"","sources":["../../src/runtime/waves.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"waves.js","sourceRoot":"","sources":["../../src/runtime/waves.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,10 @@ infra:
|
|
|
14
14
|
# etcd is REQUIRED — it backs cross-process service discovery.
|
|
15
15
|
# If you want the launcher to manage infra too, use the container substrate
|
|
16
16
|
# (see 02-local-container-full.yaml).
|
|
17
|
-
postgres:
|
|
17
|
+
postgres:
|
|
18
|
+
{ mode: external, url: postgresql://xema@127.0.0.1:5432, secretRef: postgres-password }
|
|
18
19
|
redis: { mode: external, url: redis://127.0.0.1:6379 }
|
|
19
20
|
etcd: { mode: external, url: http://127.0.0.1:2379 }
|
|
20
21
|
keycloak: { mode: external, url: http://127.0.0.1:8180, realm: xema }
|
|
22
|
+
secrets:
|
|
23
|
+
postgres-password: { from: env, env: XEMA_POSTGRES_PASSWORD }
|
|
@@ -8,10 +8,20 @@ app:
|
|
|
8
8
|
substrate: container
|
|
9
9
|
include: all
|
|
10
10
|
infra:
|
|
11
|
-
postgres:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
postgres:
|
|
12
|
+
{
|
|
13
|
+
mode: external,
|
|
14
|
+
url: postgresql://app@db.corp.internal:5432,
|
|
15
|
+
secretRef: corp-postgres-password,
|
|
16
|
+
}
|
|
17
|
+
keycloak: { mode: external, url: https://sso.corp/realms/xema, realm: xema }
|
|
18
|
+
objectStore:
|
|
19
|
+
{ mode: external, url: https://s3.corp.internal, bucketPrefix: xema- }
|
|
20
|
+
redis: { mode: managed }
|
|
21
|
+
etcd: { mode: managed }
|
|
22
|
+
search: { mode: managed }
|
|
23
|
+
temporal: { mode: disabled } # this install doesn't use durable workflows
|
|
24
|
+
secrets:
|
|
25
|
+
corp-postgres-password: { from: env, env: XEMA_POSTGRES_PASSWORD }
|
|
26
|
+
S3_ACCESS_KEY_ID: { from: env }
|
|
27
|
+
S3_SECRET_ACCESS_KEY: { from: env }
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# `helm upgrade --install` per service; Kubernetes owns lifecycle (rollout,
|
|
3
3
|
# restart, scaling). Infra (Postgres/etcd/...) is a cluster prerequisite, not
|
|
4
4
|
# managed by the launcher here. Env: XEMA_CHART_REPO, XEMA_NAMESPACE, KUBECONFIG.
|
|
5
|
-
# Equivalent CLI: xema serve --
|
|
5
|
+
# Equivalent CLI: xema serve --substrate appliance
|
|
6
6
|
edition: oss
|
|
7
7
|
app:
|
|
8
8
|
substrate: helm
|
|
@@ -46,6 +46,9 @@ sources:
|
|
|
46
46
|
authTokenEnv: NPM_TOKEN_ACME
|
|
47
47
|
|
|
48
48
|
infra:
|
|
49
|
-
postgres:
|
|
49
|
+
postgres:
|
|
50
|
+
{ mode: external, url: postgresql://xema@127.0.0.1:5432, secretRef: postgres-password }
|
|
50
51
|
redis: { mode: external, url: redis://127.0.0.1:6379 }
|
|
51
52
|
keycloak: { mode: external, url: http://127.0.0.1:8180, realm: xema }
|
|
53
|
+
secrets:
|
|
54
|
+
postgres-password: { from: env, env: XEMA_POSTGRES_PASSWORD }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/xema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.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,10 +21,11 @@
|
|
|
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.
|
|
25
|
-
"@xemahq/
|
|
26
|
-
"@xemahq/kernel-
|
|
27
|
-
"@xemahq/
|
|
24
|
+
"@xemahq/distribution-resolver": "^0.1.2",
|
|
25
|
+
"@xemahq/dsl": "^0.6.1",
|
|
26
|
+
"@xemahq/kernel-contracts": "^0.59.0",
|
|
27
|
+
"@xemahq/kernel-state-runtime": "^0.2.1",
|
|
28
|
+
"@xemahq/service-registry-nest": "^0.5.0",
|
|
28
29
|
"commander": "^12.1.0",
|
|
29
30
|
"reflect-metadata": "0.2.2",
|
|
30
31
|
"rxjs": "7.8.2",
|