@vibesdotdev/config 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -0
- package/SPEC.md +71 -0
- package/dist/adapters/cli/flags.d.ts +75 -0
- package/dist/adapters/cli/flags.d.ts.map +1 -0
- package/dist/adapters/cli/flags.js +221 -0
- package/dist/adapters/cli/flags.js.map +1 -0
- package/dist/adapters/cli/index.d.ts +12 -0
- package/dist/adapters/cli/index.d.ts.map +1 -0
- package/dist/adapters/cli/index.js +9 -0
- package/dist/adapters/cli/index.js.map +1 -0
- package/dist/adapters/cli/mappings.d.ts +17 -0
- package/dist/adapters/cli/mappings.d.ts.map +1 -0
- package/dist/adapters/cli/mappings.js +32 -0
- package/dist/adapters/cli/mappings.js.map +1 -0
- package/dist/adapters/cli/prompts.d.ts +28 -0
- package/dist/adapters/cli/prompts.d.ts.map +1 -0
- package/dist/adapters/cli/prompts.js +55 -0
- package/dist/adapters/cli/prompts.js.map +1 -0
- package/dist/adapters/cli/schemas/flags.schema.d.ts +8 -0
- package/dist/adapters/cli/schemas/flags.schema.d.ts.map +1 -0
- package/dist/adapters/cli/schemas/flags.schema.js +2 -0
- package/dist/adapters/cli/schemas/flags.schema.js.map +1 -0
- package/dist/adapters/cli/schemas/mappings.schema.d.ts +2 -0
- package/dist/adapters/cli/schemas/mappings.schema.d.ts.map +1 -0
- package/dist/adapters/cli/schemas/mappings.schema.js +2 -0
- package/dist/adapters/cli/schemas/mappings.schema.js.map +1 -0
- package/dist/adapters/cli/schemas/prompts.schema.d.ts +5 -0
- package/dist/adapters/cli/schemas/prompts.schema.d.ts.map +1 -0
- package/dist/adapters/cli/schemas/prompts.schema.js +2 -0
- package/dist/adapters/cli/schemas/prompts.schema.js.map +1 -0
- package/dist/adapters/cli/schemas/wizard.schema.d.ts +19 -0
- package/dist/adapters/cli/schemas/wizard.schema.d.ts.map +1 -0
- package/dist/adapters/cli/schemas/wizard.schema.js +2 -0
- package/dist/adapters/cli/schemas/wizard.schema.js.map +1 -0
- package/dist/adapters/cli/wizard.d.ts +33 -0
- package/dist/adapters/cli/wizard.d.ts.map +1 -0
- package/dist/adapters/cli/wizard.js +77 -0
- package/dist/adapters/cli/wizard.js.map +1 -0
- package/dist/browser/index.d.ts +7 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +4 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/cli/settings.descriptor.d.ts +9 -0
- package/dist/cli/settings.descriptor.d.ts.map +1 -0
- package/dist/cli/settings.descriptor.js +18 -0
- package/dist/cli/settings.descriptor.js.map +1 -0
- package/dist/cli/types.d.ts +57 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +9 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/client/index.d.ts +19 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +145 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/storage.d.ts +48 -0
- package/dist/client/storage.d.ts.map +1 -0
- package/dist/client/storage.js +46 -0
- package/dist/client/storage.js.map +1 -0
- package/dist/collection/collection.d.ts +46 -0
- package/dist/collection/collection.d.ts.map +1 -0
- package/dist/collection/collection.js +93 -0
- package/dist/collection/collection.js.map +1 -0
- package/dist/collection/index.d.ts +6 -0
- package/dist/collection/index.d.ts.map +1 -0
- package/dist/collection/index.js +5 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/common/index.d.ts +7 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +4 -0
- package/dist/common/index.js.map +1 -0
- package/dist/config.context.descriptor.d.ts +21 -0
- package/dist/config.context.descriptor.d.ts.map +1 -0
- package/dist/config.context.descriptor.js +11 -0
- package/dist/config.context.descriptor.js.map +1 -0
- package/dist/config.plugin.d.ts +15 -0
- package/dist/config.plugin.d.ts.map +1 -0
- package/dist/config.plugin.js +166 -0
- package/dist/config.plugin.js.map +1 -0
- package/dist/crud/base-types.d.ts +10 -0
- package/dist/crud/base-types.d.ts.map +1 -0
- package/dist/crud/base-types.js +10 -0
- package/dist/crud/base-types.js.map +1 -0
- package/dist/crud/index.d.ts +4 -0
- package/dist/crud/index.d.ts.map +1 -0
- package/dist/crud/index.js +2 -0
- package/dist/crud/index.js.map +1 -0
- package/dist/crud/schemas/base-types.schema.d.ts +19 -0
- package/dist/crud/schemas/base-types.schema.d.ts.map +1 -0
- package/dist/crud/schemas/base-types.schema.js +2 -0
- package/dist/crud/schemas/base-types.schema.js.map +1 -0
- package/dist/crud/schemas/shared.schema.d.ts +13 -0
- package/dist/crud/schemas/shared.schema.d.ts.map +1 -0
- package/dist/crud/schemas/shared.schema.js +2 -0
- package/dist/crud/schemas/shared.schema.js.map +1 -0
- package/dist/crud/shared.d.ts +8 -0
- package/dist/crud/shared.d.ts.map +1 -0
- package/dist/crud/shared.js +8 -0
- package/dist/crud/shared.js.map +1 -0
- package/dist/crud/types.d.ts +250 -0
- package/dist/crud/types.d.ts.map +1 -0
- package/dist/crud/types.js +22 -0
- package/dist/crud/types.js.map +1 -0
- package/dist/docs/environment.docs.descriptor.d.ts +4 -0
- package/dist/docs/environment.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/environment.docs.descriptor.js +383 -0
- package/dist/docs/environment.docs.descriptor.js.map +1 -0
- package/dist/docs/manifests.docs.descriptor.d.ts +4 -0
- package/dist/docs/manifests.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/manifests.docs.descriptor.js +503 -0
- package/dist/docs/manifests.docs.descriptor.js.map +1 -0
- package/dist/docs/validation.docs.descriptor.d.ts +4 -0
- package/dist/docs/validation.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/validation.docs.descriptor.js +441 -0
- package/dist/docs/validation.docs.descriptor.js.map +1 -0
- package/dist/doctor.d.ts +42 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +119 -0
- package/dist/doctor.js.map +1 -0
- package/dist/env.d.ts +28 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +75 -0
- package/dist/env.js.map +1 -0
- package/dist/env.runtime.d.ts +19 -0
- package/dist/env.runtime.d.ts.map +1 -0
- package/dist/env.runtime.js +37 -0
- package/dist/env.runtime.js.map +1 -0
- package/dist/environment/current.d.ts +32 -0
- package/dist/environment/current.d.ts.map +1 -0
- package/dist/environment/current.js +91 -0
- package/dist/environment/current.js.map +1 -0
- package/dist/environment/environment.config.descriptor.d.ts +11 -0
- package/dist/environment/environment.config.descriptor.d.ts.map +1 -0
- package/dist/environment/environment.config.descriptor.js +51 -0
- package/dist/environment/environment.config.descriptor.js.map +1 -0
- package/dist/environment/environment.config.schema.d.ts +47 -0
- package/dist/environment/environment.config.schema.d.ts.map +1 -0
- package/dist/environment/environment.config.schema.js +19 -0
- package/dist/environment/environment.config.schema.js.map +1 -0
- package/dist/environment/environment.local.descriptor.d.ts +11 -0
- package/dist/environment/environment.local.descriptor.d.ts.map +1 -0
- package/dist/environment/environment.local.descriptor.js +42 -0
- package/dist/environment/environment.local.descriptor.js.map +1 -0
- package/dist/environment/environment.plugin.d.ts +9 -0
- package/dist/environment/environment.plugin.d.ts.map +1 -0
- package/dist/environment/environment.plugin.js +27 -0
- package/dist/environment/environment.plugin.js.map +1 -0
- package/dist/environment/environment.production.descriptor.d.ts +10 -0
- package/dist/environment/environment.production.descriptor.d.ts.map +1 -0
- package/dist/environment/environment.production.descriptor.js +37 -0
- package/dist/environment/environment.production.descriptor.js.map +1 -0
- package/dist/environment/environment.staging.descriptor.d.ts +11 -0
- package/dist/environment/environment.staging.descriptor.d.ts.map +1 -0
- package/dist/environment/environment.staging.descriptor.js +22 -0
- package/dist/environment/environment.staging.descriptor.js.map +1 -0
- package/dist/environment/index.d.ts +8 -0
- package/dist/environment/index.d.ts.map +1 -0
- package/dist/environment/index.js +9 -0
- package/dist/environment/index.js.map +1 -0
- package/dist/environment/kinds/environment.default.d.ts +23 -0
- package/dist/environment/kinds/environment.default.d.ts.map +1 -0
- package/dist/environment/kinds/environment.default.js +49 -0
- package/dist/environment/kinds/environment.default.js.map +1 -0
- package/dist/environment/kinds/environment.interface.d.ts +7 -0
- package/dist/environment/kinds/environment.interface.d.ts.map +1 -0
- package/dist/environment/kinds/environment.interface.js +7 -0
- package/dist/environment/kinds/environment.interface.js.map +1 -0
- package/dist/environment/kinds/environment.kind.d.ts +10 -0
- package/dist/environment/kinds/environment.kind.d.ts.map +1 -0
- package/dist/environment/kinds/environment.kind.js +57 -0
- package/dist/environment/kinds/environment.kind.js.map +1 -0
- package/dist/environment/kinds/environment.schema.d.ts +34 -0
- package/dist/environment/kinds/environment.schema.d.ts.map +1 -0
- package/dist/environment/kinds/environment.schema.js +46 -0
- package/dist/environment/kinds/environment.schema.js.map +1 -0
- package/dist/environment/kinds/index.d.ts +8 -0
- package/dist/environment/kinds/index.d.ts.map +1 -0
- package/dist/environment/kinds/index.js +7 -0
- package/dist/environment/kinds/index.js.map +1 -0
- package/dist/environment/kinds/schemas/environment.interface.schema.d.ts +11 -0
- package/dist/environment/kinds/schemas/environment.interface.schema.d.ts.map +1 -0
- package/dist/environment/kinds/schemas/environment.interface.schema.js +2 -0
- package/dist/environment/kinds/schemas/environment.interface.schema.js.map +1 -0
- package/dist/environment/kinds/schemas/environment.schema.d.ts +30 -0
- package/dist/environment/kinds/schemas/environment.schema.d.ts.map +1 -0
- package/dist/environment/kinds/schemas/environment.schema.js +2 -0
- package/dist/environment/kinds/schemas/environment.schema.js.map +1 -0
- package/dist/environment/schemas/current.schema.d.ts +20 -0
- package/dist/environment/schemas/current.schema.d.ts.map +1 -0
- package/dist/environment/schemas/current.schema.js +2 -0
- package/dist/environment/schemas/current.schema.js.map +1 -0
- package/dist/environment/schemas/environment.config.schema.d.ts +4 -0
- package/dist/environment/schemas/environment.config.schema.d.ts.map +1 -0
- package/dist/environment/schemas/environment.config.schema.js +2 -0
- package/dist/environment/schemas/environment.config.schema.js.map +1 -0
- package/dist/extensions/index.d.ts +8 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +8 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/registry.d.ts +41 -0
- package/dist/extensions/registry.d.ts.map +1 -0
- package/dist/extensions/registry.js +142 -0
- package/dist/extensions/registry.js.map +1 -0
- package/dist/extensions/types.d.ts +101 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/extensions/types.js +8 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/form/core/field-resolver.d.ts +42 -0
- package/dist/form/core/field-resolver.d.ts.map +1 -0
- package/dist/form/core/field-resolver.js +293 -0
- package/dist/form/core/field-resolver.js.map +1 -0
- package/dist/form/core/groups.d.ts +20 -0
- package/dist/form/core/groups.d.ts.map +1 -0
- package/dist/form/core/groups.js +69 -0
- package/dist/form/core/groups.js.map +1 -0
- package/dist/form/core/index.d.ts +8 -0
- package/dist/form/core/index.d.ts.map +1 -0
- package/dist/form/core/index.js +6 -0
- package/dist/form/core/index.js.map +1 -0
- package/dist/form/core/nested-utils.d.ts +40 -0
- package/dist/form/core/nested-utils.d.ts.map +1 -0
- package/dist/form/core/nested-utils.js +98 -0
- package/dist/form/core/nested-utils.js.map +1 -0
- package/dist/form/core/schemas/validation.schema.d.ts +9 -0
- package/dist/form/core/schemas/validation.schema.d.ts.map +1 -0
- package/dist/form/core/schemas/validation.schema.js +2 -0
- package/dist/form/core/schemas/validation.schema.js.map +1 -0
- package/dist/form/core/types.d.ts +103 -0
- package/dist/form/core/types.d.ts.map +1 -0
- package/dist/form/core/types.js +2 -0
- package/dist/form/core/types.js.map +1 -0
- package/dist/form/core/validation.d.ts +23 -0
- package/dist/form/core/validation.d.ts.map +1 -0
- package/dist/form/core/validation.js +103 -0
- package/dist/form/core/validation.js.map +1 -0
- package/dist/form/core/visibility.d.ts +37 -0
- package/dist/form/core/visibility.d.ts.map +1 -0
- package/dist/form/core/visibility.js +128 -0
- package/dist/form/core/visibility.js.map +1 -0
- package/dist/form/index.d.ts +8 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/index.js +2 -0
- package/dist/form/index.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/loader/cli/index.d.ts +61 -0
- package/dist/loader/cli/index.d.ts.map +1 -0
- package/dist/loader/cli/index.js +263 -0
- package/dist/loader/cli/index.js.map +1 -0
- package/dist/loader/cli/loaders.d.ts +13 -0
- package/dist/loader/cli/loaders.d.ts.map +1 -0
- package/dist/loader/cli/loaders.js +132 -0
- package/dist/loader/cli/loaders.js.map +1 -0
- package/dist/loader/cli/types.d.ts +152 -0
- package/dist/loader/cli/types.d.ts.map +1 -0
- package/dist/loader/cli/types.js +5 -0
- package/dist/loader/cli/types.js.map +1 -0
- package/dist/loader/cli/utils.d.ts +53 -0
- package/dist/loader/cli/utils.d.ts.map +1 -0
- package/dist/loader/cli/utils.js +198 -0
- package/dist/loader/cli/utils.js.map +1 -0
- package/dist/loader/client.d.ts +18 -0
- package/dist/loader/client.d.ts.map +1 -0
- package/dist/loader/client.js +109 -0
- package/dist/loader/client.js.map +1 -0
- package/dist/loader/discovery.d.ts +48 -0
- package/dist/loader/discovery.d.ts.map +1 -0
- package/dist/loader/discovery.js +253 -0
- package/dist/loader/discovery.js.map +1 -0
- package/dist/loader/file-loader.d.ts +17 -0
- package/dist/loader/file-loader.d.ts.map +1 -0
- package/dist/loader/file-loader.js +237 -0
- package/dist/loader/file-loader.js.map +1 -0
- package/dist/loader/index.d.ts +9 -0
- package/dist/loader/index.d.ts.map +1 -0
- package/dist/loader/index.js +8 -0
- package/dist/loader/index.js.map +1 -0
- package/dist/loader/index.server.d.ts +66 -0
- package/dist/loader/index.server.d.ts.map +1 -0
- package/dist/loader/index.server.js +256 -0
- package/dist/loader/index.server.js.map +1 -0
- package/dist/loader/merge.d.ts +88 -0
- package/dist/loader/merge.d.ts.map +1 -0
- package/dist/loader/merge.js +301 -0
- package/dist/loader/merge.js.map +1 -0
- package/dist/loader/schemas/merge.schema.d.ts +8 -0
- package/dist/loader/schemas/merge.schema.d.ts.map +1 -0
- package/dist/loader/schemas/merge.schema.js +2 -0
- package/dist/loader/schemas/merge.schema.js.map +1 -0
- package/dist/loader/schemas/validation.schema.d.ts +17 -0
- package/dist/loader/schemas/validation.schema.d.ts.map +1 -0
- package/dist/loader/schemas/validation.schema.js +2 -0
- package/dist/loader/schemas/validation.schema.js.map +1 -0
- package/dist/loader/server.d.ts +3 -0
- package/dist/loader/server.d.ts.map +1 -0
- package/dist/loader/server.js +2 -0
- package/dist/loader/server.js.map +1 -0
- package/dist/loader/types.d.ts +136 -0
- package/dist/loader/types.d.ts.map +1 -0
- package/dist/loader/types.js +24 -0
- package/dist/loader/types.js.map +1 -0
- package/dist/loader/validation.d.ts +59 -0
- package/dist/loader/validation.d.ts.map +1 -0
- package/dist/loader/validation.js +218 -0
- package/dist/loader/validation.js.map +1 -0
- package/dist/manifest/builder.d.ts +172 -0
- package/dist/manifest/builder.d.ts.map +1 -0
- package/dist/manifest/builder.js +336 -0
- package/dist/manifest/builder.js.map +1 -0
- package/dist/manifest/config-manifest.d.ts +199 -0
- package/dist/manifest/config-manifest.d.ts.map +1 -0
- package/dist/manifest/config-manifest.js +388 -0
- package/dist/manifest/config-manifest.js.map +1 -0
- package/dist/manifest/index.d.ts +10 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +20 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/manifest/schema.d.ts +460 -0
- package/dist/manifest/schema.d.ts.map +1 -0
- package/dist/manifest/schema.js +187 -0
- package/dist/manifest/schema.js.map +1 -0
- package/dist/manifest/schemas/builder.schema.d.ts +20 -0
- package/dist/manifest/schemas/builder.schema.d.ts.map +1 -0
- package/dist/manifest/schemas/builder.schema.js +2 -0
- package/dist/manifest/schemas/builder.schema.js.map +1 -0
- package/dist/manifest/schemas/config-manifest.schema.d.ts +2 -0
- package/dist/manifest/schemas/config-manifest.schema.d.ts.map +1 -0
- package/dist/manifest/schemas/config-manifest.schema.js +2 -0
- package/dist/manifest/schemas/config-manifest.schema.js.map +1 -0
- package/dist/manifest/schemas/schema.schema.d.ts +83 -0
- package/dist/manifest/schemas/schema.schema.d.ts.map +1 -0
- package/dist/manifest/schemas/schema.schema.js +2 -0
- package/dist/manifest/schemas/schema.schema.js.map +1 -0
- package/dist/manifest/types.d.ts +563 -0
- package/dist/manifest/types.d.ts.map +1 -0
- package/dist/manifest/types.js +9 -0
- package/dist/manifest/types.js.map +1 -0
- package/dist/routing/index.d.ts +29 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +35 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/merge.d.ts +164 -0
- package/dist/routing/merge.d.ts.map +1 -0
- package/dist/routing/merge.js +460 -0
- package/dist/routing/merge.js.map +1 -0
- package/dist/routing/registry.d.ts +145 -0
- package/dist/routing/registry.d.ts.map +1 -0
- package/dist/routing/registry.js +459 -0
- package/dist/routing/registry.js.map +1 -0
- package/dist/routing/schemas/merge.schema.d.ts +5 -0
- package/dist/routing/schemas/merge.schema.d.ts.map +1 -0
- package/dist/routing/schemas/merge.schema.js +2 -0
- package/dist/routing/schemas/merge.schema.js.map +1 -0
- package/dist/routing/types.d.ts +358 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/routing/types.js +89 -0
- package/dist/routing/types.js.map +1 -0
- package/dist/schema/extend-zod.d.ts +137 -0
- package/dist/schema/extend-zod.d.ts.map +1 -0
- package/dist/schema/extend-zod.js +243 -0
- package/dist/schema/extend-zod.js.map +1 -0
- package/dist/schema/index.d.ts +9 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +10 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/references.d.ts +9 -0
- package/dist/schema/references.d.ts.map +1 -0
- package/dist/schema/references.js +9 -0
- package/dist/schema/references.js.map +1 -0
- package/dist/schema/resolver.d.ts +45 -0
- package/dist/schema/resolver.d.ts.map +1 -0
- package/dist/schema/resolver.js +267 -0
- package/dist/schema/resolver.js.map +1 -0
- package/dist/schema/schemas/extend-zod.schema.d.ts +16 -0
- package/dist/schema/schemas/extend-zod.schema.d.ts.map +1 -0
- package/dist/schema/schemas/extend-zod.schema.js +2 -0
- package/dist/schema/schemas/extend-zod.schema.js.map +1 -0
- package/dist/schema/schemas/references.schema.d.ts +70 -0
- package/dist/schema/schemas/references.schema.d.ts.map +1 -0
- package/dist/schema/schemas/references.schema.js +2 -0
- package/dist/schema/schemas/references.schema.js.map +1 -0
- package/dist/schemas/collection.d.ts +31 -0
- package/dist/schemas/collection.d.ts.map +1 -0
- package/dist/schemas/collection.js +22 -0
- package/dist/schemas/collection.js.map +1 -0
- package/dist/schemas/config-manifest-descriptor.d.ts +495 -0
- package/dist/schemas/config-manifest-descriptor.d.ts.map +1 -0
- package/dist/schemas/config-manifest-descriptor.js +210 -0
- package/dist/schemas/config-manifest-descriptor.js.map +1 -0
- package/dist/schemas/config-registry-state.d.ts +8 -0
- package/dist/schemas/config-registry-state.d.ts.map +1 -0
- package/dist/schemas/config-registry-state.js +6 -0
- package/dist/schemas/config-registry-state.js.map +1 -0
- package/dist/schemas/doctor.schema.d.ts +25 -0
- package/dist/schemas/doctor.schema.d.ts.map +1 -0
- package/dist/schemas/doctor.schema.js +2 -0
- package/dist/schemas/doctor.schema.js.map +1 -0
- package/dist/schemas/index.d.ts +8 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +21 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/server/index.d.ts +5 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +4 -0
- package/dist/server/index.js.map +1 -0
- package/dist/services/config-accessor.d.ts +40 -0
- package/dist/services/config-accessor.d.ts.map +1 -0
- package/dist/services/config-accessor.js +180 -0
- package/dist/services/config-accessor.js.map +1 -0
- package/dist/services/config-storage/index.d.ts +8 -0
- package/dist/services/config-storage/index.d.ts.map +1 -0
- package/dist/services/config-storage/index.js +7 -0
- package/dist/services/config-storage/index.js.map +1 -0
- package/dist/services/config-storage/service.d.ts +63 -0
- package/dist/services/config-storage/service.d.ts.map +1 -0
- package/dist/services/config-storage/service.js +234 -0
- package/dist/services/config-storage/service.js.map +1 -0
- package/dist/services/config.d.ts +3 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/config.js +30 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/encryption.d.ts +114 -0
- package/dist/services/encryption.d.ts.map +1 -0
- package/dist/services/encryption.js +232 -0
- package/dist/services/encryption.js.map +1 -0
- package/dist/services/index.d.ts +12 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +16 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/loader/loader.descriptor.d.ts +103 -0
- package/dist/services/loader/loader.descriptor.d.ts.map +1 -0
- package/dist/services/loader/loader.descriptor.js +60 -0
- package/dist/services/loader/loader.descriptor.js.map +1 -0
- package/dist/services/loader/loader.impl.cloud.d.ts +55 -0
- package/dist/services/loader/loader.impl.cloud.d.ts.map +1 -0
- package/dist/services/loader/loader.impl.cloud.js +182 -0
- package/dist/services/loader/loader.impl.cloud.js.map +1 -0
- package/dist/services/loader/loader.impl.consumer.d.ts +48 -0
- package/dist/services/loader/loader.impl.consumer.d.ts.map +1 -0
- package/dist/services/loader/loader.impl.consumer.js +175 -0
- package/dist/services/loader/loader.impl.consumer.js.map +1 -0
- package/dist/services/loader/loader.impl.consumer.local-first.d.ts +59 -0
- package/dist/services/loader/loader.impl.consumer.local-first.d.ts.map +1 -0
- package/dist/services/loader/loader.impl.consumer.local-first.js +347 -0
- package/dist/services/loader/loader.impl.consumer.local-first.js.map +1 -0
- package/dist/services/manifest-utils.d.ts +47 -0
- package/dist/services/manifest-utils.d.ts.map +1 -0
- package/dist/services/manifest-utils.js +105 -0
- package/dist/services/manifest-utils.js.map +1 -0
- package/dist/services/schemas/config-accessor.schema.d.ts +10 -0
- package/dist/services/schemas/config-accessor.schema.d.ts.map +1 -0
- package/dist/services/schemas/config-accessor.schema.js +2 -0
- package/dist/services/schemas/config-accessor.schema.js.map +1 -0
- package/dist/services/schemas/encryption.schema.d.ts +22 -0
- package/dist/services/schemas/encryption.schema.d.ts.map +1 -0
- package/dist/services/schemas/encryption.schema.js +2 -0
- package/dist/services/schemas/encryption.schema.js.map +1 -0
- package/dist/services/schemas/manifest-utils.schema.d.ts +4 -0
- package/dist/services/schemas/manifest-utils.schema.d.ts.map +1 -0
- package/dist/services/schemas/manifest-utils.schema.js +2 -0
- package/dist/services/schemas/manifest-utils.schema.js.map +1 -0
- package/dist/settings/assemble.d.ts +28 -0
- package/dist/settings/assemble.d.ts.map +1 -0
- package/dist/settings/assemble.js +30 -0
- package/dist/settings/assemble.js.map +1 -0
- package/dist/settings/index.d.ts +10 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +10 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/settings-section.schema.d.ts +49 -0
- package/dist/settings/settings-section.schema.d.ts.map +1 -0
- package/dist/settings/settings-section.schema.js +70 -0
- package/dist/settings/settings-section.schema.js.map +1 -0
- package/dist/storage/adapter.d.ts +11 -0
- package/dist/storage/adapter.d.ts.map +1 -0
- package/dist/storage/adapter.js +8 -0
- package/dist/storage/adapter.js.map +1 -0
- package/dist/storage/index.d.ts +8 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +8 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/schemas.d.ts +257 -0
- package/dist/storage/schemas.d.ts.map +1 -0
- package/dist/storage/schemas.js +179 -0
- package/dist/storage/schemas.js.map +1 -0
- package/dist/storage/types.d.ts +74 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +7 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/system-constants.d.ts +95 -0
- package/dist/system-constants.d.ts.map +1 -0
- package/dist/system-constants.js +110 -0
- package/dist/system-constants.js.map +1 -0
- package/package.json +417 -0
- package/src/adapters/cli/flags.ts +260 -0
- package/src/adapters/cli/index.ts +24 -0
- package/src/adapters/cli/mappings.ts +43 -0
- package/src/adapters/cli/prompts.ts +70 -0
- package/src/adapters/cli/schemas/flags.schema.ts +8 -0
- package/src/adapters/cli/schemas/mappings.schema.ts +3 -0
- package/src/adapters/cli/schemas/prompts.schema.ts +4 -0
- package/src/adapters/cli/schemas/wizard.schema.ts +21 -0
- package/src/adapters/cli/wizard.ts +106 -0
- package/src/adapters/web/components/ManifestForm.svelte +817 -0
- package/src/browser/index.ts +86 -0
- package/src/cli/settings.descriptor.ts +23 -0
- package/src/cli/types.ts +59 -0
- package/src/client/index.ts +169 -0
- package/src/client/storage.ts +76 -0
- package/src/collection/collection.ts +121 -0
- package/src/collection/index.ts +6 -0
- package/src/common/index.ts +86 -0
- package/src/config.context.descriptor.ts +12 -0
- package/src/config.plugin.ts +214 -0
- package/src/crud/base-types.ts +10 -0
- package/src/crud/index.ts +15 -0
- package/src/crud/schemas/base-types.schema.ts +20 -0
- package/src/crud/schemas/shared.schema.ts +14 -0
- package/src/crud/shared.ts +8 -0
- package/src/crud/types.ts +299 -0
- package/src/docs/environment.docs.descriptor.ts +385 -0
- package/src/docs/manifests.docs.descriptor.ts +505 -0
- package/src/docs/validation.docs.descriptor.ts +443 -0
- package/src/doctor.ts +143 -0
- package/src/env.runtime.ts +49 -0
- package/src/env.ts +91 -0
- package/src/environment/current.ts +108 -0
- package/src/environment/environment.config.descriptor.ts +60 -0
- package/src/environment/environment.config.schema.ts +24 -0
- package/src/environment/environment.local.descriptor.ts +45 -0
- package/src/environment/environment.plugin.ts +31 -0
- package/src/environment/environment.production.descriptor.ts +40 -0
- package/src/environment/environment.staging.descriptor.ts +25 -0
- package/src/environment/index.ts +22 -0
- package/src/environment/kinds/environment.default.ts +57 -0
- package/src/environment/kinds/environment.interface.ts +10 -0
- package/src/environment/kinds/environment.kind.ts +69 -0
- package/src/environment/kinds/environment.schema.ts +57 -0
- package/src/environment/kinds/index.ts +8 -0
- package/src/environment/kinds/schemas/environment.interface.schema.ts +11 -0
- package/src/environment/kinds/schemas/environment.schema.ts +24 -0
- package/src/environment/schemas/current.schema.ts +21 -0
- package/src/environment/schemas/environment.config.schema.ts +3 -0
- package/src/extensions/index.ts +26 -0
- package/src/extensions/registry.ts +179 -0
- package/src/extensions/types.ts +123 -0
- package/src/form/core/field-resolver.ts +380 -0
- package/src/form/core/groups.ts +96 -0
- package/src/form/core/index.ts +41 -0
- package/src/form/core/nested-utils.ts +115 -0
- package/src/form/core/schemas/validation.schema.ts +9 -0
- package/src/form/core/types.ts +115 -0
- package/src/form/core/validation.ts +137 -0
- package/src/form/core/visibility.ts +172 -0
- package/src/form/index.ts +36 -0
- package/src/index.ts +69 -0
- package/src/js-yaml.d.ts +4 -0
- package/src/loader/cli/index.ts +386 -0
- package/src/loader/cli/loaders.ts +153 -0
- package/src/loader/cli/types.ts +181 -0
- package/src/loader/cli/utils.ts +236 -0
- package/src/loader/client.ts +140 -0
- package/src/loader/discovery.ts +291 -0
- package/src/loader/file-loader.ts +262 -0
- package/src/loader/index.server.ts +389 -0
- package/src/loader/index.ts +18 -0
- package/src/loader/merge.ts +366 -0
- package/src/loader/schemas/merge.schema.ts +8 -0
- package/src/loader/schemas/validation.schema.ts +18 -0
- package/src/loader/server.ts +15 -0
- package/src/loader/types.ts +142 -0
- package/src/loader/validation.ts +261 -0
- package/src/manifest/builder.ts +452 -0
- package/src/manifest/config-manifest.ts +482 -0
- package/src/manifest/index.ts +92 -0
- package/src/manifest/schema.ts +249 -0
- package/src/manifest/schemas/builder.schema.ts +33 -0
- package/src/manifest/schemas/config-manifest.schema.ts +1 -0
- package/src/manifest/schemas/schema.schema.ts +99 -0
- package/src/manifest/types.ts +726 -0
- package/src/routing/index.ts +105 -0
- package/src/routing/merge.ts +589 -0
- package/src/routing/registry.ts +595 -0
- package/src/routing/schemas/merge.schema.ts +6 -0
- package/src/routing/types.ts +470 -0
- package/src/schema/extend-zod.ts +289 -0
- package/src/schema/index.ts +44 -0
- package/src/schema/references.ts +21 -0
- package/src/schema/resolver.ts +343 -0
- package/src/schema/schemas/extend-zod.schema.ts +16 -0
- package/src/schema/schemas/references.schema.ts +86 -0
- package/src/schemas/collection.ts +38 -0
- package/src/schemas/config-manifest-descriptor.ts +259 -0
- package/src/schemas/config-registry-state.ts +13 -0
- package/src/schemas/doctor.schema.ts +27 -0
- package/src/schemas/index.ts +53 -0
- package/src/server/index.ts +4 -0
- package/src/services/config-accessor.ts +218 -0
- package/src/services/config-storage/index.ts +8 -0
- package/src/services/config-storage/service.ts +355 -0
- package/src/services/config.ts +37 -0
- package/src/services/encryption.ts +260 -0
- package/src/services/index.ts +34 -0
- package/src/services/loader/loader.descriptor.ts +96 -0
- package/src/services/loader/loader.impl.cloud.ts +214 -0
- package/src/services/loader/loader.impl.consumer.local-first.ts +417 -0
- package/src/services/loader/loader.impl.consumer.ts +213 -0
- package/src/services/manifest-utils.ts +119 -0
- package/src/services/schemas/config-accessor.schema.ts +11 -0
- package/src/services/schemas/encryption.schema.ts +23 -0
- package/src/services/schemas/manifest-utils.schema.ts +4 -0
- package/src/settings/assemble.ts +46 -0
- package/src/settings/index.ts +19 -0
- package/src/settings/settings-section.schema.ts +84 -0
- package/src/storage/adapter.ts +12 -0
- package/src/storage/index.ts +48 -0
- package/src/storage/schemas.ts +215 -0
- package/src/storage/types.ts +88 -0
- package/src/system-constants.ts +121 -0
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manifest Merging Utilities
|
|
3
|
+
*
|
|
4
|
+
* Functions for merging base manifests with variants to create
|
|
5
|
+
* a complete manifest with variant-specific fields, groups, and steps.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Type guard to check if a schema is a ZodObject with merge capability
|
|
9
|
+
*/
|
|
10
|
+
function isZodObjectWithMerge(schema) {
|
|
11
|
+
return (schema !== null &&
|
|
12
|
+
typeof schema === 'object' &&
|
|
13
|
+
'merge' in schema &&
|
|
14
|
+
typeof schema.merge === 'function');
|
|
15
|
+
}
|
|
16
|
+
// Field Merging
|
|
17
|
+
/**
|
|
18
|
+
* Merge base manifest fields with variant fields
|
|
19
|
+
* Variant fields override/extend base fields
|
|
20
|
+
*
|
|
21
|
+
* @param baseFields - Fields from the base manifest
|
|
22
|
+
* @param variantFields - Fields from the variant
|
|
23
|
+
* @returns Merged fields
|
|
24
|
+
*/
|
|
25
|
+
export function mergeFields(baseFields, variantFields) {
|
|
26
|
+
return {
|
|
27
|
+
...baseFields,
|
|
28
|
+
...variantFields
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// Group Merging
|
|
32
|
+
/**
|
|
33
|
+
* Merge base manifest groups with variant groups
|
|
34
|
+
* Variant groups override by ID or are added
|
|
35
|
+
*
|
|
36
|
+
* @param baseGroups - Groups from the base manifest
|
|
37
|
+
* @param variantGroups - Groups from the variant
|
|
38
|
+
* @returns Merged groups sorted by order
|
|
39
|
+
*/
|
|
40
|
+
export function mergeGroups(baseGroups = [], variantGroups = []) {
|
|
41
|
+
const groupMap = new Map();
|
|
42
|
+
// Add base groups
|
|
43
|
+
for (const group of baseGroups) {
|
|
44
|
+
groupMap.set(group.id, group);
|
|
45
|
+
}
|
|
46
|
+
// Override/add variant groups
|
|
47
|
+
for (const group of variantGroups) {
|
|
48
|
+
const existing = groupMap.get(group.id);
|
|
49
|
+
if (existing) {
|
|
50
|
+
// Merge with existing
|
|
51
|
+
groupMap.set(group.id, {
|
|
52
|
+
...existing,
|
|
53
|
+
...group
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
groupMap.set(group.id, group);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Sort by order
|
|
61
|
+
return Array.from(groupMap.values()).sort((a, b) => (a.order ?? 100) - (b.order ?? 100));
|
|
62
|
+
}
|
|
63
|
+
// Form Step Merging
|
|
64
|
+
/**
|
|
65
|
+
* Get the group ID a field belongs to
|
|
66
|
+
*/
|
|
67
|
+
function getFieldGroup(fields, fieldKey) {
|
|
68
|
+
return fields[fieldKey]?.ui?.group;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Inject variant fields into form steps by matching group IDs
|
|
72
|
+
*
|
|
73
|
+
* For each step, finds variant fields whose group matches:
|
|
74
|
+
* 1. The step ID itself
|
|
75
|
+
* 2. The group of any field already in the step
|
|
76
|
+
*
|
|
77
|
+
* @param baseSteps - Form steps from base manifest
|
|
78
|
+
* @param variantFields - Fields from the variant
|
|
79
|
+
* @param allFields - All merged fields (base + variant)
|
|
80
|
+
* @returns Enhanced steps with variant fields injected
|
|
81
|
+
*/
|
|
82
|
+
export function injectVariantFieldsIntoSteps(baseSteps, variantFields, allFields) {
|
|
83
|
+
return baseSteps.map((step) => {
|
|
84
|
+
// Collect groups that this step is associated with
|
|
85
|
+
const stepGroups = new Set();
|
|
86
|
+
// The step ID itself might be a group
|
|
87
|
+
stepGroups.add(step.id);
|
|
88
|
+
// Add groups from existing step fields
|
|
89
|
+
for (const fieldKey of step.fields) {
|
|
90
|
+
const group = getFieldGroup(allFields, fieldKey);
|
|
91
|
+
if (group) {
|
|
92
|
+
stepGroups.add(group);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Find variant fields that should be added to this step
|
|
96
|
+
const variantFieldsForStep = Object.entries(variantFields)
|
|
97
|
+
.filter(([_, meta]) => {
|
|
98
|
+
const fieldGroup = meta.ui?.group;
|
|
99
|
+
return fieldGroup && stepGroups.has(fieldGroup);
|
|
100
|
+
})
|
|
101
|
+
.sort((a, b) => (a[1].ui?.order ?? 100) - (b[1].ui?.order ?? 100))
|
|
102
|
+
.map(([key]) => key);
|
|
103
|
+
// Only add fields that aren't already in the step
|
|
104
|
+
const existingFields = new Set(step.fields);
|
|
105
|
+
const newFields = variantFieldsForStep.filter((f) => !existingFields.has(f));
|
|
106
|
+
if (newFields.length === 0) {
|
|
107
|
+
return step;
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
...step,
|
|
111
|
+
fields: [...step.fields, ...newFields]
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Merge form configuration with variant
|
|
117
|
+
*
|
|
118
|
+
* If variant has explicit step overrides, uses those.
|
|
119
|
+
* Otherwise, auto-injects variant fields by group matching.
|
|
120
|
+
*
|
|
121
|
+
* @param baseForm - Form config from base manifest
|
|
122
|
+
* @param variant - The variant to merge
|
|
123
|
+
* @param allFields - All merged fields
|
|
124
|
+
* @returns Merged form configuration
|
|
125
|
+
*/
|
|
126
|
+
export function mergeFormConfig(baseForm, variant, allFields) {
|
|
127
|
+
if (!baseForm)
|
|
128
|
+
return baseForm;
|
|
129
|
+
// If variant has explicit step overrides, use them
|
|
130
|
+
if (variant.stepOverrides) {
|
|
131
|
+
return {
|
|
132
|
+
...baseForm,
|
|
133
|
+
steps: variant.stepOverrides
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
// If no steps in base, nothing to merge
|
|
137
|
+
if (!baseForm.steps) {
|
|
138
|
+
return baseForm;
|
|
139
|
+
}
|
|
140
|
+
// Auto-inject variant fields into steps by group
|
|
141
|
+
const enhancedSteps = injectVariantFieldsIntoSteps(baseForm.steps, variant.fields, allFields);
|
|
142
|
+
return {
|
|
143
|
+
...baseForm,
|
|
144
|
+
steps: enhancedSteps
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const DEFAULT_MERGE_OPTIONS = {
|
|
148
|
+
mergeSchemas: true,
|
|
149
|
+
injectIntoSteps: true
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Merge a base manifest with a variant to create a complete manifest
|
|
153
|
+
*
|
|
154
|
+
* @param base - The base record manifest
|
|
155
|
+
* @param variant - The variant to merge
|
|
156
|
+
* @param options - Merge options
|
|
157
|
+
* @returns The merged manifest
|
|
158
|
+
*/
|
|
159
|
+
export function mergeManifestWithVariant(base, variant, options = {}) {
|
|
160
|
+
const opts = { ...DEFAULT_MERGE_OPTIONS, ...options };
|
|
161
|
+
// Merge fields
|
|
162
|
+
const mergedFields = mergeFields(base.fields, variant.fields);
|
|
163
|
+
// Merge groups
|
|
164
|
+
const mergedGroups = mergeGroups(base.groups, variant.groups);
|
|
165
|
+
// Build merged manifest
|
|
166
|
+
const merged = {
|
|
167
|
+
...base,
|
|
168
|
+
fields: mergedFields,
|
|
169
|
+
groups: mergedGroups
|
|
170
|
+
};
|
|
171
|
+
// Merge schema if requested and variant has schema
|
|
172
|
+
if (opts.mergeSchemas && variant.schema) {
|
|
173
|
+
// For Zod schemas, we can use .merge() if they're both objects
|
|
174
|
+
// This is a simplified approach - complex schema merging may need more logic
|
|
175
|
+
try {
|
|
176
|
+
// Check if both schemas have merge capability (ZodObject)
|
|
177
|
+
if (isZodObjectWithMerge(base.schema) && isZodObjectWithMerge(variant.schema)) {
|
|
178
|
+
merged.schema = base.schema.merge(variant.schema);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
// Fall back to using variant schema for validation
|
|
182
|
+
// This is a limitation - complex schemas need manual handling
|
|
183
|
+
merged.schema = variant.schema;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
// If merge fails, keep base schema
|
|
188
|
+
// Variant schema validation should happen separately
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Merge CRUD form config if present
|
|
192
|
+
if (base.crud?.form && opts.injectIntoSteps) {
|
|
193
|
+
merged.crud = {
|
|
194
|
+
...base.crud,
|
|
195
|
+
form: mergeFormConfig(base.crud.form, variant, mergedFields)
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
return merged;
|
|
199
|
+
}
|
|
200
|
+
// Surface Override Helpers
|
|
201
|
+
/**
|
|
202
|
+
* Get surface-specific overrides from a variant
|
|
203
|
+
*
|
|
204
|
+
* @param variant - The variant to get overrides from
|
|
205
|
+
* @param surface - Target surface
|
|
206
|
+
* @returns Field overrides for the surface, or empty object
|
|
207
|
+
*/
|
|
208
|
+
export function getVariantOverrides(variant, surface) {
|
|
209
|
+
return variant.overrides?.[surface] ?? {};
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Check if a variant has overrides for a specific surface
|
|
213
|
+
*/
|
|
214
|
+
export function hasVariantOverrides(variant, surface) {
|
|
215
|
+
const overrides = variant.overrides?.[surface];
|
|
216
|
+
return overrides !== undefined && Object.keys(overrides).length > 0;
|
|
217
|
+
}
|
|
218
|
+
// Field Visibility with Variants
|
|
219
|
+
/**
|
|
220
|
+
* Get all field keys from a merged manifest (base + variant)
|
|
221
|
+
*
|
|
222
|
+
* @param base - Base manifest
|
|
223
|
+
* @param variant - Optional variant
|
|
224
|
+
* @returns Array of all field keys
|
|
225
|
+
*/
|
|
226
|
+
export function getAllFieldKeys(base, variant) {
|
|
227
|
+
const fields = new Set(Object.keys(base.fields));
|
|
228
|
+
if (variant) {
|
|
229
|
+
for (const key of Object.keys(variant.fields)) {
|
|
230
|
+
fields.add(key);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return Array.from(fields);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Determine which fields should be visible based on variant
|
|
237
|
+
*
|
|
238
|
+
* With routing, base fields are always visible (unless hidden by rules),
|
|
239
|
+
* and variant fields are only visible when their variant is active.
|
|
240
|
+
*
|
|
241
|
+
* @param baseFields - Fields from base manifest
|
|
242
|
+
* @param activeVariant - Currently active variant (or undefined)
|
|
243
|
+
* @returns Set of visible field keys
|
|
244
|
+
*/
|
|
245
|
+
export function getVisibleFieldsWithVariant(baseFields, activeVariant) {
|
|
246
|
+
const visible = new Set();
|
|
247
|
+
// Base fields are always potentially visible
|
|
248
|
+
// (actual visibility determined by rules)
|
|
249
|
+
for (const key of Object.keys(baseFields)) {
|
|
250
|
+
visible.add(key);
|
|
251
|
+
}
|
|
252
|
+
// Add variant fields when variant is active
|
|
253
|
+
if (activeVariant) {
|
|
254
|
+
for (const key of Object.keys(activeVariant.fields)) {
|
|
255
|
+
visible.add(key);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
return visible;
|
|
259
|
+
}
|
|
260
|
+
// Default Value Merging
|
|
261
|
+
/**
|
|
262
|
+
* Merge default values from base and variant
|
|
263
|
+
* Variant defaults win on conflict
|
|
264
|
+
*
|
|
265
|
+
* @param baseDefaults - Defaults from base manifest/schema
|
|
266
|
+
* @param variantDefaults - Defaults from variant
|
|
267
|
+
* @returns Merged defaults
|
|
268
|
+
*/
|
|
269
|
+
export function mergeDefaults(baseDefaults, variantDefaults) {
|
|
270
|
+
if (!variantDefaults) {
|
|
271
|
+
return baseDefaults;
|
|
272
|
+
}
|
|
273
|
+
return {
|
|
274
|
+
...baseDefaults,
|
|
275
|
+
...variantDefaults
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
// Nested Variant Merging
|
|
279
|
+
/**
|
|
280
|
+
* Prefix all field keys in a variant with a path prefix
|
|
281
|
+
* Used for nested routing where variant fields need to be namespaced
|
|
282
|
+
*
|
|
283
|
+
* @param variant - The variant to prefix
|
|
284
|
+
* @param pathPrefix - The dot-notation prefix (e.g., 'agents.orchestration')
|
|
285
|
+
* @returns Fields with prefixed keys
|
|
286
|
+
*/
|
|
287
|
+
export function prefixVariantFields(variant, pathPrefix) {
|
|
288
|
+
const prefixed = {};
|
|
289
|
+
for (const [key, meta] of Object.entries(variant.fields)) {
|
|
290
|
+
const prefixedKey = `${pathPrefix}.${key}`;
|
|
291
|
+
prefixed[prefixedKey] = {
|
|
292
|
+
...meta,
|
|
293
|
+
ui: {
|
|
294
|
+
...meta.ui,
|
|
295
|
+
// Also prefix the group if it exists
|
|
296
|
+
group: meta.ui.group ? `${pathPrefix}.${meta.ui.group}` : meta.ui.group
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
return prefixed;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Prefix all groups in a variant with a path prefix
|
|
304
|
+
*
|
|
305
|
+
* @param groups - The groups to prefix
|
|
306
|
+
* @param pathPrefix - The dot-notation prefix
|
|
307
|
+
* @returns Groups with prefixed IDs
|
|
308
|
+
*/
|
|
309
|
+
export function prefixVariantGroups(groups, pathPrefix) {
|
|
310
|
+
if (!groups)
|
|
311
|
+
return [];
|
|
312
|
+
return groups.map((group) => ({
|
|
313
|
+
...group,
|
|
314
|
+
id: `${pathPrefix}.${group.id}`
|
|
315
|
+
}));
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Merge multiple nested variants into base fields
|
|
319
|
+
* Each active variant's fields are prefixed with their path
|
|
320
|
+
*
|
|
321
|
+
* @param baseFields - Fields from the base manifest
|
|
322
|
+
* @param activeVariants - Map of active nested variants keyed by path
|
|
323
|
+
* @returns Merged fields with nested variant fields prefixed by path
|
|
324
|
+
*/
|
|
325
|
+
export function mergeNestedVariantFields(baseFields, activeVariants) {
|
|
326
|
+
let merged = { ...baseFields };
|
|
327
|
+
for (const [path, activeVariant] of activeVariants) {
|
|
328
|
+
if (activeVariant.enabled && activeVariant.variant) {
|
|
329
|
+
const prefixedFields = prefixVariantFields(activeVariant.variant, path);
|
|
330
|
+
merged = { ...merged, ...prefixedFields };
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
return merged;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Merge multiple nested variants' groups into base groups
|
|
337
|
+
*
|
|
338
|
+
* @param baseGroups - Groups from the base manifest
|
|
339
|
+
* @param activeVariants - Map of active nested variants keyed by path
|
|
340
|
+
* @returns Merged groups sorted by order
|
|
341
|
+
*/
|
|
342
|
+
export function mergeNestedVariantGroups(baseGroups, activeVariants) {
|
|
343
|
+
const groupMap = new Map();
|
|
344
|
+
// Add base groups
|
|
345
|
+
for (const group of baseGroups ?? []) {
|
|
346
|
+
groupMap.set(group.id, group);
|
|
347
|
+
}
|
|
348
|
+
// Add variant groups (prefixed)
|
|
349
|
+
for (const [path, activeVariant] of activeVariants) {
|
|
350
|
+
if (activeVariant.enabled && activeVariant.variant?.groups) {
|
|
351
|
+
const prefixedGroups = prefixVariantGroups(activeVariant.variant.groups, path);
|
|
352
|
+
for (const group of prefixedGroups) {
|
|
353
|
+
const existing = groupMap.get(group.id);
|
|
354
|
+
if (existing) {
|
|
355
|
+
groupMap.set(group.id, { ...existing, ...group });
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
groupMap.set(group.id, group);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
return Array.from(groupMap.values()).sort((a, b) => (a.order ?? 100) - (b.order ?? 100));
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Merge a manifest with multiple active nested variants
|
|
367
|
+
*
|
|
368
|
+
* @param base - The base record manifest
|
|
369
|
+
* @param activeVariants - Map of active nested variants keyed by path
|
|
370
|
+
* @param options - Merge options
|
|
371
|
+
* @returns The merged manifest
|
|
372
|
+
*/
|
|
373
|
+
export function mergeManifestWithNestedVariants(base, activeVariants, options = {}) {
|
|
374
|
+
const _opts = { ...DEFAULT_MERGE_OPTIONS, ...options };
|
|
375
|
+
// Merge fields from all active variants
|
|
376
|
+
const mergedFields = mergeNestedVariantFields(base.fields, activeVariants);
|
|
377
|
+
// Merge groups from all active variants
|
|
378
|
+
const mergedGroups = mergeNestedVariantGroups(base.groups, activeVariants);
|
|
379
|
+
// Build merged manifest
|
|
380
|
+
const merged = {
|
|
381
|
+
...base,
|
|
382
|
+
fields: mergedFields,
|
|
383
|
+
groups: mergedGroups
|
|
384
|
+
};
|
|
385
|
+
// Nested-variant schemas are not merged; validation stays at base schema + per-path.
|
|
386
|
+
return merged;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Get all field keys visible based on active nested variants
|
|
390
|
+
*
|
|
391
|
+
* @param baseFields - Fields from base manifest
|
|
392
|
+
* @param activeVariants - Map of active nested variants
|
|
393
|
+
* @returns Set of visible field keys
|
|
394
|
+
*/
|
|
395
|
+
export function getVisibleFieldsWithNestedVariants(baseFields, activeVariants) {
|
|
396
|
+
const visible = new Set();
|
|
397
|
+
// Base fields are always potentially visible
|
|
398
|
+
for (const key of Object.keys(baseFields)) {
|
|
399
|
+
visible.add(key);
|
|
400
|
+
}
|
|
401
|
+
// Add variant fields when their section is enabled
|
|
402
|
+
for (const [path, activeVariant] of activeVariants) {
|
|
403
|
+
if (activeVariant.enabled && activeVariant.variant) {
|
|
404
|
+
for (const key of Object.keys(activeVariant.variant.fields)) {
|
|
405
|
+
visible.add(`${path}.${key}`);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
return visible;
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Merge default values from base and multiple nested variants
|
|
413
|
+
*
|
|
414
|
+
* @param baseDefaults - Defaults from base manifest
|
|
415
|
+
* @param activeVariants - Map of active nested variants
|
|
416
|
+
* @returns Merged defaults with nested values
|
|
417
|
+
*/
|
|
418
|
+
export function mergeNestedDefaults(baseDefaults, activeVariants) {
|
|
419
|
+
const merged = { ...baseDefaults };
|
|
420
|
+
for (const [path, activeVariant] of activeVariants) {
|
|
421
|
+
if (activeVariant.enabled && activeVariant.variant?.defaults) {
|
|
422
|
+
// Set nested defaults at the path
|
|
423
|
+
setValueAtPath(merged, path, {
|
|
424
|
+
...(getValueAtPath(merged, path) ?? {}),
|
|
425
|
+
...activeVariant.variant.defaults
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
return merged;
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Helper to get a value at a dot-notation path
|
|
433
|
+
*/
|
|
434
|
+
function getValueAtPath(obj, path) {
|
|
435
|
+
const parts = path.split('.');
|
|
436
|
+
let current = obj;
|
|
437
|
+
for (const part of parts) {
|
|
438
|
+
if (current == null || typeof current !== 'object') {
|
|
439
|
+
return undefined;
|
|
440
|
+
}
|
|
441
|
+
current = current[part];
|
|
442
|
+
}
|
|
443
|
+
return current;
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Helper to set a value at a dot-notation path
|
|
447
|
+
*/
|
|
448
|
+
function setValueAtPath(obj, path, value) {
|
|
449
|
+
const parts = path.split('.');
|
|
450
|
+
let current = obj;
|
|
451
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
452
|
+
const part = parts[i];
|
|
453
|
+
if (!(part in current) || typeof current[part] !== 'object') {
|
|
454
|
+
current[part] = {};
|
|
455
|
+
}
|
|
456
|
+
current = current[part];
|
|
457
|
+
}
|
|
458
|
+
current[parts[parts.length - 1]] = value;
|
|
459
|
+
}
|
|
460
|
+
//# sourceMappingURL=merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/routing/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Variant Registry
|
|
3
|
+
*
|
|
4
|
+
* Generic registry for manifest variants with lazy loading support.
|
|
5
|
+
* Can be used for providers, agents, or any discriminated config type.
|
|
6
|
+
*/
|
|
7
|
+
import { type ManifestVariant, type ManifestRouting, type ResolvedVariant, type NestedRouting, type ResolvedNestedVariant, type ActiveNestedVariant } from './types.ts';
|
|
8
|
+
/**
|
|
9
|
+
* Register a variant for a manifest
|
|
10
|
+
*
|
|
11
|
+
* @param manifestId - The manifest this variant belongs to
|
|
12
|
+
* @param variant - The variant to register
|
|
13
|
+
*/
|
|
14
|
+
export declare function registerVariant(manifestId: string, variant: ManifestVariant): void;
|
|
15
|
+
/**
|
|
16
|
+
* Register multiple variants for a manifest
|
|
17
|
+
*
|
|
18
|
+
* @param manifestId - The manifest these variants belong to
|
|
19
|
+
* @param variants - Array of variants to register
|
|
20
|
+
*/
|
|
21
|
+
export declare function registerVariants(manifestId: string, variants: ManifestVariant[]): void;
|
|
22
|
+
/**
|
|
23
|
+
* Get a specific variant by ID
|
|
24
|
+
*
|
|
25
|
+
* @param manifestId - The manifest to look up
|
|
26
|
+
* @param variantId - The variant ID (discriminator value)
|
|
27
|
+
* @returns The variant or undefined
|
|
28
|
+
*/
|
|
29
|
+
export declare function getVariant(manifestId: string, variantId: string): ManifestVariant | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Get all registered variants for a manifest
|
|
32
|
+
*
|
|
33
|
+
* @param manifestId - The manifest to look up
|
|
34
|
+
* @returns Map of variants keyed by ID
|
|
35
|
+
*/
|
|
36
|
+
export declare function getAllVariants(manifestId: string): Map<string, ManifestVariant>;
|
|
37
|
+
/**
|
|
38
|
+
* Check if a variant is registered
|
|
39
|
+
*
|
|
40
|
+
* @param manifestId - The manifest to check
|
|
41
|
+
* @param variantId - The variant ID to check
|
|
42
|
+
* @returns Whether the variant is registered
|
|
43
|
+
*/
|
|
44
|
+
export declare function hasVariant(manifestId: string, variantId: string): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Clear all variants for a manifest
|
|
47
|
+
*
|
|
48
|
+
* @param manifestId - The manifest to clear
|
|
49
|
+
*/
|
|
50
|
+
export declare function clearVariants(manifestId: string): void;
|
|
51
|
+
/**
|
|
52
|
+
* Clear the entire registry (useful for testing)
|
|
53
|
+
*/
|
|
54
|
+
export declare function clearRegistry(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Load variants from a routing configuration
|
|
57
|
+
* Handles both eager and lazy loading, with deduplication
|
|
58
|
+
*
|
|
59
|
+
* @param manifestId - The manifest ID
|
|
60
|
+
* @param routing - The routing configuration
|
|
61
|
+
*/
|
|
62
|
+
export declare function loadVariantsFromRouting(manifestId: string, routing: ManifestRouting): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Resolve a variant from routing based on discriminator value
|
|
65
|
+
*
|
|
66
|
+
* @param manifestId - The manifest ID
|
|
67
|
+
* @param routing - The routing configuration
|
|
68
|
+
* @param discriminatorValue - The current value of the discriminator field
|
|
69
|
+
* @returns Resolved variant information
|
|
70
|
+
*/
|
|
71
|
+
export declare function resolveVariant<TConfig extends Record<string, unknown> = Record<string, unknown>>(manifestId: string, routing: ManifestRouting, discriminatorValue: string): Promise<ResolvedVariant<TConfig>>;
|
|
72
|
+
/**
|
|
73
|
+
* Synchronously get a variant (only works if already loaded)
|
|
74
|
+
* Use this when you know variants have been pre-loaded
|
|
75
|
+
*
|
|
76
|
+
* @param manifestId - The manifest ID
|
|
77
|
+
* @param routing - The routing configuration
|
|
78
|
+
* @param discriminatorValue - The current value of the discriminator field
|
|
79
|
+
* @returns The variant or undefined
|
|
80
|
+
*/
|
|
81
|
+
export declare function resolveVariantSync<TConfig extends Record<string, unknown> = Record<string, unknown>>(manifestId: string, routing: ManifestRouting, discriminatorValue: string): ManifestVariant<TConfig> | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Load variants from a nested routing configuration
|
|
84
|
+
* Handles both eager and lazy loading, with deduplication
|
|
85
|
+
*
|
|
86
|
+
* @param manifestId - The base manifest ID
|
|
87
|
+
* @param routing - The nested routing configuration
|
|
88
|
+
*/
|
|
89
|
+
export declare function loadNestedVariantsFromRouting(manifestId: string, routing: NestedRouting): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Resolve a nested variant from routing based on discriminator value
|
|
92
|
+
*
|
|
93
|
+
* @param manifestId - The base manifest ID
|
|
94
|
+
* @param routing - The nested routing configuration
|
|
95
|
+
* @param values - Current form values (used to extract discriminator value)
|
|
96
|
+
* @returns Resolved nested variant information
|
|
97
|
+
*/
|
|
98
|
+
export declare function resolveNestedVariant<TConfig extends Record<string, unknown> = Record<string, unknown>>(manifestId: string, routing: NestedRouting, values: Record<string, unknown>): Promise<ResolvedNestedVariant<TConfig>>;
|
|
99
|
+
/**
|
|
100
|
+
* Resolve all nested variants from multiple routing configurations
|
|
101
|
+
*
|
|
102
|
+
* @param manifestId - The base manifest ID
|
|
103
|
+
* @param routings - Array of nested routing configurations
|
|
104
|
+
* @param values - Current form values
|
|
105
|
+
* @returns Array of resolved nested variants
|
|
106
|
+
*/
|
|
107
|
+
export declare function resolveAllNestedVariants<TConfig extends Record<string, unknown> = Record<string, unknown>>(manifestId: string, routings: NestedRouting[], values: Record<string, unknown>): Promise<ResolvedNestedVariant<TConfig>[]>;
|
|
108
|
+
/**
|
|
109
|
+
* Get all active nested variants (enabled and resolved)
|
|
110
|
+
*
|
|
111
|
+
* @param manifestId - The base manifest ID
|
|
112
|
+
* @param routings - Array of nested routing configurations
|
|
113
|
+
* @param values - Current form values
|
|
114
|
+
* @returns Map of active variants keyed by path
|
|
115
|
+
*/
|
|
116
|
+
export declare function getActiveNestedVariants(manifestId: string, routings: NestedRouting[], values: Record<string, unknown>): Promise<Map<string, ActiveNestedVariant>>;
|
|
117
|
+
/**
|
|
118
|
+
* Synchronously get a nested variant (only works if already loaded)
|
|
119
|
+
*
|
|
120
|
+
* @param manifestId - The base manifest ID
|
|
121
|
+
* @param routing - The nested routing configuration
|
|
122
|
+
* @param discriminatorValue - The discriminator value
|
|
123
|
+
* @returns The variant or undefined
|
|
124
|
+
*/
|
|
125
|
+
export declare function resolveNestedVariantSync<TConfig extends Record<string, unknown> = Record<string, unknown>>(manifestId: string, routing: NestedRouting, discriminatorValue: string): ManifestVariant<TConfig> | undefined;
|
|
126
|
+
/**
|
|
127
|
+
* Check if nested variants are loaded for a manifest path
|
|
128
|
+
*/
|
|
129
|
+
export declare function areNestedVariantsLoaded(manifestId: string, path: string): boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Get all nested variants for a manifest path
|
|
132
|
+
*/
|
|
133
|
+
export declare function getAllNestedVariants(manifestId: string, path: string): Map<string, ManifestVariant>;
|
|
134
|
+
/**
|
|
135
|
+
* Get registry status for debugging
|
|
136
|
+
*/
|
|
137
|
+
export declare function getRegistryStatus(): {
|
|
138
|
+
manifests: string[];
|
|
139
|
+
variants: Record<string, string[]>;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Check if variants are loaded for a manifest
|
|
143
|
+
*/
|
|
144
|
+
export declare function areVariantsLoaded(manifestId: string): boolean;
|
|
145
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/routing/registry.ts"],"names":[],"mappings":"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"}
|