@pipeline-builder/api-server 3.3.33 → 3.4.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.
@@ -6,6 +6,7 @@ export * from './require-org-id';
6
6
  export * from './get-context';
7
7
  export * from './app-factory';
8
8
  export * from './health-checks';
9
+ export * from './mongo-connect';
9
10
  export * from './quota-helpers';
10
11
  export * from './idempotency-middleware';
11
12
  export * from './tracing';
package/lib/api/index.js CHANGED
@@ -27,6 +27,8 @@ __exportStar(require("./get-context"), exports);
27
27
  __exportStar(require("./app-factory"), exports);
28
28
  // Health-check helpers
29
29
  __exportStar(require("./health-checks"), exports);
30
+ // MongoDB connection helper (dependency-injected mongoose)
31
+ __exportStar(require("./mongo-connect"), exports);
30
32
  // Quota helpers
31
33
  __exportStar(require("./quota-helpers"), exports);
32
34
  // Idempotency
@@ -40,4 +42,4 @@ __exportStar(require("./server"), exports);
40
42
  __exportStar(require("./route-wrapper"), exports);
41
43
  // Request/Response types
42
44
  __exportStar(require("./request-types"), exports);
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDOzs7Ozs7Ozs7Ozs7Ozs7O0FBRXRDLGFBQWE7QUFDYiwrQ0FBNkI7QUFDN0IsdURBQXFDO0FBQ3JDLHVEQUFxQztBQUNyQyxnREFBOEI7QUFDOUIsbURBQWlDO0FBQ2pDLGdEQUE4QjtBQUU5QixjQUFjO0FBQ2QsZ0RBQThCO0FBRTlCLHVCQUF1QjtBQUN2QixrREFBZ0M7QUFFaEMsZ0JBQWdCO0FBQ2hCLGtEQUFnQztBQUVoQyxjQUFjO0FBQ2QsMkRBQXlDO0FBRXpDLGdCQUFnQjtBQUNoQiw0Q0FBMEI7QUFDMUIsNENBQTBCO0FBRTFCLG1CQUFtQjtBQUNuQiwyQ0FBeUI7QUFFekIsZ0JBQWdCO0FBQ2hCLGtEQUFnQztBQUVoQyx5QkFBeUI7QUFDekIsa0RBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8vIE1pZGRsZXdhcmVcbmV4cG9ydCAqIGZyb20gJy4vbWlkZGxld2FyZSc7XG5leHBvcnQgKiBmcm9tICcuL21pZGRsZXdhcmUtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQtbWlkZGxld2FyZSc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrLXF1b3RhJztcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWlyZS1vcmctaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtY29udGV4dCc7XG5cbi8vIEFwcCBmYWN0b3J5XG5leHBvcnQgKiBmcm9tICcuL2FwcC1mYWN0b3J5JztcblxuLy8gSGVhbHRoLWNoZWNrIGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vaGVhbHRoLWNoZWNrcyc7XG5cbi8vIFF1b3RhIGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vcXVvdGEtaGVscGVycyc7XG5cbi8vIElkZW1wb3RlbmN5XG5leHBvcnQgKiBmcm9tICcuL2lkZW1wb3RlbmN5LW1pZGRsZXdhcmUnO1xuXG4vLyBPYnNlcnZhYmlsaXR5XG5leHBvcnQgKiBmcm9tICcuL3RyYWNpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRyaWNzJztcblxuLy8gU2VydmVyIHV0aWxpdGllc1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2ZXInO1xuXG4vLyBSb3V0ZSB3cmFwcGVyXG5leHBvcnQgKiBmcm9tICcuL3JvdXRlLXdyYXBwZXInO1xuXG4vLyBSZXF1ZXN0L1Jlc3BvbnNlIHR5cGVzXG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtdHlwZXMnO1xuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDOzs7Ozs7Ozs7Ozs7Ozs7O0FBRXRDLGFBQWE7QUFDYiwrQ0FBNkI7QUFDN0IsdURBQXFDO0FBQ3JDLHVEQUFxQztBQUNyQyxnREFBOEI7QUFDOUIsbURBQWlDO0FBQ2pDLGdEQUE4QjtBQUU5QixjQUFjO0FBQ2QsZ0RBQThCO0FBRTlCLHVCQUF1QjtBQUN2QixrREFBZ0M7QUFFaEMsMkRBQTJEO0FBQzNELGtEQUFnQztBQUVoQyxnQkFBZ0I7QUFDaEIsa0RBQWdDO0FBRWhDLGNBQWM7QUFDZCwyREFBeUM7QUFFekMsZ0JBQWdCO0FBQ2hCLDRDQUEwQjtBQUMxQiw0Q0FBMEI7QUFFMUIsbUJBQW1CO0FBQ25CLDJDQUF5QjtBQUV6QixnQkFBZ0I7QUFDaEIsa0RBQWdDO0FBRWhDLHlCQUF5QjtBQUN6QixrREFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLy8gTWlkZGxld2FyZVxuZXhwb3J0ICogZnJvbSAnLi9taWRkbGV3YXJlJztcbmV4cG9ydCAqIGZyb20gJy4vbWlkZGxld2FyZS1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1taWRkbGV3YXJlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2stcXVvdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlLW9yZy1pZCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1jb250ZXh0JztcblxuLy8gQXBwIGZhY3RvcnlcbmV4cG9ydCAqIGZyb20gJy4vYXBwLWZhY3RvcnknO1xuXG4vLyBIZWFsdGgtY2hlY2sgaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9oZWFsdGgtY2hlY2tzJztcblxuLy8gTW9uZ29EQiBjb25uZWN0aW9uIGhlbHBlciAoZGVwZW5kZW5jeS1pbmplY3RlZCBtb25nb29zZSlcbmV4cG9ydCAqIGZyb20gJy4vbW9uZ28tY29ubmVjdCc7XG5cbi8vIFF1b3RhIGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vcXVvdGEtaGVscGVycyc7XG5cbi8vIElkZW1wb3RlbmN5XG5leHBvcnQgKiBmcm9tICcuL2lkZW1wb3RlbmN5LW1pZGRsZXdhcmUnO1xuXG4vLyBPYnNlcnZhYmlsaXR5XG5leHBvcnQgKiBmcm9tICcuL3RyYWNpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRyaWNzJztcblxuLy8gU2VydmVyIHV0aWxpdGllc1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2ZXInO1xuXG4vLyBSb3V0ZSB3cmFwcGVyXG5leHBvcnQgKiBmcm9tICcuL3JvdXRlLXdyYXBwZXInO1xuXG4vLyBSZXF1ZXN0L1Jlc3BvbnNlIHR5cGVzXG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtdHlwZXMnO1xuIl19
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Minimal shape of mongoose accepted by `connectMongo`. Passing the real
3
+ * mongoose object satisfies it; api-server takes mongoose as a parameter
4
+ * (dependency injection) so it doesn't have to declare mongoose as a
5
+ * dependency itself.
6
+ */
7
+ interface MongooseLike {
8
+ set(option: string, value: unknown): unknown;
9
+ connection: {
10
+ on(event: string, listener: (err?: Error) => void): unknown;
11
+ };
12
+ connect(uri: string, options: {
13
+ maxPoolSize: number;
14
+ minPoolSize: number;
15
+ serverSelectionTimeoutMS: number;
16
+ }): Promise<unknown>;
17
+ }
18
+ /**
19
+ * Connect to MongoDB with sensible production-ready pool defaults and
20
+ * standard event-handler wiring (error / disconnected / reconnected).
21
+ *
22
+ * Pool sizing is read from env (`MONGO_MAX_POOL`, `MONGO_MIN_POOL`,
23
+ * `MONGO_SERVER_SELECTION_MS`). Without these the driver default of
24
+ * `maxPoolSize=100` lets a burst exhaust Mongo's connection ceiling
25
+ * across replicas. Defaults: 20 max / 2 min / 5s server selection.
26
+ *
27
+ * Pass the service's own mongoose instance — api-server doesn't bundle
28
+ * mongoose itself.
29
+ */
30
+ export declare function connectMongo(mongoose: MongooseLike, uri: string): Promise<void>;
31
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ // Copyright 2026 Pipeline Builder Contributors
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.connectMongo = connectMongo;
6
+ const api_core_1 = require("@pipeline-builder/api-core");
7
+ const logger = (0, api_core_1.createLogger)('mongo-connect');
8
+ /**
9
+ * Connect to MongoDB with sensible production-ready pool defaults and
10
+ * standard event-handler wiring (error / disconnected / reconnected).
11
+ *
12
+ * Pool sizing is read from env (`MONGO_MAX_POOL`, `MONGO_MIN_POOL`,
13
+ * `MONGO_SERVER_SELECTION_MS`). Without these the driver default of
14
+ * `maxPoolSize=100` lets a burst exhaust Mongo's connection ceiling
15
+ * across replicas. Defaults: 20 max / 2 min / 5s server selection.
16
+ *
17
+ * Pass the service's own mongoose instance — api-server doesn't bundle
18
+ * mongoose itself.
19
+ */
20
+ async function connectMongo(mongoose, uri) {
21
+ mongoose.set('strictQuery', true);
22
+ mongoose.connection.on('error', (err) => {
23
+ logger.error('MongoDB connection error', { error: err?.message });
24
+ });
25
+ mongoose.connection.on('disconnected', () => {
26
+ logger.warn('MongoDB disconnected');
27
+ });
28
+ mongoose.connection.on('reconnected', () => {
29
+ logger.info('MongoDB reconnected');
30
+ });
31
+ const maxPoolSize = parseInt(process.env.MONGO_MAX_POOL || '20', 10);
32
+ const minPoolSize = parseInt(process.env.MONGO_MIN_POOL || '2', 10);
33
+ const serverSelectionTimeoutMS = parseInt(process.env.MONGO_SERVER_SELECTION_MS || '5000', 10);
34
+ await mongoose.connect(uri, { maxPoolSize, minPoolSize, serverSelectionTimeoutMS });
35
+ logger.info('MongoDB connection established', { maxPoolSize, minPoolSize, serverSelectionTimeoutMS });
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28tY29ubmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvbW9uZ28tY29ubmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLHNDQUFzQzs7QUFvQ3RDLG9DQXFCQztBQXZERCx5REFBMEQ7QUFFMUQsTUFBTSxNQUFNLEdBQUcsSUFBQSx1QkFBWSxFQUFDLGVBQWUsQ0FBQyxDQUFDO0FBb0I3Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNJLEtBQUssVUFBVSxZQUFZLENBQUMsUUFBc0IsRUFBRSxHQUFXO0lBQ3BFLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRWxDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sd0JBQXdCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLElBQUksTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRS9GLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQztJQUNwRixNQUFNLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7QUFDeEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5cbmNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcignbW9uZ28tY29ubmVjdCcpO1xuXG4vKipcbiAqIE1pbmltYWwgc2hhcGUgb2YgbW9uZ29vc2UgYWNjZXB0ZWQgYnkgYGNvbm5lY3RNb25nb2AuIFBhc3NpbmcgdGhlIHJlYWxcbiAqIG1vbmdvb3NlIG9iamVjdCBzYXRpc2ZpZXMgaXQ7IGFwaS1zZXJ2ZXIgdGFrZXMgbW9uZ29vc2UgYXMgYSBwYXJhbWV0ZXJcbiAqIChkZXBlbmRlbmN5IGluamVjdGlvbikgc28gaXQgZG9lc24ndCBoYXZlIHRvIGRlY2xhcmUgbW9uZ29vc2UgYXMgYVxuICogZGVwZW5kZW5jeSBpdHNlbGYuXG4gKi9cbmludGVyZmFjZSBNb25nb29zZUxpa2Uge1xuICBzZXQob3B0aW9uOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdW5rbm93bjtcbiAgY29ubmVjdGlvbjoge1xuICAgIG9uKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoZXJyPzogRXJyb3IpID0+IHZvaWQpOiB1bmtub3duO1xuICB9O1xuICBjb25uZWN0KHVyaTogc3RyaW5nLCBvcHRpb25zOiB7XG4gICAgbWF4UG9vbFNpemU6IG51bWJlcjtcbiAgICBtaW5Qb29sU2l6ZTogbnVtYmVyO1xuICAgIHNlcnZlclNlbGVjdGlvblRpbWVvdXRNUzogbnVtYmVyO1xuICB9KTogUHJvbWlzZTx1bmtub3duPjtcbn1cblxuLyoqXG4gKiBDb25uZWN0IHRvIE1vbmdvREIgd2l0aCBzZW5zaWJsZSBwcm9kdWN0aW9uLXJlYWR5IHBvb2wgZGVmYXVsdHMgYW5kXG4gKiBzdGFuZGFyZCBldmVudC1oYW5kbGVyIHdpcmluZyAoZXJyb3IgLyBkaXNjb25uZWN0ZWQgLyByZWNvbm5lY3RlZCkuXG4gKlxuICogUG9vbCBzaXppbmcgaXMgcmVhZCBmcm9tIGVudiAoYE1PTkdPX01BWF9QT09MYCwgYE1PTkdPX01JTl9QT09MYCxcbiAqIGBNT05HT19TRVJWRVJfU0VMRUNUSU9OX01TYCkuIFdpdGhvdXQgdGhlc2UgdGhlIGRyaXZlciBkZWZhdWx0IG9mXG4gKiBgbWF4UG9vbFNpemU9MTAwYCBsZXRzIGEgYnVyc3QgZXhoYXVzdCBNb25nbydzIGNvbm5lY3Rpb24gY2VpbGluZ1xuICogYWNyb3NzIHJlcGxpY2FzLiBEZWZhdWx0czogMjAgbWF4IC8gMiBtaW4gLyA1cyBzZXJ2ZXIgc2VsZWN0aW9uLlxuICpcbiAqIFBhc3MgdGhlIHNlcnZpY2UncyBvd24gbW9uZ29vc2UgaW5zdGFuY2Ug4oCUIGFwaS1zZXJ2ZXIgZG9lc24ndCBidW5kbGVcbiAqIG1vbmdvb3NlIGl0c2VsZi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbm5lY3RNb25nbyhtb25nb29zZTogTW9uZ29vc2VMaWtlLCB1cmk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBtb25nb29zZS5zZXQoJ3N0cmljdFF1ZXJ5JywgdHJ1ZSk7XG5cbiAgbW9uZ29vc2UuY29ubmVjdGlvbi5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAgbG9nZ2VyLmVycm9yKCdNb25nb0RCIGNvbm5lY3Rpb24gZXJyb3InLCB7IGVycm9yOiBlcnI/Lm1lc3NhZ2UgfSk7XG4gIH0pO1xuXG4gIG1vbmdvb3NlLmNvbm5lY3Rpb24ub24oJ2Rpc2Nvbm5lY3RlZCcsICgpID0+IHtcbiAgICBsb2dnZXIud2FybignTW9uZ29EQiBkaXNjb25uZWN0ZWQnKTtcbiAgfSk7XG5cbiAgbW9uZ29vc2UuY29ubmVjdGlvbi5vbigncmVjb25uZWN0ZWQnLCAoKSA9PiB7XG4gICAgbG9nZ2VyLmluZm8oJ01vbmdvREIgcmVjb25uZWN0ZWQnKTtcbiAgfSk7XG5cbiAgY29uc3QgbWF4UG9vbFNpemUgPSBwYXJzZUludChwcm9jZXNzLmVudi5NT05HT19NQVhfUE9PTCB8fCAnMjAnLCAxMCk7XG4gIGNvbnN0IG1pblBvb2xTaXplID0gcGFyc2VJbnQocHJvY2Vzcy5lbnYuTU9OR09fTUlOX1BPT0wgfHwgJzInLCAxMCk7XG4gIGNvbnN0IHNlcnZlclNlbGVjdGlvblRpbWVvdXRNUyA9IHBhcnNlSW50KHByb2Nlc3MuZW52Lk1PTkdPX1NFUlZFUl9TRUxFQ1RJT05fTVMgfHwgJzUwMDAnLCAxMCk7XG5cbiAgYXdhaXQgbW9uZ29vc2UuY29ubmVjdCh1cmksIHsgbWF4UG9vbFNpemUsIG1pblBvb2xTaXplLCBzZXJ2ZXJTZWxlY3Rpb25UaW1lb3V0TVMgfSk7XG4gIGxvZ2dlci5pbmZvKCdNb25nb0RCIGNvbm5lY3Rpb24gZXN0YWJsaXNoZWQnLCB7IG1heFBvb2xTaXplLCBtaW5Qb29sU2l6ZSwgc2VydmVyU2VsZWN0aW9uVGltZW91dE1TIH0pO1xufVxuIl19
package/package.json CHANGED
@@ -31,8 +31,6 @@
31
31
  "@opentelemetry/exporter-trace-otlp-http": "0.213.0",
32
32
  "@opentelemetry/resources": "2.6.0",
33
33
  "@opentelemetry/sdk-node": "0.213.0",
34
- "@pipeline-builder/api-core": "3.3.33",
35
- "@pipeline-builder/pipeline-core": "3.3.34",
36
34
  "compression": "1.8.0",
37
35
  "cors": "2.8.6",
38
36
  "express": "5.2.1",
@@ -43,7 +41,9 @@
43
41
  "prom-client": "15.1.3",
44
42
  "rate-limit-redis": "4.2.0",
45
43
  "swagger-ui-express": "5.0.1",
46
- "uuid": "13.0.0"
44
+ "uuid": "13.0.0",
45
+ "@pipeline-builder/api-core": "3.4.0",
46
+ "@pipeline-builder/pipeline-core": "3.4.0"
47
47
  },
48
48
  "keywords": [
49
49
  "aws",
@@ -83,7 +83,7 @@
83
83
  "main": "lib/index.js",
84
84
  "license": "Apache-2.0",
85
85
  "homepage": "https://mwashburn160.github.io/pipeline-builder/",
86
- "version": "3.3.33",
86
+ "version": "3.4.0",
87
87
  "bugs": {
88
88
  "url": "https://github.com/mwashburn160/pipeline-builder/issues"
89
89
  },