@zintrust/core 0.1.21 → 0.1.23
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/bin/z.d.ts +1 -1
- package/bin/z.js +1 -1
- package/bin/zin.d.ts +1 -1
- package/bin/zin.js +1 -1
- package/bin/zintrust-main.d.ts +1 -1
- package/bin/zintrust-main.js +2 -2
- package/bin/zintrust-microservices.d.ts +1 -1
- package/bin/zintrust-microservices.js +1 -1
- package/bin/zintrust.d.ts +1 -1
- package/bin/zintrust.js +1 -1
- package/bin/zt.d.ts +1 -1
- package/bin/zt.js +1 -1
- package/package.json +2 -3
- package/public/index.html +3 -3
- package/routes/api.js +1 -1
- package/routes/health.d.ts +3 -4
- package/routes/health.d.ts.map +1 -1
- package/routes/health.js +3 -125
- package/src/boot/Application.d.ts.map +1 -1
- package/src/boot/Application.js +11 -22
- package/src/boot/bootstrap.d.ts +1 -1
- package/src/boot/bootstrap.js +48 -7
- package/src/builder/BundleOptimizer.d.ts +1 -1
- package/src/builder/BundleOptimizer.js +1 -1
- package/src/cache/drivers/KVRemoteDriver.d.ts +1 -1
- package/src/cache/drivers/KVRemoteDriver.js +1 -1
- package/src/cli/CLI.d.ts.map +1 -1
- package/src/cli/CLI.js +15 -1
- package/src/cli/ErrorHandler.js +3 -3
- package/src/cli/commands/AddCommand.d.ts +1 -1
- package/src/cli/commands/AddCommand.d.ts.map +1 -1
- package/src/cli/commands/AddCommand.js +1 -1
- package/src/cli/commands/DbSeedCommand.js +1 -1
- package/src/cli/commands/MakeMailTemplateCommand.js +2 -1
- package/src/cli/commands/MakeNotificationTemplateCommand.js +2 -1
- package/src/cli/commands/MigrateCommand.d.ts.map +1 -1
- package/src/cli/commands/MigrateCommand.js +1 -1
- package/src/cli/commands/MigrateWorkerCommand.d.ts +9 -0
- package/src/cli/commands/MigrateWorkerCommand.d.ts.map +1 -0
- package/src/cli/commands/MigrateWorkerCommand.js +182 -0
- package/src/cli/commands/NewCommand.d.ts +1 -1
- package/src/cli/commands/NewCommand.d.ts.map +1 -1
- package/src/cli/commands/NewCommand.js +21 -7
- package/src/cli/commands/PublishCommand.d.ts +5 -0
- package/src/cli/commands/PublishCommand.d.ts.map +1 -0
- package/src/cli/commands/PublishCommand.js +54 -0
- package/src/cli/commands/QACommand.js +4 -4
- package/src/cli/commands/ResourceControlCommand.d.ts +6 -0
- package/src/cli/commands/ResourceControlCommand.d.ts.map +1 -0
- package/src/cli/commands/ResourceControlCommand.js +43 -0
- package/src/cli/commands/SimulateCommand.d.ts +1 -1
- package/src/cli/commands/SimulateCommand.js +4 -4
- package/src/cli/commands/StartCommand.d.ts.map +1 -1
- package/src/cli/commands/StartCommand.js +19 -7
- package/src/cli/commands/UpgradeCommand.d.ts +1 -1
- package/src/cli/commands/UpgradeCommand.js +2 -2
- package/src/cli/commands/WorkerCommands.d.ts +17 -0
- package/src/cli/commands/WorkerCommands.d.ts.map +1 -0
- package/src/cli/commands/WorkerCommands.js +264 -0
- package/src/cli/commands/index.d.ts +2 -0
- package/src/cli/commands/index.d.ts.map +1 -1
- package/src/cli/commands/index.js +2 -0
- package/src/cli/config/ConfigSchema.d.ts +1 -1
- package/src/cli/config/ConfigSchema.d.ts.map +1 -1
- package/src/cli/config/ConfigSchema.js +4 -3
- package/src/cli/d1/D1SqlMigrations.d.ts.map +1 -1
- package/src/cli/d1/D1SqlMigrations.js +4 -3
- package/src/cli/scaffolding/ModelGenerator.d.ts +1 -1
- package/src/cli/scaffolding/ModelGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/ModelGenerator.js +10 -2
- package/src/cli/scaffolding/ProjectScaffolder.js +5 -5
- package/src/cli/scaffolding/RouteGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/RouteGenerator.js +21 -2
- package/src/cli/scaffolding/TemplateEngine.js +1 -1
- package/src/cli/utils/EnvFileLoader.d.ts.map +1 -1
- package/src/common/ExternalServiceUtils.d.ts +63 -0
- package/src/common/ExternalServiceUtils.d.ts.map +1 -0
- package/src/common/ExternalServiceUtils.js +116 -0
- package/src/common/HealthRoutes.d.ts +10 -0
- package/src/common/HealthRoutes.d.ts.map +1 -0
- package/src/common/HealthRoutes.js +114 -0
- package/src/config/SecretsManager.d.ts.map +1 -1
- package/src/config/SecretsManager.js +2 -1
- package/src/config/app.d.ts +2 -1
- package/src/config/app.d.ts.map +1 -1
- package/src/config/app.js +98 -52
- package/src/config/broadcast.d.ts.map +1 -1
- package/src/config/broadcast.js +2 -2
- package/src/config/cache.d.ts.map +1 -1
- package/src/config/cache.js +2 -2
- package/src/config/database.d.ts.map +1 -1
- package/src/config/database.js +24 -5
- package/src/config/env.d.ts +43 -1
- package/src/config/env.d.ts.map +1 -1
- package/src/config/env.js +68 -21
- package/src/config/index.d.ts +10 -1
- package/src/config/index.d.ts.map +1 -1
- package/src/config/index.js +1 -0
- package/src/config/mail.d.ts.map +1 -1
- package/src/config/mail.js +3 -3
- package/src/config/middleware.d.ts.map +1 -1
- package/src/config/middleware.js +1 -1
- package/src/config/notification.d.ts.map +1 -1
- package/src/config/notification.js +2 -2
- package/src/config/queue.d.ts +14 -0
- package/src/config/queue.d.ts.map +1 -1
- package/src/config/queue.js +61 -36
- package/src/config/security.js +2 -2
- package/src/config/storage.d.ts.map +1 -1
- package/src/config/storage.js +5 -5
- package/src/config/type.d.ts +122 -0
- package/src/config/type.d.ts.map +1 -1
- package/src/config/type.js +10 -1
- package/src/config/workers.d.ts +13 -0
- package/src/config/workers.d.ts.map +1 -0
- package/src/config/workers.js +173 -0
- package/src/database/Paginator.d.ts +37 -0
- package/src/database/Paginator.d.ts.map +1 -0
- package/src/database/Paginator.js +81 -0
- package/src/exceptions/ZintrustError.d.ts +5 -2
- package/src/exceptions/ZintrustError.d.ts.map +1 -1
- package/src/exceptions/ZintrustError.js +6 -2
- package/src/features/Auth.d.ts +1 -1
- package/src/features/Auth.d.ts.map +1 -1
- package/src/features/Auth.js +3 -2
- package/src/features/Queue.d.ts.map +1 -1
- package/src/features/Queue.js +0 -2
- package/src/index.d.ts +15 -5
- package/src/index.d.ts.map +1 -1
- package/src/index.js +24 -3
- package/src/microservices/MicroserviceBootstrap.d.ts.map +1 -1
- package/src/microservices/MicroserviceBootstrap.js +3 -1
- package/src/microservices/MicroserviceGenerator.js +4 -4
- package/src/microservices/MicroserviceManager.d.ts +1 -1
- package/src/microservices/MicroserviceManager.js +1 -1
- package/src/middleware/RateLimiter.d.ts.map +1 -1
- package/src/middleware/RateLimiter.js +4 -3
- package/src/migrations/MigrationLoader.d.ts +1 -1
- package/src/migrations/MigrationLoader.d.ts.map +1 -1
- package/src/migrations/Migrator.d.ts +3 -3
- package/src/migrations/Migrator.d.ts.map +1 -1
- package/src/migrations/Migrator.js +1 -1
- package/src/migrations/MigratorFactory.d.ts +1 -1
- package/src/migrations/MigratorFactory.d.ts.map +1 -1
- package/src/migrations/MigratorFactory.js +3 -3
- package/src/migrations/enum/index.d.ts +93 -0
- package/src/migrations/enum/index.d.ts.map +1 -0
- package/src/migrations/enum/index.js +92 -0
- package/src/migrations/schema/Blueprint.d.ts +1 -1
- package/src/migrations/schema/Blueprint.d.ts.map +1 -1
- package/src/migrations/schema/Blueprint.js +27 -25
- package/src/migrations/schema/Schema.d.ts +1 -1
- package/src/migrations/schema/Schema.d.ts.map +1 -1
- package/src/migrations/schema/Schema.js +4 -3
- package/src/migrations/schema/SchemaCompiler.d.ts +1 -1
- package/src/migrations/schema/SchemaCompiler.d.ts.map +1 -1
- package/src/migrations/schema/SchemaCompiler.js +99 -91
- package/src/migrations/schema/index.d.ts +4 -4
- package/src/migrations/schema/index.d.ts.map +1 -1
- package/src/migrations/schema/index.js +3 -3
- package/src/migrations/schema/types.d.ts +2 -1
- package/src/migrations/schema/types.d.ts.map +1 -1
- package/src/node-singletons/crypto.d.ts +1 -1
- package/src/node-singletons/crypto.d.ts.map +1 -1
- package/src/node-singletons/crypto.js +1 -1
- package/src/node-singletons/os.d.ts +10 -1
- package/src/node-singletons/os.d.ts.map +1 -1
- package/src/node-singletons/os.js +10 -1
- package/src/openapi/OpenApiGenerator.js +2 -2
- package/src/orm/ConnectionManager.d.ts +7 -5
- package/src/orm/ConnectionManager.d.ts.map +1 -1
- package/src/orm/ConnectionManager.js +249 -93
- package/src/orm/Database.d.ts +2 -1
- package/src/orm/Database.d.ts.map +1 -1
- package/src/orm/DatabaseAdapter.d.ts +3 -2
- package/src/orm/DatabaseAdapter.d.ts.map +1 -1
- package/src/orm/DatabaseAdapter.js +17 -0
- package/src/orm/Model.d.ts +8 -1
- package/src/orm/Model.d.ts.map +1 -1
- package/src/orm/Model.js +109 -26
- package/src/orm/QueryBuilder.d.ts +12 -2
- package/src/orm/QueryBuilder.d.ts.map +1 -1
- package/src/orm/QueryBuilder.js +438 -38
- package/src/orm/Relationships.d.ts +61 -1
- package/src/orm/Relationships.d.ts.map +1 -1
- package/src/orm/Relationships.js +190 -0
- package/src/orm/adapters/D1Adapter.d.ts.map +1 -1
- package/src/orm/adapters/D1Adapter.js +2 -1
- package/src/orm/adapters/D1RemoteAdapter.d.ts +1 -1
- package/src/orm/adapters/D1RemoteAdapter.d.ts.map +1 -1
- package/src/orm/adapters/D1RemoteAdapter.js +3 -2
- package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -1
- package/src/orm/adapters/MySQLAdapter.js +2 -1
- package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -1
- package/src/orm/adapters/SQLServerAdapter.js +2 -1
- package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/src/orm/adapters/SQLiteAdapter.js +2 -1
- package/src/orm/migrations/MigrationStore.d.ts.map +1 -1
- package/src/performance/Optimizer.d.ts.map +1 -1
- package/src/performance/Optimizer.js +57 -18
- package/src/profiling/RequestProfiler.d.ts.map +1 -1
- package/src/profiling/RequestProfiler.js +3 -1
- package/src/routing/CoreRoutes.d.ts +1 -1
- package/src/routing/CoreRoutes.d.ts.map +1 -1
- package/src/routing/CoreRoutes.js +2 -116
- package/src/routing/error.d.ts.map +1 -1
- package/src/routing/error.js +3 -2
- package/src/routing/publicRoot.d.ts.map +1 -1
- package/src/routing/publicRoot.js +4 -2
- package/src/runtime/PluginAutoImports.d.ts.map +1 -1
- package/src/runtime/PluginAutoImports.js +20 -4
- package/src/runtime/PluginManager.d.ts.map +1 -1
- package/src/runtime/PluginManager.js +23 -6
- package/src/runtime/RuntimeAdapter.d.ts +3 -3
- package/src/runtime/RuntimeAdapter.d.ts.map +1 -1
- package/src/runtime/StartupConfigFileRegistry.d.ts +15 -13
- package/src/runtime/StartupConfigFileRegistry.d.ts.map +1 -1
- package/src/runtime/StartupConfigFileRegistry.js +12 -12
- package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/CloudflareAdapter.js +1 -1
- package/src/runtime/adapters/DenoAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/DenoAdapter.js +1 -1
- package/src/runtime/adapters/FargateAdapter.d.ts +2 -2
- package/src/runtime/adapters/FargateAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/FargateAdapter.js +1 -1
- package/src/runtime/adapters/LambdaAdapter.d.ts +1 -1
- package/src/runtime/adapters/LambdaAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/LambdaAdapter.js +6 -4
- package/src/runtime/adapters/NodeServerAdapter.js +1 -1
- package/src/scripts/GenerateEnvArtifacts.js +1 -1
- package/src/security/SignedRequest.js +1 -1
- package/src/security/StartupSecretValidation.d.ts.map +1 -1
- package/src/security/StartupSecretValidation.js +7 -1
- package/src/start.d.ts.map +1 -1
- package/src/start.js +0 -2
- package/src/templates/features/Auth.ts.tpl +4 -4
- package/src/templates/project/basic/README.md.tpl +1 -1
- package/src/templates/project/basic/app/Middleware/index.ts.tpl +1 -1
- package/src/templates/project/basic/config/notification.ts.tpl +1 -1
- package/src/templates/project/basic/routes/api.ts.tpl +1 -3
- package/src/templates/project/basic/src/index.ts.tpl +1 -1
- package/src/templates/project/basic/src/zintrust.plugins.ts.tpl +1 -1
- package/src/templates/project/basic/template.json +1 -1
- package/src/toolkit/Secrets/index.d.ts.map +1 -1
- package/src/toolkit/Secrets/index.js +13 -9
- package/src/toolkit/Secrets/providers/AwsSecretsManager.d.ts.map +1 -1
- package/src/toolkit/Secrets/providers/AwsSecretsManager.js +20 -7
- package/src/toolkit/Secrets/providers/CloudflareKv.d.ts.map +1 -1
- package/src/toolkit/Secrets/providers/CloudflareKv.js +19 -6
- package/src/tools/http/Http.js +1 -1
- package/src/tools/mail/drivers/Ses.d.ts.map +1 -1
- package/src/tools/mail/drivers/Ses.js +5 -4
- package/src/tools/mail/templates/index.js +2 -2
- package/src/tools/notification/drivers/Termii.d.ts.map +1 -1
- package/src/tools/notification/drivers/Termii.js +6 -17
- package/src/tools/notification/testingHelpers.d.ts.map +1 -1
- package/src/tools/queue/Queue.d.ts.map +1 -1
- package/src/tools/queue/Queue.js +3 -5
- package/src/tools/queue/drivers/Redis.d.ts.map +1 -1
- package/src/tools/queue/drivers/Redis.js +7 -1
- package/src/tools/storage/drivers/S3.d.ts.map +1 -1
- package/src/tools/storage/drivers/S3.js +16 -3
- package/src/routes/health.d.ts +0 -2
- package/src/routes/health.d.ts.map +0 -1
- package/src/routes/health.js +0 -1
- package/src/runtime/RuntimeDetector.d.ts +0 -15
- package/src/runtime/RuntimeDetector.d.ts.map +0 -1
- package/src/runtime/RuntimeDetector.js +0 -271
- package/src/templates/project/basic/routes/health.ts.tpl +0 -143
- package/src/templates/project/basic/routes/metrics.ts.tpl +0 -22
- package/src/workers/BroadcastWorker.d.ts +0 -22
- package/src/workers/BroadcastWorker.d.ts.map +0 -1
- package/src/workers/BroadcastWorker.js +0 -24
- package/src/workers/NotificationWorker.d.ts +0 -22
- package/src/workers/NotificationWorker.d.ts.map +0 -1
- package/src/workers/NotificationWorker.js +0 -23
- package/src/workers/createQueueWorker.d.ts +0 -24
- package/src/workers/createQueueWorker.d.ts.map +0 -1
- package/src/workers/createQueueWorker.js +0 -114
|
@@ -4,19 +4,26 @@
|
|
|
4
4
|
* Internal framework module intended for CLI usage.
|
|
5
5
|
* It may use Node APIs (via node-singletons) and should not be used by runtime apps.
|
|
6
6
|
*/
|
|
7
|
+
import { Env } from '../../config/env.js';
|
|
7
8
|
import { ErrorFactory } from '../../exceptions/ZintrustError.js';
|
|
8
9
|
import { EnvFile } from '../Secrets/EnvFile.js';
|
|
9
10
|
import { Manifest } from '../Secrets/Manifest.js';
|
|
10
11
|
import { AwsSecretsManager } from '../Secrets/providers/AwsSecretsManager.js';
|
|
11
12
|
import { CloudflareKv } from '../Secrets/providers/CloudflareKv.js';
|
|
13
|
+
const resolveDefaultEnvFile = () => Env.ZINTRUST_ENV_FILE;
|
|
14
|
+
const resolveDefaultManifest = () => Env.ZINTRUST_SECRETS_MANIFEST;
|
|
15
|
+
const resolveDefaultInFile = () => Env.ZINTRUST_ENV_IN_FILE;
|
|
16
|
+
const resolveSecretsProvider = () => {
|
|
17
|
+
return Env.ZINTRUST_SECRETS_PROVIDER;
|
|
18
|
+
};
|
|
12
19
|
const resolveProvider = (provider) => {
|
|
13
20
|
if (provider === 'aws' || provider === 'cloudflare')
|
|
14
21
|
return provider;
|
|
15
22
|
throw ErrorFactory.createCliError('Missing/invalid provider. Use --provider aws|cloudflare or set ZINTRUST_SECRETS_PROVIDER.');
|
|
16
23
|
};
|
|
17
|
-
const resolveOutFile = (outFile) => outFile ??
|
|
18
|
-
const resolveManifestPath = (manifestPath) => manifestPath ??
|
|
19
|
-
const resolveInFile = (inFile) => inFile ??
|
|
24
|
+
const resolveOutFile = (outFile) => outFile ?? resolveDefaultEnvFile();
|
|
25
|
+
const resolveManifestPath = (manifestPath) => manifestPath ?? resolveDefaultManifest();
|
|
26
|
+
const resolveInFile = (inFile) => inFile ?? resolveDefaultInFile();
|
|
20
27
|
const pullAws = async (manifest) => {
|
|
21
28
|
const client = AwsSecretsManager.createFromEnv();
|
|
22
29
|
const entries = Object.entries(manifest.keys).filter(([, spec]) => spec.aws !== undefined);
|
|
@@ -85,8 +92,7 @@ const pushCloudflare = async (manifest, env, dryRun) => {
|
|
|
85
92
|
};
|
|
86
93
|
export const SecretsToolkit = Object.freeze({
|
|
87
94
|
async pull(options) {
|
|
88
|
-
const provider = resolveProvider(options.provider ??
|
|
89
|
-
process.env['ZINTRUST_SECRETS_PROVIDER']);
|
|
95
|
+
const provider = resolveProvider(options.provider ?? resolveSecretsProvider());
|
|
90
96
|
const outFile = resolveOutFile(options.outFile);
|
|
91
97
|
const manifestPath = resolveManifestPath(options.manifestPath);
|
|
92
98
|
const manifest = await Manifest.load({ cwd: options.cwd, path: manifestPath, provider });
|
|
@@ -97,8 +103,7 @@ export const SecretsToolkit = Object.freeze({
|
|
|
97
103
|
return { outFile, keys: Object.keys(resolved) };
|
|
98
104
|
},
|
|
99
105
|
async push(options) {
|
|
100
|
-
const provider = resolveProvider(options.provider ??
|
|
101
|
-
process.env['ZINTRUST_SECRETS_PROVIDER']);
|
|
106
|
+
const provider = resolveProvider(options.provider ?? resolveSecretsProvider());
|
|
102
107
|
const inFile = resolveInFile(options.inFile);
|
|
103
108
|
const manifestPath = resolveManifestPath(options.manifestPath);
|
|
104
109
|
const manifest = await Manifest.load({ cwd: options.cwd, path: manifestPath, provider });
|
|
@@ -110,8 +115,7 @@ export const SecretsToolkit = Object.freeze({
|
|
|
110
115
|
return { inFile, keys };
|
|
111
116
|
},
|
|
112
117
|
doctor(options) {
|
|
113
|
-
const provider = resolveProvider(options.provider ??
|
|
114
|
-
process.env['ZINTRUST_SECRETS_PROVIDER']);
|
|
118
|
+
const provider = resolveProvider(options.provider ?? resolveSecretsProvider());
|
|
115
119
|
const missing = provider === 'aws' ? AwsSecretsManager.doctorEnv() : CloudflareKv.doctorEnv();
|
|
116
120
|
return { provider, ok: missing.length === 0, missing };
|
|
117
121
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsSecretsManager.d.ts","sourceRoot":"","sources":["../../../../../src/toolkit/Secrets/providers/AwsSecretsManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AwsSecretsManager.d.ts","sourceRoot":"","sources":["../../../../../src/toolkit/Secrets/providers/AwsSecretsManager.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAqHF,eAAO,MAAM,iBAAiB;qBACX;QACf,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACzE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9D;iBAsDY,MAAM,EAAE;EAcrB,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { AwsSigV4 } from '../../../common/index.js';
|
|
2
|
+
import { Env } from '../../../config/env.js';
|
|
2
3
|
import { ErrorFactory } from '../../../exceptions/ZintrustError.js';
|
|
3
4
|
const sha256Hex = (data) => AwsSigV4.sha256Hex(data);
|
|
5
|
+
const readEnvString = (key) => {
|
|
6
|
+
const anyEnv = Env;
|
|
7
|
+
const fromEnv = typeof anyEnv.get === 'function' ? anyEnv.get(key, '') : '';
|
|
8
|
+
if (typeof fromEnv === 'string' && fromEnv.trim() !== '')
|
|
9
|
+
return fromEnv;
|
|
10
|
+
if (typeof process !== 'undefined') {
|
|
11
|
+
const raw = process.env?.[key];
|
|
12
|
+
if (typeof raw === 'string')
|
|
13
|
+
return raw;
|
|
14
|
+
}
|
|
15
|
+
return fromEnv ?? '';
|
|
16
|
+
};
|
|
4
17
|
const buildAuthorization = (params) => {
|
|
5
18
|
const canonicalUri = '/';
|
|
6
19
|
const canonicalQueryString = '';
|
|
@@ -78,10 +91,10 @@ const requestAwsSecretsManager = async (region, credentials, target, body) => {
|
|
|
78
91
|
};
|
|
79
92
|
export const AwsSecretsManager = Object.freeze({
|
|
80
93
|
createFromEnv() {
|
|
81
|
-
const region =
|
|
82
|
-
const accessKeyId =
|
|
83
|
-
const secretAccessKey =
|
|
84
|
-
const sessionToken =
|
|
94
|
+
const region = readEnvString('AWS_REGION') || readEnvString('AWS_DEFAULT_REGION');
|
|
95
|
+
const accessKeyId = readEnvString('AWS_ACCESS_KEY_ID');
|
|
96
|
+
const secretAccessKey = readEnvString('AWS_SECRET_ACCESS_KEY');
|
|
97
|
+
const sessionToken = readEnvString('AWS_SESSION_TOKEN') || undefined;
|
|
85
98
|
if (region.trim() === '' || accessKeyId.trim() === '' || secretAccessKey.trim() === '') {
|
|
86
99
|
throw ErrorFactory.createCliError('AWS credentials missing: set AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY');
|
|
87
100
|
}
|
|
@@ -116,13 +129,13 @@ export const AwsSecretsManager = Object.freeze({
|
|
|
116
129
|
},
|
|
117
130
|
doctorEnv() {
|
|
118
131
|
const missing = [];
|
|
119
|
-
const region = (
|
|
132
|
+
const region = (readEnvString('AWS_REGION') || readEnvString('AWS_DEFAULT_REGION')).trim();
|
|
120
133
|
if (region === '')
|
|
121
134
|
missing.push('AWS_REGION');
|
|
122
|
-
const accessKeyId = (
|
|
135
|
+
const accessKeyId = readEnvString('AWS_ACCESS_KEY_ID').trim();
|
|
123
136
|
if (accessKeyId === '')
|
|
124
137
|
missing.push('AWS_ACCESS_KEY_ID');
|
|
125
|
-
const secretAccessKey = (
|
|
138
|
+
const secretAccessKey = readEnvString('AWS_SECRET_ACCESS_KEY').trim();
|
|
126
139
|
if (secretAccessKey === '')
|
|
127
140
|
missing.push('AWS_SECRET_ACCESS_KEY');
|
|
128
141
|
return missing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloudflareKv.d.ts","sourceRoot":"","sources":["../../../../../src/toolkit/Secrets/providers/CloudflareKv.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CloudflareKv.d.ts","sourceRoot":"","sources":["../../../../../src/toolkit/Secrets/providers/CloudflareKv.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;qBACN;QACf,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACxE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC/E;iBAiFY,MAAM,EAAE;EAgBrB,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
import { Env } from '../../../config/env.js';
|
|
1
2
|
import { ErrorFactory } from '../../../exceptions/ZintrustError.js';
|
|
2
3
|
export const CloudflareKv = Object.freeze({
|
|
3
4
|
createFromEnv() {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const readEnvString = (key) => {
|
|
6
|
+
const anyEnv = Env;
|
|
7
|
+
const fromEnv = typeof anyEnv.get === 'function' ? anyEnv.get(key, '') : '';
|
|
8
|
+
if (typeof fromEnv === 'string' && fromEnv.trim() !== '')
|
|
9
|
+
return fromEnv;
|
|
10
|
+
if (typeof process !== 'undefined') {
|
|
11
|
+
const raw = process.env?.[key];
|
|
12
|
+
if (typeof raw === 'string')
|
|
13
|
+
return raw;
|
|
14
|
+
}
|
|
15
|
+
return fromEnv ?? '';
|
|
16
|
+
};
|
|
17
|
+
const accountId = readEnvString('CLOUDFLARE_ACCOUNT_ID');
|
|
18
|
+
const apiToken = readEnvString('CLOUDFLARE_API_TOKEN');
|
|
19
|
+
const defaultNamespaceId = readEnvString('CLOUDFLARE_KV_NAMESPACE_ID');
|
|
7
20
|
if (accountId.trim() === '' || apiToken.trim() === '') {
|
|
8
21
|
throw ErrorFactory.createCliError('Cloudflare credentials missing: set CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_API_TOKEN');
|
|
9
22
|
}
|
|
@@ -58,13 +71,13 @@ export const CloudflareKv = Object.freeze({
|
|
|
58
71
|
},
|
|
59
72
|
doctorEnv() {
|
|
60
73
|
const missing = [];
|
|
61
|
-
const accountId = (
|
|
74
|
+
const accountId = (Env.get?.('CLOUDFLARE_ACCOUNT_ID', '') ?? Env.CLOUDFLARE_ACCOUNT_ID).trim();
|
|
62
75
|
if (accountId === '')
|
|
63
76
|
missing.push('CLOUDFLARE_ACCOUNT_ID');
|
|
64
|
-
const apiToken = (
|
|
77
|
+
const apiToken = (Env.get?.('CLOUDFLARE_API_TOKEN', '') ?? Env.CLOUDFLARE_API_TOKEN).trim();
|
|
65
78
|
if (apiToken === '')
|
|
66
79
|
missing.push('CLOUDFLARE_API_TOKEN');
|
|
67
|
-
const namespaceId = (
|
|
80
|
+
const namespaceId = (Env.get?.('CLOUDFLARE_KV_NAMESPACE_ID', '') ?? Env.CLOUDFLARE_KV_NAMESPACE_ID).trim();
|
|
68
81
|
if (namespaceId === '')
|
|
69
82
|
missing.push('CLOUDFLARE_KV_NAMESPACE_ID');
|
|
70
83
|
return missing;
|
package/src/tools/http/Http.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ses.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mail/drivers/Ses.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Ses.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mail/drivers/Ses.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAsGF,eAAO,MAAM,SAAS;iBACD,SAAS,WAAW,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;EAgDxE,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readEnvString } from '../../../common/ExternalServiceUtils.js';
|
|
1
2
|
import { AwsSigV4 } from '../../../common/index.js';
|
|
2
3
|
import { ErrorFactory } from '../../../exceptions/ZintrustError.js';
|
|
3
4
|
const sha256Hex = (data) => AwsSigV4.sha256Hex(data);
|
|
@@ -33,10 +34,10 @@ const ensureRegion = (config) => {
|
|
|
33
34
|
return region;
|
|
34
35
|
};
|
|
35
36
|
const ensureCredentials = () => {
|
|
36
|
-
const accessKeyId =
|
|
37
|
-
const secretAccessKey =
|
|
38
|
-
const sessionToken =
|
|
39
|
-
if (accessKeyId.
|
|
37
|
+
const accessKeyId = readEnvString('AWS_ACCESS_KEY_ID');
|
|
38
|
+
const secretAccessKey = readEnvString('AWS_SECRET_ACCESS_KEY');
|
|
39
|
+
const sessionToken = readEnvString('AWS_SESSION_TOKEN') ?? undefined;
|
|
40
|
+
if (accessKeyId.length === 0 || secretAccessKey.length === 0) {
|
|
40
41
|
throw ErrorFactory.createConfigError('SES: missing AWS credentials (set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY)');
|
|
41
42
|
}
|
|
42
43
|
return { accessKeyId, secretAccessKey, sessionToken };
|
|
@@ -28,8 +28,8 @@ export const MailTemplates = Object.freeze({
|
|
|
28
28
|
// Example template. Apps can add their own workflows under app/Toolkit/Mail.
|
|
29
29
|
welcome: Object.freeze({
|
|
30
30
|
subject: 'Welcome, {{name}}!',
|
|
31
|
-
text: 'Hi {{name}},\n\nWelcome to
|
|
32
|
-
html: '<p>Hi {{name}},</p><p>Welcome to
|
|
31
|
+
text: 'Hi {{name}},\n\nWelcome to ZinTrust.',
|
|
32
|
+
html: '<p>Hi {{name}},</p><p>Welcome to ZinTrust.</p>',
|
|
33
33
|
}),
|
|
34
34
|
}),
|
|
35
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Termii.d.ts","sourceRoot":"","sources":["../../../../../src/tools/notification/drivers/Termii.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Termii.d.ts","sourceRoot":"","sources":["../../../../../src/tools/notification/drivers/Termii.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,YAAY;oBACD,MAAM,WAAW,MAAM,YAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EA+B/E,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readEnvString, safeFetch, validateRequiredParams } from '../../../common/ExternalServiceUtils.js';
|
|
1
2
|
import { ErrorFactory } from '../../../exceptions/ZintrustError.js';
|
|
2
3
|
/**
|
|
3
4
|
* Termii SMS Driver (skeleton)
|
|
@@ -6,14 +7,9 @@ import { ErrorFactory } from '../../../exceptions/ZintrustError.js';
|
|
|
6
7
|
*/
|
|
7
8
|
export const TermiiDriver = Object.freeze({
|
|
8
9
|
async send(recipient, message, options = {}) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (!message || typeof message !== 'string') {
|
|
13
|
-
throw ErrorFactory.createValidationError('Message body is required');
|
|
14
|
-
}
|
|
15
|
-
const apiKey = process.env['TERMII_API_KEY'] ?? '';
|
|
16
|
-
const sender = process.env['TERMII_SENDER'] ?? 'Zintrust';
|
|
10
|
+
validateRequiredParams({ recipient, message }, ['recipient', 'message']);
|
|
11
|
+
const apiKey = readEnvString('TERMII_API_KEY');
|
|
12
|
+
const sender = readEnvString('TERMII_SENDER');
|
|
17
13
|
if (!apiKey) {
|
|
18
14
|
throw ErrorFactory.createConfigError('TERMII_API_KEY is not configured');
|
|
19
15
|
}
|
|
@@ -24,22 +20,15 @@ export const TermiiDriver = Object.freeze({
|
|
|
24
20
|
api_key: apiKey,
|
|
25
21
|
...options,
|
|
26
22
|
};
|
|
27
|
-
// Use
|
|
23
|
+
// Use shared fetch wrapper
|
|
28
24
|
const url = 'https://api.termii.com/sms/send';
|
|
29
|
-
const res = await
|
|
25
|
+
const res = await safeFetch(url, {
|
|
30
26
|
method: 'POST',
|
|
31
27
|
headers: {
|
|
32
28
|
'Content-Type': 'application/json',
|
|
33
29
|
},
|
|
34
30
|
body: JSON.stringify(payload),
|
|
35
31
|
});
|
|
36
|
-
if (!res.ok) {
|
|
37
|
-
const txt = await res.text().catch(() => '');
|
|
38
|
-
throw ErrorFactory.createTryCatchError(`Termii request failed (${res.status})`, {
|
|
39
|
-
status: res.status,
|
|
40
|
-
body: txt,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
32
|
const json = await res.json().catch(() => ({}));
|
|
44
33
|
return json;
|
|
45
34
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testingHelpers.d.ts","sourceRoot":"","sources":["../../../../src/tools/notification/testingHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testingHelpers.d.ts","sourceRoot":"","sources":["../../../../src/tools/notification/testingHelpers.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,aAAa,GACxB,aAA0B,EAC1B,OAAM,OAA0B,KAC/B;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CA2B3C,CAAC;;0CA5BM,OAAO,KACZ;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE;;AA6B9C,wBAAiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Queue.d.ts","sourceRoot":"","sources":["../../../../src/tools/queue/Queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Queue.d.ts","sourceRoot":"","sources":["../../../../src/tools/queue/Queue.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF,UAAU,YAAY;IACpB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC1E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAID,eAAO,MAAM,KAAK;mBACD,MAAM,UAAU,YAAY;aAIlC,IAAI;eAIF,MAAM,GAAG,YAAY;YAUlB,CAAC,mBAAmB,MAAM,WAAW,CAAC,eAAe,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAK7E,CAAC,mBACN,MAAM,eACA,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;eAKtB,MAAM,MAAM,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;kBAKpD,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;iBAK9C,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;EAI9D,CAAC;AAEH,eAAe,KAAK,CAAC"}
|
package/src/tools/queue/Queue.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Env } from '../../config/env.js';
|
|
1
2
|
import { ErrorFactory } from '../../exceptions/ZintrustError.js';
|
|
2
3
|
const drivers = new Map();
|
|
3
4
|
export const Queue = Object.freeze({
|
|
@@ -8,11 +9,8 @@ export const Queue = Object.freeze({
|
|
|
8
9
|
drivers.clear();
|
|
9
10
|
},
|
|
10
11
|
get(name) {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
process.env['QUEUE_DRIVER'] ??
|
|
14
|
-
'inmemory')
|
|
15
|
-
.toString()
|
|
12
|
+
const resolved = (name ?? Env.QUEUE_CONNECTION) || Env.QUEUE_DRIVER || 'inmemory';
|
|
13
|
+
const driverName = (resolved !== null && resolved !== undefined ? String(resolved) : 'inmemory')
|
|
16
14
|
.trim()
|
|
17
15
|
.toLowerCase();
|
|
18
16
|
const driver = drivers.get(driverName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Redis.d.ts","sourceRoot":"","sources":["../../../../../src/tools/queue/drivers/Redis.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Redis.d.ts","sourceRoot":"","sources":["../../../../../src/tools/queue/drivers/Redis.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAoBvD,eAAO,MAAM,UAAU;uBAuDL,CAAC,mBAAmB,MAAM,WAAW,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;uBAQxD,CAAC,mBAAmB,MAAM,KAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;2BAY7D,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;6BAMjC,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;4BAKzB,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;CAKzC,CAAC;AAEL,eAAe,UAAU,CAAC"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { generateUuid } from '../../../common/utility.js';
|
|
2
|
+
import { Env } from '../../../config/env.js';
|
|
2
3
|
import { ErrorFactory } from '../../../exceptions/ZintrustError.js';
|
|
3
4
|
const getRedisUrl = () => {
|
|
4
|
-
const
|
|
5
|
+
const anyEnv = Env;
|
|
6
|
+
const fromEnv = typeof anyEnv.get === 'function' ? anyEnv.get('REDIS_URL', '') : '';
|
|
7
|
+
const hasProcess = typeof process === 'object' && process !== null;
|
|
8
|
+
const fallback = hasProcess ? (process.env?.['REDIS_URL'] ?? '') : '';
|
|
9
|
+
const trimmed = fromEnv.trim();
|
|
10
|
+
const url = (trimmed.length > 0 ? fromEnv : String(fallback)).trim();
|
|
5
11
|
return url.length > 0 ? url : null;
|
|
6
12
|
};
|
|
7
13
|
export const RedisQueue = (() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3.d.ts","sourceRoot":"","sources":["../../../../../src/tools/storage/drivers/S3.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"S3.d.ts","sourceRoot":"","sources":["../../../../../src/tools/storage/drivers/S3.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAqHF,eAAO,MAAM,QAAQ;gBACD,QAAQ,OAAO,MAAM,WAAW,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBA8CjE,QAAQ,OAAO,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;mBA0CpC,QAAQ,OAAO,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;mBAkCxC,QAAQ,OAAO,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;gBAoC9C,QAAQ,OAAO,MAAM,GAAG,MAAM;oBAOhC,QAAQ,OACX,MAAM,YACD;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;KAAE,GACvD,MAAM;EAqDT,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AwsSigV4 } from '../../../common/index.js';
|
|
2
|
+
import { Env } from '../../../config/env.js';
|
|
2
3
|
import { ErrorFactory } from '../../../exceptions/ZintrustError.js';
|
|
3
4
|
import { createHash, createHmac } from '../../../node-singletons/crypto.js';
|
|
4
5
|
const sha256Hex = (data) => createHash('sha256').update(data).digest('hex');
|
|
@@ -51,9 +52,21 @@ const buildCanonicalQueryString = (params) => {
|
|
|
51
52
|
return entries.map(([k, v]) => `${k}=${v}`).join('&');
|
|
52
53
|
};
|
|
53
54
|
const getCredentials = (config) => {
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
const readEnvString = (key) => {
|
|
56
|
+
const anyEnv = Env;
|
|
57
|
+
const fromEnv = typeof anyEnv.get === 'function' ? anyEnv.get(key, '') : '';
|
|
58
|
+
if (typeof fromEnv === 'string' && fromEnv.trim() !== '')
|
|
59
|
+
return fromEnv;
|
|
60
|
+
if (typeof process !== 'undefined') {
|
|
61
|
+
const raw = process.env?.[key];
|
|
62
|
+
if (typeof raw === 'string')
|
|
63
|
+
return raw;
|
|
64
|
+
}
|
|
65
|
+
return fromEnv ?? '';
|
|
66
|
+
};
|
|
67
|
+
const accessKeyId = config.accessKeyId || readEnvString('AWS_ACCESS_KEY_ID') || Env.AWS_ACCESS_KEY_ID;
|
|
68
|
+
const secretAccessKey = config.secretAccessKey || readEnvString('AWS_SECRET_ACCESS_KEY') || Env.AWS_SECRET_ACCESS_KEY;
|
|
69
|
+
const sessionToken = readEnvString('AWS_SESSION_TOKEN') || Env.AWS_SESSION_TOKEN || undefined;
|
|
57
70
|
if (accessKeyId.trim() === '' || secretAccessKey.trim() === '') {
|
|
58
71
|
throw ErrorFactory.createConfigError('S3: missing AWS credentials');
|
|
59
72
|
}
|
package/src/routes/health.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/routes/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/src/routes/health.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { registerHealthRoutes } from '../../routes/health.js';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { AdapterConfig, RuntimeAdapter, ZintrustHandler } from './RuntimeAdapter';
|
|
2
|
-
export declare const RuntimeDetector: Readonly<{
|
|
3
|
-
RUNTIME_VAR: "RUNTIME";
|
|
4
|
-
AUTO: "auto";
|
|
5
|
-
detectRuntime: () => string;
|
|
6
|
-
createAdapter: (config: AdapterConfig) => RuntimeAdapter;
|
|
7
|
-
createAdapterForRuntime: (runtime: string, config: AdapterConfig) => RuntimeAdapter;
|
|
8
|
-
getRuntimeInfo: () => Record<string, unknown>;
|
|
9
|
-
}>;
|
|
10
|
-
export declare const ApplicationBootstrap: Readonly<{
|
|
11
|
-
initialize: (handler: ZintrustHandler) => Promise<void>;
|
|
12
|
-
shutdown: (signal?: string) => Promise<void>;
|
|
13
|
-
setupGracefulShutdown: () => void;
|
|
14
|
-
}>;
|
|
15
|
-
//# sourceMappingURL=RuntimeDetector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeDetector.d.ts","sourceRoot":"","sources":["../../../src/runtime/RuntimeDetector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAkK9F,eAAO,MAAM,eAAe;;;yBA9GF,MAAM;4BAyBD,aAAa,KAAG,cAAc;uCAQnB,MAAM,UAAU,aAAa,KAAG,cAAc;0BAuD7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EA6BhD,CAAC;AA8IH,eAAO,MAAM,oBAAoB;0BAtGE,eAAe,KAAG,OAAO,CAAC,IAAI,CAAC;wBA0DlC,MAAM,KAAe,OAAO,CAAC,IAAI,CAAC;iCAmChC,IAAI;EAapC,CAAC"}
|