@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,358 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discriminated Routing Types
|
|
3
|
+
*
|
|
4
|
+
* Types for discriminated field routing - where a discriminator field value
|
|
5
|
+
* dynamically loads variant-specific fields, schemas, and component overrides.
|
|
6
|
+
*/
|
|
7
|
+
import type { ZodTypeAny } from 'zod/v4';
|
|
8
|
+
import type { ConfigFieldMeta, ConfigFieldGroup } from '../manifest/types.ts';
|
|
9
|
+
import type { FormStep } from '../crud/shared.ts';
|
|
10
|
+
import type { LazyComponentOverride, ExtensionSurface } from '../extensions/types.ts';
|
|
11
|
+
/**
|
|
12
|
+
* Surface-specific component overrides for a variant
|
|
13
|
+
*/
|
|
14
|
+
export interface VariantSurfaceOverrides {
|
|
15
|
+
/** TUI (React/OpenTUI) component overrides */
|
|
16
|
+
tui?: Record<string, LazyComponentOverride>;
|
|
17
|
+
/** Web (SvelteKit) component overrides */
|
|
18
|
+
web?: Record<string, LazyComponentOverride>;
|
|
19
|
+
/** CLI component overrides */
|
|
20
|
+
cli?: Record<string, LazyComponentOverride>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A manifest variant that extends/overrides a base manifest
|
|
24
|
+
* based on a discriminator field value.
|
|
25
|
+
*
|
|
26
|
+
* @template TConfig - The configuration type for this variant
|
|
27
|
+
*/
|
|
28
|
+
export interface ManifestVariant<TConfig extends Record<string, unknown> = Record<string, unknown>> {
|
|
29
|
+
/** Unique variant identifier (matches discriminator value) */
|
|
30
|
+
id: string;
|
|
31
|
+
/**
|
|
32
|
+
* Schema extension (merged with base schema)
|
|
33
|
+
* Variant-specific validation that extends the base schema
|
|
34
|
+
*/
|
|
35
|
+
schema?: ZodTypeAny;
|
|
36
|
+
/**
|
|
37
|
+
* Field extensions - merged with base manifest fields
|
|
38
|
+
* Variant fields are added/override base fields
|
|
39
|
+
*/
|
|
40
|
+
fields: Record<string, ConfigFieldMeta>;
|
|
41
|
+
/**
|
|
42
|
+
* Field groups - merged with base manifest groups
|
|
43
|
+
*/
|
|
44
|
+
groups?: ConfigFieldGroup[];
|
|
45
|
+
/**
|
|
46
|
+
* Default values for variant-specific fields
|
|
47
|
+
* Merged with base defaults (variant wins on conflict)
|
|
48
|
+
*/
|
|
49
|
+
defaults?: Partial<TConfig>;
|
|
50
|
+
/**
|
|
51
|
+
* Optional: Override step field placement
|
|
52
|
+
* If not provided, fields auto-inject by matching group ID
|
|
53
|
+
* If provided, completely replaces base form steps
|
|
54
|
+
*/
|
|
55
|
+
stepOverrides?: FormStep[];
|
|
56
|
+
/**
|
|
57
|
+
* Surface-specific component overrides
|
|
58
|
+
* Keyed by surface type, then by field key
|
|
59
|
+
*/
|
|
60
|
+
overrides?: VariantSurfaceOverrides;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Variant loader function type
|
|
64
|
+
* Used for lazy loading variants on demand
|
|
65
|
+
*/
|
|
66
|
+
export type VariantLoader = () => Promise<Map<string, ManifestVariant>>;
|
|
67
|
+
/**
|
|
68
|
+
* Routing configuration for a manifest
|
|
69
|
+
* Enables discriminated field routing based on a field value
|
|
70
|
+
*/
|
|
71
|
+
export interface ManifestRouting {
|
|
72
|
+
/**
|
|
73
|
+
* Field key that determines which variant to load
|
|
74
|
+
* e.g., 'providerType', 'agentType'
|
|
75
|
+
*/
|
|
76
|
+
discriminator: string;
|
|
77
|
+
/**
|
|
78
|
+
* Display priority for discriminator field (lower = first)
|
|
79
|
+
* Controls where discriminator appears in forms
|
|
80
|
+
* @default 0 (appears first)
|
|
81
|
+
*/
|
|
82
|
+
priority?: number;
|
|
83
|
+
/**
|
|
84
|
+
* Variants map or lazy loader function
|
|
85
|
+
* - Map: Eagerly loaded variants keyed by discriminator value
|
|
86
|
+
* - Function: Lazy loader that returns variants on demand
|
|
87
|
+
*/
|
|
88
|
+
variants: Map<string, ManifestVariant> | VariantLoader;
|
|
89
|
+
/**
|
|
90
|
+
* Optional fallback variant when discriminator value doesn't match
|
|
91
|
+
*/
|
|
92
|
+
fallback?: ManifestVariant;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Nested routing configuration for sub-objects with their own discriminators.
|
|
96
|
+
* Used when a manifest contains multiple discriminated unions (e.g., agent roles).
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* // For autoloop config with multiple agent roles:
|
|
101
|
+
* nestedRoutings: [
|
|
102
|
+
* { path: 'agents.orchestration', discriminator: 'type', variants: agentVariants },
|
|
103
|
+
* { path: 'agents.development', discriminator: 'type', variants: agentVariants },
|
|
104
|
+
* { path: 'agents.planning', discriminator: 'type', variants: agentVariants },
|
|
105
|
+
* ]
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export interface NestedRouting {
|
|
109
|
+
/**
|
|
110
|
+
* Dot-notation path to the nested object containing the discriminator.
|
|
111
|
+
* e.g., 'agents.orchestration', 'providers.primary'
|
|
112
|
+
*/
|
|
113
|
+
path: string;
|
|
114
|
+
/**
|
|
115
|
+
* Field key within the nested object that determines variant.
|
|
116
|
+
* e.g., 'type' (full path becomes 'agents.orchestration.type')
|
|
117
|
+
*/
|
|
118
|
+
discriminator: string;
|
|
119
|
+
/**
|
|
120
|
+
* Display label for this nested routing section
|
|
121
|
+
*/
|
|
122
|
+
label: string;
|
|
123
|
+
/**
|
|
124
|
+
* Optional description for the section
|
|
125
|
+
*/
|
|
126
|
+
description?: string;
|
|
127
|
+
/**
|
|
128
|
+
* Optional icon for the section
|
|
129
|
+
*/
|
|
130
|
+
icon?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Field path for enable/disable toggle (relative to path).
|
|
133
|
+
* When set, the section shows an enable/disable toggle.
|
|
134
|
+
* e.g., 'enabled' (full path becomes 'agents.orchestration.enabled')
|
|
135
|
+
*/
|
|
136
|
+
enableField?: string;
|
|
137
|
+
/**
|
|
138
|
+
* Whether this nested routing is required (no enable toggle).
|
|
139
|
+
* @default false
|
|
140
|
+
*/
|
|
141
|
+
required?: boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Display priority (lower = first in list)
|
|
144
|
+
* @default 100
|
|
145
|
+
*/
|
|
146
|
+
priority?: number;
|
|
147
|
+
/**
|
|
148
|
+
* Variants map or lazy loader function.
|
|
149
|
+
* Can reference shared variants across multiple nested routings.
|
|
150
|
+
*/
|
|
151
|
+
variants: Map<string, ManifestVariant> | VariantLoader;
|
|
152
|
+
/**
|
|
153
|
+
* Optional fallback variant when discriminator value doesn't match
|
|
154
|
+
*/
|
|
155
|
+
fallback?: ManifestVariant;
|
|
156
|
+
/**
|
|
157
|
+
* Fields to show in collapsed summary view.
|
|
158
|
+
* Paths are relative to the nested object.
|
|
159
|
+
* e.g., ['model', 'provider'] shows agents.orchestration.model
|
|
160
|
+
*/
|
|
161
|
+
summaryFields?: string[];
|
|
162
|
+
/**
|
|
163
|
+
* Whether the section starts expanded
|
|
164
|
+
* @default false
|
|
165
|
+
*/
|
|
166
|
+
defaultExpanded?: boolean;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Active nested variant state for tracking multiple discriminators
|
|
170
|
+
*/
|
|
171
|
+
export interface ActiveNestedVariant {
|
|
172
|
+
/** The routing path this variant is active for */
|
|
173
|
+
path: string;
|
|
174
|
+
/** The discriminator value */
|
|
175
|
+
discriminatorValue: string;
|
|
176
|
+
/** The resolved variant */
|
|
177
|
+
variant: ManifestVariant;
|
|
178
|
+
/** Whether this section is enabled (if enableField is set) */
|
|
179
|
+
enabled: boolean;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Result of resolving a nested variant
|
|
183
|
+
*/
|
|
184
|
+
export interface ResolvedNestedVariant<TConfig extends Record<string, unknown> = Record<string, unknown>> {
|
|
185
|
+
/** The routing path */
|
|
186
|
+
path: string;
|
|
187
|
+
/** The resolved variant (or undefined if not found) */
|
|
188
|
+
variant?: ManifestVariant<TConfig>;
|
|
189
|
+
/** Whether the variant was found */
|
|
190
|
+
found: boolean;
|
|
191
|
+
/** The discriminator value used for lookup */
|
|
192
|
+
discriminatorValue: string;
|
|
193
|
+
/** Whether fallback was used */
|
|
194
|
+
usedFallback: boolean;
|
|
195
|
+
/** Whether this nested routing is enabled */
|
|
196
|
+
enabled: boolean;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Authentication type for provider connections
|
|
200
|
+
*/
|
|
201
|
+
export type ProviderAuthType = 'none' | 'bearer' | 'api_key' | 'basic' | 'oauth';
|
|
202
|
+
/**
|
|
203
|
+
* Provider category for organization
|
|
204
|
+
*/
|
|
205
|
+
export type ProviderCategory = 'local' | 'cloud' | 'custom';
|
|
206
|
+
/**
|
|
207
|
+
* Hardware constraint for provider execution
|
|
208
|
+
* - 'consumer': Runs on user's machine (CLI, local server)
|
|
209
|
+
* - 'cloud': Runs on platform servers
|
|
210
|
+
*/
|
|
211
|
+
export type HardwareConstraint = 'consumer' | 'cloud';
|
|
212
|
+
/**
|
|
213
|
+
* Provider client interface - minimal contract for lazy-loaded clients
|
|
214
|
+
*/
|
|
215
|
+
export interface ProviderClient {
|
|
216
|
+
/** Provider identifier */
|
|
217
|
+
readonly providerId: string;
|
|
218
|
+
/** Test connection to the provider */
|
|
219
|
+
testConnection?(): Promise<{
|
|
220
|
+
success: boolean;
|
|
221
|
+
error?: string;
|
|
222
|
+
}>;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Provider client factory type
|
|
226
|
+
*/
|
|
227
|
+
export type ProviderClientFactory = () => Promise<ProviderClient>;
|
|
228
|
+
/**
|
|
229
|
+
* Provider metadata
|
|
230
|
+
*/
|
|
231
|
+
export interface ProviderMeta {
|
|
232
|
+
/** Display label */
|
|
233
|
+
label: string;
|
|
234
|
+
/** Icon (emoji) */
|
|
235
|
+
icon: string;
|
|
236
|
+
/** Short description */
|
|
237
|
+
description: string;
|
|
238
|
+
/** Provider category */
|
|
239
|
+
category: ProviderCategory;
|
|
240
|
+
/**
|
|
241
|
+
* Hardware constraints - where this provider can run
|
|
242
|
+
* Defaults to ['consumer', 'cloud'] if not specified
|
|
243
|
+
*/
|
|
244
|
+
hardware?: HardwareConstraint[];
|
|
245
|
+
/** Supported capabilities */
|
|
246
|
+
capabilities?: string[];
|
|
247
|
+
/** Documentation URL */
|
|
248
|
+
docsUrl?: string;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Provider adapter configuration
|
|
252
|
+
*/
|
|
253
|
+
export interface ProviderAdapter {
|
|
254
|
+
/** Lazy-load client factory (optional - only needed if connection testing is implemented) */
|
|
255
|
+
client?: ProviderClientFactory;
|
|
256
|
+
/** Authentication type */
|
|
257
|
+
authType: ProviderAuthType;
|
|
258
|
+
/** Whether connection test is available */
|
|
259
|
+
supportsConnectionTest?: boolean;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Complete provider module definition
|
|
263
|
+
*
|
|
264
|
+
* A provider module is a complete provider definition that includes:
|
|
265
|
+
* - Identity and metadata
|
|
266
|
+
* - Adapter/client implementation
|
|
267
|
+
* - Operating defaults
|
|
268
|
+
* - Config manifest variant
|
|
269
|
+
*
|
|
270
|
+
* @template TConfig - The configuration type for this provider
|
|
271
|
+
*/
|
|
272
|
+
export interface ProviderModule<TConfig extends Record<string, unknown> = Record<string, unknown>> {
|
|
273
|
+
/** Unique provider identifier (e.g., 'local-llm', 'cloud-llm') */
|
|
274
|
+
id: string;
|
|
275
|
+
/** Provider type for discrimination (usually same as id) */
|
|
276
|
+
type: string;
|
|
277
|
+
/** Provider metadata */
|
|
278
|
+
meta: ProviderMeta;
|
|
279
|
+
/** Adapter configuration */
|
|
280
|
+
adapter: ProviderAdapter;
|
|
281
|
+
/** Operating defaults for this provider */
|
|
282
|
+
defaults: TConfig;
|
|
283
|
+
/** Config manifest variant */
|
|
284
|
+
config: ManifestVariant<TConfig>;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Result of variant resolution
|
|
288
|
+
*/
|
|
289
|
+
export interface ResolvedVariant<TConfig extends Record<string, unknown> = Record<string, unknown>> {
|
|
290
|
+
/** The resolved variant (or undefined if not found) */
|
|
291
|
+
variant?: ManifestVariant<TConfig>;
|
|
292
|
+
/** Whether the variant was found */
|
|
293
|
+
found: boolean;
|
|
294
|
+
/** The discriminator value used for lookup */
|
|
295
|
+
discriminatorValue: string;
|
|
296
|
+
/** Whether fallback was used */
|
|
297
|
+
usedFallback: boolean;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Options for getting surface overrides from a variant
|
|
301
|
+
*/
|
|
302
|
+
export interface GetVariantOverridesOptions {
|
|
303
|
+
/** The variant to get overrides from */
|
|
304
|
+
variant: ManifestVariant;
|
|
305
|
+
/** Target surface */
|
|
306
|
+
surface: ExtensionSurface;
|
|
307
|
+
/** Whether to include base manifest overrides */
|
|
308
|
+
includeBase?: boolean;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Type guard to check if routing has lazy variants
|
|
312
|
+
*/
|
|
313
|
+
export declare function hasLazyVariants(routing: ManifestRouting): routing is ManifestRouting & {
|
|
314
|
+
variants: VariantLoader;
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
* Type guard to check if routing has eager variants
|
|
318
|
+
*/
|
|
319
|
+
export declare function hasEagerVariants(routing: ManifestRouting): routing is ManifestRouting & {
|
|
320
|
+
variants: Map<string, ManifestVariant>;
|
|
321
|
+
};
|
|
322
|
+
/**
|
|
323
|
+
* Type guard to check if an object is a ManifestVariant
|
|
324
|
+
*/
|
|
325
|
+
export declare function isManifestVariant(obj: unknown): obj is ManifestVariant;
|
|
326
|
+
/**
|
|
327
|
+
* Type guard to check if an object is a ProviderModule
|
|
328
|
+
*/
|
|
329
|
+
export declare function isProviderModule(obj: unknown): obj is ProviderModule;
|
|
330
|
+
/**
|
|
331
|
+
* Type guard to check if nested routing has lazy variants
|
|
332
|
+
*/
|
|
333
|
+
export declare function hasNestedLazyVariants(routing: NestedRouting): routing is NestedRouting & {
|
|
334
|
+
variants: VariantLoader;
|
|
335
|
+
};
|
|
336
|
+
/**
|
|
337
|
+
* Type guard to check if nested routing has eager variants
|
|
338
|
+
*/
|
|
339
|
+
export declare function hasNestedEagerVariants(routing: NestedRouting): routing is NestedRouting & {
|
|
340
|
+
variants: Map<string, ManifestVariant>;
|
|
341
|
+
};
|
|
342
|
+
/**
|
|
343
|
+
* Type guard to check if an object is a NestedRouting
|
|
344
|
+
*/
|
|
345
|
+
export declare function isNestedRouting(obj: unknown): obj is NestedRouting;
|
|
346
|
+
/**
|
|
347
|
+
* Get the full discriminator path for a nested routing
|
|
348
|
+
* @param routing - The nested routing
|
|
349
|
+
* @returns Full dot-notation path (e.g., 'agents.orchestration.type')
|
|
350
|
+
*/
|
|
351
|
+
export declare function getNestedDiscriminatorPath(routing: NestedRouting): string;
|
|
352
|
+
/**
|
|
353
|
+
* Get the full enable field path for a nested routing
|
|
354
|
+
* @param routing - The nested routing
|
|
355
|
+
* @returns Full dot-notation path or undefined if no enable field
|
|
356
|
+
*/
|
|
357
|
+
export declare function getNestedEnablePath(routing: NestedRouting): string | undefined;
|
|
358
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discriminated Routing Types
|
|
3
|
+
*
|
|
4
|
+
* Types for discriminated field routing - where a discriminator field value
|
|
5
|
+
* dynamically loads variant-specific fields, schemas, and component overrides.
|
|
6
|
+
*/
|
|
7
|
+
// Type Guards
|
|
8
|
+
/**
|
|
9
|
+
* Type guard to check if routing has lazy variants
|
|
10
|
+
*/
|
|
11
|
+
export function hasLazyVariants(routing) {
|
|
12
|
+
return typeof routing.variants === 'function';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Type guard to check if routing has eager variants
|
|
16
|
+
*/
|
|
17
|
+
export function hasEagerVariants(routing) {
|
|
18
|
+
return routing.variants instanceof Map;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Type guard to check if an object is a ManifestVariant
|
|
22
|
+
*/
|
|
23
|
+
export function isManifestVariant(obj) {
|
|
24
|
+
return (typeof obj === 'object' &&
|
|
25
|
+
obj !== null &&
|
|
26
|
+
'id' in obj &&
|
|
27
|
+
'fields' in obj &&
|
|
28
|
+
typeof obj.id === 'string' &&
|
|
29
|
+
typeof obj.fields === 'object');
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Type guard to check if an object is a ProviderModule
|
|
33
|
+
*/
|
|
34
|
+
export function isProviderModule(obj) {
|
|
35
|
+
return (typeof obj === 'object' &&
|
|
36
|
+
obj !== null &&
|
|
37
|
+
'id' in obj &&
|
|
38
|
+
'type' in obj &&
|
|
39
|
+
'meta' in obj &&
|
|
40
|
+
'adapter' in obj &&
|
|
41
|
+
'defaults' in obj &&
|
|
42
|
+
'config' in obj &&
|
|
43
|
+
isManifestVariant(obj.config));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Type guard to check if nested routing has lazy variants
|
|
47
|
+
*/
|
|
48
|
+
export function hasNestedLazyVariants(routing) {
|
|
49
|
+
return typeof routing.variants === 'function';
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Type guard to check if nested routing has eager variants
|
|
53
|
+
*/
|
|
54
|
+
export function hasNestedEagerVariants(routing) {
|
|
55
|
+
return routing.variants instanceof Map;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Type guard to check if an object is a NestedRouting
|
|
59
|
+
*/
|
|
60
|
+
export function isNestedRouting(obj) {
|
|
61
|
+
return (typeof obj === 'object' &&
|
|
62
|
+
obj !== null &&
|
|
63
|
+
'path' in obj &&
|
|
64
|
+
'discriminator' in obj &&
|
|
65
|
+
'label' in obj &&
|
|
66
|
+
'variants' in obj &&
|
|
67
|
+
typeof obj.path === 'string' &&
|
|
68
|
+
typeof obj.discriminator === 'string' &&
|
|
69
|
+
typeof obj.label === 'string');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get the full discriminator path for a nested routing
|
|
73
|
+
* @param routing - The nested routing
|
|
74
|
+
* @returns Full dot-notation path (e.g., 'agents.orchestration.type')
|
|
75
|
+
*/
|
|
76
|
+
export function getNestedDiscriminatorPath(routing) {
|
|
77
|
+
return `${routing.path}.${routing.discriminator}`;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get the full enable field path for a nested routing
|
|
81
|
+
* @param routing - The nested routing
|
|
82
|
+
* @returns Full dot-notation path or undefined if no enable field
|
|
83
|
+
*/
|
|
84
|
+
export function getNestedEnablePath(routing) {
|
|
85
|
+
if (!routing.enableField)
|
|
86
|
+
return undefined;
|
|
87
|
+
return `${routing.path}.${routing.enableField}`;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyWH,cAAc;AAEd;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,OAAwB;IAExB,OAAO,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC/B,OAAwB;IAExB,OAAO,OAAO,CAAC,QAAQ,YAAY,GAAG,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC7C,OAAO,CACN,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,IAAI,IAAI,GAAG;QACX,QAAQ,IAAI,GAAG;QACf,OAAQ,GAAuB,CAAC,EAAE,KAAK,QAAQ;QAC/C,OAAQ,GAAuB,CAAC,MAAM,KAAK,QAAQ,CACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC5C,OAAO,CACN,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,IAAI,IAAI,GAAG;QACX,MAAM,IAAI,GAAG;QACb,MAAM,IAAI,GAAG;QACb,SAAS,IAAI,GAAG;QAChB,UAAU,IAAI,GAAG;QACjB,QAAQ,IAAI,GAAG;QACf,iBAAiB,CAAE,GAAsB,CAAC,MAAM,CAAC,CACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACpC,OAAsB;IAEtB,OAAO,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACrC,OAAsB;IAEtB,OAAO,OAAO,CAAC,QAAQ,YAAY,GAAG,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC3C,OAAO,CACN,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,MAAM,IAAI,GAAG;QACb,eAAe,IAAI,GAAG;QACtB,OAAO,IAAI,GAAG;QACd,UAAU,IAAI,GAAG;QACjB,OAAQ,GAAqB,CAAC,IAAI,KAAK,QAAQ;QAC/C,OAAQ,GAAqB,CAAC,aAAa,KAAK,QAAQ;QACxD,OAAQ,GAAqB,CAAC,KAAK,KAAK,QAAQ,CAChD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAsB;IAChE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IACzD,IAAI,CAAC,OAAO,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod Schema Extensions for Config Fields
|
|
3
|
+
*
|
|
4
|
+
* Provides a fluent builder pattern to attach reference and UI metadata
|
|
5
|
+
* to Zod schemas. This enables schema-driven form generation with
|
|
6
|
+
* dynamic option resolution.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const schema = z.object({
|
|
11
|
+
* widgetId: configField(z.string())
|
|
12
|
+
* .references('example.widgets', { labelField: 'name' })
|
|
13
|
+
* .label('Widget')
|
|
14
|
+
* .emptyState({ message: 'No widgets configured' })
|
|
15
|
+
* .build()
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import type { ZodTypeAny } from 'zod/v4';
|
|
20
|
+
import type { ReferenceMeta, ConfigReference, NestedReference, ComputedReference, EnumReference, EmptyStateConfig } from './references.ts';
|
|
21
|
+
import type { UIMeta, ConfigFieldMeta } from './schemas/extend-zod.schema.ts';
|
|
22
|
+
export type { UIMeta, ConfigFieldMeta } from './schemas/extend-zod.schema.ts';
|
|
23
|
+
/**
|
|
24
|
+
* Fluent builder for config-aware schemas
|
|
25
|
+
*/
|
|
26
|
+
export declare class ConfigFieldBuilder<T extends ZodTypeAny> {
|
|
27
|
+
private _schema;
|
|
28
|
+
private _referenceMeta?;
|
|
29
|
+
private _uiMeta;
|
|
30
|
+
constructor(schema: T);
|
|
31
|
+
/**
|
|
32
|
+
* Reference another config collection
|
|
33
|
+
* @example .references('example.things')
|
|
34
|
+
* @example .references('example.widgets', { labelField: 'name', filter: 'isActive' })
|
|
35
|
+
*/
|
|
36
|
+
references(path: string, options?: Omit<ConfigReference, 'type' | 'path'>): this;
|
|
37
|
+
/**
|
|
38
|
+
* Reference nested data within a parent config item
|
|
39
|
+
* @example .referencesNested('example.widgets', 'widgetId', 'parts')
|
|
40
|
+
*/
|
|
41
|
+
referencesNested(parentPath: string, parentField: string, nestedPath: string, options?: Omit<NestedReference, 'type' | 'parentPath' | 'parentField' | 'nestedPath'>): this;
|
|
42
|
+
/**
|
|
43
|
+
* Resolve options via async function
|
|
44
|
+
* @example .computed('fetchWidgetParts', { dependsOn: ['widgetId'] })
|
|
45
|
+
*/
|
|
46
|
+
computed(resolver: string, options?: Omit<ComputedReference, 'type' | 'resolver'>): this;
|
|
47
|
+
/**
|
|
48
|
+
* Static enum options
|
|
49
|
+
* @example .options([{ value: 'a', label: 'Option A' }])
|
|
50
|
+
*/
|
|
51
|
+
options(values: EnumReference['values']): this;
|
|
52
|
+
/**
|
|
53
|
+
* UI rendering style
|
|
54
|
+
*/
|
|
55
|
+
as(style: NonNullable<ReferenceMeta['as']>): this;
|
|
56
|
+
/**
|
|
57
|
+
* Allow multiple selection
|
|
58
|
+
*/
|
|
59
|
+
multiple(allow?: boolean): this;
|
|
60
|
+
/**
|
|
61
|
+
* Configure empty state
|
|
62
|
+
*/
|
|
63
|
+
emptyState(config: EmptyStateConfig): this;
|
|
64
|
+
/**
|
|
65
|
+
* Set UI label
|
|
66
|
+
*/
|
|
67
|
+
label(text: string): this;
|
|
68
|
+
/**
|
|
69
|
+
* Set UI description (shown as subtitle)
|
|
70
|
+
*/
|
|
71
|
+
description(text: string): this;
|
|
72
|
+
/**
|
|
73
|
+
* Set help text (shown as tooltip or hint)
|
|
74
|
+
*/
|
|
75
|
+
helpText(text: string): this;
|
|
76
|
+
/**
|
|
77
|
+
* Set placeholder text
|
|
78
|
+
*/
|
|
79
|
+
placeholder(text: string): this;
|
|
80
|
+
/**
|
|
81
|
+
* Set field order (lower = earlier)
|
|
82
|
+
*/
|
|
83
|
+
order(n: number): this;
|
|
84
|
+
/**
|
|
85
|
+
* Set field group for sectioning
|
|
86
|
+
*/
|
|
87
|
+
group(id: string): this;
|
|
88
|
+
/**
|
|
89
|
+
* Hide field from UI
|
|
90
|
+
*/
|
|
91
|
+
hidden(hide?: boolean): this;
|
|
92
|
+
/**
|
|
93
|
+
* Mark field as read-only
|
|
94
|
+
*/
|
|
95
|
+
readOnly(ro?: boolean): this;
|
|
96
|
+
/**
|
|
97
|
+
* Set component type hint
|
|
98
|
+
*/
|
|
99
|
+
component(type: NonNullable<UIMeta['component']>): this;
|
|
100
|
+
/**
|
|
101
|
+
* Build the final schema with metadata attached
|
|
102
|
+
*/
|
|
103
|
+
build(): T;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Create a config-aware field builder
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* const widgetId = configField(z.string())
|
|
111
|
+
* .references('example.widgets')
|
|
112
|
+
* .label('Widget')
|
|
113
|
+
* .build();
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
export declare function configField<T extends ZodTypeAny>(schema: T): ConfigFieldBuilder<T>;
|
|
117
|
+
/**
|
|
118
|
+
* Extract reference metadata from schema
|
|
119
|
+
*/
|
|
120
|
+
export declare function getReferenceMeta(schema: ZodTypeAny): ReferenceMeta | undefined;
|
|
121
|
+
/**
|
|
122
|
+
* Extract UI metadata from schema
|
|
123
|
+
*/
|
|
124
|
+
export declare function getUIMeta(schema: ZodTypeAny): UIMeta | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* Extract all config field metadata from schema
|
|
127
|
+
*/
|
|
128
|
+
export declare function getConfigFieldMeta(schema: ZodTypeAny): ConfigFieldMeta;
|
|
129
|
+
/**
|
|
130
|
+
* Check if schema has reference metadata
|
|
131
|
+
*/
|
|
132
|
+
export declare function hasReference(schema: ZodTypeAny): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Check if schema has any config field metadata
|
|
135
|
+
*/
|
|
136
|
+
export declare function hasConfigFieldMeta(schema: ZodTypeAny): boolean;
|
|
137
|
+
//# sourceMappingURL=extend-zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend-zod.d.ts","sourceRoot":"","sources":["../../src/schema/extend-zod.ts"],"names":[],"mappings":"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"}
|