@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,470 @@
|
|
|
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
|
+
|
|
8
|
+
import type { ZodTypeAny } from 'zod/v4';
|
|
9
|
+
import type { ConfigFieldMeta, ConfigFieldGroup } from '../manifest/types.ts';
|
|
10
|
+
import type { FormStep } from '../crud/shared.ts';
|
|
11
|
+
import type { LazyComponentOverride, ExtensionSurface } from '../extensions/types.ts';
|
|
12
|
+
|
|
13
|
+
// Manifest Variant
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Surface-specific component overrides for a variant
|
|
17
|
+
*/
|
|
18
|
+
export interface VariantSurfaceOverrides {
|
|
19
|
+
/** TUI (React/OpenTUI) component overrides */
|
|
20
|
+
tui?: Record<string, LazyComponentOverride>;
|
|
21
|
+
/** Web (SvelteKit) component overrides */
|
|
22
|
+
web?: Record<string, LazyComponentOverride>;
|
|
23
|
+
/** CLI component overrides */
|
|
24
|
+
cli?: Record<string, LazyComponentOverride>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* A manifest variant that extends/overrides a base manifest
|
|
29
|
+
* based on a discriminator field value.
|
|
30
|
+
*
|
|
31
|
+
* @template TConfig - The configuration type for this variant
|
|
32
|
+
*/
|
|
33
|
+
export interface ManifestVariant<
|
|
34
|
+
TConfig extends Record<string, unknown> = Record<string, unknown>
|
|
35
|
+
> {
|
|
36
|
+
/** Unique variant identifier (matches discriminator value) */
|
|
37
|
+
id: string;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Schema extension (merged with base schema)
|
|
41
|
+
* Variant-specific validation that extends the base schema
|
|
42
|
+
*/
|
|
43
|
+
schema?: ZodTypeAny;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Field extensions - merged with base manifest fields
|
|
47
|
+
* Variant fields are added/override base fields
|
|
48
|
+
*/
|
|
49
|
+
fields: Record<string, ConfigFieldMeta>;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Field groups - merged with base manifest groups
|
|
53
|
+
*/
|
|
54
|
+
groups?: ConfigFieldGroup[];
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Default values for variant-specific fields
|
|
58
|
+
* Merged with base defaults (variant wins on conflict)
|
|
59
|
+
*/
|
|
60
|
+
defaults?: Partial<TConfig>;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Optional: Override step field placement
|
|
64
|
+
* If not provided, fields auto-inject by matching group ID
|
|
65
|
+
* If provided, completely replaces base form steps
|
|
66
|
+
*/
|
|
67
|
+
stepOverrides?: FormStep[];
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Surface-specific component overrides
|
|
71
|
+
* Keyed by surface type, then by field key
|
|
72
|
+
*/
|
|
73
|
+
overrides?: VariantSurfaceOverrides;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Routing Configuration
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Variant loader function type
|
|
80
|
+
* Used for lazy loading variants on demand
|
|
81
|
+
*/
|
|
82
|
+
export type VariantLoader = () => Promise<Map<string, ManifestVariant>>;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Routing configuration for a manifest
|
|
86
|
+
* Enables discriminated field routing based on a field value
|
|
87
|
+
*/
|
|
88
|
+
export interface ManifestRouting {
|
|
89
|
+
/**
|
|
90
|
+
* Field key that determines which variant to load
|
|
91
|
+
* e.g., 'providerType', 'agentType'
|
|
92
|
+
*/
|
|
93
|
+
discriminator: string;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Display priority for discriminator field (lower = first)
|
|
97
|
+
* Controls where discriminator appears in forms
|
|
98
|
+
* @default 0 (appears first)
|
|
99
|
+
*/
|
|
100
|
+
priority?: number;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Variants map or lazy loader function
|
|
104
|
+
* - Map: Eagerly loaded variants keyed by discriminator value
|
|
105
|
+
* - Function: Lazy loader that returns variants on demand
|
|
106
|
+
*/
|
|
107
|
+
variants: Map<string, ManifestVariant> | VariantLoader;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Optional fallback variant when discriminator value doesn't match
|
|
111
|
+
*/
|
|
112
|
+
fallback?: ManifestVariant;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Nested Routing Configuration
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Nested routing configuration for sub-objects with their own discriminators.
|
|
119
|
+
* Used when a manifest contains multiple discriminated unions (e.g., agent roles).
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* // For autoloop config with multiple agent roles:
|
|
124
|
+
* nestedRoutings: [
|
|
125
|
+
* { path: 'agents.orchestration', discriminator: 'type', variants: agentVariants },
|
|
126
|
+
* { path: 'agents.development', discriminator: 'type', variants: agentVariants },
|
|
127
|
+
* { path: 'agents.planning', discriminator: 'type', variants: agentVariants },
|
|
128
|
+
* ]
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export interface NestedRouting {
|
|
132
|
+
/**
|
|
133
|
+
* Dot-notation path to the nested object containing the discriminator.
|
|
134
|
+
* e.g., 'agents.orchestration', 'providers.primary'
|
|
135
|
+
*/
|
|
136
|
+
path: string;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Field key within the nested object that determines variant.
|
|
140
|
+
* e.g., 'type' (full path becomes 'agents.orchestration.type')
|
|
141
|
+
*/
|
|
142
|
+
discriminator: string;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Display label for this nested routing section
|
|
146
|
+
*/
|
|
147
|
+
label: string;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Optional description for the section
|
|
151
|
+
*/
|
|
152
|
+
description?: string;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Optional icon for the section
|
|
156
|
+
*/
|
|
157
|
+
icon?: string;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Field path for enable/disable toggle (relative to path).
|
|
161
|
+
* When set, the section shows an enable/disable toggle.
|
|
162
|
+
* e.g., 'enabled' (full path becomes 'agents.orchestration.enabled')
|
|
163
|
+
*/
|
|
164
|
+
enableField?: string;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Whether this nested routing is required (no enable toggle).
|
|
168
|
+
* @default false
|
|
169
|
+
*/
|
|
170
|
+
required?: boolean;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Display priority (lower = first in list)
|
|
174
|
+
* @default 100
|
|
175
|
+
*/
|
|
176
|
+
priority?: number;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Variants map or lazy loader function.
|
|
180
|
+
* Can reference shared variants across multiple nested routings.
|
|
181
|
+
*/
|
|
182
|
+
variants: Map<string, ManifestVariant> | VariantLoader;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Optional fallback variant when discriminator value doesn't match
|
|
186
|
+
*/
|
|
187
|
+
fallback?: ManifestVariant;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Fields to show in collapsed summary view.
|
|
191
|
+
* Paths are relative to the nested object.
|
|
192
|
+
* e.g., ['model', 'provider'] shows agents.orchestration.model
|
|
193
|
+
*/
|
|
194
|
+
summaryFields?: string[];
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Whether the section starts expanded
|
|
198
|
+
* @default false
|
|
199
|
+
*/
|
|
200
|
+
defaultExpanded?: boolean;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Active nested variant state for tracking multiple discriminators
|
|
205
|
+
*/
|
|
206
|
+
export interface ActiveNestedVariant {
|
|
207
|
+
/** The routing path this variant is active for */
|
|
208
|
+
path: string;
|
|
209
|
+
/** The discriminator value */
|
|
210
|
+
discriminatorValue: string;
|
|
211
|
+
/** The resolved variant */
|
|
212
|
+
variant: ManifestVariant;
|
|
213
|
+
/** Whether this section is enabled (if enableField is set) */
|
|
214
|
+
enabled: boolean;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Result of resolving a nested variant
|
|
219
|
+
*/
|
|
220
|
+
export interface ResolvedNestedVariant<
|
|
221
|
+
TConfig extends Record<string, unknown> = Record<string, unknown>
|
|
222
|
+
> {
|
|
223
|
+
/** The routing path */
|
|
224
|
+
path: string;
|
|
225
|
+
/** The resolved variant (or undefined if not found) */
|
|
226
|
+
variant?: ManifestVariant<TConfig>;
|
|
227
|
+
/** Whether the variant was found */
|
|
228
|
+
found: boolean;
|
|
229
|
+
/** The discriminator value used for lookup */
|
|
230
|
+
discriminatorValue: string;
|
|
231
|
+
/** Whether fallback was used */
|
|
232
|
+
usedFallback: boolean;
|
|
233
|
+
/** Whether this nested routing is enabled */
|
|
234
|
+
enabled: boolean;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// Provider Module (Domain-Specific Extension)
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Authentication type for provider connections
|
|
241
|
+
*/
|
|
242
|
+
export type ProviderAuthType = 'none' | 'bearer' | 'api_key' | 'basic' | 'oauth';
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Provider category for organization
|
|
246
|
+
*/
|
|
247
|
+
export type ProviderCategory = 'local' | 'cloud' | 'custom';
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Hardware constraint for provider execution
|
|
251
|
+
* - 'consumer': Runs on user's machine (CLI, local server)
|
|
252
|
+
* - 'cloud': Runs on platform servers
|
|
253
|
+
*/
|
|
254
|
+
export type HardwareConstraint = 'consumer' | 'cloud';
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Provider client interface - minimal contract for lazy-loaded clients
|
|
258
|
+
*/
|
|
259
|
+
export interface ProviderClient {
|
|
260
|
+
/** Provider identifier */
|
|
261
|
+
readonly providerId: string;
|
|
262
|
+
/** Test connection to the provider */
|
|
263
|
+
testConnection?(): Promise<{ success: boolean; error?: string }>;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Provider client factory type
|
|
268
|
+
*/
|
|
269
|
+
export type ProviderClientFactory = () => Promise<ProviderClient>;
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Provider metadata
|
|
273
|
+
*/
|
|
274
|
+
export interface ProviderMeta {
|
|
275
|
+
/** Display label */
|
|
276
|
+
label: string;
|
|
277
|
+
/** Icon (emoji) */
|
|
278
|
+
icon: string;
|
|
279
|
+
/** Short description */
|
|
280
|
+
description: string;
|
|
281
|
+
/** Provider category */
|
|
282
|
+
category: ProviderCategory;
|
|
283
|
+
/**
|
|
284
|
+
* Hardware constraints - where this provider can run
|
|
285
|
+
* Defaults to ['consumer', 'cloud'] if not specified
|
|
286
|
+
*/
|
|
287
|
+
hardware?: HardwareConstraint[];
|
|
288
|
+
/** Supported capabilities */
|
|
289
|
+
capabilities?: string[];
|
|
290
|
+
/** Documentation URL */
|
|
291
|
+
docsUrl?: string;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Provider adapter configuration
|
|
296
|
+
*/
|
|
297
|
+
export interface ProviderAdapter {
|
|
298
|
+
/** Lazy-load client factory (optional - only needed if connection testing is implemented) */
|
|
299
|
+
client?: ProviderClientFactory;
|
|
300
|
+
/** Authentication type */
|
|
301
|
+
authType: ProviderAuthType;
|
|
302
|
+
/** Whether connection test is available */
|
|
303
|
+
supportsConnectionTest?: boolean;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Complete provider module definition
|
|
308
|
+
*
|
|
309
|
+
* A provider module is a complete provider definition that includes:
|
|
310
|
+
* - Identity and metadata
|
|
311
|
+
* - Adapter/client implementation
|
|
312
|
+
* - Operating defaults
|
|
313
|
+
* - Config manifest variant
|
|
314
|
+
*
|
|
315
|
+
* @template TConfig - The configuration type for this provider
|
|
316
|
+
*/
|
|
317
|
+
export interface ProviderModule<TConfig extends Record<string, unknown> = Record<string, unknown>> {
|
|
318
|
+
/** Unique provider identifier (e.g., 'local-llm', 'cloud-llm') */
|
|
319
|
+
id: string;
|
|
320
|
+
|
|
321
|
+
/** Provider type for discrimination (usually same as id) */
|
|
322
|
+
type: string;
|
|
323
|
+
|
|
324
|
+
/** Provider metadata */
|
|
325
|
+
meta: ProviderMeta;
|
|
326
|
+
|
|
327
|
+
/** Adapter configuration */
|
|
328
|
+
adapter: ProviderAdapter;
|
|
329
|
+
|
|
330
|
+
/** Operating defaults for this provider */
|
|
331
|
+
defaults: TConfig;
|
|
332
|
+
|
|
333
|
+
/** Config manifest variant */
|
|
334
|
+
config: ManifestVariant<TConfig>;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// Variant Resolution Types
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Result of variant resolution
|
|
341
|
+
*/
|
|
342
|
+
export interface ResolvedVariant<
|
|
343
|
+
TConfig extends Record<string, unknown> = Record<string, unknown>
|
|
344
|
+
> {
|
|
345
|
+
/** The resolved variant (or undefined if not found) */
|
|
346
|
+
variant?: ManifestVariant<TConfig>;
|
|
347
|
+
/** Whether the variant was found */
|
|
348
|
+
found: boolean;
|
|
349
|
+
/** The discriminator value used for lookup */
|
|
350
|
+
discriminatorValue: string;
|
|
351
|
+
/** Whether fallback was used */
|
|
352
|
+
usedFallback: boolean;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Options for getting surface overrides from a variant
|
|
357
|
+
*/
|
|
358
|
+
export interface GetVariantOverridesOptions {
|
|
359
|
+
/** The variant to get overrides from */
|
|
360
|
+
variant: ManifestVariant;
|
|
361
|
+
/** Target surface */
|
|
362
|
+
surface: ExtensionSurface;
|
|
363
|
+
/** Whether to include base manifest overrides */
|
|
364
|
+
includeBase?: boolean;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
// Type Guards
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Type guard to check if routing has lazy variants
|
|
371
|
+
*/
|
|
372
|
+
export function hasLazyVariants(
|
|
373
|
+
routing: ManifestRouting
|
|
374
|
+
): routing is ManifestRouting & { variants: VariantLoader } {
|
|
375
|
+
return typeof routing.variants === 'function';
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Type guard to check if routing has eager variants
|
|
380
|
+
*/
|
|
381
|
+
export function hasEagerVariants(
|
|
382
|
+
routing: ManifestRouting
|
|
383
|
+
): routing is ManifestRouting & { variants: Map<string, ManifestVariant> } {
|
|
384
|
+
return routing.variants instanceof Map;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Type guard to check if an object is a ManifestVariant
|
|
389
|
+
*/
|
|
390
|
+
export function isManifestVariant(obj: unknown): obj is ManifestVariant {
|
|
391
|
+
return (
|
|
392
|
+
typeof obj === 'object' &&
|
|
393
|
+
obj !== null &&
|
|
394
|
+
'id' in obj &&
|
|
395
|
+
'fields' in obj &&
|
|
396
|
+
typeof (obj as ManifestVariant).id === 'string' &&
|
|
397
|
+
typeof (obj as ManifestVariant).fields === 'object'
|
|
398
|
+
);
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Type guard to check if an object is a ProviderModule
|
|
403
|
+
*/
|
|
404
|
+
export function isProviderModule(obj: unknown): obj is ProviderModule {
|
|
405
|
+
return (
|
|
406
|
+
typeof obj === 'object' &&
|
|
407
|
+
obj !== null &&
|
|
408
|
+
'id' in obj &&
|
|
409
|
+
'type' in obj &&
|
|
410
|
+
'meta' in obj &&
|
|
411
|
+
'adapter' in obj &&
|
|
412
|
+
'defaults' in obj &&
|
|
413
|
+
'config' in obj &&
|
|
414
|
+
isManifestVariant((obj as ProviderModule).config)
|
|
415
|
+
);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Type guard to check if nested routing has lazy variants
|
|
420
|
+
*/
|
|
421
|
+
export function hasNestedLazyVariants(
|
|
422
|
+
routing: NestedRouting
|
|
423
|
+
): routing is NestedRouting & { variants: VariantLoader } {
|
|
424
|
+
return typeof routing.variants === 'function';
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* Type guard to check if nested routing has eager variants
|
|
429
|
+
*/
|
|
430
|
+
export function hasNestedEagerVariants(
|
|
431
|
+
routing: NestedRouting
|
|
432
|
+
): routing is NestedRouting & { variants: Map<string, ManifestVariant> } {
|
|
433
|
+
return routing.variants instanceof Map;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Type guard to check if an object is a NestedRouting
|
|
438
|
+
*/
|
|
439
|
+
export function isNestedRouting(obj: unknown): obj is NestedRouting {
|
|
440
|
+
return (
|
|
441
|
+
typeof obj === 'object' &&
|
|
442
|
+
obj !== null &&
|
|
443
|
+
'path' in obj &&
|
|
444
|
+
'discriminator' in obj &&
|
|
445
|
+
'label' in obj &&
|
|
446
|
+
'variants' in obj &&
|
|
447
|
+
typeof (obj as NestedRouting).path === 'string' &&
|
|
448
|
+
typeof (obj as NestedRouting).discriminator === 'string' &&
|
|
449
|
+
typeof (obj as NestedRouting).label === 'string'
|
|
450
|
+
);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* Get the full discriminator path for a nested routing
|
|
455
|
+
* @param routing - The nested routing
|
|
456
|
+
* @returns Full dot-notation path (e.g., 'agents.orchestration.type')
|
|
457
|
+
*/
|
|
458
|
+
export function getNestedDiscriminatorPath(routing: NestedRouting): string {
|
|
459
|
+
return `${routing.path}.${routing.discriminator}`;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* Get the full enable field path for a nested routing
|
|
464
|
+
* @param routing - The nested routing
|
|
465
|
+
* @returns Full dot-notation path or undefined if no enable field
|
|
466
|
+
*/
|
|
467
|
+
export function getNestedEnablePath(routing: NestedRouting): string | undefined {
|
|
468
|
+
if (!routing.enableField) return undefined;
|
|
469
|
+
return `${routing.path}.${routing.enableField}`;
|
|
470
|
+
}
|