@common-stack/server-stack 8.2.5-alpha.8 → 8.3.1-alpha.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/lib/MainStackServer.cjs +17 -10
- package/lib/MainStackServer.cjs.map +1 -1
- package/lib/MainStackServer.mjs +17 -10
- package/lib/MainStackServer.mjs.map +1 -1
- package/lib/StackServer.cjs +1 -1
- package/lib/StackServer.cjs.map +1 -1
- package/lib/StackServer.mjs +1 -1
- package/lib/StackServer.mjs.map +1 -1
- package/lib/config/env-config.cjs +6 -0
- package/lib/config/env-config.cjs.map +1 -1
- package/lib/config/env-config.mjs +6 -0
- package/lib/config/env-config.mjs.map +1 -1
- package/lib/infrastructure/container-module.cjs +2 -1
- package/lib/infrastructure/container-module.cjs.map +1 -1
- package/lib/infrastructure/container-module.mjs +2 -1
- package/lib/infrastructure/container-module.mjs.map +1 -1
- package/lib/infrastructure/inngest-factory.cjs +6 -2
- package/lib/infrastructure/inngest-factory.cjs.map +1 -1
- package/lib/infrastructure/inngest-factory.mjs +6 -2
- package/lib/infrastructure/inngest-factory.mjs.map +1 -1
- package/lib/servers/ExpressApp.cjs +3 -3
- package/lib/servers/ExpressApp.cjs.map +1 -1
- package/lib/servers/ExpressApp.mjs +1 -1
- package/lib/servers/ExpressApp.mjs.map +1 -1
- package/lib/servers/WebsocketMultipathUpdate.cjs +51 -9
- package/lib/servers/WebsocketMultipathUpdate.cjs.map +1 -1
- package/lib/servers/WebsocketMultipathUpdate.mjs +51 -9
- package/lib/servers/WebsocketMultipathUpdate.mjs.map +1 -1
- package/package.json +8 -8
- package/lib/MainStackServer.d.ts +0 -34
- package/lib/StackServer.d.ts +0 -29
- package/lib/api/remote-config.d.ts +0 -6
- package/lib/api/resolver.d.ts +0 -10
- package/lib/api/scalar.d.ts +0 -2
- package/lib/api/schema-builder.d.ts +0 -24
- package/lib/api/sub-graph-schema-builder.d.ts +0 -24
- package/lib/api/utils.d.ts +0 -4
- package/lib/config/env-config.d.ts +0 -28
- package/lib/config/index.d.ts +0 -1
- package/lib/config/moleculer.config.d.ts +0 -20
- package/lib/connectors/connection-broker.d.ts +0 -26
- package/lib/connectors/graphql-pubsub-connector.d.ts +0 -22
- package/lib/connectors/mongo-connector.d.ts +0 -21
- package/lib/connectors/nats-connector.d.ts +0 -20
- package/lib/connectors/redis-connector.d.ts +0 -30
- package/lib/examples/tenant-feature-example.d.ts +0 -13
- package/lib/examples/tenant-feature-integration.d.ts +0 -14
- package/lib/features/multi-module-example.d.ts +0 -17
- package/lib/index.d.ts +0 -4
- package/lib/infrastructure/container-module.d.ts +0 -3
- package/lib/infrastructure/example-workflows.d.ts +0 -16
- package/lib/infrastructure/index.d.ts +0 -5
- package/lib/infrastructure/infrastructure-factory.d.ts +0 -45
- package/lib/infrastructure/inngest-factory.d.ts +0 -8
- package/lib/infrastructure/types.d.ts +0 -28
- package/lib/infrastructure/usage-examples.d.ts +0 -9
- package/lib/infrastructure/workflow-orchestrator.d.ts +0 -10
- package/lib/inngest/client-id-generator.d.ts +0 -29
- package/lib/inngest/handler-factory.d.ts +0 -24
- package/lib/inngest/middleware/auto-resolve-invoke.middleware.d.ts +0 -111
- package/lib/inngest/middleware/function-reference-helper.d.ts +0 -211
- package/lib/inngest/middleware/index.d.ts +0 -31
- package/lib/inngest/middleware/types.d.ts +0 -162
- package/lib/inngest/multi-module-functions.d.ts +0 -133
- package/lib/inngest/setup.d.ts +0 -10
- package/lib/interfaces/dbMigration.d.ts +0 -8
- package/lib/interfaces/graphql-request-context.d.ts +0 -20
- package/lib/interfaces/index.d.ts +0 -4
- package/lib/interfaces/module-interface.d.ts +0 -13
- package/lib/interfaces/moleculer.d.ts +0 -7
- package/lib/middleware/cors.d.ts +0 -6
- package/lib/middleware/error.d.ts +0 -9
- package/lib/middleware/index.d.ts +0 -5
- package/lib/middleware/moleculer-inter-namespace.d.ts +0 -2
- package/lib/middleware/redis-client.d.ts +0 -16
- package/lib/middleware/sentry.d.ts +0 -2
- package/lib/middleware/services.d.ts +0 -2
- package/lib/plugins/index.d.ts +0 -2
- package/lib/plugins/invalidateCachePlugin.d.ts +0 -8
- package/lib/plugins/responseCachePlugin.d.ts +0 -12
- package/lib/servers/ExpressApp.d.ts +0 -3
- package/lib/servers/GraphqlServer.d.ts +0 -25
- package/lib/servers/GraphqlWs.d.ts +0 -14
- package/lib/servers/WebsocketMultipathUpdate.d.ts +0 -18
- package/lib/servers/mongodb-migration-update.d.ts +0 -12
- package/lib/servers/utils.d.ts +0 -14
- package/lib/servers/websocket-context.d.ts +0 -30
- package/lib/utils/add-shareable-directive-to-schema.d.ts +0 -1
- package/lib/utils/index.d.ts +0 -3
- package/lib/utils/migrations.d.ts +0 -8
- package/lib/utils/safe-model-factory.d.ts +0 -18
package/lib/MainStackServer.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';require('reflect-metadata');var http=require('http'),server=require('@cdm-logger/server'),serverCore=require('@common-stack/server-core'),_=require('lodash-es'),graphqlModule=require('@common-stack/graphql-api/lib/module.js'),ExpressApp=require('./servers/ExpressApp.cjs'),GraphqlServer=require('./servers/GraphqlServer.cjs'),envConfig=require('./config/env-config.cjs'),schemaBuilder=require('./api/schema-builder.cjs'),WebsocketMultipathUpdate=require('./servers/WebsocketMultipathUpdate.cjs'),migrations=require('./utils/migrations.cjs');require('graphql');var subGraphSchemaBuilder=require('./api/sub-graph-schema-builder.cjs'),setup=require('./inngest/setup.cjs');require('inversify'),require('@common-stack/core');var infrastructureFactory=require('./infrastructure/infrastructure-factory.cjs');require('inngest');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var http__namespace=/*#__PURE__*/_interopNamespaceDefault(http);/* eslint-disable import/namespace */
|
|
1
|
+
'use strict';require('reflect-metadata');var http=require('http'),server=require('@cdm-logger/server'),serverCore=require('@common-stack/server-core'),_=require('lodash-es'),graphqlModule=require('@common-stack/graphql-api/lib/module.js'),ExpressApp=require('./servers/ExpressApp.cjs'),GraphqlServer=require('./servers/GraphqlServer.cjs'),envConfig=require('./config/env-config.cjs'),schemaBuilder=require('./api/schema-builder.cjs'),WebsocketMultipathUpdate=require('./servers/WebsocketMultipathUpdate.cjs'),migrations=require('./utils/migrations.cjs');require('graphql');var subGraphSchemaBuilder=require('./api/sub-graph-schema-builder.cjs'),setup=require('./inngest/setup.cjs');require('inversify'),require('common/server'),require('@common-stack/core');var infrastructureFactory=require('./infrastructure/infrastructure-factory.cjs');require('inngest');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var http__namespace=/*#__PURE__*/_interopNamespaceDefault(http);/* eslint-disable import/namespace */
|
|
2
2
|
/* eslint-disable import/no-unresolved */
|
|
3
3
|
/* eslint-disable import/no-extraneous-dependencies */
|
|
4
4
|
// version 08/25/2021
|
|
@@ -61,15 +61,8 @@ class MainStackServer {
|
|
|
61
61
|
await originalStart();
|
|
62
62
|
// Execute pre-start hooks
|
|
63
63
|
await this.serverFeature.preStart(this.mainServiceContext.container);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
await migrations.migrate(this.mainServiceContext.context.mongoClient, this.mainServiceContext.container, this.logger);
|
|
67
|
-
this.logger.info('End Migration');
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
this.logger.error('Error while running migrations', e);
|
|
71
|
-
this.logger.error(e.stack);
|
|
72
|
-
}
|
|
64
|
+
// Note: Migrations are now run in start() after all brokers are ready
|
|
65
|
+
// to ensure remote services (like MailerService) are available
|
|
73
66
|
try {
|
|
74
67
|
await this.serverFeature.postStart(this.mainServiceContext.container);
|
|
75
68
|
}
|
|
@@ -190,6 +183,20 @@ class MainStackServer {
|
|
|
190
183
|
else {
|
|
191
184
|
await this.mainServiceContext.broker.start();
|
|
192
185
|
}
|
|
186
|
+
// Wait for all Moleculer services to be fully registered and available
|
|
187
|
+
// This ensures remote services (like MailerService on microservice broker) are ready
|
|
188
|
+
this.logger.info('Waiting for services to be fully available...');
|
|
189
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
190
|
+
// Run migrations after all brokers are started and services are ready
|
|
191
|
+
try {
|
|
192
|
+
this.logger.info('Starting Migration');
|
|
193
|
+
await migrations.migrate(this.mainServiceContext.context.mongoClient, this.mainServiceContext.container, this.logger);
|
|
194
|
+
this.logger.info('End Migration');
|
|
195
|
+
}
|
|
196
|
+
catch (e) {
|
|
197
|
+
this.logger.error('Error while running migrations', e);
|
|
198
|
+
this.logger.error(e.stack);
|
|
199
|
+
}
|
|
193
200
|
}
|
|
194
201
|
async cleanup() {
|
|
195
202
|
if (this.multiPathWebsocket) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainStackServer.cjs","sources":["../src/MainStackServer.ts"],"sourcesContent":[null],"names":["serverLogger","InfrastructureFactory","config","
|
|
1
|
+
{"version":3,"file":"MainStackServer.cjs","sources":["../src/MainStackServer.ts"],"sourcesContent":[null],"names":["serverLogger","InfrastructureFactory","config","Feature","SubGraphSchemaBuilder","GatewaySchemaBuilder","merge","http","expressApp","setupInngestFunctions","isEmpty","WebsocketMultiPathServer","GraphqlServer","migrate"],"mappings":"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"}
|
package/lib/MainStackServer.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import'reflect-metadata';import*as http from'http';import {logger}from'@cdm-logger/server';import {Feature}from'@common-stack/server-core';import {isEmpty,merge}from'lodash-es';import graphqlModule from'@common-stack/graphql-api/lib/module.js';import {expressApp}from'./servers/ExpressApp.mjs';import {GraphqlServer}from'./servers/GraphqlServer.mjs';import {config}from'./config/env-config.mjs';import {GatewaySchemaBuilder}from'./api/schema-builder.mjs';import {WebsocketMultiPathServer}from'./servers/WebsocketMultipathUpdate.mjs';import {migrate}from'./utils/migrations.mjs';import'graphql';import {SubGraphSchemaBuilder}from'./api/sub-graph-schema-builder.mjs';import {setupInngestFunctions}from'./inngest/setup.mjs';import'inversify';import'@common-stack/core';import {InfrastructureFactory}from'./infrastructure/infrastructure-factory.mjs';import'inngest';/* eslint-disable import/namespace */
|
|
1
|
+
import'reflect-metadata';import*as http from'http';import {logger}from'@cdm-logger/server';import {Feature}from'@common-stack/server-core';import {isEmpty,merge}from'lodash-es';import graphqlModule from'@common-stack/graphql-api/lib/module.js';import {expressApp}from'./servers/ExpressApp.mjs';import {GraphqlServer}from'./servers/GraphqlServer.mjs';import {config}from'./config/env-config.mjs';import {GatewaySchemaBuilder}from'./api/schema-builder.mjs';import {WebsocketMultiPathServer}from'./servers/WebsocketMultipathUpdate.mjs';import {migrate}from'./utils/migrations.mjs';import'graphql';import {SubGraphSchemaBuilder}from'./api/sub-graph-schema-builder.mjs';import {setupInngestFunctions}from'./inngest/setup.mjs';import'inversify';import'common/server';import'@common-stack/core';import {InfrastructureFactory}from'./infrastructure/infrastructure-factory.mjs';import'inngest';/* eslint-disable import/namespace */
|
|
2
2
|
/* eslint-disable import/no-unresolved */
|
|
3
3
|
/* eslint-disable import/no-extraneous-dependencies */
|
|
4
4
|
// version 08/25/2021
|
|
@@ -61,15 +61,8 @@ class MainStackServer {
|
|
|
61
61
|
await originalStart();
|
|
62
62
|
// Execute pre-start hooks
|
|
63
63
|
await this.serverFeature.preStart(this.mainServiceContext.container);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
await migrate(this.mainServiceContext.context.mongoClient, this.mainServiceContext.container, this.logger);
|
|
67
|
-
this.logger.info('End Migration');
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
this.logger.error('Error while running migrations', e);
|
|
71
|
-
this.logger.error(e.stack);
|
|
72
|
-
}
|
|
64
|
+
// Note: Migrations are now run in start() after all brokers are ready
|
|
65
|
+
// to ensure remote services (like MailerService) are available
|
|
73
66
|
try {
|
|
74
67
|
await this.serverFeature.postStart(this.mainServiceContext.container);
|
|
75
68
|
}
|
|
@@ -190,6 +183,20 @@ class MainStackServer {
|
|
|
190
183
|
else {
|
|
191
184
|
await this.mainServiceContext.broker.start();
|
|
192
185
|
}
|
|
186
|
+
// Wait for all Moleculer services to be fully registered and available
|
|
187
|
+
// This ensures remote services (like MailerService on microservice broker) are ready
|
|
188
|
+
this.logger.info('Waiting for services to be fully available...');
|
|
189
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
190
|
+
// Run migrations after all brokers are started and services are ready
|
|
191
|
+
try {
|
|
192
|
+
this.logger.info('Starting Migration');
|
|
193
|
+
await migrate(this.mainServiceContext.context.mongoClient, this.mainServiceContext.container, this.logger);
|
|
194
|
+
this.logger.info('End Migration');
|
|
195
|
+
}
|
|
196
|
+
catch (e) {
|
|
197
|
+
this.logger.error('Error while running migrations', e);
|
|
198
|
+
this.logger.error(e.stack);
|
|
199
|
+
}
|
|
193
200
|
}
|
|
194
201
|
async cleanup() {
|
|
195
202
|
if (this.multiPathWebsocket) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainStackServer.mjs","sources":["../src/MainStackServer.ts"],"sourcesContent":[null],"names":["serverLogger"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MainStackServer.mjs","sources":["../src/MainStackServer.ts"],"sourcesContent":[null],"names":["serverLogger"],"mappings":"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"}
|
package/lib/StackServer.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var server=require('@cdm-logger/server');require('inversify'),require('@common-stack/core');var infrastructureFactory=require('./infrastructure/infrastructure-factory.cjs');require('inngest'),require('./config/env-config.cjs');/* eslint-disable import/no-extraneous-dependencies */
|
|
1
|
+
'use strict';var server=require('@cdm-logger/server');require('inversify'),require('common/server'),require('@common-stack/core');var infrastructureFactory=require('./infrastructure/infrastructure-factory.cjs');require('inngest'),require('./config/env-config.cjs');/* eslint-disable import/no-extraneous-dependencies */
|
|
2
2
|
/* eslint-disable import/namespace */
|
|
3
3
|
/**
|
|
4
4
|
* Controls the lifecycle of the Microservice Server
|
package/lib/StackServer.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackServer.cjs","sources":["../src/StackServer.ts"],"sourcesContent":[null],"names":["serverLogger","InfrastructureFactory"],"mappings":"
|
|
1
|
+
{"version":3,"file":"StackServer.cjs","sources":["../src/StackServer.ts"],"sourcesContent":[null],"names":["serverLogger","InfrastructureFactory"],"mappings":"yQAAA;AACA;AAaA;;;;;AAKG;MACU,WAAW,CAAA;AACZ,IAAA,MAAM,CAAU;AAEhB,IAAA,qBAAqB,CAAwB;AAE7C,IAAA,mBAAmB,CAIzB;AAEM,IAAA,aAAa,CAAgB;AAE7B,IAAA,QAAQ,CAAC;AAET,IAAA,kBAAkB,CAIC;AAE3B,IAAA,WAAA,CACI,OAAsB,EACtB,QAAQ,EACR,OAMC,EAAA;AAED,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,CAAC;AACtD,QAAA,IAAI,CAAC,MAAM,GAAGA,aAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,qBAAqB,GAAG,IAAIC,2CAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvE;AAEM,IAAA,MAAM,UAAU,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;;AAG7C,QAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;;AAG9C,QAAA,MAAM,kBAAkB,GAAGA,2CAAqB,CAAC,wBAAwB,EAAE,CAAC;AAC5E,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,kBAAkB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;SACnE;;QAGD,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAChF,kBAAkB,EAClB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,CAChB,CAAC;;QAGF,IAAI,CAAC,gCAAgC,EAAE,CAAC;KAC3C;IAEO,gCAAgC,GAAA;AACpC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,GAAG,YAAW;YAC/C,MAAM,aAAa,EAAE,CAAC;AACtB,YAAA,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAClF,YAAA,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,SAAC,CAAC;KACL;AAEM,IAAA,MAAM,KAAK,GAAA;QACd,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KACjD;AAEM,IAAA,MAAM,OAAO,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC5B,YAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;SAC9C;AACD,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE;YAClC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAChD;KACJ;AACJ"}
|
package/lib/StackServer.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {logger}from'@cdm-logger/server';import'inversify';import'@common-stack/core';import {InfrastructureFactory}from'./infrastructure/infrastructure-factory.mjs';import'inngest';import'./config/env-config.mjs';/* eslint-disable import/no-extraneous-dependencies */
|
|
1
|
+
import {logger}from'@cdm-logger/server';import'inversify';import'common/server';import'@common-stack/core';import {InfrastructureFactory}from'./infrastructure/infrastructure-factory.mjs';import'inngest';import'./config/env-config.mjs';/* eslint-disable import/no-extraneous-dependencies */
|
|
2
2
|
/* eslint-disable import/namespace */
|
|
3
3
|
/**
|
|
4
4
|
* Controls the lifecycle of the Microservice Server
|
package/lib/StackServer.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackServer.mjs","sources":["../src/StackServer.ts"],"sourcesContent":[null],"names":["serverLogger"],"mappings":"
|
|
1
|
+
{"version":3,"file":"StackServer.mjs","sources":["../src/StackServer.ts"],"sourcesContent":[null],"names":["serverLogger"],"mappings":"2OAAA;AACA;AAaA;;;;;AAKG;MACU,WAAW,CAAA;AACZ,IAAA,MAAM,CAAU;AAEhB,IAAA,qBAAqB,CAAwB;AAE7C,IAAA,mBAAmB,CAIzB;AAEM,IAAA,aAAa,CAAgB;AAE7B,IAAA,QAAQ,CAAC;AAET,IAAA,kBAAkB,CAIC;AAE3B,IAAA,WAAA,CACI,OAAsB,EACtB,QAAQ,EACR,OAMC,EAAA;AAED,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,CAAC;AACtD,QAAA,IAAI,CAAC,MAAM,GAAGA,MAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvE;AAEM,IAAA,MAAM,UAAU,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;;AAG7C,QAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;;AAG9C,QAAA,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,wBAAwB,EAAE,CAAC;AAC5E,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,kBAAkB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;SACnE;;QAGD,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAChF,kBAAkB,EAClB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,CAChB,CAAC;;QAGF,IAAI,CAAC,gCAAgC,EAAE,CAAC;KAC3C;IAEO,gCAAgC,GAAA;AACpC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,GAAG,YAAW;YAC/C,MAAM,aAAa,EAAE,CAAC;AACtB,YAAA,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAClF,YAAA,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,SAAC,CAAC;KACL;AAEM,IAAA,MAAM,KAAK,GAAA;QACd,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KACjD;AAEM,IAAA,MAAM,OAAO,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC5B,YAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;SAC9C;AACD,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE;YAClC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAChD;KACJ;AACJ"}
|
|
@@ -44,4 +44,10 @@ const config = envalid__namespace.cleanEnv(process.env,
|
|
|
44
44
|
INNGEST_ENVIRONMENT: str({ devDefault: 'development', default: 'production' }),
|
|
45
45
|
INNGEST_BASE_URL: str({ devDefault: 'http://localhost:8288', default: 'https://api.inngest.com' }),
|
|
46
46
|
INNGEST_CLIENT_ID: str({ devDefault: '', default: '' }),
|
|
47
|
+
// Stable application ID used for Inngest client registration across deployments
|
|
48
|
+
APPLICATION_ID: str({ devDefault: '', default: '' }),
|
|
49
|
+
// WebSocket connection limits per pod instance
|
|
50
|
+
// Recommended: ~20000 per 1Gi memory
|
|
51
|
+
WEBSOCKET_MAX_CONNECTIONS: num({ default: 20000, devDefault: 10000 }),
|
|
52
|
+
WEBSOCKET_LIMIT_ENABLED: bool({ default: true, devDefault: false }),
|
|
47
53
|
} /* end */);exports.config=config;//# sourceMappingURL=env-config.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-config.cjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":["envalid"],"mappings":"gZAEA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAGA,kBAAO,CAAC;AAE5B,MAAA,MAAM,GAAGA,kBAAO,CAAC,QAAQ,CAClC,OAAO,CAAC,GAAG;AACX;AACA;IACI,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACnG,QAAQ,EAAE,GAAG,EAAE;IACf,SAAS,EAAE,GAAG,EAAE;IAChB,OAAO,EAAE,GAAG,EAAE;IACd,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC9C,WAAW,EAAE,GAAG,EAAE;IAClB,WAAW,EAAE,GAAG,EAAE;IAClB,UAAU,EAAE,GAAG,EAAE;IACjB,SAAS,EAAE,GAAG,EAAE;IAChB,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACrC,iBAAiB,EAAE,IAAI,CAAC;AACpB,QAAA,UAAU,EAAE,oCAAoC;AAChD,QAAA,OAAO,EAAE,oCAAoC;KAChD,CAAC;IACF,SAAS,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC3C,qBAAqB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,sBAAsB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAClD,aAAa,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IAEnD,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;;IAGtC,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAC7D,IAAA,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;IACxE,cAAc,EAAE,IAAI,CAAC;AACjB,QAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;AACpB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,UAAU;SACnB,CAAC;AACF,QAAA,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;AACvB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,UAAU;SACnB,CAAC;AACF,QAAA,OAAO,EAAE,gDAAgD;KAC5D,CAAC;IACF,iBAAiB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAC/C,mBAAmB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjD,IAAA,cAAc,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC1D,IAAA,mBAAmB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC9E,IAAA,gBAAgB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAClG,IAAA,iBAAiB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"env-config.cjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":["envalid"],"mappings":"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"}
|
|
@@ -44,4 +44,10 @@ const config = envalid.cleanEnv(process.env,
|
|
|
44
44
|
INNGEST_ENVIRONMENT: str({ devDefault: 'development', default: 'production' }),
|
|
45
45
|
INNGEST_BASE_URL: str({ devDefault: 'http://localhost:8288', default: 'https://api.inngest.com' }),
|
|
46
46
|
INNGEST_CLIENT_ID: str({ devDefault: '', default: '' }),
|
|
47
|
+
// Stable application ID used for Inngest client registration across deployments
|
|
48
|
+
APPLICATION_ID: str({ devDefault: '', default: '' }),
|
|
49
|
+
// WebSocket connection limits per pod instance
|
|
50
|
+
// Recommended: ~20000 per 1Gi memory
|
|
51
|
+
WEBSOCKET_MAX_CONNECTIONS: num({ default: 20000, devDefault: 10000 }),
|
|
52
|
+
WEBSOCKET_LIMIT_ENABLED: bool({ default: true, devDefault: false }),
|
|
47
53
|
} /* end */);export{config};//# sourceMappingURL=env-config.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-config.mjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"gCAEA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAE5B,MAAA,MAAM,GAAG,OAAO,CAAC,QAAQ,CAClC,OAAO,CAAC,GAAG;AACX;AACA;IACI,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACnG,QAAQ,EAAE,GAAG,EAAE;IACf,SAAS,EAAE,GAAG,EAAE;IAChB,OAAO,EAAE,GAAG,EAAE;IACd,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC9C,WAAW,EAAE,GAAG,EAAE;IAClB,WAAW,EAAE,GAAG,EAAE;IAClB,UAAU,EAAE,GAAG,EAAE;IACjB,SAAS,EAAE,GAAG,EAAE;IAChB,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACrC,iBAAiB,EAAE,IAAI,CAAC;AACpB,QAAA,UAAU,EAAE,oCAAoC;AAChD,QAAA,OAAO,EAAE,oCAAoC;KAChD,CAAC;IACF,SAAS,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC3C,qBAAqB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,sBAAsB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAClD,aAAa,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IAEnD,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;;IAGtC,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAC7D,IAAA,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;IACxE,cAAc,EAAE,IAAI,CAAC;AACjB,QAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;AACpB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,UAAU;SACnB,CAAC;AACF,QAAA,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;AACvB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,UAAU;SACnB,CAAC;AACF,QAAA,OAAO,EAAE,gDAAgD;KAC5D,CAAC;IACF,iBAAiB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAC/C,mBAAmB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjD,IAAA,cAAc,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC1D,IAAA,mBAAmB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC9E,IAAA,gBAAgB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAClG,IAAA,iBAAiB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"env-config.mjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var inversify=require('inversify'),core=require('@common-stack/core');const createInfrastructureModule = (context, connectorConfig) => {
|
|
1
|
+
'use strict';var inversify=require('inversify'),server=require('common/server'),core=require('@common-stack/core');const createInfrastructureModule = (context, connectorConfig) => {
|
|
2
2
|
return new inversify.ContainerModule((bind) => {
|
|
3
3
|
// Core bindings - always included
|
|
4
4
|
// Bind logger with multiple identifiers for compatibility, avoiding duplicates
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
bind(core.CommonType.PUBSUB).toConstantValue(context.pubsub);
|
|
16
16
|
}
|
|
17
17
|
if (connectorConfig.mongo && context.mongoClient) {
|
|
18
|
+
bind(server.SERVER_TYPES.MongoDBConnection).toConstantValue(context.mongoClient);
|
|
18
19
|
bind('MongoDBConnection').toConstantValue(context.mongoClient);
|
|
19
20
|
}
|
|
20
21
|
if (connectorConfig.redis && context.redisClient) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-module.cjs","sources":["../../src/infrastructure/container-module.ts"],"sourcesContent":[null],"names":["ContainerModule","CommonType","ClientTypes"],"mappings":"
|
|
1
|
+
{"version":3,"file":"container-module.cjs","sources":["../../src/infrastructure/container-module.ts"],"sourcesContent":[null],"names":["ContainerModule","CommonType","ClientTypes","SERVER_TYPES"],"mappings":"yHAKa,0BAA0B,GAAG,CAAC,OAA8B,EAAE,eAAgC,KAAI;AAC3G,IAAA,OAAO,IAAIA,yBAAe,CAAC,CAAC,IAAqB,KAAI;;;QAGjD,IAAI,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAA,IAAI,CAACC,eAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACxD,QAAA,IAAI,CAACC,gBAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzD,QAAA,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;AAC3E,QAAA,IAAI,CAACD,eAAU,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;AACpF,QAAA,IAAI,CAACA,eAAU,CAAC,gBAAgB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;QAGxD,IAAI,eAAe,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;YAC1C,IAAI,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/C,YAAA,IAAI,CAACA,eAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC3D;QAED,IAAI,eAAe,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE;AAC9C,YAAA,IAAI,CAACE,mBAAY,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1E,IAAI,CAAC,mBAAmB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAClE;QAED,IAAI,eAAe,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE;AAC9C,YAAA,IAAI,CAACF,eAAU,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACtE;QAED,IAAI,eAAe,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE;AAClD,YAAA,IAAI,CAACA,eAAU,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC1E;AACL,KAAC,CAAC,CAAC;AACP"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {ContainerModule}from'inversify';import {CommonType,ClientTypes}from'@common-stack/core';const createInfrastructureModule = (context, connectorConfig) => {
|
|
1
|
+
import {ContainerModule}from'inversify';import {SERVER_TYPES}from'common/server';import {CommonType,ClientTypes}from'@common-stack/core';const createInfrastructureModule = (context, connectorConfig) => {
|
|
2
2
|
return new ContainerModule((bind) => {
|
|
3
3
|
// Core bindings - always included
|
|
4
4
|
// Bind logger with multiple identifiers for compatibility, avoiding duplicates
|
|
@@ -15,6 +15,7 @@ import {ContainerModule}from'inversify';import {CommonType,ClientTypes}from'@com
|
|
|
15
15
|
bind(CommonType.PUBSUB).toConstantValue(context.pubsub);
|
|
16
16
|
}
|
|
17
17
|
if (connectorConfig.mongo && context.mongoClient) {
|
|
18
|
+
bind(SERVER_TYPES.MongoDBConnection).toConstantValue(context.mongoClient);
|
|
18
19
|
bind('MongoDBConnection').toConstantValue(context.mongoClient);
|
|
19
20
|
}
|
|
20
21
|
if (connectorConfig.redis && context.redisClient) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-module.mjs","sources":["../../src/infrastructure/container-module.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"container-module.mjs","sources":["../../src/infrastructure/container-module.ts"],"sourcesContent":[null],"names":[],"mappings":"+IAKa,0BAA0B,GAAG,CAAC,OAA8B,EAAE,eAAgC,KAAI;AAC3G,IAAA,OAAO,IAAI,eAAe,CAAC,CAAC,IAAqB,KAAI;;;QAGjD,IAAI,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACxD,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzD,QAAA,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;AAC3E,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;AACpF,QAAA,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;QAGxD,IAAI,eAAe,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;YAC1C,IAAI,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC3D;QAED,IAAI,eAAe,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE;AAC9C,YAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1E,IAAI,CAAC,mBAAmB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAClE;QAED,IAAI,eAAe,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE;AAC9C,YAAA,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACtE;QAED,IAAI,eAAe,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE;AAClD,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC1E;AACL,KAAC,CAAC,CAAC;AACP"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
'use strict';var inngest=require('inngest'),envConfig=require('../config/env-config.cjs'),autoResolveInvoke_middleware=require('../inngest/middleware/auto-resolve-invoke.middleware.cjs'),functionReferenceHelper=require('../inngest/middleware/function-reference-helper.cjs');const generateInngestClientId = (configParams, logger) => {
|
|
2
|
-
const { APP_NAME, NODE_ENV, INNGEST_CLIENT_ID } = configParams;
|
|
2
|
+
const { APP_NAME, NODE_ENV, INNGEST_CLIENT_ID, APPLICATION_ID } = configParams;
|
|
3
3
|
if (INNGEST_CLIENT_ID) {
|
|
4
4
|
return INNGEST_CLIENT_ID;
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
// Use APPLICATION_ID if provided for stable client ID across deployments
|
|
7
|
+
// Otherwise, fall back to APP_NAME-NODE_ENV (without random timestamp)
|
|
8
|
+
const inngestId = APPLICATION_ID ? `${APP_NAME}-${NODE_ENV}-${APPLICATION_ID}` : `${APP_NAME}-${NODE_ENV}`;
|
|
7
9
|
logger.info(`Generated Inngest client ID: ${inngestId}`);
|
|
8
10
|
return inngestId;
|
|
9
11
|
};
|
|
10
12
|
const createInngestClient = (logger) => {
|
|
11
13
|
// Generate unique Inngest client ID for multi-developer environments
|
|
14
|
+
// Uses APPLICATION_ID from env for stable ID across deployments
|
|
12
15
|
const inngestId = generateInngestClientId({
|
|
13
16
|
APP_NAME: envConfig.config.APP_NAME,
|
|
14
17
|
NODE_ENV: envConfig.config.NODE_ENV,
|
|
15
18
|
INNGEST_CLIENT_ID: envConfig.config.INNGEST_CLIENT_ID,
|
|
19
|
+
APPLICATION_ID: envConfig.config.APPLICATION_ID,
|
|
16
20
|
}, logger);
|
|
17
21
|
// Create middleware instance (will be populated with functions later)
|
|
18
22
|
const autoResolveMiddleware = autoResolveInvoke_middleware.createCommonStackAutoResolveMiddleware({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inngest-factory.cjs","sources":["../../src/infrastructure/inngest-factory.ts"],"sourcesContent":[null],"names":["config","createCommonStackAutoResolveMiddleware","createCombinedFunctionMiddleware","Inngest"],"mappings":"wRAMa,uBAAuB,GAAG,CACnC,
|
|
1
|
+
{"version":3,"file":"inngest-factory.cjs","sources":["../../src/infrastructure/inngest-factory.ts"],"sourcesContent":[null],"names":["config","createCommonStackAutoResolveMiddleware","createCombinedFunctionMiddleware","Inngest"],"mappings":"wRAMa,uBAAuB,GAAG,CACnC,YAKC,EACD,MAAyB,KACjB;IACR,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;IAE/E,IAAI,iBAAiB,EAAE;AACnB,QAAA,OAAO,iBAAiB,CAAC;KAC5B;;;IAID,MAAM,SAAS,GAAG,cAAc,GAAG,CAAA,EAAG,QAAQ,CAAI,CAAA,EAAA,QAAQ,IAAI,cAAc,CAAA,CAAE,GAAG,GAAG,QAAQ,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE,CAAC;AAC3G,IAAA,MAAM,CAAC,IAAI,CAAC,gCAAgC,SAAS,CAAA,CAAE,CAAC,CAAC;AACzD,IAAA,OAAO,SAAS,CAAC;AACrB,EAAE;AAEW,MAAA,mBAAmB,GAAG,CAAC,MAAyB,KAAa;;;IAGtE,MAAM,SAAS,GAAG,uBAAuB,CACrC;QACI,QAAQ,EAAEA,gBAAM,CAAC,QAAQ;QACzB,QAAQ,EAAEA,gBAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAEA,gBAAM,CAAC,iBAAiB;QAC3C,cAAc,EAAEA,gBAAM,CAAC,cAAc;KACxC,EACD,MAAM,CACT,CAAC;;IAGF,MAAM,qBAAqB,GAAGC,mEAAsC,CAAC;AACjE,QAAA,KAAK,EAAED,gBAAM,CAAC,QAAQ,KAAK,aAAa;AACxC,QAAA,cAAc,EAAE;;;AAGf,SAAA;AACJ,KAAA,CAAC,CAAC;;;IAIH,MAAM,kBAAkB,GAAGE,wDAAgC,CAAC;QACxD,WAAW,EAAE,IAAI;AACjB,QAAA,KAAK,EAAEF,gBAAM,CAAC,QAAQ,KAAK,aAAa;AAC3C,KAAA,CAAC,CAAC;;AAGH,IAAA,MAAM,MAAM,GAAG,IAAIG,eAAO,CAAC;AACvB,QAAA,EAAE,EAAE,SAAS;QACb,QAAQ,EAAEH,gBAAM,CAAC,iBAAiB;QAClC,UAAU,EAAEA,gBAAM,CAAC,mBAAmB;QACtC,KAAK,EAAEA,gBAAM,CAAC,cAAc;QAC5B,GAAG,EAAEA,gBAAM,CAAC,mBAAmB;QAC/B,OAAO,EAAEA,gBAAM,CAAC,gBAAgB;;;;AAKhC,QAAA,UAAU,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAQ;AACjE,KAAA,CAAC,CAAC;;AAGF,IAAA,MAAc,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;AAE/D,IAAA,OAAO,MAAM,CAAC;AAClB"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import {Inngest}from'inngest';import {config}from'../config/env-config.mjs';import {createCommonStackAutoResolveMiddleware}from'../inngest/middleware/auto-resolve-invoke.middleware.mjs';import {createCombinedFunctionMiddleware}from'../inngest/middleware/function-reference-helper.mjs';const generateInngestClientId = (configParams, logger) => {
|
|
2
|
-
const { APP_NAME, NODE_ENV, INNGEST_CLIENT_ID } = configParams;
|
|
2
|
+
const { APP_NAME, NODE_ENV, INNGEST_CLIENT_ID, APPLICATION_ID } = configParams;
|
|
3
3
|
if (INNGEST_CLIENT_ID) {
|
|
4
4
|
return INNGEST_CLIENT_ID;
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
// Use APPLICATION_ID if provided for stable client ID across deployments
|
|
7
|
+
// Otherwise, fall back to APP_NAME-NODE_ENV (without random timestamp)
|
|
8
|
+
const inngestId = APPLICATION_ID ? `${APP_NAME}-${NODE_ENV}-${APPLICATION_ID}` : `${APP_NAME}-${NODE_ENV}`;
|
|
7
9
|
logger.info(`Generated Inngest client ID: ${inngestId}`);
|
|
8
10
|
return inngestId;
|
|
9
11
|
};
|
|
10
12
|
const createInngestClient = (logger) => {
|
|
11
13
|
// Generate unique Inngest client ID for multi-developer environments
|
|
14
|
+
// Uses APPLICATION_ID from env for stable ID across deployments
|
|
12
15
|
const inngestId = generateInngestClientId({
|
|
13
16
|
APP_NAME: config.APP_NAME,
|
|
14
17
|
NODE_ENV: config.NODE_ENV,
|
|
15
18
|
INNGEST_CLIENT_ID: config.INNGEST_CLIENT_ID,
|
|
19
|
+
APPLICATION_ID: config.APPLICATION_ID,
|
|
16
20
|
}, logger);
|
|
17
21
|
// Create middleware instance (will be populated with functions later)
|
|
18
22
|
const autoResolveMiddleware = createCommonStackAutoResolveMiddleware({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inngest-factory.mjs","sources":["../../src/infrastructure/inngest-factory.ts"],"sourcesContent":[null],"names":[],"mappings":"mSAMa,uBAAuB,GAAG,CACnC,
|
|
1
|
+
{"version":3,"file":"inngest-factory.mjs","sources":["../../src/infrastructure/inngest-factory.ts"],"sourcesContent":[null],"names":[],"mappings":"mSAMa,uBAAuB,GAAG,CACnC,YAKC,EACD,MAAyB,KACjB;IACR,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;IAE/E,IAAI,iBAAiB,EAAE;AACnB,QAAA,OAAO,iBAAiB,CAAC;KAC5B;;;IAID,MAAM,SAAS,GAAG,cAAc,GAAG,CAAA,EAAG,QAAQ,CAAI,CAAA,EAAA,QAAQ,IAAI,cAAc,CAAA,CAAE,GAAG,GAAG,QAAQ,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE,CAAC;AAC3G,IAAA,MAAM,CAAC,IAAI,CAAC,gCAAgC,SAAS,CAAA,CAAE,CAAC,CAAC;AACzD,IAAA,OAAO,SAAS,CAAC;AACrB,EAAE;AAEW,MAAA,mBAAmB,GAAG,CAAC,MAAyB,KAAa;;;IAGtE,MAAM,SAAS,GAAG,uBAAuB,CACrC;QACI,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;KACxC,EACD,MAAM,CACT,CAAC;;IAGF,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AACjE,QAAA,KAAK,EAAE,MAAM,CAAC,QAAQ,KAAK,aAAa;AACxC,QAAA,cAAc,EAAE;;;AAGf,SAAA;AACJ,KAAA,CAAC,CAAC;;;IAIH,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;QACxD,WAAW,EAAE,IAAI;AACjB,QAAA,KAAK,EAAE,MAAM,CAAC,QAAQ,KAAK,aAAa;AAC3C,KAAA,CAAC,CAAC;;AAGH,IAAA,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC;AACvB,QAAA,EAAE,EAAE,SAAS;QACb,QAAQ,EAAE,MAAM,CAAC,iBAAiB;QAClC,UAAU,EAAE,MAAM,CAAC,mBAAmB;QACtC,KAAK,EAAE,MAAM,CAAC,cAAc;QAC5B,GAAG,EAAE,MAAM,CAAC,mBAAmB;QAC/B,OAAO,EAAE,MAAM,CAAC,gBAAgB;;;;AAKhC,QAAA,UAAU,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAQ;AACjE,KAAA,CAAC,CAAC;;AAGF,IAAA,MAAc,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;AAE/D,IAAA,OAAO,MAAM,CAAC;AAClB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var express=require('express'),bodyParser=require('body-parser'),error=require('../middleware/error.cjs'),services=require('../middleware/services.cjs'),sentry=require('../middleware/sentry.cjs'),redisClient=require('../middleware/redis-client.cjs'),cors=require('../middleware/cors.cjs')
|
|
1
|
+
'use strict';var express=require('express'),bodyParser=require('body-parser'),error=require('../middleware/error.cjs'),services=require('../middleware/services.cjs'),sentry=require('../middleware/sentry.cjs'),redisClient=require('../middleware/redis-client.cjs'),cors=require('../middleware/cors.cjs');/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
2
|
function expressApp(modules, options, middlewares, http, redisClient$1) {
|
|
3
3
|
const app = express();
|
|
4
4
|
// FIRST PRIORITY: Add Redis client middleware at the very top
|
|
@@ -23,14 +23,14 @@ function expressApp(modules, options, middlewares, http, redisClient$1) {
|
|
|
23
23
|
res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, X-CSP-Nonce, Content-Type, Accept');
|
|
24
24
|
next();
|
|
25
25
|
});
|
|
26
|
-
app.use(
|
|
26
|
+
app.use(bodyParser.json({
|
|
27
27
|
limit: '50mb',
|
|
28
28
|
verify: (req, res, buf) => {
|
|
29
29
|
// #Todo: Find some proper solution for it
|
|
30
30
|
req.rawBody = buf;
|
|
31
31
|
},
|
|
32
32
|
}));
|
|
33
|
-
app.use(
|
|
33
|
+
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true, parameterLimit: 50000 }));
|
|
34
34
|
for (const applyMiddleware of modules.middlewares) {
|
|
35
35
|
applyMiddleware(app);
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressApp.cjs","sources":["../../src/servers/ExpressApp.ts"],"sourcesContent":[null],"names":["redisClient","redisClientMiddleware","contextServicesMiddleware","sentryMiddleware","corsMiddleware","
|
|
1
|
+
{"version":3,"file":"ExpressApp.cjs","sources":["../../src/servers/ExpressApp.ts"],"sourcesContent":[null],"names":["redisClient","redisClientMiddleware","contextServicesMiddleware","sentryMiddleware","corsMiddleware","errorMiddleware","sentryErrorHandlerMiddleware"],"mappings":"8SAAA;AAWM,SAAU,UAAU,CAAC,OAAgB,EAAE,OAAuB,EAAE,WAAW,EAAE,IAAK,EAAEA,aAAY,EAAA;AAClG,IAAA,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;;;IAItB,IAAIA,aAAW,EAAE;QACb,GAAG,CAAC,GAAG,CAACC,iCAAqB,CAACD,aAAW,CAAC,CAAC,CAAC;KAC/C;AAED,IAAA,GAAG,CAAC,GAAG,CAACE,kCAAyB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;AAClF,IAAA,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE;QAC/C,eAAe,CAAC,GAAG,CAAC,CAAC;KACxB;;AAGD,IAAA,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAE1B,IAAA,GAAG,CAAC,GAAG,CAACC,uBAAgB,CAAC,CAAC;AAE1B,IAAA,IAAI,WAAW,KAAK,IAAI,EAAE;AACtB,QAAA,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KACxB;AAED,IAAA,GAAG,CAAC,GAAG,CAACC,mBAAc,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;AACvB,QAAA,GAAG,CAAC,MAAM,CAAC,kCAAkC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACrE,QAAA,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;AAClE,QAAA,GAAG,CAAC,MAAM,CACN,8BAA8B,EAC9B,6EAA6E,CAChF,CAAC;AACF,QAAA,IAAI,EAAE,CAAC;AACX,KAAC,CAAC,CAAC;AAEH,IAAA,GAAG,CAAC,GAAG,CACH,UAAU,CAAC,IAAI,CAAC;AACZ,QAAA,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAI;;AAErB,YAAA,GAAW,CAAC,OAAO,GAAG,GAAG,CAAC;SAC9B;AACJ,KAAA,CAAC,CACL,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEzF,IAAA,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE;QAC/C,eAAe,CAAC,GAAG,CAAC,CAAC;KACxB;IAED,IAAI,OAAO,EAAE;AACT,QAAA,GAAG,CAAC,GAAG,CAACC,qBAAe,CAAC,CAAC;KAC5B;AAED,IAAA,GAAG,CAAC,GAAG,CAACC,mCAA4B,CAAC,CAAC;AAEtC,IAAA,OAAO,GAAG,CAAC;AACf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import express from'express';import
|
|
1
|
+
import express from'express';import bodyParser from'body-parser';import {errorMiddleware}from'../middleware/error.mjs';import {contextServicesMiddleware}from'../middleware/services.mjs';import {sentryMiddleware,sentryErrorHandlerMiddleware}from'../middleware/sentry.mjs';import {redisClientMiddleware}from'../middleware/redis-client.mjs';import {corsMiddleware}from'../middleware/cors.mjs';/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
2
|
function expressApp(modules, options, middlewares, http, redisClient) {
|
|
3
3
|
const app = express();
|
|
4
4
|
// FIRST PRIORITY: Add Redis client middleware at the very top
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressApp.mjs","sources":["../../src/servers/ExpressApp.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExpressApp.mjs","sources":["../../src/servers/ExpressApp.ts"],"sourcesContent":[null],"names":[],"mappings":"sYAAA;AAWM,SAAU,UAAU,CAAC,OAAgB,EAAE,OAAuB,EAAE,WAAW,EAAE,IAAK,EAAE,WAAY,EAAA;AAClG,IAAA,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;;;IAItB,IAAI,WAAW,EAAE;QACb,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;KAC/C;AAED,IAAA,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;AAClF,IAAA,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE;QAC/C,eAAe,CAAC,GAAG,CAAC,CAAC;KACxB;;AAGD,IAAA,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAE1B,IAAA,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE1B,IAAA,IAAI,WAAW,KAAK,IAAI,EAAE;AACtB,QAAA,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KACxB;AAED,IAAA,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;AACvB,QAAA,GAAG,CAAC,MAAM,CAAC,kCAAkC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACrE,QAAA,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;AAClE,QAAA,GAAG,CAAC,MAAM,CACN,8BAA8B,EAC9B,6EAA6E,CAChF,CAAC;AACF,QAAA,IAAI,EAAE,CAAC;AACX,KAAC,CAAC,CAAC;AAEH,IAAA,GAAG,CAAC,GAAG,CACH,UAAU,CAAC,IAAI,CAAC;AACZ,QAAA,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAI;;AAErB,YAAA,GAAW,CAAC,OAAO,GAAG,GAAG,CAAC;SAC9B;AACJ,KAAA,CAAC,CACL,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEzF,IAAA,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE;QAC/C,eAAe,CAAC,GAAG,CAAC,CAAC;KACxB;IAED,IAAI,OAAO,EAAE;AACT,QAAA,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAC5B;AAED,IAAA,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAEtC,IAAA,OAAO,GAAG,CAAC;AACf"}
|
|
@@ -1,21 +1,28 @@
|
|
|
1
|
-
'use strict';var url=require('url'),ws=require('ws'),ws$1=require('graphql-ws/lib/use/ws'),websocketContext=require('./websocket-context.cjs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var url__namespace=/*#__PURE__*/_interopNamespaceDefault(url);class WebsocketMultiPathServer {
|
|
1
|
+
'use strict';var url=require('url'),ws=require('ws'),ws$1=require('graphql-ws/lib/use/ws'),websocketContext=require('./websocket-context.cjs'),envConfig=require('../config/env-config.cjs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var url__namespace=/*#__PURE__*/_interopNamespaceDefault(url);class WebsocketMultiPathServer {
|
|
2
2
|
moduleService;
|
|
3
3
|
cache;
|
|
4
4
|
webSockets = {};
|
|
5
5
|
// private graphqlSubscriptionServer: GraphqlSubscriptionServer;
|
|
6
6
|
_graphqlWs;
|
|
7
|
-
|
|
7
|
+
/** Maximum WebSocket connections allowed per instance */
|
|
8
|
+
maxConnections;
|
|
9
|
+
/** Whether connection limiting is enabled */
|
|
10
|
+
limitEnabled;
|
|
11
|
+
constructor(moduleService, cache, multiplePathConfig, limitConfig) {
|
|
8
12
|
this.moduleService = moduleService;
|
|
9
13
|
this.cache = cache;
|
|
14
|
+
// Read from validated config (Kubernetes configmap) or use defaults
|
|
15
|
+
this.maxConnections = limitConfig?.maxConnections ?? envConfig.config.WEBSOCKET_MAX_CONNECTIONS;
|
|
16
|
+
this.limitEnabled = limitConfig?.limitEnabled ?? envConfig.config.WEBSOCKET_LIMIT_ENABLED;
|
|
10
17
|
this._graphqlWs = new ws.WebSocketServer({ noServer: true, path: __GRAPHQL_ENDPOINT__ });
|
|
11
18
|
this.webSockets[__GRAPHQL_ENDPOINT__] = this._graphqlWs;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
});
|
|
19
|
+
// Initialize useServer ONCE for the GraphQL WebSocket server
|
|
20
|
+
// This prevents memory leaks from creating new listeners on each connection
|
|
21
|
+
ws$1.useServer({
|
|
22
|
+
schema: moduleService.schema,
|
|
23
|
+
// Using shared context creation function to maintain consistency with GraphqlWs
|
|
24
|
+
context: async (ctx) => websocketContext.createWebSocketContext(ctx, moduleService, cache),
|
|
25
|
+
}, this._graphqlWs);
|
|
19
26
|
for (let key in multiplePathConfig) {
|
|
20
27
|
if (!multiplePathConfig.hasOwnProperty(key)) {
|
|
21
28
|
continue;
|
|
@@ -34,12 +41,22 @@
|
|
|
34
41
|
httpServerUpgrade(httpServer) {
|
|
35
42
|
httpServer.on('upgrade', (request, socket, head) => {
|
|
36
43
|
const pathname = url__namespace.parse(request.url).pathname;
|
|
44
|
+
// Check connection limit before accepting new connections
|
|
45
|
+
if (this.limitEnabled && this.isConnectionLimitReached()) {
|
|
46
|
+
this.moduleService.logger?.warn?.(`WebSocket connection limit reached (${this.maxConnections}). Rejecting new connection.`);
|
|
47
|
+
socket.write('HTTP/1.1 503 Service Unavailable\r\n');
|
|
48
|
+
socket.write('Retry-After: 60\r\n');
|
|
49
|
+
socket.write('\r\n');
|
|
50
|
+
socket.destroy();
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
37
53
|
if (!this.webSockets[pathname]) {
|
|
38
54
|
// in development
|
|
39
55
|
if (pathname !== '/sockjs-node') {
|
|
40
56
|
// need to destroy
|
|
41
57
|
socket.destroy();
|
|
42
58
|
}
|
|
59
|
+
return;
|
|
43
60
|
}
|
|
44
61
|
// code to run when a new connection is made
|
|
45
62
|
this.webSockets[pathname].handleUpgrade(request, socket, head, (ws) => {
|
|
@@ -52,6 +69,31 @@
|
|
|
52
69
|
// }, this.graphqlWs);
|
|
53
70
|
return httpServer;
|
|
54
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Get total number of active WebSocket connections across all paths
|
|
74
|
+
*/
|
|
75
|
+
getTotalConnections() {
|
|
76
|
+
return Object.values(this.webSockets).reduce((total, wsServer) => total + wsServer.clients.size, 0);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get connection statistics for monitoring
|
|
80
|
+
*/
|
|
81
|
+
getConnectionStats() {
|
|
82
|
+
const total = this.getTotalConnections();
|
|
83
|
+
return {
|
|
84
|
+
total,
|
|
85
|
+
graphql: this._graphqlWs.clients.size,
|
|
86
|
+
maxConnections: this.maxConnections,
|
|
87
|
+
limitEnabled: this.limitEnabled,
|
|
88
|
+
utilizationPercent: Math.round((total / this.maxConnections) * 100),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Check if connection limit has been reached
|
|
93
|
+
*/
|
|
94
|
+
isConnectionLimitReached() {
|
|
95
|
+
return this.getTotalConnections() >= this.maxConnections;
|
|
96
|
+
}
|
|
55
97
|
get graphqlWs() {
|
|
56
98
|
return this._graphqlWs;
|
|
57
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketMultipathUpdate.cjs","sources":["../../src/servers/WebsocketMultipathUpdate.ts"],"sourcesContent":[null],"names":["WebSocketServer","useServer","createWebSocketContext","url"],"mappings":"
|
|
1
|
+
{"version":3,"file":"WebsocketMultipathUpdate.cjs","sources":["../../src/servers/WebsocketMultipathUpdate.ts"],"sourcesContent":[null],"names":["config","WebSocketServer","useServer","createWebSocketContext","url"],"mappings":"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"}
|