@pipeline-builder/api-core 3.4.62 → 3.4.64
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 +91 -60
- package/lib/constants/ai-providers.js +7 -12
- package/lib/constants/http-status.js +2 -5
- package/lib/constants/index.d.ts +3 -3
- package/lib/constants/index.js +4 -20
- package/lib/constants/time.js +4 -7
- package/lib/errors/app-errors.d.ts +1 -1
- package/lib/errors/app-errors.js +13 -22
- package/lib/errors/index.d.ts +1 -1
- package/lib/errors/index.js +2 -18
- package/lib/helpers/access-helpers.js +8 -11
- package/lib/helpers/crud-helpers.js +6 -10
- package/lib/helpers/index.d.ts +4 -4
- package/lib/helpers/index.js +5 -21
- package/lib/helpers/org-hierarchy.js +10 -18
- package/lib/helpers/sse-helpers.js +7 -11
- package/lib/index.d.ts +10 -10
- package/lib/index.js +11 -27
- package/lib/middleware/auth.d.ts +1 -1
- package/lib/middleware/auth.js +38 -54
- package/lib/middleware/index.d.ts +2 -2
- package/lib/middleware/index.js +3 -19
- package/lib/middleware/mongo-sanitize.js +2 -5
- package/lib/openapi/extend-zod.js +4 -6
- package/lib/openapi/index.d.ts +2 -2
- package/lib/openapi/index.js +2 -7
- package/lib/openapi/registry.js +9 -13
- package/lib/openapi/routes/billing-routes.js +10 -13
- package/lib/openapi/routes/index.js +12 -15
- package/lib/openapi/routes/message-routes.js +14 -17
- package/lib/openapi/routes/pipeline-routes.js +12 -15
- package/lib/openapi/routes/plugin-routes.js +13 -16
- package/lib/openapi/routes/quota-routes.js +9 -12
- package/lib/openapi/schema-registry.js +47 -51
- package/lib/routes/health.d.ts +1 -1
- package/lib/routes/health.js +10 -15
- package/lib/routes/index.d.ts +1 -1
- package/lib/routes/index.js +2 -18
- package/lib/services/cache-service.js +3 -8
- package/lib/services/compliance-client.d.ts +1 -1
- package/lib/services/compliance-client.js +6 -9
- package/lib/services/compliance-event-subscriber.d.ts +1 -1
- package/lib/services/compliance-event-subscriber.js +13 -15
- package/lib/services/compliance-queue.js +5 -9
- package/lib/services/entity-events.js +4 -7
- package/lib/services/http-client.d.ts +1 -1
- package/lib/services/http-client.js +15 -53
- package/lib/services/index.d.ts +10 -10
- package/lib/services/index.js +10 -37
- package/lib/services/quota.d.ts +2 -2
- package/lib/services/quota.js +18 -24
- package/lib/services/remote-audit-client.js +8 -11
- package/lib/services/retry-strategy.js +12 -21
- package/lib/types/audit-events.js +2 -3
- package/lib/types/common.js +6 -11
- package/lib/types/error-codes.js +6 -10
- package/lib/types/feature-flags.d.ts +1 -1
- package/lib/types/feature-flags.js +13 -19
- package/lib/types/http.js +2 -3
- package/lib/types/index.d.ts +7 -7
- package/lib/types/index.js +8 -24
- package/lib/types/pipeline.js +4 -7
- package/lib/types/quota-tiers.js +8 -13
- package/lib/utils/alias-resolver.js +5 -9
- package/lib/utils/audit.d.ts +1 -1
- package/lib/utils/audit.js +2 -5
- package/lib/utils/concurrency.js +2 -5
- package/lib/utils/crash-handlers.js +3 -6
- package/lib/utils/headers.js +2 -5
- package/lib/utils/identity.d.ts +1 -1
- package/lib/utils/identity.js +8 -12
- package/lib/utils/index.d.ts +13 -13
- package/lib/utils/index.js +14 -30
- package/lib/utils/logger.js +12 -19
- package/lib/utils/metric-emitter.js +4 -9
- package/lib/utils/object.js +2 -5
- package/lib/utils/org-aws-credentials.js +4 -10
- package/lib/utils/params.d.ts +1 -1
- package/lib/utils/params.js +15 -28
- package/lib/utils/response.d.ts +3 -3
- package/lib/utils/response.js +18 -30
- package/lib/utils/secret-encryption.js +17 -29
- package/lib/validation/ai-schemas.js +30 -33
- package/lib/validation/common-schemas.d.ts +1 -1
- package/lib/validation/common-schemas.js +22 -25
- package/lib/validation/index.d.ts +6 -6
- package/lib/validation/index.js +7 -23
- package/lib/validation/message-schemas.js +22 -25
- package/lib/validation/middleware.d.ts +2 -2
- package/lib/validation/middleware.js +7 -13
- package/lib/validation/pipeline-schemas.js +46 -49
- package/lib/validation/plugin-schemas.js +57 -60
- package/package.json +18 -11
package/lib/middleware/index.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
-
}
|
|
10
|
-
Object.defineProperty(o, k2, desc);
|
|
11
|
-
}) : (function(o, m, k, k2) {
|
|
12
|
-
if (k2 === undefined) k2 = k;
|
|
13
|
-
o[k2] = m[k];
|
|
14
|
-
}));
|
|
15
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
|
-
};
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
__exportStar(require("./auth"), exports);
|
|
20
|
-
__exportStar(require("./mongo-sanitize"), exports);
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWlkZGxld2FyZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLHNDQUFzQzs7Ozs7Ozs7Ozs7Ozs7OztBQUV0Qyx5Q0FBdUI7QUFDdkIsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmV4cG9ydCAqIGZyb20gJy4vYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL21vbmdvLXNhbml0aXplJztcbiJdfQ==
|
|
3
|
+
export * from './auth.js';
|
|
4
|
+
export * from './mongo-sanitize.js';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWlkZGxld2FyZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuZXhwb3J0ICogZnJvbSAnLi9hdXRoLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9uZ28tc2FuaXRpemUuanMnO1xuIl19
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.mongoSanitize = mongoSanitize;
|
|
6
3
|
/**
|
|
7
4
|
* MongoDB operator-injection middleware.
|
|
8
5
|
*
|
|
@@ -20,7 +17,7 @@ exports.mongoSanitize = mongoSanitize;
|
|
|
20
17
|
* this still works because we mutate the underlying object's keys, not the
|
|
21
18
|
* reference.
|
|
22
19
|
*/
|
|
23
|
-
function mongoSanitize() {
|
|
20
|
+
export function mongoSanitize() {
|
|
24
21
|
return (req, _res, next) => {
|
|
25
22
|
if (req.body && typeof req.body === 'object')
|
|
26
23
|
sanitizeObject(req.body);
|
|
@@ -54,4 +51,4 @@ function sanitizeObject(obj, depth = 0) {
|
|
|
54
51
|
}
|
|
55
52
|
}
|
|
56
53
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28tc2FuaXRpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWlkZGxld2FyZS9tb25nby1zYW5pdGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBSXRDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLGFBQWE7SUFDM0IsT0FBTyxDQUFDLEdBQVksRUFBRSxJQUFjLEVBQUUsSUFBa0IsRUFBRSxFQUFFO1FBQzFELElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkUsSUFBSSxHQUFHLENBQUMsS0FBSyxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyxRQUFRO1lBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFnQyxDQUFDLENBQUM7UUFDckcsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxRQUFRO1lBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFpQyxDQUFDLENBQUM7UUFDeEcsSUFBSSxFQUFFLENBQUM7SUFDVCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsR0FBNEIsRUFBRSxLQUFLLEdBQUcsQ0FBQztJQUM3RCx5REFBeUQ7SUFDekQsSUFBSSxLQUFLLEdBQUcsRUFBRTtRQUFFLE9BQU87SUFDdkIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQixTQUFTO1FBQ1gsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUTt3QkFBRSxjQUFjLENBQUMsSUFBK0IsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25HLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sY0FBYyxDQUFDLENBQTRCLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHR5cGUgeyBOZXh0RnVuY3Rpb24sIFJlcXVlc3QsIFJlc3BvbnNlIH0gZnJvbSAnZXhwcmVzcyc7XG5cbi8qKlxuICogTW9uZ29EQiBvcGVyYXRvci1pbmplY3Rpb24gbWlkZGxld2FyZS5cbiAqXG4gKiBSZWN1cnNpdmVseSBzdHJpcHMgb2JqZWN0IGtleXMgc3RhcnRpbmcgd2l0aCBgJGAgKE1vbmdvIG9wZXJhdG9ycyBsaWtlXG4gKiBgJG5lYCwgYCRndGAsIGAkd2hlcmVgKSBhbmQga2V5cyBjb250YWluaW5nIGAuYCAoZG90LXdhbGtzKSBmcm9tXG4gKiBgcmVxLmJvZHlgLCBgcmVxLnF1ZXJ5YCwgYW5kIGByZXEucGFyYW1zYC4gV2l0aG91dCB0aGlzLCBhIEpTT04gcmVxdWVzdFxuICogbGlrZSBge1wiZW1haWxcIjoge1wiJG5lXCI6IG51bGx9fWAgYWdhaW5zdCBhIE1vbmdvLWJhY2tlZCBzZXJ2aWNlIGNhbiBtYXRjaFxuICogYW55IGRvY3VtZW50IOKAlCBab2QgY2F0Y2hlcyB0aGUgd3JvbmcgKnR5cGUqIGJ1dCB3b24ndCByZWFjaCBpbnRvIG5lc3RlZFxuICogb2JqZWN0cyB0byBzdHJpcCBvcGVyYXRvci1zaGFwZWQga2V5cy5cbiAqXG4gKiBBcHBseSBCRUZPUkUgYW55IE1vbmdvIHF1ZXJ5IGhhbmRsZXIgKHR5cGljYWxseSByaWdodCBhZnRlclxuICogYGV4cHJlc3MuanNvbigpYCkuIFBvc3RncmVzLWJhY2tlZCBzZXJ2aWNlcyBkb24ndCBuZWVkIGl0LlxuICpcbiAqIE1vZGlmaWVzIGluIHBsYWNlLiBPbiBFeHByZXNzIDUrIHdoZXJlIGByZXEucXVlcnlgIGlzIGEgcmVhZC1vbmx5IGdldHRlcixcbiAqIHRoaXMgc3RpbGwgd29ya3MgYmVjYXVzZSB3ZSBtdXRhdGUgdGhlIHVuZGVybHlpbmcgb2JqZWN0J3Mga2V5cywgbm90IHRoZVxuICogcmVmZXJlbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbW9uZ29TYW5pdGl6ZSgpIHtcbiAgcmV0dXJuIChyZXE6IFJlcXVlc3QsIF9yZXM6IFJlc3BvbnNlLCBuZXh0OiBOZXh0RnVuY3Rpb24pID0+IHtcbiAgICBpZiAocmVxLmJvZHkgJiYgdHlwZW9mIHJlcS5ib2R5ID09PSAnb2JqZWN0Jykgc2FuaXRpemVPYmplY3QocmVxLmJvZHkpO1xuICAgIGlmIChyZXEucXVlcnkgJiYgdHlwZW9mIHJlcS5xdWVyeSA9PT0gJ29iamVjdCcpIHNhbml0aXplT2JqZWN0KHJlcS5xdWVyeSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG4gICAgaWYgKHJlcS5wYXJhbXMgJiYgdHlwZW9mIHJlcS5wYXJhbXMgPT09ICdvYmplY3QnKSBzYW5pdGl6ZU9iamVjdChyZXEucGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcbiAgICBuZXh0KCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplT2JqZWN0KG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGRlcHRoID0gMCk6IHZvaWQge1xuICAvLyBDYXAgZGVwdGgg4oCUIGRlZmVuc2UgYWdhaW5zdCBwYXRob2xvZ2ljYWwgbmVzdGVkIGlucHV0LlxuICBpZiAoZGVwdGggPiAxMCkgcmV0dXJuO1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmopKSB7XG4gICAgaWYgKGtleS5zdGFydHNXaXRoKCckJykgfHwga2V5LmluY2x1ZGVzKCcuJykpIHtcbiAgICAgIGRlbGV0ZSBvYmpba2V5XTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCB2ID0gb2JqW2tleV07XG4gICAgaWYgKHYgJiYgdHlwZW9mIHYgPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygdikge1xuICAgICAgICAgIGlmIChpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0Jykgc2FuaXRpemVPYmplY3QoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgZGVwdGggKyAxKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2FuaXRpemVPYmplY3QodiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgZGVwdGggKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kLXpvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVuYXBpL2V4dGVuZC16b2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7O0FBRXRDLG1FQUFzRTtBQUN0RSw2QkFBd0I7QUFFeEIsSUFBQSxxQ0FBb0IsRUFBQyxPQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBleHRlbmRab2RXaXRoT3BlbkFwaSB9IGZyb20gJ0Bhc3RlYXNvbHV0aW9ucy96b2QtdG8tb3BlbmFwaSc7XG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcblxuZXh0ZW5kWm9kV2l0aE9wZW5BcGkoeik7XG4iXX0=
|
|
3
|
+
import { extendZodWithOpenApi } from '@asteasolutions/zod-to-openapi';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
extendZodWithOpenApi(z);
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kLXpvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVuYXBpL2V4dGVuZC16b2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGV4dGVuZFpvZFdpdGhPcGVuQXBpIH0gZnJvbSAnQGFzdGVhc29sdXRpb25zL3pvZC10by1vcGVuYXBpJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuXG5leHRlbmRab2RXaXRoT3BlbkFwaSh6KTtcbiJdfQ==
|
package/lib/openapi/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { registry, generateOpenApiSpec } from './registry';
|
|
2
|
-
export type { OpenApiSpecOptions } from './registry';
|
|
1
|
+
export { registry, generateOpenApiSpec } from './registry.js';
|
|
2
|
+
export type { OpenApiSpecOptions } from './registry.js';
|
package/lib/openapi/index.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.generateOpenApiSpec = exports.registry = void 0;
|
|
6
3
|
// Public API
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(exports, "generateOpenApiSpec", { enumerable: true, get: function () { return registry_1.generateOpenApiSpec; } });
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3BlbmFwaS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLHNDQUFzQzs7O0FBRXRDLGFBQWE7QUFDYix1Q0FBMkQ7QUFBbEQsb0dBQUEsUUFBUSxPQUFBO0FBQUUsK0dBQUEsbUJBQW1CLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLy8gUHVibGljIEFQSVxuZXhwb3J0IHsgcmVnaXN0cnksIGdlbmVyYXRlT3BlbkFwaVNwZWMgfSBmcm9tICcuL3JlZ2lzdHJ5JztcbmV4cG9ydCB0eXBlIHsgT3BlbkFwaVNwZWNPcHRpb25zIH0gZnJvbSAnLi9yZWdpc3RyeSc7XG4iXX0=
|
|
4
|
+
export { registry, generateOpenApiSpec } from './registry.js';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3BlbmFwaS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLGFBQWE7QUFDYixPQUFPLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8vIFB1YmxpYyBBUElcbmV4cG9ydCB7IHJlZ2lzdHJ5LCBnZW5lcmF0ZU9wZW5BcGlTcGVjIH0gZnJvbSAnLi9yZWdpc3RyeS5qcyc7XG5leHBvcnQgdHlwZSB7IE9wZW5BcGlTcGVjT3B0aW9ucyB9IGZyb20gJy4vcmVnaXN0cnkuanMnO1xuIl19
|
package/lib/openapi/registry.js
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const zod_to_openapi_1 = require("@asteasolutions/zod-to-openapi");
|
|
8
|
-
const routes_1 = require("./routes");
|
|
9
|
-
const schema_registry_1 = require("./schema-registry");
|
|
3
|
+
import { OpenAPIRegistry, OpenApiGeneratorV31 } from '@asteasolutions/zod-to-openapi';
|
|
4
|
+
import { registerAllRoutes } from './routes/index.js';
|
|
5
|
+
import { registerSchemas } from './schema-registry.js';
|
|
10
6
|
/** Shared OpenAPI registry for all schema and path registrations. */
|
|
11
|
-
|
|
7
|
+
export const registry = new OpenAPIRegistry();
|
|
12
8
|
let _initialized = false;
|
|
13
9
|
/** Execute all registrations once. */
|
|
14
10
|
function ensureInitialized() {
|
|
15
11
|
if (_initialized)
|
|
16
12
|
return;
|
|
17
13
|
_initialized = true;
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
registerSchemas();
|
|
15
|
+
registerAllRoutes();
|
|
20
16
|
}
|
|
21
17
|
/**
|
|
22
18
|
* Generate the complete OpenAPI 3.1.0 specification document.
|
|
@@ -24,9 +20,9 @@ function ensureInitialized() {
|
|
|
24
20
|
* @param options - Optional overrides for spec metadata
|
|
25
21
|
* @returns OpenAPI 3.1 specification object
|
|
26
22
|
*/
|
|
27
|
-
function generateOpenApiSpec(options) {
|
|
23
|
+
export function generateOpenApiSpec(options) {
|
|
28
24
|
ensureInitialized();
|
|
29
|
-
const generator = new
|
|
25
|
+
const generator = new OpenApiGeneratorV31(registry.definitions);
|
|
30
26
|
return generator.generateDocument({
|
|
31
27
|
openapi: '3.1.0',
|
|
32
28
|
info: {
|
|
@@ -39,4 +35,4 @@ function generateOpenApiSpec(options) {
|
|
|
39
35
|
],
|
|
40
36
|
});
|
|
41
37
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3BlbmFwaS9yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQscUVBQXFFO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0FBVTlDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztBQUV6QixzQ0FBc0M7QUFDdEMsU0FBUyxpQkFBaUI7SUFDeEIsSUFBSSxZQUFZO1FBQUUsT0FBTztJQUN6QixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLGlCQUFpQixFQUFFLENBQUM7QUFDdEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxPQUE0QjtJQUU1QixpQkFBaUIsRUFBRSxDQUFDO0lBRXBCLE1BQU0sU0FBUyxHQUFHLElBQUksbUJBQW1CLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLE9BQU8sU0FBUyxDQUFDLGdCQUFnQixDQUFDO1FBQ2hDLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxJQUFJLHNCQUFzQjtZQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sSUFBSSxPQUFPO1lBQ3BDLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxJQUFJLGlHQUFpRztTQUN2STtRQUNELE9BQU8sRUFBRTtZQUNQLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUU7U0FDcEU7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IE9wZW5BUElSZWdpc3RyeSwgT3BlbkFwaUdlbmVyYXRvclYzMSB9IGZyb20gJ0Bhc3RlYXNvbHV0aW9ucy96b2QtdG8tb3BlbmFwaSc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyQWxsUm91dGVzIH0gZnJvbSAnLi9yb3V0ZXMvaW5kZXguanMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJTY2hlbWFzIH0gZnJvbSAnLi9zY2hlbWEtcmVnaXN0cnkuanMnO1xuXG4vKiogU2hhcmVkIE9wZW5BUEkgcmVnaXN0cnkgZm9yIGFsbCBzY2hlbWEgYW5kIHBhdGggcmVnaXN0cmF0aW9ucy4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RyeSA9IG5ldyBPcGVuQVBJUmVnaXN0cnkoKTtcblxuLyoqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIHRoZSBnZW5lcmF0ZWQgT3BlbkFQSSBzcGVjLiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVuQXBpU3BlY09wdGlvbnMge1xuICB0aXRsZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHNlcnZlclVybD86IHN0cmluZztcbn1cblxubGV0IF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4vKiogRXhlY3V0ZSBhbGwgcmVnaXN0cmF0aW9ucyBvbmNlLiAqL1xuZnVuY3Rpb24gZW5zdXJlSW5pdGlhbGl6ZWQoKTogdm9pZCB7XG4gIGlmIChfaW5pdGlhbGl6ZWQpIHJldHVybjtcbiAgX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgcmVnaXN0ZXJTY2hlbWFzKCk7XG4gIHJlZ2lzdGVyQWxsUm91dGVzKCk7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgdGhlIGNvbXBsZXRlIE9wZW5BUEkgMy4xLjAgc3BlY2lmaWNhdGlvbiBkb2N1bWVudC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIG92ZXJyaWRlcyBmb3Igc3BlYyBtZXRhZGF0YVxuICogQHJldHVybnMgT3BlbkFQSSAzLjEgc3BlY2lmaWNhdGlvbiBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlT3BlbkFwaVNwZWMoXG4gIG9wdGlvbnM/OiBPcGVuQXBpU3BlY09wdGlvbnMsXG4pOiBSZXR1cm5UeXBlPE9wZW5BcGlHZW5lcmF0b3JWMzFbJ2dlbmVyYXRlRG9jdW1lbnQnXT4ge1xuICBlbnN1cmVJbml0aWFsaXplZCgpO1xuXG4gIGNvbnN0IGdlbmVyYXRvciA9IG5ldyBPcGVuQXBpR2VuZXJhdG9yVjMxKHJlZ2lzdHJ5LmRlZmluaXRpb25zKTtcbiAgcmV0dXJuIGdlbmVyYXRvci5nZW5lcmF0ZURvY3VtZW50KHtcbiAgICBvcGVuYXBpOiAnMy4xLjAnLFxuICAgIGluZm86IHtcbiAgICAgIHRpdGxlOiBvcHRpb25zPy50aXRsZSA/PyAnUGlwZWxpbmUgQnVpbGRlciBBUEknLFxuICAgICAgdmVyc2lvbjogb3B0aW9ucz8udmVyc2lvbiA/PyAnMS4wLjAnLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnM/LmRlc2NyaXB0aW9uID8/ICdDSS9DRCBQaXBlbGluZSBCdWlsZGVyIFBsYXRmb3JtIEFQSSDigJQgbWFuYWdlIHBpcGVsaW5lcywgcGx1Z2lucywgbWVzc2FnZXMsIHF1b3RhcywgYW5kIGJpbGxpbmcuJyxcbiAgICB9LFxuICAgIHNlcnZlcnM6IFtcbiAgICAgIHsgdXJsOiBvcHRpb25zPy5zZXJ2ZXJVcmwgPz8gJy9hcGknLCBkZXNjcmlwdGlvbjogJ0FQSSBiYXNlIHBhdGgnIH0sXG4gICAgXSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
exports.registerBillingRoutes = registerBillingRoutes;
|
|
6
|
-
const registry_1 = require("../registry");
|
|
3
|
+
import { registry } from '../registry.js';
|
|
7
4
|
const tags = ['Billing'];
|
|
8
5
|
const auth = [{ bearerAuth: [] }];
|
|
9
|
-
function registerBillingRoutes() {
|
|
10
|
-
|
|
6
|
+
export function registerBillingRoutes() {
|
|
7
|
+
registry.registerPath({
|
|
11
8
|
method: 'get',
|
|
12
9
|
path: '/billing/plans',
|
|
13
10
|
summary: 'List active plans',
|
|
@@ -15,14 +12,14 @@ function registerBillingRoutes() {
|
|
|
15
12
|
tags,
|
|
16
13
|
responses: { 200: { description: 'List of active billing plans' } },
|
|
17
14
|
});
|
|
18
|
-
|
|
15
|
+
registry.registerPath({
|
|
19
16
|
method: 'get',
|
|
20
17
|
path: '/billing/plans/{planId}',
|
|
21
18
|
summary: 'Get plan by ID',
|
|
22
19
|
tags,
|
|
23
20
|
responses: { 200: { description: 'Plan details' }, 404: { description: 'Plan not found' } },
|
|
24
21
|
});
|
|
25
|
-
|
|
22
|
+
registry.registerPath({
|
|
26
23
|
method: 'post',
|
|
27
24
|
path: '/billing/subscriptions',
|
|
28
25
|
summary: 'Create subscription',
|
|
@@ -31,7 +28,7 @@ function registerBillingRoutes() {
|
|
|
31
28
|
security: auth,
|
|
32
29
|
responses: { 201: { description: 'Subscription created' }, 400: { description: 'Validation error' } },
|
|
33
30
|
});
|
|
34
|
-
|
|
31
|
+
registry.registerPath({
|
|
35
32
|
method: 'get',
|
|
36
33
|
path: '/billing/subscriptions',
|
|
37
34
|
summary: 'List subscriptions',
|
|
@@ -40,7 +37,7 @@ function registerBillingRoutes() {
|
|
|
40
37
|
security: auth,
|
|
41
38
|
responses: { 200: { description: 'List of subscriptions' } },
|
|
42
39
|
});
|
|
43
|
-
|
|
40
|
+
registry.registerPath({
|
|
44
41
|
method: 'put',
|
|
45
42
|
path: '/billing/subscriptions/{id}',
|
|
46
43
|
summary: 'Update subscription',
|
|
@@ -48,7 +45,7 @@ function registerBillingRoutes() {
|
|
|
48
45
|
security: auth,
|
|
49
46
|
responses: { 200: { description: 'Subscription updated' }, 404: { description: 'Not found' } },
|
|
50
47
|
});
|
|
51
|
-
|
|
48
|
+
registry.registerPath({
|
|
52
49
|
method: 'delete',
|
|
53
50
|
path: '/billing/subscriptions/{id}',
|
|
54
51
|
summary: 'Cancel subscription',
|
|
@@ -56,7 +53,7 @@ function registerBillingRoutes() {
|
|
|
56
53
|
security: auth,
|
|
57
54
|
responses: { 200: { description: 'Subscription cancelled' }, 404: { description: 'Not found' } },
|
|
58
55
|
});
|
|
59
|
-
|
|
56
|
+
registry.registerPath({
|
|
60
57
|
method: 'post',
|
|
61
58
|
path: '/billing/marketplace',
|
|
62
59
|
summary: 'AWS Marketplace integration',
|
|
@@ -66,4 +63,4 @@ function registerBillingRoutes() {
|
|
|
66
63
|
responses: { 200: { description: 'Marketplace event processed' } },
|
|
67
64
|
});
|
|
68
65
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy1yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3BlbmFwaS9yb3V0ZXMvYmlsbGluZy1yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN6QixNQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFbEMsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLFdBQVcsRUFBRSw0REFBNEQ7UUFDekUsSUFBSTtRQUNKLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBRSxFQUFFO0tBQ3BFLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDcEIsTUFBTSxFQUFFLEtBQUs7UUFDYixJQUFJLEVBQUUseUJBQXlCO1FBQy9CLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSTtRQUNKLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRTtLQUM1RixDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixPQUFPLEVBQUUscUJBQXFCO1FBQzlCLFdBQVcsRUFBRSxpRUFBaUU7UUFDOUUsSUFBSTtRQUNKLFFBQVEsRUFBRSxJQUFJO1FBQ2QsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLEVBQUU7S0FDdEcsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNwQixNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUUsMERBQTBEO1FBQ3ZFLElBQUk7UUFDSixRQUFRLEVBQUUsSUFBSTtRQUNkLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxFQUFFO0tBQzdELENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDcEIsTUFBTSxFQUFFLEtBQUs7UUFDYixJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsSUFBSTtRQUNKLFFBQVEsRUFBRSxJQUFJO1FBQ2QsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxFQUFFO0tBQy9GLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDcEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsSUFBSSxFQUFFLDZCQUE2QjtRQUNuQyxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLElBQUk7UUFDSixRQUFRLEVBQUUsSUFBSTtRQUNkLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRTtLQUNqRyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixPQUFPLEVBQUUsNkJBQTZCO1FBQ3RDLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSTtRQUNKLFFBQVEsRUFBRSxJQUFJO1FBQ2QsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLDZCQUE2QixFQUFFLEVBQUU7S0FDbkUsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyByZWdpc3RyeSB9IGZyb20gJy4uL3JlZ2lzdHJ5LmpzJztcblxuY29uc3QgdGFncyA9IFsnQmlsbGluZyddO1xuY29uc3QgYXV0aCA9IFt7IGJlYXJlckF1dGg6IFtdIH1dO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJCaWxsaW5nUm91dGVzKCk6IHZvaWQge1xuICByZWdpc3RyeS5yZWdpc3RlclBhdGgoe1xuICAgIG1ldGhvZDogJ2dldCcsXG4gICAgcGF0aDogJy9iaWxsaW5nL3BsYW5zJyxcbiAgICBzdW1tYXJ5OiAnTGlzdCBhY3RpdmUgcGxhbnMnLFxuICAgIGRlc2NyaXB0aW9uOiAnTGlzdCBhbGwgYWN0aXZlIGJpbGxpbmcgcGxhbnMuIE5vIGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkLicsXG4gICAgdGFncyxcbiAgICByZXNwb25zZXM6IHsgMjAwOiB7IGRlc2NyaXB0aW9uOiAnTGlzdCBvZiBhY3RpdmUgYmlsbGluZyBwbGFucycgfSB9LFxuICB9KTtcblxuICByZWdpc3RyeS5yZWdpc3RlclBhdGgoe1xuICAgIG1ldGhvZDogJ2dldCcsXG4gICAgcGF0aDogJy9iaWxsaW5nL3BsYW5zL3twbGFuSWR9JyxcbiAgICBzdW1tYXJ5OiAnR2V0IHBsYW4gYnkgSUQnLFxuICAgIHRhZ3MsXG4gICAgcmVzcG9uc2VzOiB7IDIwMDogeyBkZXNjcmlwdGlvbjogJ1BsYW4gZGV0YWlscycgfSwgNDA0OiB7IGRlc2NyaXB0aW9uOiAnUGxhbiBub3QgZm91bmQnIH0gfSxcbiAgfSk7XG5cbiAgcmVnaXN0cnkucmVnaXN0ZXJQYXRoKHtcbiAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICBwYXRoOiAnL2JpbGxpbmcvc3Vic2NyaXB0aW9ucycsXG4gICAgc3VtbWFyeTogJ0NyZWF0ZSBzdWJzY3JpcHRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnQ3JlYXRlIGEgbmV3IGJpbGxpbmcgc3Vic2NyaXB0aW9uIGZvciB0aGUgY3VycmVudCBvcmdhbml6YXRpb24uJyxcbiAgICB0YWdzLFxuICAgIHNlY3VyaXR5OiBhdXRoLFxuICAgIHJlc3BvbnNlczogeyAyMDE6IHsgZGVzY3JpcHRpb246ICdTdWJzY3JpcHRpb24gY3JlYXRlZCcgfSwgNDAwOiB7IGRlc2NyaXB0aW9uOiAnVmFsaWRhdGlvbiBlcnJvcicgfSB9LFxuICB9KTtcblxuICByZWdpc3RyeS5yZWdpc3RlclBhdGgoe1xuICAgIG1ldGhvZDogJ2dldCcsXG4gICAgcGF0aDogJy9iaWxsaW5nL3N1YnNjcmlwdGlvbnMnLFxuICAgIHN1bW1hcnk6ICdMaXN0IHN1YnNjcmlwdGlvbnMnLFxuICAgIGRlc2NyaXB0aW9uOiAnTGlzdCBiaWxsaW5nIHN1YnNjcmlwdGlvbnMgZm9yIHRoZSBjdXJyZW50IG9yZ2FuaXphdGlvbi4nLFxuICAgIHRhZ3MsXG4gICAgc2VjdXJpdHk6IGF1dGgsXG4gICAgcmVzcG9uc2VzOiB7IDIwMDogeyBkZXNjcmlwdGlvbjogJ0xpc3Qgb2Ygc3Vic2NyaXB0aW9ucycgfSB9LFxuICB9KTtcblxuICByZWdpc3RyeS5yZWdpc3RlclBhdGgoe1xuICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgcGF0aDogJy9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfScsXG4gICAgc3VtbWFyeTogJ1VwZGF0ZSBzdWJzY3JpcHRpb24nLFxuICAgIHRhZ3MsXG4gICAgc2VjdXJpdHk6IGF1dGgsXG4gICAgcmVzcG9uc2VzOiB7IDIwMDogeyBkZXNjcmlwdGlvbjogJ1N1YnNjcmlwdGlvbiB1cGRhdGVkJyB9LCA0MDQ6IHsgZGVzY3JpcHRpb246ICdOb3QgZm91bmQnIH0gfSxcbiAgfSk7XG5cbiAgcmVnaXN0cnkucmVnaXN0ZXJQYXRoKHtcbiAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgIHBhdGg6ICcvYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0nLFxuICAgIHN1bW1hcnk6ICdDYW5jZWwgc3Vic2NyaXB0aW9uJyxcbiAgICB0YWdzLFxuICAgIHNlY3VyaXR5OiBhdXRoLFxuICAgIHJlc3BvbnNlczogeyAyMDA6IHsgZGVzY3JpcHRpb246ICdTdWJzY3JpcHRpb24gY2FuY2VsbGVkJyB9LCA0MDQ6IHsgZGVzY3JpcHRpb246ICdOb3QgZm91bmQnIH0gfSxcbiAgfSk7XG5cbiAgcmVnaXN0cnkucmVnaXN0ZXJQYXRoKHtcbiAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICBwYXRoOiAnL2JpbGxpbmcvbWFya2V0cGxhY2UnLFxuICAgIHN1bW1hcnk6ICdBV1MgTWFya2V0cGxhY2UgaW50ZWdyYXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnSGFuZGxlIEFXUyBNYXJrZXRwbGFjZSBzdWJzY3JpcHRpb24gZXZlbnRzLicsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAwOiB7IGRlc2NyaXB0aW9uOiAnTWFya2V0cGxhY2UgZXZlbnQgcHJvY2Vzc2VkJyB9IH0sXG4gIH0pO1xufVxuIl19
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const plugin_routes_1 = require("./plugin-routes");
|
|
10
|
-
const quota_routes_1 = require("./quota-routes");
|
|
3
|
+
import { registerBillingRoutes } from './billing-routes.js';
|
|
4
|
+
import { registerMessageRoutes } from './message-routes.js';
|
|
5
|
+
import { registerPipelineRoutes } from './pipeline-routes.js';
|
|
6
|
+
import { registerPluginRoutes } from './plugin-routes.js';
|
|
7
|
+
import { registerQuotaRoutes } from './quota-routes.js';
|
|
11
8
|
/**
|
|
12
9
|
* Register all OpenAPI route definitions with the shared registry.
|
|
13
10
|
* Call this once during spec generation initialization.
|
|
14
11
|
*/
|
|
15
|
-
function registerAllRoutes() {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
export function registerAllRoutes() {
|
|
13
|
+
registerBillingRoutes();
|
|
14
|
+
registerMessageRoutes();
|
|
15
|
+
registerPipelineRoutes();
|
|
16
|
+
registerPluginRoutes();
|
|
17
|
+
registerQuotaRoutes();
|
|
21
18
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3BlbmFwaS9yb3V0ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV4RDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLHFCQUFxQixFQUFFLENBQUM7SUFDeEIscUJBQXFCLEVBQUUsQ0FBQztJQUN4QixzQkFBc0IsRUFBRSxDQUFDO0lBQ3pCLG9CQUFvQixFQUFFLENBQUM7SUFDdkIsbUJBQW1CLEVBQUUsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IHJlZ2lzdGVyQmlsbGluZ1JvdXRlcyB9IGZyb20gJy4vYmlsbGluZy1yb3V0ZXMuanMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJNZXNzYWdlUm91dGVzIH0gZnJvbSAnLi9tZXNzYWdlLXJvdXRlcy5qcyc7XG5pbXBvcnQgeyByZWdpc3RlclBpcGVsaW5lUm91dGVzIH0gZnJvbSAnLi9waXBlbGluZS1yb3V0ZXMuanMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJQbHVnaW5Sb3V0ZXMgfSBmcm9tICcuL3BsdWdpbi1yb3V0ZXMuanMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJRdW90YVJvdXRlcyB9IGZyb20gJy4vcXVvdGEtcm91dGVzLmpzJztcblxuLyoqXG4gKiBSZWdpc3RlciBhbGwgT3BlbkFQSSByb3V0ZSBkZWZpbml0aW9ucyB3aXRoIHRoZSBzaGFyZWQgcmVnaXN0cnkuXG4gKiBDYWxsIHRoaXMgb25jZSBkdXJpbmcgc3BlYyBnZW5lcmF0aW9uIGluaXRpYWxpemF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJBbGxSb3V0ZXMoKTogdm9pZCB7XG4gIHJlZ2lzdGVyQmlsbGluZ1JvdXRlcygpO1xuICByZWdpc3Rlck1lc3NhZ2VSb3V0ZXMoKTtcbiAgcmVnaXN0ZXJQaXBlbGluZVJvdXRlcygpO1xuICByZWdpc3RlclBsdWdpblJvdXRlcygpO1xuICByZWdpc3RlclF1b3RhUm91dGVzKCk7XG59XG4iXX0=
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
exports.registerMessageRoutes = registerMessageRoutes;
|
|
6
|
-
const registry_1 = require("../registry");
|
|
3
|
+
import { registry } from '../registry.js';
|
|
7
4
|
const tags = ['Messages'];
|
|
8
5
|
const auth = [{ bearerAuth: [] }];
|
|
9
|
-
function registerMessageRoutes() {
|
|
10
|
-
|
|
6
|
+
export function registerMessageRoutes() {
|
|
7
|
+
registry.registerPath({
|
|
11
8
|
method: 'get',
|
|
12
9
|
path: '/messages',
|
|
13
10
|
summary: 'List inbox messages',
|
|
@@ -16,7 +13,7 @@ function registerMessageRoutes() {
|
|
|
16
13
|
security: auth,
|
|
17
14
|
responses: { 200: { description: 'Paginated list of messages' } },
|
|
18
15
|
});
|
|
19
|
-
|
|
16
|
+
registry.registerPath({
|
|
20
17
|
method: 'get',
|
|
21
18
|
path: '/messages/announcements',
|
|
22
19
|
summary: 'List announcements',
|
|
@@ -25,7 +22,7 @@ function registerMessageRoutes() {
|
|
|
25
22
|
security: auth,
|
|
26
23
|
responses: { 200: { description: 'List of announcements' } },
|
|
27
24
|
});
|
|
28
|
-
|
|
25
|
+
registry.registerPath({
|
|
29
26
|
method: 'get',
|
|
30
27
|
path: '/messages/conversations',
|
|
31
28
|
summary: 'List conversations',
|
|
@@ -34,7 +31,7 @@ function registerMessageRoutes() {
|
|
|
34
31
|
security: auth,
|
|
35
32
|
responses: { 200: { description: 'List of conversations' } },
|
|
36
33
|
});
|
|
37
|
-
|
|
34
|
+
registry.registerPath({
|
|
38
35
|
method: 'get',
|
|
39
36
|
path: '/messages/unread/count',
|
|
40
37
|
summary: 'Get unread count',
|
|
@@ -43,7 +40,7 @@ function registerMessageRoutes() {
|
|
|
43
40
|
security: auth,
|
|
44
41
|
responses: { 200: { description: 'Unread message count' } },
|
|
45
42
|
});
|
|
46
|
-
|
|
43
|
+
registry.registerPath({
|
|
47
44
|
method: 'get',
|
|
48
45
|
path: '/messages/{id}',
|
|
49
46
|
summary: 'Get message by ID',
|
|
@@ -51,7 +48,7 @@ function registerMessageRoutes() {
|
|
|
51
48
|
security: auth,
|
|
52
49
|
responses: { 200: { description: 'Message details' }, 404: { description: 'Not found' } },
|
|
53
50
|
});
|
|
54
|
-
|
|
51
|
+
registry.registerPath({
|
|
55
52
|
method: 'get',
|
|
56
53
|
path: '/messages/{id}/thread',
|
|
57
54
|
summary: 'Get message thread',
|
|
@@ -60,7 +57,7 @@ function registerMessageRoutes() {
|
|
|
60
57
|
security: auth,
|
|
61
58
|
responses: { 200: { description: 'Thread messages sorted by date' } },
|
|
62
59
|
});
|
|
63
|
-
|
|
60
|
+
registry.registerPath({
|
|
64
61
|
method: 'post',
|
|
65
62
|
path: '/messages',
|
|
66
63
|
summary: 'Create a message',
|
|
@@ -69,7 +66,7 @@ function registerMessageRoutes() {
|
|
|
69
66
|
security: auth,
|
|
70
67
|
responses: { 201: { description: 'Message created' }, 400: { description: 'Validation error' } },
|
|
71
68
|
});
|
|
72
|
-
|
|
69
|
+
registry.registerPath({
|
|
73
70
|
method: 'post',
|
|
74
71
|
path: '/messages/{id}/reply',
|
|
75
72
|
summary: 'Reply to a message',
|
|
@@ -78,7 +75,7 @@ function registerMessageRoutes() {
|
|
|
78
75
|
security: auth,
|
|
79
76
|
responses: { 201: { description: 'Reply created' }, 404: { description: 'Parent message not found' } },
|
|
80
77
|
});
|
|
81
|
-
|
|
78
|
+
registry.registerPath({
|
|
82
79
|
method: 'put',
|
|
83
80
|
path: '/messages/{id}/read',
|
|
84
81
|
summary: 'Mark message as read',
|
|
@@ -86,7 +83,7 @@ function registerMessageRoutes() {
|
|
|
86
83
|
security: auth,
|
|
87
84
|
responses: { 200: { description: 'Message marked as read' } },
|
|
88
85
|
});
|
|
89
|
-
|
|
86
|
+
registry.registerPath({
|
|
90
87
|
method: 'put',
|
|
91
88
|
path: '/messages/{id}/thread/read',
|
|
92
89
|
summary: 'Mark thread as read',
|
|
@@ -95,7 +92,7 @@ function registerMessageRoutes() {
|
|
|
95
92
|
security: auth,
|
|
96
93
|
responses: { 200: { description: 'Thread marked as read' } },
|
|
97
94
|
});
|
|
98
|
-
|
|
95
|
+
registry.registerPath({
|
|
99
96
|
method: 'delete',
|
|
100
97
|
path: '/messages/{id}',
|
|
101
98
|
summary: 'Delete a message',
|
|
@@ -105,4 +102,4 @@ function registerMessageRoutes() {
|
|
|
105
102
|
responses: { 200: { description: 'Message deleted' }, 404: { description: 'Not found' } },
|
|
106
103
|
});
|
|
107
104
|
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3BlbmFwaS9yb3V0ZXMvbWVzc2FnZS1yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxQixNQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFbEMsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixXQUFXLEVBQUUsNEVBQTRFO1FBQ3pGLElBQUk7UUFDSixRQUFRLEVBQUUsSUFBSTtRQUNkLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxFQUFFO0tBQ2xFLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDcEIsTUFBTSxFQUFFLEtBQUs7UUFDYixJQUFJLEVBQUUseUJBQXlCO1FBQy9CLE9BQU8sRUFBRSxvQkFBb0I7UUFDN0IsV0FBVyxFQUFFLGtDQUFrQztRQUMvQyxJQUFJO1FBQ0osUUFBUSxFQUFFLElBQUk7UUFDZCxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsRUFBRTtLQUM3RCxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLFdBQVcsRUFBRSxrQ0FBa0M7UUFDL0MsSUFB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QWdCO1FBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxJQUFJO1FBQ0osUUFBUSxFQUFFLElBQUk7UUFDZCxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEVBQUU7S0FDMUYsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyByZWdpc3RyeSB9IGZyb20gJy4uL3JlZ2lzdHJ5LmpzJztcblxuY29uc3QgdGFncyA9IFsnTWVzc2FnZXMnXTtcbmNvbnN0IGF1dGggPSBbeyBiZWFyZXJBdXRoOiBbXSB9XTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyTWVzc2FnZVJvdXRlcygpOiB2b2lkIHtcbiAgcmVnaXN0cnkucmVnaXN0ZXJQYXRoKHtcbiAgICBtZXRob2Q6ICdnZXQnLFxuICAgIHBhdGg6ICcvbWVzc2FnZXMnLFxuICAgIHN1bW1hcnk6ICdMaXN0IGluYm94IG1lc3NhZ2VzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0xpc3Qgcm9vdCBtZXNzYWdlcyAoaW5ib3gpIHdpdGggb3B0aW9uYWwgZmlsdGVyaW5nIGJ5IHR5cGUgYW5kIHBhZ2luYXRpb24uJyxcbiAgICB0YWdzLFxuICAgIHNlY3VyaXR5OiBhdXRoLFxuICAgIHJlc3BvbnNlczogeyAyMDA6IHsgZGVzY3JpcHRpb246ICdQYWdpbmF0ZWQgbGlzdCBvZiBtZXNzYWdlcycgfSB9LFxuICB9KTtcblxuICByZWdpc3RyeS5yZWdpc3RlclBhdGgoe1xuICAgIG1ldGhvZDogJ2dldCcsXG4gICAgcGF0aDogJy9tZXNzYWdlcy9hbm5vdW5jZW1lbnRzJyxcbiAgICBzdW1tYXJ5OiAnTGlzdCBhbm5vdW5jZW1lbnRzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0xpc3QgYW5ub3VuY2VtZW50IG1lc3NhZ2VzIG9ubHkuJyxcbiAgICB0YWdzLFxuICAgIHNlY3VyaXR5OiBhdXRoLFxuICAgIHJlc3BvbnNlczogeyAyMDA6IHsgZGVzY3JpcHRpb246ICdMaXN0IG9mIGFubm91bmNlbWVudHMnIH0gfSxcbiAgfSk7XG5cbiAgcmVnaXN0cnkucmVnaXN0ZXJQYXRoKHtcbiAgICBtZXRob2Q6ICdnZXQnLFxuICAgIHBhdGg6ICcvbWVzc2FnZXMvY29udmVyc2F0aW9ucycsXG4gICAgc3VtbWFyeTogJ0xpc3QgY29udmVyc2F0aW9ucycsXG4gICAgZGVzY3JpcHRpb246ICdMaXN0IGNvbnZlcnNhdGlvbiBtZXNzYWdlcyBvbmx5LicsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAwOiB7IGRlc2NyaXB0aW9uOiAnTGlzdCBvZiBjb252ZXJzYXRpb25zJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAnZ2V0JyxcbiAgICBwYXRoOiAnL21lc3NhZ2VzL3VucmVhZC9jb3VudCcsXG4gICAgc3VtbWFyeTogJ0dldCB1bnJlYWQgY291bnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IHRoZSBudW1iZXIgb2YgdW5yZWFkIG1lc3NhZ2VzIGZvciB0aGUgY3VycmVudCBvcmdhbml6YXRpb24uJyxcbiAgICB0YWdzLFxuICAgIHNlY3VyaXR5OiBhdXRoLFxuICAgIHJlc3BvbnNlczogeyAyMDA6IHsgZGVzY3JpcHRpb246ICdVbnJlYWQgbWVzc2FnZSBjb3VudCcgfSB9LFxuICB9KTtcblxuICByZWdpc3RyeS5yZWdpc3RlclBhdGgoe1xuICAgIG1ldGhvZDogJ2dldCcsXG4gICAgcGF0aDogJy9tZXNzYWdlcy97aWR9JyxcbiAgICBzdW1tYXJ5OiAnR2V0IG1lc3NhZ2UgYnkgSUQnLFxuICAgIHRhZ3MsXG4gICAgc2VjdXJpdHk6IGF1dGgsXG4gICAgcmVzcG9uc2VzOiB7IDIwMDogeyBkZXNjcmlwdGlvbjogJ01lc3NhZ2UgZGV0YWlscycgfSwgNDA0OiB7IGRlc2NyaXB0aW9uOiAnTm90IGZvdW5kJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAnZ2V0JyxcbiAgICBwYXRoOiAnL21lc3NhZ2VzL3tpZH0vdGhyZWFkJyxcbiAgICBzdW1tYXJ5OiAnR2V0IG1lc3NhZ2UgdGhyZWFkJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhbGwgbWVzc2FnZXMgaW4gYSB0aHJlYWQgaW5jbHVkaW5nIHRoZSByb290IG1lc3NhZ2UgYW5kIHJlcGxpZXMuJyxcbiAgICB0YWdzLFxuICAgIHNlY3VyaXR5OiBhdXRoLFxuICAgIHJlc3BvbnNlczogeyAyMDA6IHsgZGVzY3JpcHRpb246ICdUaHJlYWQgbWVzc2FnZXMgc29ydGVkIGJ5IGRhdGUnIH0gfSxcbiAgfSk7XG5cbiAgcmVnaXN0cnkucmVnaXN0ZXJQYXRoKHtcbiAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICBwYXRoOiAnL21lc3NhZ2VzJyxcbiAgICBzdW1tYXJ5OiAnQ3JlYXRlIGEgbWVzc2FnZScsXG4gICAgZGVzY3JpcHRpb246ICdDcmVhdGUgYSBuZXcgYW5ub3VuY2VtZW50IG9yIGNvbnZlcnNhdGlvbiBtZXNzYWdlLicsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAxOiB7IGRlc2NyaXB0aW9uOiAnTWVzc2FnZSBjcmVhdGVkJyB9LCA0MDA6IHsgZGVzY3JpcHRpb246ICdWYWxpZGF0aW9uIGVycm9yJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAncG9zdCcsXG4gICAgcGF0aDogJy9tZXNzYWdlcy97aWR9L3JlcGx5JyxcbiAgICBzdW1tYXJ5OiAnUmVwbHkgdG8gYSBtZXNzYWdlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NyZWF0ZSBhIHJlcGx5IGluIGFuIGV4aXN0aW5nIG1lc3NhZ2UgdGhyZWFkLicsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAxOiB7IGRlc2NyaXB0aW9uOiAnUmVwbHkgY3JlYXRlZCcgfSwgNDA0OiB7IGRlc2NyaXB0aW9uOiAnUGFyZW50IG1lc3NhZ2Ugbm90IGZvdW5kJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAncHV0JyxcbiAgICBwYXRoOiAnL21lc3NhZ2VzL3tpZH0vcmVhZCcsXG4gICAgc3VtbWFyeTogJ01hcmsgbWVzc2FnZSBhcyByZWFkJyxcbiAgICB0YWdzLFxuICAgIHNlY3VyaXR5OiBhdXRoLFxuICAgIHJlc3BvbnNlczogeyAyMDA6IHsgZGVzY3JpcHRpb246ICdNZXNzYWdlIG1hcmtlZCBhcyByZWFkJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAncHV0JyxcbiAgICBwYXRoOiAnL21lc3NhZ2VzL3tpZH0vdGhyZWFkL3JlYWQnLFxuICAgIHN1bW1hcnk6ICdNYXJrIHRocmVhZCBhcyByZWFkJyxcbiAgICBkZXNjcmlwdGlvbjogJ01hcmsgYWxsIG1lc3NhZ2VzIGluIGEgdGhyZWFkIGFzIHJlYWQuJyxcbiAgICB0YWdzLFxuICAgIHNlY3VyaXR5OiBhdXRoLFxuICAgIHJlc3BvbnNlczogeyAyMDA6IHsgZGVzY3JpcHRpb246ICdUaHJlYWQgbWFya2VkIGFzIHJlYWQnIH0gfSxcbiAgfSk7XG5cbiAgcmVnaXN0cnkucmVnaXN0ZXJQYXRoKHtcbiAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgIHBhdGg6ICcvbWVzc2FnZXMve2lkfScsXG4gICAgc3VtbWFyeTogJ0RlbGV0ZSBhIG1lc3NhZ2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnU29mdC1kZWxldGUgYSBtZXNzYWdlLicsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAwOiB7IGRlc2NyaXB0aW9uOiAnTWVzc2FnZSBkZWxldGVkJyB9LCA0MDQ6IHsgZGVzY3JpcHRpb246ICdOb3QgZm91bmQnIH0gfSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
exports.registerPipelineRoutes = registerPipelineRoutes;
|
|
6
|
-
const registry_1 = require("../registry");
|
|
3
|
+
import { registry } from '../registry.js';
|
|
7
4
|
const tags = ['Pipelines'];
|
|
8
5
|
const auth = [{ bearerAuth: [] }];
|
|
9
|
-
function registerPipelineRoutes() {
|
|
10
|
-
|
|
6
|
+
export function registerPipelineRoutes() {
|
|
7
|
+
registry.registerPath({
|
|
11
8
|
method: 'get',
|
|
12
9
|
path: '/pipelines',
|
|
13
10
|
summary: 'List pipelines',
|
|
@@ -16,7 +13,7 @@ function registerPipelineRoutes() {
|
|
|
16
13
|
security: auth,
|
|
17
14
|
responses: { 200: { description: 'Paginated list of pipelines' }, 401: { description: 'Unauthorized' } },
|
|
18
15
|
});
|
|
19
|
-
|
|
16
|
+
registry.registerPath({
|
|
20
17
|
method: 'get',
|
|
21
18
|
path: '/pipelines/find',
|
|
22
19
|
summary: 'Find a single pipeline',
|
|
@@ -25,7 +22,7 @@ function registerPipelineRoutes() {
|
|
|
25
22
|
security: auth,
|
|
26
23
|
responses: { 200: { description: 'Pipeline found' }, 404: { description: 'Not found' } },
|
|
27
24
|
});
|
|
28
|
-
|
|
25
|
+
registry.registerPath({
|
|
29
26
|
method: 'get',
|
|
30
27
|
path: '/pipelines/{id}',
|
|
31
28
|
summary: 'Get pipeline by ID',
|
|
@@ -33,7 +30,7 @@ function registerPipelineRoutes() {
|
|
|
33
30
|
security: auth,
|
|
34
31
|
responses: { 200: { description: 'Pipeline details' }, 404: { description: 'Not found' } },
|
|
35
32
|
});
|
|
36
|
-
|
|
33
|
+
registry.registerPath({
|
|
37
34
|
method: 'post',
|
|
38
35
|
path: '/pipelines',
|
|
39
36
|
summary: 'Create a pipeline',
|
|
@@ -42,7 +39,7 @@ function registerPipelineRoutes() {
|
|
|
42
39
|
security: auth,
|
|
43
40
|
responses: { 201: { description: 'Pipeline created' }, 400: { description: 'Validation error' }, 429: { description: 'Quota exceeded' } },
|
|
44
41
|
});
|
|
45
|
-
|
|
42
|
+
registry.registerPath({
|
|
46
43
|
method: 'put',
|
|
47
44
|
path: '/pipelines/{id}',
|
|
48
45
|
summary: 'Update a pipeline',
|
|
@@ -50,7 +47,7 @@ function registerPipelineRoutes() {
|
|
|
50
47
|
security: auth,
|
|
51
48
|
responses: { 200: { description: 'Pipeline updated' }, 404: { description: 'Not found' } },
|
|
52
49
|
});
|
|
53
|
-
|
|
50
|
+
registry.registerPath({
|
|
54
51
|
method: 'delete',
|
|
55
52
|
path: '/pipelines/{id}',
|
|
56
53
|
summary: 'Delete a pipeline',
|
|
@@ -59,7 +56,7 @@ function registerPipelineRoutes() {
|
|
|
59
56
|
security: auth,
|
|
60
57
|
responses: { 200: { description: 'Pipeline deleted' }, 404: { description: 'Not found' } },
|
|
61
58
|
});
|
|
62
|
-
|
|
59
|
+
registry.registerPath({
|
|
63
60
|
method: 'get',
|
|
64
61
|
path: '/pipelines/providers',
|
|
65
62
|
summary: 'List AI providers',
|
|
@@ -68,7 +65,7 @@ function registerPipelineRoutes() {
|
|
|
68
65
|
security: auth,
|
|
69
66
|
responses: { 200: { description: 'List of available AI providers with models' } },
|
|
70
67
|
});
|
|
71
|
-
|
|
68
|
+
registry.registerPath({
|
|
72
69
|
method: 'post',
|
|
73
70
|
path: '/pipelines/generate',
|
|
74
71
|
summary: 'Generate pipeline via AI',
|
|
@@ -77,7 +74,7 @@ function registerPipelineRoutes() {
|
|
|
77
74
|
security: auth,
|
|
78
75
|
responses: { 200: { description: 'Generated pipeline configuration' }, 400: { description: 'Validation error' } },
|
|
79
76
|
});
|
|
80
|
-
|
|
77
|
+
registry.registerPath({
|
|
81
78
|
method: 'post',
|
|
82
79
|
path: '/pipelines/generate/stream',
|
|
83
80
|
summary: 'Stream pipeline generation via AI',
|
|
@@ -87,4 +84,4 @@ function registerPipelineRoutes() {
|
|
|
87
84
|
responses: { 200: { description: 'SSE event stream of partial pipeline objects' }, 400: { description: 'Validation error' } },
|
|
88
85
|
});
|
|
89
86
|
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtcm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29wZW5hcGkvcm91dGVzL3BpcGVsaW5lLXJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzNCLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUVsQyxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDcEIsTUFBTSxFQUFFLEtBQUs7UUFDYixJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLFdBQVcsRUFBRSx5REFBeUQ7UUFDdEUsSUFBSTtRQUNKLFFBQVEsRUFBRSxJQUFJO1FBQ2QsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLDZCQUE2QixFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxFQUFFO0tBQ3pHLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDcEIsTUFBTSxFQUFFLEtBQUs7UUFDYixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsV0FBVyxFQUFFLG9EQUFvRDtRQUNqRSxJQUFJO1FBQ0osUUFBUSxFQUFFLElBQUk7UUFDZCxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEVBQUU7S0FDekYsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNwQixNQUFNLEVBQUUs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Z2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IHJlZ2lzdHJ5IH0gZnJvbSAnLi4vcmVnaXN0cnkuanMnO1xuXG5jb25zdCB0YWdzID0gWydQaXBlbGluZXMnXTtcbmNvbnN0IGF1dGggPSBbeyBiZWFyZXJBdXRoOiBbXSB9XTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUGlwZWxpbmVSb3V0ZXMoKTogdm9pZCB7XG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAnZ2V0JyxcbiAgICBwYXRoOiAnL3BpcGVsaW5lcycsXG4gICAgc3VtbWFyeTogJ0xpc3QgcGlwZWxpbmVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0xpc3QgcGlwZWxpbmVzIHdpdGggcGFnaW5hdGlvbiwgZmlsdGVyaW5nLCBhbmQgc29ydGluZy4nLFxuICAgIHRhZ3MsXG4gICAgc2VjdXJpdHk6IGF1dGgsXG4gICAgcmVzcG9uc2VzOiB7IDIwMDogeyBkZXNjcmlwdGlvbjogJ1BhZ2luYXRlZCBsaXN0IG9mIHBpcGVsaW5lcycgfSwgNDAxOiB7IGRlc2NyaXB0aW9uOiAnVW5hdXRob3JpemVkJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAnZ2V0JyxcbiAgICBwYXRoOiAnL3BpcGVsaW5lcy9maW5kJyxcbiAgICBzdW1tYXJ5OiAnRmluZCBhIHNpbmdsZSBwaXBlbGluZScsXG4gICAgZGVzY3JpcHRpb246ICdGaW5kIGEgc2luZ2xlIHBpcGVsaW5lIG1hdGNoaW5nIHRoZSBxdWVyeSBmaWx0ZXJzLicsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAwOiB7IGRlc2NyaXB0aW9uOiAnUGlwZWxpbmUgZm91bmQnIH0sIDQwNDogeyBkZXNjcmlwdGlvbjogJ05vdCBmb3VuZCcgfSB9LFxuICB9KTtcblxuICByZWdpc3RyeS5yZWdpc3RlclBhdGgoe1xuICAgIG1ldGhvZDogJ2dldCcsXG4gICAgcGF0aDogJy9waXBlbGluZXMve2lkfScsXG4gICAgc3VtbWFyeTogJ0dldCBwaXBlbGluZSBieSBJRCcsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAwOiB7IGRlc2NyaXB0aW9uOiAnUGlwZWxpbmUgZGV0YWlscycgfSwgNDA0OiB7IGRlc2NyaXB0aW9uOiAnTm90IGZvdW5kJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAncG9zdCcsXG4gICAgcGF0aDogJy9waXBlbGluZXMnLFxuICAgIHN1bW1hcnk6ICdDcmVhdGUgYSBwaXBlbGluZScsXG4gICAgZGVzY3JpcHRpb246ICdDcmVhdGUgYSBuZXcgcGlwZWxpbmUgY29uZmlndXJhdGlvbi4gQ2hlY2tzIHBpcGVsaW5lIHF1b3RhLicsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAxOiB7IGRlc2NyaXB0aW9uOiAnUGlwZWxpbmUgY3JlYXRlZCcgfSwgNDAwOiB7IGRlc2NyaXB0aW9uOiAnVmFsaWRhdGlvbiBlcnJvcicgfSwgNDI5OiB7IGRlc2NyaXB0aW9uOiAnUXVvdGEgZXhjZWVkZWQnIH0gfSxcbiAgfSk7XG5cbiAgcmVnaXN0cnkucmVnaXN0ZXJQYXRoKHtcbiAgICBtZXRob2Q6ICdwdXQnLFxuICAgIHBhdGg6ICcvcGlwZWxpbmVzL3tpZH0nLFxuICAgIHN1bW1hcnk6ICdVcGRhdGUgYSBwaXBlbGluZScsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAwOiB7IGRlc2NyaXB0aW9uOiAnUGlwZWxpbmUgdXBkYXRlZCcgfSwgNDA0OiB7IGRlc2NyaXB0aW9uOiAnTm90IGZvdW5kJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICBwYXRoOiAnL3BpcGVsaW5lcy97aWR9JyxcbiAgICBzdW1tYXJ5OiAnRGVsZXRlIGEgcGlwZWxpbmUnLFxuICAgIGRlc2NyaXB0aW9uOiAnU29mdC1kZWxldGUgYSBwaXBlbGluZSBieSBzZXR0aW5nIGlzQWN0aXZlIHRvIGZhbHNlLicsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAwOiB7IGRlc2NyaXB0aW9uOiAnUGlwZWxpbmUgZGVsZXRlZCcgfSwgNDA0OiB7IGRlc2NyaXB0aW9uOiAnTm90IGZvdW5kJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAnZ2V0JyxcbiAgICBwYXRoOiAnL3BpcGVsaW5lcy9wcm92aWRlcnMnLFxuICAgIHN1bW1hcnk6ICdMaXN0IEFJIHByb3ZpZGVycycsXG4gICAgZGVzY3JpcHRpb246ICdMaXN0IEFJIHByb3ZpZGVycyBjb25maWd1cmVkIGZvciBwaXBlbGluZSBnZW5lcmF0aW9uLicsXG4gICAgdGFncyxcbiAgICBzZWN1cml0eTogYXV0aCxcbiAgICByZXNwb25zZXM6IHsgMjAwOiB7IGRlc2NyaXB0aW9uOiAnTGlzdCBvZiBhdmFpbGFibGUgQUkgcHJvdmlkZXJzIHdpdGggbW9kZWxzJyB9IH0sXG4gIH0pO1xuXG4gIHJlZ2lzdHJ5LnJlZ2lzdGVyUGF0aCh7XG4gICAgbWV0aG9kOiAncG9zdCcsXG4gICAgcGF0aDogJy9waXBlbGluZXMvZ2VuZXJhdGUnLFxuICAgIHN1bW1hcnk6ICdHZW5lcmF0ZSBwaXBlbGluZSB2aWEgQUknLFxuICAgIGRlc2NyaXB0aW9uOiAnR2VuZXJhdGUgYSBCdWlsZGVyUHJvcHMgY29uZmlndXJhdGlvbiBmcm9tIGEgbmF0dXJhbCBsYW5ndWFnZSBwcm9tcHQuIFJldHVybnMgdGhlIGNvbXBsZXRlIHJlc3VsdCB3aGVuIGRvbmUuJyxcbiAgICB0YWdzLFxuICAgIHNlY3VyaXR5OiBhdXRoLFxuICAgIHJlc3BvbnNlczogeyAyMDA6IHsgZGVzY3JpcHRpb246ICdHZW5lcmF0ZWQgcGlwZWxpbmUgY29uZmlndXJhdGlvbicgfSwgNDAwOiB7IGRlc2NyaXB0aW9uOiAnVmFsaWRhdGlvbiBlcnJvcicgfSB9LFxuICB9KTtcblxuICByZWdpc3RyeS5yZWdpc3RlclBhdGgoe1xuICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgIHBhdGg6ICcvcGlwZWxpbmVzL2dlbmVyYXRlL3N0cmVhbScsXG4gICAgc3VtbWFyeTogJ1N0cmVhbSBwaXBlbGluZSBnZW5lcmF0aW9uIHZpYSBBSScsXG4gICAgZGVzY3JpcHRpb246ICdHZW5lcmF0ZSBhIEJ1aWxkZXJQcm9wcyBjb25maWd1cmF0aW9uIGZyb20gYSBuYXR1cmFsIGxhbmd1YWdlIHByb21wdC4gU3RyZWFtcyBwYXJ0aWFsIHJlc3VsdHMgYXMgU1NFIGV2ZW50cy4nLFxuICAgIHRhZ3MsXG4gICAgc2VjdXJpdHk6IGF1dGgsXG4gICAgcmVzcG9uc2VzOiB7IDIwMDogeyBkZXNjcmlwdGlvbjogJ1NTRSBldmVudCBzdHJlYW0gb2YgcGFydGlhbCBwaXBlbGluZSBvYmplY3RzJyB9LCA0MDA6IHsgZGVzY3JpcHRpb246ICdWYWxpZGF0aW9uIGVycm9yJyB9IH0sXG4gIH0pO1xufVxuIl19
|