@cdklabs/cdk-appmod-catalog-blueprints 1.16.1 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/.jsii +960 -143
  2. package/lib/document-processing/adapter/queued-s3-adapter.js +1 -1
  3. package/lib/document-processing/agentic-document-processing.js +1 -1
  4. package/lib/document-processing/base-document-processing.js +1 -1
  5. package/lib/document-processing/bedrock-document-processing.d.ts +1 -0
  6. package/lib/document-processing/bedrock-document-processing.js +10 -6
  7. package/lib/document-processing/default-document-processing-config.js +1 -1
  8. package/lib/document-processing/index.d.ts +2 -0
  9. package/lib/document-processing/index.js +3 -1
  10. package/lib/document-processing/localstack-agentic-document-processing.d.ts +20 -0
  11. package/lib/document-processing/localstack-agentic-document-processing.js +66 -0
  12. package/lib/document-processing/localstack-bedrock-document-processing.d.ts +16 -0
  13. package/lib/document-processing/localstack-bedrock-document-processing.js +38 -0
  14. package/lib/document-processing/resources/cleanup/handler.py +16 -1
  15. package/lib/document-processing/resources/default-localstack-invoke/index.py +184 -0
  16. package/lib/document-processing/resources/default-localstack-invoke/provider_runtime.py +251 -0
  17. package/lib/document-processing/resources/default-localstack-invoke/requirements.txt +5 -0
  18. package/lib/document-processing/resources/default-sqs-consumer/index.py +17 -2
  19. package/lib/document-processing/resources/pdf-chunking/handler.py +16 -1
  20. package/lib/document-processing/tests/localstack-agentic-document-processing.test.d.ts +1 -0
  21. package/lib/document-processing/tests/localstack-agentic-document-processing.test.js +78 -0
  22. package/lib/document-processing/tests/localstack-document-processing.test.d.ts +1 -0
  23. package/lib/document-processing/tests/localstack-document-processing.test.js +116 -0
  24. package/lib/framework/agents/base-agent.js +1 -1
  25. package/lib/framework/agents/batch-agent.d.ts +1 -0
  26. package/lib/framework/agents/batch-agent.js +7 -4
  27. package/lib/framework/agents/default-agent-config.js +1 -1
  28. package/lib/framework/agents/index.d.ts +1 -0
  29. package/lib/framework/agents/index.js +2 -1
  30. package/lib/framework/agents/interactive-agent.js +10 -10
  31. package/lib/framework/agents/knowledge-base/base-knowledge-base.js +1 -1
  32. package/lib/framework/agents/knowledge-base/bedrock-knowledge-base.js +1 -1
  33. package/lib/framework/agents/localstack-batch-agent.d.ts +15 -0
  34. package/lib/framework/agents/localstack-batch-agent.js +33 -0
  35. package/lib/framework/agents/resources/default-ollama-agent/batch.py +396 -0
  36. package/lib/framework/agents/resources/default-ollama-agent/models.py +7 -0
  37. package/lib/framework/agents/resources/default-ollama-agent/requirements.txt +9 -0
  38. package/lib/framework/agents/resources/default-ollama-agent/runtime_support.py +237 -0
  39. package/lib/framework/agents/resources/default-ollama-agent/utils.py +77 -0
  40. package/lib/framework/bedrock/bedrock.d.ts +9 -0
  41. package/lib/framework/bedrock/bedrock.js +20 -10
  42. package/lib/framework/custom-resource/default-runtimes.js +1 -1
  43. package/lib/framework/foundation/access-log.js +1 -1
  44. package/lib/framework/foundation/eventbridge-broker.js +1 -1
  45. package/lib/framework/foundation/network.js +1 -1
  46. package/lib/framework/index.d.ts +1 -0
  47. package/lib/framework/index.js +2 -1
  48. package/lib/framework/localstack/index.d.ts +1 -0
  49. package/lib/framework/localstack/index.js +18 -0
  50. package/lib/framework/localstack/localstack-config.d.ts +79 -0
  51. package/lib/framework/localstack/localstack-config.js +49 -0
  52. package/lib/framework/tests/localstack-batch-agent.test.d.ts +1 -0
  53. package/lib/framework/tests/localstack-batch-agent.test.js +67 -0
  54. package/lib/tsconfig.tsbuildinfo +1 -1
  55. package/lib/utilities/data-loader.js +1 -1
  56. package/lib/utilities/lambda-iam-utils.js +1 -1
  57. package/lib/utilities/observability/cloudfront-distribution-observability-property-injector.js +1 -1
  58. package/lib/utilities/observability/cloudwatch-transaction-search.js +1 -1
  59. package/lib/utilities/observability/default-observability-config.js +1 -1
  60. package/lib/utilities/observability/lambda-observability-property-injector.js +1 -1
  61. package/lib/utilities/observability/log-group-data-protection-utils.js +1 -1
  62. package/lib/utilities/observability/powertools-config.js +1 -1
  63. package/lib/utilities/observability/state-machine-observability-property-injector.js +1 -1
  64. package/lib/webapp/frontend-construct.js +1 -1
  65. package/package.json +1 -1
@@ -0,0 +1,77 @@
1
+ import os
2
+ import boto3
3
+ import json
4
+ import zipfile
5
+ import glob
6
+ from models import ToolLocationDefinition
7
+
8
+
9
+ def _resolve_endpoint_url(*service_env_keys: str):
10
+ for key in service_env_keys:
11
+ endpoint = os.getenv(key)
12
+ if endpoint:
13
+ return endpoint
14
+ return None
15
+
16
+
17
+ def create_boto3_client(service_name: str, *service_env_keys: str):
18
+ endpoint_url = _resolve_endpoint_url(*service_env_keys, 'AWS_ENDPOINT_URL')
19
+ if endpoint_url:
20
+ return boto3.client(service_name, endpoint_url=endpoint_url)
21
+ return boto3.client(service_name)
22
+
23
+
24
+ s3 = create_boto3_client('s3', 'AWS_ENDPOINT_URL_S3')
25
+
26
+
27
+ def convert_tools_config_into_model(config: str) -> list[ToolLocationDefinition]:
28
+ definitions: list[ToolLocationDefinition] = []
29
+
30
+ tools_raw = json.loads(config)
31
+
32
+ for t in tools_raw:
33
+ definitions.append(ToolLocationDefinition.model_validate_json(json.dumps(t)))
34
+
35
+ return definitions
36
+
37
+
38
+ def download_tools(tools: list[ToolLocationDefinition]) -> list[str]:
39
+ local_tools_location: list[str] = []
40
+
41
+ for t in tools:
42
+ if t.isFile:
43
+ # Single file tool - download directly
44
+ local_location = f"/tmp/{os.path.basename(t.key)}"
45
+ s3.download_file(t.bucketName, t.key, local_location)
46
+ local_tools_location.append(local_location)
47
+ elif t.isZipArchive:
48
+ # Directory tool packaged as zip - download and extract
49
+ zip_location = f"/tmp/{os.path.basename(t.key)}"
50
+ s3.download_file(t.bucketName, t.key, zip_location)
51
+
52
+ # Extract to a directory based on the zip name (without .zip extension)
53
+ extract_dir = zip_location.replace('.zip', '')
54
+ os.makedirs(extract_dir, exist_ok=True)
55
+
56
+ with zipfile.ZipFile(zip_location, 'r') as zip_ref:
57
+ zip_ref.extractall(extract_dir)
58
+
59
+ # Find all Python files in the extracted directory (excluding test files)
60
+ for py_file in glob.glob(f"{extract_dir}/**/*.py", recursive=True):
61
+ if not os.path.basename(py_file).startswith('test_'):
62
+ local_tools_location.append(py_file)
63
+
64
+ # Clean up the zip file
65
+ os.remove(zip_location)
66
+
67
+ return local_tools_location
68
+
69
+
70
+ def download_and_load_system_prompt(bucketName, key) -> str:
71
+ local_location = '/tmp/system_prompt.txt'
72
+ s3.download_file(bucketName, key, local_location)
73
+
74
+ with open(local_location, 'r') as file:
75
+ data = file.read()
76
+
77
+ return data
@@ -18,6 +18,15 @@ export interface BedrockModelProps {
18
18
  * @default FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0
19
19
  */
20
20
  readonly fmModelId?: FoundationModelIdentifier;
21
+ /**
22
+ * Direct model ID override.
23
+ *
24
+ * Use this when invoking a model ID not available in `FoundationModelIdentifier`,
25
+ * for example LocalStack Bedrock/Ollama-backed model IDs.
26
+ *
27
+ * When provided, this value is used as-is for runtime invocation.
28
+ */
29
+ readonly customModelId?: string;
21
30
  /**
22
31
  * Enable cross-region inference for Bedrock models to improve availability and performance.
23
32
  * When enabled, uses inference profiles instead of direct model invocation.
@@ -21,34 +21,44 @@ var BedrockCrossRegionInferencePrefix;
21
21
  })(BedrockCrossRegionInferencePrefix || (exports.BedrockCrossRegionInferencePrefix = BedrockCrossRegionInferencePrefix = {}));
22
22
  class BedrockModelUtils {
23
23
  static deriveActualModelId(props) {
24
- const { fmModelId, crossRegionPrefix } = BedrockModelUtils.deriveDefaults(props);
25
- return props?.useCrossRegionInference ? `${crossRegionPrefix}.${fmModelId.modelId}` : fmModelId.modelId;
24
+ const { modelId, crossRegionPrefix, usingCustomModelId } = BedrockModelUtils.deriveDefaults(props);
25
+ if (usingCustomModelId) {
26
+ return modelId;
27
+ }
28
+ return props?.useCrossRegionInference ? `${crossRegionPrefix}.${modelId}` : modelId;
26
29
  }
27
30
  static generateModelIAMPermissions(scope, props) {
28
31
  const { account, region } = aws_cdk_lib_1.Stack.of(scope);
29
- const { fmModelId, crossRegionPrefix } = BedrockModelUtils.deriveDefaults(props);
32
+ const { modelId, crossRegionPrefix, usingCustomModelId } = BedrockModelUtils.deriveDefaults(props);
33
+ const resources = [
34
+ `arn:aws:bedrock:*::foundation-model/${modelId}`,
35
+ ];
36
+ // Preserve current behavior for AWS foundation models with optional inference profile access.
37
+ if (!usingCustomModelId) {
38
+ resources.push(`arn:aws:bedrock:${region}:${account}:inference-profile/${crossRegionPrefix}.${modelId}`);
39
+ }
30
40
  return new aws_iam_1.PolicyStatement({
31
41
  effect: aws_iam_1.Effect.ALLOW,
32
42
  actions: [
33
43
  'bedrock:InvokeModel',
34
44
  'bedrock:InvokeModelWithResponseStream',
35
45
  ],
36
- resources: [
37
- `arn:aws:bedrock:*::foundation-model/${fmModelId.modelId}`,
38
- `arn:aws:bedrock:${region}:${account}:inference-profile/${crossRegionPrefix}.${fmModelId.modelId}`,
39
- ],
46
+ resources,
40
47
  });
41
48
  }
42
49
  static deriveDefaults(props) {
43
50
  const fmModelId = props?.fmModelId || aws_bedrock_1.FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0;
51
+ const usingCustomModelId = !!props?.customModelId;
52
+ const modelId = props?.customModelId || fmModelId.modelId;
44
53
  const crossRegionPrefix = props?.crossRegionInferencePrefix || BedrockCrossRegionInferencePrefix.US;
45
54
  return {
46
- fmModelId,
55
+ modelId,
56
+ usingCustomModelId,
47
57
  crossRegionPrefix,
48
58
  };
49
59
  }
50
60
  }
51
61
  exports.BedrockModelUtils = BedrockModelUtils;
52
62
  _a = JSII_RTTI_SYMBOL_1;
53
- BedrockModelUtils[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils", version: "1.16.1" };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYmVkcm9jay9iZWRyb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUV0Qyw2Q0FBb0M7QUFDcEMseURBQW9FO0FBQ3BFLGlEQUE4RDtBQUc5RDs7O0dBR0c7QUFDSCxJQUFZLGlDQUtYO0FBTEQsV0FBWSxpQ0FBaUM7SUFDM0MsOENBQThDO0lBQzlDLDhDQUFTLENBQUE7SUFDVCw4Q0FBOEM7SUFDOUMsOENBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxpQ0FBaUMsaURBQWpDLGlDQUFpQyxRQUs1QztBQXdCRCxNQUFhLGlCQUFpQjtJQUNyQixNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBeUI7UUFDekQsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRixPQUFPLEtBQUssRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxpQkFBaUIsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDMUcsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxLQUFnQixFQUFFLEtBQXlCO1FBQ25GLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRixPQUFPLElBQUkseUJBQWUsQ0FBQztZQUN6QixNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO1lBQ3BCLE9BQU8sRUFBRTtnQkFDUCxxQkFBcUI7Z0JBQ3JCLHVDQUF1QzthQUN4QztZQUNELFNBQVMsRUFBRTtnQkFDVCx1Q0FBdUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtnQkFDMUQsbUJBQW1CLE1BQU0sSUFBSSxPQUFPLHNCQUFzQixpQkFBaUIsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFO2FBQ25HO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBeUI7UUFDckQsTUFBTSxTQUFTLEdBQUcsS0FBSyxFQUFFLFNBQVMsSUFBSSx1Q0FBeUIsQ0FBQyx1Q0FBdUMsQ0FBQztRQUN4RyxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSwwQkFBMEIsSUFBSSxpQ0FBaUMsQ0FBQyxFQUFFLENBQUM7UUFFcEcsT0FBTztZQUNMLFNBQVM7WUFDVCxpQkFBaUI7U0FDbEIsQ0FBQztJQUNKLENBQUM7O0FBL0JILDhDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2snO1xuaW1wb3J0IHsgRWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIENyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgcHJlZml4IG9wdGlvbnMgZm9yIEJlZHJvY2sgbW9kZWxzLlxuICogVXNlZCB0byBjb25maWd1cmUgaW5mZXJlbmNlIHByb2ZpbGVzIGZvciBpbXByb3ZlZCBhdmFpbGFiaWxpdHkgYW5kIHBlcmZvcm1hbmNlLlxuICovXG5leHBvcnQgZW51bSBCZWRyb2NrQ3Jvc3NSZWdpb25JbmZlcmVuY2VQcmVmaXgge1xuICAvKiogVVMtYmFzZWQgY3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcm9maWxlICovXG4gIFVTID0gJ3VzJyxcbiAgLyoqIEVVLWJhc2VkIGNyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgcHJvZmlsZSAqL1xuICBFVSA9ICdldScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsUHJvcHMge1xuICAvKipcbiAgICAgKiBGb3VuZGF0aW9uIG1vZGVsIHRvIHVzZVxuICAgICAqXG4gICAgICogQGRlZmF1bHQgRm91bmRhdGlvbk1vZGVsSWRlbnRpZmllci5BTlRIUk9QSUNfQ0xBVURFX1NPTk5FVF80XzIwMjUwNTE0X1YxXzBcbiAgICAgKi9cbiAgcmVhZG9ubHkgZm1Nb2RlbElkPzogRm91bmRhdGlvbk1vZGVsSWRlbnRpZmllcjtcblxuICAvKipcbiAgICAgKiBFbmFibGUgY3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBmb3IgQmVkcm9jayBtb2RlbHMgdG8gaW1wcm92ZSBhdmFpbGFiaWxpdHkgYW5kIHBlcmZvcm1hbmNlLlxuICAgICAqIFdoZW4gZW5hYmxlZCwgdXNlcyBpbmZlcmVuY2UgcHJvZmlsZXMgaW5zdGVhZCBvZiBkaXJlY3QgbW9kZWwgaW52b2NhdGlvbi5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICByZWFkb25seSB1c2VDcm9zc1JlZ2lvbkluZmVyZW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgICAqIFByZWZpeCBmb3IgY3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBjb25maWd1cmF0aW9uLlxuICAgICAqIE9ubHkgdXNlZCB3aGVuIHVzZUNyb3NzUmVnaW9uSW5mZXJlbmNlIGlzIHRydWUuXG4gICAgICogQGRlZmF1bHQgQmVkcm9ja0Nyb3NzUmVnaW9uSW5mZXJlbmNlUHJlZml4LlVTXG4gICAgICovXG4gIHJlYWRvbmx5IGNyb3NzUmVnaW9uSW5mZXJlbmNlUHJlZml4PzogQmVkcm9ja0Nyb3NzUmVnaW9uSW5mZXJlbmNlUHJlZml4O1xufVxuXG5leHBvcnQgY2xhc3MgQmVkcm9ja01vZGVsVXRpbHMge1xuICBwdWJsaWMgc3RhdGljIGRlcml2ZUFjdHVhbE1vZGVsSWQocHJvcHM/OiBCZWRyb2NrTW9kZWxQcm9wcyk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBmbU1vZGVsSWQsIGNyb3NzUmVnaW9uUHJlZml4IH0gPSBCZWRyb2NrTW9kZWxVdGlscy5kZXJpdmVEZWZhdWx0cyhwcm9wcyk7XG4gICAgcmV0dXJuIHByb3BzPy51c2VDcm9zc1JlZ2lvbkluZmVyZW5jZSA/IGAke2Nyb3NzUmVnaW9uUHJlZml4fS4ke2ZtTW9kZWxJZC5tb2RlbElkfWAgOiBmbU1vZGVsSWQubW9kZWxJZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVNb2RlbElBTVBlcm1pc3Npb25zKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBQb2xpY3lTdGF0ZW1lbnQge1xuICAgIGNvbnN0IHsgYWNjb3VudCwgcmVnaW9uIH0gPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgeyBmbU1vZGVsSWQsIGNyb3NzUmVnaW9uUHJlZml4IH0gPSBCZWRyb2NrTW9kZWxVdGlscy5kZXJpdmVEZWZhdWx0cyhwcm9wcyk7XG5cbiAgICByZXR1cm4gbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ2JlZHJvY2s6SW52b2tlTW9kZWwnLFxuICAgICAgICAnYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbScsXG4gICAgICBdLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGBhcm46YXdzOmJlZHJvY2s6Kjo6Zm91bmRhdGlvbi1tb2RlbC8ke2ZtTW9kZWxJZC5tb2RlbElkfWAsXG4gICAgICAgIGBhcm46YXdzOmJlZHJvY2s6JHtyZWdpb259OiR7YWNjb3VudH06aW5mZXJlbmNlLXByb2ZpbGUvJHtjcm9zc1JlZ2lvblByZWZpeH0uJHtmbU1vZGVsSWQubW9kZWxJZH1gLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRlcml2ZURlZmF1bHRzKHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCBmbU1vZGVsSWQgPSBwcm9wcz8uZm1Nb2RlbElkIHx8IEZvdW5kYXRpb25Nb2RlbElkZW50aWZpZXIuQU5USFJPUElDX0NMQVVERV9TT05ORVRfNF8yMDI1MDUxNF9WMV8wO1xuICAgIGNvbnN0IGNyb3NzUmVnaW9uUHJlZml4ID0gcHJvcHM/LmNyb3NzUmVnaW9uSW5mZXJlbmNlUHJlZml4IHx8IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeC5VUztcblxuICAgIHJldHVybiB7XG4gICAgICBmbU1vZGVsSWQsXG4gICAgICBjcm9zc1JlZ2lvblByZWZpeCxcbiAgICB9O1xuICB9XG59Il19
63
+ BedrockModelUtils[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils", version: "1.17.0" };
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYmVkcm9jay9iZWRyb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUV0Qyw2Q0FBb0M7QUFDcEMseURBQW9FO0FBQ3BFLGlEQUE4RDtBQUc5RDs7O0dBR0c7QUFDSCxJQUFZLGlDQUtYO0FBTEQsV0FBWSxpQ0FBaUM7SUFDM0MsOENBQThDO0lBQzlDLDhDQUFTLENBQUE7SUFDVCw4Q0FBOEM7SUFDOUMsOENBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxpQ0FBaUMsaURBQWpDLGlDQUFpQyxRQUs1QztBQWtDRCxNQUFhLGlCQUFpQjtJQUNyQixNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBeUI7UUFDekQsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDdEYsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxLQUFnQixFQUFFLEtBQXlCO1FBQ25GLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRyxNQUFNLFNBQVMsR0FBRztZQUNoQix1Q0FBdUMsT0FBTyxFQUFFO1NBQ2pELENBQUM7UUFFRiw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsTUFBTSxJQUFJLE9BQU8sc0JBQXNCLGlCQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0csQ0FBQztRQUVELE9BQU8sSUFBSSx5QkFBZSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7WUFDcEIsT0FBTyxFQUFFO2dCQUNQLHFCQUFxQjtnQkFDckIsdUNBQXVDO2FBQ3hDO1lBQ0QsU0FBUztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXlCO1FBQ3JELE1BQU0sU0FBUyxHQUFHLEtBQUssRUFBRSxTQUFTLElBQUksdUNBQXlCLENBQUMsdUNBQXVDLENBQUM7UUFDeEcsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsYUFBYSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQUUsMEJBQTBCLElBQUksaUNBQWlDLENBQUMsRUFBRSxDQUFDO1FBRXBHLE9BQU87WUFDTCxPQUFPO1lBQ1Asa0JBQWtCO1lBQ2xCLGlCQUFpQjtTQUNsQixDQUFDO0lBQ0osQ0FBQzs7QUEzQ0gsOENBNENDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEZvdW5kYXRpb25Nb2RlbElkZW50aWZpZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9jayc7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQ3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcmVmaXggb3B0aW9ucyBmb3IgQmVkcm9jayBtb2RlbHMuXG4gKiBVc2VkIHRvIGNvbmZpZ3VyZSBpbmZlcmVuY2UgcHJvZmlsZXMgZm9yIGltcHJvdmVkIGF2YWlsYWJpbGl0eSBhbmQgcGVyZm9ybWFuY2UuXG4gKi9cbmV4cG9ydCBlbnVtIEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeCB7XG4gIC8qKiBVUy1iYXNlZCBjcm9zcy1yZWdpb24gaW5mZXJlbmNlIHByb2ZpbGUgKi9cbiAgVVMgPSAndXMnLFxuICAvKiogRVUtYmFzZWQgY3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcm9maWxlICovXG4gIEVVID0gJ2V1Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxQcm9wcyB7XG4gIC8qKlxuICAgICAqIEZvdW5kYXRpb24gbW9kZWwgdG8gdXNlXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyLkFOVEhST1BJQ19DTEFVREVfU09OTkVUXzRfMjAyNTA1MTRfVjFfMFxuICAgICAqL1xuICByZWFkb25seSBmbU1vZGVsSWQ/OiBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyO1xuXG4gIC8qKlxuICAgKiBEaXJlY3QgbW9kZWwgSUQgb3ZlcnJpZGUuXG4gICAqXG4gICAqIFVzZSB0aGlzIHdoZW4gaW52b2tpbmcgYSBtb2RlbCBJRCBub3QgYXZhaWxhYmxlIGluIGBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyYCxcbiAgICogZm9yIGV4YW1wbGUgTG9jYWxTdGFjayBCZWRyb2NrL09sbGFtYS1iYWNrZWQgbW9kZWwgSURzLlxuICAgKlxuICAgKiBXaGVuIHByb3ZpZGVkLCB0aGlzIHZhbHVlIGlzIHVzZWQgYXMtaXMgZm9yIHJ1bnRpbWUgaW52b2NhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbU1vZGVsSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogRW5hYmxlIGNyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgZm9yIEJlZHJvY2sgbW9kZWxzIHRvIGltcHJvdmUgYXZhaWxhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZS5cbiAgICAgKiBXaGVuIGVuYWJsZWQsIHVzZXMgaW5mZXJlbmNlIHByb2ZpbGVzIGluc3RlYWQgb2YgZGlyZWN0IG1vZGVsIGludm9jYXRpb24uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgcmVhZG9ubHkgdXNlQ3Jvc3NSZWdpb25JbmZlcmVuY2U/OiBib29sZWFuO1xuICAvKipcbiAgICAgKiBQcmVmaXggZm9yIGNyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgY29uZmlndXJhdGlvbi5cbiAgICAgKiBPbmx5IHVzZWQgd2hlbiB1c2VDcm9zc1JlZ2lvbkluZmVyZW5jZSBpcyB0cnVlLlxuICAgICAqIEBkZWZhdWx0IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeC5VU1xuICAgICAqL1xuICByZWFkb25seSBjcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeD86IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeDtcbn1cblxuZXhwb3J0IGNsYXNzIEJlZHJvY2tNb2RlbFV0aWxzIHtcbiAgcHVibGljIHN0YXRpYyBkZXJpdmVBY3R1YWxNb2RlbElkKHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbW9kZWxJZCwgY3Jvc3NSZWdpb25QcmVmaXgsIHVzaW5nQ3VzdG9tTW9kZWxJZCB9ID0gQmVkcm9ja01vZGVsVXRpbHMuZGVyaXZlRGVmYXVsdHMocHJvcHMpO1xuICAgIGlmICh1c2luZ0N1c3RvbU1vZGVsSWQpIHtcbiAgICAgIHJldHVybiBtb2RlbElkO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcHM/LnVzZUNyb3NzUmVnaW9uSW5mZXJlbmNlID8gYCR7Y3Jvc3NSZWdpb25QcmVmaXh9LiR7bW9kZWxJZH1gIDogbW9kZWxJZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVNb2RlbElBTVBlcm1pc3Npb25zKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBQb2xpY3lTdGF0ZW1lbnQge1xuICAgIGNvbnN0IHsgYWNjb3VudCwgcmVnaW9uIH0gPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgeyBtb2RlbElkLCBjcm9zc1JlZ2lvblByZWZpeCwgdXNpbmdDdXN0b21Nb2RlbElkIH0gPSBCZWRyb2NrTW9kZWxVdGlscy5kZXJpdmVEZWZhdWx0cyhwcm9wcyk7XG5cbiAgICBjb25zdCByZXNvdXJjZXMgPSBbXG4gICAgICBgYXJuOmF3czpiZWRyb2NrOio6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbElkfWAsXG4gICAgXTtcblxuICAgIC8vIFByZXNlcnZlIGN1cnJlbnQgYmVoYXZpb3IgZm9yIEFXUyBmb3VuZGF0aW9uIG1vZGVscyB3aXRoIG9wdGlvbmFsIGluZmVyZW5jZSBwcm9maWxlIGFjY2Vzcy5cbiAgICBpZiAoIXVzaW5nQ3VzdG9tTW9kZWxJZCkge1xuICAgICAgcmVzb3VyY2VzLnB1c2goYGFybjphd3M6YmVkcm9jazoke3JlZ2lvbn06JHthY2NvdW50fTppbmZlcmVuY2UtcHJvZmlsZS8ke2Nyb3NzUmVnaW9uUHJlZml4fS4ke21vZGVsSWR9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdiZWRyb2NrOkludm9rZU1vZGVsJyxcbiAgICAgICAgJ2JlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0nLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRlcml2ZURlZmF1bHRzKHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCBmbU1vZGVsSWQgPSBwcm9wcz8uZm1Nb2RlbElkIHx8IEZvdW5kYXRpb25Nb2RlbElkZW50aWZpZXIuQU5USFJPUElDX0NMQVVERV9TT05ORVRfNF8yMDI1MDUxNF9WMV8wO1xuICAgIGNvbnN0IHVzaW5nQ3VzdG9tTW9kZWxJZCA9ICEhcHJvcHM/LmN1c3RvbU1vZGVsSWQ7XG4gICAgY29uc3QgbW9kZWxJZCA9IHByb3BzPy5jdXN0b21Nb2RlbElkIHx8IGZtTW9kZWxJZC5tb2RlbElkO1xuICAgIGNvbnN0IGNyb3NzUmVnaW9uUHJlZml4ID0gcHJvcHM/LmNyb3NzUmVnaW9uSW5mZXJlbmNlUHJlZml4IHx8IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeC5VUztcblxuICAgIHJldHVybiB7XG4gICAgICBtb2RlbElkLFxuICAgICAgdXNpbmdDdXN0b21Nb2RlbElkLFxuICAgICAgY3Jvc3NSZWdpb25QcmVmaXgsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -13,7 +13,7 @@ class DefaultRuntimes {
13
13
  }
14
14
  exports.DefaultRuntimes = DefaultRuntimes;
15
15
  _a = DefaultRuntimes, _b = JSII_RTTI_SYMBOL_1;
16
- DefaultRuntimes[_b] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.DefaultRuntimes", version: "1.16.1" };
16
+ DefaultRuntimes[_b] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.DefaultRuntimes", version: "1.17.0" };
17
17
  /**
18
18
  * Default runtime for all Lambda functions in the use cases.
19
19
  */
@@ -117,5 +117,5 @@ class AccessLog extends constructs_1.Construct {
117
117
  }
118
118
  exports.AccessLog = AccessLog;
119
119
  _a = JSII_RTTI_SYMBOL_1;
120
- AccessLog[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.AccessLog", version: "1.16.1" };
120
+ AccessLog[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.AccessLog", version: "1.17.0" };
121
121
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvZm91bmRhdGlvbi9hY2Nlc3MtbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QyxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLHlDQUF5QztBQUN6QywyQ0FBdUM7QUErQnZDOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLFNBQVUsU0FBUSxzQkFBUztJQWdCdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUF3QixFQUFFO1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxhQUFhLENBQUM7UUFFeEQseUVBQXlFO1FBQ3pFLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxhQUFhLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLFFBQVEsSUFBSSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7UUFFdkQsMEJBQTBCO1FBQzFCLE1BQU0scUJBQXFCLEdBQXVCO1lBQ2hEO2dCQUNFLEVBQUUsRUFBRSxvQkFBb0I7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFdBQVcsRUFBRTtvQkFDWDt3QkFDRSxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxpQkFBaUI7d0JBQy9DLGVBQWUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLElB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O0lBQzlELENBQUM7O0FBcEhILDhCQXFIQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQWNjZXNzTG9nIGNvbnN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc0xvZ1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBTMyBidWNrZXQgZm9yIGFjY2VzcyBsb2dzXG4gICAqIEBkZWZhdWx0ICdhY2Nlc3MtbG9ncydcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBydWxlcyBmb3IgdGhlIGFjY2VzcyBsb2dzXG4gICAqIEBkZWZhdWx0IFRyYW5zaXRpb24gdG8gSUEgYWZ0ZXIgMzAgZGF5cywgZGVsZXRlIGFmdGVyIDkwIGRheXNcbiAgICovXG4gIHJlYWRvbmx5IGxpZmVjeWNsZVJ1bGVzPzogczMuTGlmZWN5Y2xlUnVsZVtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSB2ZXJzaW9uaW5nIG9uIHRoZSBhY2Nlc3MgbG9ncyBidWNrZXRcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25lZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBidWNrZXQgcHJlZml4IGZvciBvcmdhbml6aW5nIGFjY2VzcyBsb2dzXG4gICAqIEBkZWZhdWx0ICdhY2Nlc3MtbG9ncydcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldFByZWZpeD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBY2Nlc3NMb2cgY29uc3RydWN0IHRoYXQgcHJvdmlkZXMgYSBjZW50cmFsaXplZCBTMyBidWNrZXQgZm9yIHN0b3JpbmcgYWNjZXNzIGxvZ3MuXG4gKiBUaGlzIGNvbnN0cnVjdCBjcmVhdGVzIGEgc2VjdXJlIFMzIGJ1Y2tldCB3aXRoIGFwcHJvcHJpYXRlIHBvbGljaWVzIGZvciBBV1Mgc2VydmljZXNcbiAqIHRvIGRlbGl2ZXIgYWNjZXNzIGxvZ3MuXG4gKlxuICogVXNhZ2U6XG4gKlxuICogY29uc3QgYWNjZXNzTG9nID0gbmV3IEFjY2Vzc0xvZyh0aGlzLCAnQWNjZXNzTG9nJyk7XG4gKiBjb25zdCBidWNrZXQgPSBhY2Nlc3NMb2cuYnVja2V0O1xuICogY29uc3QgYnVja2V0TmFtZSA9IGFjY2Vzc0xvZy5idWNrZXROYW1lO1xuICovXG5leHBvcnQgY2xhc3MgQWNjZXNzTG9nIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBTMyBidWNrZXQgZm9yIHN0b3JpbmcgYWNjZXNzIGxvZ3NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWNrZXQ6IHMzLkJ1Y2tldDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIFMzIGJ1Y2tldFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGJ1Y2tldCBwcmVmaXggdXNlZCBmb3Igb3JnYW5pemluZyBhY2Nlc3MgbG9nc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldFByZWZpeDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBY2Nlc3NMb2dQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIFN0b3JlIHRoZSBidWNrZXQgcHJlZml4XG4gICAgdGhpcy5idWNrZXRQcmVmaXggPSBwcm9wcy5idWNrZXRQcmVmaXggfHwgJ2FjY2Vzcy1sb2dzJztcblxuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBidWNrZXQgbmFtZSB3aXRoIGFjY291bnQgYW5kIHJlZ2lvbiB0byBhdm9pZCBjb25mbGljdHNcbiAgICBjb25zdCBhY2NvdW50SWQgPSBjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudDtcbiAgICBjb25zdCByZWdpb24gPSBjZGsuU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIGNvbnN0IGJhc2VOYW1lID0gcHJvcHMuYnVja2V0TmFtZSB8fCAnYWNjZXNzLWxvZ3MnO1xuICAgIHRoaXMuYnVja2V0TmFtZSA9IGAke2Jhc2VOYW1lfS0ke2FjY291bnRJZH0tJHtyZWdpb259YDtcblxuICAgIC8vIERlZmF1bHQgbGlmZWN5Y2xlIHJ1bGVzXG4gICAgY29uc3QgZGVmYXVsdExpZmVjeWNsZVJ1bGVzOiBzMy5MaWZlY3ljbGVSdWxlW10gPSBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnQWNjZXNzTG9nTGlmZWN5Y2xlJyxcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgdHJhbnNpdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdG9yYWdlQ2xhc3M6IHMzLlN0b3JhZ2VDbGFzcy5JTkZSRVFVRU5UX0FDQ0VTUyxcbiAgICAgICAgICAgIHRyYW5zaXRpb25BZnRlcjogY2RrLkR1cmF0aW9uLmRheXMoMzApLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RvcmFnZUNsYXNzOiBzMy5TdG9yYWdlQ2xhc3MuR0xBQ0lFUixcbiAgICAgICAgICAgIHRyYW5zaXRpb25BZnRlcjogY2RrLkR1cmF0aW9uLmRheXMoOTApLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV4cGlyYXRpb246IGNkay5EdXJhdGlvbi5kYXlzKDM2NSksIC8vIERlbGV0ZSBhZnRlciAxIHllYXJcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIC8vIENyZWF0ZSB0aGUgUzMgYnVja2V0IGZvciBhY2Nlc3MgbG9nc1xuICAgIHRoaXMuYnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnQWNjZXNzTG9nQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogdGhpcy5idWNrZXROYW1lLFxuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgdmVyc2lvbmVkOiBwcm9wcy52ZXJzaW9uZWQgfHwgZmFsc2UsXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgbGlmZWN5Y2xlUnVsZXM6IHByb3BzLmxpZmVjeWNsZVJ1bGVzIHx8IGRlZmF1bHRMaWZlY3ljbGVSdWxlcyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5LlJFVEFJTiwgLy8gUmV0YWluIGxvZ3MgZm9yIGNvbXBsaWFuY2VcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsIC8vIEVuZm9yY2UgU1NMIGZvciBhbGwgcmVxdWVzdHNcbiAgICAgIGV2ZW50QnJpZGdlRW5hYmxlZDogZmFsc2UsIC8vIERpc2FibGUgRXZlbnRCcmlkZ2UgZm9yIGNvc3Qgb3B0aW1pemF0aW9uXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgYnVja2V0IHBvbGljeSB0byBhbGxvdyBhY2Nlc3MgbG9nIGRlbGl2ZXJ5IGZyb20gQVdTIHNlcnZpY2VzXG4gICAgdGhpcy5idWNrZXQuYWRkVG9SZXNvdXJjZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBzaWQ6ICdBbGxvd0FjY2Vzc0xvZ0RlbGl2ZXJ5JyxcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIHByaW5jaXBhbHM6IFtcbiAgICAgICAgbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdsb2dnaW5nLnMzLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgICAgbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdkZWxpdmVyeS5sb2dzLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgIF0sXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdzMzpQdXRPYmplY3QnLFxuICAgICAgICAnczM6R2V0QnVja2V0QWNsJyxcbiAgICAgICAgJ3MzOkxpc3RCdWNrZXQnLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICB0aGlzLmJ1Y2tldC5idWNrZXRBcm4sXG4gICAgICAgIGAke3RoaXMuYnVja2V0LmJ1Y2tldEFybn0vKmAsXG4gICAgICBdLFxuICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAnczM6eC1hbXotYWNsJzogJ2J1Y2tldC1vd25lci1mdWxsLWNvbnRyb2wnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KSk7XG5cbiAgICAvLyBBbGxvdyBFTEIgc2VydmljZSB0byB3cml0ZSBhY2Nlc3MgbG9nc1xuICAgIHRoaXMuYnVja2V0LmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiAnQWxsb3dFTEJBY2Nlc3NMb2dEZWxpdmVyeScsXG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBwcmluY2lwYWxzOiBbXG4gICAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZWxhc3RpY2xvYWRiYWxhbmNpbmcuYW1hem9uYXdzLmNvbScpLFxuICAgICAgXSxcbiAgICAgIGFjdGlvbnM6IFsnczM6UHV0T2JqZWN0J10sXG4gICAgICByZXNvdXJjZXM6IFtgJHt0aGlzLmJ1Y2tldC5idWNrZXRBcm59LypgXSxcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBTMyBidWNrZXQgcGF0aCBmb3IgYSBzcGVjaWZpYyBzZXJ2aWNlJ3MgYWNjZXNzIGxvZ3NcbiAgICpcbiAgICogQHBhcmFtIHNlcnZpY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIChlLmcuLCAnYWxiJywgJ2Nsb3VkZnJvbnQnLCAnczMnKVxuICAgKiBAcGFyYW0gcmVzb3VyY2VOYW1lIE9wdGlvbmFsIHJlc291cmNlIG5hbWUgZm9yIGZ1cnRoZXIgb3JnYW5pemF0aW9uXG4gICAqIEByZXR1cm5zIFRoZSBTMyBwYXRoIGZvciB0aGUgc2VydmljZSdzIGFjY2VzcyBsb2dzXG4gICAqL1xuICBwdWJsaWMgZ2V0TG9nUGF0aChzZXJ2aWNlTmFtZTogc3RyaW5nLCByZXNvdXJjZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VQYXRoID0gYCR7dGhpcy5idWNrZXROYW1lfS8ke3RoaXMuYnVja2V0UHJlZml4fS8ke3NlcnZpY2VOYW1lfWA7XG4gICAgcmV0dXJuIHJlc291cmNlTmFtZSA/IGAke2Jhc2VQYXRofS8ke3Jlc291cmNlTmFtZX1gIDogYmFzZVBhdGg7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBTMyBVUkkgZm9yIGEgc3BlY2lmaWMgc2VydmljZSdzIGFjY2VzcyBsb2dzXG4gICAqXG4gICAqIEBwYXJhbSBzZXJ2aWNlTmFtZSBUaGUgbmFtZSBvZiB0aGUgc2VydmljZSAoZS5nLiwgJ2FsYicsICdjbG91ZGZyb250JywgJ3MzJylcbiAgICogQHBhcmFtIHJlc291cmNlTmFtZSBPcHRpb25hbCByZXNvdXJjZSBuYW1lIGZvciBmdXJ0aGVyIG9yZ2FuaXphdGlvblxuICAgKiBAcmV0dXJucyBUaGUgUzMgVVJJIGZvciB0aGUgc2VydmljZSdzIGFjY2VzcyBsb2dzXG4gICAqL1xuICBwdWJsaWMgZ2V0TG9nVXJpKHNlcnZpY2VOYW1lOiBzdHJpbmcsIHJlc291cmNlTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBzMzovLyR7dGhpcy5nZXRMb2dQYXRoKHNlcnZpY2VOYW1lLCByZXNvdXJjZU5hbWUpfWA7XG4gIH1cbn1cbiJdfQ==
@@ -38,5 +38,5 @@ class EventbridgeBroker extends constructs_1.Construct {
38
38
  }
39
39
  exports.EventbridgeBroker = EventbridgeBroker;
40
40
  _a = JSII_RTTI_SYMBOL_1;
41
- EventbridgeBroker[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.EventbridgeBroker", version: "1.16.1" };
41
+ EventbridgeBroker[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.EventbridgeBroker", version: "1.17.0" };
42
42
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRicmlkZ2UtYnJva2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdXNlLWNhc2VzL2ZyYW1ld29yay9mb3VuZGF0aW9uL2V2ZW50YnJpZGdlLWJyb2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUM1Qyx1REFBa0Q7QUFDbEQsaURBQTBDO0FBQzFDLHFFQUEwRDtBQUMxRCxpRkFBMkU7QUFDM0UsMkNBQXVDO0FBU3ZDLE1BQWEsaUJBQWtCLFNBQVEsc0JBQVM7SUFLOUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2QjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksMkJBQWEsQ0FBQyxPQUFPLENBQUM7UUFDbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksYUFBRyxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUMvRCxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGFBQWE7U0FDZCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkscUJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzdDLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBa0IsRUFBRSxXQUFnQjtRQUN6RCxPQUFPLElBQUksOENBQW9CLENBQUMsSUFBSSxFQUFFLHNCQUFzQixVQUFVLEVBQUUsRUFBRTtZQUN4RSxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQ3hCLFVBQVU7b0JBQ1YsTUFBTSxFQUFFLDZCQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztpQkFDMUM7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBL0JILDhDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBFdmVudEJ1cyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgeyBUYXNrSW5wdXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBFdmVudEJyaWRnZVB1dEV2ZW50cyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50YnJpZGdlQnJva2VyUHJvcHMge1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBldmVudFNvdXJjZTogc3RyaW5nO1xuICByZWFkb25seSBrbXNLZXk/OiBLZXk7XG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG5leHBvcnQgY2xhc3MgRXZlbnRicmlkZ2VCcm9rZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50U291cmNlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV2ZW50YnVzOiBFdmVudEJ1cztcbiAgcmVhZG9ubHkga21zS2V5OiBLZXk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV2ZW50YnJpZGdlQnJva2VyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IHJlbW92YWxQb2xpY3kgPSBwcm9wcy5yZW1vdmFsUG9saWN5IHx8IFJlbW92YWxQb2xpY3kuREVTVFJPWTtcbiAgICB0aGlzLmttc0tleSA9IHByb3BzLmttc0tleSB8fCBuZXcgS2V5KHRoaXMsICdFdmVudEJyb2tlcktNU0tleScsIHtcbiAgICAgIGVuYWJsZUtleVJvdGF0aW9uOiB0cnVlLFxuICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICB9KTtcbiAgICB0aGlzLmV2ZW50YnVzID0gbmV3IEV2ZW50QnVzKHRoaXMsICdFdmVudEJ1cycsIHtcbiAgICAgIGV2ZW50QnVzTmFtZTogcHJvcHMubmFtZSxcbiAgICAgIGttc0tleTogdGhpcy5rbXNLZXksXG4gICAgfSk7XG5cbiAgICB0aGlzLmV2ZW50U291cmNlID0gcHJvcHMuZXZlbnRTb3VyY2U7XG4gIH1cblxuICBwdWJsaWMgc2VuZFZpYVNmbkNoYWluKGRldGFpbFR5cGU6IHN0cmluZywgZXZlbnREZXRhaWw6IGFueSkge1xuICAgIHJldHVybiBuZXcgRXZlbnRCcmlkZ2VQdXRFdmVudHModGhpcywgYFNmbkViUHV0RXZlbnRDaGFpbi0ke2RldGFpbFR5cGV9YCwge1xuICAgICAgZW50cmllczogW1xuICAgICAgICB7XG4gICAgICAgICAgZXZlbnRCdXM6IHRoaXMuZXZlbnRidXMsXG4gICAgICAgICAgc291cmNlOiB0aGlzLmV2ZW50U291cmNlLFxuICAgICAgICAgIGRldGFpbFR5cGUsXG4gICAgICAgICAgZGV0YWlsOiBUYXNrSW5wdXQuZnJvbU9iamVjdChldmVudERldGFpbCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59Il19
@@ -95,5 +95,5 @@ class Network extends constructs_1.Construct {
95
95
  }
96
96
  exports.Network = Network;
97
97
  _a = JSII_RTTI_SYMBOL_1;
98
- Network[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.Network", version: "1.16.1" };
98
+ Network[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.Network", version: "1.17.0" };
99
99
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvZm91bmRhdGlvbi9uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QyxpREFBK1M7QUFDL1MsMkNBQXVDO0FBY3ZDLE1BQWEsT0FBUSxTQUFRLHNCQUFTO0lBQzdCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxPQUF5QjtRQUM1RixNQUFNLEdBQUcsR0FBRyxhQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWhFLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUM1QixXQUFXLEVBQUUsR0FBRztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBS0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUFzQixFQUFFO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGFBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO29CQUM5QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxxQkFBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7b0JBQ2pFLFdBQVcsRUFBRSxDQUFDO29CQUNkLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDcEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO29CQUN0QixtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1C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OztBQTlGSCwwQkErRkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBHYXRld2F5VnBjRW5kcG9pbnRBd3NTZXJ2aWNlLCBJSXBBZGRyZXNzZXMsIEludGVyZmFjZVZwY0VuZHBvaW50LCBJbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UsIEludGVyZmFjZVZwY0VuZHBvaW50U2VydmljZSwgSXBBZGRyZXNzZXMsIElQZWVyLCBJVnBjLCBOYXRQcm92aWRlciwgUGVlciwgUG9ydCwgU2VjdXJpdHlHcm91cCwgU3VibmV0Q29uZmlndXJhdGlvbiwgU3VibmV0U2VsZWN0aW9uLCBTdWJuZXRUeXBlLCBWcGMsIFZwY0xvb2t1cE9wdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtQcm9wcyB7XG4gIHJlYWRvbmx5IGV4aXN0aW5nVnBjPzogSVZwYztcbiAgcmVhZG9ubHkgcHJpdmF0ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGlwQWRkcmVzc2VzPzogSUlwQWRkcmVzc2VzO1xuICByZWFkb25seSBuYXRHYXRld2F5UHJvdmlkZXI/OiBOYXRQcm92aWRlcjtcbiAgcmVhZG9ubHkgbmF0R2F0ZXdheVN1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb247XG4gIHJlYWRvbmx5IG5hdEdhdGV3YXlzPzogbnVtYmVyO1xuICByZWFkb25seSBtYXhBenM/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHZwY05hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN1Ym5ldENvbmZpZ3VyYXRpb24/OiBTdWJuZXRDb25maWd1cmF0aW9uW107XG59XG5cbmV4cG9ydCBjbGFzcyBOZXR3b3JrIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHN0YXRpYyB1c2VFeGlzdGluZ1ZQQ0Zyb21Mb29rdXAoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogVnBjTG9va3VwT3B0aW9ucyk6IE5ldHdvcmsge1xuICAgIGNvbnN0IHZwYyA9IFZwYy5mcm9tTG9va3VwKHNjb3BlLCBgJHtpZH0tZXhpc3RpbmdWcGNgLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBuZXcgTmV0d29yayhzY29wZSwgaWQsIHtcbiAgICAgIGV4aXN0aW5nVnBjOiB2cGMsXG4gICAgfSk7XG4gIH1cblxuICByZWFkb25seSB2cGM6IElWcGM7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IE5ldHdvcmtQcm9wcztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV0d29ya1Byb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIGlmICghcHJvcHMuZXhpc3RpbmdWcGMpIHtcbiAgICAgIGlmIChwcm9wcy5wcml2YXRlKSB7XG4gICAgICAgIHRoaXMudnBjID0gbmV3IFZwYyh0aGlzLCAnVlBDJywge1xuICAgICAgICAgIGlwQWRkcmVzc2VzOiBwcm9wcy5pcEFkZHJlc3NlcyB8fCBJcEFkZHJlc3Nlcy5jaWRyKCcxMC4wLjAuMC8xNicpLFxuICAgICAgICAgIG5hdEdhdGV3YXlzOiAwLFxuICAgICAgICAgIG1heEF6czogcHJvcHMubWF4QXpzLFxuICAgICAgICAgIHZwY05hbWU6IHByb3BzLnZwY05hbWUsXG4gICAgICAgICAgc3VibmV0Q29uZmlndXJhdGlvbjogcHJvcHMuc3VibmV0Q29uZmlndXJhdGlvbiB8fCBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdJc29sYXRlZCcsXG4gICAgICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRCxcbiAgICAgICAgICAgICAgY2lkck1hc2s6IDI0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudnBjID0gbmV3IFZwYyh0aGlzLCAnVlBDJywge1xuICAgICAgICAgIGlwQWRkcmVzc2VzOiBwcm9wcy5pcEFkZHJlc3NlcyB8fCBJcEFkZHJlc3Nlcy5jaWRyKCcxMC4wLjAuMC8xNicpLFxuICAgICAgICAgIG5hdEdhdGV3YXlQcm92aWRlcjogcHJvcHMubmF0R2F0ZXdheVByb3ZpZGVyLFxuICAgICAgICAgIG5hdEdhdGV3YXlTdWJuZXRzOiBwcm9wcy5uYXRHYXRld2F5U3VibmV0cyxcbiAgICAgICAgICBuYXRHYXRld2F5czogcHJvcHMubmF0R2F0ZXdheXMgfHwgMSxcbiAgICAgICAgICBtYXhBenM6IHByb3BzLm1heEF6cyxcbiAgICAgICAgICB2cGNOYW1lOiBwcm9wcy52cGNOYW1lLFxuICAgICAgICAgIHN1Ym5ldENvbmZpZ3VyYXRpb246IHByb3BzLnN1Ym5ldENvbmZpZ3VyYXRpb24gfHwgW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnUHVibGljJyxcbiAgICAgICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QVUJMSUMsXG4gICAgICAgICAgICAgIGNpZHJNYXNrOiAyNCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdQcml2YXRlJyxcbiAgICAgICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTLFxuICAgICAgICAgICAgICBjaWRyTWFzazogMjQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnSXNvbGF0ZWQnLFxuICAgICAgICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfSVNPTEFURUQsXG4gICAgICAgICAgICAgIGNpZHJNYXNrOiAyNCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudnBjID0gcHJvcHMuZXhpc3RpbmdWcGM7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyZWF0ZVNlcnZpY2VFbmRwb2ludChpZDogc3RyaW5nLCBzZXJ2aWNlOiBJbnRlcmZhY2VWcGNFbmRwb2ludFNlcnZpY2UsIHBlZXI/OiBJUGVlciwgcHJpdmF0ZURuc0VuYWJsZWQ/OiBib29sZWFuKTogSW50ZXJmYWNlVnBjRW5kcG9pbnQge1xuICAgIGlmIChzZXJ2aWNlID09PSBJbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuUzMpIHtcbiAgICAgIHRoaXMudnBjLmFkZEdhdGV3YXlFbmRwb2ludChgJHtpZH0tZ2F0ZXdheWAsIHtcbiAgICAgICAgc2VydmljZTogR2F0ZXdheVZwY0VuZHBvaW50QXdzU2VydmljZS5TMyxcbiAgICAgICAgc3VibmV0czogW3RoaXMuYXBwbGljYXRpb25TdWJuZXRTZWxlY3Rpb24oKV0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAodGhpcywgYHNnLWZvci1pbnRlcmZhY2UtZW5kcG9pbnQtJHtpZH1gLCB7XG4gICAgICB2cGM6IHRoaXMudnBjLFxuICAgIH0pO1xuXG4gICAgc2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShwZWVyIHx8IFBlZXIuYW55SXB2NCgpLCBQb3J0LkhUVFBTKTtcblxuICAgIC8vIERlZmF1bHQgdG8gdHJ1ZSBmb3IgcHJpdmF0ZSBWUENzIChpc29sYXRlZCBzdWJuZXRzIGhhdmUgbm8gaW50ZXJuZXRcbiAgICAvLyBhY2Nlc3MsIHNvIHByaXZhdGUgRE5TIGlzIHJlcXVpcmVkIGZvciBBV1MgU0RLIGNhbGxzIHRvIHJlc29sdmUgdG9cbiAgICAvLyB0aGUgVlBDIGVuZHBvaW50KSwgZmFsc2Ugb3RoZXJ3aXNlIHRvIHByZXNlcnZlIGV4aXN0aW5nIGJlaGF2aW91ci5cbiAgICBjb25zdCBlbmFibGVQcml2YXRlRG5zID0gcHJpdmF0ZURuc0VuYWJsZWQgPz8gISF0aGlzLnByb3BzLnByaXZhdGU7XG5cbiAgICByZXR1cm4gdGhpcy52cGMuYWRkSW50ZXJmYWNlRW5kcG9pbnQoYGludGVyZmFjZS1lbmRwb2ludC1mb3ItJHtpZH1gLCB7XG4gICAgICBzZXJ2aWNlLFxuICAgICAgc2VjdXJpdHlHcm91cHM6IFtzZWN1cml0eUdyb3VwXSxcbiAgICAgIHN1Ym5ldHM6IHRoaXMuYXBwbGljYXRpb25TdWJuZXRTZWxlY3Rpb24oKSxcbiAgICAgIHByaXZhdGVEbnNFbmFibGVkOiBlbmFibGVQcml2YXRlRG5zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFwcGxpY2F0aW9uU3VibmV0U2VsZWN0aW9uKCk6IFN1Ym5ldFNlbGVjdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Ym5ldFR5cGU6IHRoaXMucHJvcHMucHJpdmF0ZSA/IFN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRCA6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyxcbiAgICB9O1xuICB9XG59Il19
@@ -2,3 +2,4 @@ export * from './custom-resource';
2
2
  export * from './foundation';
3
3
  export * from './agents';
4
4
  export * from './bedrock';
5
+ export * from './localstack';
@@ -18,4 +18,5 @@ __exportStar(require("./custom-resource"), exports);
18
18
  __exportStar(require("./foundation"), exports);
19
19
  __exportStar(require("./agents"), exports);
20
20
  __exportStar(require("./bedrock"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi91c2UtY2FzZXMvZnJhbWV3b3JrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0M7QUFDbEMsK0NBQTZCO0FBQzdCLDJDQUF5QjtBQUN6Qiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2N1c3RvbS1yZXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZvdW5kYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hZ2VudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9iZWRyb2NrJzsiXX0=
21
+ __exportStar(require("./localstack"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi91c2UtY2FzZXMvZnJhbWV3b3JrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0M7QUFDbEMsK0NBQTZCO0FBQzdCLDJDQUF5QjtBQUN6Qiw0Q0FBMEI7QUFDMUIsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tcmVzb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3VuZGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYWdlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vYmVkcm9jayc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2Fsc3RhY2snO1xuIl19
@@ -0,0 +1 @@
1
+ export * from './localstack-config';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./localstack-config"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi91c2UtY2FzZXMvZnJhbWV3b3JrL2xvY2Fsc3RhY2svaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9jYWxzdGFjay1jb25maWcnO1xuXG4iXX0=
@@ -0,0 +1,79 @@
1
+ export interface LocalStackIntegrationConfig {
2
+ /**
3
+ * Enable LocalStack endpoint routing for runtime AWS SDK calls.
4
+ *
5
+ * @default false
6
+ */
7
+ readonly enabled?: boolean;
8
+ /**
9
+ * Default endpoint used when service-specific endpoints are not provided.
10
+ *
11
+ * @default http://localhost.localstack.cloud:4566
12
+ */
13
+ readonly endpointUrl?: string;
14
+ /**
15
+ * Optional service-specific S3 endpoint override.
16
+ */
17
+ readonly s3EndpointUrl?: string;
18
+ /**
19
+ * Optional service-specific Step Functions endpoint override.
20
+ */
21
+ readonly stepFunctionsEndpointUrl?: string;
22
+ /**
23
+ * Optional service-specific Bedrock Runtime endpoint override.
24
+ */
25
+ readonly bedrockRuntimeEndpointUrl?: string;
26
+ /**
27
+ * Optional service-specific Bedrock Agent Runtime endpoint override.
28
+ */
29
+ readonly bedrockAgentRuntimeEndpointUrl?: string;
30
+ }
31
+ export interface LocalStackEndpointOverrides {
32
+ /**
33
+ * Default endpoint used when service-specific endpoints are not provided.
34
+ *
35
+ * @default http://localhost.localstack.cloud:4566
36
+ */
37
+ readonly endpointUrl?: string;
38
+ /**
39
+ * Optional service-specific S3 endpoint override.
40
+ */
41
+ readonly s3EndpointUrl?: string;
42
+ /**
43
+ * Optional service-specific Step Functions endpoint override.
44
+ */
45
+ readonly stepFunctionsEndpointUrl?: string;
46
+ /**
47
+ * Optional service-specific Bedrock Runtime endpoint override.
48
+ */
49
+ readonly bedrockRuntimeEndpointUrl?: string;
50
+ /**
51
+ * Optional service-specific Bedrock Agent Runtime endpoint override.
52
+ */
53
+ readonly bedrockAgentRuntimeEndpointUrl?: string;
54
+ }
55
+ export interface ResolvedLocalStackIntegrationConfig {
56
+ readonly enabled: boolean;
57
+ readonly endpointUrl: string;
58
+ readonly s3EndpointUrl: string;
59
+ readonly stepFunctionsEndpointUrl: string;
60
+ readonly bedrockRuntimeEndpointUrl: string;
61
+ readonly bedrockAgentRuntimeEndpointUrl: string;
62
+ }
63
+ /**
64
+ * Default local model ID used for LocalStack/Ollama sandbox examples and tests.
65
+ */
66
+ export declare const DEFAULT_LOCALSTACK_OLLAMA_MODEL_ID = "ollama.qwen3.5:9b";
67
+ /**
68
+ * LocalStack edge endpoint commonly used by containerized local runtimes.
69
+ */
70
+ export declare const DEFAULT_LOCALSTACK_SANDBOX_ENDPOINT_URL = "http://host.docker.internal:4566";
71
+ /**
72
+ * Ollama endpoint commonly used by containerized local runtimes.
73
+ */
74
+ export declare const DEFAULT_LOCALSTACK_OLLAMA_BASE_URL = "http://host.docker.internal:11434";
75
+ export declare class LocalStackIntegrationUtils {
76
+ static readonly DEFAULT_ENDPOINT_URL = "http://localhost.localstack.cloud:4566";
77
+ static resolveConfig(config?: LocalStackIntegrationConfig): ResolvedLocalStackIntegrationConfig;
78
+ static toLambdaEnvironment(config?: LocalStackIntegrationConfig): Record<string, string>;
79
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LocalStackIntegrationUtils = exports.DEFAULT_LOCALSTACK_OLLAMA_BASE_URL = exports.DEFAULT_LOCALSTACK_SANDBOX_ENDPOINT_URL = exports.DEFAULT_LOCALSTACK_OLLAMA_MODEL_ID = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Default local model ID used for LocalStack/Ollama sandbox examples and tests.
8
+ */
9
+ exports.DEFAULT_LOCALSTACK_OLLAMA_MODEL_ID = 'ollama.qwen3.5:9b';
10
+ /**
11
+ * LocalStack edge endpoint commonly used by containerized local runtimes.
12
+ */
13
+ exports.DEFAULT_LOCALSTACK_SANDBOX_ENDPOINT_URL = 'http://host.docker.internal:4566';
14
+ /**
15
+ * Ollama endpoint commonly used by containerized local runtimes.
16
+ */
17
+ exports.DEFAULT_LOCALSTACK_OLLAMA_BASE_URL = 'http://host.docker.internal:11434';
18
+ class LocalStackIntegrationUtils {
19
+ static resolveConfig(config) {
20
+ const endpointUrl = config?.endpointUrl || LocalStackIntegrationUtils.DEFAULT_ENDPOINT_URL;
21
+ return {
22
+ enabled: config?.enabled ?? false,
23
+ endpointUrl,
24
+ s3EndpointUrl: config?.s3EndpointUrl || endpointUrl,
25
+ stepFunctionsEndpointUrl: config?.stepFunctionsEndpointUrl || endpointUrl,
26
+ bedrockRuntimeEndpointUrl: config?.bedrockRuntimeEndpointUrl || endpointUrl,
27
+ bedrockAgentRuntimeEndpointUrl: config?.bedrockAgentRuntimeEndpointUrl || endpointUrl,
28
+ };
29
+ }
30
+ static toLambdaEnvironment(config) {
31
+ const resolved = LocalStackIntegrationUtils.resolveConfig(config);
32
+ if (!resolved.enabled) {
33
+ return {};
34
+ }
35
+ return {
36
+ LOCALSTACK_ENABLED: 'true',
37
+ AWS_ENDPOINT_URL: resolved.endpointUrl,
38
+ AWS_ENDPOINT_URL_S3: resolved.s3EndpointUrl,
39
+ AWS_ENDPOINT_URL_STEPFUNCTIONS: resolved.stepFunctionsEndpointUrl,
40
+ AWS_ENDPOINT_URL_BEDROCK_RUNTIME: resolved.bedrockRuntimeEndpointUrl,
41
+ AWS_ENDPOINT_URL_BEDROCK_AGENT_RUNTIME: resolved.bedrockAgentRuntimeEndpointUrl,
42
+ };
43
+ }
44
+ }
45
+ exports.LocalStackIntegrationUtils = LocalStackIntegrationUtils;
46
+ _a = JSII_RTTI_SYMBOL_1;
47
+ LocalStackIntegrationUtils[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.LocalStackIntegrationUtils", version: "1.17.0" };
48
+ LocalStackIntegrationUtils.DEFAULT_ENDPOINT_URL = 'http://localhost.localstack.cloud:4566';
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxzdGFjay1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi91c2UtY2FzZXMvZnJhbWV3b3JrL2xvY2Fsc3RhY2svbG9jYWxzdGFjay1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFzRUE7O0dBRUc7QUFDVSxRQUFBLGtDQUFrQyxHQUFHLG1CQUFtQixDQUFDO0FBQ3RFOztHQUVHO0FBQ1UsUUFBQSx1Q0FBdUMsR0FBRyxrQ0FBa0MsQ0FBQztBQUMxRjs7R0FFRztBQUNVLFFBQUEsa0NBQWtDLEdBQUcsbUNBQW1DLENBQUM7QUFFdEYsTUFBYSwwQkFBMEI7SUFHOUIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFvQztRQUM5RCxNQUFNLFdBQVcsR0FBRyxNQUFNLEVBQUUsV0FBVyxJQUFJLDBCQUEwQixDQUFDLG9CQUFvQixDQUFDO1FBRTNGLE9BQU87WUFDTCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sSUFBSSxLQUFLO1lBQ2pDLFdBQVc7WUFDWCxhQUFhLEVBQUUsTUFBTSxFQUFFLGFBQWEsSUFBSSxXQUFXO1lBQ25ELHdCQUF3QixFQUFFLE1BQU0sRUFBRSx3QkFBd0IsSUFBSSxXQUFXO1lBQ3pFLHlCQUF5QixFQUFFLE1BQU0sRUFBRSx5QkFBeUIsSUFBSSxXQUFXO1lBQzNFLDhCQUE4QixFQUFFLE1BQU0sRUFBRSw4QkFBOEIsSUFBSSxXQUFXO1NBQ3RGLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQW9DO1FBQ3BFLE1BQU0sUUFBUSxHQUFHLDBCQUEwQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU87WUFDTCxrQkFBa0IsRUFBRSxNQUFNO1lBQzFCLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxhQUFhO1lBQzNDLDhCQUE4QixFQUFFLFFBQVEsQ0FBQyx3QkFBd0I7WUFDakUsZ0NBQWdDLEVBQUUsUUFBUSxDQUFDLHlCQUF5QjtZQUNwRSxzQ0FBc0MsRUFBRSxRQUFRLENBQUMsOEJBQThCO1NBQ2hGLENBQUM7SUFDSixDQUFDOztBQTlCSCxnRUErQkM7OztBQTlCd0IsK0NBQW9CLEdBQUcsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIExvY2FsU3RhY2tJbnRlZ3JhdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBFbmFibGUgTG9jYWxTdGFjayBlbmRwb2ludCByb3V0aW5nIGZvciBydW50aW1lIEFXUyBTREsgY2FsbHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGVmYXVsdCBlbmRwb2ludCB1c2VkIHdoZW4gc2VydmljZS1zcGVjaWZpYyBlbmRwb2ludHMgYXJlIG5vdCBwcm92aWRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgaHR0cDovL2xvY2FsaG9zdC5sb2NhbHN0YWNrLmNsb3VkOjQ1NjZcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50VXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBzZXJ2aWNlLXNwZWNpZmljIFMzIGVuZHBvaW50IG92ZXJyaWRlLlxuICAgKi9cbiAgcmVhZG9ubHkgczNFbmRwb2ludFVybD86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgc2VydmljZS1zcGVjaWZpYyBTdGVwIEZ1bmN0aW9ucyBlbmRwb2ludCBvdmVycmlkZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0ZXBGdW5jdGlvbnNFbmRwb2ludFVybD86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgc2VydmljZS1zcGVjaWZpYyBCZWRyb2NrIFJ1bnRpbWUgZW5kcG9pbnQgb3ZlcnJpZGUuXG4gICAqL1xuICByZWFkb25seSBiZWRyb2NrUnVudGltZUVuZHBvaW50VXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBzZXJ2aWNlLXNwZWNpZmljIEJlZHJvY2sgQWdlbnQgUnVudGltZSBlbmRwb2ludCBvdmVycmlkZS5cbiAgICovXG4gIHJlYWRvbmx5IGJlZHJvY2tBZ2VudFJ1bnRpbWVFbmRwb2ludFVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbFN0YWNrRW5kcG9pbnRPdmVycmlkZXMge1xuICAvKipcbiAgICogRGVmYXVsdCBlbmRwb2ludCB1c2VkIHdoZW4gc2VydmljZS1zcGVjaWZpYyBlbmRwb2ludHMgYXJlIG5vdCBwcm92aWRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgaHR0cDovL2xvY2FsaG9zdC5sb2NhbHN0YWNrLmNsb3VkOjQ1NjZcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50VXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgc2VydmljZS1zcGVjaWZpYyBTMyBlbmRwb2ludCBvdmVycmlkZS5cbiAgICovXG4gIHJlYWRvbmx5IHMzRW5kcG9pbnRVcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBzZXJ2aWNlLXNwZWNpZmljIFN0ZXAgRnVuY3Rpb25zIGVuZHBvaW50IG92ZXJyaWRlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RlcEZ1bmN0aW9uc0VuZHBvaW50VXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgc2VydmljZS1zcGVjaWZpYyBCZWRyb2NrIFJ1bnRpbWUgZW5kcG9pbnQgb3ZlcnJpZGUuXG4gICAqL1xuICByZWFkb25seSBiZWRyb2NrUnVudGltZUVuZHBvaW50VXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgc2VydmljZS1zcGVjaWZpYyBCZWRyb2NrIEFnZW50IFJ1bnRpbWUgZW5kcG9pbnQgb3ZlcnJpZGUuXG4gICAqL1xuICByZWFkb25seSBiZWRyb2NrQWdlbnRSdW50aW1lRW5kcG9pbnRVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWRMb2NhbFN0YWNrSW50ZWdyYXRpb25Db25maWcge1xuICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICByZWFkb25seSBlbmRwb2ludFVybDogc3RyaW5nO1xuICByZWFkb25seSBzM0VuZHBvaW50VXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0ZXBGdW5jdGlvbnNFbmRwb2ludFVybDogc3RyaW5nO1xuICByZWFkb25seSBiZWRyb2NrUnVudGltZUVuZHBvaW50VXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJlZHJvY2tBZ2VudFJ1bnRpbWVFbmRwb2ludFVybDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmF1bHQgbG9jYWwgbW9kZWwgSUQgdXNlZCBmb3IgTG9jYWxTdGFjay9PbGxhbWEgc2FuZGJveCBleGFtcGxlcyBhbmQgdGVzdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPQ0FMU1RBQ0tfT0xMQU1BX01PREVMX0lEID0gJ29sbGFtYS5xd2VuMy41OjliJztcbi8qKlxuICogTG9jYWxTdGFjayBlZGdlIGVuZHBvaW50IGNvbW1vbmx5IHVzZWQgYnkgY29udGFpbmVyaXplZCBsb2NhbCBydW50aW1lcy5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTE9DQUxTVEFDS19TQU5EQk9YX0VORFBPSU5UX1VSTCA9ICdodHRwOi8vaG9zdC5kb2NrZXIuaW50ZXJuYWw6NDU2Nic7XG4vKipcbiAqIE9sbGFtYSBlbmRwb2ludCBjb21tb25seSB1c2VkIGJ5IGNvbnRhaW5lcml6ZWQgbG9jYWwgcnVudGltZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPQ0FMU1RBQ0tfT0xMQU1BX0JBU0VfVVJMID0gJ2h0dHA6Ly9ob3N0LmRvY2tlci5pbnRlcm5hbDoxMTQzNCc7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbFN0YWNrSW50ZWdyYXRpb25VdGlscyB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9FTkRQT0lOVF9VUkwgPSAnaHR0cDovL2xvY2FsaG9zdC5sb2NhbHN0YWNrLmNsb3VkOjQ1NjYnO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVzb2x2ZUNvbmZpZyhjb25maWc/OiBMb2NhbFN0YWNrSW50ZWdyYXRpb25Db25maWcpOiBSZXNvbHZlZExvY2FsU3RhY2tJbnRlZ3JhdGlvbkNvbmZpZyB7XG4gICAgY29uc3QgZW5kcG9pbnRVcmwgPSBjb25maWc/LmVuZHBvaW50VXJsIHx8IExvY2FsU3RhY2tJbnRlZ3JhdGlvblV0aWxzLkRFRkFVTFRfRU5EUE9JTlRfVVJMO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVuYWJsZWQ6IGNvbmZpZz8uZW5hYmxlZCA/PyBmYWxzZSxcbiAgICAgIGVuZHBvaW50VXJsLFxuICAgICAgczNFbmRwb2ludFVybDogY29uZmlnPy5zM0VuZHBvaW50VXJsIHx8IGVuZHBvaW50VXJsLFxuICAgICAgc3RlcEZ1bmN0aW9uc0VuZHBvaW50VXJsOiBjb25maWc/LnN0ZXBGdW5jdGlvbnNFbmRwb2ludFVybCB8fCBlbmRwb2ludFVybCxcbiAgICAgIGJlZHJvY2tSdW50aW1lRW5kcG9pbnRVcmw6IGNvbmZpZz8uYmVkcm9ja1J1bnRpbWVFbmRwb2ludFVybCB8fCBlbmRwb2ludFVybCxcbiAgICAgIGJlZHJvY2tBZ2VudFJ1bnRpbWVFbmRwb2ludFVybDogY29uZmlnPy5iZWRyb2NrQWdlbnRSdW50aW1lRW5kcG9pbnRVcmwgfHwgZW5kcG9pbnRVcmwsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9MYW1iZGFFbnZpcm9ubWVudChjb25maWc/OiBMb2NhbFN0YWNrSW50ZWdyYXRpb25Db25maWcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCByZXNvbHZlZCA9IExvY2FsU3RhY2tJbnRlZ3JhdGlvblV0aWxzLnJlc29sdmVDb25maWcoY29uZmlnKTtcbiAgICBpZiAoIXJlc29sdmVkLmVuYWJsZWQpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgTE9DQUxTVEFDS19FTkFCTEVEOiAndHJ1ZScsXG4gICAgICBBV1NfRU5EUE9JTlRfVVJMOiByZXNvbHZlZC5lbmRwb2ludFVybCxcbiAgICAgIEFXU19FTkRQT0lOVF9VUkxfUzM6IHJlc29sdmVkLnMzRW5kcG9pbnRVcmwsXG4gICAgICBBV1NfRU5EUE9JTlRfVVJMX1NURVBGVU5DVElPTlM6IHJlc29sdmVkLnN0ZXBGdW5jdGlvbnNFbmRwb2ludFVybCxcbiAgICAgIEFXU19FTkRQT0lOVF9VUkxfQkVEUk9DS19SVU5USU1FOiByZXNvbHZlZC5iZWRyb2NrUnVudGltZUVuZHBvaW50VXJsLFxuICAgICAgQVdTX0VORFBPSU5UX1VSTF9CRURST0NLX0FHRU5UX1JVTlRJTUU6IHJlc29sdmVkLmJlZHJvY2tBZ2VudFJ1bnRpbWVFbmRwb2ludFVybCxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const path = require("path");
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const assertions_1 = require("aws-cdk-lib/assertions");
6
+ const aws_s3_assets_1 = require("aws-cdk-lib/aws-s3-assets");
7
+ const test_utils_1 = require("../../utilities/test-utils");
8
+ const localstack_batch_agent_1 = require("../agents/localstack-batch-agent");
9
+ const localstack_1 = require("../localstack");
10
+ class TestableLocalStackBatchAgent extends localstack_batch_agent_1.LocalStackBatchAgent {
11
+ runtimeEntryPath() {
12
+ return this.resolveAgentRuntimeEntry();
13
+ }
14
+ }
15
+ describe('LocalStackBatchAgent', () => {
16
+ test('injects LocalStack endpoint environment variables', () => {
17
+ const app = (0, test_utils_1.createTestApp)();
18
+ const stack = new aws_cdk_lib_1.Stack(app, 'LocalStackBatchAgentStack');
19
+ const systemPrompt = new aws_s3_assets_1.Asset(stack, 'SystemPrompt', {
20
+ path: path.join(__dirname, '../agents/resources/default-strands-agent/batch.py'),
21
+ });
22
+ new localstack_batch_agent_1.LocalStackBatchAgent(stack, 'LocalStackBatchAgent', {
23
+ agentName: 'LocalAgent',
24
+ prompt: 'Analyze this document',
25
+ agentDefinition: {
26
+ bedrockModel: {
27
+ customModelId: localstack_1.DEFAULT_LOCALSTACK_OLLAMA_MODEL_ID,
28
+ },
29
+ systemPrompt,
30
+ },
31
+ localStack: {
32
+ endpointUrl: localstack_1.DEFAULT_LOCALSTACK_SANDBOX_ENDPOINT_URL,
33
+ },
34
+ });
35
+ const template = assertions_1.Template.fromStack(stack);
36
+ template.hasResourceProperties('AWS::Lambda::Function', {
37
+ Environment: {
38
+ Variables: assertions_1.Match.objectLike({
39
+ LOCALSTACK_ENABLED: 'true',
40
+ AWS_ENDPOINT_URL: localstack_1.DEFAULT_LOCALSTACK_SANDBOX_ENDPOINT_URL,
41
+ AWS_ENDPOINT_URL_S3: localstack_1.DEFAULT_LOCALSTACK_SANDBOX_ENDPOINT_URL,
42
+ AWS_ENDPOINT_URL_BEDROCK_RUNTIME: localstack_1.DEFAULT_LOCALSTACK_SANDBOX_ENDPOINT_URL,
43
+ AWS_ENDPOINT_URL_BEDROCK_AGENT_RUNTIME: localstack_1.DEFAULT_LOCALSTACK_SANDBOX_ENDPOINT_URL,
44
+ }),
45
+ },
46
+ });
47
+ });
48
+ test('uses the LocalStack/Ollama runtime entry', () => {
49
+ const app = (0, test_utils_1.createTestApp)();
50
+ const stack = new aws_cdk_lib_1.Stack(app, 'LocalStackBatchAgentRuntimeStack');
51
+ const systemPrompt = new aws_s3_assets_1.Asset(stack, 'RuntimeSystemPrompt', {
52
+ path: path.join(__dirname, '../agents/resources/default-strands-agent/batch.py'),
53
+ });
54
+ const agent = new TestableLocalStackBatchAgent(stack, 'LocalStackBatchAgentRuntime', {
55
+ agentName: 'LocalAgentRuntime',
56
+ prompt: 'Analyze this document',
57
+ agentDefinition: {
58
+ bedrockModel: {
59
+ customModelId: localstack_1.DEFAULT_LOCALSTACK_OLLAMA_MODEL_ID,
60
+ },
61
+ systemPrompt,
62
+ },
63
+ });
64
+ expect(agent.runtimeEntryPath()).toContain(path.join('resources', 'default-ollama-agent'));
65
+ });
66
+ });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxzdGFjay1iYXRjaC1hZ2VudC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdXNlLWNhc2VzL2ZyYW1ld29yay90ZXN0cy9sb2NhbHN0YWNrLWJhdGNoLWFnZW50LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBNkI7QUFDN0IsNkNBQW9DO0FBQ3BDLHVEQUF5RDtBQUN6RCw2REFBa0Q7QUFDbEQsMkRBQTJEO0FBQzNELDZFQUF3RTtBQUN4RSw4Q0FBNEc7QUFFNUcsTUFBTSw0QkFBNkIsU0FBUSw2Q0FBb0I7SUFDdEQsZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBRUQsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtJQUNwQyxJQUFJLENBQUMsbURBQW1ELEVBQUUsR0FBRyxFQUFFO1FBQzdELE1BQU0sR0FBRyxHQUFHLElBQUEsMEJBQWEsR0FBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztRQUUxRCxNQUFNLFlBQVksR0FBRyxJQUFJLHFCQUFLLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRTtZQUNwRCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsb0RBQW9ELENBQUM7U0FDakYsQ0FBQyxDQUFDO1FBRUgsSUFBSSw2Q0FBb0IsQ0FBQyxLQUFLLEVBQUUsc0JBQXNCLEVBQUU7WUFDdEQsU0FBUyxFQUFFLFlBQVk7WUFDdkIsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixlQUFlLEVBQUU7Z0JBQ2YsWUFBWSxFQUFFO29CQUNaLGFBQWEsRUFBRSwrQ0FBa0M7aUJBQ2xEO2dCQUNELFlBQVk7YUFDYjtZQUNELFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsb0RBQXVDO2FBQ3JEO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcscUJBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsUUFBUSxDQUFDLHFCQUFxQixDQUFDLHVCQUF1QixFQUFFO1lBQ3RELFdBQVcsRUFBRTtnQkFDWCxTQUFTLEVBQUUsa0JBQUssQ0FBQyxVQUFVLENBQUM7b0JBQzFCLGtCQUFrQixFQUFFLE1BQU07b0JBQzFCLGdCQUFnQixFQUFFLG9EQUF1QztvQkFDekQsbUJBQW1CLEVBQUUsb0RBQXVDO29CQUM1RCxnQ0FBZ0MsRUFBRSxvREFBdUM7b0JBQ3pFLHNDQUFzQyxFQUFFLG9EQUF1QztpQkFDaEYsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsMENBQTBDLEVBQUUsR0FBRyxFQUFFO1FBQ3BELE1BQU0sR0FBRyxHQUFHLElBQUEsMEJBQWEsR0FBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztRQUVqRSxNQUFNLFlBQVksR0FBRyxJQUFJLHFCQUFLLENBQUMsS0FBSyxFQUFFLHFCQUFxQixFQUFFO1lBQzNELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxvREFBb0QsQ0FBQztTQUNqRixDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyxJQUFJLDRCQUE0QixDQUFDLEtBQUssRUFBRSw2QkFBNkIsRUFBRTtZQUNuRixTQUFTLEVBQUUsbUJBQW1CO1lBQzlCLE1BQU0sRUFBRSx1QkFBdUI7WUFDL0IsZUFBZSxFQUFFO2dCQUNmLFlBQVksRUFBRTtvQkFDWixhQUFhLEVBQUUsK0NBQWtDO2lCQUNsRDtnQkFDRCxZQUFZO2FBQ2I7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBNYXRjaCwgVGVtcGxhdGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hc3NlcnRpb25zJztcbmltcG9ydCB7IEFzc2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgeyBjcmVhdGVUZXN0QXBwIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IHsgTG9jYWxTdGFja0JhdGNoQWdlbnQgfSBmcm9tICcuLi9hZ2VudHMvbG9jYWxzdGFjay1iYXRjaC1hZ2VudCc7XG5pbXBvcnQgeyBERUZBVUxUX0xPQ0FMU1RBQ0tfT0xMQU1BX01PREVMX0lELCBERUZBVUxUX0xPQ0FMU1RBQ0tfU0FOREJPWF9FTkRQT0lOVF9VUkwgfSBmcm9tICcuLi9sb2NhbHN0YWNrJztcblxuY2xhc3MgVGVzdGFibGVMb2NhbFN0YWNrQmF0Y2hBZ2VudCBleHRlbmRzIExvY2FsU3RhY2tCYXRjaEFnZW50IHtcbiAgcHVibGljIHJ1bnRpbWVFbnRyeVBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlQWdlbnRSdW50aW1lRW50cnkoKTtcbiAgfVxufVxuXG5kZXNjcmliZSgnTG9jYWxTdGFja0JhdGNoQWdlbnQnLCAoKSA9PiB7XG4gIHRlc3QoJ2luamVjdHMgTG9jYWxTdGFjayBlbmRwb2ludCBlbnZpcm9ubWVudCB2YXJpYWJsZXMnLCAoKSA9PiB7XG4gICAgY29uc3QgYXBwID0gY3JlYXRlVGVzdEFwcCgpO1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ0xvY2FsU3RhY2tCYXRjaEFnZW50U3RhY2snKTtcblxuICAgIGNvbnN0IHN5c3RlbVByb21wdCA9IG5ldyBBc3NldChzdGFjaywgJ1N5c3RlbVByb21wdCcsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9hZ2VudHMvcmVzb3VyY2VzL2RlZmF1bHQtc3RyYW5kcy1hZ2VudC9iYXRjaC5weScpLFxuICAgIH0pO1xuXG4gICAgbmV3IExvY2FsU3RhY2tCYXRjaEFnZW50KHN0YWNrLCAnTG9jYWxTdGFja0JhdGNoQWdlbnQnLCB7XG4gICAgICBhZ2VudE5hbWU6ICdMb2NhbEFnZW50JyxcbiAgICAgIHByb21wdDogJ0FuYWx5emUgdGhpcyBkb2N1bWVudCcsXG4gICAgICBhZ2VudERlZmluaXRpb246IHtcbiAgICAgICAgYmVkcm9ja01vZGVsOiB7XG4gICAgICAgICAgY3VzdG9tTW9kZWxJZDogREVGQVVMVF9MT0NBTFNUQUNLX09MTEFNQV9NT0RFTF9JRCxcbiAgICAgICAgfSxcbiAgICAgICAgc3lzdGVtUHJvbXB0LFxuICAgICAgfSxcbiAgICAgIGxvY2FsU3RhY2s6IHtcbiAgICAgICAgZW5kcG9pbnRVcmw6IERFRkFVTFRfTE9DQUxTVEFDS19TQU5EQk9YX0VORFBPSU5UX1VSTCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gICAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OkxhbWJkYTo6RnVuY3Rpb24nLCB7XG4gICAgICBFbnZpcm9ubWVudDoge1xuICAgICAgICBWYXJpYWJsZXM6IE1hdGNoLm9iamVjdExpa2Uoe1xuICAgICAgICAgIExPQ0FMU1RBQ0tfRU5BQkxFRDogJ3RydWUnLFxuICAgICAgICAgIEFXU19FTkRQT0lOVF9VUkw6IERFRkFVTFRfTE9DQUxTVEFDS19TQU5EQk9YX0VORFBPSU5UX1VSTCxcbiAgICAgICAgICBBV1NfRU5EUE9JTlRfVVJMX1MzOiBERUZBVUxUX0xPQ0FMU1RBQ0tfU0FOREJPWF9FTkRQT0lOVF9VUkwsXG4gICAgICAgICAgQVdTX0VORFBPSU5UX1VSTF9CRURST0NLX1JVTlRJTUU6IERFRkFVTFRfTE9DQUxTVEFDS19TQU5EQk9YX0VORFBPSU5UX1VSTCxcbiAgICAgICAgICBBV1NfRU5EUE9JTlRfVVJMX0JFRFJPQ0tfQUdFTlRfUlVOVElNRTogREVGQVVMVF9MT0NBTFNUQUNLX1NBTkRCT1hfRU5EUE9JTlRfVVJMLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0pO1xuXG4gIHRlc3QoJ3VzZXMgdGhlIExvY2FsU3RhY2svT2xsYW1hIHJ1bnRpbWUgZW50cnknLCAoKSA9PiB7XG4gICAgY29uc3QgYXBwID0gY3JlYXRlVGVzdEFwcCgpO1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ0xvY2FsU3RhY2tCYXRjaEFnZW50UnVudGltZVN0YWNrJyk7XG5cbiAgICBjb25zdCBzeXN0ZW1Qcm9tcHQgPSBuZXcgQXNzZXQoc3RhY2ssICdSdW50aW1lU3lzdGVtUHJvbXB0Jywge1xuICAgICAgcGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2FnZW50cy9yZXNvdXJjZXMvZGVmYXVsdC1zdHJhbmRzLWFnZW50L2JhdGNoLnB5JyksXG4gICAgfSk7XG5cbiAgICBjb25zdCBhZ2VudCA9IG5ldyBUZXN0YWJsZUxvY2FsU3RhY2tCYXRjaEFnZW50KHN0YWNrLCAnTG9jYWxTdGFja0JhdGNoQWdlbnRSdW50aW1lJywge1xuICAgICAgYWdlbnROYW1lOiAnTG9jYWxBZ2VudFJ1bnRpbWUnLFxuICAgICAgcHJvbXB0OiAnQW5hbHl6ZSB0aGlzIGRvY3VtZW50JyxcbiAgICAgIGFnZW50RGVmaW5pdGlvbjoge1xuICAgICAgICBiZWRyb2NrTW9kZWw6IHtcbiAgICAgICAgICBjdXN0b21Nb2RlbElkOiBERUZBVUxUX0xPQ0FMU1RBQ0tfT0xMQU1BX01PREVMX0lELFxuICAgICAgICB9LFxuICAgICAgICBzeXN0ZW1Qcm9tcHQsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KGFnZW50LnJ1bnRpbWVFbnRyeVBhdGgoKSkudG9Db250YWluKHBhdGguam9pbigncmVzb3VyY2VzJywgJ2RlZmF1bHQtb2xsYW1hLWFnZW50JykpO1xuICB9KTtcbn0pO1xuIl19