@wildo-ai/platform-config-lib 1.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/dist/esm/bootstrap/application-backend-env.contracts.d.ts +2 -0
- package/dist/esm/bootstrap/application-backend-env.contracts.d.ts.map +1 -0
- package/dist/esm/bootstrap/application-backend-env.contracts.js +2 -0
- package/dist/esm/bootstrap/application-backend-env.contracts.js.map +1 -0
- package/dist/esm/bootstrap/bootstrap-planner.d.ts +20 -0
- package/dist/esm/bootstrap/bootstrap-planner.d.ts.map +1 -0
- package/dist/esm/bootstrap/bootstrap-planner.js +26 -0
- package/dist/esm/bootstrap/bootstrap-planner.js.map +1 -0
- package/dist/esm/bootstrap/bootstrap.contracts.d.ts +120 -0
- package/dist/esm/bootstrap/bootstrap.contracts.d.ts.map +1 -0
- package/dist/esm/bootstrap/bootstrap.contracts.js +117 -0
- package/dist/esm/bootstrap/bootstrap.contracts.js.map +1 -0
- package/dist/esm/bootstrap/bootstrap.schemas.d.ts +485 -0
- package/dist/esm/bootstrap/bootstrap.schemas.d.ts.map +1 -0
- package/dist/esm/bootstrap/bootstrap.schemas.js +130 -0
- package/dist/esm/bootstrap/bootstrap.schemas.js.map +1 -0
- package/dist/esm/bootstrap/platform-runtime-env.contracts.d.ts +78 -0
- package/dist/esm/bootstrap/platform-runtime-env.contracts.d.ts.map +1 -0
- package/dist/esm/bootstrap/platform-runtime-env.contracts.js +98 -0
- package/dist/esm/bootstrap/platform-runtime-env.contracts.js.map +1 -0
- package/dist/esm/bootstrap/runtime-topology.contracts.d.ts +17 -0
- package/dist/esm/bootstrap/runtime-topology.contracts.d.ts.map +1 -0
- package/dist/esm/bootstrap/runtime-topology.contracts.js +60 -0
- package/dist/esm/bootstrap/runtime-topology.contracts.js.map +1 -0
- package/dist/esm/credentials/credential-generator.service.d.ts +11 -0
- package/dist/esm/credentials/credential-generator.service.d.ts.map +1 -0
- package/dist/esm/credentials/credential-generator.service.js +31 -0
- package/dist/esm/credentials/credential-generator.service.js.map +1 -0
- package/dist/esm/credentials/credentials-provisioner.service.d.ts +190 -0
- package/dist/esm/credentials/credentials-provisioner.service.d.ts.map +1 -0
- package/dist/esm/credentials/credentials-provisioner.service.js +278 -0
- package/dist/esm/credentials/credentials-provisioner.service.js.map +1 -0
- package/dist/esm/index.d.ts +16 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/infra-managers/infra-manager.models.d.ts +146 -0
- package/dist/esm/infra-managers/infra-manager.models.d.ts.map +1 -0
- package/dist/esm/infra-managers/infra-manager.models.js +2 -0
- package/dist/esm/infra-managers/infra-manager.models.js.map +1 -0
- package/dist/esm/infra-managers/mongo-atlas-manager.service.d.ts +64 -0
- package/dist/esm/infra-managers/mongo-atlas-manager.service.d.ts.map +1 -0
- package/dist/esm/infra-managers/mongo-atlas-manager.service.js +307 -0
- package/dist/esm/infra-managers/mongo-atlas-manager.service.js.map +1 -0
- package/dist/esm/infra-managers/postgresql-manager.service.d.ts +115 -0
- package/dist/esm/infra-managers/postgresql-manager.service.d.ts.map +1 -0
- package/dist/esm/infra-managers/postgresql-manager.service.js +403 -0
- package/dist/esm/infra-managers/postgresql-manager.service.js.map +1 -0
- package/dist/esm/infra-managers/rabbitmq-manager.service.d.ts +64 -0
- package/dist/esm/infra-managers/rabbitmq-manager.service.d.ts.map +1 -0
- package/dist/esm/infra-managers/rabbitmq-manager.service.js +288 -0
- package/dist/esm/infra-managers/rabbitmq-manager.service.js.map +1 -0
- package/dist/esm/infra-managers/redis-manager.service.d.ts +78 -0
- package/dist/esm/infra-managers/redis-manager.service.d.ts.map +1 -0
- package/dist/esm/infra-managers/redis-manager.service.js +326 -0
- package/dist/esm/infra-managers/redis-manager.service.js.map +1 -0
- package/dist/esm/project-config/define-framework-config.d.ts +36 -0
- package/dist/esm/project-config/define-framework-config.d.ts.map +1 -0
- package/dist/esm/project-config/define-framework-config.js +30 -0
- package/dist/esm/project-config/define-framework-config.js.map +1 -0
- package/dist/esm/project-config/define-infra-config.d.ts +128 -0
- package/dist/esm/project-config/define-infra-config.d.ts.map +1 -0
- package/dist/esm/project-config/define-infra-config.js +87 -0
- package/dist/esm/project-config/define-infra-config.js.map +1 -0
- package/dist/esm/project-config/define-minion-config.d.ts +41 -0
- package/dist/esm/project-config/define-minion-config.d.ts.map +1 -0
- package/dist/esm/project-config/define-minion-config.js +24 -0
- package/dist/esm/project-config/define-minion-config.js.map +1 -0
- package/dist/esm/project-config/define-platform-config.d.ts +65 -0
- package/dist/esm/project-config/define-platform-config.d.ts.map +1 -0
- package/dist/esm/project-config/define-platform-config.js +22 -0
- package/dist/esm/project-config/define-platform-config.js.map +1 -0
- package/dist/esm/project-config/define-platform-env-config.d.ts +41 -0
- package/dist/esm/project-config/define-platform-env-config.d.ts.map +1 -0
- package/dist/esm/project-config/define-platform-env-config.js +45 -0
- package/dist/esm/project-config/define-platform-env-config.js.map +1 -0
- package/dist/esm/project-config/define-project-config.d.ts +38 -0
- package/dist/esm/project-config/define-project-config.d.ts.map +1 -0
- package/dist/esm/project-config/define-project-config.js +57 -0
- package/dist/esm/project-config/define-project-config.js.map +1 -0
- package/dist/esm/project-config/define-saas-config.d.ts +252 -0
- package/dist/esm/project-config/define-saas-config.d.ts.map +1 -0
- package/dist/esm/project-config/define-saas-config.js +137 -0
- package/dist/esm/project-config/define-saas-config.js.map +1 -0
- package/dist/esm/project-config/define-sharing-policy.d.ts +35 -0
- package/dist/esm/project-config/define-sharing-policy.d.ts.map +1 -0
- package/dist/esm/project-config/define-sharing-policy.js +30 -0
- package/dist/esm/project-config/define-sharing-policy.js.map +1 -0
- package/dist/esm/project-config/define-worker-config.d.ts +42 -0
- package/dist/esm/project-config/define-worker-config.d.ts.map +1 -0
- package/dist/esm/project-config/define-worker-config.js +24 -0
- package/dist/esm/project-config/define-worker-config.js.map +1 -0
- package/dist/esm/project-config/index.d.ts +22 -0
- package/dist/esm/project-config/index.d.ts.map +1 -0
- package/dist/esm/project-config/index.js +22 -0
- package/dist/esm/project-config/index.js.map +1 -0
- package/dist/esm/project-config/loader.d.ts +42 -0
- package/dist/esm/project-config/loader.d.ts.map +1 -0
- package/dist/esm/project-config/loader.js +164 -0
- package/dist/esm/project-config/loader.js.map +1 -0
- package/dist/esm/project-config/shared/application-modules.schemas.d.ts +10 -0
- package/dist/esm/project-config/shared/application-modules.schemas.d.ts.map +1 -0
- package/dist/esm/project-config/shared/application-modules.schemas.js +6 -0
- package/dist/esm/project-config/shared/application-modules.schemas.js.map +1 -0
- package/dist/esm/project-config/shared/application-modules.utils.d.ts +6 -0
- package/dist/esm/project-config/shared/application-modules.utils.d.ts.map +1 -0
- package/dist/esm/project-config/shared/application-modules.utils.js +26 -0
- package/dist/esm/project-config/shared/application-modules.utils.js.map +1 -0
- package/dist/esm/project-config/shared/backing-services.schemas.d.ts +68 -0
- package/dist/esm/project-config/shared/backing-services.schemas.d.ts.map +1 -0
- package/dist/esm/project-config/shared/backing-services.schemas.js +49 -0
- package/dist/esm/project-config/shared/backing-services.schemas.js.map +1 -0
- package/dist/esm/project-config/shared/data-services.schemas.d.ts +33 -0
- package/dist/esm/project-config/shared/data-services.schemas.d.ts.map +1 -0
- package/dist/esm/project-config/shared/data-services.schemas.js +47 -0
- package/dist/esm/project-config/shared/data-services.schemas.js.map +1 -0
- package/dist/esm/project-config/shared/env-example-defaults.d.ts +27 -0
- package/dist/esm/project-config/shared/env-example-defaults.d.ts.map +1 -0
- package/dist/esm/project-config/shared/env-example-defaults.js +30 -0
- package/dist/esm/project-config/shared/env-example-defaults.js.map +1 -0
- package/dist/esm/project-config/shared/environment.schemas.d.ts +106 -0
- package/dist/esm/project-config/shared/environment.schemas.d.ts.map +1 -0
- package/dist/esm/project-config/shared/environment.schemas.js +111 -0
- package/dist/esm/project-config/shared/environment.schemas.js.map +1 -0
- package/dist/esm/project-config/shared/infrastructure-defaults.schemas.d.ts +42 -0
- package/dist/esm/project-config/shared/infrastructure-defaults.schemas.d.ts.map +1 -0
- package/dist/esm/project-config/shared/infrastructure-defaults.schemas.js +42 -0
- package/dist/esm/project-config/shared/infrastructure-defaults.schemas.js.map +1 -0
- package/dist/esm/project-config/shared/k8s-utils.d.ts +36 -0
- package/dist/esm/project-config/shared/k8s-utils.d.ts.map +1 -0
- package/dist/esm/project-config/shared/k8s-utils.js +50 -0
- package/dist/esm/project-config/shared/k8s-utils.js.map +1 -0
- package/dist/esm/project-config/shared/platform-services.schemas.d.ts +30 -0
- package/dist/esm/project-config/shared/platform-services.schemas.d.ts.map +1 -0
- package/dist/esm/project-config/shared/platform-services.schemas.js +27 -0
- package/dist/esm/project-config/shared/platform-services.schemas.js.map +1 -0
- package/dist/esm/project-config/shared/service-definitions.schemas.d.ts +42 -0
- package/dist/esm/project-config/shared/service-definitions.schemas.d.ts.map +1 -0
- package/dist/esm/project-config/shared/service-definitions.schemas.js +29 -0
- package/dist/esm/project-config/shared/service-definitions.schemas.js.map +1 -0
- package/dist/esm/project-config/sharing-policy-validation.d.ts +40 -0
- package/dist/esm/project-config/sharing-policy-validation.d.ts.map +1 -0
- package/dist/esm/project-config/sharing-policy-validation.js +143 -0
- package/dist/esm/project-config/sharing-policy-validation.js.map +1 -0
- package/dist/esm/release/framework-release.constants.d.ts +3 -0
- package/dist/esm/release/framework-release.constants.d.ts.map +1 -0
- package/dist/esm/release/framework-release.constants.js +3 -0
- package/dist/esm/release/framework-release.constants.js.map +1 -0
- package/dist/esm/runtime-bridge/platform-runtime-bridge.contracts.d.ts +23 -0
- package/dist/esm/runtime-bridge/platform-runtime-bridge.contracts.d.ts.map +1 -0
- package/dist/esm/runtime-bridge/platform-runtime-bridge.contracts.js +13 -0
- package/dist/esm/runtime-bridge/platform-runtime-bridge.contracts.js.map +1 -0
- package/dist/esm/schemas/framework-info.schemas.d.ts +8 -0
- package/dist/esm/schemas/framework-info.schemas.d.ts.map +1 -0
- package/dist/esm/schemas/framework-info.schemas.js +8 -0
- package/dist/esm/schemas/framework-info.schemas.js.map +1 -0
- package/dist/esm/schemas/framework-secrets.schemas.d.ts +22 -0
- package/dist/esm/schemas/framework-secrets.schemas.d.ts.map +1 -0
- package/dist/esm/schemas/framework-secrets.schemas.js +14 -0
- package/dist/esm/schemas/framework-secrets.schemas.js.map +1 -0
- package/dist/esm/schemas/platform-application-config.schemas.d.ts +20 -0
- package/dist/esm/schemas/platform-application-config.schemas.d.ts.map +1 -0
- package/dist/esm/schemas/platform-application-config.schemas.js +19 -0
- package/dist/esm/schemas/platform-application-config.schemas.js.map +1 -0
- package/dist/esm/schemas/platform-application-secrets.schemas.d.ts +54 -0
- package/dist/esm/schemas/platform-application-secrets.schemas.d.ts.map +1 -0
- package/dist/esm/schemas/platform-application-secrets.schemas.js +67 -0
- package/dist/esm/schemas/platform-application-secrets.schemas.js.map +1 -0
- package/dist/esm/schemas/platform-config.schemas.d.ts +66 -0
- package/dist/esm/schemas/platform-config.schemas.d.ts.map +1 -0
- package/dist/esm/schemas/platform-config.schemas.js +28 -0
- package/dist/esm/schemas/platform-config.schemas.js.map +1 -0
- package/dist/esm/workspace-scope/index.d.ts +3 -0
- package/dist/esm/workspace-scope/index.d.ts.map +1 -0
- package/dist/esm/workspace-scope/index.js +3 -0
- package/dist/esm/workspace-scope/index.js.map +1 -0
- package/dist/esm/workspace-scope/workspace-scope-detector.d.ts +15 -0
- package/dist/esm/workspace-scope/workspace-scope-detector.d.ts.map +1 -0
- package/dist/esm/workspace-scope/workspace-scope-detector.js +87 -0
- package/dist/esm/workspace-scope/workspace-scope-detector.js.map +1 -0
- package/dist/esm/workspace-scope/workspace-scope.schemas.d.ts +118 -0
- package/dist/esm/workspace-scope/workspace-scope.schemas.d.ts.map +1 -0
- package/dist/esm/workspace-scope/workspace-scope.schemas.js +157 -0
- package/dist/esm/workspace-scope/workspace-scope.schemas.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +52 -0
- package/src/bootstrap/application-backend-env.contracts.ts +17 -0
- package/src/bootstrap/bootstrap-planner.ts +46 -0
- package/src/bootstrap/bootstrap.contracts.ts +251 -0
- package/src/bootstrap/bootstrap.schemas.ts +164 -0
- package/src/bootstrap/platform-runtime-env.contracts.ts +99 -0
- package/src/bootstrap/runtime-topology.contracts.ts +102 -0
- package/src/credentials/credential-generator.service.ts +39 -0
- package/src/index.ts +16 -0
- package/src/project-config/__tests__/application-modules.utils.test.ts +53 -0
- package/src/project-config/__tests__/define-framework-config.test.ts +43 -0
- package/src/project-config/__tests__/define-saas-config.test.ts +210 -0
- package/src/project-config/__tests__/loader.test.ts +100 -0
- package/src/project-config/define-framework-config.ts +44 -0
- package/src/project-config/define-infra-config.ts +168 -0
- package/src/project-config/define-minion-config.ts +27 -0
- package/src/project-config/define-platform-config.ts +28 -0
- package/src/project-config/define-platform-env-config.ts +59 -0
- package/src/project-config/define-project-config.ts +63 -0
- package/src/project-config/define-saas-config.ts +171 -0
- package/src/project-config/define-sharing-policy.ts +36 -0
- package/src/project-config/define-worker-config.ts +27 -0
- package/src/project-config/index.ts +23 -0
- package/src/project-config/loader.ts +220 -0
- package/src/project-config/shared/application-modules.schemas.ts +12 -0
- package/src/project-config/shared/application-modules.utils.ts +65 -0
- package/src/project-config/shared/backing-services.schemas.ts +59 -0
- package/src/project-config/shared/data-services.schemas.ts +58 -0
- package/src/project-config/shared/env-example-defaults.ts +50 -0
- package/src/project-config/shared/environment.schemas.ts +136 -0
- package/src/project-config/shared/infrastructure-defaults.schemas.ts +47 -0
- package/src/project-config/shared/k8s-utils.ts +56 -0
- package/src/project-config/shared/platform-services.schemas.ts +33 -0
- package/src/project-config/shared/service-definitions.schemas.ts +38 -0
- package/src/project-config/sharing-policy-validation.ts +159 -0
- package/src/release/framework-release.constants.ts +2 -0
- package/src/schemas/__tests__/platform-config.schemas.test.ts +90 -0
- package/src/schemas/framework-info.schemas.ts +13 -0
- package/src/schemas/framework-secrets.schemas.ts +19 -0
- package/src/schemas/platform-application-config.schemas.ts +25 -0
- package/src/schemas/platform-application-secrets.schemas.ts +78 -0
- package/src/schemas/platform-config.schemas.ts +45 -0
- package/src/workspace-scope/index.ts +2 -0
- package/src/workspace-scope/workspace-scope-detector.ts +98 -0
- package/src/workspace-scope/workspace-scope.schemas.ts +224 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { CLIRuntime_ConfigurationSchema, ExternalProvider_ExchangeProtocol_Configuration_BaseSchema, ExternalProvider_ExchangeProtocol_Kind, } from '@wildo-ai/external-connectors-models';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { EngineCapability } from '@wildo-ai/saas-models';
|
|
4
|
+
import { AppDataServicesSchema } from './shared/data-services.schemas.js';
|
|
5
|
+
import { ApplicationModulesSchema } from './shared/application-modules.schemas.js';
|
|
6
|
+
import { AppServiceDefinitionSchema, AppRefSchema } from './shared/service-definitions.schemas.js';
|
|
7
|
+
/**
|
|
8
|
+
* Capability binding in the app config.
|
|
9
|
+
* Declares whether a capability is enabled, its lifecycle scope,
|
|
10
|
+
* and which provider(s) back it.
|
|
11
|
+
*
|
|
12
|
+
* Provider refs are validated at CLI evaluation time against the
|
|
13
|
+
* external-connectors catalog to ensure the provider actually supports
|
|
14
|
+
* the declared capability.
|
|
15
|
+
*
|
|
16
|
+
* - `runtime` = app needs this at runtime (mandatory for production)
|
|
17
|
+
* - `tooling` = dev tooling needs this (companion, CLI, agents)
|
|
18
|
+
* - `servicesRestrictions` = per-service provider overrides
|
|
19
|
+
* (omitted services get the default; empty array = unavailable for that service)
|
|
20
|
+
*/
|
|
21
|
+
export const CapabilityBindingSchema = z.object({
|
|
22
|
+
enabled: z.boolean(),
|
|
23
|
+
/** App needs this capability at runtime (mandatory for production) */
|
|
24
|
+
runtime: z.boolean().default(false),
|
|
25
|
+
/** Dev tooling needs this capability (companion, CLI, agents) */
|
|
26
|
+
tooling: z.boolean().default(false),
|
|
27
|
+
/** Single provider ref (for SINGLE mode capabilities) */
|
|
28
|
+
provider: z.string().min(1).optional(),
|
|
29
|
+
/** Multiple provider refs (for MULTIPLE mode capabilities like AI) */
|
|
30
|
+
providers: z.array(z.string().min(1)).optional(),
|
|
31
|
+
/** Whether this capability is required for the app to function */
|
|
32
|
+
required: z.boolean().optional(),
|
|
33
|
+
/**
|
|
34
|
+
* Per-service provider restrictions.
|
|
35
|
+
* Keys are service identifiers (e.g., 'minions.marketingScrapper').
|
|
36
|
+
* Values are arrays of allowed provider refs for that service.
|
|
37
|
+
* Omitted services inherit the default `provider`/`providers` list.
|
|
38
|
+
* Empty array = capability unavailable for that service.
|
|
39
|
+
*/
|
|
40
|
+
servicesRestrictions: z.record(z.string(), z.array(z.string().min(1))).optional(),
|
|
41
|
+
});
|
|
42
|
+
export const ExternalProvidersConfigurationsSchema = z.record(z.string(), z.partialRecord(z.enum(ExternalProvider_ExchangeProtocol_Kind), z.union([
|
|
43
|
+
CLIRuntime_ConfigurationSchema,
|
|
44
|
+
ExternalProvider_ExchangeProtocol_Configuration_BaseSchema,
|
|
45
|
+
])).optional()).optional().default(() => ({}));
|
|
46
|
+
const AppFeaturesSchema = z.object({
|
|
47
|
+
organizations: z.boolean().default(false),
|
|
48
|
+
billing: z.boolean().default(false),
|
|
49
|
+
multiLanguage: z.boolean().default(false),
|
|
50
|
+
compliance: z.object({
|
|
51
|
+
auditTrail: z.boolean().default(false),
|
|
52
|
+
gdpr: z.boolean().default(false),
|
|
53
|
+
}).optional(),
|
|
54
|
+
});
|
|
55
|
+
const BootstrapFirstAdminSeedSchema = z.object({
|
|
56
|
+
userTypes: z.array(z.string().min(1)).min(1),
|
|
57
|
+
});
|
|
58
|
+
const AppBootstrapSchema = z.object({
|
|
59
|
+
firstAdmin: BootstrapFirstAdminSeedSchema.optional(),
|
|
60
|
+
});
|
|
61
|
+
export const WildoSaasConfigSchema = z.object({
|
|
62
|
+
version: z.number().int().positive().default(1),
|
|
63
|
+
name: z.string().min(1),
|
|
64
|
+
slug: z.string().min(1).regex(/^[a-z0-9-]+$/, 'slug must be lowercase alphanumeric with hyphens'),
|
|
65
|
+
displayName: z.string().min(1),
|
|
66
|
+
description: z.string().optional(),
|
|
67
|
+
type: z.literal('saas'),
|
|
68
|
+
services: z.record(z.string(), AppServiceDefinitionSchema),
|
|
69
|
+
modules: ApplicationModulesSchema,
|
|
70
|
+
minions: z.record(z.string(), AppRefSchema).optional(),
|
|
71
|
+
workers: z.record(z.string(), AppRefSchema).optional(),
|
|
72
|
+
/**
|
|
73
|
+
* Capabilities the app requires, keyed by EngineCapability enum.
|
|
74
|
+
* Each entry declares whether the capability is enabled and which provider(s) back it.
|
|
75
|
+
*/
|
|
76
|
+
capabilities: z.partialRecord(z.enum(EngineCapability), CapabilityBindingSchema).optional(),
|
|
77
|
+
/**
|
|
78
|
+
* App-authored, non-secret provider runtime policy.
|
|
79
|
+
* Secret values are never authored here and stay env/K8s-delivered.
|
|
80
|
+
*/
|
|
81
|
+
externalProvidersConfigurations: ExternalProvidersConfigurationsSchema,
|
|
82
|
+
features: AppFeaturesSchema,
|
|
83
|
+
bootstrap: AppBootstrapSchema.optional(),
|
|
84
|
+
dataServices: AppDataServicesSchema,
|
|
85
|
+
}).superRefine((config, ctx) => {
|
|
86
|
+
const availableServiceKeys = new Set(Object.keys(config.services));
|
|
87
|
+
for (const [moduleId, moduleBinding] of Object.entries(config.modules ?? {})) {
|
|
88
|
+
for (const serviceKey of moduleBinding.services) {
|
|
89
|
+
if (availableServiceKeys.has(serviceKey)) {
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
ctx.addIssue({
|
|
93
|
+
code: z.ZodIssueCode.custom,
|
|
94
|
+
path: ['modules', moduleId, 'services'],
|
|
95
|
+
message: `Module "${moduleId}" references unknown service "${serviceKey}".`,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* Define a SaaS application configuration.
|
|
102
|
+
* Provides full IDE autocompletion for capabilities (via EngineCapability enum),
|
|
103
|
+
* features, services, and data services.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* import { defineSaasConfig } from '@wildo-ai/platform-config-lib';
|
|
108
|
+
* import { EngineCapability } from '@wildo-ai/saas-models';
|
|
109
|
+
*
|
|
110
|
+
* export default defineSaasConfig({
|
|
111
|
+
* version: 1,
|
|
112
|
+
* name: 'wonder-todos',
|
|
113
|
+
* slug: 'wonder-todos',
|
|
114
|
+
* displayName: 'Wonder Todos',
|
|
115
|
+
* type: 'saas',
|
|
116
|
+
* capabilities: {
|
|
117
|
+
* [EngineCapability.EMAIL_TRANSACTIONAL]: {
|
|
118
|
+
* enabled: true,
|
|
119
|
+
* runtime: true, // optional, defaults to false
|
|
120
|
+
* provider: 'resend',
|
|
121
|
+
* },
|
|
122
|
+
* [EngineCapability.SMS]: { enabled: false },
|
|
123
|
+
* [EngineCapability.AI_LLM]: {
|
|
124
|
+
* enabled: true,
|
|
125
|
+
* runtime: true,
|
|
126
|
+
* tooling: true, // optional, defaults to false
|
|
127
|
+
* providers: ['openai', 'anthropic'],
|
|
128
|
+
* },
|
|
129
|
+
* },
|
|
130
|
+
* // ...
|
|
131
|
+
* });
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
export function defineSaasConfig(config) {
|
|
135
|
+
return WildoSaasConfigSchema.parse(config);
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=define-saas-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-saas-config.js","sourceRoot":"","sources":["../../../src/project-config/define-saas-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const WildoSharingPolicySchema: z.ZodObject<{
|
|
3
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
4
|
+
secrets: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5
|
+
scope: z.ZodEnum<{
|
|
6
|
+
none: "none";
|
|
7
|
+
"all-apps": "all-apps";
|
|
8
|
+
"named-apps": "named-apps";
|
|
9
|
+
}>;
|
|
10
|
+
mode: z.ZodOptional<z.ZodString>;
|
|
11
|
+
description: z.ZodOptional<z.ZodString>;
|
|
12
|
+
defaults: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13
|
+
perApp: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
14
|
+
include: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15
|
+
exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16
|
+
}, z.core.$strip, core.$ZodObjectExtra>>>;
|
|
17
|
+
}, z.core.$strip, core.$ZodObjectExtra>>;
|
|
18
|
+
config: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
19
|
+
scope: z.ZodEnum<{
|
|
20
|
+
none: "none";
|
|
21
|
+
"all-apps": "all-apps";
|
|
22
|
+
"named-apps": "named-apps";
|
|
23
|
+
}>;
|
|
24
|
+
overridable: z.ZodOptional<z.ZodBoolean>;
|
|
25
|
+
description: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, z.core.$strip, core.$ZodObjectExtra>>;
|
|
27
|
+
}, z.core.$strip, core.$ZodObjectExtra>;
|
|
28
|
+
export type WildoSharingPolicy = z.infer<typeof WildoSharingPolicySchema>;
|
|
29
|
+
export type WildoSharingPolicyInput = z.input<typeof WildoSharingPolicySchema>;
|
|
30
|
+
/**
|
|
31
|
+
* Define a per-environment sharing policy.
|
|
32
|
+
* Controls which secrets and config are shared across apps, and with what restrictions.
|
|
33
|
+
*/
|
|
34
|
+
export declare function defineSharingPolicy(config: WildoSharingPolicyInput): WildoSharingPolicy;
|
|
35
|
+
//# sourceMappingURL=define-sharing-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-sharing-policy.d.ts","sourceRoot":"","sources":["../../../src/project-config/define-sharing-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;uCAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE/E;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,GAAG,kBAAkB,CAEvF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
const SharingScope = z.enum(['all-apps', 'named-apps', 'none']);
|
|
3
|
+
const SecretSharingRuleSchema = z.object({
|
|
4
|
+
scope: SharingScope,
|
|
5
|
+
mode: z.string().optional(),
|
|
6
|
+
description: z.string().optional(),
|
|
7
|
+
defaults: z.array(z.string()).optional(),
|
|
8
|
+
perApp: z.record(z.string(), z.object({
|
|
9
|
+
include: z.array(z.string()).optional(),
|
|
10
|
+
exclude: z.array(z.string()).optional(),
|
|
11
|
+
})).optional(),
|
|
12
|
+
});
|
|
13
|
+
const ConfigSharingRuleSchema = z.object({
|
|
14
|
+
scope: SharingScope,
|
|
15
|
+
overridable: z.boolean().optional(),
|
|
16
|
+
description: z.string().optional(),
|
|
17
|
+
});
|
|
18
|
+
export const WildoSharingPolicySchema = z.object({
|
|
19
|
+
version: z.number().int().positive().default(1),
|
|
20
|
+
secrets: z.record(z.string(), SecretSharingRuleSchema),
|
|
21
|
+
config: z.record(z.string(), ConfigSharingRuleSchema),
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Define a per-environment sharing policy.
|
|
25
|
+
* Controls which secrets and config are shared across apps, and with what restrictions.
|
|
26
|
+
*/
|
|
27
|
+
export function defineSharingPolicy(config) {
|
|
28
|
+
return WildoSharingPolicySchema.parse(config);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=define-sharing-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-sharing-policy.js","sourceRoot":"","sources":["../../../src/project-config/define-sharing-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhE,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACxC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACf,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC;CACtD,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA+B;IACjE,OAAO,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const WildoWorkerConfigSchema: z.ZodObject<{
|
|
3
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
4
|
+
name: z.ZodString;
|
|
5
|
+
displayName: z.ZodString;
|
|
6
|
+
description: z.ZodOptional<z.ZodString>;
|
|
7
|
+
runtime: z.ZodObject<{
|
|
8
|
+
type: z.ZodString;
|
|
9
|
+
language: z.ZodString;
|
|
10
|
+
}, z.core.$strip, core.$ZodObjectExtra>;
|
|
11
|
+
queue: z.ZodObject<{
|
|
12
|
+
consumes: z.ZodArray<z.ZodString>;
|
|
13
|
+
concurrency: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
prefetchCount: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
}, z.core.$strip, core.$ZodObjectExtra>;
|
|
16
|
+
resources: z.ZodOptional<z.ZodObject<{
|
|
17
|
+
cpu: z.ZodOptional<z.ZodString>;
|
|
18
|
+
memory: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, z.core.$strip, core.$ZodObjectExtra>>;
|
|
20
|
+
dataAccess: z.ZodOptional<z.ZodObject<{
|
|
21
|
+
database: z.ZodOptional<z.ZodEnum<{
|
|
22
|
+
"read-only": "read-only";
|
|
23
|
+
"read-write": "read-write";
|
|
24
|
+
none: "none";
|
|
25
|
+
}>>;
|
|
26
|
+
cache: z.ZodOptional<z.ZodBoolean>;
|
|
27
|
+
queue: z.ZodOptional<z.ZodEnum<{
|
|
28
|
+
none: "none";
|
|
29
|
+
consumer: "consumer";
|
|
30
|
+
producer: "producer";
|
|
31
|
+
both: "both";
|
|
32
|
+
}>>;
|
|
33
|
+
}, z.core.$strip, core.$ZodObjectExtra>>;
|
|
34
|
+
}, z.core.$strip, core.$ZodObjectExtra>;
|
|
35
|
+
export type WildoWorkerConfig = z.infer<typeof WildoWorkerConfigSchema>;
|
|
36
|
+
export type WildoWorkerConfigInput = z.input<typeof WildoWorkerConfigSchema>;
|
|
37
|
+
/**
|
|
38
|
+
* Define a worker service configuration.
|
|
39
|
+
* Workers are long-running queue consumers that process background tasks.
|
|
40
|
+
*/
|
|
41
|
+
export declare function defineWorkerConfig(config: WildoWorkerConfigInput): WildoWorkerConfig;
|
|
42
|
+
//# sourceMappingURL=define-worker-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-worker-config.d.ts","sourceRoot":"","sources":["../../../src/project-config/define-worker-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAalC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,iBAAiB,CAEpF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { WorkerRuntimeSchema, ResourceLimitsSchema, DataAccessSchema } from './shared/service-definitions.schemas.js';
|
|
3
|
+
export const WildoWorkerConfigSchema = z.object({
|
|
4
|
+
version: z.number().int().positive().default(1),
|
|
5
|
+
name: z.string().min(1),
|
|
6
|
+
displayName: z.string().min(1),
|
|
7
|
+
description: z.string().optional(),
|
|
8
|
+
runtime: WorkerRuntimeSchema,
|
|
9
|
+
queue: z.object({
|
|
10
|
+
consumes: z.array(z.string().min(1)),
|
|
11
|
+
concurrency: z.number().int().positive().optional(),
|
|
12
|
+
prefetchCount: z.number().int().positive().optional(),
|
|
13
|
+
}),
|
|
14
|
+
resources: ResourceLimitsSchema.optional(),
|
|
15
|
+
dataAccess: DataAccessSchema.optional(),
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* Define a worker service configuration.
|
|
19
|
+
* Workers are long-running queue consumers that process background tasks.
|
|
20
|
+
*/
|
|
21
|
+
export function defineWorkerConfig(config) {
|
|
22
|
+
return WildoWorkerConfigSchema.parse(config);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=define-worker-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-worker-config.js","sourceRoot":"","sources":["../../../src/project-config/define-worker-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAEnH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,mBAAmB;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACnD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACtD,CAAC;IACF,SAAS,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA8B;IAC/D,OAAO,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export * from './shared/backing-services.schemas.js';
|
|
2
|
+
export * from './shared/platform-services.schemas.js';
|
|
3
|
+
export * from './shared/data-services.schemas.js';
|
|
4
|
+
export * from './shared/application-modules.schemas.js';
|
|
5
|
+
export * from './shared/application-modules.utils.js';
|
|
6
|
+
export * from './shared/service-definitions.schemas.js';
|
|
7
|
+
export * from './shared/environment.schemas.js';
|
|
8
|
+
export * from './shared/infrastructure-defaults.schemas.js';
|
|
9
|
+
export * from './shared/k8s-utils.js';
|
|
10
|
+
export * from './shared/env-example-defaults.js';
|
|
11
|
+
export * from './loader.js';
|
|
12
|
+
export * from './define-project-config.js';
|
|
13
|
+
export * from './define-framework-config.js';
|
|
14
|
+
export * from './define-platform-config.js';
|
|
15
|
+
export * from './define-platform-env-config.js';
|
|
16
|
+
export * from './define-sharing-policy.js';
|
|
17
|
+
export * from './define-saas-config.js';
|
|
18
|
+
export * from './define-infra-config.js';
|
|
19
|
+
export * from './define-worker-config.js';
|
|
20
|
+
export * from './define-minion-config.js';
|
|
21
|
+
export * from './sharing-policy-validation.js';
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/project-config/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,UAAU,CAAC;AAEzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export * from './shared/backing-services.schemas.js';
|
|
2
|
+
export * from './shared/platform-services.schemas.js';
|
|
3
|
+
export * from './shared/data-services.schemas.js';
|
|
4
|
+
export * from './shared/application-modules.schemas.js';
|
|
5
|
+
export * from './shared/application-modules.utils.js';
|
|
6
|
+
export * from './shared/service-definitions.schemas.js';
|
|
7
|
+
export * from './shared/environment.schemas.js';
|
|
8
|
+
export * from './shared/infrastructure-defaults.schemas.js';
|
|
9
|
+
export * from './shared/k8s-utils.js';
|
|
10
|
+
export * from './shared/env-example-defaults.js';
|
|
11
|
+
export * from './loader.js';
|
|
12
|
+
export * from './define-project-config.js';
|
|
13
|
+
export * from './define-framework-config.js';
|
|
14
|
+
export * from './define-platform-config.js';
|
|
15
|
+
export * from './define-platform-env-config.js';
|
|
16
|
+
export * from './define-sharing-policy.js';
|
|
17
|
+
export * from './define-saas-config.js';
|
|
18
|
+
export * from './define-infra-config.js';
|
|
19
|
+
export * from './define-worker-config.js';
|
|
20
|
+
export * from './define-minion-config.js';
|
|
21
|
+
export * from './sharing-policy-validation.js';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/project-config/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,UAAU,CAAC;AAEzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { WildoFrameworkConfig } from './define-framework-config.js';
|
|
2
|
+
import type { WildoSaasConfig } from './define-saas-config.js';
|
|
3
|
+
import type { WildoSharingPolicy } from './define-sharing-policy.js';
|
|
4
|
+
import { type ConfigArtifactsLocationOptions } from '../workspace-scope/workspace-scope.schemas.js';
|
|
5
|
+
export interface LoadConfigOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Optional explicit owner zone for generated loader artifacts.
|
|
8
|
+
* Use this when the authored config file lives outside its semantic runtime
|
|
9
|
+
* owner, such as project-owned platform configs stored in a sibling
|
|
10
|
+
* `platformPath`.
|
|
11
|
+
*/
|
|
12
|
+
artifactLocation?: ConfigArtifactsLocationOptions;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Load and evaluate a TypeScript config file via jiti.
|
|
16
|
+
* The file must `export default defineXxxConfig({...})`.
|
|
17
|
+
* Zod validation runs inside the defineConfig helper at evaluation time,
|
|
18
|
+
* so the returned object is guaranteed valid.
|
|
19
|
+
*
|
|
20
|
+
* @param filePath - Absolute path to the `.ts` config file
|
|
21
|
+
* @returns The validated config object (the default export)
|
|
22
|
+
* @throws If the file doesn't exist, has syntax errors, or Zod validation fails
|
|
23
|
+
*/
|
|
24
|
+
export declare function loadConfig<T>(filePath: string, options?: LoadConfigOptions): Promise<T>;
|
|
25
|
+
export declare function resolvePackageCompanionEntryPath(packageRoot: string, subpath?: string): string;
|
|
26
|
+
export declare function loadPackageCompanionExport<T>(packageRoot: string, subpath?: string, options?: LoadConfigOptions): Promise<T>;
|
|
27
|
+
/**
|
|
28
|
+
* Load a `wildo.saas.config.ts` file.
|
|
29
|
+
* Returns `null` if the file doesn't exist (non-throwing variant for optional loading).
|
|
30
|
+
*/
|
|
31
|
+
export declare function loadSaasConfig(filePath: string, options?: LoadConfigOptions): Promise<WildoSaasConfig | null>;
|
|
32
|
+
/**
|
|
33
|
+
* Load a `wildo.sharing-policy.{env}.ts` file.
|
|
34
|
+
* Returns `null` if the file doesn't exist (non-throwing variant for optional loading).
|
|
35
|
+
*/
|
|
36
|
+
export declare function loadSharingPolicy(filePath: string, options?: LoadConfigOptions): Promise<WildoSharingPolicy | null>;
|
|
37
|
+
/**
|
|
38
|
+
* Load the framework-scoped `wildo.framework.config.ts` file.
|
|
39
|
+
* Returns `null` if the file does not exist.
|
|
40
|
+
*/
|
|
41
|
+
export declare function loadFrameworkConfig(frameworkRoot: string, options?: Omit<LoadConfigOptions, 'artifactLocation'>): Promise<WildoFrameworkConfig | null>;
|
|
42
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/project-config/loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAGL,KAAK,8BAA8B,EACpC,MAAM,4CAA4C,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,8BAA8B,CAAC;CACnD;AAID;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAgC7F;AAED,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAkC,GAC1C,MAAM,CA8CR;AAED,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAkC,EAC3C,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,CAAC,CAGZ;AAmDD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAInH;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAIzH;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GACpD,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAYtC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { createHash } from 'crypto';
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync } from 'fs';
|
|
3
|
+
import { dirname, join, resolve } from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
import { createJiti } from 'jiti';
|
|
6
|
+
import { WORKSPACE_CONFIG_NAMES } from '../workspace-scope/workspace-scope.schemas.js';
|
|
7
|
+
import { ConfigArtifactsZone, resolveConfigArtifactsBaseDir, } from '../workspace-scope/workspace-scope.schemas.js';
|
|
8
|
+
const PACKAGE_COMPANION_SUBPATH = './companion';
|
|
9
|
+
/**
|
|
10
|
+
* Load and evaluate a TypeScript config file via jiti.
|
|
11
|
+
* The file must `export default defineXxxConfig({...})`.
|
|
12
|
+
* Zod validation runs inside the defineConfig helper at evaluation time,
|
|
13
|
+
* so the returned object is guaranteed valid.
|
|
14
|
+
*
|
|
15
|
+
* @param filePath - Absolute path to the `.ts` config file
|
|
16
|
+
* @returns The validated config object (the default export)
|
|
17
|
+
* @throws If the file doesn't exist, has syntax errors, or Zod validation fails
|
|
18
|
+
*/
|
|
19
|
+
export async function loadConfig(filePath, options) {
|
|
20
|
+
const absolutePath = resolve(filePath);
|
|
21
|
+
if (!existsSync(absolutePath)) {
|
|
22
|
+
throw new Error(`Config file not found: ${absolutePath}`);
|
|
23
|
+
}
|
|
24
|
+
const cacheBaseDir = options?.artifactLocation
|
|
25
|
+
? resolveConfigArtifactsBaseDir(options.artifactLocation)
|
|
26
|
+
: resolveConfigArtifactsBaseDir(absolutePath);
|
|
27
|
+
const cacheDir = join(cacheBaseDir, createHash('sha1').update(absolutePath).digest('hex'));
|
|
28
|
+
mkdirSync(cacheDir, { recursive: true });
|
|
29
|
+
const currentModuleDirectory = dirname(fileURLToPath(import.meta.url));
|
|
30
|
+
const platformConfigLibEntry = resolvePlatformConfigLibEntry(currentModuleDirectory);
|
|
31
|
+
const workspaceRoot = resolveLoaderWorkspaceRoot(currentModuleDirectory);
|
|
32
|
+
const jiti = createJiti(import.meta.url, {
|
|
33
|
+
fsCache: cacheDir,
|
|
34
|
+
alias: {
|
|
35
|
+
'@wildo-ai/platform-config-lib': platformConfigLibEntry,
|
|
36
|
+
'~wildo-backend-lib': resolve(workspaceRoot, 'engine/saas-backend-lib/src'),
|
|
37
|
+
'~wildo-connectors': resolve(workspaceRoot, 'engine/external-connectors/src'),
|
|
38
|
+
'~wildo-connectors-models': resolve(workspaceRoot, 'engine/external-connectors-models/src'),
|
|
39
|
+
'~wildo-models': resolve(workspaceRoot, 'engine/saas-models/src'),
|
|
40
|
+
'~wildo-zod': resolve(workspaceRoot, 'engine/zod-decorators/src'),
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
const module = await jiti.import(absolutePath);
|
|
44
|
+
if (!module.default) {
|
|
45
|
+
throw new Error(`Config file must use \`export default\`: ${absolutePath}`);
|
|
46
|
+
}
|
|
47
|
+
return module.default;
|
|
48
|
+
}
|
|
49
|
+
export function resolvePackageCompanionEntryPath(packageRoot, subpath = PACKAGE_COMPANION_SUBPATH) {
|
|
50
|
+
const packageJsonPath = join(packageRoot, 'package.json');
|
|
51
|
+
if (!existsSync(packageJsonPath)) {
|
|
52
|
+
throw new Error(`Missing package.json for companion target at "${packageRoot}".`);
|
|
53
|
+
}
|
|
54
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
55
|
+
const subpathExport = packageJson.exports?.[subpath];
|
|
56
|
+
if (typeof subpathExport === 'string') {
|
|
57
|
+
const exportPath = resolve(packageRoot, subpathExport);
|
|
58
|
+
if (existsSync(exportPath)) {
|
|
59
|
+
return exportPath;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (subpathExport && typeof subpathExport === 'object') {
|
|
63
|
+
const declaredEntryPath = subpathExport.import ?? subpathExport.default;
|
|
64
|
+
if (typeof declaredEntryPath === 'string') {
|
|
65
|
+
const exportPath = resolve(packageRoot, declaredEntryPath);
|
|
66
|
+
if (existsSync(exportPath)) {
|
|
67
|
+
return exportPath;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (subpath === PACKAGE_COMPANION_SUBPATH) {
|
|
72
|
+
const sourceCandidates = [
|
|
73
|
+
join(packageRoot, 'src', 'companion-exports.ts'),
|
|
74
|
+
join(packageRoot, 'src', 'companion-exports.tsx'),
|
|
75
|
+
join(packageRoot, 'src', 'companion-exports.js'),
|
|
76
|
+
join(packageRoot, 'src', 'companion-exports.mjs'),
|
|
77
|
+
];
|
|
78
|
+
for (const candidate of sourceCandidates) {
|
|
79
|
+
if (existsSync(candidate)) {
|
|
80
|
+
return candidate;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
throw new Error(`Could not resolve companion entry for subpath "${subpath}" in package "${packageRoot}".`);
|
|
85
|
+
}
|
|
86
|
+
export async function loadPackageCompanionExport(packageRoot, subpath = PACKAGE_COMPANION_SUBPATH, options) {
|
|
87
|
+
const entryPath = resolvePackageCompanionEntryPath(packageRoot, subpath);
|
|
88
|
+
return loadConfig(entryPath, options);
|
|
89
|
+
}
|
|
90
|
+
function resolvePlatformConfigLibEntry(startDirectory) {
|
|
91
|
+
const packageRoot = resolveCurrentPackageRoot(startDirectory);
|
|
92
|
+
const sourceEntry = join(packageRoot, 'src', 'index.ts');
|
|
93
|
+
if (existsSync(sourceEntry)) {
|
|
94
|
+
return sourceEntry;
|
|
95
|
+
}
|
|
96
|
+
return join(packageRoot, 'dist', 'esm', 'index.js');
|
|
97
|
+
}
|
|
98
|
+
function resolveCurrentPackageRoot(startDirectory) {
|
|
99
|
+
let currentDirectory = startDirectory;
|
|
100
|
+
while (true) {
|
|
101
|
+
if (existsSync(join(currentDirectory, 'package.json'))) {
|
|
102
|
+
return currentDirectory;
|
|
103
|
+
}
|
|
104
|
+
const parentDirectory = dirname(currentDirectory);
|
|
105
|
+
if (parentDirectory === currentDirectory) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
currentDirectory = parentDirectory;
|
|
109
|
+
}
|
|
110
|
+
return startDirectory;
|
|
111
|
+
}
|
|
112
|
+
function resolveLoaderWorkspaceRoot(startDirectory) {
|
|
113
|
+
let currentDirectory = startDirectory;
|
|
114
|
+
while (true) {
|
|
115
|
+
if (existsSync(join(currentDirectory, 'wildo-framework.info.json'))
|
|
116
|
+
|| existsSync(join(currentDirectory, 'pnpm-workspace.yaml'))) {
|
|
117
|
+
return currentDirectory;
|
|
118
|
+
}
|
|
119
|
+
const parentDirectory = dirname(currentDirectory);
|
|
120
|
+
if (parentDirectory === currentDirectory) {
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
currentDirectory = parentDirectory;
|
|
124
|
+
}
|
|
125
|
+
return resolve(startDirectory, '../../../../..');
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Load a `wildo.saas.config.ts` file.
|
|
129
|
+
* Returns `null` if the file doesn't exist (non-throwing variant for optional loading).
|
|
130
|
+
*/
|
|
131
|
+
export async function loadSaasConfig(filePath, options) {
|
|
132
|
+
const absolutePath = resolve(filePath);
|
|
133
|
+
if (!existsSync(absolutePath))
|
|
134
|
+
return null;
|
|
135
|
+
return loadConfig(absolutePath, options);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Load a `wildo.sharing-policy.{env}.ts` file.
|
|
139
|
+
* Returns `null` if the file doesn't exist (non-throwing variant for optional loading).
|
|
140
|
+
*/
|
|
141
|
+
export async function loadSharingPolicy(filePath, options) {
|
|
142
|
+
const absolutePath = resolve(filePath);
|
|
143
|
+
if (!existsSync(absolutePath))
|
|
144
|
+
return null;
|
|
145
|
+
return loadConfig(absolutePath, options);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Load the framework-scoped `wildo.framework.config.ts` file.
|
|
149
|
+
* Returns `null` if the file does not exist.
|
|
150
|
+
*/
|
|
151
|
+
export async function loadFrameworkConfig(frameworkRoot, options) {
|
|
152
|
+
const filePath = join(frameworkRoot, WORKSPACE_CONFIG_NAMES.FRAMEWORK_DIR, 'wildo.framework.config.ts');
|
|
153
|
+
const absolutePath = resolve(filePath);
|
|
154
|
+
if (!existsSync(absolutePath))
|
|
155
|
+
return null;
|
|
156
|
+
return loadConfig(absolutePath, {
|
|
157
|
+
...options,
|
|
158
|
+
artifactLocation: {
|
|
159
|
+
zone: ConfigArtifactsZone.FRAMEWORK,
|
|
160
|
+
ownerRoot: frameworkRoot,
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/project-config/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ApplicationModuleBindingSchema: z.ZodObject<{
|
|
3
|
+
services: z.ZodArray<z.ZodString>;
|
|
4
|
+
}, z.core.$strip, core.$ZodObjectExtra>;
|
|
5
|
+
export type ApplicationModuleBinding = z.infer<typeof ApplicationModuleBindingSchema>;
|
|
6
|
+
export declare const ApplicationModulesSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
7
|
+
services: z.ZodArray<z.ZodString>;
|
|
8
|
+
}, z.core.$strip, core.$ZodObjectExtra>>>;
|
|
9
|
+
export type ApplicationModules = z.infer<typeof ApplicationModulesSchema>;
|
|
10
|
+
//# sourceMappingURL=application-modules.schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-modules.schemas.d.ts","sourceRoot":"","sources":["../../../../src/project-config/shared/application-modules.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,8BAA8B;;uCAEzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,wBAAwB;;yCAGzB,CAAC;AACb,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const ApplicationModuleBindingSchema = z.object({
|
|
3
|
+
services: z.array(z.string().min(1)).min(1),
|
|
4
|
+
});
|
|
5
|
+
export const ApplicationModulesSchema = z.record(z.string().min(1), ApplicationModuleBindingSchema).optional();
|
|
6
|
+
//# sourceMappingURL=application-modules.schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-modules.schemas.js","sourceRoot":"","sources":["../../../../src/project-config/shared/application-modules.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EACjB,8BAA8B,CAC/B,CAAC,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ApplicationModules } from './application-modules.schemas.js';
|
|
2
|
+
export declare function getDeclaredApplicationModuleIds(modules: ApplicationModules | undefined): string[];
|
|
3
|
+
export declare function getServiceBoundApplicationModuleIds(modules: ApplicationModules | undefined, serviceKey: string): string[];
|
|
4
|
+
export declare function resolveDeclaredApplicationModules<T>(modules: ApplicationModules | undefined, declaredModulesById: Record<string, T>, consumerLabel: string): T[];
|
|
5
|
+
export declare function resolveServiceBoundApplicationModules<T>(modules: ApplicationModules | undefined, serviceKey: string, declaredModulesById: Record<string, T>, consumerLabel?: string): T[];
|
|
6
|
+
//# sourceMappingURL=application-modules.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-modules.utils.d.ts","sourceRoot":"","sources":["../../../../src/project-config/shared/application-modules.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AA4BxE,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACtC,MAAM,EAAE,CAEV;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAEV;AAED,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EACtC,aAAa,EAAE,MAAM,GACpB,CAAC,EAAE,CAML;AAED,wBAAgB,qCAAqC,CAAC,CAAC,EACrD,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EACtC,aAAa,SAA4B,GACxC,CAAC,EAAE,CAML"}
|