@xemahq/xema 0.13.0 → 0.15.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 +90 -21
- package/dist/assets/appliance-base/distribution.lock.json +5144 -0
- package/dist/assets/appliance-base/images.lock.json +1706 -0
- package/dist/assets/appliance-lean/distribution.lock.json +2888 -0
- package/dist/assets/appliance-lean/images.lock.json +1229 -0
- package/dist/assets/boot-graph.json +380 -28
- package/dist/assets/cloud/distribution.lock.json +5278 -0
- package/dist/assets/cloud/images.lock.json +1713 -0
- package/dist/assets/core/distribution.lock.json +2401 -354
- package/dist/assets/core/images.lock.json +1208 -268
- package/dist/assets/distribution-assets.manifest.json +147 -0
- package/dist/assets/keycloak/realm-xema.json +412 -0
- package/dist/assets/minimal/distribution.lock.json +2710 -0
- package/dist/assets/minimal/images.lock.json +1149 -0
- package/dist/assets/oss/distribution.lock.json +3742 -494
- package/dist/assets/oss/images.lock.json +1591 -472
- package/dist/assets/starter/distribution.lock.json +3422 -0
- package/dist/assets/starter/images.lock.json +1404 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +40 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +2 -2
- 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 +437 -26
- 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 +92 -20
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/dist.d.ts +13 -0
- package/dist/commands/dist.d.ts.map +1 -1
- package/dist/commands/dist.js +51 -11
- package/dist/commands/dist.js.map +1 -1
- package/dist/commands/doctor.d.ts +25 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +422 -18
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/down.d.ts +10 -0
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +107 -33
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/export.js +1 -1
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +2 -2
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +56 -3
- package/dist/commands/init.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 +258 -0
- package/dist/commands/installation.js.map +1 -0
- package/dist/commands/license.d.ts +3 -0
- package/dist/commands/license.d.ts.map +1 -0
- package/dist/commands/license.js +97 -0
- package/dist/commands/license.js.map +1 -0
- package/dist/commands/login.d.ts +4 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +127 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logs.d.ts +21 -0
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +133 -32
- 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 +2 -2
- 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 +67 -14
- 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 +70 -5
- package/dist/commands/up.js.map +1 -1
- package/dist/dev/env-defaults.d.ts +1 -0
- package/dist/dev/env-defaults.d.ts.map +1 -1
- package/dist/dev/env-defaults.js +24 -12
- package/dist/dev/env-defaults.js.map +1 -1
- package/dist/dev/forked-worker-bootstrap-protocol.d.ts +17 -0
- package/dist/dev/forked-worker-bootstrap-protocol.d.ts.map +1 -0
- package/dist/dev/forked-worker-bootstrap-protocol.js +35 -0
- package/dist/dev/forked-worker-bootstrap-protocol.js.map +1 -0
- package/dist/dev/forked-worker-bootstrap.d.ts +18 -0
- package/dist/dev/forked-worker-bootstrap.d.ts.map +1 -0
- package/dist/dev/forked-worker-bootstrap.js +84 -0
- package/dist/dev/forked-worker-bootstrap.js.map +1 -0
- package/dist/dev/forked-worker.d.ts +29 -0
- package/dist/dev/forked-worker.d.ts.map +1 -1
- package/dist/dev/forked-worker.js +267 -42
- 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 +5 -1
- package/dist/lib/control-plane.d.ts.map +1 -1
- package/dist/lib/control-plane.js +61 -8
- 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/asset-provenance.d.ts +17 -0
- package/dist/runtime/asset-provenance.d.ts.map +1 -0
- package/dist/runtime/asset-provenance.js +29 -0
- package/dist/runtime/asset-provenance.js.map +1 -0
- package/dist/runtime/auth/client-bootstrap.d.ts +11 -0
- package/dist/runtime/auth/client-bootstrap.d.ts.map +1 -0
- package/dist/runtime/auth/client-bootstrap.js +60 -0
- package/dist/runtime/auth/client-bootstrap.js.map +1 -0
- package/dist/runtime/auth/device-flow.d.ts +43 -0
- package/dist/runtime/auth/device-flow.d.ts.map +1 -0
- package/dist/runtime/auth/device-flow.js +201 -0
- package/dist/runtime/auth/device-flow.js.map +1 -0
- package/dist/runtime/auth/session-auth.d.ts +8 -0
- package/dist/runtime/auth/session-auth.d.ts.map +1 -0
- package/dist/runtime/auth/session-auth.js +43 -0
- package/dist/runtime/auth/session-auth.js.map +1 -0
- package/dist/runtime/auth/session-store.d.ts +19 -0
- package/dist/runtime/auth/session-store.d.ts.map +1 -0
- package/dist/runtime/auth/session-store.js +83 -0
- package/dist/runtime/auth/session-store.js.map +1 -0
- package/dist/runtime/auth/token-claims.d.ts +2 -0
- package/dist/runtime/auth/token-claims.d.ts.map +1 -0
- package/dist/runtime/auth/token-claims.js +45 -0
- package/dist/runtime/auth/token-claims.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-provenance.d.ts +26 -0
- package/dist/runtime/biome-provenance.d.ts.map +1 -0
- package/dist/runtime/biome-provenance.js +70 -0
- package/dist/runtime/biome-provenance.js.map +1 -0
- package/dist/runtime/biome-publish.d.ts +48 -0
- package/dist/runtime/biome-publish.d.ts.map +1 -0
- package/dist/runtime/biome-publish.js +278 -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 +151 -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 +452 -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/cleanup.d.ts +10 -0
- package/dist/runtime/cleanup.d.ts.map +1 -0
- package/dist/runtime/cleanup.js +35 -0
- package/dist/runtime/cleanup.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 +68 -13
- 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/available-biome.d.ts.map +1 -1
- package/dist/runtime/distribution/available-biome.js +2 -0
- package/dist/runtime/distribution/available-biome.js.map +1 -1
- package/dist/runtime/distribution/compose.d.ts +2 -1
- package/dist/runtime/distribution/compose.d.ts.map +1 -1
- package/dist/runtime/distribution/compose.js +4 -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 +152 -19
- package/dist/runtime/env-seeder.js.map +1 -1
- package/dist/runtime/foreground.d.ts +9 -0
- package/dist/runtime/foreground.d.ts.map +1 -1
- package/dist/runtime/foreground.js +37 -3
- package/dist/runtime/foreground.js.map +1 -1
- package/dist/runtime/infra/infra-catalog.d.ts +34 -1
- package/dist/runtime/infra/infra-catalog.d.ts.map +1 -1
- package/dist/runtime/infra/infra-catalog.js +202 -10
- package/dist/runtime/infra/infra-catalog.js.map +1 -1
- package/dist/runtime/infra/infra-environment.d.ts +10 -0
- package/dist/runtime/infra/infra-environment.d.ts.map +1 -0
- package/dist/runtime/infra/infra-environment.js +76 -0
- package/dist/runtime/infra/infra-environment.js.map +1 -0
- package/dist/runtime/infra/infra-plan.d.ts +2 -1
- package/dist/runtime/infra/infra-plan.d.ts.map +1 -1
- package/dist/runtime/infra/infra-plan.js +10 -0
- package/dist/runtime/infra/infra-plan.js.map +1 -1
- package/dist/runtime/infra/infra-runner.d.ts +16 -1
- package/dist/runtime/infra/infra-runner.d.ts.map +1 -1
- package/dist/runtime/infra/infra-runner.js +245 -55
- package/dist/runtime/infra/infra-runner.js.map +1 -1
- package/dist/runtime/infra/keycloak-realm.d.ts +25 -0
- package/dist/runtime/infra/keycloak-realm.d.ts.map +1 -0
- package/dist/runtime/infra/keycloak-realm.js +116 -0
- package/dist/runtime/infra/keycloak-realm.js.map +1 -0
- package/dist/runtime/infra/postgres-endpoint.d.ts +8 -0
- package/dist/runtime/infra/postgres-endpoint.d.ts.map +1 -0
- package/dist/runtime/infra/postgres-endpoint.js +21 -0
- package/dist/runtime/infra/postgres-endpoint.js.map +1 -0
- package/dist/runtime/installation/compiler.d.ts +114 -0
- package/dist/runtime/installation/compiler.d.ts.map +1 -0
- package/dist/runtime/installation/compiler.js +456 -0
- package/dist/runtime/installation/compiler.js.map +1 -0
- package/dist/runtime/installation/contract.d.ts +296 -0
- package/dist/runtime/installation/contract.d.ts.map +1 -0
- package/dist/runtime/installation/contract.js +504 -0
- package/dist/runtime/installation/contract.js.map +1 -0
- package/dist/runtime/installation/current-launcher-renderer.d.ts +12 -0
- package/dist/runtime/installation/current-launcher-renderer.d.ts.map +1 -0
- package/dist/runtime/installation/current-launcher-renderer.js +123 -0
- package/dist/runtime/installation/current-launcher-renderer.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 +32 -0
- package/dist/runtime/installation/diff.d.ts.map +1 -0
- package/dist/runtime/installation/diff.js +136 -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 +9 -0
- package/dist/runtime/installation/from-current-config.d.ts.map +1 -0
- package/dist/runtime/installation/from-current-config.js +245 -0
- package/dist/runtime/installation/from-current-config.js.map +1 -0
- package/dist/runtime/installation/helm-release-readiness.d.ts +9 -0
- package/dist/runtime/installation/helm-release-readiness.d.ts.map +1 -0
- package/dist/runtime/installation/helm-release-readiness.js +97 -0
- package/dist/runtime/installation/helm-release-readiness.js.map +1 -0
- package/dist/runtime/installation/helm-release.d.ts +24 -0
- package/dist/runtime/installation/helm-release.d.ts.map +1 -0
- package/dist/runtime/installation/helm-release.js +96 -0
- package/dist/runtime/installation/helm-release.js.map +1 -0
- package/dist/runtime/installation/index.d.ts +22 -0
- package/dist/runtime/installation/index.d.ts.map +1 -0
- package/dist/runtime/installation/index.js +38 -0
- package/dist/runtime/installation/index.js.map +1 -0
- package/dist/runtime/installation/json-schema.d.ts +4 -0
- package/dist/runtime/installation/json-schema.d.ts.map +1 -0
- package/dist/runtime/installation/json-schema.js +16 -0
- package/dist/runtime/installation/json-schema.js.map +1 -0
- package/dist/runtime/installation/kubernetes-readiness.d.ts +60 -0
- package/dist/runtime/installation/kubernetes-readiness.d.ts.map +1 -0
- package/dist/runtime/installation/kubernetes-readiness.js +384 -0
- package/dist/runtime/installation/kubernetes-readiness.js.map +1 -0
- package/dist/runtime/installation/lifecycle.d.ts +25 -0
- package/dist/runtime/installation/lifecycle.d.ts.map +1 -0
- package/dist/runtime/installation/lifecycle.js +157 -0
- package/dist/runtime/installation/lifecycle.js.map +1 -0
- package/dist/runtime/installation/readiness-proof.d.ts +72 -0
- package/dist/runtime/installation/readiness-proof.d.ts.map +1 -0
- package/dist/runtime/installation/readiness-proof.js +142 -0
- package/dist/runtime/installation/readiness-proof.js.map +1 -0
- package/dist/runtime/installation/readiness.d.ts +21 -0
- package/dist/runtime/installation/readiness.d.ts.map +1 -0
- package/dist/runtime/installation/readiness.js +418 -0
- package/dist/runtime/installation/readiness.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/setup-profile.d.ts +8 -0
- package/dist/runtime/installation/setup-profile.d.ts.map +1 -0
- package/dist/runtime/installation/setup-profile.js +41 -0
- package/dist/runtime/installation/setup-profile.js.map +1 -0
- package/dist/runtime/installation/setup-renderer.d.ts +31 -0
- package/dist/runtime/installation/setup-renderer.d.ts.map +1 -0
- package/dist/runtime/installation/setup-renderer.js +238 -0
- package/dist/runtime/installation/setup-renderer.js.map +1 -0
- package/dist/runtime/installation/state-store.d.ts +28 -0
- package/dist/runtime/installation/state-store.d.ts.map +1 -0
- package/dist/runtime/installation/state-store.js +377 -0
- package/dist/runtime/installation/state-store.js.map +1 -0
- package/dist/runtime/installation/status.d.ts +24 -0
- package/dist/runtime/installation/status.d.ts.map +1 -0
- package/dist/runtime/installation/status.js +52 -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 +145 -0
- package/dist/runtime/installation/support-bundle.js.map +1 -0
- package/dist/runtime/installation/to-current-config.d.ts +4 -0
- package/dist/runtime/installation/to-current-config.d.ts.map +1 -0
- package/dist/runtime/installation/to-current-config.js +171 -0
- package/dist/runtime/installation/to-current-config.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 +117 -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 +32 -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 +96 -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 +68 -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 +80 -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 +85 -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 +35 -3
- package/dist/runtime/launch.d.ts.map +1 -1
- package/dist/runtime/launch.js +382 -37
- package/dist/runtime/launch.js.map +1 -1
- package/dist/runtime/license/license-clock.d.ts +12 -0
- package/dist/runtime/license/license-clock.d.ts.map +1 -0
- package/dist/runtime/license/license-clock.js +57 -0
- package/dist/runtime/license/license-clock.js.map +1 -0
- package/dist/runtime/license/license-report.d.ts +19 -0
- package/dist/runtime/license/license-report.d.ts.map +1 -0
- package/dist/runtime/license/license-report.js +105 -0
- package/dist/runtime/license/license-report.js.map +1 -0
- package/dist/runtime/license/license-store.d.ts +5 -0
- package/dist/runtime/license/license-store.d.ts.map +1 -0
- package/dist/runtime/license/license-store.js +11 -0
- package/dist/runtime/license/license-store.js.map +1 -0
- package/dist/runtime/license/registry-credential.d.ts +26 -0
- package/dist/runtime/license/registry-credential.d.ts.map +1 -0
- package/dist/runtime/license/registry-credential.js +94 -0
- package/dist/runtime/license/registry-credential.js.map +1 -0
- package/dist/runtime/license/resolve-license.d.ts +30 -0
- package/dist/runtime/license/resolve-license.d.ts.map +1 -0
- package/dist/runtime/license/resolve-license.js +73 -0
- package/dist/runtime/license/resolve-license.js.map +1 -0
- package/dist/runtime/license/store-license.d.ts +18 -0
- package/dist/runtime/license/store-license.d.ts.map +1 -0
- package/dist/runtime/license/store-license.js +26 -0
- package/dist/runtime/license/store-license.js.map +1 -0
- package/dist/runtime/lock-loader.d.ts +3 -6
- package/dist/runtime/lock-loader.d.ts.map +1 -1
- package/dist/runtime/lock-loader.js +26 -20
- package/dist/runtime/lock-loader.js.map +1 -1
- package/dist/runtime/native-process-group.d.ts +46 -0
- package/dist/runtime/native-process-group.d.ts.map +1 -0
- package/dist/runtime/native-process-group.js +390 -0
- package/dist/runtime/native-process-group.js.map +1 -0
- 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 +2 -0
- package/dist/runtime/paths.d.ts.map +1 -1
- package/dist/runtime/paths.js +3 -0
- package/dist/runtime/paths.js.map +1 -1
- package/dist/runtime/roster.d.ts +12 -5
- package/dist/runtime/roster.d.ts.map +1 -1
- package/dist/runtime/roster.js +89 -11
- package/dist/runtime/roster.js.map +1 -1
- package/dist/runtime/run-manifest.d.ts +52 -0
- package/dist/runtime/run-manifest.d.ts.map +1 -0
- package/dist/runtime/run-manifest.js +587 -0
- package/dist/runtime/run-manifest.js.map +1 -0
- package/dist/runtime/runner/container-preflight.d.ts +77 -0
- package/dist/runtime/runner/container-preflight.d.ts.map +1 -0
- package/dist/runtime/runner/container-preflight.js +360 -0
- package/dist/runtime/runner/container-preflight.js.map +1 -0
- package/dist/runtime/runner/container-runner.d.ts +14 -0
- package/dist/runtime/runner/container-runner.d.ts.map +1 -1
- package/dist/runtime/runner/container-runner.js +110 -14
- package/dist/runtime/runner/container-runner.js.map +1 -1
- package/dist/runtime/runner/docker-cli.d.ts +35 -2
- package/dist/runtime/runner/docker-cli.d.ts.map +1 -1
- package/dist/runtime/runner/docker-cli.js +314 -9
- package/dist/runtime/runner/docker-cli.js.map +1 -1
- package/dist/runtime/runner/health-probe.d.ts +1 -0
- package/dist/runtime/runner/health-probe.d.ts.map +1 -1
- package/dist/runtime/runner/health-probe.js +3 -2
- package/dist/runtime/runner/health-probe.js.map +1 -1
- package/dist/runtime/runner/helm-cli.d.ts +19 -1
- package/dist/runtime/runner/helm-cli.d.ts.map +1 -1
- package/dist/runtime/runner/helm-cli.js +76 -8
- package/dist/runtime/runner/helm-cli.js.map +1 -1
- package/dist/runtime/runner/helm-runner.d.ts +3 -0
- package/dist/runtime/runner/helm-runner.d.ts.map +1 -1
- package/dist/runtime/runner/helm-runner.js +23 -7
- package/dist/runtime/runner/helm-runner.js.map +1 -1
- package/dist/runtime/runner/host-platform.d.ts +39 -0
- package/dist/runtime/runner/host-platform.d.ts.map +1 -0
- package/dist/runtime/runner/host-platform.js +136 -0
- package/dist/runtime/runner/host-platform.js.map +1 -0
- package/dist/runtime/runner/kube-cli.d.ts +23 -0
- package/dist/runtime/runner/kube-cli.d.ts.map +1 -0
- package/dist/runtime/runner/kube-cli.js +112 -0
- package/dist/runtime/runner/kube-cli.js.map +1 -0
- package/dist/runtime/runner/native-runner.d.ts.map +1 -1
- package/dist/runtime/runner/native-runner.js +46 -15
- package/dist/runtime/runner/native-runner.js.map +1 -1
- package/dist/runtime/runner/service-runner.d.ts +5 -0
- package/dist/runtime/runner/service-runner.d.ts.map +1 -1
- package/dist/runtime/runner/service-runner.js.map +1 -1
- package/dist/runtime/runner/stream-outcome.d.ts +7 -0
- package/dist/runtime/runner/stream-outcome.d.ts.map +1 -0
- package/dist/runtime/runner/stream-outcome.js +13 -0
- package/dist/runtime/runner/stream-outcome.js.map +1 -0
- package/dist/runtime/secrets/managed-local-cipher.d.ts +18 -0
- package/dist/runtime/secrets/managed-local-cipher.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-cipher.js +110 -0
- package/dist/runtime/secrets/managed-local-cipher.js.map +1 -0
- package/dist/runtime/secrets/managed-local-files.d.ts +4 -0
- package/dist/runtime/secrets/managed-local-files.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-files.js +132 -0
- package/dist/runtime/secrets/managed-local-files.js.map +1 -0
- package/dist/runtime/secrets/managed-local-key-provider.d.ts +27 -0
- package/dist/runtime/secrets/managed-local-key-provider.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-key-provider.js +144 -0
- package/dist/runtime/secrets/managed-local-key-provider.js.map +1 -0
- package/dist/runtime/secrets/managed-local-secret-store.d.ts +18 -0
- package/dist/runtime/secrets/managed-local-secret-store.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-secret-store.js +82 -0
- package/dist/runtime/secrets/managed-local-secret-store.js.map +1 -0
- package/dist/runtime/secrets/managed-local-store.d.ts +33 -0
- package/dist/runtime/secrets/managed-local-store.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-store.js +121 -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 +2 -0
- package/dist/runtime/sources/credentials.d.ts.map +1 -1
- package/dist/runtime/sources/credentials.js +51 -1
- package/dist/runtime/sources/credentials.js.map +1 -1
- package/dist/runtime/sources/kinds/distribution.js +3 -3
- package/dist/runtime/sources/kinds/distribution.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/manifest-walk.d.ts +1 -0
- package/dist/runtime/sources/manifest-walk.d.ts.map +1 -1
- package/dist/runtime/sources/manifest-walk.js +16 -11
- package/dist/runtime/sources/manifest-walk.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/sources/schema.d.ts.map +1 -1
- package/dist/runtime/sources/schema.js +51 -3
- package/dist/runtime/sources/schema.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 +72 -0
- package/dist/runtime/store-client.js.map +1 -0
- package/dist/runtime/store-submit.d.ts +31 -0
- package/dist/runtime/store-submit.d.ts.map +1 -0
- package/dist/runtime/store-submit.js +77 -0
- package/dist/runtime/store-submit.js.map +1 -0
- package/dist/runtime/supervisor.d.ts +18 -0
- package/dist/runtime/supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor.js +162 -15
- 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 +20 -28
- package/xema.config.example.yaml +22 -18
- package/LICENSE +0 -176
- package/dist/lib/command-registry.d.ts +0 -5
- package/dist/lib/command-registry.d.ts.map +0 -1
- package/dist/lib/command-registry.js +0 -17
- package/dist/lib/command-registry.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canopy-refs.d.ts","sourceRoot":"","sources":["../../src/runtime/canopy-refs.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,UAAU;IAEzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAUzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAUD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAsB,GAC7B,MAAM,GAAG,SAAS,CAcpB;AAiBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAyBrE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.selectCanopyRef = selectCanopyRef;
|
|
4
|
+
exports.resolveCanopyRefs = resolveCanopyRefs;
|
|
5
|
+
const CANOPY_DOMAIN = 'canopy';
|
|
6
|
+
const SESSION_DOMAIN = 'session';
|
|
7
|
+
function selectCanopyRef(refs, verb, domain = CANOPY_DOMAIN) {
|
|
8
|
+
const matches = refs
|
|
9
|
+
.filter((ref) => ref.startsWith(`${domain}:`))
|
|
10
|
+
.filter((ref) => {
|
|
11
|
+
const afterDomain = ref.slice(domain.length + 1);
|
|
12
|
+
const withoutMajor = afterDomain.split('@')[0] ?? '';
|
|
13
|
+
const segments = withoutMajor.split('.');
|
|
14
|
+
return segments[segments.length - 1] === verb;
|
|
15
|
+
});
|
|
16
|
+
if (matches.length === 0) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return matches.sort((a, b) => majorOf(b) - majorOf(a))[0];
|
|
20
|
+
}
|
|
21
|
+
function majorOf(ref) {
|
|
22
|
+
const raw = ref.split('@')[1];
|
|
23
|
+
const parsed = Number.parseInt(raw ?? '', 10);
|
|
24
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
25
|
+
}
|
|
26
|
+
function resolveCanopyRefs(refs) {
|
|
27
|
+
const createSession = selectCanopyRef(refs, 'create-session');
|
|
28
|
+
const runTurn = selectCanopyRef(refs, 'run-turn');
|
|
29
|
+
const getMessages = selectCanopyRef(refs, 'get-messages', SESSION_DOMAIN);
|
|
30
|
+
const missing = [];
|
|
31
|
+
if (createSession === undefined) {
|
|
32
|
+
missing.push(`${CANOPY_DOMAIN}:*.create-session`);
|
|
33
|
+
}
|
|
34
|
+
if (runTurn === undefined) {
|
|
35
|
+
missing.push(`${CANOPY_DOMAIN}:*.run-turn`);
|
|
36
|
+
}
|
|
37
|
+
if (getMessages === undefined) {
|
|
38
|
+
missing.push(`${SESSION_DOMAIN}:*.get-messages`);
|
|
39
|
+
}
|
|
40
|
+
if (createSession === undefined ||
|
|
41
|
+
runTurn === undefined ||
|
|
42
|
+
getMessages === undefined) {
|
|
43
|
+
throw new Error(`Canopy is not available through this control plane: no capability ` +
|
|
44
|
+
`matching ${missing.join(' or ')} is registered or visible to you. ` +
|
|
45
|
+
`Either canopy-api is not deployed here, or its capabilities have not ` +
|
|
46
|
+
`synced, or your subject lacks a grant that would let you see them — ` +
|
|
47
|
+
`run \`xema run capability:registry.list\` to see what you can reach.`);
|
|
48
|
+
}
|
|
49
|
+
return { createSession, runTurn, getMessages };
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=canopy-refs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canopy-refs.js","sourceRoot":"","sources":["../../src/runtime/canopy-refs.ts"],"names":[],"mappings":";;AAgDA,0CAkBC;AAiBD,8CAyBC;AA3FD,MAAM,aAAa,GAAG,QAAQ,CAAC;AAG/B,MAAM,cAAc,GAAG,SAAS,CAAC;AA4BjC,SAAgB,eAAe,CAC7B,IAAuB,EACvB,IAAY,EACZ,SAAiB,aAAa;IAE9B,MAAM,OAAO,GAAG,IAAI;SACjB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;SAC7C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAErD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;IAChD,CAAC,CAAC,CAAC;IACL,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAGD,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAUD,SAAgB,iBAAiB,CAAC,IAAuB;IACvD,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,mBAAmB,CAAC,CAAC;IAAA,CAAC;IACrF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,aAAa,CAAC,CAAC;IAAA,CAAC;IACzE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,iBAAiB,CAAC,CAAC;IAAA,CAAC;IAElF,IACE,aAAa,KAAK,SAAS;QAC3B,OAAO,KAAK,SAAS;QACrB,WAAW,KAAK,SAAS,EACzB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oEAAoE;YAClE,YAAY,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,oCAAoC;YACpE,uEAAuE;YACvE,sEAAsE;YACtE,sEAAsE,CACzE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface SessionMessage {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly role: string;
|
|
4
|
+
readonly content: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function newAgentMessages(messages: readonly SessionMessage[], seenIds: ReadonlySet<string>): readonly SessionMessage[];
|
|
7
|
+
export interface ReplyPollBudget {
|
|
8
|
+
readonly attempts: number;
|
|
9
|
+
readonly intervalMs: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const DEFAULT_REPLY_BUDGET: ReplyPollBudget;
|
|
12
|
+
export declare function awaitAgentReply(fetchMessages: () => Promise<readonly SessionMessage[]>, seenIds: Set<string>, budget?: ReplyPollBudget, sleep?: (ms: number) => Promise<void>): Promise<readonly SessionMessage[]>;
|
|
13
|
+
export declare function markSeen(messages: readonly SessionMessage[], seenIds: Set<string>): void;
|
|
14
|
+
//# sourceMappingURL=canopy-replies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canopy-replies.d.ts","sourceRoot":"","sources":["../../src/runtime/canopy-replies.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAaD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAC3B,SAAS,cAAc,EAAE,CAI3B;AAGD,MAAM,WAAW,eAAe;IAE9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAUD,eAAO,MAAM,oBAAoB,EAAE,eAGlC,CAAC;AAYF,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,EACvD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,MAAM,GAAE,eAAsC,EAC9C,KAAK,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAgB,GAClD,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAiBpC;AAaD,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GACnB,IAAI,CAIN"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_REPLY_BUDGET = void 0;
|
|
4
|
+
exports.newAgentMessages = newAgentMessages;
|
|
5
|
+
exports.awaitAgentReply = awaitAgentReply;
|
|
6
|
+
exports.markSeen = markSeen;
|
|
7
|
+
const AGENT_ROLE = 'assistant';
|
|
8
|
+
function newAgentMessages(messages, seenIds) {
|
|
9
|
+
return messages.filter((m) => m.role === AGENT_ROLE && !seenIds.has(m.id));
|
|
10
|
+
}
|
|
11
|
+
exports.DEFAULT_REPLY_BUDGET = {
|
|
12
|
+
attempts: 30,
|
|
13
|
+
intervalMs: 2000,
|
|
14
|
+
};
|
|
15
|
+
async function awaitAgentReply(fetchMessages, seenIds, budget = exports.DEFAULT_REPLY_BUDGET, sleep = defaultSleep) {
|
|
16
|
+
for (let attempt = 0; attempt < budget.attempts; attempt += 1) {
|
|
17
|
+
const messages = await fetchMessages();
|
|
18
|
+
const fresh = newAgentMessages(messages, seenIds);
|
|
19
|
+
if (fresh.length > 0) {
|
|
20
|
+
for (const m of fresh) {
|
|
21
|
+
seenIds.add(m.id);
|
|
22
|
+
}
|
|
23
|
+
return fresh;
|
|
24
|
+
}
|
|
25
|
+
if (attempt < budget.attempts - 1) {
|
|
26
|
+
await sleep(budget.intervalMs);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
function defaultSleep(ms) {
|
|
32
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
33
|
+
}
|
|
34
|
+
function markSeen(messages, seenIds) {
|
|
35
|
+
for (const m of messages) {
|
|
36
|
+
seenIds.add(m.id);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=canopy-replies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canopy-replies.js","sourceRoot":"","sources":["../../src/runtime/canopy-replies.ts"],"names":[],"mappings":";;;AAwCA,4CAOC;AAiCD,0CAsBC;AAaD,4BAOC;AA5FD,MAAM,UAAU,GAAG,WAAW,CAAC;AAU/B,SAAgB,gBAAgB,CAC9B,QAAmC,EACnC,OAA4B;IAE5B,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACnD,CAAC;AACJ,CAAC;AAkBY,QAAA,oBAAoB,GAAoB;IACnD,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,IAAI;CACjB,CAAC;AAYK,KAAK,UAAU,eAAe,CACnC,aAAuD,EACvD,OAAoB,EACpB,SAA0B,4BAAoB,EAC9C,QAAuC,YAAY;IAEnD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AASD,SAAgB,QAAQ,CACtB,QAAmC,EACnC,OAAoB;IAEpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { SubjectKind } from '@xemahq/kernel-contracts/subject';
|
|
2
|
+
import type { ControlPlaneTarget } from '../lib/control-plane';
|
|
3
|
+
export interface SubjectRef {
|
|
4
|
+
readonly kind: SubjectKind;
|
|
5
|
+
readonly ref: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CapabilityInvokeRequest {
|
|
8
|
+
readonly ref: string;
|
|
9
|
+
readonly subject: SubjectRef;
|
|
10
|
+
readonly environment: string;
|
|
11
|
+
readonly input?: Record<string, unknown>;
|
|
12
|
+
readonly orgId?: string;
|
|
13
|
+
}
|
|
14
|
+
export type InvocationStatus = 'allowed' | 'denied';
|
|
15
|
+
export interface CapabilityInvokeResponse {
|
|
16
|
+
readonly status: InvocationStatus;
|
|
17
|
+
readonly auditId: string;
|
|
18
|
+
readonly output?: Record<string, unknown>;
|
|
19
|
+
readonly denial?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
export type CapabilityInvokeErrorKind = 'unreachable' | 'http';
|
|
22
|
+
export declare class CapabilityInvokeError extends Error {
|
|
23
|
+
readonly kind: CapabilityInvokeErrorKind;
|
|
24
|
+
readonly status?: number | undefined;
|
|
25
|
+
constructor(message: string, kind: CapabilityInvokeErrorKind, status?: number | undefined);
|
|
26
|
+
}
|
|
27
|
+
export declare const DEFAULT_ENVIRONMENT = "environment:project";
|
|
28
|
+
export declare function parseEnvironment(raw: string): string;
|
|
29
|
+
export declare function resolveSubject(token: string): SubjectRef;
|
|
30
|
+
export declare function readInputSource(raw: string): string;
|
|
31
|
+
export declare function parseInputObject(raw: string): Record<string, unknown>;
|
|
32
|
+
export declare function assertRouterReachable(target: ControlPlaneTarget): Promise<void>;
|
|
33
|
+
export declare function invokeCapability(target: ControlPlaneTarget, request: CapabilityInvokeRequest): Promise<CapabilityInvokeResponse>;
|
|
34
|
+
export declare function formatInvokeResult(result: CapabilityInvokeResponse): string;
|
|
35
|
+
//# sourceMappingURL=capability-invoke.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-invoke.d.ts","sourceRoot":"","sources":["../../src/runtime/capability-invoke.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAI/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAOD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAOpD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAGD,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,MAAM,CAAC;AAM/D,qBAAa,qBAAsB,SAAQ,KAAK;IAG5C,QAAQ,CAAC,IAAI,EAAE,yBAAyB;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;gBAFxB,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,yBAAyB,EAC/B,MAAM,CAAC,EAAE,MAAM,YAAA;CAK3B;AAGD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AASzD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQpD;AAiCD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CASxD;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKnD;AAID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYrE;AAWD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CAcf;AAOD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CAgCnC;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAE3E"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_ENVIRONMENT = exports.CapabilityInvokeError = void 0;
|
|
4
|
+
exports.parseEnvironment = parseEnvironment;
|
|
5
|
+
exports.resolveSubject = resolveSubject;
|
|
6
|
+
exports.readInputSource = readInputSource;
|
|
7
|
+
exports.parseInputObject = parseInputObject;
|
|
8
|
+
exports.assertRouterReachable = assertRouterReachable;
|
|
9
|
+
exports.invokeCapability = invokeCapability;
|
|
10
|
+
exports.formatInvokeResult = formatInvokeResult;
|
|
11
|
+
const node_fs_1 = require("node:fs");
|
|
12
|
+
const subject_1 = require("@xemahq/kernel-contracts/subject");
|
|
13
|
+
const http_error_1 = require("../lib/http-error");
|
|
14
|
+
class CapabilityInvokeError extends Error {
|
|
15
|
+
kind;
|
|
16
|
+
status;
|
|
17
|
+
constructor(message, kind, status) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.kind = kind;
|
|
20
|
+
this.status = status;
|
|
21
|
+
this.name = 'CapabilityInvokeError';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.CapabilityInvokeError = CapabilityInvokeError;
|
|
25
|
+
exports.DEFAULT_ENVIRONMENT = 'environment:project';
|
|
26
|
+
const ENVIRONMENT_RE = /^environment:[a-z][a-z0-9-]*$/;
|
|
27
|
+
function parseEnvironment(raw) {
|
|
28
|
+
if (!ENVIRONMENT_RE.test(raw)) {
|
|
29
|
+
throw new Error(`Invalid environment "${raw}" — expected "environment:<slug>" ` +
|
|
30
|
+
'(lowercase kebab, e.g. environment:project).');
|
|
31
|
+
}
|
|
32
|
+
return raw;
|
|
33
|
+
}
|
|
34
|
+
function subjectFromToken(token) {
|
|
35
|
+
const payloadPart = token.split('.')[1];
|
|
36
|
+
if (payloadPart === undefined || payloadPart.length === 0) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const payload = JSON.parse(Buffer.from(payloadPart, 'base64url').toString('utf8'));
|
|
41
|
+
if (typeof payload.sub === 'string' && payload.sub.length > 0) {
|
|
42
|
+
return { kind: subject_1.SubjectKind.User, ref: payload.sub };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
function resolveSubject(token) {
|
|
51
|
+
const derived = subjectFromToken(token);
|
|
52
|
+
if (derived === undefined) {
|
|
53
|
+
throw new Error('Could not derive a subject from the token: the provided credential is ' +
|
|
54
|
+
'not a decodable JWT (or carries no `sub` claim).');
|
|
55
|
+
}
|
|
56
|
+
return derived;
|
|
57
|
+
}
|
|
58
|
+
function readInputSource(raw) {
|
|
59
|
+
if (raw.startsWith('@')) {
|
|
60
|
+
return (0, node_fs_1.readFileSync)(raw.slice(1), 'utf8');
|
|
61
|
+
}
|
|
62
|
+
return raw;
|
|
63
|
+
}
|
|
64
|
+
function parseInputObject(raw) {
|
|
65
|
+
let parsed;
|
|
66
|
+
try {
|
|
67
|
+
parsed = JSON.parse(raw);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
71
|
+
throw new Error(`invalid JSON (${detail})`);
|
|
72
|
+
}
|
|
73
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
74
|
+
throw new Error('input must be a JSON object.');
|
|
75
|
+
}
|
|
76
|
+
return parsed;
|
|
77
|
+
}
|
|
78
|
+
async function assertRouterReachable(target) {
|
|
79
|
+
const url = `${target.baseUrl}/capabilities/registry`;
|
|
80
|
+
try {
|
|
81
|
+
await fetch(url, {
|
|
82
|
+
method: 'GET',
|
|
83
|
+
headers: { authorization: `Bearer ${target.token}` },
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
88
|
+
throw new CapabilityInvokeError(`capability-router unreachable at ${url}: ${detail}`, 'unreachable');
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async function invokeCapability(target, request) {
|
|
92
|
+
const url = `${target.baseUrl}/capabilities/invoke`;
|
|
93
|
+
let res;
|
|
94
|
+
try {
|
|
95
|
+
res = await fetch(url, {
|
|
96
|
+
method: 'POST',
|
|
97
|
+
headers: {
|
|
98
|
+
authorization: `Bearer ${target.token}`,
|
|
99
|
+
'content-type': 'application/json',
|
|
100
|
+
},
|
|
101
|
+
body: JSON.stringify(request),
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
106
|
+
throw new CapabilityInvokeError(`capability-router unreachable at ${url}: ${detail}`, 'unreachable');
|
|
107
|
+
}
|
|
108
|
+
const text = await res.text();
|
|
109
|
+
if (!res.ok) {
|
|
110
|
+
throw new CapabilityInvokeError(`capability invoke POST /capabilities/invoke → ${res.status}: ` +
|
|
111
|
+
(0, http_error_1.extractServerError)(res.status, text || res.statusText), 'http', res.status);
|
|
112
|
+
}
|
|
113
|
+
const body = (text.length > 0 ? JSON.parse(text) : {});
|
|
114
|
+
return body.data;
|
|
115
|
+
}
|
|
116
|
+
function formatInvokeResult(result) {
|
|
117
|
+
return JSON.stringify(result, null, 2);
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=capability-invoke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-invoke.js","sourceRoot":"","sources":["../../src/runtime/capability-invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface CleanupFailure {
|
|
2
|
+
readonly operation: string;
|
|
3
|
+
readonly error: unknown;
|
|
4
|
+
}
|
|
5
|
+
export declare function runCleanupOperations(operations: readonly {
|
|
6
|
+
readonly operation: string;
|
|
7
|
+
readonly run: () => Promise<void> | void;
|
|
8
|
+
}[]): Promise<void>;
|
|
9
|
+
export declare function combineOperationAndCleanupErrors(operation: string, operationError: unknown, cleanupError: unknown): AggregateError;
|
|
10
|
+
//# sourceMappingURL=cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/runtime/cleanup.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAOD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,SAAS;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1C,EAAE,GACF,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,EACvB,YAAY,EAAE,OAAO,GACpB,cAAc,CAYhB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runCleanupOperations = runCleanupOperations;
|
|
4
|
+
exports.combineOperationAndCleanupErrors = combineOperationAndCleanupErrors;
|
|
5
|
+
async function runCleanupOperations(operations) {
|
|
6
|
+
const failures = [];
|
|
7
|
+
for (const operation of operations) {
|
|
8
|
+
try {
|
|
9
|
+
await operation.run();
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
failures.push({ operation: operation.operation, error });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
if (failures.length === 0) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
throw new AggregateError(failures.map(({ operation, error }) => new Error(`${operation}: ${errorMessage(error)}`, { cause: error })), `Cleanup failed for ${String(failures.length)} operation(s): ${failures
|
|
19
|
+
.map(({ operation }) => operation)
|
|
20
|
+
.join(', ')}`);
|
|
21
|
+
}
|
|
22
|
+
function combineOperationAndCleanupErrors(operation, operationError, cleanupError) {
|
|
23
|
+
return new AggregateError([
|
|
24
|
+
new Error(`${operation}: ${errorMessage(operationError)}`, {
|
|
25
|
+
cause: operationError,
|
|
26
|
+
}),
|
|
27
|
+
new Error(`cleanup after ${operation}: ${errorMessage(cleanupError)}`, {
|
|
28
|
+
cause: cleanupError,
|
|
29
|
+
}),
|
|
30
|
+
], `${operation} failed and cleanup also failed`);
|
|
31
|
+
}
|
|
32
|
+
function errorMessage(error) {
|
|
33
|
+
return error instanceof Error ? error.message : String(error);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=cleanup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/runtime/cleanup.ts"],"names":[],"mappings":";;AAUA,oDA0BC;AAED,4EAgBC;AA5CM,KAAK,UAAU,oBAAoB,CACxC,UAGG;IAEH,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,MAAM,IAAI,cAAc,CACtB,QAAQ,CAAC,GAAG,CACV,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,IAAI,KAAK,CAAC,GAAG,SAAS,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CACtE,EACD,sBAAsB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,QAAQ;SACpE,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;SACjC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;AACJ,CAAC;AAED,SAAgB,gCAAgC,CAC9C,SAAiB,EACjB,cAAuB,EACvB,YAAqB;IAErB,OAAO,IAAI,cAAc,CACvB;QACE,IAAI,KAAK,CAAC,GAAG,SAAS,KAAK,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE;YACzD,KAAK,EAAE,cAAc;SACtB,CAAC;QACF,IAAI,KAAK,CAAC,iBAAiB,SAAS,KAAK,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE;YACrE,KAAK,EAAE,YAAY;SACpB,CAAC;KACH,EACD,GAAG,SAAS,iCAAiC,CAC9C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const USER_CONFIG_FILE: string;
|
|
2
|
+
export type DevModeSource = 'env' | 'config' | 'off';
|
|
3
|
+
export declare function isDevModeActive(): boolean;
|
|
4
|
+
export declare function devModeSource(): DevModeSource;
|
|
5
|
+
export declare function setDevMode(on: boolean): {
|
|
6
|
+
path: string;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=dev-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-mode.d.ts","sourceRoot":"","sources":["../../../src/runtime/config/dev-mode.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,gBAAgB,QAA0C,CAAC;AAOxE,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAiDrD,wBAAgB,eAAe,IAAI,OAAO,CAMzC;AAGD,wBAAgB,aAAa,IAAI,aAAa,CAa7C;AASD,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAoBxD"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.USER_CONFIG_FILE = void 0;
|
|
4
|
+
exports.isDevModeActive = isDevModeActive;
|
|
5
|
+
exports.devModeSource = devModeSource;
|
|
6
|
+
exports.setDevMode = setDevMode;
|
|
7
|
+
const node_fs_1 = require("node:fs");
|
|
8
|
+
const node_os_1 = require("node:os");
|
|
9
|
+
const node_path_1 = require("node:path");
|
|
10
|
+
const yaml_1 = require("yaml");
|
|
11
|
+
exports.USER_CONFIG_FILE = (0, node_path_1.join)((0, node_os_1.homedir)(), '.xema', 'config.yaml');
|
|
12
|
+
const TRUTHY_ENV = new Set(['1', 'true']);
|
|
13
|
+
const FALSY_ENV = new Set(['0', 'false']);
|
|
14
|
+
function envDevMode() {
|
|
15
|
+
const raw = process.env.XEMA_DEV;
|
|
16
|
+
if (raw === undefined) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const value = raw.trim().toLowerCase();
|
|
20
|
+
if (TRUTHY_ENV.has(value)) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
if (FALSY_ENV.has(value)) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
function configDevMode() {
|
|
29
|
+
if (!(0, node_fs_1.existsSync)(exports.USER_CONFIG_FILE)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const raw = (0, yaml_1.parse)((0, node_fs_1.readFileSync)(exports.USER_CONFIG_FILE, 'utf8'));
|
|
34
|
+
if (raw === null || typeof raw !== 'object') {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
const cli = raw.cli;
|
|
38
|
+
if (cli === null || typeof cli !== 'object') {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return cli.devMode === true;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function isDevModeActive() {
|
|
48
|
+
const env = envDevMode();
|
|
49
|
+
if (env !== undefined) {
|
|
50
|
+
return env;
|
|
51
|
+
}
|
|
52
|
+
return configDevMode();
|
|
53
|
+
}
|
|
54
|
+
function devModeSource() {
|
|
55
|
+
const env = envDevMode();
|
|
56
|
+
if (env === true) {
|
|
57
|
+
return 'env';
|
|
58
|
+
}
|
|
59
|
+
if (env === false) {
|
|
60
|
+
return 'off';
|
|
61
|
+
}
|
|
62
|
+
if (configDevMode()) {
|
|
63
|
+
return 'config';
|
|
64
|
+
}
|
|
65
|
+
return 'off';
|
|
66
|
+
}
|
|
67
|
+
function setDevMode(on) {
|
|
68
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(exports.USER_CONFIG_FILE), { recursive: true });
|
|
69
|
+
let root = {};
|
|
70
|
+
if ((0, node_fs_1.existsSync)(exports.USER_CONFIG_FILE)) {
|
|
71
|
+
const parsed = (0, yaml_1.parse)((0, node_fs_1.readFileSync)(exports.USER_CONFIG_FILE, 'utf8'));
|
|
72
|
+
if (parsed !== null && typeof parsed === 'object') {
|
|
73
|
+
root = parsed;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const cliSection = root.cli !== null && typeof root.cli === 'object'
|
|
77
|
+
? root.cli
|
|
78
|
+
: {};
|
|
79
|
+
cliSection.devMode = on;
|
|
80
|
+
root.cli = cliSection;
|
|
81
|
+
(0, node_fs_1.writeFileSync)(exports.USER_CONFIG_FILE, (0, yaml_1.stringify)(root, { aliasDuplicateObjects: false }), 'utf8');
|
|
82
|
+
return { path: exports.USER_CONFIG_FILE };
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=dev-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-mode.js","sourceRoot":"","sources":["../../../src/runtime/config/dev-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare enum InitPreset {
|
|
|
16
16
|
}
|
|
17
17
|
export declare const INIT_PRESETS: readonly InitPreset[];
|
|
18
18
|
export declare const DEFAULT_LOCAL_URLS: {
|
|
19
|
-
readonly postgres: "postgresql://
|
|
19
|
+
readonly postgres: "postgresql://xema@127.0.0.1:5432";
|
|
20
20
|
readonly redis: "redis://127.0.0.1:6379";
|
|
21
21
|
readonly keycloak: "http://127.0.0.1:8180";
|
|
22
22
|
readonly objectStore: "http://127.0.0.1:9000";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-presets.d.ts","sourceRoot":"","sources":["../../../src/runtime/config/init-presets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EAET,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAGD,eAAO,MAAM,oBAAoB,EAAE,SAAS,kBAAkB,
|
|
1
|
+
{"version":3,"file":"init-presets.d.ts","sourceRoot":"","sources":["../../../src/runtime/config/init-presets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EAET,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAGD,eAAO,MAAM,oBAAoB,EAAE,SAAS,kBAAkB,EAsC7D,CAAC;AAOF,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMjE,CAAC;AAaF,oBAAY,UAAU;IAEpB,cAAc,oBAAoB;IAElC,QAAQ,cAAc;IAEtB,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAI7C,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;IAKzC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC;CACxE;AAOD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CA6B/D,CAAC;AAEF,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,CAwCjE,CAAC;AAGF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEhE;AAUD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,YAAY,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBzB"}
|
|
@@ -5,13 +5,43 @@ exports.parseInitPreset = parseInitPreset;
|
|
|
5
5
|
exports.buildPresetConfig = buildPresetConfig;
|
|
6
6
|
const schema_1 = require("./schema");
|
|
7
7
|
exports.INFRA_COMPONENT_META = [
|
|
8
|
-
{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
|
|
8
|
+
{
|
|
9
|
+
component: schema_1.InfraComponent.Postgres,
|
|
10
|
+
label: 'Postgres',
|
|
11
|
+
defaultUrl: 'postgresql://xema@127.0.0.1:5432',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
component: schema_1.InfraComponent.Redis,
|
|
15
|
+
label: 'Redis',
|
|
16
|
+
defaultUrl: 'redis://127.0.0.1:6379',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
component: schema_1.InfraComponent.Keycloak,
|
|
20
|
+
label: 'Keycloak (identity)',
|
|
21
|
+
defaultUrl: 'http://127.0.0.1:8180',
|
|
22
|
+
needsRealm: true,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
component: schema_1.InfraComponent.ObjectStore,
|
|
26
|
+
label: 'Object store (S3 / MinIO)',
|
|
27
|
+
defaultUrl: 'http://127.0.0.1:9000',
|
|
28
|
+
needsBucketPrefix: true,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
component: schema_1.InfraComponent.Etcd,
|
|
32
|
+
label: 'etcd (service discovery)',
|
|
33
|
+
defaultUrl: 'http://127.0.0.1:2379',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
component: schema_1.InfraComponent.Search,
|
|
37
|
+
label: 'Search (OpenSearch)',
|
|
38
|
+
defaultUrl: 'http://127.0.0.1:9200',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
component: schema_1.InfraComponent.Temporal,
|
|
42
|
+
label: 'Temporal',
|
|
43
|
+
defaultUrl: 'http://127.0.0.1:7233',
|
|
44
|
+
},
|
|
15
45
|
];
|
|
16
46
|
exports.EDITION_DESCRIPTIONS = {
|
|
17
47
|
core: 'minimal floor — kernel + system + base tiers + init services (no platform biomes)',
|
|
@@ -32,7 +62,7 @@ exports.INIT_PRESETS = [
|
|
|
32
62
|
InitPreset.Appliance,
|
|
33
63
|
];
|
|
34
64
|
exports.DEFAULT_LOCAL_URLS = {
|
|
35
|
-
postgres: 'postgresql://
|
|
65
|
+
postgres: 'postgresql://xema@127.0.0.1:5432',
|
|
36
66
|
redis: 'redis://127.0.0.1:6379',
|
|
37
67
|
keycloak: 'http://127.0.0.1:8180',
|
|
38
68
|
objectStore: 'http://127.0.0.1:9000',
|
|
@@ -90,12 +120,15 @@ exports.PRESET_METAS = {
|
|
|
90
120
|
},
|
|
91
121
|
[InitPreset.Appliance]: {
|
|
92
122
|
preset: InitPreset.Appliance,
|
|
93
|
-
label: '
|
|
94
|
-
description: 'Deploys to Kubernetes via `helm upgrade --install`
|
|
123
|
+
label: 'Appliance / single-node cluster (Kubernetes via Helm)',
|
|
124
|
+
description: 'Deploys to one Kubernetes cluster via `helm upgrade --install` (one release per ' +
|
|
125
|
+
'service, one replica). Compiles to the single-node-production installation profile; ' +
|
|
126
|
+
'infra components are installed IN-CLUSTER by their own charts, not by the launcher. ' +
|
|
127
|
+
'Needs helm + a KUBECONFIG for the target cluster.',
|
|
95
128
|
substrate: schema_1.Substrate.Helm,
|
|
96
129
|
needsExternalInfra: false,
|
|
97
130
|
supportsWeb: true,
|
|
98
|
-
nextStep: 'xema
|
|
131
|
+
nextStep: 'xema up',
|
|
99
132
|
},
|
|
100
133
|
};
|
|
101
134
|
function parseInitPreset(value) {
|
|
@@ -105,14 +138,33 @@ const MANAGED = { mode: schema_1.InfraMode.Managed };
|
|
|
105
138
|
function buildPresetConfig(preset, inputs) {
|
|
106
139
|
const config = buildMinimal(preset, inputs);
|
|
107
140
|
if (inputs.infra !== undefined && Object.keys(inputs.infra).length > 0) {
|
|
108
|
-
config.infra = inputs.infra
|
|
141
|
+
config.infra = Object.fromEntries(Object.entries(inputs.infra).map(([component, binding]) => [
|
|
142
|
+
component,
|
|
143
|
+
{ ...binding },
|
|
144
|
+
]));
|
|
109
145
|
}
|
|
110
146
|
if (inputs.sources !== undefined && inputs.sources.length > 0) {
|
|
111
147
|
config.sources = inputs.sources;
|
|
112
148
|
}
|
|
149
|
+
attachExternalPostgresSecret(config);
|
|
113
150
|
(0, schema_1.parseXemaConfig)(config);
|
|
114
151
|
return config;
|
|
115
152
|
}
|
|
153
|
+
function attachExternalPostgresSecret(config) {
|
|
154
|
+
const infra = config.infra;
|
|
155
|
+
const postgres = infra?.[schema_1.InfraComponent.Postgres];
|
|
156
|
+
if (postgres?.mode !== schema_1.InfraMode.External) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const secretRef = postgres.secretRef ?? 'postgres-password';
|
|
160
|
+
infra[schema_1.InfraComponent.Postgres] = { ...postgres, secretRef };
|
|
161
|
+
config.secrets = {
|
|
162
|
+
[secretRef]: {
|
|
163
|
+
from: 'env',
|
|
164
|
+
env: 'XEMA_POSTGRES_PASSWORD',
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
}
|
|
116
168
|
function buildMinimal(preset, inputs) {
|
|
117
169
|
const realm = inputs.keycloakRealm ?? exports.DEFAULT_LOCAL_URLS.keycloakRealm;
|
|
118
170
|
switch (preset) {
|
|
@@ -135,7 +187,10 @@ function buildMinimal(preset, inputs) {
|
|
|
135
187
|
edition: inputs.edition,
|
|
136
188
|
app: { substrate: schema_1.Substrate.Container, web: { enabled: inputs.web } },
|
|
137
189
|
infra: {
|
|
138
|
-
postgres: {
|
|
190
|
+
postgres: {
|
|
191
|
+
mode: schema_1.InfraMode.External,
|
|
192
|
+
url: inputs.postgresUrl ?? exports.DEFAULT_LOCAL_URLS.postgres,
|
|
193
|
+
},
|
|
139
194
|
keycloak: {
|
|
140
195
|
mode: schema_1.InfraMode.External,
|
|
141
196
|
url: inputs.keycloakUrl ?? exports.DEFAULT_LOCAL_URLS.keycloak,
|
|
@@ -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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"}
|