@zintrust/core 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +214 -0
- package/package.json +4 -34
- package/public/index.html +535 -0
- package/src/builder/BundleOptimizer.d.ts.map +1 -1
- package/src/builder/BundleOptimizer.js +20 -26
- package/src/cache/Cache.d.ts.map +1 -1
- package/src/cache/Cache.js +4 -2
- package/src/cache/drivers/KVDriver.d.ts.map +1 -1
- package/src/cache/drivers/KVDriver.js +2 -1
- package/src/cache/drivers/MemoryDriver.d.ts.map +1 -1
- package/src/cache/drivers/MemoryDriver.js +5 -0
- package/src/cli/CLI.d.ts.map +1 -1
- package/src/cli/CLI.js +11 -14
- package/src/cli/ErrorHandler.d.ts.map +1 -1
- package/src/cli/ErrorHandler.js +2 -4
- package/src/cli/commands/AddCommand.d.ts +81 -0
- package/src/cli/commands/AddCommand.d.ts.map +1 -1
- package/src/cli/commands/AddCommand.js +23 -4
- package/src/cli/commands/ConfigCommand.d.ts.map +1 -1
- package/src/cli/commands/ConfigCommand.js +27 -23
- package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -1
- package/src/cli/commands/D1MigrateCommand.js +3 -2
- package/src/cli/commands/FixCommand.d.ts.map +1 -1
- package/src/cli/commands/FixCommand.js +1 -0
- package/src/cli/commands/LogsCommand.d.ts.map +1 -1
- package/src/cli/commands/LogsCommand.js +3 -5
- package/src/cli/commands/MigrateCommand.d.ts.map +1 -1
- package/src/cli/commands/MigrateCommand.js +3 -3
- package/src/cli/commands/NewCommand.d.ts.map +1 -1
- package/src/cli/commands/NewCommand.js +3 -1
- package/src/cli/commands/QACommand.d.ts.map +1 -1
- package/src/cli/commands/QACommand.js +5 -6
- package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/ControllerGenerator.js +10 -9
- package/src/cli/scaffolding/MigrationGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/MigrationGenerator.js +10 -9
- package/src/cli/scaffolding/ModelGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/ModelGenerator.js +10 -9
- package/src/cli/scaffolding/ProjectScaffolder.js +1 -1
- package/src/cli/scaffolding/ResponseFactoryGenerator.js +1 -1
- package/src/cli/scaffolding/RouteGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/RouteGenerator.js +14 -13
- package/src/cli/scaffolding/SeederGenerator.js +1 -1
- package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/ServiceIntegrationTestGenerator.js +6 -5
- package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts +1 -1
- package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/ServiceRequestFactoryGenerator.js +2 -2
- package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ServiceScaffolder.js +11 -10
- package/src/cli/scaffolding/TemplateEngine.d.ts +10 -3
- package/src/cli/scaffolding/TemplateEngine.d.ts.map +1 -1
- package/src/cli/scaffolding/TemplateEngine.js +15 -285
- package/src/config/SecretsManager.d.ts.map +1 -1
- package/src/config/SecretsManager.js +11 -11
- package/src/functions/lambda.d.ts.map +1 -1
- package/src/functions/lambda.js +6 -1
- package/src/http/Request.d.ts +1 -1
- package/src/http/Request.d.ts.map +1 -1
- package/src/microservices/MicroserviceBootstrap.d.ts.map +1 -1
- package/src/microservices/MicroserviceBootstrap.js +6 -5
- package/src/microservices/MicroserviceManager.d.ts.map +1 -1
- package/src/microservices/MicroserviceManager.js +9 -10
- package/src/microservices/PostgresAdapter.d.ts.map +1 -1
- package/src/microservices/PostgresAdapter.js +4 -3
- package/src/microservices/ServiceBundler.js +3 -3
- package/src/microservices/ServiceHealthMonitor.d.ts.map +1 -1
- package/src/microservices/ServiceHealthMonitor.js +6 -2
- package/src/performance/Benchmark.d.ts.map +1 -1
- package/src/performance/Benchmark.js +3 -0
- package/src/performance/Optimizer.d.ts.map +1 -1
- package/src/performance/Optimizer.js +7 -5
- package/src/runtime/RuntimeDetector.d.ts.map +1 -1
- package/src/runtime/RuntimeDetector.js +1 -0
- package/src/runtime/adapters/DenoAdapter.js +9 -7
- package/src/runtime/adapters/FargateAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/FargateAdapter.js +4 -4
- package/src/runtime/adapters/NodeServerAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/NodeServerAdapter.js +7 -7
- package/src/templates/project/basic/config/SecretsManager.ts.tpl +22 -14
|
@@ -104,8 +104,11 @@ async function checkDependenciesHealth(result, dependencies) {
|
|
|
104
104
|
if (dependencies.length === 0)
|
|
105
105
|
return;
|
|
106
106
|
result.checks.dependencies ??= {};
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
const checks = await Promise.all(dependencies.map(async (depService) => ({
|
|
108
|
+
depService,
|
|
109
|
+
isHealthy: await checkDependencyService(depService),
|
|
110
|
+
})));
|
|
111
|
+
for (const { depService, isHealthy } of checks) {
|
|
109
112
|
result.checks.dependencies[depService] = isHealthy;
|
|
110
113
|
if (!isHealthy) {
|
|
111
114
|
result.status = 'degraded';
|
|
@@ -356,6 +359,7 @@ export const HealthCheckAggregator = Object.freeze({
|
|
|
356
359
|
statusCode = 200;
|
|
357
360
|
}
|
|
358
361
|
res.setStatus(statusCode).json(status);
|
|
362
|
+
return Promise.resolve();
|
|
359
363
|
},
|
|
360
364
|
};
|
|
361
365
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Benchmark.d.ts","sourceRoot":"","sources":["../../../src/performance/Benchmark.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,CAAC,EACP,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,CAAC,EACX,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,eAAe,CAAC;IACnB,YAAY,CAAC,CAAC,EACZ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,UAAU,IAAI,eAAe,EAAE,CAAC;IAChC,QAAQ,IAAI,MAAM,CAAC;IACnB,MAAM,IAAI,cAAc,CAAC;IACzB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CAAC;IACpD,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAAC;CAC3D;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;kBACU,MAAM,GAAuB,UAAU;EAuCpD,CAAC;
|
|
1
|
+
{"version":3,"file":"Benchmark.d.ts","sourceRoot":"","sources":["../../../src/performance/Benchmark.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,CAAC,EACP,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,CAAC,EACX,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,eAAe,CAAC;IACnB,YAAY,CAAC,CAAC,EACZ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,UAAU,IAAI,eAAe,EAAE,CAAC;IAChC,QAAQ,IAAI,MAAM,CAAC;IACnB,MAAM,IAAI,cAAc,CAAC;IACzB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CAAC;IACpD,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAAC;CAC3D;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;kBACU,MAAM,GAAuB,UAAU;EAuCpD,CAAC;AAqMH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,IAAI,cAAc,EAAE,CAAC;IACzB,QAAQ,IAAI,WAAW,CAAC;IACxB,WAAW,IAAI,MAAM,CAAC;CACvB;AACD;;;GAGG;AACH,eAAO,MAAM,aAAa;IACxB;;OAEG;cACO,cAAc;EA6ExB,CAAC"}
|
|
@@ -70,12 +70,15 @@ function runMeasure(name, fn, iterations, metadata) {
|
|
|
70
70
|
async function runMeasureAsync(name, fn, iterations, metadata) {
|
|
71
71
|
const durations = [];
|
|
72
72
|
const memBefore = process.memoryUsage().heapUsed;
|
|
73
|
+
// Benchmark iterations must run sequentially to measure time per run.
|
|
74
|
+
/* eslint-disable no-await-in-loop */
|
|
73
75
|
for (let i = 0; i < iterations; i++) {
|
|
74
76
|
const start = performance.now();
|
|
75
77
|
await fn();
|
|
76
78
|
const duration = performance.now() - start;
|
|
77
79
|
durations.push(duration);
|
|
78
80
|
}
|
|
81
|
+
/* eslint-enable no-await-in-loop */
|
|
79
82
|
const memAfter = process.memoryUsage().heapUsed;
|
|
80
83
|
const totalDuration = durations.reduce((a, b) => a + b, 0);
|
|
81
84
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Optimizer.d.ts","sourceRoot":"","sources":["../../../src/performance/Optimizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAClE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACvE,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI;QACV,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;CACH;AASD;;;GAGG;AACH,eAAO,MAAM,eAAe;IAC1B;;OAEG;sBAES,MAAM,UACT,MAAM,GACZ,gBAAgB;EAyFnB,CAAC;AAiHH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;cACO,WAAW;EAqCrB,CAAC;AAEH;;GAEG;AAEH;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,UAAU,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACnC,SAAS,GAAE,MAAU,GACpB,OAAO,CAAC,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"Optimizer.d.ts","sourceRoot":"","sources":["../../../src/performance/Optimizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -236,13 +236,15 @@ export const LazyLoader = Object.freeze({
|
|
|
236
236
|
* Run generators in parallel batches
|
|
237
237
|
*/
|
|
238
238
|
export async function runBatch(generators, batchSize = 3) {
|
|
239
|
-
const
|
|
239
|
+
const batches = [];
|
|
240
240
|
for (let i = 0; i < generators.length; i += batchSize) {
|
|
241
|
-
|
|
242
|
-
const batchResults = await Promise.all(batch.map(async (gen) => gen()));
|
|
243
|
-
results.push(...batchResults);
|
|
241
|
+
batches.push(generators.slice(i, i + batchSize));
|
|
244
242
|
}
|
|
245
|
-
return
|
|
243
|
+
return batches.reduce(async (accPromise, batch) => {
|
|
244
|
+
const acc = await accPromise;
|
|
245
|
+
const batchResults = await Promise.all(batch.map(async (gen) => gen()));
|
|
246
|
+
return acc.concat(batchResults);
|
|
247
|
+
}, Promise.resolve([]));
|
|
246
248
|
}
|
|
247
249
|
/**
|
|
248
250
|
* Run all generators in parallel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeDetector.d.ts","sourceRoot":"","sources":["../../../src/runtime/RuntimeDetector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAyJzF,eAAO,MAAM,eAAe;;;yBA9GF,MAAM;4BAyBD,aAAa,KAAG,cAAc;uCAQnB,MAAM,UAAU,aAAa,KAAG,cAAc;0BAuD7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EA6BhD,CAAC;
|
|
1
|
+
{"version":3,"file":"RuntimeDetector.d.ts","sourceRoot":"","sources":["../../../src/runtime/RuntimeDetector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAyJzF,eAAO,MAAM,eAAe;;;yBA9GF,MAAM;4BAyBD,aAAa,KAAG,cAAc;uCAQnB,MAAM,UAAU,aAAa,KAAG,cAAc;0BAuD7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EA6BhD,CAAC;AAuFH,eAAO,MAAM,oBAAoB;0BA7EE,eAAe,KAAG,OAAO,CAAC,IAAI,CAAC;wBAwDlC,MAAM,KAAe,OAAO,CAAC,IAAI,CAAC;iCAYhC,IAAI;EAapC,CAAC"}
|
|
@@ -12,7 +12,7 @@ export const DenoAdapter = Object.freeze({
|
|
|
12
12
|
* Create a new Deno adapter instance
|
|
13
13
|
*/
|
|
14
14
|
create(config) {
|
|
15
|
-
const logger = config.logger
|
|
15
|
+
const logger = config.logger ?? createDefaultLogger();
|
|
16
16
|
return {
|
|
17
17
|
platform: 'deno',
|
|
18
18
|
async handle(event, context) {
|
|
@@ -25,12 +25,14 @@ export const DenoAdapter = Object.freeze({
|
|
|
25
25
|
return formatDenoResponse(response);
|
|
26
26
|
},
|
|
27
27
|
getLogger() {
|
|
28
|
-
return (logger
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
return logger && Object.keys(logger).length > 0
|
|
29
|
+
? logger
|
|
30
|
+
: {
|
|
31
|
+
debug: (msg) => Logger.debug(`[Deno] ${msg}`),
|
|
32
|
+
info: (msg) => Logger.info(`[Deno] ${msg}`),
|
|
33
|
+
warn: (msg) => Logger.warn(`[Deno] ${msg}`),
|
|
34
|
+
error: (msg, err) => Logger.error(`[Deno] ${msg}`, err?.message),
|
|
35
|
+
};
|
|
34
36
|
},
|
|
35
37
|
supportsPersistentConnections() {
|
|
36
38
|
// Deno Deploy isolates are request-scoped
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FargateAdapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/adapters/FargateAdapter.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,aAAa,EAGb,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,eAAe,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,KACjE,MAAM,CAAC;AAEZ,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,GAAG;IAC5E,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,
|
|
1
|
+
{"version":3,"file":"FargateAdapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/adapters/FargateAdapter.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,aAAa,EAGb,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,eAAe,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,KACjE,MAAM,CAAC;AAEZ,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,GAAG;IAC5E,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CA2DA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc;;EAEzB,CAAC;AAEH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,aAAa,GAAE,iBAAgC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgB1F;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC/B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAIpD;AAED,wBAAgB,0BAA0B,IAAI,aAAa,CAAC,QAAQ,CAAC,CAUpE"}
|
|
@@ -14,15 +14,15 @@ export function createFargateAdapter(config) {
|
|
|
14
14
|
const state = {};
|
|
15
15
|
return {
|
|
16
16
|
platform: 'fargate',
|
|
17
|
-
async handle() {
|
|
17
|
+
async handle(_event, _context) {
|
|
18
18
|
// Fargate adapter doesn't handle individual requests
|
|
19
19
|
// Instead, use startServer() to run continuous HTTP server
|
|
20
|
-
|
|
20
|
+
return Promise.reject(ErrorFactory.createConfigError('Fargate adapter requires startServer() method. Use RuntimeDetector for automatic initialization.'));
|
|
21
21
|
},
|
|
22
|
-
parseRequest() {
|
|
22
|
+
parseRequest(_event) {
|
|
23
23
|
throw ErrorFactory.createConfigError('Fargate adapter uses native Node.js HTTP server');
|
|
24
24
|
},
|
|
25
|
-
formatResponse() {
|
|
25
|
+
formatResponse(_response) {
|
|
26
26
|
throw ErrorFactory.createConfigError('Fargate adapter uses native Node.js HTTP server');
|
|
27
27
|
},
|
|
28
28
|
async startServer(port = 3000, host = '0.0.0.0') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeServerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/adapters/NodeServerAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EAGb,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;mBACY,aAAa,GAAG,cAAc,GAAG;QAC9C,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACvB;
|
|
1
|
+
{"version":3,"file":"NodeServerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/adapters/NodeServerAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EAGb,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;mBACY,aAAa,GAAG,cAAc,GAAG;QAC9C,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACvB;EAqED,CAAC"}
|
|
@@ -12,12 +12,12 @@ export const NodeServerAdapter = Object.freeze({
|
|
|
12
12
|
* Create a new Node.js server adapter instance
|
|
13
13
|
*/
|
|
14
14
|
create(config) {
|
|
15
|
-
const logger = config.logger
|
|
15
|
+
const logger = config.logger ?? createDefaultLogger();
|
|
16
16
|
const state = {};
|
|
17
17
|
return {
|
|
18
18
|
platform: 'nodejs',
|
|
19
|
-
async handle() {
|
|
20
|
-
|
|
19
|
+
async handle(_event, _context) {
|
|
20
|
+
return Promise.reject(ErrorFactory.createConfigError('Node.js adapter requires startServer() method. Use RuntimeDetector for automatic initialization.'));
|
|
21
21
|
},
|
|
22
22
|
/**
|
|
23
23
|
* Start HTTP server for Node.js environments
|
|
@@ -31,10 +31,10 @@ export const NodeServerAdapter = Object.freeze({
|
|
|
31
31
|
async stop() {
|
|
32
32
|
return stopNodeServer(state, logger);
|
|
33
33
|
},
|
|
34
|
-
parseRequest() {
|
|
34
|
+
parseRequest(_event) {
|
|
35
35
|
throw ErrorFactory.createConfigError('Node.js adapter uses native Node.js HTTP');
|
|
36
36
|
},
|
|
37
|
-
formatResponse() {
|
|
37
|
+
formatResponse(_response) {
|
|
38
38
|
throw ErrorFactory.createConfigError('Node.js adapter uses native Node.js HTTP');
|
|
39
39
|
},
|
|
40
40
|
getLogger() {
|
|
@@ -60,7 +60,7 @@ export const NodeServerAdapter = Object.freeze({
|
|
|
60
60
|
async function startNodeServer(state, config, logger, port, host) {
|
|
61
61
|
return new Promise((resolve, reject) => {
|
|
62
62
|
state.server = createServer((req, res) => {
|
|
63
|
-
|
|
63
|
+
handleRequest(req, res, config, logger);
|
|
64
64
|
});
|
|
65
65
|
state.server.listen(port, host, () => {
|
|
66
66
|
logger?.info(`Node.js server listening on http://${host}:${port}`);
|
|
@@ -109,7 +109,7 @@ function getNodeEnvironment() {
|
|
|
109
109
|
/**
|
|
110
110
|
* Handle request processing
|
|
111
111
|
*/
|
|
112
|
-
|
|
112
|
+
function handleRequest(req, res, config, logger) {
|
|
113
113
|
const chunks = [];
|
|
114
114
|
let body = null;
|
|
115
115
|
// Collect request body
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { Logger } from '@config/logger';
|
|
8
|
-
import { ErrorFactory } from '@
|
|
8
|
+
import { ErrorFactory } from '@exceptions/ZintrustError';
|
|
9
9
|
|
|
10
10
|
export interface CloudflareKV {
|
|
11
11
|
get(key: string): Promise<string | null>;
|
|
@@ -172,9 +172,11 @@ const SecretsManagerImpl = {
|
|
|
172
172
|
async rotateSecret(_key: string): Promise<void> {
|
|
173
173
|
if (config.platform === 'aws') {
|
|
174
174
|
// AWS Secrets Manager supports automatic rotation
|
|
175
|
-
|
|
175
|
+
return Promise.reject(ErrorFactory.createConfigError('Secret rotation not implemented'));
|
|
176
176
|
}
|
|
177
|
-
|
|
177
|
+
return Promise.reject(
|
|
178
|
+
ErrorFactory.createConfigError('Secret rotation not supported on this platform')
|
|
179
|
+
);
|
|
178
180
|
},
|
|
179
181
|
|
|
180
182
|
/**
|
|
@@ -189,7 +191,7 @@ const SecretsManagerImpl = {
|
|
|
189
191
|
case 'deno':
|
|
190
192
|
case 'local':
|
|
191
193
|
default:
|
|
192
|
-
return [];
|
|
194
|
+
return Promise.resolve([]);
|
|
193
195
|
}
|
|
194
196
|
},
|
|
195
197
|
|
|
@@ -215,9 +217,11 @@ async function getFromAWSSecretsManager(key: string): Promise<string> {
|
|
|
215
217
|
Logger.debug(`[AWS] Getting secret: ${key}`);
|
|
216
218
|
throw ErrorFactory.createConfigError('AWS SDK not available in core - use wrapper module');
|
|
217
219
|
} catch (error) {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
220
|
+
return Promise.reject(
|
|
221
|
+
ErrorFactory.createTryCatchError(
|
|
222
|
+
`Failed to retrieve secret from AWS: ${(error as Error).message}`,
|
|
223
|
+
error
|
|
224
|
+
)
|
|
221
225
|
);
|
|
222
226
|
}
|
|
223
227
|
}
|
|
@@ -228,17 +232,21 @@ async function setInAWSSecretsManager(
|
|
|
228
232
|
_options?: SetSecretOptions
|
|
229
233
|
): Promise<void> {
|
|
230
234
|
Logger.info(`[AWS] Setting secret: ${key}`);
|
|
231
|
-
|
|
235
|
+
return Promise.reject(
|
|
236
|
+
ErrorFactory.createConfigError('AWS SDK not available in core - use wrapper module')
|
|
237
|
+
);
|
|
232
238
|
}
|
|
233
239
|
|
|
234
240
|
async function deleteFromAWSSecretsManager(key: string): Promise<void> {
|
|
235
241
|
Logger.info(`[AWS] Deleting secret: ${key}`);
|
|
236
|
-
|
|
242
|
+
return Promise.reject(
|
|
243
|
+
ErrorFactory.createConfigError('AWS SDK not available in core - use wrapper module')
|
|
244
|
+
);
|
|
237
245
|
}
|
|
238
246
|
|
|
239
247
|
async function listFromAWSSecretsManager(pattern?: string): Promise<string[]> {
|
|
240
248
|
Logger.info(`[AWS] Listing secrets with pattern: ${pattern ?? '*'}`);
|
|
241
|
-
return [];
|
|
249
|
+
return Promise.resolve([]);
|
|
242
250
|
}
|
|
243
251
|
|
|
244
252
|
/**
|
|
@@ -291,9 +299,9 @@ async function getFromDenoEnv(key: string): Promise<string> {
|
|
|
291
299
|
globalThis as unknown as Record<string, { env?: { get?: (key: string) => string } }>
|
|
292
300
|
)['Deno']?.env?.get?.(key);
|
|
293
301
|
if (value === undefined || value === null || value === '') {
|
|
294
|
-
|
|
302
|
+
return Promise.reject(ErrorFactory.createNotFoundError(`Secret not found: ${key}`, { key }));
|
|
295
303
|
}
|
|
296
|
-
return value;
|
|
304
|
+
return Promise.resolve(value);
|
|
297
305
|
}
|
|
298
306
|
|
|
299
307
|
/**
|
|
@@ -302,9 +310,9 @@ async function getFromDenoEnv(key: string): Promise<string> {
|
|
|
302
310
|
async function getFromEnv(key: string): Promise<string> {
|
|
303
311
|
const value = process.env[key];
|
|
304
312
|
if (value === undefined || value === null || value === '') {
|
|
305
|
-
|
|
313
|
+
return Promise.reject(ErrorFactory.createNotFoundError(`Secret not found: ${key}`, { key }));
|
|
306
314
|
}
|
|
307
|
-
return value;
|
|
315
|
+
return Promise.resolve(value);
|
|
308
316
|
}
|
|
309
317
|
|
|
310
318
|
/**
|