@smooai/config 2.0.0
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/LICENSE +21 -0
- package/README.md +430 -0
- package/dist/chunk-3SU3SMKN.mjs +73 -0
- package/dist/chunk-3SU3SMKN.mjs.map +1 -0
- package/dist/chunk-CASNDTCH.mjs +12 -0
- package/dist/chunk-CASNDTCH.mjs.map +1 -0
- package/dist/chunk-GLLYQ6FK.mjs +173 -0
- package/dist/chunk-GLLYQ6FK.mjs.map +1 -0
- package/dist/chunk-HPSOF46N.mjs +71 -0
- package/dist/chunk-HPSOF46N.mjs.map +1 -0
- package/dist/chunk-HPXCKD6M.mjs +118 -0
- package/dist/chunk-HPXCKD6M.mjs.map +1 -0
- package/dist/chunk-J5LGTIGS.mjs +10 -0
- package/dist/chunk-J5LGTIGS.mjs.map +1 -0
- package/dist/chunk-LKV73SD2.mjs +25 -0
- package/dist/chunk-LKV73SD2.mjs.map +1 -0
- package/dist/chunk-MJ52ZIWV.mjs +98 -0
- package/dist/chunk-MJ52ZIWV.mjs.map +1 -0
- package/dist/chunk-O7BSFCCY.mjs +89 -0
- package/dist/chunk-O7BSFCCY.mjs.map +1 -0
- package/dist/chunk-QBM74JB5.mjs +47 -0
- package/dist/chunk-QBM74JB5.mjs.map +1 -0
- package/dist/chunk-QGMLTMB5.mjs +37 -0
- package/dist/chunk-QGMLTMB5.mjs.map +1 -0
- package/dist/chunk-SKX7CPGS.mjs +73 -0
- package/dist/chunk-SKX7CPGS.mjs.map +1 -0
- package/dist/chunk-VPKO6D4W.mjs +33 -0
- package/dist/chunk-VPKO6D4W.mjs.map +1 -0
- package/dist/chunk-YQWYYS7P.mjs +12194 -0
- package/dist/chunk-YQWYYS7P.mjs.map +1 -0
- package/dist/chunk-Z3CZGNU5.mjs +99 -0
- package/dist/chunk-Z3CZGNU5.mjs.map +1 -0
- package/dist/chunk-ZOKHXR5I.mjs +33 -0
- package/dist/chunk-ZOKHXR5I.mjs.map +1 -0
- package/dist/cli.mjs +1562 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/config/FeatureFlagKey.d.mts +24 -0
- package/dist/config/FeatureFlagKey.d.ts +24 -0
- package/dist/config/FeatureFlagKey.js +31 -0
- package/dist/config/FeatureFlagKey.js.map +1 -0
- package/dist/config/FeatureFlagKey.mjs +8 -0
- package/dist/config/FeatureFlagKey.mjs.map +1 -0
- package/dist/config/PublicConfigKey.d.mts +22 -0
- package/dist/config/PublicConfigKey.d.ts +22 -0
- package/dist/config/PublicConfigKey.js +36 -0
- package/dist/config/PublicConfigKey.js.map +1 -0
- package/dist/config/PublicConfigKey.mjs +8 -0
- package/dist/config/PublicConfigKey.mjs.map +1 -0
- package/dist/config/SecretConfigKey.d.mts +22 -0
- package/dist/config/SecretConfigKey.d.ts +22 -0
- package/dist/config/SecretConfigKey.js +31 -0
- package/dist/config/SecretConfigKey.js.map +1 -0
- package/dist/config/SecretConfigKey.mjs +8 -0
- package/dist/config/SecretConfigKey.mjs.map +1 -0
- package/dist/config/config.d.mts +178 -0
- package/dist/config/config.d.ts +178 -0
- package/dist/config/config.js +12364 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/config.mjs +23 -0
- package/dist/config/config.mjs.map +1 -0
- package/dist/config/findAndProcessEnvConfig.d.mts +17 -0
- package/dist/config/findAndProcessEnvConfig.d.ts +17 -0
- package/dist/config/findAndProcessEnvConfig.js +12290 -0
- package/dist/config/findAndProcessEnvConfig.js.map +1 -0
- package/dist/config/findAndProcessEnvConfig.mjs +14 -0
- package/dist/config/findAndProcessEnvConfig.mjs.map +1 -0
- package/dist/config/findAndProcessFileConfig.d.mts +38 -0
- package/dist/config/findAndProcessFileConfig.d.ts +38 -0
- package/dist/config/findAndProcessFileConfig.js +12431 -0
- package/dist/config/findAndProcessFileConfig.js.map +1 -0
- package/dist/config/findAndProcessFileConfig.mjs +18 -0
- package/dist/config/findAndProcessFileConfig.mjs.map +1 -0
- package/dist/config/getCloudRegion.d.mts +8 -0
- package/dist/config/getCloudRegion.d.ts +8 -0
- package/dist/config/getCloudRegion.js +92 -0
- package/dist/config/getCloudRegion.js.map +1 -0
- package/dist/config/getCloudRegion.mjs +9 -0
- package/dist/config/getCloudRegion.mjs.map +1 -0
- package/dist/config/index.d.mts +5 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.js +12638 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/index.mjs +33 -0
- package/dist/config/index.mjs.map +1 -0
- package/dist/config/parseConfigSchema.d.mts +13 -0
- package/dist/config/parseConfigSchema.d.ts +13 -0
- package/dist/config/parseConfigSchema.js +12177 -0
- package/dist/config/parseConfigSchema.js.map +1 -0
- package/dist/config/parseConfigSchema.mjs +16 -0
- package/dist/config/parseConfigSchema.mjs.map +1 -0
- package/dist/config/standardSchemaToJson.d.mts +6 -0
- package/dist/config/standardSchemaToJson.d.ts +6 -0
- package/dist/config/standardSchemaToJson.js +138 -0
- package/dist/config/standardSchemaToJson.js.map +1 -0
- package/dist/config/standardSchemaToJson.mjs +9 -0
- package/dist/config/standardSchemaToJson.mjs.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integration-tests/1/smooai-config/config.d.mts +4108 -0
- package/dist/integration-tests/1/smooai-config/config.d.ts +4108 -0
- package/dist/integration-tests/1/smooai-config/config.js +12353 -0
- package/dist/integration-tests/1/smooai-config/config.js.map +1 -0
- package/dist/integration-tests/1/smooai-config/config.mjs +12 -0
- package/dist/integration-tests/1/smooai-config/config.mjs.map +1 -0
- package/dist/integration-tests/1/smooai-config/default.d.mts +55 -0
- package/dist/integration-tests/1/smooai-config/default.d.ts +55 -0
- package/dist/integration-tests/1/smooai-config/default.js +12419 -0
- package/dist/integration-tests/1/smooai-config/default.js.map +1 -0
- package/dist/integration-tests/1/smooai-config/default.mjs +78 -0
- package/dist/integration-tests/1/smooai-config/default.mjs.map +1 -0
- package/dist/integration-tests/1/smooai-config/development.d.mts +41 -0
- package/dist/integration-tests/1/smooai-config/development.d.ts +41 -0
- package/dist/integration-tests/1/smooai-config/development.js +12403 -0
- package/dist/integration-tests/1/smooai-config/development.js.map +1 -0
- package/dist/integration-tests/1/smooai-config/development.mjs +62 -0
- package/dist/integration-tests/1/smooai-config/development.mjs.map +1 -0
- package/dist/integration-tests/1/smooai-config/production.aws.d.mts +128 -0
- package/dist/integration-tests/1/smooai-config/production.aws.d.ts +128 -0
- package/dist/integration-tests/1/smooai-config/production.aws.js +12371 -0
- package/dist/integration-tests/1/smooai-config/production.aws.js.map +1 -0
- package/dist/integration-tests/1/smooai-config/production.aws.mjs +30 -0
- package/dist/integration-tests/1/smooai-config/production.aws.mjs.map +1 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-1.d.mts +64 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-1.d.ts +64 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-1.js +12364 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-1.js.map +1 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-1.mjs +23 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-1.mjs.map +1 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-2.d.mts +64 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-2.d.ts +64 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-2.js +12364 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-2.js.map +1 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-2.mjs +23 -0
- package/dist/integration-tests/1/smooai-config/production.aws.us-east-2.mjs.map +1 -0
- package/dist/integration-tests/1/smooai-config/production.d.mts +42 -0
- package/dist/integration-tests/1/smooai-config/production.d.ts +42 -0
- package/dist/integration-tests/1/smooai-config/production.js +12399 -0
- package/dist/integration-tests/1/smooai-config/production.js.map +1 -0
- package/dist/integration-tests/1/smooai-config/production.mjs +58 -0
- package/dist/integration-tests/1/smooai-config/production.mjs.map +1 -0
- package/dist/integration-tests/1/smooai-config/staging.d.mts +129 -0
- package/dist/integration-tests/1/smooai-config/staging.d.ts +129 -0
- package/dist/integration-tests/1/smooai-config/staging.js +12377 -0
- package/dist/integration-tests/1/smooai-config/staging.js.map +1 -0
- package/dist/integration-tests/1/smooai-config/staging.mjs +36 -0
- package/dist/integration-tests/1/smooai-config/staging.mjs.map +1 -0
- package/dist/integration-tests/2/smooai-config/config.d.mts +1262 -0
- package/dist/integration-tests/2/smooai-config/config.d.ts +1262 -0
- package/dist/integration-tests/2/smooai-config/config.js +12301 -0
- package/dist/integration-tests/2/smooai-config/config.js.map +1 -0
- package/dist/integration-tests/2/smooai-config/config.mjs +12 -0
- package/dist/integration-tests/2/smooai-config/config.mjs.map +1 -0
- package/dist/integration-tests/2/smooai-config/default.d.mts +19 -0
- package/dist/integration-tests/2/smooai-config/default.d.ts +19 -0
- package/dist/integration-tests/2/smooai-config/default.js +12321 -0
- package/dist/integration-tests/2/smooai-config/default.js.map +1 -0
- package/dist/integration-tests/2/smooai-config/default.mjs +32 -0
- package/dist/integration-tests/2/smooai-config/default.mjs.map +1 -0
- package/dist/integration-tests/2/smooai-config/development.d.mts +9 -0
- package/dist/integration-tests/2/smooai-config/development.d.ts +9 -0
- package/dist/integration-tests/2/smooai-config/development.js +12311 -0
- package/dist/integration-tests/2/smooai-config/development.js.map +1 -0
- package/dist/integration-tests/2/smooai-config/development.mjs +22 -0
- package/dist/integration-tests/2/smooai-config/development.mjs.map +1 -0
- package/dist/integration-tests/2/smooai-config/production.aws.d.mts +26 -0
- package/dist/integration-tests/2/smooai-config/production.aws.d.ts +26 -0
- package/dist/integration-tests/2/smooai-config/production.aws.js +12311 -0
- package/dist/integration-tests/2/smooai-config/production.aws.js.map +1 -0
- package/dist/integration-tests/2/smooai-config/production.aws.mjs +22 -0
- package/dist/integration-tests/2/smooai-config/production.aws.mjs.map +1 -0
- package/dist/integration-tests/2/smooai-config/production.aws.us-east-1.d.mts +25 -0
- package/dist/integration-tests/2/smooai-config/production.aws.us-east-1.d.ts +25 -0
- package/dist/integration-tests/2/smooai-config/production.aws.us-east-1.js +12310 -0
- package/dist/integration-tests/2/smooai-config/production.aws.us-east-1.js.map +1 -0
- package/dist/integration-tests/2/smooai-config/production.aws.us-east-1.mjs +21 -0
- package/dist/integration-tests/2/smooai-config/production.aws.us-east-1.mjs.map +1 -0
- package/dist/integration-tests/2/smooai-config/production.d.mts +19 -0
- package/dist/integration-tests/2/smooai-config/production.d.ts +19 -0
- package/dist/integration-tests/2/smooai-config/production.js +12321 -0
- package/dist/integration-tests/2/smooai-config/production.js.map +1 -0
- package/dist/integration-tests/2/smooai-config/production.mjs +32 -0
- package/dist/integration-tests/2/smooai-config/production.mjs.map +1 -0
- package/dist/platform/client.d.mts +49 -0
- package/dist/platform/client.d.ts +49 -0
- package/dist/platform/client.js +123 -0
- package/dist/platform/client.js.map +1 -0
- package/dist/platform/client.mjs +8 -0
- package/dist/platform/client.mjs.map +1 -0
- package/dist/platform/server/server.async.d.mts +12 -0
- package/dist/platform/server/server.async.d.ts +12 -0
- package/dist/platform/server/server.async.js +12586 -0
- package/dist/platform/server/server.async.js.map +1 -0
- package/dist/platform/server/server.async.mjs +18 -0
- package/dist/platform/server/server.async.mjs.map +1 -0
- package/dist/platform/server/server.featureFlag.sync.d.mts +2 -0
- package/dist/platform/server/server.featureFlag.sync.d.ts +2 -0
- package/dist/platform/server/server.featureFlag.sync.js +12589 -0
- package/dist/platform/server/server.featureFlag.sync.js.map +1 -0
- package/dist/platform/server/server.featureFlag.sync.mjs +24 -0
- package/dist/platform/server/server.featureFlag.sync.mjs.map +1 -0
- package/dist/platform/server/server.publicConfig.sync.d.mts +2 -0
- package/dist/platform/server/server.publicConfig.sync.d.ts +2 -0
- package/dist/platform/server/server.publicConfig.sync.js +12589 -0
- package/dist/platform/server/server.publicConfig.sync.js.map +1 -0
- package/dist/platform/server/server.publicConfig.sync.mjs +24 -0
- package/dist/platform/server/server.publicConfig.sync.mjs.map +1 -0
- package/dist/platform/server/server.secretConfig.sync.d.mts +2 -0
- package/dist/platform/server/server.secretConfig.sync.d.ts +2 -0
- package/dist/platform/server/server.secretConfig.sync.js +12589 -0
- package/dist/platform/server/server.secretConfig.sync.js.map +1 -0
- package/dist/platform/server/server.secretConfig.sync.mjs +24 -0
- package/dist/platform/server/server.secretConfig.sync.mjs.map +1 -0
- package/dist/platform/server.d.mts +21 -0
- package/dist/platform/server.d.ts +21 -0
- package/dist/platform/server.js +12626 -0
- package/dist/platform/server.js.map +1 -0
- package/dist/platform/server.mjs +58 -0
- package/dist/platform/server.mjs.map +1 -0
- package/dist/react/hooks.d.mts +36 -0
- package/dist/react/hooks.d.ts +36 -0
- package/dist/react/hooks.js +90 -0
- package/dist/react/hooks.js.map +1 -0
- package/dist/react/hooks.mjs +14 -0
- package/dist/react/hooks.mjs.map +1 -0
- package/dist/react/index.d.mts +28 -0
- package/dist/react/index.d.ts +28 -0
- package/dist/react/index.js +194 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/index.mjs +17 -0
- package/dist/react/index.mjs.map +1 -0
- package/dist/schema-spec/smooai-config-schema-spec.d.mts +25 -0
- package/dist/schema-spec/smooai-config-schema-spec.d.ts +25 -0
- package/dist/schema-spec/smooai-config-schema-spec.js +177 -0
- package/dist/schema-spec/smooai-config-schema-spec.js.map +1 -0
- package/dist/schema-spec/smooai-config-schema-spec.mjs +154 -0
- package/dist/schema-spec/smooai-config-schema-spec.mjs.map +1 -0
- package/dist/utils/fs.d.mts +10 -0
- package/dist/utils/fs.d.ts +10 -0
- package/dist/utils/fs.js +74 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/fs.mjs +11 -0
- package/dist/utils/fs.mjs.map +1 -0
- package/dist/utils/index.d.mts +29 -0
- package/dist/utils/index.d.ts +29 -0
- package/dist/utils/index.js +113 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +18 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/mergeReplaceArrays.d.mts +9 -0
- package/dist/utils/mergeReplaceArrays.d.ts +9 -0
- package/dist/utils/mergeReplaceArrays.js +63 -0
- package/dist/utils/mergeReplaceArrays.js.map +1 -0
- package/dist/utils/mergeReplaceArrays.mjs +9 -0
- package/dist/utils/mergeReplaceArrays.mjs.map +1 -0
- package/package.json +133 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BooleanSchema,
|
|
3
|
+
NumberSchema,
|
|
4
|
+
StringSchema,
|
|
5
|
+
defineConfig,
|
|
6
|
+
external_exports
|
|
7
|
+
} from "./chunk-YQWYYS7P.mjs";
|
|
8
|
+
|
|
9
|
+
// src/integration-tests/1/smooai-config/config.ts
|
|
10
|
+
var config_default = defineConfig({
|
|
11
|
+
publicConfigSchema: {
|
|
12
|
+
// Basic schema types
|
|
13
|
+
apiUrl: StringSchema,
|
|
14
|
+
maxRetries: NumberSchema,
|
|
15
|
+
enableDebug: BooleanSchema,
|
|
16
|
+
// Structured configurations using Zod
|
|
17
|
+
database: external_exports.object({
|
|
18
|
+
host: external_exports.string(),
|
|
19
|
+
port: external_exports.number().min(1).max(65535),
|
|
20
|
+
ssl: external_exports.boolean().default(true),
|
|
21
|
+
connectionTimeout: external_exports.number().min(1e3).max(3e4),
|
|
22
|
+
poolSize: external_exports.number().min(1).max(100)
|
|
23
|
+
}),
|
|
24
|
+
// Feature configuration
|
|
25
|
+
features: external_exports.object({
|
|
26
|
+
rateLimiting: external_exports.object({
|
|
27
|
+
enabled: external_exports.boolean(),
|
|
28
|
+
requestsPerMinute: external_exports.number().min(1),
|
|
29
|
+
burstSize: external_exports.number().min(1)
|
|
30
|
+
}),
|
|
31
|
+
caching: external_exports.object({
|
|
32
|
+
enabled: external_exports.boolean(),
|
|
33
|
+
ttl: external_exports.number().min(0),
|
|
34
|
+
maxSize: external_exports.number().min(1)
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
},
|
|
38
|
+
secretConfigSchema: {
|
|
39
|
+
// Basic secret configurations
|
|
40
|
+
apiKey: StringSchema,
|
|
41
|
+
jwtSecret: StringSchema,
|
|
42
|
+
// Structured secret configuration
|
|
43
|
+
credentials: external_exports.object({
|
|
44
|
+
username: external_exports.string().min(3),
|
|
45
|
+
password: external_exports.string().min(8),
|
|
46
|
+
mfaEnabled: external_exports.boolean(),
|
|
47
|
+
allowedIps: external_exports.array(
|
|
48
|
+
external_exports.string().regex(
|
|
49
|
+
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/,
|
|
50
|
+
"Invalid IP address"
|
|
51
|
+
)
|
|
52
|
+
)
|
|
53
|
+
}),
|
|
54
|
+
// Encryption configuration
|
|
55
|
+
encryption: external_exports.object({
|
|
56
|
+
algorithm: external_exports.enum(["aes-256-gcm", "chacha20-poly1305"]),
|
|
57
|
+
keyRotationDays: external_exports.number().min(1).max(365),
|
|
58
|
+
backupEnabled: external_exports.boolean()
|
|
59
|
+
})
|
|
60
|
+
},
|
|
61
|
+
featureFlagSchema: {
|
|
62
|
+
// Basic feature flags
|
|
63
|
+
enableNewUI: BooleanSchema,
|
|
64
|
+
betaFeatures: BooleanSchema,
|
|
65
|
+
// Structured feature flags
|
|
66
|
+
experimentalFeatures: external_exports.object({
|
|
67
|
+
aiAssist: external_exports.boolean(),
|
|
68
|
+
darkMode: external_exports.boolean(),
|
|
69
|
+
performanceOptimizations: external_exports.boolean(),
|
|
70
|
+
rolloutPercentage: external_exports.number().min(0).max(100)
|
|
71
|
+
}),
|
|
72
|
+
// A/B testing configuration
|
|
73
|
+
abTesting: external_exports.object({
|
|
74
|
+
enabled: external_exports.boolean(),
|
|
75
|
+
testGroups: external_exports.array(
|
|
76
|
+
external_exports.object({
|
|
77
|
+
name: external_exports.string(),
|
|
78
|
+
percentage: external_exports.number().min(0).max(100),
|
|
79
|
+
features: external_exports.array(external_exports.string())
|
|
80
|
+
})
|
|
81
|
+
)
|
|
82
|
+
})
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
export {
|
|
87
|
+
config_default
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=chunk-O7BSFCCY.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/integration-tests/1/smooai-config/config.ts"],"sourcesContent":["import { defineConfig, StringSchema, BooleanSchema, NumberSchema } from '@/config/config';\nimport { z } from 'zod';\n\nexport default defineConfig({\n publicConfigSchema: {\n // Basic schema types\n apiUrl: StringSchema,\n maxRetries: NumberSchema,\n enableDebug: BooleanSchema,\n\n // Structured configurations using Zod\n database: z.object({\n host: z.string(),\n port: z.number().min(1).max(65535),\n ssl: z.boolean().default(true),\n connectionTimeout: z.number().min(1000).max(30000),\n poolSize: z.number().min(1).max(100),\n }),\n\n // Feature configuration\n features: z.object({\n rateLimiting: z.object({\n enabled: z.boolean(),\n requestsPerMinute: z.number().min(1),\n burstSize: z.number().min(1),\n }),\n caching: z.object({\n enabled: z.boolean(),\n ttl: z.number().min(0),\n maxSize: z.number().min(1),\n }),\n }),\n },\n\n secretConfigSchema: {\n // Basic secret configurations\n apiKey: StringSchema,\n jwtSecret: StringSchema,\n\n // Structured secret configuration\n credentials: z.object({\n username: z.string().min(3),\n password: z.string().min(8),\n mfaEnabled: z.boolean(),\n allowedIps: z.array(\n z\n .string()\n .regex(\n /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/,\n 'Invalid IP address',\n ),\n ),\n }),\n\n // Encryption configuration\n encryption: z.object({\n algorithm: z.enum(['aes-256-gcm', 'chacha20-poly1305']),\n keyRotationDays: z.number().min(1).max(365),\n backupEnabled: z.boolean(),\n }),\n },\n\n featureFlagSchema: {\n // Basic feature flags\n enableNewUI: BooleanSchema,\n betaFeatures: BooleanSchema,\n\n // Structured feature flags\n experimentalFeatures: z.object({\n aiAssist: z.boolean(),\n darkMode: z.boolean(),\n performanceOptimizations: z.boolean(),\n rolloutPercentage: z.number().min(0).max(100),\n }),\n\n // A/B testing configuration\n abTesting: z.object({\n enabled: z.boolean(),\n testGroups: z.array(\n z.object({\n name: z.string(),\n percentage: z.number().min(0).max(100),\n features: z.array(z.string()),\n }),\n ),\n }),\n },\n});\n"],"mappings":";;;;;;;;;AAGA,IAAO,iBAAQ,aAAa;AAAA,EACxB,oBAAoB;AAAA;AAAA,IAEhB,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,aAAa;AAAA;AAAA,IAGb,UAAU,iBAAE,OAAO;AAAA,MACf,MAAM,iBAAE,OAAO;AAAA,MACf,MAAM,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK;AAAA,MACjC,KAAK,iBAAE,QAAQ,EAAE,QAAQ,IAAI;AAAA,MAC7B,mBAAmB,iBAAE,OAAO,EAAE,IAAI,GAAI,EAAE,IAAI,GAAK;AAAA,MACjD,UAAU,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,IACvC,CAAC;AAAA;AAAA,IAGD,UAAU,iBAAE,OAAO;AAAA,MACf,cAAc,iBAAE,OAAO;AAAA,QACnB,SAAS,iBAAE,QAAQ;AAAA,QACnB,mBAAmB,iBAAE,OAAO,EAAE,IAAI,CAAC;AAAA,QACnC,WAAW,iBAAE,OAAO,EAAE,IAAI,CAAC;AAAA,MAC/B,CAAC;AAAA,MACD,SAAS,iBAAE,OAAO;AAAA,QACd,SAAS,iBAAE,QAAQ;AAAA,QACnB,KAAK,iBAAE,OAAO,EAAE,IAAI,CAAC;AAAA,QACrB,SAAS,iBAAE,OAAO,EAAE,IAAI,CAAC;AAAA,MAC7B,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA,EAEA,oBAAoB;AAAA;AAAA,IAEhB,QAAQ;AAAA,IACR,WAAW;AAAA;AAAA,IAGX,aAAa,iBAAE,OAAO;AAAA,MAClB,UAAU,iBAAE,OAAO,EAAE,IAAI,CAAC;AAAA,MAC1B,UAAU,iBAAE,OAAO,EAAE,IAAI,CAAC;AAAA,MAC1B,YAAY,iBAAE,QAAQ;AAAA,MACtB,YAAY,iBAAE;AAAA,QACV,iBACK,OAAO,EACP;AAAA,UACG;AAAA,UACA;AAAA,QACJ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA;AAAA,IAGD,YAAY,iBAAE,OAAO;AAAA,MACjB,WAAW,iBAAE,KAAK,CAAC,eAAe,mBAAmB,CAAC;AAAA,MACtD,iBAAiB,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,MAC1C,eAAe,iBAAE,QAAQ;AAAA,IAC7B,CAAC;AAAA,EACL;AAAA,EAEA,mBAAmB;AAAA;AAAA,IAEf,aAAa;AAAA,IACb,cAAc;AAAA;AAAA,IAGd,sBAAsB,iBAAE,OAAO;AAAA,MAC3B,UAAU,iBAAE,QAAQ;AAAA,MACpB,UAAU,iBAAE,QAAQ;AAAA,MACpB,0BAA0B,iBAAE,QAAQ;AAAA,MACpC,mBAAmB,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,IAChD,CAAC;AAAA;AAAA,IAGD,WAAW,iBAAE,OAAO;AAAA,MAChB,SAAS,iBAAE,QAAQ;AAAA,MACnB,YAAY,iBAAE;AAAA,QACV,iBAAE,OAAO;AAAA,UACL,MAAM,iBAAE,OAAO;AAAA,UACf,YAAY,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,UACrC,UAAU,iBAAE,MAAM,iBAAE,OAAO,CAAC;AAAA,QAChC,CAAC;AAAA,MACL;AAAA,IACJ,CAAC;AAAA,EACL;AACJ,CAAC;","names":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {
|
|
2
|
+
envToUse
|
|
3
|
+
} from "./chunk-3SU3SMKN.mjs";
|
|
4
|
+
|
|
5
|
+
// src/config/getCloudRegion.ts
|
|
6
|
+
import { isRunningInBrowser } from "@smooai/utils/env/index";
|
|
7
|
+
function getCloudRegion(env = envToUse()) {
|
|
8
|
+
if (env.SMOOAI_CONFIG_CLOUD_REGION || env.SMOOAI_CONFIG_CLOUD_PROVIDER) {
|
|
9
|
+
return {
|
|
10
|
+
provider: env.SMOOAI_CONFIG_CLOUD_PROVIDER ?? "unknown",
|
|
11
|
+
region: env.SMOOAI_CONFIG_CLOUD_REGION ?? "unknown"
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
if (env.AWS_REGION ?? env.AWS_DEFAULT_REGION) {
|
|
15
|
+
return {
|
|
16
|
+
provider: "aws",
|
|
17
|
+
region: env.AWS_REGION ?? env.AWS_DEFAULT_REGION ?? "unknown"
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
if (env.AZURE_REGION ?? env.AZURE_LOCATION) {
|
|
21
|
+
return {
|
|
22
|
+
provider: "azure",
|
|
23
|
+
region: env.AZURE_REGION ?? env.AZURE_LOCATION ?? "unknown"
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (env.GOOGLE_CLOUD_REGION ?? env.CLOUDSDK_COMPUTE_REGION) {
|
|
27
|
+
return {
|
|
28
|
+
provider: "gcp",
|
|
29
|
+
region: env.GOOGLE_CLOUD_REGION ?? env.CLOUDSDK_COMPUTE_REGION ?? "unknown"
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
if (isRunningInBrowser()) {
|
|
33
|
+
return {
|
|
34
|
+
provider: "browser",
|
|
35
|
+
region: "unknown"
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
provider: "unknown",
|
|
40
|
+
region: "unknown"
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export {
|
|
45
|
+
getCloudRegion
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=chunk-QBM74JB5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/config/getCloudRegion.ts"],"sourcesContent":["import { envToUse } from '@/utils';\nimport { isRunningInBrowser } from '@smooai/utils/env/index';\ntype CloudProvider = 'aws' | 'azure' | 'gcp' | 'unknown';\n\ninterface CloudRegionResult {\n provider: CloudProvider | 'browser' | string;\n region: string;\n}\n\nexport function getCloudRegion(env = envToUse()): CloudRegionResult {\n if (env.SMOOAI_CONFIG_CLOUD_REGION || env.SMOOAI_CONFIG_CLOUD_PROVIDER) {\n return {\n provider: env.SMOOAI_CONFIG_CLOUD_PROVIDER ?? 'unknown',\n region: env.SMOOAI_CONFIG_CLOUD_REGION ?? 'unknown',\n };\n }\n // Check for AWS region\n if (env.AWS_REGION ?? env.AWS_DEFAULT_REGION) {\n return {\n provider: 'aws',\n region: env.AWS_REGION ?? env.AWS_DEFAULT_REGION ?? 'unknown',\n };\n }\n\n // Check for Azure region (custom conventions)\n if (env.AZURE_REGION ?? env.AZURE_LOCATION) {\n return {\n provider: 'azure',\n region: env.AZURE_REGION ?? env.AZURE_LOCATION ?? 'unknown',\n };\n }\n\n // Check for GCP region\n if (env.GOOGLE_CLOUD_REGION ?? env.CLOUDSDK_COMPUTE_REGION) {\n return {\n provider: 'gcp',\n region: env.GOOGLE_CLOUD_REGION ?? env.CLOUDSDK_COMPUTE_REGION ?? 'unknown',\n };\n }\n\n if (isRunningInBrowser()) {\n return {\n provider: 'browser',\n region: 'unknown',\n };\n }\n\n // Default fallback for unrecognized environments\n return {\n provider: 'unknown',\n region: 'unknown',\n };\n}\n"],"mappings":";;;;;AACA,SAAS,0BAA0B;AAQ5B,SAAS,eAAe,MAAM,SAAS,GAAsB;AAChE,MAAI,IAAI,8BAA8B,IAAI,8BAA8B;AACpE,WAAO;AAAA,MACH,UAAU,IAAI,gCAAgC;AAAA,MAC9C,QAAQ,IAAI,8BAA8B;AAAA,IAC9C;AAAA,EACJ;AAEA,MAAI,IAAI,cAAc,IAAI,oBAAoB;AAC1C,WAAO;AAAA,MACH,UAAU;AAAA,MACV,QAAQ,IAAI,cAAc,IAAI,sBAAsB;AAAA,IACxD;AAAA,EACJ;AAGA,MAAI,IAAI,gBAAgB,IAAI,gBAAgB;AACxC,WAAO;AAAA,MACH,UAAU;AAAA,MACV,QAAQ,IAAI,gBAAgB,IAAI,kBAAkB;AAAA,IACtD;AAAA,EACJ;AAGA,MAAI,IAAI,uBAAuB,IAAI,yBAAyB;AACxD,WAAO;AAAA,MACH,UAAU;AAAA,MACV,QAAQ,IAAI,uBAAuB,IAAI,2BAA2B;AAAA,IACtE;AAAA,EACJ;AAEA,MAAI,mBAAmB,GAAG;AACtB,WAAO;AAAA,MACH,UAAU;AAAA,MACV,QAAQ;AAAA,IACZ;AAAA,EACJ;AAGA,SAAO;AAAA,IACH,UAAU;AAAA,IACV,QAAQ;AAAA,EACZ;AACJ;","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BooleanSchema,
|
|
3
|
+
NumberSchema,
|
|
4
|
+
StringSchema,
|
|
5
|
+
defineConfig,
|
|
6
|
+
external_exports
|
|
7
|
+
} from "./chunk-YQWYYS7P.mjs";
|
|
8
|
+
|
|
9
|
+
// src/integration-tests/2/smooai-config/config.ts
|
|
10
|
+
var config_default = defineConfig({
|
|
11
|
+
publicConfigSchema: {
|
|
12
|
+
apiUrl: StringSchema,
|
|
13
|
+
maxRetries: NumberSchema,
|
|
14
|
+
enableDebug: BooleanSchema,
|
|
15
|
+
appName: StringSchema,
|
|
16
|
+
database: external_exports.object({
|
|
17
|
+
host: external_exports.string(),
|
|
18
|
+
port: external_exports.number().min(1).max(65535),
|
|
19
|
+
ssl: external_exports.boolean()
|
|
20
|
+
})
|
|
21
|
+
},
|
|
22
|
+
secretConfigSchema: {
|
|
23
|
+
apiKey: StringSchema,
|
|
24
|
+
dbPassword: StringSchema,
|
|
25
|
+
jwtSecret: StringSchema
|
|
26
|
+
},
|
|
27
|
+
featureFlagSchema: {
|
|
28
|
+
enableNewUI: BooleanSchema,
|
|
29
|
+
enableBeta: BooleanSchema,
|
|
30
|
+
maintenanceMode: BooleanSchema
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
config_default
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-QGMLTMB5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/integration-tests/2/smooai-config/config.ts"],"sourcesContent":["import { defineConfig, StringSchema, BooleanSchema, NumberSchema } from '@/config/config';\nimport { z } from 'zod';\n\nexport default defineConfig({\n publicConfigSchema: {\n apiUrl: StringSchema,\n maxRetries: NumberSchema,\n enableDebug: BooleanSchema,\n appName: StringSchema,\n database: z.object({\n host: z.string(),\n port: z.number().min(1).max(65535),\n ssl: z.boolean(),\n }),\n },\n\n secretConfigSchema: {\n apiKey: StringSchema,\n dbPassword: StringSchema,\n jwtSecret: StringSchema,\n },\n\n featureFlagSchema: {\n enableNewUI: BooleanSchema,\n enableBeta: BooleanSchema,\n maintenanceMode: BooleanSchema,\n },\n});\n"],"mappings":";;;;;;;;;AAGA,IAAO,iBAAQ,aAAa;AAAA,EACxB,oBAAoB;AAAA,IAChB,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,SAAS;AAAA,IACT,UAAU,iBAAE,OAAO;AAAA,MACf,MAAM,iBAAE,OAAO;AAAA,MACf,MAAM,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK;AAAA,MACjC,KAAK,iBAAE,QAAQ;AAAA,IACnB,CAAC;AAAA,EACL;AAAA,EAEA,oBAAoB;AAAA,IAChB,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,WAAW;AAAA,EACf;AAAA,EAEA,mBAAmB;AAAA,IACf,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,iBAAiB;AAAA,EACrB;AACJ,CAAC;","names":[]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ConfigClient
|
|
3
|
+
} from "./chunk-Z3CZGNU5.mjs";
|
|
4
|
+
|
|
5
|
+
// src/react/hooks.ts
|
|
6
|
+
import { useCallback, useEffect, useState } from "react";
|
|
7
|
+
|
|
8
|
+
// src/react/ConfigProvider.tsx
|
|
9
|
+
import { createContext, useContext, useMemo } from "react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var ConfigContext = createContext(null);
|
|
12
|
+
function ConfigProvider({ children, ...options }) {
|
|
13
|
+
const client = useMemo(() => new ConfigClient(options), [options.baseUrl, options.apiKey, options.orgId, options.environment]);
|
|
14
|
+
return /* @__PURE__ */ jsx(ConfigContext.Provider, { value: client, children });
|
|
15
|
+
}
|
|
16
|
+
function useConfigClient() {
|
|
17
|
+
const client = useContext(ConfigContext);
|
|
18
|
+
if (!client) {
|
|
19
|
+
throw new Error("useConfigClient must be used within a <ConfigProvider>");
|
|
20
|
+
}
|
|
21
|
+
return client;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// src/react/hooks.ts
|
|
25
|
+
function useConfigValue(key, environment) {
|
|
26
|
+
const client = useConfigClient();
|
|
27
|
+
const [value, setValue] = useState(void 0);
|
|
28
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
29
|
+
const [error, setError] = useState(null);
|
|
30
|
+
const [fetchCount, setFetchCount] = useState(0);
|
|
31
|
+
const refetch = useCallback(() => {
|
|
32
|
+
client.invalidateCache();
|
|
33
|
+
setFetchCount((c) => c + 1);
|
|
34
|
+
}, [client]);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
let cancelled = false;
|
|
37
|
+
setIsLoading(true);
|
|
38
|
+
setError(null);
|
|
39
|
+
client.getValue(key, environment).then((result) => {
|
|
40
|
+
if (!cancelled) {
|
|
41
|
+
setValue(result);
|
|
42
|
+
setIsLoading(false);
|
|
43
|
+
}
|
|
44
|
+
}).catch((err) => {
|
|
45
|
+
if (!cancelled) {
|
|
46
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
47
|
+
setIsLoading(false);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return () => {
|
|
51
|
+
cancelled = true;
|
|
52
|
+
};
|
|
53
|
+
}, [client, key, environment, fetchCount]);
|
|
54
|
+
return { value, isLoading, error, refetch };
|
|
55
|
+
}
|
|
56
|
+
function usePublicConfig(key, environment) {
|
|
57
|
+
return useConfigValue(key, environment);
|
|
58
|
+
}
|
|
59
|
+
function useSecretConfig(key, environment) {
|
|
60
|
+
return useConfigValue(key, environment);
|
|
61
|
+
}
|
|
62
|
+
function useFeatureFlag(key, environment) {
|
|
63
|
+
return useConfigValue(key, environment);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export {
|
|
67
|
+
ConfigProvider,
|
|
68
|
+
useConfigClient,
|
|
69
|
+
usePublicConfig,
|
|
70
|
+
useSecretConfig,
|
|
71
|
+
useFeatureFlag
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=chunk-SKX7CPGS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/hooks.ts","../src/react/ConfigProvider.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useEffect, useState } from 'react';\nimport { useConfigClient } from './ConfigProvider';\n\ninterface UseConfigResult<T = unknown> {\n /** The resolved config value, or undefined while loading. */\n value: T | undefined;\n /** True while the initial fetch is in progress. */\n isLoading: boolean;\n /** The error if the fetch failed. */\n error: Error | null;\n /** Re-fetch the value (bypasses cache). */\n refetch: () => void;\n}\n\nfunction useConfigValue(key: string, environment?: string): UseConfigResult {\n const client = useConfigClient();\n const [value, setValue] = useState<unknown>(undefined);\n const [isLoading, setIsLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const [fetchCount, setFetchCount] = useState(0);\n\n const refetch = useCallback(() => {\n client.invalidateCache();\n setFetchCount((c) => c + 1);\n }, [client]);\n\n useEffect(() => {\n let cancelled = false;\n setIsLoading(true);\n setError(null);\n\n client\n .getValue(key, environment)\n .then((result) => {\n if (!cancelled) {\n setValue(result);\n setIsLoading(false);\n }\n })\n .catch((err: unknown) => {\n if (!cancelled) {\n setError(err instanceof Error ? err : new Error(String(err)));\n setIsLoading(false);\n }\n });\n\n return () => {\n cancelled = true;\n };\n }, [client, key, environment, fetchCount]);\n\n return { value, isLoading, error, refetch };\n}\n\n/**\n * Fetch a public config value by key.\n *\n * ```tsx\n * const { value, isLoading, error } = usePublicConfig('API_URL');\n * ```\n */\nexport function usePublicConfig<T = unknown>(key: string, environment?: string): UseConfigResult<T> {\n return useConfigValue(key, environment) as UseConfigResult<T>;\n}\n\n/**\n * Fetch a secret config value by key.\n *\n * ```tsx\n * const { value, isLoading } = useSecretConfig('DATABASE_URL');\n * ```\n */\nexport function useSecretConfig<T = unknown>(key: string, environment?: string): UseConfigResult<T> {\n return useConfigValue(key, environment) as UseConfigResult<T>;\n}\n\n/**\n * Fetch a feature flag value by key.\n *\n * ```tsx\n * const { value: enableNewUI } = useFeatureFlag<boolean>('ENABLE_NEW_UI');\n * ```\n */\nexport function useFeatureFlag<T = unknown>(key: string, environment?: string): UseConfigResult<T> {\n return useConfigValue(key, environment) as UseConfigResult<T>;\n}\n","'use client';\n\nimport { createContext, useContext, useMemo, type ReactNode } from 'react';\nimport { ConfigClient, type ConfigClientOptions } from '../platform/client';\n\nconst ConfigContext = createContext<ConfigClient | null>(null);\n\nexport interface ConfigProviderProps extends ConfigClientOptions {\n children: ReactNode;\n}\n\n/**\n * Provides a ConfigClient instance to all descendant components.\n *\n * ```tsx\n * <ConfigProvider baseUrl=\"https://api.smooai.dev\" apiKey=\"...\" orgId=\"...\" environment=\"production\">\n * <App />\n * </ConfigProvider>\n * ```\n *\n * All props are optional if the corresponding environment variables are set:\n * SMOOAI_CONFIG_API_URL, SMOOAI_CONFIG_API_KEY, SMOOAI_CONFIG_ORG_ID, SMOOAI_CONFIG_ENV\n */\nexport function ConfigProvider({ children, ...options }: ConfigProviderProps) {\n const client = useMemo(() => new ConfigClient(options), [options.baseUrl, options.apiKey, options.orgId, options.environment]);\n\n return <ConfigContext.Provider value={client}>{children}</ConfigContext.Provider>;\n}\n\n/**\n * Access the ConfigClient instance from the nearest ConfigProvider.\n * Throws if used outside a ConfigProvider.\n */\nexport function useConfigClient(): ConfigClient {\n const client = useContext(ConfigContext);\n if (!client) {\n throw new Error('useConfigClient must be used within a <ConfigProvider>');\n }\n return client;\n}\n"],"mappings":";;;;;AAEA,SAAS,aAAa,WAAW,gBAAgB;;;ACAjD,SAAS,eAAe,YAAY,eAA+B;AAwBxD;AArBX,IAAM,gBAAgB,cAAmC,IAAI;AAkBtD,SAAS,eAAe,EAAE,UAAU,GAAG,QAAQ,GAAwB;AAC1E,QAAM,SAAS,QAAQ,MAAM,IAAI,aAAa,OAAO,GAAG,CAAC,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,WAAW,CAAC;AAE7H,SAAO,oBAAC,cAAc,UAAd,EAAuB,OAAO,QAAS,UAAS;AAC5D;AAMO,SAAS,kBAAgC;AAC5C,QAAM,SAAS,WAAW,aAAa;AACvC,MAAI,CAAC,QAAQ;AACT,UAAM,IAAI,MAAM,wDAAwD;AAAA,EAC5E;AACA,SAAO;AACX;;;ADvBA,SAAS,eAAe,KAAa,aAAuC;AACxE,QAAM,SAAS,gBAAgB;AAC/B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAkB,MAAS;AACrD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,IAAI;AAC/C,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAuB,IAAI;AACrD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,CAAC;AAE9C,QAAM,UAAU,YAAY,MAAM;AAC9B,WAAO,gBAAgB;AACvB,kBAAc,CAAC,MAAM,IAAI,CAAC;AAAA,EAC9B,GAAG,CAAC,MAAM,CAAC;AAEX,YAAU,MAAM;AACZ,QAAI,YAAY;AAChB,iBAAa,IAAI;AACjB,aAAS,IAAI;AAEb,WACK,SAAS,KAAK,WAAW,EACzB,KAAK,CAAC,WAAW;AACd,UAAI,CAAC,WAAW;AACZ,iBAAS,MAAM;AACf,qBAAa,KAAK;AAAA,MACtB;AAAA,IACJ,CAAC,EACA,MAAM,CAAC,QAAiB;AACrB,UAAI,CAAC,WAAW;AACZ,iBAAS,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;AAC5D,qBAAa,KAAK;AAAA,MACtB;AAAA,IACJ,CAAC;AAEL,WAAO,MAAM;AACT,kBAAY;AAAA,IAChB;AAAA,EACJ,GAAG,CAAC,QAAQ,KAAK,aAAa,UAAU,CAAC;AAEzC,SAAO,EAAE,OAAO,WAAW,OAAO,QAAQ;AAC9C;AASO,SAAS,gBAA6B,KAAa,aAA0C;AAChG,SAAO,eAAe,KAAK,WAAW;AAC1C;AASO,SAAS,gBAA6B,KAAa,aAA0C;AAChG,SAAO,eAAe,KAAK,WAAW;AAC1C;AASO,SAAS,eAA4B,KAAa,aAA0C;AAC/F,SAAO,eAAe,KAAK,WAAW;AAC1C;","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
deserializeConfigSchema,
|
|
3
|
+
generateConfigSchema
|
|
4
|
+
} from "./chunk-YQWYYS7P.mjs";
|
|
5
|
+
|
|
6
|
+
// src/config/parseConfigSchema.ts
|
|
7
|
+
import { handleSchemaValidationSync } from "@smooai/utils/validation/standardSchema";
|
|
8
|
+
function generateZodSchemas(configSchema) {
|
|
9
|
+
const deserializedConfigSchema = deserializeConfigSchema(configSchema.serializedAllConfigSchema);
|
|
10
|
+
const { objectWithDeferFunctions: allConfigZodSchemaWithDeferFunctions, object: allConfigZodSchema } = generateConfigSchema(deserializedConfigSchema);
|
|
11
|
+
return {
|
|
12
|
+
allConfigZodSchemaWithDeferFunctions,
|
|
13
|
+
allConfigZodSchema
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function parseConfig(allConfigZodSchemaWithDeferFunctions, config) {
|
|
17
|
+
return handleSchemaValidationSync(allConfigZodSchemaWithDeferFunctions, config);
|
|
18
|
+
}
|
|
19
|
+
function parseConfigKey(allConfigZodSchema, key, value) {
|
|
20
|
+
const schema = allConfigZodSchema.shape[key];
|
|
21
|
+
if (typeof schema === "object" && "~standard" in schema) {
|
|
22
|
+
return handleSchemaValidationSync(schema, value);
|
|
23
|
+
} else {
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
generateZodSchemas,
|
|
30
|
+
parseConfig,
|
|
31
|
+
parseConfigKey
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=chunk-VPKO6D4W.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/config/parseConfigSchema.ts"],"sourcesContent":["import { handleSchemaValidationSync } from '@smooai/utils/validation/standardSchema';\n/* eslint-disable @typescript-eslint/no-explicit-any -- ok */\nimport { defineConfig, deserializeConfigSchema, generateConfigSchema, InferConfigTypes } from './config';\n\nexport function generateZodSchemas<Schema extends ReturnType<typeof defineConfig>>(\n configSchema: Schema,\n): {\n allConfigZodSchemaWithDeferFunctions: InferConfigTypes<Schema>['ZodOutputTypeWithDeferFunctions'];\n allConfigZodSchema: InferConfigTypes<Schema>['ZodOutputType'];\n} {\n const deserializedConfigSchema = deserializeConfigSchema(configSchema.serializedAllConfigSchema);\n const { objectWithDeferFunctions: allConfigZodSchemaWithDeferFunctions, object: allConfigZodSchema } = generateConfigSchema(deserializedConfigSchema);\n return {\n allConfigZodSchemaWithDeferFunctions,\n allConfigZodSchema,\n } as any;\n}\n\nexport function parseConfig<Schema extends ReturnType<typeof defineConfig>>(\n allConfigZodSchemaWithDeferFunctions: InferConfigTypes<Schema>['ZodOutputTypeWithDeferFunctions'],\n config: InferConfigTypes<Schema>['ConfigTypeInput'],\n) {\n return handleSchemaValidationSync(allConfigZodSchemaWithDeferFunctions, config as any) as any;\n}\n\nexport function parseConfigKey<Schema extends ReturnType<typeof defineConfig>>(\n allConfigZodSchema: InferConfigTypes<Schema>['ZodOutputType'],\n key: any,\n value: any,\n) {\n const schema = allConfigZodSchema.shape[key];\n if (typeof schema === 'object' && '~standard' in schema) {\n return handleSchemaValidationSync(schema, value) as any;\n } else {\n return value;\n }\n}\n"],"mappings":";;;;;;AAAA,SAAS,kCAAkC;AAIpC,SAAS,mBACZ,cAIF;AACE,QAAM,2BAA2B,wBAAwB,aAAa,yBAAyB;AAC/F,QAAM,EAAE,0BAA0B,sCAAsC,QAAQ,mBAAmB,IAAI,qBAAqB,wBAAwB;AACpJ,SAAO;AAAA,IACH;AAAA,IACA;AAAA,EACJ;AACJ;AAEO,SAAS,YACZ,sCACA,QACF;AACE,SAAO,2BAA2B,sCAAsC,MAAa;AACzF;AAEO,SAAS,eACZ,oBACA,KACA,OACF;AACE,QAAM,SAAS,mBAAmB,MAAM,GAAG;AAC3C,MAAI,OAAO,WAAW,YAAY,eAAe,QAAQ;AACrD,WAAO,2BAA2B,QAAQ,KAAK;AAAA,EACnD,OAAO;AACH,WAAO;AAAA,EACX;AACJ;","names":[]}
|