@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,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extension Registry
|
|
3
|
+
*
|
|
4
|
+
* Global registry for surface-specific manifest extensions.
|
|
5
|
+
* Extensions self-register on import from surface entry points.
|
|
6
|
+
*/
|
|
7
|
+
// Registry Storage
|
|
8
|
+
/**
|
|
9
|
+
* Global registry - maps "manifestId:surface" to extension
|
|
10
|
+
* Uses BaseRecord as the common type for storage
|
|
11
|
+
*/
|
|
12
|
+
const extensions = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Cache for loaded extensions (with components resolved)
|
|
15
|
+
*/
|
|
16
|
+
const loadedCache = new Map();
|
|
17
|
+
// Registration
|
|
18
|
+
/**
|
|
19
|
+
* Build registry key from manifest ID and surface
|
|
20
|
+
*/
|
|
21
|
+
function buildKey(manifestId, surface) {
|
|
22
|
+
return `${manifestId}:${surface}`;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Register a surface extension for a manifest
|
|
26
|
+
*/
|
|
27
|
+
export function registerExtension(extension) {
|
|
28
|
+
const key = buildKey(extension.manifestId, extension.surface);
|
|
29
|
+
if (extensions.has(key)) {
|
|
30
|
+
console.warn(`[ExtensionRegistry] Extension for "${extension.manifestId}" on "${extension.surface}" already registered. Skipping.`);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
// Registry stores base type; callers retrieve with their specific generic
|
|
34
|
+
extensions.set(key, extension);
|
|
35
|
+
}
|
|
36
|
+
// Retrieval
|
|
37
|
+
/**
|
|
38
|
+
* Get a registered extension (not yet loaded)
|
|
39
|
+
*/
|
|
40
|
+
export function getExtension(manifestId, surface) {
|
|
41
|
+
return extensions.get(buildKey(manifestId, surface)) ?? null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if an extension exists
|
|
45
|
+
*/
|
|
46
|
+
export function hasExtension(manifestId, surface) {
|
|
47
|
+
return extensions.has(buildKey(manifestId, surface));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get all registered extension keys
|
|
51
|
+
*/
|
|
52
|
+
export function getAllExtensionKeys() {
|
|
53
|
+
return Array.from(extensions.keys());
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get all extensions for a specific surface
|
|
57
|
+
*/
|
|
58
|
+
export function getExtensionsForSurface(surface) {
|
|
59
|
+
return Array.from(extensions.values()).filter((ext) => ext.surface === surface);
|
|
60
|
+
}
|
|
61
|
+
// Loading (Lazy Component Resolution)
|
|
62
|
+
/**
|
|
63
|
+
* Load an extension, resolving all lazy loaders
|
|
64
|
+
*/
|
|
65
|
+
export async function loadExtension(manifestId, surface) {
|
|
66
|
+
const key = buildKey(manifestId, surface);
|
|
67
|
+
// Check cache first
|
|
68
|
+
const cached = loadedCache.get(key);
|
|
69
|
+
if (cached) {
|
|
70
|
+
// Cache stores base type; caller retrieves with their specific generic
|
|
71
|
+
return cached;
|
|
72
|
+
}
|
|
73
|
+
// Get the raw extension
|
|
74
|
+
const extension = getExtension(manifestId, surface);
|
|
75
|
+
if (!extension) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
// Resolve all field override loaders in parallel
|
|
79
|
+
const loadedOverrides = {};
|
|
80
|
+
if (extension.fieldOverrides) {
|
|
81
|
+
const entries = Object.entries(extension.fieldOverrides);
|
|
82
|
+
const loadPromises = entries.map(async ([fieldKey, override]) => {
|
|
83
|
+
if (override.loader) {
|
|
84
|
+
const loaded = await override.loader();
|
|
85
|
+
return [
|
|
86
|
+
fieldKey,
|
|
87
|
+
{
|
|
88
|
+
component: loaded.component,
|
|
89
|
+
props: { ...override.props, ...loaded.props },
|
|
90
|
+
propsFactory: override.propsFactory,
|
|
91
|
+
hidden: override.hidden,
|
|
92
|
+
render: override.render
|
|
93
|
+
}
|
|
94
|
+
];
|
|
95
|
+
}
|
|
96
|
+
return [
|
|
97
|
+
fieldKey,
|
|
98
|
+
{
|
|
99
|
+
component: override.component,
|
|
100
|
+
props: override.props,
|
|
101
|
+
propsFactory: override.propsFactory,
|
|
102
|
+
hidden: override.hidden,
|
|
103
|
+
render: override.render
|
|
104
|
+
}
|
|
105
|
+
];
|
|
106
|
+
});
|
|
107
|
+
const results = await Promise.all(loadPromises);
|
|
108
|
+
for (const [fieldKey, override] of results) {
|
|
109
|
+
loadedOverrides[fieldKey] = override;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Build loaded extension
|
|
113
|
+
const loaded = {
|
|
114
|
+
manifestId: extension.manifestId,
|
|
115
|
+
surface: extension.surface,
|
|
116
|
+
fieldOverrides: loadedOverrides,
|
|
117
|
+
renderHeader: extension.renderHeader,
|
|
118
|
+
renderFooter: extension.renderFooter,
|
|
119
|
+
renderListRow: extension.renderListRow,
|
|
120
|
+
renderEmpty: extension.renderEmpty,
|
|
121
|
+
renderCreate: extension.renderCreate,
|
|
122
|
+
renderEdit: extension.renderEdit
|
|
123
|
+
};
|
|
124
|
+
// Cache and return
|
|
125
|
+
loadedCache.set(key, loaded);
|
|
126
|
+
return loaded;
|
|
127
|
+
}
|
|
128
|
+
// Cache Management
|
|
129
|
+
/**
|
|
130
|
+
* Clear the loaded extension cache
|
|
131
|
+
*/
|
|
132
|
+
export function clearExtensionCache() {
|
|
133
|
+
loadedCache.clear();
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Clear all registered extensions (for testing)
|
|
137
|
+
*/
|
|
138
|
+
export function clearAllExtensions() {
|
|
139
|
+
extensions.clear();
|
|
140
|
+
loadedCache.clear();
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/extensions/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Surface-Specific Manifest Extensions
|
|
3
|
+
*
|
|
4
|
+
* Enables surface-specific (TUI/Web/CLI) component overrides for manifests.
|
|
5
|
+
* Extensions are loaded on-demand like the tools/manifests.ts pattern.
|
|
6
|
+
*/
|
|
7
|
+
import type { ConfigFieldMeta } from '../manifest/types.ts';
|
|
8
|
+
import type { CRUDViewMode, BaseRecord } from '../crud/shared.ts';
|
|
9
|
+
export type { BaseRecord } from '../crud/shared.ts';
|
|
10
|
+
/**
|
|
11
|
+
* Supported surface types
|
|
12
|
+
*/
|
|
13
|
+
export type ExtensionSurface = 'tui' | 'web' | 'cli';
|
|
14
|
+
/**
|
|
15
|
+
* Lazy component loader - returns component and optional props
|
|
16
|
+
*/
|
|
17
|
+
export type LazyComponentLoader<T = unknown> = () => Promise<{
|
|
18
|
+
component: T;
|
|
19
|
+
props?: Record<string, unknown>;
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Component override with lazy loading support
|
|
23
|
+
*/
|
|
24
|
+
export interface LazyComponentOverride {
|
|
25
|
+
/** Lazy loader for the component */
|
|
26
|
+
loader?: LazyComponentLoader;
|
|
27
|
+
/** Pre-loaded component (alternative to loader) */
|
|
28
|
+
component?: unknown;
|
|
29
|
+
/** Factory to generate props from field and context */
|
|
30
|
+
propsFactory?: (field: ConfigFieldMeta, context: {
|
|
31
|
+
values: Record<string, unknown>;
|
|
32
|
+
mode: 'create' | 'edit';
|
|
33
|
+
}) => Record<string, unknown>;
|
|
34
|
+
/** Additional static props */
|
|
35
|
+
props?: Record<string, unknown>;
|
|
36
|
+
/** Hide this field entirely */
|
|
37
|
+
hidden?: boolean;
|
|
38
|
+
/** Custom render function */
|
|
39
|
+
render?: (field: ConfigFieldMeta, defaultRender: () => unknown) => unknown;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* View render context for custom create/edit views
|
|
43
|
+
*/
|
|
44
|
+
export interface ViewRenderContext<T extends BaseRecord = BaseRecord> {
|
|
45
|
+
/** Current record (undefined for create mode) */
|
|
46
|
+
record?: T;
|
|
47
|
+
/** Submit handler */
|
|
48
|
+
onSubmit: (values: T) => void;
|
|
49
|
+
/** Cancel/back handler */
|
|
50
|
+
onCancel: () => void;
|
|
51
|
+
/** Whether a save operation is in progress */
|
|
52
|
+
isSubmitting?: boolean;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Surface-specific extension for a manifest
|
|
56
|
+
*/
|
|
57
|
+
export interface ManifestSurfaceExtension<T extends BaseRecord = BaseRecord> {
|
|
58
|
+
/** Manifest ID this extension applies to */
|
|
59
|
+
manifestId: string;
|
|
60
|
+
/** Surface this extension is for */
|
|
61
|
+
surface: ExtensionSurface;
|
|
62
|
+
/** Field-level component overrides */
|
|
63
|
+
fieldOverrides?: Record<string, LazyComponentOverride>;
|
|
64
|
+
/** Custom header renderer */
|
|
65
|
+
renderHeader?: (mode: CRUDViewMode, record?: T) => unknown;
|
|
66
|
+
/** Custom footer renderer */
|
|
67
|
+
renderFooter?: (mode: CRUDViewMode, record?: T) => unknown;
|
|
68
|
+
/** Custom list row renderer */
|
|
69
|
+
renderListRow?: (record: T, defaultRender: () => unknown) => unknown;
|
|
70
|
+
/** Custom empty state renderer */
|
|
71
|
+
renderEmpty?: () => unknown;
|
|
72
|
+
/**
|
|
73
|
+
* Custom create view renderer.
|
|
74
|
+
* When provided, replaces the entire create form with a custom component.
|
|
75
|
+
* Use for wizard-style flows or complex template-based creation.
|
|
76
|
+
*/
|
|
77
|
+
renderCreate?: (context: ViewRenderContext<T>) => unknown;
|
|
78
|
+
/**
|
|
79
|
+
* Custom edit view renderer.
|
|
80
|
+
* When provided, replaces the entire edit form with a custom component.
|
|
81
|
+
*/
|
|
82
|
+
renderEdit?: (context: ViewRenderContext<T>) => unknown;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* An extension with components already loaded
|
|
86
|
+
*/
|
|
87
|
+
export interface LoadedExtension<T extends BaseRecord = BaseRecord> extends Omit<ManifestSurfaceExtension<T>, 'fieldOverrides'> {
|
|
88
|
+
/** Loaded component overrides (loaders resolved) */
|
|
89
|
+
fieldOverrides: Record<string, {
|
|
90
|
+
component?: unknown;
|
|
91
|
+
props?: Record<string, unknown>;
|
|
92
|
+
propsFactory?: LazyComponentOverride['propsFactory'];
|
|
93
|
+
hidden?: boolean;
|
|
94
|
+
render?: LazyComponentOverride['render'];
|
|
95
|
+
}>;
|
|
96
|
+
/** Custom create view renderer */
|
|
97
|
+
renderCreate?: ManifestSurfaceExtension<T>['renderCreate'];
|
|
98
|
+
/** Custom edit view renderer */
|
|
99
|
+
renderEdit?: ManifestSurfaceExtension<T>['renderEdit'];
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/extensions/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/extensions/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field Resolver
|
|
3
|
+
*
|
|
4
|
+
* Maps manifest field definitions to component types and resolves field state.
|
|
5
|
+
* Also provides default resolution based on context.
|
|
6
|
+
*/
|
|
7
|
+
import type { z } from 'zod/v4';
|
|
8
|
+
import type { ConfigManifest, ConfigFieldMeta, FieldComponent, ConfigContext } from '../../manifest/types.ts';
|
|
9
|
+
import type { ResolvedField, ComponentOverride } from './types.ts';
|
|
10
|
+
/**
|
|
11
|
+
* Infer component type from field metadata
|
|
12
|
+
*/
|
|
13
|
+
export declare function inferFieldComponent(fieldMeta: ConfigFieldMeta): FieldComponent;
|
|
14
|
+
/**
|
|
15
|
+
* Get default value for a field considering context
|
|
16
|
+
*/
|
|
17
|
+
export declare function getFieldDefault(fieldMeta: ConfigFieldMeta, context: {
|
|
18
|
+
hardware?: string;
|
|
19
|
+
environment?: string;
|
|
20
|
+
surface?: string;
|
|
21
|
+
}): unknown;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve all fields from a manifest
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveFields(manifest: ConfigManifest, values: Record<string, unknown>, overrides?: Record<string, ComponentOverride>, context?: {
|
|
26
|
+
hardware?: string;
|
|
27
|
+
environment?: string;
|
|
28
|
+
surface?: string;
|
|
29
|
+
}): ResolvedField[];
|
|
30
|
+
/**
|
|
31
|
+
* Group resolved fields by their group ID
|
|
32
|
+
*/
|
|
33
|
+
export declare function groupFields(fields: ResolvedField[], _groups?: ConfigManifest['groups']): Map<string | undefined, ResolvedField[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Resolve default value for a single field with full context
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveFieldDefault(_fieldPath: string, fieldMeta: ConfigFieldMeta, schemaDefault: unknown, ctx: ConfigContext): unknown;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve default values for a manifest based on context
|
|
40
|
+
*/
|
|
41
|
+
export declare function resolveDefaults<T extends z.ZodTypeAny>(manifest: ConfigManifest<T>, ctx: ConfigContext): z.infer<T>;
|
|
42
|
+
//# sourceMappingURL=field-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-resolver.d.ts","sourceRoot":"","sources":["../../../src/form/core/field-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,CAAC,EAAyB,MAAM,QAAQ,CAAC;AACvD,OAAO,KAAK,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGnE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,cAAc,CAc9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACpE,OAAO,CA2BT;AA0FD;;GAEG;AACH,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAM,EACjD,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACzE,aAAa,EAAE,CAmCjB;AA4BD;;GAEG;AACH,wBAAgB,WAAW,CAC1B,MAAM,EAAE,aAAa,EAAE,EACvB,OAAO,GAAE,cAAc,CAAC,QAAQ,CAAM,GACpC,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,CAAC,CAY1C;AA0DD;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,OAAO,EACtB,GAAG,EAAE,aAAa,GAChB,OAAO,CAkCT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACrD,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,GAAG,EAAE,aAAa,GAChB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAwBZ"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import { getUIMeta } from "../../schema/extend-zod.js";
|
|
2
|
+
/**
|
|
3
|
+
* Infer component type from field metadata
|
|
4
|
+
*/
|
|
5
|
+
export function inferFieldComponent(fieldMeta) {
|
|
6
|
+
// Explicit component takes precedence
|
|
7
|
+
if (fieldMeta.ui.component) {
|
|
8
|
+
return fieldMeta.ui.component;
|
|
9
|
+
}
|
|
10
|
+
// Infer from options presence
|
|
11
|
+
if (fieldMeta.options && fieldMeta.options.length > 0) {
|
|
12
|
+
// Few options = radio, many = select
|
|
13
|
+
return fieldMeta.options.length <= 4 ? 'radio-group' : 'select';
|
|
14
|
+
}
|
|
15
|
+
// Default to input
|
|
16
|
+
return 'input';
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get default value for a field considering context
|
|
20
|
+
*/
|
|
21
|
+
export function getFieldDefault(fieldMeta, context) {
|
|
22
|
+
const defaults = fieldMeta.defaults;
|
|
23
|
+
if (!defaults)
|
|
24
|
+
return undefined;
|
|
25
|
+
// Check surface-specific default
|
|
26
|
+
if (context.surface && defaults.bySurface?.[context.surface]) {
|
|
27
|
+
return defaults.bySurface[context.surface];
|
|
28
|
+
}
|
|
29
|
+
// Check hardware-specific default
|
|
30
|
+
if (context.hardware &&
|
|
31
|
+
defaults.byHardware?.[context.hardware]) {
|
|
32
|
+
return defaults.byHardware[context.hardware];
|
|
33
|
+
}
|
|
34
|
+
// Check environment-specific default
|
|
35
|
+
if (context.environment &&
|
|
36
|
+
defaults.byEnvironment?.[context.environment]) {
|
|
37
|
+
return defaults.byEnvironment[context.environment];
|
|
38
|
+
}
|
|
39
|
+
// Return base default
|
|
40
|
+
return defaults.base;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get a value at a dot-notation path from an object
|
|
44
|
+
* Supports both flat keys (e.g., obj['configuration.apiKey'])
|
|
45
|
+
* and nested objects (e.g., obj.configuration.apiKey)
|
|
46
|
+
*/
|
|
47
|
+
function getValueAtPath(obj, path) {
|
|
48
|
+
// First try direct key lookup (for flat form values)
|
|
49
|
+
if (path in obj) {
|
|
50
|
+
return obj[path];
|
|
51
|
+
}
|
|
52
|
+
// Then try dot-notation path lookup (for nested objects)
|
|
53
|
+
const parts = path.split('.');
|
|
54
|
+
let current = obj;
|
|
55
|
+
for (const part of parts) {
|
|
56
|
+
if (current == null || typeof current !== 'object') {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
current = current[part];
|
|
60
|
+
}
|
|
61
|
+
return current;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get a schema at a dot-notation path
|
|
65
|
+
* Drills down through nested ZodObject shapes
|
|
66
|
+
*/
|
|
67
|
+
function getSchemaAtPath(rootSchema, path) {
|
|
68
|
+
const parts = path.split('.');
|
|
69
|
+
let current = rootSchema;
|
|
70
|
+
for (const part of parts) {
|
|
71
|
+
if (!current)
|
|
72
|
+
return undefined;
|
|
73
|
+
// Try to get shape from current schema
|
|
74
|
+
const zodObj = current;
|
|
75
|
+
if (zodObj.shape && typeof zodObj.shape === 'object') {
|
|
76
|
+
current = zodObj.shape[part];
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return current;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Type guard to check if a manifest has a recordSchema property
|
|
86
|
+
*/
|
|
87
|
+
function hasRecordSchema(manifest) {
|
|
88
|
+
return 'recordSchema' in manifest && manifest.recordSchema != null;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Extract field schemas from a manifest's Zod schema
|
|
92
|
+
* Handles dot-notation field keys for nested fields
|
|
93
|
+
*/
|
|
94
|
+
function extractFieldSchemas(manifest) {
|
|
95
|
+
const schemas = {};
|
|
96
|
+
// Use recordSchema if available (for RecordManifests), otherwise use schema
|
|
97
|
+
const baseSchema = hasRecordSchema(manifest) ? manifest.recordSchema : manifest.schema;
|
|
98
|
+
if (!baseSchema || typeof baseSchema !== 'object' || !('_zod' in baseSchema)) {
|
|
99
|
+
return schemas;
|
|
100
|
+
}
|
|
101
|
+
// For each field key in the manifest, try to find its schema
|
|
102
|
+
for (const key of Object.keys(manifest.fields)) {
|
|
103
|
+
if (key.includes('.')) {
|
|
104
|
+
// Dot-notation path - drill down into nested schemas
|
|
105
|
+
const fieldSchema = getSchemaAtPath(baseSchema, key);
|
|
106
|
+
if (fieldSchema) {
|
|
107
|
+
schemas[key] = fieldSchema;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// Top-level field - get directly from shape
|
|
112
|
+
const zodSchema = baseSchema;
|
|
113
|
+
if (zodSchema.shape && zodSchema.shape[key]) {
|
|
114
|
+
schemas[key] = zodSchema.shape[key];
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return schemas;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Resolve all fields from a manifest
|
|
122
|
+
*/
|
|
123
|
+
export function resolveFields(manifest, values, overrides = {}, context = {}) {
|
|
124
|
+
const fields = [];
|
|
125
|
+
const fieldSchemas = extractFieldSchemas(manifest);
|
|
126
|
+
for (const [key, meta] of Object.entries(manifest.fields)) {
|
|
127
|
+
const override = overrides[key];
|
|
128
|
+
const fieldSchema = fieldSchemas[key];
|
|
129
|
+
// Skip if override says hidden
|
|
130
|
+
if (override?.hidden)
|
|
131
|
+
continue;
|
|
132
|
+
// Check if schema has UI metadata that should override manifest meta
|
|
133
|
+
const schemaUIMeta = fieldSchema ? getUIMeta(fieldSchema) : undefined;
|
|
134
|
+
const enhancedMeta = schemaUIMeta ? mergeUIMeta(meta, schemaUIMeta) : meta;
|
|
135
|
+
const resolved = {
|
|
136
|
+
key,
|
|
137
|
+
meta: enhancedMeta,
|
|
138
|
+
component: inferFieldComponent(enhancedMeta),
|
|
139
|
+
// Use path-based access for nested fields (e.g., configuration.apiKey)
|
|
140
|
+
value: getValueAtPath(values, key) ?? getFieldDefault(enhancedMeta, context),
|
|
141
|
+
visible: true, // Will be evaluated by visibility module
|
|
142
|
+
disabled: false, // Will be evaluated by visibility module
|
|
143
|
+
required: false, // Will be evaluated by visibility module
|
|
144
|
+
override,
|
|
145
|
+
fieldSchema
|
|
146
|
+
};
|
|
147
|
+
fields.push(resolved);
|
|
148
|
+
}
|
|
149
|
+
// Sort by order
|
|
150
|
+
fields.sort((a, b) => (a.meta.ui.order ?? 999) - (b.meta.ui.order ?? 999));
|
|
151
|
+
return fields;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Merge schema UI metadata into field meta
|
|
155
|
+
*/
|
|
156
|
+
function mergeUIMeta(meta, schemaUI) {
|
|
157
|
+
if (!schemaUI)
|
|
158
|
+
return meta;
|
|
159
|
+
return {
|
|
160
|
+
...meta,
|
|
161
|
+
ui: {
|
|
162
|
+
...meta.ui,
|
|
163
|
+
// Schema UI overrides manifest UI where defined
|
|
164
|
+
...(schemaUI.label && { label: schemaUI.label }),
|
|
165
|
+
...(schemaUI.description && { description: schemaUI.description }),
|
|
166
|
+
...(schemaUI.helpText && { helpText: schemaUI.helpText }),
|
|
167
|
+
...(schemaUI.placeholder && { placeholder: schemaUI.placeholder }),
|
|
168
|
+
...(schemaUI.order !== undefined && { order: schemaUI.order }),
|
|
169
|
+
...(schemaUI.group && { group: schemaUI.group }),
|
|
170
|
+
...(schemaUI.component && { component: schemaUI.component }),
|
|
171
|
+
...(schemaUI.hidden !== undefined && { hidden: schemaUI.hidden })
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Group resolved fields by their group ID
|
|
177
|
+
*/
|
|
178
|
+
export function groupFields(fields, _groups = []) {
|
|
179
|
+
const grouped = new Map();
|
|
180
|
+
for (const field of fields) {
|
|
181
|
+
const groupId = field.meta.ui.group;
|
|
182
|
+
if (!grouped.has(groupId)) {
|
|
183
|
+
grouped.set(groupId, []);
|
|
184
|
+
}
|
|
185
|
+
grouped.get(groupId).push(field);
|
|
186
|
+
}
|
|
187
|
+
return grouped;
|
|
188
|
+
}
|
|
189
|
+
// Default Resolution (formerly in registry/resolution.ts)
|
|
190
|
+
/**
|
|
191
|
+
* Get defaults from a Zod schema
|
|
192
|
+
*/
|
|
193
|
+
function getSchemaDefaults(schema) {
|
|
194
|
+
const result = {};
|
|
195
|
+
// Handle ZodObject
|
|
196
|
+
const zodObj = schema;
|
|
197
|
+
if (zodObj.shape && typeof zodObj.shape === 'object') {
|
|
198
|
+
for (const [key, fieldSchema] of Object.entries(zodObj.shape)) {
|
|
199
|
+
const def = fieldSchema._def;
|
|
200
|
+
if (def?.defaultValue !== undefined) {
|
|
201
|
+
result[key] =
|
|
202
|
+
typeof def.defaultValue === 'function'
|
|
203
|
+
? def.defaultValue()
|
|
204
|
+
: def.defaultValue;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return result;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Get nested value from object using dot notation
|
|
212
|
+
*/
|
|
213
|
+
function getNestedValue(obj, path) {
|
|
214
|
+
const parts = path.split('.');
|
|
215
|
+
let current = obj;
|
|
216
|
+
for (const part of parts) {
|
|
217
|
+
if (current == null || typeof current !== 'object') {
|
|
218
|
+
return undefined;
|
|
219
|
+
}
|
|
220
|
+
current = current[part];
|
|
221
|
+
}
|
|
222
|
+
return current;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Set nested value in object using dot notation
|
|
226
|
+
*/
|
|
227
|
+
function setNestedValue(obj, path, value) {
|
|
228
|
+
const parts = path.split('.');
|
|
229
|
+
let current = obj;
|
|
230
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
231
|
+
const part = parts[i];
|
|
232
|
+
if (!(part in current) || typeof current[part] !== 'object') {
|
|
233
|
+
current[part] = {};
|
|
234
|
+
}
|
|
235
|
+
current = current[part];
|
|
236
|
+
}
|
|
237
|
+
current[parts[parts.length - 1]] = value;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Resolve default value for a single field with full context
|
|
241
|
+
*/
|
|
242
|
+
export function resolveFieldDefault(_fieldPath, fieldMeta, schemaDefault, ctx) {
|
|
243
|
+
const defaults = fieldMeta.defaults;
|
|
244
|
+
if (!defaults) {
|
|
245
|
+
return schemaDefault;
|
|
246
|
+
}
|
|
247
|
+
// Check for custom resolver
|
|
248
|
+
if (defaults.resolver) {
|
|
249
|
+
return defaults.resolver(ctx);
|
|
250
|
+
}
|
|
251
|
+
// Check hardware-specific default
|
|
252
|
+
if (defaults.byHardware?.[ctx.hardware] !== undefined) {
|
|
253
|
+
return defaults.byHardware[ctx.hardware];
|
|
254
|
+
}
|
|
255
|
+
// Check environment-specific default
|
|
256
|
+
if (defaults.byEnvironment?.[ctx.environment] !== undefined) {
|
|
257
|
+
return defaults.byEnvironment[ctx.environment];
|
|
258
|
+
}
|
|
259
|
+
// Check surface-specific default
|
|
260
|
+
if (defaults.bySurface?.[ctx.surface] !== undefined) {
|
|
261
|
+
return defaults.bySurface[ctx.surface];
|
|
262
|
+
}
|
|
263
|
+
// Use base default
|
|
264
|
+
if (defaults.base !== undefined) {
|
|
265
|
+
return defaults.base;
|
|
266
|
+
}
|
|
267
|
+
// Fall back to schema default
|
|
268
|
+
return schemaDefault;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Resolve default values for a manifest based on context
|
|
272
|
+
*/
|
|
273
|
+
export function resolveDefaults(manifest, ctx) {
|
|
274
|
+
const result = {};
|
|
275
|
+
// Get defaults from schema
|
|
276
|
+
const schemaDefaults = getSchemaDefaults(manifest.schema);
|
|
277
|
+
// Merge with field-specific defaults
|
|
278
|
+
for (const [fieldPath, fieldMeta] of Object.entries(manifest.fields)) {
|
|
279
|
+
const schemaDefault = getNestedValue(schemaDefaults, fieldPath);
|
|
280
|
+
const resolvedDefault = resolveFieldDefault(fieldPath, fieldMeta, schemaDefault, ctx);
|
|
281
|
+
if (resolvedDefault !== undefined) {
|
|
282
|
+
setNestedValue(result, fieldPath, resolvedDefault);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// Merge schema defaults for fields without explicit metadata
|
|
286
|
+
for (const [key, value] of Object.entries(schemaDefaults)) {
|
|
287
|
+
if (!(key in result) && value !== undefined) {
|
|
288
|
+
result[key] = value;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return result;
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=field-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-resolver.js","sourceRoot":"","sources":["../../../src/form/core/field-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field Grouping
|
|
3
|
+
*
|
|
4
|
+
* Organize fields into groups for UI rendering
|
|
5
|
+
*/
|
|
6
|
+
import type { ConfigManifest, ConfigFieldGroup, ConfigContext } from '../../manifest/types.ts';
|
|
7
|
+
import type { ResolvedField, ResolvedGroup } from './types.ts';
|
|
8
|
+
/**
|
|
9
|
+
* Resolve groups with their fields and visibility
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveGroups(manifest: ConfigManifest, fields: ResolvedField[], values: Record<string, unknown>, context: ConfigContext): ResolvedGroup[];
|
|
12
|
+
/**
|
|
13
|
+
* Get fields for a specific group
|
|
14
|
+
*/
|
|
15
|
+
export declare function getGroupFields(groupId: string, fields: ResolvedField[]): ResolvedField[];
|
|
16
|
+
/**
|
|
17
|
+
* Check if a group should be collapsed by default
|
|
18
|
+
*/
|
|
19
|
+
export declare function isGroupCollapsed(group: ConfigFieldGroup, userPreferences?: Record<string, boolean>): boolean;
|
|
20
|
+
//# sourceMappingURL=groups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../src/form/core/groups.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D;;GAEG;AACH,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,aAAa,GACpB,aAAa,EAAE,CAuDjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAExF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,OAAO,CAQT"}
|