@cdklabs/cdk-appmod-catalog-blueprints 1.2.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.jsii +804 -173
  2. package/README.md +76 -98
  3. package/lib/document-processing/adapter/queued-s3-adapter.js +1 -1
  4. package/lib/document-processing/agentic-document-processing.d.ts +5 -28
  5. package/lib/document-processing/agentic-document-processing.js +8 -63
  6. package/lib/document-processing/base-document-processing.js +4 -20
  7. package/lib/document-processing/bedrock-document-processing.d.ts +4 -32
  8. package/lib/document-processing/bedrock-document-processing.js +10 -37
  9. package/lib/document-processing/default-document-processing-config.js +1 -1
  10. package/lib/document-processing/tests/agentic-document-processing-nag.test.js +12 -11
  11. package/lib/document-processing/tests/agentic-document-processing.test.js +136 -67
  12. package/lib/document-processing/tests/base-document-processing-nag.test.d.ts +1 -0
  13. package/lib/document-processing/tests/base-document-processing-nag.test.js +161 -0
  14. package/lib/document-processing/tests/base-document-processing.test.d.ts +1 -0
  15. package/lib/document-processing/tests/base-document-processing.test.js +499 -0
  16. package/lib/document-processing/tests/bedrock-document-processing-nag.test.js +3 -2
  17. package/lib/document-processing/tests/bedrock-document-processing.test.js +221 -40
  18. package/lib/document-processing/tests/queued-s3-adapter-nag.test.d.ts +1 -0
  19. package/lib/document-processing/tests/queued-s3-adapter-nag.test.js +122 -0
  20. package/lib/document-processing/tests/queued-s3-adapter.test.d.ts +1 -0
  21. package/lib/document-processing/tests/queued-s3-adapter.test.js +276 -0
  22. package/lib/framework/agents/base-agent.d.ts +90 -0
  23. package/lib/framework/agents/base-agent.js +55 -0
  24. package/lib/framework/agents/batch-agent.d.ts +11 -0
  25. package/lib/framework/agents/batch-agent.js +64 -0
  26. package/lib/framework/agents/default-agent-config.d.ts +3 -0
  27. package/lib/framework/agents/default-agent-config.js +12 -0
  28. package/lib/framework/agents/index.d.ts +3 -0
  29. package/lib/framework/agents/index.js +20 -0
  30. package/lib/framework/agents/resources/default-strands-agent/batch.py +99 -0
  31. package/lib/framework/agents/resources/default-strands-agent/models.py +7 -0
  32. package/lib/framework/agents/resources/default-strands-agent/requirements.txt +7 -0
  33. package/lib/framework/agents/resources/default-strands-agent/utils.py +36 -0
  34. package/lib/framework/bedrock/bedrock.d.ts +38 -0
  35. package/lib/framework/bedrock/bedrock.js +54 -0
  36. package/lib/framework/bedrock/index.d.ts +1 -0
  37. package/lib/framework/bedrock/index.js +18 -0
  38. package/lib/framework/custom-resource/default-runtimes.js +1 -1
  39. package/lib/framework/foundation/access-log.js +1 -1
  40. package/lib/framework/foundation/eventbridge-broker.js +1 -1
  41. package/lib/framework/foundation/network.js +1 -1
  42. package/lib/framework/index.d.ts +2 -0
  43. package/lib/framework/index.js +3 -1
  44. package/lib/framework/tests/access-log.test.d.ts +1 -0
  45. package/lib/framework/tests/access-log.test.js +146 -0
  46. package/lib/framework/tests/batch-agent.test.d.ts +1 -0
  47. package/lib/framework/tests/batch-agent.test.js +164 -0
  48. package/lib/framework/tests/bedrock.test.d.ts +1 -0
  49. package/lib/framework/tests/bedrock.test.js +68 -0
  50. package/lib/framework/tests/eventbridge-broker.test.d.ts +1 -0
  51. package/lib/framework/tests/eventbridge-broker.test.js +73 -0
  52. package/lib/framework/tests/framework-nag.test.d.ts +1 -0
  53. package/lib/framework/tests/framework-nag.test.js +155 -0
  54. package/lib/framework/tests/network.test.d.ts +1 -0
  55. package/lib/framework/tests/network.test.js +120 -0
  56. package/lib/tsconfig.tsbuildinfo +1 -1
  57. package/lib/utilities/data-loader.js +1 -1
  58. package/lib/utilities/lambda-iam-utils.js +4 -3
  59. package/lib/utilities/observability/cloudfront-distribution-observability-property-injector.js +1 -1
  60. package/lib/utilities/observability/default-observability-config.js +1 -1
  61. package/lib/utilities/observability/index.d.ts +1 -0
  62. package/lib/utilities/observability/index.js +2 -1
  63. package/lib/utilities/observability/lambda-observability-property-injector.js +1 -1
  64. package/lib/utilities/observability/log-group-data-protection-utils.d.ts +6 -0
  65. package/lib/utilities/observability/log-group-data-protection-utils.js +37 -0
  66. package/lib/utilities/observability/powertools-config.js +1 -1
  67. package/lib/utilities/observability/state-machine-observability-property-injector.js +1 -1
  68. package/lib/webapp/frontend-construct.js +1 -1
  69. package/package.json +8 -8
package/.jsii CHANGED
@@ -4114,7 +4114,7 @@
4114
4114
  "stability": "experimental"
4115
4115
  },
4116
4116
  "homepage": "https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git",
4117
- "jsiiVersion": "5.9.7 (build 1693b5a)",
4117
+ "jsiiVersion": "5.9.11 (build e3d2007)",
4118
4118
  "keywords": [
4119
4119
  "cdk"
4120
4120
  ],
@@ -4129,7 +4129,7 @@
4129
4129
  },
4130
4130
  "name": "@cdklabs/cdk-appmod-catalog-blueprints",
4131
4131
  "readme": {
4132
- "markdown": "---\ntitle: Introduction\n---\n\n# AppMod Catalog Blueprints\n\nApplication Modernization (AppMod) Catalog Blueprints is a comprehensive library of production-ready, use case-driven infrastructure blueprints in the form of composable multi-layered building blocks built using [AWS Cloud Development Kit](https://aws.amazon.com/cdk/) (CDK) [L3 constructs](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html). These blueprints offer use case-driven solutions with multiple implementation pathways and industry-specific implementations that are designed to accelerate serverless development and modernization on AWS.\n\nBuilt with [JSII](https://aws.github.io/jsii/), these constructs are available in TypeScript, Python, Java, and .NET, enabling teams to use their preferred programming language while leveraging the same proven infrastructure patterns.\n\nGet started by exploring the [use case constructs](use-cases) and deployable [examples](examples). Learn more from [documentation](https://cdklabs.github.io/cdk-appmod-catalog-blueprints/) and [Construct Hub](https://constructs.dev/packages/@cdklabs/cdk-appmod-catalog-blueprints).\n\n## Core Use Cases\n\n| Use Case | Description | Quick Deploy Examples |\n|----------|-------------|----------------------|\n| **[Document Processing](./use-cases/document-processing/)** | AI-powered document processing workflows with classification, extraction, and agentic capabilities | • [Bedrock Document Processing](./examples/document-processing/bedrock-document-processing/)<br/>• [Agentic Document Processing](./examples/document-processing/agentic-document-processing/)<br/>• [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |\n| **[Web Application](./use-cases/webapp/)** | Static web application hosting with global CDN, security headers, and SPA support | • [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |\n\n## Foundation and Utilities\n\n| Component | Description |\n|-----------|-------------|\n| **[Observability & Monitoring](./use-cases/utilities/observability/)** | Comprehensive monitoring, logging, and alerting with automatic property injection and Lambda Powertools integration |\n| **[Data Masking](./use-cases/utilities/lambda_layers/data-masking/)** | Lambda layer for data masking and PII protection in serverless applications |\n| **[Infrastructure Foundation](./use-cases/framework/)** | Core infrastructure components and utilities for building scalable applications |\n\n## Key Design Principles\n\nAppMod Catalog Blueprints is built on Object-Oriented Programming (OOP) principles, providing a structured approach to infrastructure development through core design concepts:\n\n### Composable Architecture\n\nBuild complex enterprise systems by combining independent, reusable components with standardized interfaces.\n\n- **Independent components** with clear interfaces and loose coupling for maximum flexibility\n- **Mix and match building blocks** to create custom solutions across different contexts and use cases\n- **Scalable composition** that maintains consistency while enabling incremental adoption and gradual modernization\n\n### Multi-Layered Building Blocks Architecture\n\nOur blueprints use a multi-layered architecture that bridges the gap between business requirements and technical implementation:\n\n| Layer | Implementation Type | Purpose | Key Features |\n|-------|-------------------|---------|--------------|\n| **Infrastructure Foundation** | Abstract base classes | Shared infrastructure components and common services | • Standardized interfaces and contracts<br/>• Extensible foundation for custom implementations |\n| **General Use Case Implementation** | Concrete implementation classes | Production-ready implementations for common patterns across industries | • Configurable parameters for different environments<br/>• Abstract method implementations with general-purpose solutions |\n| **Industry-Aligned Implementation** | Configured implementation examples | Pre-configured solutions for specific business domains | • Industry-specific validation rules and workflows<br/>• Built-in compliance requirements and domain expertise |\n\n### Production-Ready with Smart Defaults\n\nAppMod Catalog Blueprints serves both **rapid deployment** needs (for teams wanting immediate solutions) and **custom development** requirements (for teams needing tailored implementations), providing flexibility without compromising on production readiness.\n\n| Approach | Best For | Capabilities |\n|----------|----------|--------------|\n| **Out-of-the-Box Deployment** | Rapid deployment and evaluation | • Deploy complete solutions in minutes using examples for immediate value<br/>• Pre-configured security, monitoring, and best practices for production readiness<br/>• Sensible defaults with production-ready configurations that work immediately<br/>• No infrastructure boilerplate required with minimal learning curve |\n| **Intelligent Customization** | Custom development and integration | • Override defaults to modify behavior without changing core implementation<br/>• Enable/disable optional features to meet specific requirements<br/>• Inject custom logic at predefined extension points while maintaining production readiness<br/>• Configure parameters for different environments and use cases |\n\n### Security & Compliance\n\nAll components include enterprise-grade security by default:\n- **CDK Nag Integration**: Automated security compliance checking\n- **AWS Well-Architected**: Security, reliability, and performance best practices\n- **Encryption & IAM**: At-rest/in-transit encryption with least-privilege access\n- **Compliance Reports**: Generate reports with `npm test -- --testPathPattern=\"nag.test.ts\"`\n\n## Essential Commands\n\n### Environment Setup\n```bash\n# Clone the repository\ngit clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git\n\n# Configure AWS credentials and region\naws configure\n# OR set AWS profile: export AWS_PROFILE=your-profile-name\n\n# Bootstrap your AWS environment (one-time setup)\nnpx cdk bootstrap\n```\n\n### Quick Start\n\nDeploy a working example in **5 minutes**:\n\n```bash\n# Navigate to any example and deploy\ncd examples/document-processing/agentic-document-processing\nnpm install\nnpm run deploy\n```\n\n### Build & Deploy Project\n```bash\n# Build entire project\nnpx projen build\n\n# Deploy with specific profile/region\nnpx cdk deploy --require-approval never\n\n# Update CDK CLI if needed\nnpm install aws-cdk@latest\n```\n\n### Development\n```bash\n# Run all tests\nnpm test\n\n# Run specific test pattern\nnpm test -- --testPathPattern=\"document-processing\"\n\n# Generate CDK Nag compliance reports\nnpm test -- --testPathPattern=\"nag.test.ts\"\n```\n\n## How to Use This Library\n\n### Quick Start (Deploy Examples)\n1. **Browse Examples**: Start with the [examples](./examples/) folder to see working implementations\n2. **Deploy & Test**: Use `npm run deploy` in any example to get a working system in minutes\n3. **Customize**: Modify example parameters to fit your specific requirements\n\n### Using Individual Constructs\n1. **Import Constructs**: Add `@cdklabs/appmod-catalog-blueprints` to your CDK project\n2. **Choose Your Layer**: Pick the right abstraction level for your needs\n3. **Configure**: Use the configuration options documented in each construct\n\n### Understanding the Layers\n\n**Foundation Layer** (`use-cases/framework/`, `use-cases/utilities/`)\n- **When to use**: Building custom solutions or need specific infrastructure components\n- **Components**: VPC networking, observability utilities, data management tools, etc.\n\n**Use Case Layer** (`use-cases/document-processing/`, `use-cases/webapp/`)\n- **When to use**: Need proven patterns for common business problems\n- **Components**: Document processing workflows, web application hosting, data transformation patterns, etc.\n\n**Example Layer** (`examples/`)\n- **When to use**: Want complete, deployable solutions\n- **Components**: Industry-specific configurations, end-to-end applications, reference implementations, etc.\n\n## Contributing\n\nSee [CONTRIBUTING.md](https://github.com/cdklabs/cdk-appmod-catalog-blueprints/blob/main/CONTRIBUTING.md) for detailed guidelines on how to contribute to this project.\n\n## Disclaimer\nThese application solutions are not supported products in their own right, but examples to help our customers use our products from their applications. As our customer, any applications you integrate these examples in should be thoroughly tested, secured, and optimized according to your business's security standards before deploying to production or handling production workloads.\n\n## License\n\nApache License 2.0 - see [LICENSE](https://github.com/cdklabs/cdk-appmod-catalog-blueprints/blob/main/LICENSE) file for details.\n"
4132
+ "markdown": "# AppMod Catalog Blueprints\n\n[![Code](https://img.shields.io/badge/code-GitHub-green)](https://github.com/cdklabs/cdk-appmod-catalog-blueprints)\n[![Website](https://img.shields.io/badge/website-cdklabs.github.io-blue)](https://cdklabs.github.io/cdk-appmod-catalog-blueprints/)\n[![Package](https://img.shields.io/badge/package-construct--hub-orange)](https://constructs.dev/packages/@cdklabs/cdk-appmod-catalog-blueprints/)\n\nApplication Modernization (AppMod) Catalog Blueprints is a comprehensive library of use case-driven infrastructure solution blueprints built using AWS well-architected best practices. Designed as composable multi-layered building blocks using [AWS Cloud Development Kit](https://aws.amazon.com/cdk/) (CDK) [L3 constructs](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html), these blueprints offer use case-driven solutions with multiple implementation pathways and industry-specific implementations to accelerate serverless development and modernization on AWS.\n\n**Key Benefits:**\n- **Use case-driven solutions**: Purpose-built blueprints for common business scenarios like document processing, web applications, and AI workflows, with industry-specific implementations like insurance claims processing\n- **Multi-layered approach**: Infrastructure Foundation General Use Cases → Industry Examples, allowing you to start with proven patterns and customize as needed.\n- **Composable architecture**: Mix and match independent components with standardized interfaces\n- **Enterprise-ready**: Built-in security, compliance, and AWS Well-Architected best practices\n- **Multi-language support**: Available in TypeScript, Python, Java, and .NET via [JSII](https://aws.github.io/jsii/)\n\n## How to Use This Library\n\nGet started by exploring the [use case constructs](use-cases) and deployable [examples](examples). Learn more from [documentation](https://cdklabs.github.io/cdk-appmod-catalog-blueprints/) and [Construct Hub](https://constructs.dev/packages/@cdklabs/cdk-appmod-catalog-blueprints).\n\n| Approach | Best For | Get Started |\n|----------|----------|-------------|\n| **🚀 Rapid Deployment** | Quick evaluation, immediate solutions, proof-of-concepts | Use [examples](./examples/) - deploy complete solutions in minutes with sensible defaults and AWS Well-Architected best practices |\n| **🔧 Custom Development** | Specific requirements, enterprise integration, tailored solutions | Use [individual constructs](./use-cases/) - override defaults, inject custom logic, configure for your environment |\n\n## Use Case Building Blocks\n\n### Core Use Cases\n\n| Use Case | Description | Quick Deploy Examples |\n|----------|-------------|----------------------|\n| **[Document Processing](./use-cases/document-processing/)** | Intelligent document processing workflows with classification, extraction, and agentic capabilities | • [Bedrock Document Processing](./examples/document-processing/bedrock-document-processing/)<br/>• [Agentic Document Processing](./examples/document-processing/agentic-document-processing/)<br/>• [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |\n| **[Web Application](./use-cases/webapp/)** | Static web application hosting with global CDN, security headers, and SPA support | • [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |\n\n### Foundation and Utilities\n\n| Component | Description |\n|-----------|-------------|\n| **[Agentic AI Framework](./use-cases/framework/agents/)** | Composable enterprise framework for building intelligent AI agents that can be mixed and matched across diverse use cases - from document processing to conversational AI |\n| **[Infrastructure Foundation](./use-cases/framework/foundation/)** | Core infrastructure components including VPC networking, access logging, and EventBridge integration |\n| **[Observability & Monitoring](./use-cases/utilities/#observability)** | Comprehensive monitoring, logging, and alerting with automatic property injection and Lambda Powertools integration |\n| **[Data Masking](./use-cases/utilities/#data-masking)** | Lambda layer for data masking and PII protection in serverless applications |\n\n## Getting Started\n\n### Environment Setup\n```bash\n# Configure AWS credentials and region\naws configure\n# OR set AWS profile: export AWS_PROFILE=your-profile-name\n\n# Bootstrap your AWS environment (one-time setup)\nnpx cdk bootstrap\n```\n\n### Quick Deploy (Complete Solutions)\nDeploy working examples in minutes for immediate value:\n\n```bash\n# Clone the repository\ngit clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git\n\n# Deploy complete insurance claims processing solution\ncd examples/document-processing/doc-processing-fullstack-webapp\nnpm install && npm run deploy\n# Full AI-powered solution with web interface deployed\n\n# Or deploy basic document processing\ncd examples/document-processing/bedrock-document-processing\nnpm install && npm run deploy\n```\n\n### Using Individual Constructs\nAdd to your existing CDK projects for custom solutions:\n\n```bash\n# Install the library\nnpm install @cdklabs/appmod-catalog-blueprints\n\n# Use in your CDK code\nimport { AgenticDocumentProcessing, WebApp } from '@cdklabs/appmod-catalog-blueprints';\n\nconst docProcessor = new AgenticDocumentProcessing(this, 'Processor', {\n agentDefinition: {\n bedrockModel: { useCrossRegionInference: true },\n systemPrompt: myPrompt,\n tools: [myTools]\n }\n});\n```\n\n## Key Design Principles\n\nAppMod Catalog Blueprints is built on Object-Oriented Programming (OOP) principles, providing a structured approach to infrastructure development through core design concepts:\n\n### Composable Architecture\n\nBuild complex enterprise systems by combining independent, reusable components with standardized interfaces.\n\n- **Independent components** with clear interfaces and loose coupling for maximum flexibility\n- **Mix and match building blocks** to create custom solutions across different contexts and use cases\n- **Scalable composition** that maintains consistency while enabling incremental adoption and gradual modernization\n\n### Multi-Layered Building Blocks Architecture\n\nOur blueprints use a multi-layered architecture that bridges the gap between business requirements and technical implementation:\n\n| Layer | Implementation Type | Purpose | Key Features |\n|-------|-------------------|---------|--------------|\n| **Infrastructure Foundation** | Abstract base classes | Shared infrastructure components and common services | • Standardized interfaces and contracts<br/>• Extensible foundation for custom implementations |\n| **General Use Case Implementation** | Concrete implementation classes | Implementations for common patterns across industries | • Configurable parameters for different environments<br/>• Abstract method implementations with general-purpose solutions |\n| **Industry-Aligned Implementation** | Configured implementation examples | Pre-configured solutions for specific business domains | • Industry-specific validation rules and workflows<br/>• Built-in compliance requirements and domain expertise |\n\n### Security & Compliance\n\nAll components include enterprise-grade security by default:\n- **CDK Nag Integration**: Automated security compliance checking\n- **AWS Well-Architected**: Security, reliability, and performance best practices\n- **Encryption & IAM**: At-rest/in-transit encryption with least-privilege access\n- **Compliance Reports**: Generate reports with `npm test -- --testPathPattern=\"nag.test.ts\"`\n\n## Contributing\n\nSee [CONTRIBUTING.md](https://github.com/cdklabs/cdk-appmod-catalog-blueprints/blob/main/CONTRIBUTING.md) for detailed guidelines on how to contribute to this project.\n\n## Disclaimer\nThese application solutions are not supported products in their own right, but examples to help our customers use our products from their applications. As our customer, any applications you integrate these examples in should be thoroughly tested, secured, and optimized according to your business's security standards before deploying to production or handling production workloads.\n\n## License\n\nApache License 2.0 - see [LICENSE](https://github.com/cdklabs/cdk-appmod-catalog-blueprints/blob/main/LICENSE) file for details.\n"
4133
4133
  },
4134
4134
  "repository": {
4135
4135
  "type": "git",
@@ -4510,54 +4510,70 @@
4510
4510
  ],
4511
4511
  "symbolId": "use-cases/webapp/frontend-construct:AdditionalDistributionProps"
4512
4512
  },
4513
- "@cdklabs/cdk-appmod-catalog-blueprints.AgentProps": {
4513
+ "@cdklabs/cdk-appmod-catalog-blueprints.AgentDefinitionProps": {
4514
4514
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
4515
4515
  "datatype": true,
4516
4516
  "docs": {
4517
- "stability": "experimental"
4517
+ "stability": "experimental",
4518
+ "summary": "Parameters that influences the behavior of the agent."
4518
4519
  },
4519
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AgentProps",
4520
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AgentDefinitionProps",
4520
4521
  "kind": "interface",
4521
4522
  "locationInModule": {
4522
- "filename": "use-cases/document-processing/agentic-document-processing.ts",
4523
- "line": 13
4523
+ "filename": "use-cases/framework/agents/base-agent.ts",
4524
+ "line": 25
4524
4525
  },
4525
- "name": "AgentProps",
4526
+ "name": "AgentDefinitionProps",
4526
4527
  "properties": [
4527
4528
  {
4528
4529
  "abstract": true,
4529
4530
  "docs": {
4530
4531
  "stability": "experimental",
4531
- "summary": "System prompt for the agent."
4532
+ "summary": "Configuration for the Bedrock Model to be used."
4532
4533
  },
4533
4534
  "immutable": true,
4534
4535
  "locationInModule": {
4535
- "filename": "use-cases/document-processing/agentic-document-processing.ts",
4536
- "line": 27
4536
+ "filename": "use-cases/framework/agents/base-agent.ts",
4537
+ "line": 29
4537
4538
  },
4538
- "name": "agentSystemPrompt",
4539
- "optional": true,
4539
+ "name": "bedrockModel",
4540
4540
  "type": {
4541
- "primitive": "string"
4541
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
4542
4542
  }
4543
4543
  },
4544
4544
  {
4545
4545
  "abstract": true,
4546
4546
  "docs": {
4547
4547
  "stability": "experimental",
4548
- "summary": "If there are python dependencies that are needed by the provided tools, provide the Lambda Layers with the dependencies."
4548
+ "summary": "The system prompt of the agent."
4549
4549
  },
4550
4550
  "immutable": true,
4551
4551
  "locationInModule": {
4552
- "filename": "use-cases/document-processing/agentic-document-processing.ts",
4553
- "line": 40
4552
+ "filename": "use-cases/framework/agents/base-agent.ts",
4553
+ "line": 35
4554
4554
  },
4555
- "name": "lambdaLayers",
4555
+ "name": "systemPrompt",
4556
+ "type": {
4557
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset"
4558
+ }
4559
+ },
4560
+ {
4561
+ "abstract": true,
4562
+ "docs": {
4563
+ "stability": "experimental",
4564
+ "summary": "If tools need additional IAM permissions, these statements would be attached to the Agent's IAM role."
4565
+ },
4566
+ "immutable": true,
4567
+ "locationInModule": {
4568
+ "filename": "use-cases/framework/agents/base-agent.ts",
4569
+ "line": 53
4570
+ },
4571
+ "name": "additionalPolicyStatementsForTools",
4556
4572
  "optional": true,
4557
4573
  "type": {
4558
4574
  "collection": {
4559
4575
  "elementtype": {
4560
- "fqn": "aws-cdk-lib.aws_lambda.LayerVersion"
4576
+ "fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
4561
4577
  },
4562
4578
  "kind": "array"
4563
4579
  }
@@ -4566,46 +4582,127 @@
4566
4582
  {
4567
4583
  "abstract": true,
4568
4584
  "docs": {
4569
- "default": "No extra IAM permissions would be automatically\nassigned to the processing agent.",
4570
4585
  "stability": "experimental",
4571
- "summary": "Bucket where the tools are located in Primarily use to grant read permission to the processing agent to access the tools."
4586
+ "summary": "Any dependencies needed by the provided tools."
4572
4587
  },
4573
4588
  "immutable": true,
4574
4589
  "locationInModule": {
4575
- "filename": "use-cases/document-processing/agentic-document-processing.ts",
4576
- "line": 22
4590
+ "filename": "use-cases/framework/agents/base-agent.ts",
4591
+ "line": 47
4577
4592
  },
4578
- "name": "toolsBucket",
4593
+ "name": "lambdaLayers",
4579
4594
  "optional": true,
4580
4595
  "type": {
4581
- "fqn": "aws-cdk-lib.aws_s3.Bucket"
4596
+ "collection": {
4597
+ "elementtype": {
4598
+ "fqn": "aws-cdk-lib.aws_lambda.LayerVersion"
4599
+ },
4600
+ "kind": "array"
4601
+ }
4582
4602
  }
4583
4603
  },
4584
4604
  {
4585
4605
  "abstract": true,
4586
4606
  "docs": {
4587
- "remarks": "The agent would dynamically load the tools",
4607
+ "remarks": "This tools would automatically\nbe loaded by the agent. You can also use this to incorporate other specialized\nagents as tools.",
4588
4608
  "stability": "experimental",
4589
- "summary": "S3 path where the tools are located."
4609
+ "summary": "List of tools defined in python files."
4590
4610
  },
4591
4611
  "immutable": true,
4592
4612
  "locationInModule": {
4593
- "filename": "use-cases/document-processing/agentic-document-processing.ts",
4594
- "line": 33
4613
+ "filename": "use-cases/framework/agents/base-agent.ts",
4614
+ "line": 42
4595
4615
  },
4596
- "name": "toolsLocation",
4616
+ "name": "tools",
4597
4617
  "optional": true,
4598
4618
  "type": {
4599
4619
  "collection": {
4600
4620
  "elementtype": {
4601
- "primitive": "string"
4621
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset"
4602
4622
  },
4603
4623
  "kind": "array"
4604
4624
  }
4605
4625
  }
4606
4626
  }
4607
4627
  ],
4608
- "symbolId": "use-cases/document-processing/agentic-document-processing:AgentProps"
4628
+ "symbolId": "use-cases/framework/agents/base-agent:AgentDefinitionProps"
4629
+ },
4630
+ "@cdklabs/cdk-appmod-catalog-blueprints.AgentToolsLocationDefinition": {
4631
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
4632
+ "datatype": true,
4633
+ "docs": {
4634
+ "stability": "experimental"
4635
+ },
4636
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AgentToolsLocationDefinition",
4637
+ "kind": "interface",
4638
+ "locationInModule": {
4639
+ "filename": "use-cases/framework/agents/base-agent.ts",
4640
+ "line": 15
4641
+ },
4642
+ "name": "AgentToolsLocationDefinition",
4643
+ "properties": [
4644
+ {
4645
+ "abstract": true,
4646
+ "docs": {
4647
+ "stability": "experimental"
4648
+ },
4649
+ "immutable": true,
4650
+ "locationInModule": {
4651
+ "filename": "use-cases/framework/agents/base-agent.ts",
4652
+ "line": 16
4653
+ },
4654
+ "name": "bucketName",
4655
+ "type": {
4656
+ "primitive": "string"
4657
+ }
4658
+ },
4659
+ {
4660
+ "abstract": true,
4661
+ "docs": {
4662
+ "stability": "experimental"
4663
+ },
4664
+ "immutable": true,
4665
+ "locationInModule": {
4666
+ "filename": "use-cases/framework/agents/base-agent.ts",
4667
+ "line": 18
4668
+ },
4669
+ "name": "isFile",
4670
+ "type": {
4671
+ "primitive": "boolean"
4672
+ }
4673
+ },
4674
+ {
4675
+ "abstract": true,
4676
+ "docs": {
4677
+ "stability": "experimental"
4678
+ },
4679
+ "immutable": true,
4680
+ "locationInModule": {
4681
+ "filename": "use-cases/framework/agents/base-agent.ts",
4682
+ "line": 19
4683
+ },
4684
+ "name": "isZipArchive",
4685
+ "type": {
4686
+ "primitive": "boolean"
4687
+ }
4688
+ },
4689
+ {
4690
+ "abstract": true,
4691
+ "docs": {
4692
+ "stability": "experimental"
4693
+ },
4694
+ "immutable": true,
4695
+ "locationInModule": {
4696
+ "filename": "use-cases/framework/agents/base-agent.ts",
4697
+ "line": 17
4698
+ },
4699
+ "name": "key",
4700
+ "type": {
4701
+ "primitive": "string"
4702
+ }
4703
+ }
4704
+ ],
4705
+ "symbolId": "use-cases/framework/agents/base-agent:AgentToolsLocationDefinition"
4609
4706
  },
4610
4707
  "@cdklabs/cdk-appmod-catalog-blueprints.AgenticDocumentProcessing": {
4611
4708
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -4620,7 +4717,7 @@
4620
4717
  },
4621
4718
  "locationInModule": {
4622
4719
  "filename": "use-cases/document-processing/agentic-document-processing.ts",
4623
- "line": 48
4720
+ "line": 17
4624
4721
  },
4625
4722
  "parameters": [
4626
4723
  {
@@ -4649,7 +4746,7 @@
4649
4746
  "kind": "class",
4650
4747
  "locationInModule": {
4651
4748
  "filename": "use-cases/document-processing/agentic-document-processing.ts",
4652
- "line": 47
4749
+ "line": 16
4653
4750
  },
4654
4751
  "methods": [
4655
4752
  {
@@ -4660,7 +4757,7 @@
4660
4757
  },
4661
4758
  "locationInModule": {
4662
4759
  "filename": "use-cases/document-processing/agentic-document-processing.ts",
4663
- "line": 52
4760
+ "line": 21
4664
4761
  },
4665
4762
  "name": "processingStep",
4666
4763
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockDocumentProcessing",
@@ -4700,29 +4797,294 @@
4700
4797
  "kind": "interface",
4701
4798
  "locationInModule": {
4702
4799
  "filename": "use-cases/document-processing/agentic-document-processing.ts",
4703
- "line": 43
4800
+ "line": 8
4704
4801
  },
4705
4802
  "name": "AgenticDocumentProcessingProps",
4706
4803
  "properties": [
4707
4804
  {
4708
4805
  "abstract": true,
4709
4806
  "docs": {
4710
- "stability": "experimental"
4807
+ "stability": "experimental",
4808
+ "summary": "This parameter takes precedence over the `processingBedrockModel` parameter."
4711
4809
  },
4712
4810
  "immutable": true,
4713
4811
  "locationInModule": {
4714
4812
  "filename": "use-cases/document-processing/agentic-document-processing.ts",
4715
- "line": 44
4813
+ "line": 13
4716
4814
  },
4717
4815
  "name": "processingAgentParameters",
4718
- "optional": true,
4719
4816
  "type": {
4720
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AgentProps"
4817
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps"
4721
4818
  }
4722
4819
  }
4723
4820
  ],
4724
4821
  "symbolId": "use-cases/document-processing/agentic-document-processing:AgenticDocumentProcessingProps"
4725
4822
  },
4823
+ "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent": {
4824
+ "abstract": true,
4825
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
4826
+ "base": "constructs.Construct",
4827
+ "docs": {
4828
+ "stability": "experimental"
4829
+ },
4830
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
4831
+ "initializer": {
4832
+ "docs": {
4833
+ "stability": "experimental"
4834
+ },
4835
+ "locationInModule": {
4836
+ "filename": "use-cases/framework/agents/base-agent.ts",
4837
+ "line": 107
4838
+ },
4839
+ "parameters": [
4840
+ {
4841
+ "name": "scope",
4842
+ "type": {
4843
+ "fqn": "constructs.Construct"
4844
+ }
4845
+ },
4846
+ {
4847
+ "name": "id",
4848
+ "type": {
4849
+ "primitive": "string"
4850
+ }
4851
+ },
4852
+ {
4853
+ "name": "props",
4854
+ "type": {
4855
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgentProps"
4856
+ }
4857
+ }
4858
+ ]
4859
+ },
4860
+ "kind": "class",
4861
+ "locationInModule": {
4862
+ "filename": "use-cases/framework/agents/base-agent.ts",
4863
+ "line": 98
4864
+ },
4865
+ "name": "BaseAgent",
4866
+ "properties": [
4867
+ {
4868
+ "abstract": true,
4869
+ "docs": {
4870
+ "stability": "experimental"
4871
+ },
4872
+ "immutable": true,
4873
+ "locationInModule": {
4874
+ "filename": "use-cases/framework/agents/base-agent.ts",
4875
+ "line": 99
4876
+ },
4877
+ "name": "agentFunction",
4878
+ "type": {
4879
+ "fqn": "@aws-cdk/aws-lambda-python-alpha.PythonFunction"
4880
+ }
4881
+ },
4882
+ {
4883
+ "docs": {
4884
+ "stability": "experimental"
4885
+ },
4886
+ "immutable": true,
4887
+ "locationInModule": {
4888
+ "filename": "use-cases/framework/agents/base-agent.ts",
4889
+ "line": 101
4890
+ },
4891
+ "name": "agentRole",
4892
+ "type": {
4893
+ "fqn": "aws-cdk-lib.aws_iam.Role"
4894
+ }
4895
+ },
4896
+ {
4897
+ "docs": {
4898
+ "stability": "experimental"
4899
+ },
4900
+ "immutable": true,
4901
+ "locationInModule": {
4902
+ "filename": "use-cases/framework/agents/base-agent.ts",
4903
+ "line": 105
4904
+ },
4905
+ "name": "agentToolsLocationDefinitions",
4906
+ "protected": true,
4907
+ "type": {
4908
+ "collection": {
4909
+ "elementtype": {
4910
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AgentToolsLocationDefinition"
4911
+ },
4912
+ "kind": "array"
4913
+ }
4914
+ }
4915
+ },
4916
+ {
4917
+ "docs": {
4918
+ "stability": "experimental"
4919
+ },
4920
+ "immutable": true,
4921
+ "locationInModule": {
4922
+ "filename": "use-cases/framework/agents/base-agent.ts",
4923
+ "line": 102
4924
+ },
4925
+ "name": "encryptionKey",
4926
+ "type": {
4927
+ "fqn": "aws-cdk-lib.aws_kms.Key"
4928
+ }
4929
+ },
4930
+ {
4931
+ "docs": {
4932
+ "stability": "experimental",
4933
+ "summary": "log group data protection configuration."
4934
+ },
4935
+ "immutable": true,
4936
+ "locationInModule": {
4937
+ "filename": "use-cases/framework/agents/base-agent.ts",
4938
+ "line": 104
4939
+ },
4940
+ "name": "logGroupDataProtection",
4941
+ "protected": true,
4942
+ "type": {
4943
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.LogGroupDataProtectionProps"
4944
+ }
4945
+ },
4946
+ {
4947
+ "docs": {
4948
+ "stability": "experimental"
4949
+ },
4950
+ "immutable": true,
4951
+ "locationInModule": {
4952
+ "filename": "use-cases/framework/agents/base-agent.ts",
4953
+ "line": 100
4954
+ },
4955
+ "name": "bedrockModel",
4956
+ "optional": true,
4957
+ "type": {
4958
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
4959
+ }
4960
+ }
4961
+ ],
4962
+ "symbolId": "use-cases/framework/agents/base-agent:BaseAgent"
4963
+ },
4964
+ "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgentProps": {
4965
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
4966
+ "datatype": true,
4967
+ "docs": {
4968
+ "stability": "experimental"
4969
+ },
4970
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgentProps",
4971
+ "interfaces": [
4972
+ "@cdklabs/cdk-appmod-catalog-blueprints.ObservableProps"
4973
+ ],
4974
+ "kind": "interface",
4975
+ "locationInModule": {
4976
+ "filename": "use-cases/framework/agents/base-agent.ts",
4977
+ "line": 56
4978
+ },
4979
+ "name": "BaseAgentProps",
4980
+ "properties": [
4981
+ {
4982
+ "abstract": true,
4983
+ "docs": {
4984
+ "stability": "experimental",
4985
+ "summary": "Agent related parameters."
4986
+ },
4987
+ "immutable": true,
4988
+ "locationInModule": {
4989
+ "filename": "use-cases/framework/agents/base-agent.ts",
4990
+ "line": 66
4991
+ },
4992
+ "name": "agentDefinition",
4993
+ "type": {
4994
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AgentDefinitionProps"
4995
+ }
4996
+ },
4997
+ {
4998
+ "abstract": true,
4999
+ "docs": {
5000
+ "stability": "experimental",
5001
+ "summary": "Name of the agent."
5002
+ },
5003
+ "immutable": true,
5004
+ "locationInModule": {
5005
+ "filename": "use-cases/framework/agents/base-agent.ts",
5006
+ "line": 61
5007
+ },
5008
+ "name": "agentName",
5009
+ "type": {
5010
+ "primitive": "string"
5011
+ }
5012
+ },
5013
+ {
5014
+ "abstract": true,
5015
+ "docs": {
5016
+ "default": "false",
5017
+ "stability": "experimental",
5018
+ "summary": "Enable observability."
5019
+ },
5020
+ "immutable": true,
5021
+ "locationInModule": {
5022
+ "filename": "use-cases/framework/agents/base-agent.ts",
5023
+ "line": 73
5024
+ },
5025
+ "name": "enableObservability",
5026
+ "optional": true,
5027
+ "type": {
5028
+ "primitive": "boolean"
5029
+ }
5030
+ },
5031
+ {
5032
+ "abstract": true,
5033
+ "docs": {
5034
+ "default": "new KMS Key would be created",
5035
+ "stability": "experimental",
5036
+ "summary": "Encryption key to encrypt agent environment variables."
5037
+ },
5038
+ "immutable": true,
5039
+ "locationInModule": {
5040
+ "filename": "use-cases/framework/agents/base-agent.ts",
5041
+ "line": 87
5042
+ },
5043
+ "name": "encryptionKey",
5044
+ "optional": true,
5045
+ "type": {
5046
+ "fqn": "aws-cdk-lib.aws_kms.Key"
5047
+ }
5048
+ },
5049
+ {
5050
+ "abstract": true,
5051
+ "docs": {
5052
+ "default": "Agent would not be in a VPC",
5053
+ "stability": "experimental",
5054
+ "summary": "If the Agent would be running inside a VPC."
5055
+ },
5056
+ "immutable": true,
5057
+ "locationInModule": {
5058
+ "filename": "use-cases/framework/agents/base-agent.ts",
5059
+ "line": 80
5060
+ },
5061
+ "name": "network",
5062
+ "optional": true,
5063
+ "type": {
5064
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.Network"
5065
+ }
5066
+ },
5067
+ {
5068
+ "abstract": true,
5069
+ "docs": {
5070
+ "default": "RemovalPolicy.DESTROY",
5071
+ "stability": "experimental",
5072
+ "summary": "Removal policy for resources created by this construct."
5073
+ },
5074
+ "immutable": true,
5075
+ "locationInModule": {
5076
+ "filename": "use-cases/framework/agents/base-agent.ts",
5077
+ "line": 95
5078
+ },
5079
+ "name": "removalPolicy",
5080
+ "optional": true,
5081
+ "type": {
5082
+ "fqn": "aws-cdk-lib.RemovalPolicy"
5083
+ }
5084
+ }
5085
+ ],
5086
+ "symbolId": "use-cases/framework/agents/base-agent:BaseAgentProps"
5087
+ },
4726
5088
  "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing": {
4727
5089
  "abstract": true,
4728
5090
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -4793,7 +5155,7 @@
4793
5155
  },
4794
5156
  "locationInModule": {
4795
5157
  "filename": "use-cases/document-processing/base-document-processing.ts",
4796
- "line": 475
5158
+ "line": 458
4797
5159
  },
4798
5160
  "name": "classificationStep",
4799
5161
  "protected": true,
@@ -4825,7 +5187,7 @@
4825
5187
  },
4826
5188
  "locationInModule": {
4827
5189
  "filename": "use-cases/document-processing/base-document-processing.ts",
4828
- "line": 495
5190
+ "line": 478
4829
5191
  },
4830
5192
  "name": "enrichmentStep",
4831
5193
  "protected": true,
@@ -4854,7 +5216,7 @@
4854
5216
  },
4855
5217
  "locationInModule": {
4856
5218
  "filename": "use-cases/document-processing/base-document-processing.ts",
4857
- "line": 196
5219
+ "line": 179
4858
5220
  },
4859
5221
  "name": "handleStateMachineCreation",
4860
5222
  "parameters": [
@@ -4878,7 +5240,7 @@
4878
5240
  },
4879
5241
  "locationInModule": {
4880
5242
  "filename": "use-cases/document-processing/base-document-processing.ts",
4881
- "line": 463
5243
+ "line": 446
4882
5244
  },
4883
5245
  "name": "metrics",
4884
5246
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IObservable",
@@ -4903,7 +5265,7 @@
4903
5265
  },
4904
5266
  "locationInModule": {
4905
5267
  "filename": "use-cases/document-processing/base-document-processing.ts",
4906
- "line": 505
5268
+ "line": 488
4907
5269
  },
4908
5270
  "name": "postProcessingStep",
4909
5271
  "protected": true,
@@ -4936,7 +5298,7 @@
4936
5298
  },
4937
5299
  "locationInModule": {
4938
5300
  "filename": "use-cases/document-processing/base-document-processing.ts",
4939
- "line": 485
5301
+ "line": 468
4940
5302
  },
4941
5303
  "name": "processingStep",
4942
5304
  "protected": true,
@@ -5223,6 +5585,118 @@
5223
5585
  ],
5224
5586
  "symbolId": "use-cases/document-processing/base-document-processing:BaseDocumentProcessingProps"
5225
5587
  },
5588
+ "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgent": {
5589
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
5590
+ "base": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
5591
+ "docs": {
5592
+ "stability": "experimental"
5593
+ },
5594
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgent",
5595
+ "initializer": {
5596
+ "docs": {
5597
+ "stability": "experimental"
5598
+ },
5599
+ "locationInModule": {
5600
+ "filename": "use-cases/framework/agents/batch-agent.ts",
5601
+ "line": 23
5602
+ },
5603
+ "parameters": [
5604
+ {
5605
+ "name": "scope",
5606
+ "type": {
5607
+ "fqn": "constructs.Construct"
5608
+ }
5609
+ },
5610
+ {
5611
+ "name": "id",
5612
+ "type": {
5613
+ "primitive": "string"
5614
+ }
5615
+ },
5616
+ {
5617
+ "name": "props",
5618
+ "type": {
5619
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps"
5620
+ }
5621
+ }
5622
+ ]
5623
+ },
5624
+ "kind": "class",
5625
+ "locationInModule": {
5626
+ "filename": "use-cases/framework/agents/batch-agent.ts",
5627
+ "line": 20
5628
+ },
5629
+ "name": "BatchAgent",
5630
+ "properties": [
5631
+ {
5632
+ "docs": {
5633
+ "stability": "experimental"
5634
+ },
5635
+ "immutable": true,
5636
+ "locationInModule": {
5637
+ "filename": "use-cases/framework/agents/batch-agent.ts",
5638
+ "line": 21
5639
+ },
5640
+ "name": "agentFunction",
5641
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
5642
+ "type": {
5643
+ "fqn": "@aws-cdk/aws-lambda-python-alpha.PythonFunction"
5644
+ }
5645
+ }
5646
+ ],
5647
+ "symbolId": "use-cases/framework/agents/batch-agent:BatchAgent"
5648
+ },
5649
+ "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps": {
5650
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
5651
+ "datatype": true,
5652
+ "docs": {
5653
+ "stability": "experimental"
5654
+ },
5655
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps",
5656
+ "interfaces": [
5657
+ "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgentProps"
5658
+ ],
5659
+ "kind": "interface",
5660
+ "locationInModule": {
5661
+ "filename": "use-cases/framework/agents/batch-agent.ts",
5662
+ "line": 15
5663
+ },
5664
+ "name": "BatchAgentProps",
5665
+ "properties": [
5666
+ {
5667
+ "abstract": true,
5668
+ "docs": {
5669
+ "stability": "experimental"
5670
+ },
5671
+ "immutable": true,
5672
+ "locationInModule": {
5673
+ "filename": "use-cases/framework/agents/batch-agent.ts",
5674
+ "line": 16
5675
+ },
5676
+ "name": "prompt",
5677
+ "type": {
5678
+ "primitive": "string"
5679
+ }
5680
+ },
5681
+ {
5682
+ "abstract": true,
5683
+ "docs": {
5684
+ "stability": "experimental"
5685
+ },
5686
+ "immutable": true,
5687
+ "locationInModule": {
5688
+ "filename": "use-cases/framework/agents/batch-agent.ts",
5689
+ "line": 17
5690
+ },
5691
+ "name": "expectJson",
5692
+ "optional": true,
5693
+ "type": {
5694
+ "primitive": "boolean"
5695
+ }
5696
+ }
5697
+ ],
5698
+ "symbolId": "use-cases/framework/agents/batch-agent:BatchAgentProps"
5699
+ },
5226
5700
  "@cdklabs/cdk-appmod-catalog-blueprints.BedrockCrossRegionInferencePrefix": {
5227
5701
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
5228
5702
  "docs": {
@@ -5233,8 +5707,8 @@
5233
5707
  "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockCrossRegionInferencePrefix",
5234
5708
  "kind": "enum",
5235
5709
  "locationInModule": {
5236
- "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5237
- "line": 79
5710
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
5711
+ "line": 13
5238
5712
  },
5239
5713
  "members": [
5240
5714
  {
@@ -5253,7 +5727,7 @@
5253
5727
  }
5254
5728
  ],
5255
5729
  "name": "BedrockCrossRegionInferencePrefix",
5256
- "symbolId": "use-cases/document-processing/bedrock-document-processing:BedrockCrossRegionInferencePrefix"
5730
+ "symbolId": "use-cases/framework/bedrock/bedrock:BedrockCrossRegionInferencePrefix"
5257
5731
  },
5258
5732
  "@cdklabs/cdk-appmod-catalog-blueprints.BedrockDocumentProcessing": {
5259
5733
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -5272,7 +5746,7 @@
5272
5746
  },
5273
5747
  "locationInModule": {
5274
5748
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5275
- "line": 171
5749
+ "line": 140
5276
5750
  },
5277
5751
  "parameters": [
5278
5752
  {
@@ -5308,7 +5782,7 @@
5308
5782
  "kind": "class",
5309
5783
  "locationInModule": {
5310
5784
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5311
- "line": 116
5785
+ "line": 92
5312
5786
  },
5313
5787
  "methods": [
5314
5788
  {
@@ -5320,7 +5794,7 @@
5320
5794
  },
5321
5795
  "locationInModule": {
5322
5796
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5323
- "line": 192
5797
+ "line": 160
5324
5798
  },
5325
5799
  "name": "classificationStep",
5326
5800
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
@@ -5352,7 +5826,7 @@
5352
5826
  },
5353
5827
  "locationInModule": {
5354
5828
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5355
- "line": 346
5829
+ "line": 301
5356
5830
  },
5357
5831
  "name": "enrichmentStep",
5358
5832
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
@@ -5382,20 +5856,21 @@
5382
5856
  },
5383
5857
  "locationInModule": {
5384
5858
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5385
- "line": 312
5859
+ "line": 278
5386
5860
  },
5387
5861
  "name": "generateLambdaRoleForBedrock",
5388
5862
  "parameters": [
5389
5863
  {
5390
- "name": "fmModel",
5864
+ "name": "id",
5391
5865
  "type": {
5392
- "fqn": "aws-cdk-lib.aws_bedrock.FoundationModelIdentifier"
5866
+ "primitive": "string"
5393
5867
  }
5394
5868
  },
5395
5869
  {
5396
- "name": "id",
5870
+ "name": "model",
5871
+ "optional": true,
5397
5872
  "type": {
5398
- "primitive": "string"
5873
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
5399
5874
  }
5400
5875
  }
5401
5876
  ],
@@ -5415,7 +5890,7 @@
5415
5890
  },
5416
5891
  "locationInModule": {
5417
5892
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5418
- "line": 366
5893
+ "line": 321
5419
5894
  },
5420
5895
  "name": "postProcessingStep",
5421
5896
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
@@ -5448,7 +5923,7 @@
5448
5923
  },
5449
5924
  "locationInModule": {
5450
5925
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5451
- "line": 257
5926
+ "line": 224
5452
5927
  },
5453
5928
  "name": "processingStep",
5454
5929
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
@@ -5465,49 +5940,15 @@
5465
5940
  },
5466
5941
  {
5467
5942
  "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.StepFunctionsStartExecution"
5468
- }
5469
- ]
5470
- }
5471
- }
5472
- }
5473
- }
5474
- ],
5475
- "name": "BedrockDocumentProcessing",
5476
- "properties": [
5477
- {
5478
- "const": true,
5479
- "docs": {
5480
- "stability": "experimental"
5481
- },
5482
- "immutable": true,
5483
- "locationInModule": {
5484
- "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5485
- "line": 118
5486
- },
5487
- "name": "DEFAULT_CLASSIFICATION_MODEL_ID",
5488
- "protected": true,
5489
- "static": true,
5490
- "type": {
5491
- "fqn": "aws-cdk-lib.aws_bedrock.FoundationModelIdentifier"
5492
- }
5493
- },
5494
- {
5495
- "const": true,
5496
- "docs": {
5497
- "stability": "experimental"
5498
- },
5499
- "immutable": true,
5500
- "locationInModule": {
5501
- "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5502
- "line": 122
5503
- },
5504
- "name": "DEFAULT_CLASSIFICATION_PROMPT",
5505
- "protected": true,
5506
- "static": true,
5507
- "type": {
5508
- "primitive": "string"
5943
+ }
5944
+ ]
5945
+ }
5946
+ }
5509
5947
  }
5510
- },
5948
+ }
5949
+ ],
5950
+ "name": "BedrockDocumentProcessing",
5951
+ "properties": [
5511
5952
  {
5512
5953
  "const": true,
5513
5954
  "docs": {
@@ -5516,13 +5957,13 @@
5516
5957
  "immutable": true,
5517
5958
  "locationInModule": {
5518
5959
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5519
- "line": 120
5960
+ "line": 93
5520
5961
  },
5521
- "name": "DEFAULT_PROCESSING_MODEL_ID",
5962
+ "name": "DEFAULT_CLASSIFICATION_PROMPT",
5522
5963
  "protected": true,
5523
5964
  "static": true,
5524
5965
  "type": {
5525
- "fqn": "aws-cdk-lib.aws_bedrock.FoundationModelIdentifier"
5966
+ "primitive": "string"
5526
5967
  }
5527
5968
  },
5528
5969
  {
@@ -5533,7 +5974,7 @@
5533
5974
  "immutable": true,
5534
5975
  "locationInModule": {
5535
5976
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5536
- "line": 133
5977
+ "line": 104
5537
5978
  },
5538
5979
  "name": "DEFAULT_PROCESSING_PROMPT",
5539
5980
  "protected": true,
@@ -5550,7 +5991,7 @@
5550
5991
  "immutable": true,
5551
5992
  "locationInModule": {
5552
5993
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5553
- "line": 154
5994
+ "line": 125
5554
5995
  },
5555
5996
  "name": "bedrockDocumentProcessingProps",
5556
5997
  "protected": true,
@@ -5558,22 +5999,6 @@
5558
5999
  "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockDocumentProcessingProps"
5559
6000
  }
5560
6001
  },
5561
- {
5562
- "docs": {
5563
- "stability": "experimental",
5564
- "summary": "Cross-region inference prefix for Bedrock model routing."
5565
- },
5566
- "immutable": true,
5567
- "locationInModule": {
5568
- "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5569
- "line": 156
5570
- },
5571
- "name": "crossRegionInferencePrefix",
5572
- "protected": true,
5573
- "type": {
5574
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockCrossRegionInferencePrefix"
5575
- }
5576
- },
5577
6002
  {
5578
6003
  "docs": {
5579
6004
  "stability": "experimental",
@@ -5582,7 +6007,7 @@
5582
6007
  "immutable": true,
5583
6008
  "locationInModule": {
5584
6009
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5585
- "line": 158
6010
+ "line": 127
5586
6011
  },
5587
6012
  "name": "stateMachine",
5588
6013
  "type": {
@@ -5614,19 +6039,18 @@
5614
6039
  {
5615
6040
  "abstract": true,
5616
6041
  "docs": {
5617
- "default": "FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0",
5618
6042
  "stability": "experimental",
5619
6043
  "summary": "Bedrock foundation model for document classification step."
5620
6044
  },
5621
6045
  "immutable": true,
5622
6046
  "locationInModule": {
5623
6047
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5624
- "line": 28
6048
+ "line": 27
5625
6049
  },
5626
- "name": "classificationModelId",
6050
+ "name": "classificationBedrockModel",
5627
6051
  "optional": true,
5628
6052
  "type": {
5629
- "fqn": "aws-cdk-lib.aws_bedrock.FoundationModelIdentifier"
6053
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
5630
6054
  }
5631
6055
  },
5632
6056
  {
@@ -5640,7 +6064,7 @@
5640
6064
  "immutable": true,
5641
6065
  "locationInModule": {
5642
6066
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5643
- "line": 39
6067
+ "line": 38
5644
6068
  },
5645
6069
  "name": "classificationPrompt",
5646
6070
  "optional": true,
@@ -5648,25 +6072,6 @@
5648
6072
  "primitive": "string"
5649
6073
  }
5650
6074
  },
5651
- {
5652
- "abstract": true,
5653
- "docs": {
5654
- "default": "BedrockCrossRegionInferencePrefix.US",
5655
- "remarks": "Only used when useCrossRegionInference is true.",
5656
- "stability": "experimental",
5657
- "summary": "Prefix for cross-region inference configuration."
5658
- },
5659
- "immutable": true,
5660
- "locationInModule": {
5661
- "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5662
- "line": 72
5663
- },
5664
- "name": "crossRegionInferencePrefix",
5665
- "optional": true,
5666
- "type": {
5667
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockCrossRegionInferencePrefix"
5668
- }
5669
- },
5670
6075
  {
5671
6076
  "abstract": true,
5672
6077
  "docs": {
@@ -5677,7 +6082,7 @@
5677
6082
  "immutable": true,
5678
6083
  "locationInModule": {
5679
6084
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5680
- "line": 50
6085
+ "line": 49
5681
6086
  },
5682
6087
  "name": "enrichmentLambdaFunction",
5683
6088
  "optional": true,
@@ -5695,7 +6100,7 @@
5695
6100
  "immutable": true,
5696
6101
  "locationInModule": {
5697
6102
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5698
- "line": 55
6103
+ "line": 54
5699
6104
  },
5700
6105
  "name": "postProcessingLambdaFunction",
5701
6106
  "optional": true,
@@ -5706,19 +6111,18 @@
5706
6111
  {
5707
6112
  "abstract": true,
5708
6113
  "docs": {
5709
- "default": "FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0",
5710
6114
  "stability": "experimental",
5711
6115
  "summary": "Bedrock foundation model for document extraction step."
5712
6116
  },
5713
6117
  "immutable": true,
5714
6118
  "locationInModule": {
5715
6119
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5716
- "line": 33
6120
+ "line": 32
5717
6121
  },
5718
- "name": "processingModelId",
6122
+ "name": "processingBedrockModel",
5719
6123
  "optional": true,
5720
6124
  "type": {
5721
- "fqn": "aws-cdk-lib.aws_bedrock.FoundationModelIdentifier"
6125
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
5722
6126
  }
5723
6127
  },
5724
6128
  {
@@ -5732,7 +6136,7 @@
5732
6136
  "immutable": true,
5733
6137
  "locationInModule": {
5734
6138
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5735
- "line": 45
6139
+ "line": 44
5736
6140
  },
5737
6141
  "name": "processingPrompt",
5738
6142
  "optional": true,
@@ -5750,13 +6154,67 @@
5750
6154
  "immutable": true,
5751
6155
  "locationInModule": {
5752
6156
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5753
- "line": 60
6157
+ "line": 59
5754
6158
  },
5755
6159
  "name": "stepTimeouts",
5756
6160
  "optional": true,
5757
6161
  "type": {
5758
6162
  "fqn": "aws-cdk-lib.Duration"
5759
6163
  }
6164
+ }
6165
+ ],
6166
+ "symbolId": "use-cases/document-processing/bedrock-document-processing:BedrockDocumentProcessingProps"
6167
+ },
6168
+ "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps": {
6169
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6170
+ "datatype": true,
6171
+ "docs": {
6172
+ "stability": "experimental"
6173
+ },
6174
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps",
6175
+ "kind": "interface",
6176
+ "locationInModule": {
6177
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6178
+ "line": 20
6179
+ },
6180
+ "name": "BedrockModelProps",
6181
+ "properties": [
6182
+ {
6183
+ "abstract": true,
6184
+ "docs": {
6185
+ "default": "BedrockCrossRegionInferencePrefix.US",
6186
+ "remarks": "Only used when useCrossRegionInference is true.",
6187
+ "stability": "experimental",
6188
+ "summary": "Prefix for cross-region inference configuration."
6189
+ },
6190
+ "immutable": true,
6191
+ "locationInModule": {
6192
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6193
+ "line": 39
6194
+ },
6195
+ "name": "crossRegionInferencePrefix",
6196
+ "optional": true,
6197
+ "type": {
6198
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockCrossRegionInferencePrefix"
6199
+ }
6200
+ },
6201
+ {
6202
+ "abstract": true,
6203
+ "docs": {
6204
+ "default": "FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0",
6205
+ "stability": "experimental",
6206
+ "summary": "Foundation model to use."
6207
+ },
6208
+ "immutable": true,
6209
+ "locationInModule": {
6210
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6211
+ "line": 26
6212
+ },
6213
+ "name": "fmModelId",
6214
+ "optional": true,
6215
+ "type": {
6216
+ "fqn": "aws-cdk-lib.aws_bedrock.FoundationModelIdentifier"
6217
+ }
5760
6218
  },
5761
6219
  {
5762
6220
  "abstract": true,
@@ -5768,8 +6226,8 @@
5768
6226
  },
5769
6227
  "immutable": true,
5770
6228
  "locationInModule": {
5771
- "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5772
- "line": 66
6229
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6230
+ "line": 33
5773
6231
  },
5774
6232
  "name": "useCrossRegionInference",
5775
6233
  "optional": true,
@@ -5778,7 +6236,84 @@
5778
6236
  }
5779
6237
  }
5780
6238
  ],
5781
- "symbolId": "use-cases/document-processing/bedrock-document-processing:BedrockDocumentProcessingProps"
6239
+ "symbolId": "use-cases/framework/bedrock/bedrock:BedrockModelProps"
6240
+ },
6241
+ "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils": {
6242
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6243
+ "docs": {
6244
+ "stability": "experimental"
6245
+ },
6246
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils",
6247
+ "initializer": {
6248
+ "docs": {
6249
+ "stability": "experimental"
6250
+ }
6251
+ },
6252
+ "kind": "class",
6253
+ "locationInModule": {
6254
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6255
+ "line": 42
6256
+ },
6257
+ "methods": [
6258
+ {
6259
+ "docs": {
6260
+ "stability": "experimental"
6261
+ },
6262
+ "locationInModule": {
6263
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6264
+ "line": 43
6265
+ },
6266
+ "name": "deriveActualModelId",
6267
+ "parameters": [
6268
+ {
6269
+ "name": "props",
6270
+ "optional": true,
6271
+ "type": {
6272
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
6273
+ }
6274
+ }
6275
+ ],
6276
+ "returns": {
6277
+ "type": {
6278
+ "primitive": "string"
6279
+ }
6280
+ },
6281
+ "static": true
6282
+ },
6283
+ {
6284
+ "docs": {
6285
+ "stability": "experimental"
6286
+ },
6287
+ "locationInModule": {
6288
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6289
+ "line": 48
6290
+ },
6291
+ "name": "generateModelIAMPermissions",
6292
+ "parameters": [
6293
+ {
6294
+ "name": "scope",
6295
+ "type": {
6296
+ "fqn": "constructs.Construct"
6297
+ }
6298
+ },
6299
+ {
6300
+ "name": "props",
6301
+ "optional": true,
6302
+ "type": {
6303
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
6304
+ }
6305
+ }
6306
+ ],
6307
+ "returns": {
6308
+ "type": {
6309
+ "fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
6310
+ }
6311
+ },
6312
+ "static": true
6313
+ }
6314
+ ],
6315
+ "name": "BedrockModelUtils",
6316
+ "symbolId": "use-cases/framework/bedrock/bedrock:BedrockModelUtils"
5782
6317
  },
5783
6318
  "@cdklabs/cdk-appmod-catalog-blueprints.CloudfrontDistributionObservabilityPropertyInjector": {
5784
6319
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -6353,6 +6888,43 @@
6353
6888
  "name": "DatabaseEngine",
6354
6889
  "symbolId": "use-cases/utilities/data-loader:DatabaseEngine"
6355
6890
  },
6891
+ "@cdklabs/cdk-appmod-catalog-blueprints.DefaultAgentConfig": {
6892
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6893
+ "docs": {
6894
+ "stability": "experimental"
6895
+ },
6896
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.DefaultAgentConfig",
6897
+ "initializer": {
6898
+ "docs": {
6899
+ "stability": "experimental"
6900
+ }
6901
+ },
6902
+ "kind": "class",
6903
+ "locationInModule": {
6904
+ "filename": "use-cases/framework/agents/default-agent-config.ts",
6905
+ "line": 1
6906
+ },
6907
+ "name": "DefaultAgentConfig",
6908
+ "properties": [
6909
+ {
6910
+ "const": true,
6911
+ "docs": {
6912
+ "stability": "experimental"
6913
+ },
6914
+ "immutable": true,
6915
+ "locationInModule": {
6916
+ "filename": "use-cases/framework/agents/default-agent-config.ts",
6917
+ "line": 2
6918
+ },
6919
+ "name": "DEFAULT_OBSERVABILITY_METRIC_SVC_NAME",
6920
+ "static": true,
6921
+ "type": {
6922
+ "primitive": "string"
6923
+ }
6924
+ }
6925
+ ],
6926
+ "symbolId": "use-cases/framework/agents/default-agent-config:DefaultAgentConfig"
6927
+ },
6356
6928
  "@cdklabs/cdk-appmod-catalog-blueprints.DefaultDocumentProcessingConfig": {
6357
6929
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6358
6930
  "docs": {
@@ -7512,7 +8084,7 @@
7512
8084
  },
7513
8085
  "locationInModule": {
7514
8086
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7515
- "line": 203
8087
+ "line": 204
7516
8088
  },
7517
8089
  "name": "createDynamoDbPolicyStatement",
7518
8090
  "parameters": [
@@ -7556,7 +8128,7 @@
7556
8128
  },
7557
8129
  "locationInModule": {
7558
8130
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7559
- "line": 318
8131
+ "line": 319
7560
8132
  },
7561
8133
  "name": "createKmsPolicyStatement",
7562
8134
  "parameters": [
@@ -7629,7 +8201,7 @@
7629
8201
  },
7630
8202
  "locationInModule": {
7631
8203
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7632
- "line": 222
8204
+ "line": 223
7633
8205
  },
7634
8206
  "name": "createS3PolicyStatement",
7635
8207
  "parameters": [
@@ -7683,7 +8255,7 @@
7683
8255
  },
7684
8256
  "locationInModule": {
7685
8257
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7686
- "line": 300
8258
+ "line": 301
7687
8259
  },
7688
8260
  "name": "createSecretsManagerPolicyStatement",
7689
8261
  "parameters": [
@@ -7727,7 +8299,7 @@
7727
8299
  },
7728
8300
  "locationInModule": {
7729
8301
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7730
- "line": 264
8302
+ "line": 265
7731
8303
  },
7732
8304
  "name": "createSnsPolicyStatement",
7733
8305
  "parameters": [
@@ -7771,7 +8343,7 @@
7771
8343
  },
7772
8344
  "locationInModule": {
7773
8345
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7774
- "line": 246
8346
+ "line": 247
7775
8347
  },
7776
8348
  "name": "createSqsPolicyStatement",
7777
8349
  "parameters": [
@@ -7815,7 +8387,7 @@
7815
8387
  },
7816
8388
  "locationInModule": {
7817
8389
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7818
- "line": 282
8390
+ "line": 283
7819
8391
  },
7820
8392
  "name": "createStepFunctionsPolicyStatement",
7821
8393
  "parameters": [
@@ -7859,7 +8431,7 @@
7859
8431
  },
7860
8432
  "locationInModule": {
7861
8433
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7862
- "line": 148
8434
+ "line": 149
7863
8435
  },
7864
8436
  "name": "createVpcPermissions",
7865
8437
  "returns": {
@@ -7882,7 +8454,7 @@
7882
8454
  },
7883
8455
  "locationInModule": {
7884
8456
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7885
- "line": 169
8457
+ "line": 170
7886
8458
  },
7887
8459
  "name": "createXRayPermissions",
7888
8460
  "returns": {
@@ -7903,7 +8475,7 @@
7903
8475
  },
7904
8476
  "locationInModule": {
7905
8477
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7906
- "line": 114
8478
+ "line": 115
7907
8479
  },
7908
8480
  "name": "generateLambdaVPCPermissions",
7909
8481
  "returns": {
@@ -7921,7 +8493,7 @@
7921
8493
  },
7922
8494
  "locationInModule": {
7923
8495
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7924
- "line": 139
8496
+ "line": 140
7925
8497
  },
7926
8498
  "name": "generateUniqueFunctionName",
7927
8499
  "parameters": [
@@ -7959,7 +8531,7 @@
7959
8531
  },
7960
8532
  "locationInModule": {
7961
8533
  "filename": "use-cases/utilities/lambda-iam-utils.ts",
7962
- "line": 188
8534
+ "line": 189
7963
8535
  },
7964
8536
  "name": "getStackInfo",
7965
8537
  "parameters": [
@@ -8382,6 +8954,65 @@
8382
8954
  ],
8383
8955
  "symbolId": "use-cases/utilities/observability/log-group-data-protection-props:LogGroupDataProtectionProps"
8384
8956
  },
8957
+ "@cdklabs/cdk-appmod-catalog-blueprints.LogGroupDataProtectionUtils": {
8958
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
8959
+ "docs": {
8960
+ "stability": "experimental"
8961
+ },
8962
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.LogGroupDataProtectionUtils",
8963
+ "initializer": {
8964
+ "docs": {
8965
+ "stability": "experimental"
8966
+ }
8967
+ },
8968
+ "kind": "class",
8969
+ "locationInModule": {
8970
+ "filename": "use-cases/utilities/observability/log-group-data-protection-utils.ts",
8971
+ "line": 9
8972
+ },
8973
+ "methods": [
8974
+ {
8975
+ "docs": {
8976
+ "stability": "experimental"
8977
+ },
8978
+ "locationInModule": {
8979
+ "filename": "use-cases/utilities/observability/log-group-data-protection-utils.ts",
8980
+ "line": 10
8981
+ },
8982
+ "name": "handleDefault",
8983
+ "parameters": [
8984
+ {
8985
+ "name": "scope",
8986
+ "type": {
8987
+ "fqn": "constructs.Construct"
8988
+ }
8989
+ },
8990
+ {
8991
+ "name": "props",
8992
+ "optional": true,
8993
+ "type": {
8994
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.LogGroupDataProtectionProps"
8995
+ }
8996
+ },
8997
+ {
8998
+ "name": "removalPolicy",
8999
+ "optional": true,
9000
+ "type": {
9001
+ "fqn": "aws-cdk-lib.RemovalPolicy"
9002
+ }
9003
+ }
9004
+ ],
9005
+ "returns": {
9006
+ "type": {
9007
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.LogGroupDataProtectionProps"
9008
+ }
9009
+ },
9010
+ "static": true
9011
+ }
9012
+ ],
9013
+ "name": "LogGroupDataProtectionUtils",
9014
+ "symbolId": "use-cases/utilities/observability/log-group-data-protection-utils:LogGroupDataProtectionUtils"
9015
+ },
8385
9016
  "@cdklabs/cdk-appmod-catalog-blueprints.Network": {
8386
9017
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
8387
9018
  "base": "constructs.Construct",
@@ -9212,6 +9843,6 @@
9212
9843
  "symbolId": "use-cases/utilities/observability/state-machine-observability-property-injector:StateMachineObservabilityPropertyInjector"
9213
9844
  }
9214
9845
  },
9215
- "version": "1.2.2",
9216
- "fingerprint": "Z9FXaCImJ9CIoCADfonetIZmcqkgDneABrbu9x7k1xg="
9846
+ "version": "1.4.0",
9847
+ "fingerprint": "WiqUzASkFJXcsP+He7bDn8joACxy4zxxAqNFv9D23r0="
9217
9848
  }