@pipeline-builder/pipeline-manager 3.3.28 → 3.3.30
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 +32 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -4
- package/dist/commands/audit-tokens.js +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +42 -22
- package/dist/commands/register.d.ts +38 -0
- package/dist/commands/register.d.ts.map +1 -0
- package/dist/commands/register.js +163 -0
- package/dist/utils/cdk-utils.d.ts +6 -0
- package/dist/utils/cdk-utils.d.ts.map +1 -1
- package/dist/utils/cdk-utils.js +30 -3
- package/dist/utils/output-utils.d.ts.map +1 -1
- package/dist/utils/output-utils.js +9 -4
- package/dist/utils/registry.d.ts +67 -0
- package/dist/utils/registry.d.ts.map +1 -0
- package/dist/utils/registry.js +104 -0
- package/package.json +2 -2
|
@@ -0,0 +1,104 @@
|
|
|
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.PENDING_INTENTS_DIR = void 0;
|
|
6
|
+
exports.buildRegistryPayload = buildRegistryPayload;
|
|
7
|
+
exports.writePendingIntent = writePendingIntent;
|
|
8
|
+
exports.clearPendingIntent = clearPendingIntent;
|
|
9
|
+
exports.readPendingIntents = readPendingIntents;
|
|
10
|
+
const crypto_1 = require("crypto");
|
|
11
|
+
const fs_1 = require("fs");
|
|
12
|
+
const os_1 = require("os");
|
|
13
|
+
const path_1 = require("path");
|
|
14
|
+
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
15
|
+
/** Where pending registration intents are persisted between CLI invocations. */
|
|
16
|
+
exports.PENDING_INTENTS_DIR = (0, path_1.join)((0, os_1.homedir)(), '.pipeline-manager', 'pending-registrations');
|
|
17
|
+
/**
|
|
18
|
+
* Build a RegistryPayload from the platform's pipeline metadata. Reaches out
|
|
19
|
+
* to STS to discover the AWS account, hashes it, and constructs the ARN.
|
|
20
|
+
*
|
|
21
|
+
* The hash is the same one applied server-side as defense in depth — raw AWS
|
|
22
|
+
* account numbers must never reach the platform DB.
|
|
23
|
+
*/
|
|
24
|
+
async function buildRegistryPayload(pipeline, regionOverride) {
|
|
25
|
+
const region = regionOverride
|
|
26
|
+
|| process.env.AWS_REGION
|
|
27
|
+
|| process.env.CDK_DEFAULT_REGION
|
|
28
|
+
|| 'us-east-1';
|
|
29
|
+
const stsClient = new client_sts_1.STSClient({ region });
|
|
30
|
+
const identity = await stsClient.send(new client_sts_1.GetCallerIdentityCommand({}));
|
|
31
|
+
const account = identity.Account ?? '';
|
|
32
|
+
if (!account) {
|
|
33
|
+
throw new Error('Could not determine AWS account from STS — check AWS credentials');
|
|
34
|
+
}
|
|
35
|
+
const hashedAccount = (0, crypto_1.createHash)('sha256').update(account).digest('hex').slice(0, 12);
|
|
36
|
+
const pipelineName = pipeline.pipelineName
|
|
37
|
+
|| `${pipeline.organization}-${pipeline.project}-pipeline`.toLowerCase();
|
|
38
|
+
const pipelineArn = `arn:aws:codepipeline:${region}:${hashedAccount}:${pipelineName}`;
|
|
39
|
+
const stackName = `${pipeline.project}-${pipeline.organization}`.toLowerCase();
|
|
40
|
+
return {
|
|
41
|
+
pipelineId: pipeline.id,
|
|
42
|
+
orgId: pipeline.orgId,
|
|
43
|
+
pipelineArn,
|
|
44
|
+
pipelineName,
|
|
45
|
+
accountId: hashedAccount,
|
|
46
|
+
region,
|
|
47
|
+
project: pipeline.project,
|
|
48
|
+
organization: pipeline.organization,
|
|
49
|
+
stackName,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Persist a registration intent for later retry.
|
|
54
|
+
*
|
|
55
|
+
* Intent files are keyed by pipelineId so re-running deploy on the same
|
|
56
|
+
* pipeline overwrites rather than accumulates. We deliberately store the
|
|
57
|
+
* payload plain (not the full pipeline doc, not auth) so a stale file is
|
|
58
|
+
* safe to leave around indefinitely.
|
|
59
|
+
*/
|
|
60
|
+
async function writePendingIntent(payload) {
|
|
61
|
+
await fs_1.promises.mkdir(exports.PENDING_INTENTS_DIR, { recursive: true });
|
|
62
|
+
const path = (0, path_1.join)(exports.PENDING_INTENTS_DIR, `${payload.pipelineId}.json`);
|
|
63
|
+
await fs_1.promises.writeFile(path, JSON.stringify(payload, null, 2), 'utf8');
|
|
64
|
+
return path;
|
|
65
|
+
}
|
|
66
|
+
/** Remove a pending intent after a successful drain. */
|
|
67
|
+
async function clearPendingIntent(pipelineId) {
|
|
68
|
+
const path = (0, path_1.join)(exports.PENDING_INTENTS_DIR, `${pipelineId}.json`);
|
|
69
|
+
try {
|
|
70
|
+
await fs_1.promises.unlink(path);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
// ENOENT is fine — already cleared. Anything else is a real problem.
|
|
74
|
+
if (err.code !== 'ENOENT')
|
|
75
|
+
throw err;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/** Read all pending intents currently on disk. Empty array if dir doesn't exist. */
|
|
79
|
+
async function readPendingIntents() {
|
|
80
|
+
let entries;
|
|
81
|
+
try {
|
|
82
|
+
entries = await fs_1.promises.readdir(exports.PENDING_INTENTS_DIR);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
if (err.code === 'ENOENT')
|
|
86
|
+
return [];
|
|
87
|
+
throw err;
|
|
88
|
+
}
|
|
89
|
+
const intents = [];
|
|
90
|
+
for (const file of entries) {
|
|
91
|
+
if (!file.endsWith('.json'))
|
|
92
|
+
continue;
|
|
93
|
+
try {
|
|
94
|
+
const text = await fs_1.promises.readFile((0, path_1.join)(exports.PENDING_INTENTS_DIR, file), 'utf8');
|
|
95
|
+
intents.push(JSON.parse(text));
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Skip unreadable / malformed files — they'll need manual cleanup but
|
|
99
|
+
// shouldn't block valid intents from draining.
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return intents;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7OztBQWdFdEMsb0RBaUNDO0FBVUQsZ0RBS0M7QUFHRCxnREFRQztBQUdELGdEQXFCQztBQWpKRCxtQ0FBb0M7QUFDcEMsMkJBQW9DO0FBQ3BDLDJCQUE2QjtBQUM3QiwrQkFBNEI7QUFDNUIsb0RBQTBFO0FBZ0QxRSxnRkFBZ0Y7QUFDbkUsUUFBQSxtQkFBbUIsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFBLFlBQU8sR0FBRSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDLENBQUM7QUFFakc7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLG9CQUFvQixDQUN4QyxRQUE2QixFQUM3QixjQUF1QjtJQUV2QixNQUFNLE1BQU0sR0FBRyxjQUFjO1dBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtXQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQjtXQUM5QixXQUFXLENBQUM7SUFFakIsTUFBTSxTQUFTLEdBQUcsSUFBSSxzQkFBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1QyxNQUFNLFFBQVEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxxQ0FBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsSUFBQSxtQkFBVSxFQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWTtXQUNyQyxHQUFHLFFBQVEsQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLE9BQU8sV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNFLE1BQU0sV0FBVyxHQUFHLHdCQUF3QixNQUFNLElBQUksYUFBYSxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3RGLE1BQU0sU0FBUyxHQUFHLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFL0UsT0FBTztRQUNMLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRTtRQUN2QixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7UUFDckIsV0FBVztRQUNYLFlBQVk7UUFDWixTQUFTLEVBQUUsYUFBYTtRQUN4QixNQUFNO1FBQ04sT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO1FBQ3pCLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtRQUNuQyxTQUFTO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLE9BQXdCO0lBQy9ELE1BQU0sYUFBRSxDQUFDLEtBQUssQ0FBQywyQkFBbUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sSUFBSSxHQUFHLElBQUEsV0FBSSxFQUFDLDJCQUFtQixFQUFFLEdBQUcsT0FBTyxDQUFDLFVBQVUsT0FBTyxDQUFDLENBQUM7SUFDckUsTUFBTSxhQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkUsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsd0RBQXdEO0FBQ2pELEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxVQUFrQjtJQUN6RCxNQUFNLElBQUksR0FBRyxJQUFBLFdBQUksRUFBQywyQkFBbUIsRUFBRSxHQUFHLFVBQVUsT0FBTyxDQUFDLENBQUM7SUFDN0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxhQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IscUVBQXFFO1FBQ3JFLElBQUssR0FBNkIsQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUFFLE1BQU0sR0FBRyxDQUFDO0lBQ2xFLENBQUM7QUFDSCxDQUFDO0FBRUQsb0ZBQW9GO0FBQzdFLEtBQUssVUFBVSxrQkFBa0I7SUFDdEMsSUFBSSxPQUFpQixDQUFDO0lBQ3RCLElBQUksQ0FBQztRQUNILE9BQU8sR0FBRyxNQUFNLGFBQUUsQ0FBQyxPQUFPLENBQUMsMkJBQW1CLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUssR0FBNkIsQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2hFLE1BQU0sR0FBRyxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFzQixFQUFFLENBQUM7SUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFBRSxTQUFTO1FBQ3RDLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxHQUFHLE1BQU0sYUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFBLFdBQUksRUFBQywyQkFBbUIsRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN4RSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFvQixDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLHNFQUFzRTtZQUN0RSwrQ0FBK0M7UUFDakQsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBob21lZGlyIH0gZnJvbSAnb3MnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgU1RTQ2xpZW50LCBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc3RzJztcblxuLyoqXG4gKiBIZWxwZXJzIGZvciByZWdpc3RlcmluZyBhIGRlcGxveWVkIHBpcGVsaW5lIEFSTiB3aXRoIHRoZSBwbGF0Zm9ybS5cbiAqXG4gKiBUaGUgcmVnaXN0cnkgdGFibGUgbWFwcyBkZXBsb3llZCBDb2RlUGlwZWxpbmUgQVJOcyBiYWNrIHRvIHBpcGVsaW5lIHJlY29yZHNcbiAqIGFuZCBvcmdzLiBJdCdzIGhvdyB0aGUgZGFzaGJvYXJkJ3MgXCJEZXBsb3llZCBwaXBlbGluZXNcIiBwYW5lbCBhbmQgdGhlIGV2ZW50XG4gKiByZXBvcnRpbmcgTGFtYmRhIHJlc29sdmUgaW5jb21pbmcgZXZlbnRzIHRvIGEgcGlwZWxpbmUgZGVmaW5pdGlvbi5cbiAqXG4gKiBUd28gZmFpbHVyZSBtb2RlcyBhcmUgaGFuZGxlZCBoZXJlOlxuICpcbiAqICAgMS4gUGxhdGZvcm0gdW5yZWFjaGFibGUgYXQgZGVwbG95IHRpbWUuIFRoZSBDREsgc3RhY2sgbGFuZHMgaW4gQVdTIGJ1dCB0aGVcbiAqICAgICAgcmVnaXN0cnkgUE9TVCBmYWlscy4gV2l0aG91dCByZXRyeSB0aGUgZGVwbG95IGNvbW1hbmQgd291bGQgaGF2ZSB0b1xuICogICAgICByZS1ydW4gY2RrLWRlcGxveSAoc2xvdywgc29tZXRpbWVzIGJsb2NrZWQgYnkgc3RhY2sgc3RhdGUpIGp1c3QgdG9cbiAqICAgICAgcmVjb3JkIHRoZSBBUk4uIEluc3RlYWQsIHdlIHdyaXRlIGEgcGVuZGluZyBpbnRlbnQgdG8gYSBsb2NhbCBmaWxlO1xuICogICAgICBgcGlwZWxpbmUtbWFuYWdlciByZWdpc3RlcmAgZHJhaW5zIHRoZW0uXG4gKlxuICogICAyLiBVc2VyIGV4cGxpY2l0bHkgaW52b2tlcyBgcGlwZWxpbmUtbWFuYWdlciByZWdpc3RlciAtLWlkIDxwaXBlbGluZUlkPmBcbiAqICAgICAgYWZ0ZXIgYSBzdWNjZXNzZnVsIGRlcGxveSB0aGF0IGRpZG4ndCByZWdpc3Rlci4gU2FtZSBwYXRoOiByZWJ1aWxkc1xuICogICAgICB0aGUgQVJOIGZyb20gU1RTLCBQT1NUcyB0byB0aGUgcGxhdGZvcm0uXG4gKlxuICogUGVuZGluZyBpbnRlbnRzIHN0b3JlIE9OTFkgdGhlIHJlZ2lzdHJhdGlvbiBwYXlsb2FkIOKAlCBuZXZlciB0b2tlbnMgb3IgVVJMcy5cbiAqIEF1dGggaXMgc3VwcGxpZWQgYnkgd2hpY2hldmVyIGNvbW1hbmQgZHJhaW5zIHRoZSBpbnRlbnQgKGRlcGxveSBvciByZWdpc3RlciksXG4gKiBzbyBhIHN0YWxlIGludGVudCBmaWxlIGlzIG5ldmVyIGFuIGF1dGhlbnRpY2F0aW9uIHJpc2suXG4gKi9cblxuLyoqIFNoYXBlIG9mIHRoZSBib2R5IFBPU1RlZCB0byAvYXBpL3BpcGVsaW5lcy9yZWdpc3RyeS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlQYXlsb2FkIHtcbiAgcGlwZWxpbmVJZDogc3RyaW5nO1xuICBvcmdJZDogc3RyaW5nO1xuICBwaXBlbGluZUFybjogc3RyaW5nO1xuICBwaXBlbGluZU5hbWU6IHN0cmluZztcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBwcm9qZWN0OiBzdHJpbmc7XG4gIG9yZ2FuaXphdGlvbjogc3RyaW5nO1xuICBzdGFja05hbWU6IHN0cmluZztcbn1cblxuLyoqIFBpcGVsaW5lIGZpZWxkcyBuZWVkZWQgdG8gY29uc3RydWN0IGEgUmVnaXN0cnlQYXlsb2FkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZUZvclJlZ2lzdHJ5IHtcbiAgaWQ6IHN0cmluZztcbiAgb3JnSWQ6IHN0cmluZztcbiAgcGlwZWxpbmVOYW1lPzogc3RyaW5nO1xuICBwcm9qZWN0OiBzdHJpbmc7XG4gIG9yZ2FuaXphdGlvbjogc3RyaW5nO1xufVxuXG4vKiogV2hlcmUgcGVuZGluZyByZWdpc3RyYXRpb24gaW50ZW50cyBhcmUgcGVyc2lzdGVkIGJldHdlZW4gQ0xJIGludm9jYXRpb25zLiAqL1xuZXhwb3J0IGNvbnN0IFBFTkRJTkdfSU5URU5UU19ESVIgPSBqb2luKGhvbWVkaXIoKSwgJy5waXBlbGluZS1tYW5hZ2VyJywgJ3BlbmRpbmctcmVnaXN0cmF0aW9ucycpO1xuXG4vKipcbiAqIEJ1aWxkIGEgUmVnaXN0cnlQYXlsb2FkIGZyb20gdGhlIHBsYXRmb3JtJ3MgcGlwZWxpbmUgbWV0YWRhdGEuIFJlYWNoZXMgb3V0XG4gKiB0byBTVFMgdG8gZGlzY292ZXIgdGhlIEFXUyBhY2NvdW50LCBoYXNoZXMgaXQsIGFuZCBjb25zdHJ1Y3RzIHRoZSBBUk4uXG4gKlxuICogVGhlIGhhc2ggaXMgdGhlIHNhbWUgb25lIGFwcGxpZWQgc2VydmVyLXNpZGUgYXMgZGVmZW5zZSBpbiBkZXB0aCDigJQgcmF3IEFXU1xuICogYWNjb3VudCBudW1iZXJzIG11c3QgbmV2ZXIgcmVhY2ggdGhlIHBsYXRmb3JtIERCLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRSZWdpc3RyeVBheWxvYWQoXG4gIHBpcGVsaW5lOiBQaXBlbGluZUZvclJlZ2lzdHJ5LFxuICByZWdpb25PdmVycmlkZT86IHN0cmluZyxcbik6IFByb21pc2U8UmVnaXN0cnlQYXlsb2FkPiB7XG4gIGNvbnN0IHJlZ2lvbiA9IHJlZ2lvbk92ZXJyaWRlXG4gICAgfHwgcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTlxuICAgIHx8IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTlxuICAgIHx8ICd1cy1lYXN0LTEnO1xuXG4gIGNvbnN0IHN0c0NsaWVudCA9IG5ldyBTVFNDbGllbnQoeyByZWdpb24gfSk7XG4gIGNvbnN0IGlkZW50aXR5ID0gYXdhaXQgc3RzQ2xpZW50LnNlbmQobmV3IEdldENhbGxlcklkZW50aXR5Q29tbWFuZCh7fSkpO1xuICBjb25zdCBhY2NvdW50ID0gaWRlbnRpdHkuQWNjb3VudCA/PyAnJztcbiAgaWYgKCFhY2NvdW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZGV0ZXJtaW5lIEFXUyBhY2NvdW50IGZyb20gU1RTIOKAlCBjaGVjayBBV1MgY3JlZGVudGlhbHMnKTtcbiAgfVxuXG4gIGNvbnN0IGhhc2hlZEFjY291bnQgPSBjcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoYWNjb3VudCkuZGlnZXN0KCdoZXgnKS5zbGljZSgwLCAxMik7XG4gIGNvbnN0IHBpcGVsaW5lTmFtZSA9IHBpcGVsaW5lLnBpcGVsaW5lTmFtZVxuICAgIHx8IGAke3BpcGVsaW5lLm9yZ2FuaXphdGlvbn0tJHtwaXBlbGluZS5wcm9qZWN0fS1waXBlbGluZWAudG9Mb3dlckNhc2UoKTtcbiAgY29uc3QgcGlwZWxpbmVBcm4gPSBgYXJuOmF3czpjb2RlcGlwZWxpbmU6JHtyZWdpb259OiR7aGFzaGVkQWNjb3VudH06JHtwaXBlbGluZU5hbWV9YDtcbiAgY29uc3Qgc3RhY2tOYW1lID0gYCR7cGlwZWxpbmUucHJvamVjdH0tJHtwaXBlbGluZS5vcmdhbml6YXRpb259YC50b0xvd2VyQ2FzZSgpO1xuXG4gIHJldHVybiB7XG4gICAgcGlwZWxpbmVJZDogcGlwZWxpbmUuaWQsXG4gICAgb3JnSWQ6IHBpcGVsaW5lLm9yZ0lkLFxuICAgIHBpcGVsaW5lQXJuLFxuICAgIHBpcGVsaW5lTmFtZSxcbiAgICBhY2NvdW50SWQ6IGhhc2hlZEFjY291bnQsXG4gICAgcmVnaW9uLFxuICAgIHByb2plY3Q6IHBpcGVsaW5lLnByb2plY3QsXG4gICAgb3JnYW5pemF0aW9uOiBwaXBlbGluZS5vcmdhbml6YXRpb24sXG4gICAgc3RhY2tOYW1lLFxuICB9O1xufVxuXG4vKipcbiAqIFBlcnNpc3QgYSByZWdpc3RyYXRpb24gaW50ZW50IGZvciBsYXRlciByZXRyeS5cbiAqXG4gKiBJbnRlbnQgZmlsZXMgYXJlIGtleWVkIGJ5IHBpcGVsaW5lSWQgc28gcmUtcnVubmluZyBkZXBsb3kgb24gdGhlIHNhbWVcbiAqIHBpcGVsaW5lIG92ZXJ3cml0ZXMgcmF0aGVyIHRoYW4gYWNjdW11bGF0ZXMuIFdlIGRlbGliZXJhdGVseSBzdG9yZSB0aGVcbiAqIHBheWxvYWQgcGxhaW4gKG5vdCB0aGUgZnVsbCBwaXBlbGluZSBkb2MsIG5vdCBhdXRoKSBzbyBhIHN0YWxlIGZpbGUgaXNcbiAqIHNhZmUgdG8gbGVhdmUgYXJvdW5kIGluZGVmaW5pdGVseS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlUGVuZGluZ0ludGVudChwYXlsb2FkOiBSZWdpc3RyeVBheWxvYWQpOiBQcm9taXNlPHN0cmluZz4ge1xuICBhd2FpdCBmcy5ta2RpcihQRU5ESU5HX0lOVEVOVFNfRElSLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgY29uc3QgcGF0aCA9IGpvaW4oUEVORElOR19JTlRFTlRTX0RJUiwgYCR7cGF5bG9hZC5waXBlbGluZUlkfS5qc29uYCk7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLCBKU09OLnN0cmluZ2lmeShwYXlsb2FkLCBudWxsLCAyKSwgJ3V0ZjgnKTtcbiAgcmV0dXJuIHBhdGg7XG59XG5cbi8qKiBSZW1vdmUgYSBwZW5kaW5nIGludGVudCBhZnRlciBhIHN1Y2Nlc3NmdWwgZHJhaW4uICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2xlYXJQZW5kaW5nSW50ZW50KHBpcGVsaW5lSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBwYXRoID0gam9pbihQRU5ESU5HX0lOVEVOVFNfRElSLCBgJHtwaXBlbGluZUlkfS5qc29uYCk7XG4gIHRyeSB7XG4gICAgYXdhaXQgZnMudW5saW5rKHBhdGgpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBFTk9FTlQgaXMgZmluZSDigJQgYWxyZWFkeSBjbGVhcmVkLiBBbnl0aGluZyBlbHNlIGlzIGEgcmVhbCBwcm9ibGVtLlxuICAgIGlmICgoZXJyIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSAhPT0gJ0VOT0VOVCcpIHRocm93IGVycjtcbiAgfVxufVxuXG4vKiogUmVhZCBhbGwgcGVuZGluZyBpbnRlbnRzIGN1cnJlbnRseSBvbiBkaXNrLiBFbXB0eSBhcnJheSBpZiBkaXIgZG9lc24ndCBleGlzdC4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkUGVuZGluZ0ludGVudHMoKTogUHJvbWlzZTxSZWdpc3RyeVBheWxvYWRbXT4ge1xuICBsZXQgZW50cmllczogc3RyaW5nW107XG4gIHRyeSB7XG4gICAgZW50cmllcyA9IGF3YWl0IGZzLnJlYWRkaXIoUEVORElOR19JTlRFTlRTX0RJUik7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmICgoZXJyIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSA9PT0gJ0VOT0VOVCcpIHJldHVybiBbXTtcbiAgICB0aHJvdyBlcnI7XG4gIH1cblxuICBjb25zdCBpbnRlbnRzOiBSZWdpc3RyeVBheWxvYWRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGZpbGUgb2YgZW50cmllcykge1xuICAgIGlmICghZmlsZS5lbmRzV2l0aCgnLmpzb24nKSkgY29udGludWU7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCBmcy5yZWFkRmlsZShqb2luKFBFTkRJTkdfSU5URU5UU19ESVIsIGZpbGUpLCAndXRmOCcpO1xuICAgICAgaW50ZW50cy5wdXNoKEpTT04ucGFyc2UodGV4dCkgYXMgUmVnaXN0cnlQYXlsb2FkKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIFNraXAgdW5yZWFkYWJsZSAvIG1hbGZvcm1lZCBmaWxlcyDigJQgdGhleSdsbCBuZWVkIG1hbnVhbCBjbGVhbnVwIGJ1dFxuICAgICAgLy8gc2hvdWxkbid0IGJsb2NrIHZhbGlkIGludGVudHMgZnJvbSBkcmFpbmluZy5cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGludGVudHM7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@aws-sdk/client-lambda": "3.821.0",
|
|
31
31
|
"@aws-sdk/client-secrets-manager": "3.821.0",
|
|
32
32
|
"@aws-sdk/client-sts": "3.821.0",
|
|
33
|
-
"@pipeline-builder/pipeline-core": "3.3.
|
|
33
|
+
"@pipeline-builder/pipeline-core": "3.3.29",
|
|
34
34
|
"aws-cdk-lib": "2.251.0",
|
|
35
35
|
"axios": "1.13.5",
|
|
36
36
|
"commander": "14.0.3",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"access": "public",
|
|
84
84
|
"registry": "https://registry.npmjs.org/"
|
|
85
85
|
},
|
|
86
|
-
"version": "3.3.
|
|
86
|
+
"version": "3.3.30",
|
|
87
87
|
"bugs": {
|
|
88
88
|
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
89
89
|
},
|