@pipeline-builder/ai-core 4.0.2 → 4.0.3
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/provider-registry.js +11 -2
- package/package.json +3 -2
package/lib/provider-registry.js
CHANGED
|
@@ -6,6 +6,7 @@ import { createGoogleGenerativeAI } from '@ai-sdk/google';
|
|
|
6
6
|
import { createOpenAI } from '@ai-sdk/openai';
|
|
7
7
|
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
|
|
8
8
|
import { createXai } from '@ai-sdk/xai';
|
|
9
|
+
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
|
|
9
10
|
import { AI_PROVIDER_CATALOG, AI_PROVIDER_ENV_VARS, OPENAI_COMPATIBLE_PROVIDER_ID, getAIProviderModels, getOpenAICompatibleProvider, } from '@pipeline-builder/api-core';
|
|
10
11
|
const registry = new Map();
|
|
11
12
|
let initialized = false;
|
|
@@ -17,7 +18,15 @@ const PROVIDER_FACTORIES = {
|
|
|
17
18
|
'openai': (key) => createOpenAI({ apiKey: key }),
|
|
18
19
|
'google': (key) => createGoogleGenerativeAI({ apiKey: key }),
|
|
19
20
|
'xai': (key) => createXai({ apiKey: key }),
|
|
20
|
-
'
|
|
21
|
+
// Bedrock authenticates with the RUNTIME's IAM role, and the ai-sdk provider
|
|
22
|
+
// does NOT walk the AWS credential chain on its own — bare `createAmazonBedrock()`
|
|
23
|
+
// reads only `AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY` and otherwise throws
|
|
24
|
+
// "AWS SigV4 authentication requires AWS credentials" at call time. Handing it
|
|
25
|
+
// the standard chain resolves EKS Pod Identity, IRSA, ECS task roles, the EC2
|
|
26
|
+
// instance profile, SSO and static env keys — i.e. every way this platform is
|
|
27
|
+
// actually deployed. Built once per factory call; the chain caches internally
|
|
28
|
+
// and refreshes expiring role credentials on its own.
|
|
29
|
+
'amazon-bedrock': () => createAmazonBedrock({ credentialProvider: fromNodeProviderChain() }),
|
|
21
30
|
// Self-hosted OpenAI-compatible endpoint (Docker model image / Ollama / vLLM).
|
|
22
31
|
// The endpoint is deployment-defined via OPENAI_COMPATIBLE_BASE_URL; local servers
|
|
23
32
|
// usually ignore the key, so a placeholder is sent when none is configured.
|
|
@@ -147,4 +156,4 @@ export function createModelWithKey(providerId, modelId, apiKey) {
|
|
|
147
156
|
}
|
|
148
157
|
return factory(apiKey)(modelId);
|
|
149
158
|
}
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItcmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmlkZXItcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsNkJBQTZCLEVBQzdCLG1CQUFtQixFQUNuQiwyQkFBMkIsR0FHNUIsTUFBTSw0QkFBNEIsQ0FBQztBQVdwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztBQUNsRCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7QUFFeEIsaUZBQWlGO0FBQ2pGLGtGQUFrRjtBQUNsRixpRUFBaUU7QUFDakUsTUFBTSxrQkFBa0IsR0FBeUU7SUFDL0YsV0FBVyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEQsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDaEQsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM1RCxLQUFL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dCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgY3JlYXRlQW1hem9uQmVkcm9jayB9IGZyb20gJ0BhaS1zZGsvYW1hem9uLWJlZHJvY2snO1xuaW1wb3J0IHsgY3JlYXRlQW50aHJvcGljIH0gZnJvbSAnQGFpLXNkay9hbnRocm9waWMnO1xuaW1wb3J0IHsgY3JlYXRlR29vZ2xlR2VuZXJhdGl2ZUFJIH0gZnJvbSAnQGFpLXNkay9nb29nbGUnO1xuaW1wb3J0IHsgY3JlYXRlT3BlbkFJIH0gZnJvbSAnQGFpLXNkay9vcGVuYWknO1xuaW1wb3J0IHsgY3JlYXRlT3BlbkFJQ29tcGF0aWJsZSB9IGZyb20gJ0BhaS1zZGsvb3BlbmFpLWNvbXBhdGlibGUnO1xuaW1wb3J0IHsgY3JlYXRlWGFpIH0gZnJvbSAnQGFpLXNkay94YWknO1xuaW1wb3J0IHtcbiAgQUlfUFJPVklERVJfQ0FUQUxPRyxcbiAgQUlfUFJPVklERVJfRU5WX1ZBUlMsXG4gIE9QRU5BSV9DT01QQVRJQkxFX1BST1ZJREVSX0lELFxuICBnZXRBSVByb3ZpZGVyTW9kZWxzLFxuICBnZXRPcGVuQUlDb21wYXRpYmxlUHJvdmlkZXIsXG4gIHR5cGUgQUlQcm92aWRlckluZm8sXG4gIHR5cGUgQUlNb2RlbEluZm8sXG59IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB0eXBlIHsgTGFuZ3VhZ2VNb2RlbCB9IGZyb20gJ2FpJztcblxuLy8gUHJvdmlkZXIgUmVnaXN0cnlcblxuLyoqIFJlZ2lzdGVyZWQgcHJvdmlkZXIgd2l0aCBtb2RlbCBmYWN0b3J5IGZ1bmN0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlckVudHJ5IHtcbiAgaW5mbzogQUlQcm92aWRlckluZm87XG4gIGNyZWF0ZU1vZGVsOiAobW9kZWxJZDogc3RyaW5nKSA9PiBMYW5ndWFnZU1vZGVsO1xufVxuXG5jb25zdCByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBQcm92aWRlckVudHJ5PigpO1xubGV0IGluaXRpYWxpemVkID0gZmFsc2U7XG5cbi8vIFByb3ZpZGVyIOKGkiBtb2RlbC1mYWN0b3J5IG1hcC4gYGtleWAgaXMgb3B0aW9uYWwgc28ga2V5bGVzcyBwcm92aWRlcnMgKEJlZHJvY2ssXG4vLyB2aWEgdGhlIHJ1bnRpbWUgSUFNIHJvbGUpIGFuZCBrZXktYmFzZWQgcHJvdmlkZXJzIHNoYXJlIG9uZSBzaWduYXR1cmUuIERlY2xhcmVkXG4vLyBvbmNlIGFuZCBjb25zdW1lZCBieSBCT1RIIGluaXRSZWdpc3RyeSBhbmQgY3JlYXRlTW9kZWxXaXRoS2V5LlxuY29uc3QgUFJPVklERVJfRkFDVE9SSUVTOiBSZWNvcmQ8c3RyaW5nLCAoa2V5Pzogc3RyaW5nKSA9PiAobW9kZWxJZDogc3RyaW5nKSA9PiBMYW5ndWFnZU1vZGVsPiA9IHtcbiAgJ2FudGhyb3BpYyc6IChrZXkpID0+IGNyZWF0ZUFudGhyb3BpYyh7IGFwaUtleToga2V5IH0pLFxuICAnb3BlbmFpJzogKGtleSkgPT4gY3JlYXRlT3BlbkFJKHsgYXBpS2V5OiBrZXkgfSksXG4gICdnb29nbGUnOiAoa2V5KSA9PiBjcmVhdGVHb29nbGVHZW5lcmF0aXZlQUkoeyBhcGlLZXk6IGtleSB9KSxcbiAgJ3hhaSc6IChrZXkpID0+IGNyZWF0ZVhhaSh7IGFwaUtleToga2V5IH0pLFxuICAnYW1hem9uLWJlZHJvY2snOiAoKSA9PiBjcmVhdGVBbWF6b25CZWRyb2NrKCksXG4gIC8vIFNlbGYtaG9zdGVkIE9wZW5BSS1jb21wYXRpYmxlIGVuZHBvaW50IChEb2NrZXIgbW9kZWwgaW1hZ2UgLyBPbGxhbWEgLyB2TExNKS5cbiAgLy8gVGhlIGVuZHBvaW50IGlzIGRlcGxveW1lbnQtZGVmaW5lZCB2aWEgT1BFTkFJX0NPTVBBVElCTEVfQkFTRV9VUkw7IGxvY2FsIHNlcnZlcnNcbiAgLy8gdXN1YWxseSBpZ25vcmUgdGhlIGtleSwgc28gYSBwbGFjZWhvbGRlciBpcyBzZW50IHdoZW4gbm9uZSBpcyBjb25maWd1cmVkLlxuICBbT1BFTkFJX0NPTVBBVElCTEVfUFJPVklERVJfSURdOiAoa2V5KSA9PiB7XG4gICAgY29uc3QgYmFzZVVSTCA9IHByb2Nlc3MuZW52Lk9QRU5BSV9DT01QQVRJQkxFX0JBU0VfVVJMO1xuICAgIGlmICghYmFzZVVSTCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdPUEVOQUlfQ09NUEFUSUJMRV9CQVNFX1VSTCBpcyBub3Qgc2V0OyBjYW5ub3QgYnVpbGQgdGhlIGxvY2FsIChPcGVuQUktY29tcGF0aWJsZSkgcHJvdmlkZXIuJyk7XG4gICAgfVxuICAgIGNvbnN0IHByb3ZpZGVyID0gY3JlYXRlT3BlbkFJQ29tcGF0aWJsZSh7XG4gICAgICBuYW1lOiBPUEVOQUlfQ09NUEFUSUJMRV9QUk9WSURFUl9JRCxcbiAgICAgIGJhc2VVUkwsXG4gICAgICBhcGlLZXk6IGtleSA/PyBwcm9jZXNzLmVudi5PUEVOQUlfQ09NUEFUSUJMRV9BUElfS0VZID8/ICdub3QtbmVlZGVkJyxcbiAgICB9KTtcbiAgICByZXR1cm4gKG1vZGVsSWQ6IHN0cmluZykgPT4gcHJvdmlkZXIobW9kZWxJZCk7XG4gIH0sXG59O1xuXG4vKiogUHJvdmlkZXJzIHRoYXQgYXV0aGVudGljYXRlIFdJVEhPVVQgYW4gQVBJIGtleSAoQmVkcm9jayB1c2VzIHRoZSBJQU0gcm9sZSkuICovXG5jb25zdCBLRVlMRVNTX1BST1ZJREVSUyA9IG5ldyBTZXQoWydhbWF6b24tYmVkcm9jayddKTtcblxuLyoqXG4gKiBXaGV0aGVyIGEga2V5bGVzcyBwcm92aWRlciAoQmVkcm9jaykgc2hvdWxkIGJlIGFkdmVydGlzZWQuIEl0IGF1dGhzIHZpYSB0aGVcbiAqIHJ1bnRpbWUgSUFNIHJvbGUgKG5vIEFQSSBrZXkpLCBzbyBhbiBBV1MgcmVnaW9uIOKAlCBzZXQgYnkgZXZlcnkgQVdTIHJ1bnRpbWUg4oCUIGlzXG4gKiB0aGUgXCJydW5uaW5nIGluIC8gY29uZmlndXJlZCBmb3IgQVdTXCIgc2lnbmFsLiBHYXRpbmcgaXQgb24gQVdTX0FDQ0VTU19LRVlfSURcbiAqICh3aGljaCBpdCBuZXZlciB1c2VzKSBsZWZ0IGl0IHBlcm1hbmVudGx5IHVuYXZhaWxhYmxlIGRlc3BpdGUgdmFsaWQgSUFNIGNyZWRzO1xuICogYWR2ZXJ0aXNpbmcgaXQgd2l0aCBubyBBV1MgY29udGV4dCBhdCBhbGwgd291bGQganVzdCBmYWlsIGF0IG1vZGVsLWNhbGwgdGltZS5cbiAqL1xuZnVuY3Rpb24ga2V5bGVzc1Byb3ZpZGVyQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gISEocHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCBwcm9jZXNzLmVudi5BV1NfREVGQVVMVF9SRUdJT04pO1xufVxuXG4vKipcbiAqIExhemlseSBpbml0aWFsaXplIHRoZSBwcm92aWRlciByZWdpc3RyeSBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy4gS2V5LWJhc2VkXG4gKiBwcm92aWRlcnMgcmVnaXN0ZXIgb25seSB3aGVuIHRoZWlyIGtleSBpcyBzZXQ7IGtleWxlc3MgcHJvdmlkZXJzIChCZWRyb2NrKVxuICogcmVnaXN0ZXIgd2hlbiBhbiBBV1MgcmVnaW9uIGlzIGNvbmZpZ3VyZWQuXG4gKi9cbmZ1bmN0aW9uIGluaXRSZWdpc3RyeSgpOiB2b2lkIHtcbiAgaWYgKGluaXRpYWxpemVkKSByZXR1cm47XG4gIGluaXRpYWxpemVkID0gdHJ1ZTtcblxuICBmb3IgKGNvbnN0IFtpZCwgaW5mb10gb2YgT2JqZWN0LmVudHJpZXMoQUlfUFJPVklERVJfQ0FUQUxPRykpIHtcbiAgICBjb25zdCBmYWN0b3J5ID0gUFJPVklERVJfRkFDVE9SSUVTW2lkXTtcbiAgICBpZiAoIWZhY3RvcnkpIGNvbnRpbnVlO1xuICAgIGNvbnN0IGVudlZhciA9IEFJX1BST1ZJREVSX0VOVl9WQVJTW2lkXTtcbiAgICBjb25zdCBhcGlLZXkgPSBlbnZWYXIgPyBwcm9jZXNzLmVudltlbnZWYXJdIDogdW5kZWZpbmVkO1xuICAgIGlmIChhcGlLZXkgfHwgKEtFWUxFU1NfUFJPVklERVJTLmhhcyhpZCkgJiYga2V5bGVzc1Byb3ZpZGVyQXZhaWxhYmxlKCkpKSB7XG4gICAgICByZWdpc3RyeS5zZXQoaWQsIHsgaW5mbywgY3JlYXRlTW9kZWw6IGZhY3RvcnkoYXBpS2V5KSB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgT3BlbkFJLWNvbXBhdGlibGUgKGxvY2FsIC8gc2VsZi1ob3N0ZWQpIHByb3ZpZGVyIGlzIG5vdCBpbiB0aGUgc3RhdGljXG4gIC8vIGNhdGFsb2cg4oCUIGl0cyBlbmRwb2ludCBhbmQgbW9kZWxzIGFyZSBkZXBsb3ltZW50LWRlZmluZWQuIFJlZ2lzdGVyIGl0IHdoZW4gYVxuICAvLyBiYXNlIFVSTCBpcyBjb25maWd1cmVkOyBpdHMgXCJpcyBjb25maWd1cmVkXCIgc2lnbmFsIGlzIHRoZSBiYXNlIFVSTCwgbm90IGEga2V5LlxuICBjb25zdCBjb21wYXQgPSBnZXRPcGVuQUlDb21wYXRpYmxlUHJvdmlkZXIoKTtcbiAgaWYgKGNvbXBhdCkge1xuICAgIHJlZ2lzdHJ5LnNldChjb21wYXQuaWQsIHtcbiAgICAgIGluZm86IGNvbXBhdCxcbiAgICAgIGNyZWF0ZU1vZGVsOiBQUk9WSURFUl9GQUNUT1JJRVNbT1BFTkFJX0NPTVBBVElCTEVfUFJPVklERVJfSURdKHByb2Nlc3MuZW52Lk9QRU5BSV9DT01QQVRJQkxFX0FQSV9LRVkpLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbGlzdCBvZiBwcm92aWRlcnMgdGhhdCBoYXZlIEFQSSBrZXlzIGNvbmZpZ3VyZWQgdmlhIGVudiB2YXJzLlxuICpcbiAqIEByZXR1cm5zIEFycmF5IG9mIGNvbmZpZ3VyZWQgcHJvdmlkZXIgaW5mbyB3aXRoIG1vZGVsIGxpc3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdmFpbGFibGVQcm92aWRlcnMoKTogQUlQcm92aWRlckluZm9bXSB7XG4gIGluaXRSZWdpc3RyeSgpO1xuICByZXR1cm4gQXJyYXkuZnJvbShyZWdpc3RyeS52YWx1ZXMoKSkubWFwKChlKSA9PiBlLmluZm8pO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG1vZGVsIGxpc3QgZm9yIGEgZ2l2ZW4gcHJvdmlkZXIgSUQgKHJlZ2FyZGxlc3Mgb2YgZW52IHZhciBjb25maWcpLlxuICpcbiAqIEBwYXJhbSBwcm92aWRlcklkIC0gUHJvdmlkZXIgaWRlbnRpZmllclxuICogQHJldHVybnMgQXJyYXkgb2YgbW9kZWxzLCBvciBlbXB0eSBhcnJheSBpZiBwcm92aWRlciBpcyB1bmtub3duXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm92aWRlck1vZGVscyhwcm92aWRlcklkOiBzdHJpbmcpOiBBSU1vZGVsSW5mb1tdIHtcbiAgcmV0dXJuIGdldEFJUHJvdmlkZXJNb2RlbHMocHJvdmlkZXJJZCk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhIExhbmd1YWdlTW9kZWwgZnJvbSB0aGUgcmVnaXN0cnkgZm9yIGEgY29uZmlndXJlZCBwcm92aWRlci5cbiAqXG4gKiBAcGFyYW0gcHJvdmlkZXJJZCAtIFByb3ZpZGVyIGlkZW50aWZpZXJcbiAqIEBwYXJhbSBtb2RlbElkIC0gTW9kZWwgaWRlbnRpZmllclxuICogQHJldHVybnMgTGFuZ3VhZ2VNb2RlbCBpbnN0YW5jZVxuICogQHRocm93cyBFcnJvciBpZiBwcm92aWRlciBpcyBub3QgY29uZmlndXJlZCBvciBtb2RlbCBpcyBpbnZhbGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTW9kZWwocHJvdmlkZXJJZDogc3RyaW5nLCBtb2RlbElkOiBzdHJpbmcpOiBMYW5ndWFnZU1vZGVsIHtcbiAgaW5pdFJlZ2lzdHJ5KCk7XG4gIGNvbnN0IGVudHJ5ID0gcmVnaXN0cnkuZ2V0KHByb3ZpZGVySWQpO1xuICBpZiAoIWVudHJ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBSSBwcm92aWRlciBcIiR7cHJvdmlkZXJJZH1cIiBpcyBub3QgY29uZmlndXJlZC4gU2V0IHRoZSBjb3JyZXNwb25kaW5nIEFQSSBrZXkgZW52aXJvbm1lbnQgdmFyaWFibGUuYCk7XG4gIH1cbiAgaWYgKCFlbnRyeS5pbmZvLm1vZGVscy5zb21lKChtKSA9PiBtLmlkID09PSBtb2RlbElkKSkge1xuICAgIGNvbnN0IGF2YWlsYWJsZSA9IGVudHJ5LmluZm8ubW9kZWxzLm1hcCgobSkgPT4gbS5pZCkuam9pbignLCAnKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZGVsIFwiJHttb2RlbElkfVwiIGlzIG5vdCBhdmFpbGFibGUgZm9yIHByb3ZpZGVyIFwiJHtwcm92aWRlcklkfVwiLiBBdmFpbGFibGUgbW9kZWxzOiAke2F2YWlsYWJsZX1gKTtcbiAgfVxuICByZXR1cm4gZW50cnkuY3JlYXRlTW9kZWwobW9kZWxJZCk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgdGVtcG9yYXJ5IExhbmd1YWdlTW9kZWwgdXNpbmcgYSBjdXN0b20gQVBJIGtleSAobm90IGNhY2hlZCBpbiByZWdpc3RyeSkuXG4gKlxuICogQHBhcmFtIHByb3ZpZGVySWQgLSBQcm92aWRlciBpZGVudGlmaWVyXG4gKiBAcGFyYW0gbW9kZWxJZCAtIE1vZGVsIGlkZW50aWZpZXJcbiAqIEBwYXJhbSBhcGlLZXkgLSBDdXN0b20gQVBJIGtleVxuICogQHJldHVybnMgTGFuZ3VhZ2VNb2RlbCBpbnN0YW5jZVxuICogQHRocm93cyBFcnJvciBpZiBwcm92aWRlciBvciBtb2RlbCBpcyB1bmtub3duXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2RlbFdpdGhLZXkocHJvdmlkZXJJZDogc3RyaW5nLCBtb2RlbElkOiBzdHJpbmcsIGFwaUtleTogc3RyaW5nKTogTGFuZ3VhZ2VNb2RlbCB7XG4gIGNvbnN0IG1vZGVscyA9IGdldEFJUHJvdmlkZXJNb2RlbHMocHJvdmlkZXJJZCk7XG4gIGlmIChtb2RlbHMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIEFJIHByb3ZpZGVyIFwiJHtwcm92aWRlcklkfVwiLiBTdXBwb3J0ZWQ6ICR7T2JqZWN0LmtleXMoQUlfUFJPVklERVJfQ0FUQUxPRykuam9pbignLCAnKX1gKTtcbiAgfVxuICBpZiAoIW1vZGVscy5zb21lKChtKSA9PiBtLmlkID09PSBtb2RlbElkKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTW9kZWwgXCIke21vZGVsSWR9XCIgaXMgbm90IGF2YWlsYWJsZSBmb3IgcHJvdmlkZXIgXCIke3Byb3ZpZGVySWR9XCIuIEF2YWlsYWJsZTogJHttb2RlbHMubWFwKChtKSA9PiBtLmlkKS5qb2luKCcsICcpfWApO1xuICB9XG5cbiAgY29uc3QgZmFjdG9yeSA9IFBST1ZJREVSX0ZBQ1RPUklFU1twcm92aWRlcklkXTtcbiAgaWYgKCFmYWN0b3J5KSB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIEFJIHByb3ZpZGVyIFwiJHtwcm92aWRlcklkfVwiYCk7XG5cbiAgLy8gS2V5bGVzcyBwcm92aWRlcnMgKEJlZHJvY2spIGF1dGhlbnRpY2F0ZSB2aWEgdGhlIHJ1bnRpbWUgSUFNIHJvbGUgYW5kIElHTk9SRSBhXG4gIC8vIHN1cHBsaWVkIGtleS4gU2lsZW50bHkgZHJvcHBpbmcgdGhlIGtleSBhbmQgcmV0dXJuaW5nIGEgbW9kZWwgd291bGQgZGVmZXIgdGhlXG4gIC8vIGZhaWx1cmUgdG8gbW9kZWwtY2FsbCB0aW1lIHdoZW4gdGhlIElBTSByb2xlL3JlZ2lvbiBpc24ndCBjb25maWd1cmVkOyBndWFyZCBpdFxuICAvLyBoZXJlIHNvIHRoZSBmYWlsdXJlIGlzIGNsZWFyIGF0IGNvbmZpZyB0aW1lIChtaXJyb3JzIHJlc29sdmVNb2RlbCdzIGdhdGUpLlxuICBpZiAoS0VZTEVTU19QUk9WSURFUlMuaGFzKHByb3ZpZGVySWQpKSB7XG4gICAgaWYgKCFrZXlsZXNzUHJvdmlkZXJBdmFpbGFibGUoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQUkgcHJvdmlkZXIgXCIke3Byb3ZpZGVySWR9XCIgYXV0aGVudGljYXRlcyB2aWEgdGhlIEFXUyBJQU0gcm9sZSAodGhlIEFQSSBrZXkgaXMgaWdub3JlZCk7IGAgK1xuICAgICAgICAgICdzZXQgQVdTX1JFR0lPTiAob3IgQVdTX0RFRkFVTFRfUkVHSU9OKSBzbyB0aGUgcnVudGltZSBjcmVkZW50aWFscyBjYW4gYmUgcmVzb2x2ZWQuJyxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWN0b3J5KCkobW9kZWxJZCk7XG4gIH1cbiAgcmV0dXJuIGZhY3RvcnkoYXBpS2V5KShtb2RlbElkKTtcbn1cbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItcmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmlkZXItcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsNkJBQTZCLEVBQzdCLG1CQUFtQixFQUNuQiwyQkFBMkIsR0FHNUIsTUFBTSw0QkFBNEIsQ0FBQztBQVdwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztBQUNsRCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7QUFFeEIsaUZBQWlGO0FBQ2pGLGtGQUFrRjtBQUNsRixpRUFBaUU7QUFDakUsTUFBTSxrQkFBa0IsR0FBeUU7SUFDL0YsV0FBVyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEQsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDaEQsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0Is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SyxDQUNiLGdCQUFnQixVQUFVLGlFQUFpRTtnQkFDekYsb0ZBQW9GLENBQ3ZGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBjcmVhdGVBbWF6b25CZWRyb2NrIH0gZnJvbSAnQGFpLXNkay9hbWF6b24tYmVkcm9jayc7XG5pbXBvcnQgeyBjcmVhdGVBbnRocm9waWMgfSBmcm9tICdAYWktc2RrL2FudGhyb3BpYyc7XG5pbXBvcnQgeyBjcmVhdGVHb29nbGVHZW5lcmF0aXZlQUkgfSBmcm9tICdAYWktc2RrL2dvb2dsZSc7XG5pbXBvcnQgeyBjcmVhdGVPcGVuQUkgfSBmcm9tICdAYWktc2RrL29wZW5haSc7XG5pbXBvcnQgeyBjcmVhdGVPcGVuQUlDb21wYXRpYmxlIH0gZnJvbSAnQGFpLXNkay9vcGVuYWktY29tcGF0aWJsZSc7XG5pbXBvcnQgeyBjcmVhdGVYYWkgfSBmcm9tICdAYWktc2RrL3hhaSc7XG5pbXBvcnQgeyBmcm9tTm9kZVByb3ZpZGVyQ2hhaW4gfSBmcm9tICdAYXdzLXNkay9jcmVkZW50aWFsLXByb3ZpZGVycyc7XG5pbXBvcnQge1xuICBBSV9QUk9WSURFUl9DQVRBTE9HLFxuICBBSV9QUk9WSURFUl9FTlZfVkFSUyxcbiAgT1BFTkFJX0NPTVBBVElCTEVfUFJPVklERVJfSUQsXG4gIGdldEFJUHJvdmlkZXJNb2RlbHMsXG4gIGdldE9wZW5BSUNvbXBhdGlibGVQcm92aWRlcixcbiAgdHlwZSBBSVByb3ZpZGVySW5mbyxcbiAgdHlwZSBBSU1vZGVsSW5mbyxcbn0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnYWknO1xuXG4vLyBQcm92aWRlciBSZWdpc3RyeVxuXG4vKiogUmVnaXN0ZXJlZCBwcm92aWRlciB3aXRoIG1vZGVsIGZhY3RvcnkgZnVuY3Rpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyRW50cnkge1xuICBpbmZvOiBBSVByb3ZpZGVySW5mbztcbiAgY3JlYXRlTW9kZWw6IChtb2RlbElkOiBzdHJpbmcpID0+IExhbmd1YWdlTW9kZWw7XG59XG5cbmNvbnN0IHJlZ2lzdHJ5ID0gbmV3IE1hcDxzdHJpbmcsIFByb3ZpZGVyRW50cnk+KCk7XG5sZXQgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuLy8gUHJvdmlkZXIg4oaSIG1vZGVsLWZhY3RvcnkgbWFwLiBga2V5YCBpcyBvcHRpb25hbCBzbyBrZXlsZXNzIHByb3ZpZGVycyAoQmVkcm9jayxcbi8vIHZpYSB0aGUgcnVudGltZSBJQU0gcm9sZSkgYW5kIGtleS1iYXNlZCBwcm92aWRlcnMgc2hhcmUgb25lIHNpZ25hdHVyZS4gRGVjbGFyZWRcbi8vIG9uY2UgYW5kIGNvbnN1bWVkIGJ5IEJPVEggaW5pdFJlZ2lzdHJ5IGFuZCBjcmVhdGVNb2RlbFdpdGhLZXkuXG5jb25zdCBQUk9WSURFUl9GQUNUT1JJRVM6IFJlY29yZDxzdHJpbmcsIChrZXk/OiBzdHJpbmcpID0+IChtb2RlbElkOiBzdHJpbmcpID0+IExhbmd1YWdlTW9kZWw+ID0ge1xuICAnYW50aHJvcGljJzogKGtleSkgPT4gY3JlYXRlQW50aHJvcGljKHsgYXBpS2V5OiBrZXkgfSksXG4gICdvcGVuYWknOiAoa2V5KSA9PiBjcmVhdGVPcGVuQUkoeyBhcGlLZXk6IGtleSB9KSxcbiAgJ2dvb2dsZSc6IChrZXkpID0+IGNyZWF0ZUdvb2dsZUdlbmVyYXRpdmVBSSh7IGFwaUtleToga2V5IH0pLFxuICAneGFpJzogKGtleSkgPT4gY3JlYXRlWGFpKHsgYXBpS2V5OiBrZXkgfSksXG4gIC8vIEJlZHJvY2sgYXV0aGVudGljYXRlcyB3aXRoIHRoZSBSVU5USU1FJ3MgSUFNIHJvbGUsIGFuZCB0aGUgYWktc2RrIHByb3ZpZGVyXG4gIC8vIGRvZXMgTk9UIHdhbGsgdGhlIEFXUyBjcmVkZW50aWFsIGNoYWluIG9uIGl0cyBvd24g4oCUIGJhcmUgYGNyZWF0ZUFtYXpvbkJlZHJvY2soKWBcbiAgLy8gcmVhZHMgb25seSBgQVdTX0FDQ0VTU19LRVlfSURgL2BBV1NfU0VDUkVUX0FDQ0VTU19LRVlgIGFuZCBvdGhlcndpc2UgdGhyb3dzXG4gIC8vIFwiQVdTIFNpZ1Y0IGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVzIEFXUyBjcmVkZW50aWFsc1wiIGF0IGNhbGwgdGltZS4gSGFuZGluZyBpdFxuICAvLyB0aGUgc3RhbmRhcmQgY2hhaW4gcmVzb2x2ZXMgRUtTIFBvZCBJZGVudGl0eSwgSVJTQSwgRUNTIHRhc2sgcm9sZXMsIHRoZSBFQzJcbiAgLy8gaW5zdGFuY2UgcHJvZmlsZSwgU1NPIGFuZCBzdGF0aWMgZW52IGtleXMg4oCUIGkuZS4gZXZlcnkgd2F5IHRoaXMgcGxhdGZvcm0gaXNcbiAgLy8gYWN0dWFsbHkgZGVwbG95ZWQuIEJ1aWx0IG9uY2UgcGVyIGZhY3RvcnkgY2FsbDsgdGhlIGNoYWluIGNhY2hlcyBpbnRlcm5hbGx5XG4gIC8vIGFuZCByZWZyZXNoZXMgZXhwaXJpbmcgcm9sZSBjcmVkZW50aWFscyBvbiBpdHMgb3duLlxuICAnYW1hem9uLWJlZHJvY2snOiAoKSA9PiBjcmVhdGVBbWF6b25CZWRyb2NrKHsgY3JlZGVudGlhbFByb3ZpZGVyOiBmcm9tTm9kZVByb3ZpZGVyQ2hhaW4oKSB9KSxcbiAgLy8gU2VsZi1ob3N0ZWQgT3BlbkFJLWNvbXBhdGlibGUgZW5kcG9pbnQgKERvY2tlciBtb2RlbCBpbWFnZSAvIE9sbGFtYSAvIHZMTE0pLlxuICAvLyBUaGUgZW5kcG9pbnQgaXMgZGVwbG95bWVudC1kZWZpbmVkIHZpYSBPUEVOQUlfQ09NUEFUSUJMRV9CQVNFX1VSTDsgbG9jYWwgc2VydmVyc1xuICAvLyB1c3VhbGx5IGlnbm9yZSB0aGUga2V5LCBzbyBhIHBsYWNlaG9sZGVyIGlzIHNlbnQgd2hlbiBub25lIGlzIGNvbmZpZ3VyZWQuXG4gIFtPUEVOQUlfQ09NUEFUSUJMRV9QUk9WSURFUl9JRF06IChrZXkpID0+IHtcbiAgICBjb25zdCBiYXNlVVJMID0gcHJvY2Vzcy5lbnYuT1BFTkFJX0NPTVBBVElCTEVfQkFTRV9VUkw7XG4gICAgaWYgKCFiYXNlVVJMKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ09QRU5BSV9DT01QQVRJQkxFX0JBU0VfVVJMIGlzIG5vdCBzZXQ7IGNhbm5vdCBidWlsZCB0aGUgbG9jYWwgKE9wZW5BSS1jb21wYXRpYmxlKSBwcm92aWRlci4nKTtcbiAgICB9XG4gICAgY29uc3QgcHJvdmlkZXIgPSBjcmVhdGVPcGVuQUlDb21wYXRpYmxlKHtcbiAgICAgIG5hbWU6IE9QRU5BSV9DT01QQVRJQkxFX1BST1ZJREVSX0lELFxuICAgICAgYmFzZVVSTCxcbiAgICAgIGFwaUtleToga2V5ID8/IHByb2Nlc3MuZW52Lk9QRU5BSV9DT01QQVRJQkxFX0FQSV9LRVkgPz8gJ25vdC1uZWVkZWQnLFxuICAgIH0pO1xuICAgIHJldHVybiAobW9kZWxJZDogc3RyaW5nKSA9PiBwcm92aWRlcihtb2RlbElkKTtcbiAgfSxcbn07XG5cbi8qKiBQcm92aWRlcnMgdGhhdCBhdXRoZW50aWNhdGUgV0lUSE9VVCBhbiBBUEkga2V5IChCZWRyb2NrIHVzZXMgdGhlIElBTSByb2xlKS4gKi9cbmNvbnN0IEtFWUxFU1NfUFJPVklERVJTID0gbmV3IFNldChbJ2FtYXpvbi1iZWRyb2NrJ10pO1xuXG4vKipcbiAqIFdoZXRoZXIgYSBrZXlsZXNzIHByb3ZpZGVyIChCZWRyb2NrKSBzaG91bGQgYmUgYWR2ZXJ0aXNlZC4gSXQgYXV0aHMgdmlhIHRoZVxuICogcnVudGltZSBJQU0gcm9sZSAobm8gQVBJIGtleSksIHNvIGFuIEFXUyByZWdpb24g4oCUIHNldCBieSBldmVyeSBBV1MgcnVudGltZSDigJQgaXNcbiAqIHRoZSBcInJ1bm5pbmcgaW4gLyBjb25maWd1cmVkIGZvciBBV1NcIiBzaWduYWwuIEdhdGluZyBpdCBvbiBBV1NfQUNDRVNTX0tFWV9JRFxuICogKHdoaWNoIGl0IG5ldmVyIHVzZXMpIGxlZnQgaXQgcGVybWFuZW50bHkgdW5hdmFpbGFibGUgZGVzcGl0ZSB2YWxpZCBJQU0gY3JlZHM7XG4gKiBhZHZlcnRpc2luZyBpdCB3aXRoIG5vIEFXUyBjb250ZXh0IGF0IGFsbCB3b3VsZCBqdXN0IGZhaWwgYXQgbW9kZWwtY2FsbCB0aW1lLlxuICovXG5mdW5jdGlvbiBrZXlsZXNzUHJvdmlkZXJBdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gIHJldHVybiAhIShwcm9jZXNzLmVudi5BV1NfUkVHSU9OIHx8IHByb2Nlc3MuZW52LkFXU19ERUZBVUxUX1JFR0lPTik7XG59XG5cbi8qKlxuICogTGF6aWx5IGluaXRpYWxpemUgdGhlIHByb3ZpZGVyIHJlZ2lzdHJ5IGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLiBLZXktYmFzZWRcbiAqIHByb3ZpZGVycyByZWdpc3RlciBvbmx5IHdoZW4gdGhlaXIga2V5IGlzIHNldDsga2V5bGVzcyBwcm92aWRlcnMgKEJlZHJvY2spXG4gKiByZWdpc3RlciB3aGVuIGFuIEFXUyByZWdpb24gaXMgY29uZmlndXJlZC5cbiAqL1xuZnVuY3Rpb24gaW5pdFJlZ2lzdHJ5KCk6IHZvaWQge1xuICBpZiAoaW5pdGlhbGl6ZWQpIHJldHVybjtcbiAgaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gIGZvciAoY29uc3QgW2lkLCBpbmZvXSBvZiBPYmplY3QuZW50cmllcyhBSV9QUk9WSURFUl9DQVRBTE9HKSkge1xuICAgIGNvbnN0IGZhY3RvcnkgPSBQUk9WSURFUl9GQUNUT1JJRVNbaWRdO1xuICAgIGlmICghZmFjdG9yeSkgY29udGludWU7XG4gICAgY29uc3QgZW52VmFyID0gQUlfUFJPVklERVJfRU5WX1ZBUlNbaWRdO1xuICAgIGNvbnN0IGFwaUtleSA9IGVudlZhciA/IHByb2Nlc3MuZW52W2VudlZhcl0gOiB1bmRlZmluZWQ7XG4gICAgaWYgKGFwaUtleSB8fCAoS0VZTEVTU19QUk9WSURFUlMuaGFzKGlkKSAmJiBrZXlsZXNzUHJvdmlkZXJBdmFpbGFibGUoKSkpIHtcbiAgICAgIHJlZ2lzdHJ5LnNldChpZCwgeyBpbmZvLCBjcmVhdGVNb2RlbDogZmFjdG9yeShhcGlLZXkpIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSBPcGVuQUktY29tcGF0aWJsZSAobG9jYWwgLyBzZWxmLWhvc3RlZCkgcHJvdmlkZXIgaXMgbm90IGluIHRoZSBzdGF0aWNcbiAgLy8gY2F0YWxvZyDigJQgaXRzIGVuZHBvaW50IGFuZCBtb2RlbHMgYXJlIGRlcGxveW1lbnQtZGVmaW5lZC4gUmVnaXN0ZXIgaXQgd2hlbiBhXG4gIC8vIGJhc2UgVVJMIGlzIGNvbmZpZ3VyZWQ7IGl0cyBcImlzIGNvbmZpZ3VyZWRcIiBzaWduYWwgaXMgdGhlIGJhc2UgVVJMLCBub3QgYSBrZXkuXG4gIGNvbnN0IGNvbXBhdCA9IGdldE9wZW5BSUNvbXBhdGlibGVQcm92aWRlcigpO1xuICBpZiAoY29tcGF0KSB7XG4gICAgcmVnaXN0cnkuc2V0KGNvbXBhdC5pZCwge1xuICAgICAgaW5mbzogY29tcGF0LFxuICAgICAgY3JlYXRlTW9kZWw6IFBST1ZJREVSX0ZBQ1RPUklFU1tPUEVOQUlfQ09NUEFUSUJMRV9QUk9WSURFUl9JRF0ocHJvY2Vzcy5lbnYuT1BFTkFJX0NPTVBBVElCTEVfQVBJX0tFWSksXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBsaXN0IG9mIHByb3ZpZGVycyB0aGF0IGhhdmUgQVBJIGtleXMgY29uZmlndXJlZCB2aWEgZW52IHZhcnMuXG4gKlxuICogQHJldHVybnMgQXJyYXkgb2YgY29uZmlndXJlZCBwcm92aWRlciBpbmZvIHdpdGggbW9kZWwgbGlzdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YWlsYWJsZVByb3ZpZGVycygpOiBBSVByb3ZpZGVySW5mb1tdIHtcbiAgaW5pdFJlZ2lzdHJ5KCk7XG4gIHJldHVybiBBcnJheS5mcm9tKHJlZ2lzdHJ5LnZhbHVlcygpKS5tYXAoKGUpID0+IGUuaW5mbyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbW9kZWwgbGlzdCBmb3IgYSBnaXZlbiBwcm92aWRlciBJRCAocmVnYXJkbGVzcyBvZiBlbnYgdmFyIGNvbmZpZykuXG4gKlxuICogQHBhcmFtIHByb3ZpZGVySWQgLSBQcm92aWRlciBpZGVudGlmaWVyXG4gKiBAcmV0dXJucyBBcnJheSBvZiBtb2RlbHMsIG9yIGVtcHR5IGFycmF5IGlmIHByb3ZpZGVyIGlzIHVua25vd25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3ZpZGVyTW9kZWxzKHByb3ZpZGVySWQ6IHN0cmluZyk6IEFJTW9kZWxJbmZvW10ge1xuICByZXR1cm4gZ2V0QUlQcm92aWRlck1vZGVscyhwcm92aWRlcklkKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGEgTGFuZ3VhZ2VNb2RlbCBmcm9tIHRoZSByZWdpc3RyeSBmb3IgYSBjb25maWd1cmVkIHByb3ZpZGVyLlxuICpcbiAqIEBwYXJhbSBwcm92aWRlcklkIC0gUHJvdmlkZXIgaWRlbnRpZmllclxuICogQHBhcmFtIG1vZGVsSWQgLSBNb2RlbCBpZGVudGlmaWVyXG4gKiBAcmV0dXJucyBMYW5ndWFnZU1vZGVsIGluc3RhbmNlXG4gKiBAdGhyb3dzIEVycm9yIGlmIHByb3ZpZGVyIGlzIG5vdCBjb25maWd1cmVkIG9yIG1vZGVsIGlzIGludmFsaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVNb2RlbChwcm92aWRlcklkOiBzdHJpbmcsIG1vZGVsSWQ6IHN0cmluZyk6IExhbmd1YWdlTW9kZWwge1xuICBpbml0UmVnaXN0cnkoKTtcbiAgY29uc3QgZW50cnkgPSByZWdpc3RyeS5nZXQocHJvdmlkZXJJZCk7XG4gIGlmICghZW50cnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEFJIHByb3ZpZGVyIFwiJHtwcm92aWRlcklkfVwiIGlzIG5vdCBjb25maWd1cmVkLiBTZXQgdGhlIGNvcnJlc3BvbmRpbmcgQVBJIGtleSBlbnZpcm9ubWVudCB2YXJpYWJsZS5gKTtcbiAgfVxuICBpZiAoIWVudHJ5LmluZm8ubW9kZWxzLnNvbWUoKG0pID0+IG0uaWQgPT09IG1vZGVsSWQpKSB7XG4gICAgY29uc3QgYXZhaWxhYmxlID0gZW50cnkuaW5mby5tb2RlbHMubWFwKChtKSA9PiBtLmlkKS5qb2luKCcsICcpO1xuICAgIHRocm93IG5ldyBFcnJvcihgTW9kZWwgXCIke21vZGVsSWR9XCIgaXMgbm90IGF2YWlsYWJsZSBmb3IgcHJvdmlkZXIgXCIke3Byb3ZpZGVySWR9XCIuIEF2YWlsYWJsZSBtb2RlbHM6ICR7YXZhaWxhYmxlfWApO1xuICB9XG4gIHJldHVybiBlbnRyeS5jcmVhdGVNb2RlbChtb2RlbElkKTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSB0ZW1wb3JhcnkgTGFuZ3VhZ2VNb2RlbCB1c2luZyBhIGN1c3RvbSBBUEkga2V5IChub3QgY2FjaGVkIGluIHJlZ2lzdHJ5KS5cbiAqXG4gKiBAcGFyYW0gcHJvdmlkZXJJZCAtIFByb3ZpZGVyIGlkZW50aWZpZXJcbiAqIEBwYXJhbSBtb2RlbElkIC0gTW9kZWwgaWRlbnRpZmllclxuICogQHBhcmFtIGFwaUtleSAtIEN1c3RvbSBBUEkga2V5XG4gKiBAcmV0dXJucyBMYW5ndWFnZU1vZGVsIGluc3RhbmNlXG4gKiBAdGhyb3dzIEVycm9yIGlmIHByb3ZpZGVyIG9yIG1vZGVsIGlzIHVua25vd25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vZGVsV2l0aEtleShwcm92aWRlcklkOiBzdHJpbmcsIG1vZGVsSWQ6IHN0cmluZywgYXBpS2V5OiBzdHJpbmcpOiBMYW5ndWFnZU1vZGVsIHtcbiAgY29uc3QgbW9kZWxzID0gZ2V0QUlQcm92aWRlck1vZGVscyhwcm92aWRlcklkKTtcbiAgaWYgKG1vZGVscy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gQUkgcHJvdmlkZXIgXCIke3Byb3ZpZGVySWR9XCIuIFN1cHBvcnRlZDogJHtPYmplY3Qua2V5cyhBSV9QUk9WSURFUl9DQVRBTE9HKS5qb2luKCcsICcpfWApO1xuICB9XG4gIGlmICghbW9kZWxzLnNvbWUoKG0pID0+IG0uaWQgPT09IG1vZGVsSWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBNb2RlbCBcIiR7bW9kZWxJZH1cIiBpcyBub3QgYXZhaWxhYmxlIGZvciBwcm92aWRlciBcIiR7cHJvdmlkZXJJZH1cIi4gQXZhaWxhYmxlOiAke21vZGVscy5tYXAoKG0pID0+IG0uaWQpLmpvaW4oJywgJyl9YCk7XG4gIH1cblxuICBjb25zdCBmYWN0b3J5ID0gUFJPVklERVJfRkFDVE9SSUVTW3Byb3ZpZGVySWRdO1xuICBpZiAoIWZhY3RvcnkpIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgQUkgcHJvdmlkZXIgXCIke3Byb3ZpZGVySWR9XCJgKTtcblxuICAvLyBLZXlsZXNzIHByb3ZpZGVycyAoQmVkcm9jaykgYXV0aGVudGljYXRlIHZpYSB0aGUgcnVudGltZSBJQU0gcm9sZSBhbmQgSUdOT1JFIGFcbiAgLy8gc3VwcGxpZWQga2V5LiBTaWxlbnRseSBkcm9wcGluZyB0aGUga2V5IGFuZCByZXR1cm5pbmcgYSBtb2RlbCB3b3VsZCBkZWZlciB0aGVcbiAgLy8gZmFpbHVyZSB0byBtb2RlbC1jYWxsIHRpbWUgd2hlbiB0aGUgSUFNIHJvbGUvcmVnaW9uIGlzbid0IGNvbmZpZ3VyZWQ7IGd1YXJkIGl0XG4gIC8vIGhlcmUgc28gdGhlIGZhaWx1cmUgaXMgY2xlYXIgYXQgY29uZmlnIHRpbWUgKG1pcnJvcnMgcmVzb2x2ZU1vZGVsJ3MgZ2F0ZSkuXG4gIGlmIChLRVlMRVNTX1BST1ZJREVSUy5oYXMocHJvdmlkZXJJZCkpIHtcbiAgICBpZiAoIWtleWxlc3NQcm92aWRlckF2YWlsYWJsZSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBSSBwcm92aWRlciBcIiR7cHJvdmlkZXJJZH1cIiBhdXRoZW50aWNhdGVzIHZpYSB0aGUgQVdTIElBTSByb2xlICh0aGUgQVBJIGtleSBpcyBpZ25vcmVkKTsgYCArXG4gICAgICAgICAgJ3NldCBBV1NfUkVHSU9OIChvciBBV1NfREVGQVVMVF9SRUdJT04pIHNvIHRoZSBydW50aW1lIGNyZWRlbnRpYWxzIGNhbiBiZSByZXNvbHZlZC4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhY3RvcnkoKShtb2RlbElkKTtcbiAgfVxuICByZXR1cm4gZmFjdG9yeShhcGlLZXkpKG1vZGVsSWQpO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -27,8 +27,9 @@
|
|
|
27
27
|
"@ai-sdk/openai": "4.0.47",
|
|
28
28
|
"@ai-sdk/openai-compatible": "3.0.37",
|
|
29
29
|
"@ai-sdk/xai": "4.0.44",
|
|
30
|
+
"@aws-sdk/credential-providers": "3.1101.0",
|
|
30
31
|
"ai": "7.0.79",
|
|
31
|
-
"@pipeline-builder/api-core": "4.0.
|
|
32
|
+
"@pipeline-builder/api-core": "4.0.3"
|
|
32
33
|
},
|
|
33
34
|
"keywords": [
|
|
34
35
|
"ci-cd",
|
|
@@ -84,7 +85,7 @@
|
|
|
84
85
|
"access": "public",
|
|
85
86
|
"registry": "https://registry.npmjs.org/"
|
|
86
87
|
},
|
|
87
|
-
"version": "4.0.
|
|
88
|
+
"version": "4.0.3",
|
|
88
89
|
"bugs": {
|
|
89
90
|
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
90
91
|
},
|