@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,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config Loader - Local-First Implementation
|
|
3
|
+
*
|
|
4
|
+
* Hybrid configuration loading using runtime-composed strategy.
|
|
5
|
+
* Implements local-first policy through runtime resolution, not internal branching.
|
|
6
|
+
*
|
|
7
|
+
* Scope: { hardware: ['consumer'], qualifiers: { storage: 'local-first' }}
|
|
8
|
+
*
|
|
9
|
+
* This replaces the syncDirection branching in UnifiedConfigLoader with a pure
|
|
10
|
+
* runtime-composed approach. The cloud client is resolved via runtime.query when needed.
|
|
11
|
+
*/
|
|
12
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
13
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
14
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
15
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return path;
|
|
19
|
+
};
|
|
20
|
+
import { createRuntimeImplementation, getVibesRuntime } from '@vibesdotdev/runtime';
|
|
21
|
+
import * as z from 'zod/v4';
|
|
22
|
+
/** Deferred LocalDB adapter - loads the real adapter dynamically */
|
|
23
|
+
function createDeferredLocalDBAdapter(options) {
|
|
24
|
+
let docStore = null;
|
|
25
|
+
async function getDocStore() {
|
|
26
|
+
if (!docStore) {
|
|
27
|
+
const modulePath = '@vibesdotdev/storage-adapter-localdb/localdb.adapter.impl';
|
|
28
|
+
const { default: implementation } = (await import(__rewriteRelativeImportExtension(
|
|
29
|
+
/* @vite-ignore */ modulePath)));
|
|
30
|
+
const adapter = implementation.impl;
|
|
31
|
+
const basePath = options.scope === 'project'
|
|
32
|
+
? `${process.cwd()}/.vibes`
|
|
33
|
+
: `${process.env.HOME ?? '~'}/.vibes`;
|
|
34
|
+
adapter.configure({ basePath });
|
|
35
|
+
docStore = adapter.documentStore(options.namespace, z.unknown());
|
|
36
|
+
}
|
|
37
|
+
return docStore;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
async load() {
|
|
41
|
+
const store = await getDocStore();
|
|
42
|
+
return store.load();
|
|
43
|
+
},
|
|
44
|
+
async save(data) {
|
|
45
|
+
const store = await getDocStore();
|
|
46
|
+
return store.save(data);
|
|
47
|
+
},
|
|
48
|
+
async exists() {
|
|
49
|
+
const store = await getDocStore();
|
|
50
|
+
return store.exists();
|
|
51
|
+
},
|
|
52
|
+
async delete() {
|
|
53
|
+
const store = await getDocStore();
|
|
54
|
+
return store.delete();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/** Create a fetch-based cloud settings client */
|
|
59
|
+
function createFetchCloudClient(options) {
|
|
60
|
+
const { baseUrl, getAuthToken } = options;
|
|
61
|
+
return {
|
|
62
|
+
async get(namespace) {
|
|
63
|
+
const token = await getAuthToken();
|
|
64
|
+
if (!token)
|
|
65
|
+
return null;
|
|
66
|
+
const res = await fetch(`${baseUrl}/api/settings/${encodeURIComponent(namespace)}`, {
|
|
67
|
+
headers: { Authorization: `Bearer ${token}` }
|
|
68
|
+
});
|
|
69
|
+
if (!res.ok)
|
|
70
|
+
return null;
|
|
71
|
+
return res.json();
|
|
72
|
+
},
|
|
73
|
+
async set(namespace, data) {
|
|
74
|
+
const token = await getAuthToken();
|
|
75
|
+
if (!token)
|
|
76
|
+
throw new Error('Not authenticated');
|
|
77
|
+
await fetch(`${baseUrl}/api/settings/${encodeURIComponent(namespace)}`, {
|
|
78
|
+
method: 'PUT',
|
|
79
|
+
headers: {
|
|
80
|
+
'Content-Type': 'application/json',
|
|
81
|
+
Authorization: `Bearer ${token}`
|
|
82
|
+
},
|
|
83
|
+
body: JSON.stringify(data)
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
async delete(namespace) {
|
|
87
|
+
const token = await getAuthToken();
|
|
88
|
+
if (!token)
|
|
89
|
+
throw new Error('Not authenticated');
|
|
90
|
+
await fetch(`${baseUrl}/api/settings/${encodeURIComponent(namespace)}`, {
|
|
91
|
+
method: 'DELETE',
|
|
92
|
+
headers: { Authorization: `Bearer ${token}` }
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Local-First Config Loader
|
|
99
|
+
*
|
|
100
|
+
* Hybrid implementation that composes local and cloud storage through runtime.
|
|
101
|
+
* No internal branching - cloud client is resolved via runtime.query.
|
|
102
|
+
*
|
|
103
|
+
* Load strategy: local first, then cloud (with optional caching)
|
|
104
|
+
* Save strategy: local always, cloud when authenticated
|
|
105
|
+
*/
|
|
106
|
+
export class LocalFirstConfigLoader {
|
|
107
|
+
runtime;
|
|
108
|
+
localAdapters = new Map();
|
|
109
|
+
constructor() {
|
|
110
|
+
this.runtime = getVibesRuntime();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Resolve cloud client from runtime when needed
|
|
114
|
+
* Returns null if cloud is not available (not authenticated)
|
|
115
|
+
*/
|
|
116
|
+
async resolveCloudClient() {
|
|
117
|
+
try {
|
|
118
|
+
// Query runtime for cloud storage adapter
|
|
119
|
+
const cloudAdapter = await this.runtime
|
|
120
|
+
.query('storage/adapter')
|
|
121
|
+
.matching({
|
|
122
|
+
qualifiers: { type: 'cloud', purpose: 'settings' }
|
|
123
|
+
})
|
|
124
|
+
.resolve();
|
|
125
|
+
if (cloudAdapter && typeof cloudAdapter === 'object') {
|
|
126
|
+
// Check if it has document store capabilities
|
|
127
|
+
if ('documentStore' in cloudAdapter) {
|
|
128
|
+
return this.wrapAdapterAsCloudClient(cloudAdapter);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Fallback: try to resolve from context/config
|
|
132
|
+
try {
|
|
133
|
+
const configContext = await this.runtime.context('config');
|
|
134
|
+
if (configContext && typeof configContext === 'object') {
|
|
135
|
+
const baseUrl = configContext.cloudBaseUrl;
|
|
136
|
+
const getAuthToken = configContext.getAuthToken;
|
|
137
|
+
if (baseUrl && getAuthToken) {
|
|
138
|
+
return createFetchCloudClient({ baseUrl, getAuthToken });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
// Config context not available
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// Cloud not available
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Wrap a storage adapter as cloud client interface
|
|
153
|
+
*/
|
|
154
|
+
wrapAdapterAsCloudClient(adapter) {
|
|
155
|
+
return {
|
|
156
|
+
async get(namespace) {
|
|
157
|
+
// The adapter already has namespace baked in via documentStore()
|
|
158
|
+
const store = adapter.load;
|
|
159
|
+
if (store) {
|
|
160
|
+
return store.call(adapter);
|
|
161
|
+
}
|
|
162
|
+
return null;
|
|
163
|
+
},
|
|
164
|
+
async set(namespace, data) {
|
|
165
|
+
const save = adapter.save;
|
|
166
|
+
if (save) {
|
|
167
|
+
return save.call(adapter, data);
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
async delete(namespace) {
|
|
171
|
+
const del = adapter.delete;
|
|
172
|
+
if (del) {
|
|
173
|
+
return del.call(adapter);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Load configuration: local first, then cloud
|
|
180
|
+
*/
|
|
181
|
+
async load(manifest) {
|
|
182
|
+
const namespace = manifest.storage.namespace;
|
|
183
|
+
try {
|
|
184
|
+
// Step 1: Try local first
|
|
185
|
+
const localAdapter = this.getLocalAdapter(namespace, manifest);
|
|
186
|
+
const localData = await localAdapter.load();
|
|
187
|
+
if (localData !== null) {
|
|
188
|
+
return {
|
|
189
|
+
data: localData,
|
|
190
|
+
source: 'local',
|
|
191
|
+
inSync: true,
|
|
192
|
+
lastSyncedAt: null
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
// Step 2: Local empty, try cloud (resolved via runtime)
|
|
196
|
+
const cloudClient = await this.resolveCloudClient();
|
|
197
|
+
if (cloudClient) {
|
|
198
|
+
const cloudData = await cloudClient.get(namespace);
|
|
199
|
+
if (cloudData !== null) {
|
|
200
|
+
// Cache to local for future loads
|
|
201
|
+
await localAdapter.save(cloudData);
|
|
202
|
+
return {
|
|
203
|
+
data: cloudData,
|
|
204
|
+
source: 'cloud',
|
|
205
|
+
inSync: true,
|
|
206
|
+
lastSyncedAt: new Date()
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// Step 3: Neither has data
|
|
211
|
+
return {
|
|
212
|
+
data: null,
|
|
213
|
+
source: 'default',
|
|
214
|
+
inSync: true,
|
|
215
|
+
lastSyncedAt: null
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
return {
|
|
220
|
+
data: null,
|
|
221
|
+
source: 'default',
|
|
222
|
+
inSync: false,
|
|
223
|
+
lastSyncedAt: null,
|
|
224
|
+
syncError: error instanceof Error ? error.message : 'Load failed'
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Save configuration: local always, cloud when available
|
|
230
|
+
*/
|
|
231
|
+
async save(manifest, data) {
|
|
232
|
+
const namespace = manifest.storage.namespace;
|
|
233
|
+
try {
|
|
234
|
+
// Step 1: Save to local
|
|
235
|
+
const localAdapter = this.getLocalAdapter(namespace, manifest);
|
|
236
|
+
await localAdapter.save(data);
|
|
237
|
+
// Step 2: Try to sync to cloud (resolved via runtime)
|
|
238
|
+
const cloudClient = await this.resolveCloudClient();
|
|
239
|
+
if (cloudClient) {
|
|
240
|
+
await cloudClient.set(namespace, data);
|
|
241
|
+
return {
|
|
242
|
+
success: true,
|
|
243
|
+
direction: 'push',
|
|
244
|
+
changesApplied: 1
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
// No cloud available, local-only save
|
|
248
|
+
return {
|
|
249
|
+
success: true,
|
|
250
|
+
direction: 'none',
|
|
251
|
+
changesApplied: 1
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
return {
|
|
256
|
+
success: false,
|
|
257
|
+
direction: 'none',
|
|
258
|
+
changesApplied: 0,
|
|
259
|
+
error: error instanceof Error ? error.message : 'Save failed'
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Sync between local and cloud
|
|
265
|
+
*/
|
|
266
|
+
async sync(manifest, direction = 'auto') {
|
|
267
|
+
const namespace = manifest.storage.namespace;
|
|
268
|
+
try {
|
|
269
|
+
const localAdapter = this.getLocalAdapter(namespace, manifest);
|
|
270
|
+
const cloudClient = await this.resolveCloudClient();
|
|
271
|
+
if (!cloudClient) {
|
|
272
|
+
return {
|
|
273
|
+
success: true,
|
|
274
|
+
direction: 'none',
|
|
275
|
+
changesApplied: 0
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
const localData = await localAdapter.load();
|
|
279
|
+
const cloudData = await cloudClient.get(namespace);
|
|
280
|
+
// Determine actual direction
|
|
281
|
+
let actualDirection = direction;
|
|
282
|
+
if (direction === 'auto') {
|
|
283
|
+
// Prefer local if it exists (CLI edits take precedence)
|
|
284
|
+
actualDirection = localData !== null ? 'push' : 'pull';
|
|
285
|
+
}
|
|
286
|
+
if (actualDirection === 'push' && localData !== null) {
|
|
287
|
+
await cloudClient.set(namespace, localData);
|
|
288
|
+
return {
|
|
289
|
+
success: true,
|
|
290
|
+
direction: 'push',
|
|
291
|
+
changesApplied: 1
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
else if (actualDirection === 'pull' && cloudData !== null) {
|
|
295
|
+
await localAdapter.save(cloudData);
|
|
296
|
+
return {
|
|
297
|
+
success: true,
|
|
298
|
+
direction: 'pull',
|
|
299
|
+
changesApplied: 1
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
return {
|
|
303
|
+
success: true,
|
|
304
|
+
direction: 'none',
|
|
305
|
+
changesApplied: 0
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
return {
|
|
310
|
+
success: false,
|
|
311
|
+
direction: 'none',
|
|
312
|
+
changesApplied: 0,
|
|
313
|
+
error: error instanceof Error ? error.message : 'Sync failed'
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Private helpers
|
|
318
|
+
getLocalAdapter(namespace, manifest) {
|
|
319
|
+
let adapter = this.localAdapters.get(namespace);
|
|
320
|
+
if (!adapter) {
|
|
321
|
+
adapter = createDeferredLocalDBAdapter({
|
|
322
|
+
scope: manifest.storage.scope === 'project' ? 'project' : 'global',
|
|
323
|
+
namespace,
|
|
324
|
+
encrypt: manifest.storage.encryptSensitive
|
|
325
|
+
});
|
|
326
|
+
this.localAdapters.set(namespace, adapter);
|
|
327
|
+
}
|
|
328
|
+
return adapter;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Runtime implementation registration
|
|
333
|
+
*
|
|
334
|
+
* Scope: consumer hardware with local-first storage qualifier.
|
|
335
|
+
* No syncDirection parameter - the qualifier encodes the policy.
|
|
336
|
+
* Cloud resolved through runtime.query, not internal composition.
|
|
337
|
+
*/
|
|
338
|
+
export default createRuntimeImplementation({
|
|
339
|
+
kind: 'config/loader',
|
|
340
|
+
id: 'config.loader.local-first',
|
|
341
|
+
implementation: LocalFirstConfigLoader,
|
|
342
|
+
constraint: {
|
|
343
|
+
hardware: ['consumer'],
|
|
344
|
+
qualifiers: { storage: 'local-first' }
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
//# sourceMappingURL=loader.impl.consumer.local-first.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.impl.consumer.local-first.js","sourceRoot":"","sources":["../../../src/services/loader/loader.impl.consumer.local-first.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manifest Utilities
|
|
3
|
+
*
|
|
4
|
+
* Runtime-based utilities for looking up and working with config manifests.
|
|
5
|
+
* Replaces the legacy registry/manifests.js functions.
|
|
6
|
+
*/
|
|
7
|
+
import type { ConfigManifest } from '../manifest/types.ts';
|
|
8
|
+
import type { RecordManifest } from '../crud/types.ts';
|
|
9
|
+
import type { AnyManifest } from './schemas/manifest-utils.schema.ts';
|
|
10
|
+
export type { AnyManifest } from './schemas/manifest-utils.schema.ts';
|
|
11
|
+
/**
|
|
12
|
+
* Get a manifest by ID from the runtime
|
|
13
|
+
*/
|
|
14
|
+
export declare function getManifest(id: string): AnyManifest | null;
|
|
15
|
+
/**
|
|
16
|
+
* Get all registered manifest IDs
|
|
17
|
+
*/
|
|
18
|
+
export declare function getAllManifestIds(): string[];
|
|
19
|
+
/**
|
|
20
|
+
* Get all registered manifests
|
|
21
|
+
*/
|
|
22
|
+
export declare function getAllManifests(): AnyManifest[];
|
|
23
|
+
/**
|
|
24
|
+
* Check if a manifest is a ConfigManifest (single-object config)
|
|
25
|
+
*/
|
|
26
|
+
export declare function isConfigManifest(manifest: unknown): manifest is ConfigManifest;
|
|
27
|
+
/**
|
|
28
|
+
* Check if a manifest is a RecordManifest (CRUD list)
|
|
29
|
+
*/
|
|
30
|
+
export declare function isRecordManifest(manifest: unknown): manifest is RecordManifest;
|
|
31
|
+
/**
|
|
32
|
+
* Get manifests by surface
|
|
33
|
+
*/
|
|
34
|
+
export declare function getManifestsForSurface(surface: string): AnyManifest[];
|
|
35
|
+
/**
|
|
36
|
+
* Get manifests by navigation page
|
|
37
|
+
*/
|
|
38
|
+
export declare function getManifestsForPage(page: string): AnyManifest[];
|
|
39
|
+
/**
|
|
40
|
+
* Get manifests by navigation section
|
|
41
|
+
*/
|
|
42
|
+
export declare function getManifestsForSection(page: string, section: string): AnyManifest[];
|
|
43
|
+
/**
|
|
44
|
+
* Get manifests by category
|
|
45
|
+
*/
|
|
46
|
+
export declare function getManifestsByCategory(category: string): AnyManifest[];
|
|
47
|
+
//# sourceMappingURL=manifest-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-utils.d.ts","sourceRoot":"","sources":["../../src/services/manifest-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEtE,YAAY,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEtE;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAQ1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAQ5C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,EAAE,CAQ/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,cAAc,CAW9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,cAAc,CAW9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAMrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAInF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAEtE"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manifest Utilities
|
|
3
|
+
*
|
|
4
|
+
* Runtime-based utilities for looking up and working with config manifests.
|
|
5
|
+
* Replaces the legacy registry/manifests.js functions.
|
|
6
|
+
*/
|
|
7
|
+
import { getVibesRuntime } from '@vibesdotdev/runtime';
|
|
8
|
+
/**
|
|
9
|
+
* Get a manifest by ID from the runtime
|
|
10
|
+
*/
|
|
11
|
+
export function getManifest(id) {
|
|
12
|
+
try {
|
|
13
|
+
const runtime = getVibesRuntime();
|
|
14
|
+
const descriptors = runtime.query('config/manifest').descriptors();
|
|
15
|
+
return descriptors.find((d) => d.id === id) ?? null;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get all registered manifest IDs
|
|
23
|
+
*/
|
|
24
|
+
export function getAllManifestIds() {
|
|
25
|
+
try {
|
|
26
|
+
const runtime = getVibesRuntime();
|
|
27
|
+
const descriptors = runtime.query('config/manifest').descriptors();
|
|
28
|
+
return descriptors.map((d) => d.id);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get all registered manifests
|
|
36
|
+
*/
|
|
37
|
+
export function getAllManifests() {
|
|
38
|
+
try {
|
|
39
|
+
const runtime = getVibesRuntime();
|
|
40
|
+
const descriptors = runtime.query('config/manifest').descriptors();
|
|
41
|
+
return descriptors;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if a manifest is a ConfigManifest (single-object config)
|
|
49
|
+
*/
|
|
50
|
+
export function isConfigManifest(manifest) {
|
|
51
|
+
if (!manifest || typeof manifest !== 'object')
|
|
52
|
+
return false;
|
|
53
|
+
const m = manifest;
|
|
54
|
+
return (typeof m.id === 'string' &&
|
|
55
|
+
typeof m.schema === 'object' &&
|
|
56
|
+
m.schema !== null &&
|
|
57
|
+
typeof m.fields === 'object' &&
|
|
58
|
+
m.fields !== null &&
|
|
59
|
+
!('crud' in m) // RecordManifests have crud config
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Check if a manifest is a RecordManifest (CRUD list)
|
|
64
|
+
*/
|
|
65
|
+
export function isRecordManifest(manifest) {
|
|
66
|
+
if (!manifest || typeof manifest !== 'object')
|
|
67
|
+
return false;
|
|
68
|
+
const m = manifest;
|
|
69
|
+
return (typeof m.id === 'string' &&
|
|
70
|
+
typeof m.schema === 'object' &&
|
|
71
|
+
m.schema !== null &&
|
|
72
|
+
'crud' in m &&
|
|
73
|
+
typeof m.crud === 'object' &&
|
|
74
|
+
m.crud !== null);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get manifests by surface
|
|
78
|
+
*/
|
|
79
|
+
export function getManifestsForSurface(surface) {
|
|
80
|
+
return getAllManifests().filter((m) => {
|
|
81
|
+
if (!m.context?.surfaces)
|
|
82
|
+
return true; // No surface restriction
|
|
83
|
+
const surfaces = m.context.surfaces;
|
|
84
|
+
return surfaces.includes(surface);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get manifests by navigation page
|
|
89
|
+
*/
|
|
90
|
+
export function getManifestsForPage(page) {
|
|
91
|
+
return getAllManifests().filter((m) => m.navigation?.page === page);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get manifests by navigation section
|
|
95
|
+
*/
|
|
96
|
+
export function getManifestsForSection(page, section) {
|
|
97
|
+
return getAllManifests().filter((m) => m.navigation?.page === page && m.navigation?.section === section);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get manifests by category
|
|
101
|
+
*/
|
|
102
|
+
export function getManifestsByCategory(category) {
|
|
103
|
+
return getAllManifests().filter((m) => m.category === category);
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=manifest-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-utils.js","sourceRoot":"","sources":["../../src/services/manifest-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ConfigAccessor<T> {
|
|
2
|
+
get(): T | null;
|
|
3
|
+
setField<K extends keyof T>(field: K, value: T[K]): void;
|
|
4
|
+
setFields(fields: Partial<T>): void;
|
|
5
|
+
subscribe(callback: (values: T | null) => void): () => void;
|
|
6
|
+
save(): Promise<void>;
|
|
7
|
+
reload(): Promise<void>;
|
|
8
|
+
isDirty(): boolean;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=config-accessor.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-accessor.schema.d.ts","sourceRoot":"","sources":["../../../src/services/schemas/config-accessor.schema.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,OAAO,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-accessor.schema.js","sourceRoot":"","sources":["../../../src/services/schemas/config-accessor.schema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface EncryptedValue {
|
|
2
|
+
ciphertext: string;
|
|
3
|
+
iv: string;
|
|
4
|
+
salt: string;
|
|
5
|
+
tag: string;
|
|
6
|
+
algorithm: string;
|
|
7
|
+
iterations: number;
|
|
8
|
+
}
|
|
9
|
+
export interface SerializedEncryptedValue {
|
|
10
|
+
v: 1;
|
|
11
|
+
ct: string;
|
|
12
|
+
iv: string;
|
|
13
|
+
s: string;
|
|
14
|
+
t: string;
|
|
15
|
+
a: string;
|
|
16
|
+
i: number;
|
|
17
|
+
}
|
|
18
|
+
export interface EncryptionOptions {
|
|
19
|
+
salt?: Buffer;
|
|
20
|
+
iv?: Buffer;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=encryption.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryption.schema.d.ts","sourceRoot":"","sources":["../../../src/services/schemas/encryption.schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACxC,CAAC,EAAE,CAAC,CAAC;IACL,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryption.schema.js","sourceRoot":"","sources":["../../../src/services/schemas/encryption.schema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-utils.schema.d.ts","sourceRoot":"","sources":["../../../src/services/schemas/manifest-utils.schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-utils.schema.js","sourceRoot":"","sources":["../../../src/services/schemas/manifest-utils.schema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settings Assembly
|
|
3
|
+
*
|
|
4
|
+
* Builds the global Settings layout at runtime by concatenating every
|
|
5
|
+
* `settings/section` descriptor registered with the runtime. Config does
|
|
6
|
+
* not own the section list; each owning module contributes its own.
|
|
7
|
+
*/
|
|
8
|
+
import type { SettingsSectionDescriptor } from './settings-section.schema.ts';
|
|
9
|
+
/** Minimum surface a runtime accessor must expose for assembly. */
|
|
10
|
+
export interface SettingsSectionRuntime {
|
|
11
|
+
assets(kind: 'settings/section'): {
|
|
12
|
+
descriptors(): SettingsSectionDescriptor[];
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns every registered Settings section, filtered to `enabled !== false`
|
|
17
|
+
* and sorted by `order` (ascending; unset → 100). Pure: callers may safely
|
|
18
|
+
* pass the result to a UI without further sorting.
|
|
19
|
+
*/
|
|
20
|
+
export declare function assembleSettingsSections(runtime: SettingsSectionRuntime): SettingsSectionDescriptor[];
|
|
21
|
+
/**
|
|
22
|
+
* Resolve the section a given `config/manifest` ID participates in (if any).
|
|
23
|
+
*
|
|
24
|
+
* Returns the first section whose `manifests[]` contains the given id, in
|
|
25
|
+
* assembled order. Returns `undefined` when no section claims it.
|
|
26
|
+
*/
|
|
27
|
+
export declare function findSectionForManifest(runtime: SettingsSectionRuntime, manifestId: string): SettingsSectionDescriptor | undefined;
|
|
28
|
+
//# sourceMappingURL=assemble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/settings/assemble.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE9E,mEAAmE;AACnE,MAAM,WAAW,sBAAsB;IACtC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG;QACjC,WAAW,IAAI,yBAAyB,EAAE,CAAC;KAC3C,CAAC;CACF;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,sBAAsB,GAC7B,yBAAyB,EAAE,CAM7B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,MAAM,GAChB,yBAAyB,GAAG,SAAS,CAEvC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settings Assembly
|
|
3
|
+
*
|
|
4
|
+
* Builds the global Settings layout at runtime by concatenating every
|
|
5
|
+
* `settings/section` descriptor registered with the runtime. Config does
|
|
6
|
+
* not own the section list; each owning module contributes its own.
|
|
7
|
+
*/
|
|
8
|
+
const DEFAULT_ORDER = 100;
|
|
9
|
+
/**
|
|
10
|
+
* Returns every registered Settings section, filtered to `enabled !== false`
|
|
11
|
+
* and sorted by `order` (ascending; unset → 100). Pure: callers may safely
|
|
12
|
+
* pass the result to a UI without further sorting.
|
|
13
|
+
*/
|
|
14
|
+
export function assembleSettingsSections(runtime) {
|
|
15
|
+
const descriptors = runtime.assets('settings/section').descriptors();
|
|
16
|
+
return descriptors
|
|
17
|
+
.filter((d) => d.enabled !== false)
|
|
18
|
+
.slice()
|
|
19
|
+
.sort((a, b) => (a.order ?? DEFAULT_ORDER) - (b.order ?? DEFAULT_ORDER));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolve the section a given `config/manifest` ID participates in (if any).
|
|
23
|
+
*
|
|
24
|
+
* Returns the first section whose `manifests[]` contains the given id, in
|
|
25
|
+
* assembled order. Returns `undefined` when no section claims it.
|
|
26
|
+
*/
|
|
27
|
+
export function findSectionForManifest(runtime, manifestId) {
|
|
28
|
+
return assembleSettingsSections(runtime).find((s) => s.manifests.includes(manifestId));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=assemble.js.map
|