@cdklabs/cdk-appmod-catalog-blueprints 1.9.0 → 1.9.1

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 (77) hide show
  1. package/.jsii +1433 -1250
  2. package/lib/document-processing/adapter/queued-s3-adapter.js +4 -4
  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.js +5 -5
  6. package/lib/document-processing/default-document-processing-config.js +1 -1
  7. package/lib/document-processing/resources/default-strands-agent/index.py +4 -1
  8. package/lib/document-processing/tests/bedrock-document-processing.test.js +2 -2
  9. package/lib/framework/agents/base-agent.d.ts +127 -7
  10. package/lib/framework/agents/base-agent.js +170 -10
  11. package/lib/framework/agents/batch-agent.d.ts +24 -0
  12. package/lib/framework/agents/batch-agent.js +74 -5
  13. package/lib/framework/agents/default-agent-config.js +1 -1
  14. package/lib/framework/agents/index.d.ts +2 -1
  15. package/lib/framework/agents/index.js +3 -2
  16. package/lib/framework/agents/invoke-type.d.ts +38 -0
  17. package/lib/framework/agents/invoke-type.js +45 -0
  18. package/lib/framework/agents/knowledge-base/base-knowledge-base.d.ts +115 -0
  19. package/lib/framework/agents/knowledge-base/base-knowledge-base.js +107 -0
  20. package/lib/framework/agents/knowledge-base/bedrock-knowledge-base.d.ts +135 -0
  21. package/lib/framework/agents/knowledge-base/bedrock-knowledge-base.js +191 -0
  22. package/lib/framework/agents/knowledge-base/i-knowledge-base.d.ts +84 -0
  23. package/lib/framework/agents/knowledge-base/i-knowledge-base.js +5 -0
  24. package/lib/framework/agents/knowledge-base/index.d.ts +4 -0
  25. package/lib/framework/agents/knowledge-base/index.js +23 -0
  26. package/lib/framework/agents/knowledge-base/knowledge-base-props.d.ts +337 -0
  27. package/lib/framework/agents/knowledge-base/knowledge-base-props.js +5 -0
  28. package/lib/framework/agents/knowledge-base/tests/base-knowledge-base.test.js +157 -0
  29. package/lib/framework/agents/knowledge-base/tests/bedrock-knowledge-base-nag.test.js +206 -0
  30. package/lib/framework/agents/knowledge-base/tests/bedrock-knowledge-base.test.d.ts +1 -0
  31. package/lib/framework/agents/knowledge-base/tests/bedrock-knowledge-base.test.js +253 -0
  32. package/lib/framework/agents/resources/default-strands-agent/batch.py +299 -71
  33. package/lib/framework/agents/resources/default-strands-agent/requirements.txt +2 -1
  34. package/lib/framework/agents/resources/default-strands-agent/utils.py +22 -0
  35. package/lib/framework/agents/resources/knowledge-base-tool/requirements.txt +16 -0
  36. package/lib/framework/agents/resources/knowledge-base-tool/retrieve.py +447 -0
  37. package/lib/framework/agents/resources/knowledge-base-tool/test_retrieve.py +563 -0
  38. package/lib/framework/agents/tests/agent-knowledge-base-nag.test.d.ts +1 -0
  39. package/lib/framework/agents/tests/agent-knowledge-base-nag.test.js +370 -0
  40. package/lib/framework/bedrock/bedrock.js +1 -1
  41. package/lib/framework/custom-resource/default-runtimes.js +1 -1
  42. package/lib/framework/foundation/access-log.js +1 -1
  43. package/lib/framework/foundation/eventbridge-broker.js +1 -1
  44. package/lib/framework/foundation/network.js +1 -1
  45. package/lib/framework/tests/base-agent-knowledge-base.test.d.ts +1 -0
  46. package/lib/framework/tests/base-agent-knowledge-base.test.js +285 -0
  47. package/lib/framework/tests/batch-agent.test.js +233 -2
  48. package/lib/tsconfig.tsbuildinfo +1 -1
  49. package/lib/utilities/data-loader.js +1 -1
  50. package/lib/utilities/lambda-iam-utils.js +1 -1
  51. package/lib/utilities/observability/cloudfront-distribution-observability-property-injector.js +1 -1
  52. package/lib/utilities/observability/cloudwatch-transaction-search.d.ts +48 -0
  53. package/lib/utilities/observability/cloudwatch-transaction-search.js +158 -0
  54. package/lib/utilities/observability/default-observability-config.js +1 -1
  55. package/lib/utilities/observability/index.d.ts +1 -0
  56. package/lib/utilities/observability/index.js +2 -1
  57. package/lib/utilities/observability/lambda-observability-property-injector.js +1 -1
  58. package/lib/utilities/observability/log-group-data-protection-utils.js +1 -1
  59. package/lib/utilities/observability/powertools-config.js +1 -1
  60. package/lib/utilities/observability/resources/transaction-search-handler/index.py +194 -0
  61. package/lib/utilities/observability/resources/transaction-search-handler/requirements.txt +2 -0
  62. package/lib/utilities/observability/state-machine-observability-property-injector.js +1 -1
  63. package/lib/webapp/frontend-construct.js +1 -1
  64. package/package.json +4 -4
  65. package/lib/framework/agents/interactive-agent.d.ts +0 -565
  66. package/lib/framework/agents/interactive-agent.js +0 -707
  67. package/lib/framework/agents/resources/interactive-agent-handler/README.md +0 -169
  68. package/lib/framework/agents/resources/interactive-agent-handler/index.py +0 -334
  69. package/lib/framework/agents/resources/interactive-agent-handler/pytest.ini +0 -26
  70. package/lib/framework/agents/resources/interactive-agent-handler/requirements-dev.txt +0 -6
  71. package/lib/framework/agents/resources/interactive-agent-handler/requirements.txt +0 -8
  72. package/lib/framework/agents/resources/interactive-agent-handler/run.sh +0 -12
  73. package/lib/framework/agents/resources/interactive-agent-handler/test_handler.py +0 -501
  74. package/lib/framework/tests/interactive-agent-nag.test.js +0 -103
  75. package/lib/framework/tests/interactive-agent.test.js +0 -786
  76. /package/lib/framework/{tests/interactive-agent-nag.test.d.ts → agents/knowledge-base/tests/base-knowledge-base.test.d.ts} +0 -0
  77. /package/lib/framework/{tests/interactive-agent.test.d.ts → agents/knowledge-base/tests/bedrock-knowledge-base-nag.test.d.ts} +0 -0
package/.jsii CHANGED
@@ -4424,6 +4424,62 @@
4424
4424
  ],
4425
4425
  "symbolId": "use-cases/framework/foundation/access-log:AccessLogProps"
4426
4426
  },
4427
+ "@cdklabs/cdk-appmod-catalog-blueprints.AclConfiguration": {
4428
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
4429
+ "datatype": true,
4430
+ "docs": {
4431
+ "remarks": "When enabled, retrieval queries will be filtered based on user identity\ncontext, ensuring users only retrieve documents they have permission to access.",
4432
+ "stability": "experimental",
4433
+ "summary": "Configuration for Access Control List (ACL) based filtering."
4434
+ },
4435
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AclConfiguration",
4436
+ "kind": "interface",
4437
+ "locationInModule": {
4438
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
4439
+ "line": 39
4440
+ },
4441
+ "name": "AclConfiguration",
4442
+ "properties": [
4443
+ {
4444
+ "abstract": true,
4445
+ "docs": {
4446
+ "default": "false",
4447
+ "remarks": "When true, the retrieval tool will require user context and apply\nmetadata filters based on user permissions.",
4448
+ "stability": "experimental",
4449
+ "summary": "Enable ACL-based filtering for retrieval queries."
4450
+ },
4451
+ "immutable": true,
4452
+ "locationInModule": {
4453
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
4454
+ "line": 48
4455
+ },
4456
+ "name": "enabled",
4457
+ "type": {
4458
+ "primitive": "boolean"
4459
+ }
4460
+ },
4461
+ {
4462
+ "abstract": true,
4463
+ "docs": {
4464
+ "default": "'group'",
4465
+ "remarks": "This field in the document metadata should contain the group or\npermission identifier that controls access. The retrieval tool\nwill filter results where this field matches the user's permissions.",
4466
+ "stability": "experimental",
4467
+ "summary": "Metadata field containing access permissions."
4468
+ },
4469
+ "immutable": true,
4470
+ "locationInModule": {
4471
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
4472
+ "line": 59
4473
+ },
4474
+ "name": "metadataField",
4475
+ "optional": true,
4476
+ "type": {
4477
+ "primitive": "string"
4478
+ }
4479
+ }
4480
+ ],
4481
+ "symbolId": "use-cases/framework/agents/knowledge-base/knowledge-base-props:AclConfiguration"
4482
+ },
4427
4483
  "@cdklabs/cdk-appmod-catalog-blueprints.AdditionalDistributionProps": {
4428
4484
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
4429
4485
  "datatype": true,
@@ -4521,7 +4577,7 @@
4521
4577
  "kind": "interface",
4522
4578
  "locationInModule": {
4523
4579
  "filename": "use-cases/framework/agents/base-agent.ts",
4524
- "line": 25
4580
+ "line": 30
4525
4581
  },
4526
4582
  "name": "AgentDefinitionProps",
4527
4583
  "properties": [
@@ -4534,7 +4590,7 @@
4534
4590
  "immutable": true,
4535
4591
  "locationInModule": {
4536
4592
  "filename": "use-cases/framework/agents/base-agent.ts",
4537
- "line": 29
4593
+ "line": 34
4538
4594
  },
4539
4595
  "name": "bedrockModel",
4540
4596
  "type": {
@@ -4550,13 +4606,37 @@
4550
4606
  "immutable": true,
4551
4607
  "locationInModule": {
4552
4608
  "filename": "use-cases/framework/agents/base-agent.ts",
4553
- "line": 35
4609
+ "line": 40
4554
4610
  },
4555
4611
  "name": "systemPrompt",
4556
4612
  "type": {
4557
4613
  "fqn": "aws-cdk-lib.aws_s3_assets.Asset"
4558
4614
  }
4559
4615
  },
4616
+ {
4617
+ "abstract": true,
4618
+ "docs": {
4619
+ "default": "- Only auto-generated permissions from knowledge bases",
4620
+ "remarks": "Use this when knowledge bases require permissions beyond what is\nautomatically generated by the IKnowledgeBase implementations.\nThese statements will be added to the agent's IAM role in addition\nto the auto-generated permissions.",
4621
+ "stability": "experimental",
4622
+ "summary": "Additional IAM policy statements for knowledge base access."
4623
+ },
4624
+ "immutable": true,
4625
+ "locationInModule": {
4626
+ "filename": "use-cases/framework/agents/base-agent.ts",
4627
+ "line": 84
4628
+ },
4629
+ "name": "additionalPolicyStatementsForKnowledgeBases",
4630
+ "optional": true,
4631
+ "type": {
4632
+ "collection": {
4633
+ "elementtype": {
4634
+ "fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
4635
+ },
4636
+ "kind": "array"
4637
+ }
4638
+ }
4639
+ },
4560
4640
  {
4561
4641
  "abstract": true,
4562
4642
  "docs": {
@@ -4566,7 +4646,7 @@
4566
4646
  "immutable": true,
4567
4647
  "locationInModule": {
4568
4648
  "filename": "use-cases/framework/agents/base-agent.ts",
4569
- "line": 53
4649
+ "line": 58
4570
4650
  },
4571
4651
  "name": "additionalPolicyStatementsForTools",
4572
4652
  "optional": true,
@@ -4579,6 +4659,30 @@
4579
4659
  }
4580
4660
  }
4581
4661
  },
4662
+ {
4663
+ "abstract": true,
4664
+ "docs": {
4665
+ "default": "- No knowledge bases configured",
4666
+ "remarks": "When configured, the agent will have access to a built-in retrieval tool\nthat can query these knowledge bases. The agent's system prompt will be\nautomatically augmented with information about available knowledge bases.\n\nEach knowledge base must implement the IKnowledgeBase interface, which\nhandles IAM permission generation and runtime configuration.",
4667
+ "stability": "experimental",
4668
+ "summary": "Knowledge bases available to the agent for Retrieval-Augmented Generation (RAG)."
4669
+ },
4670
+ "immutable": true,
4671
+ "locationInModule": {
4672
+ "filename": "use-cases/framework/agents/base-agent.ts",
4673
+ "line": 72
4674
+ },
4675
+ "name": "knowledgeBases",
4676
+ "optional": true,
4677
+ "type": {
4678
+ "collection": {
4679
+ "elementtype": {
4680
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase"
4681
+ },
4682
+ "kind": "array"
4683
+ }
4684
+ }
4685
+ },
4582
4686
  {
4583
4687
  "abstract": true,
4584
4688
  "docs": {
@@ -4588,7 +4692,7 @@
4588
4692
  "immutable": true,
4589
4693
  "locationInModule": {
4590
4694
  "filename": "use-cases/framework/agents/base-agent.ts",
4591
- "line": 47
4695
+ "line": 52
4592
4696
  },
4593
4697
  "name": "lambdaLayers",
4594
4698
  "optional": true,
@@ -4611,7 +4715,7 @@
4611
4715
  "immutable": true,
4612
4716
  "locationInModule": {
4613
4717
  "filename": "use-cases/framework/agents/base-agent.ts",
4614
- "line": 42
4718
+ "line": 47
4615
4719
  },
4616
4720
  "name": "tools",
4617
4721
  "optional": true,
@@ -4637,7 +4741,7 @@
4637
4741
  "kind": "interface",
4638
4742
  "locationInModule": {
4639
4743
  "filename": "use-cases/framework/agents/base-agent.ts",
4640
- "line": 15
4744
+ "line": 20
4641
4745
  },
4642
4746
  "name": "AgentToolsLocationDefinition",
4643
4747
  "properties": [
@@ -4649,7 +4753,7 @@
4649
4753
  "immutable": true,
4650
4754
  "locationInModule": {
4651
4755
  "filename": "use-cases/framework/agents/base-agent.ts",
4652
- "line": 16
4756
+ "line": 21
4653
4757
  },
4654
4758
  "name": "bucketName",
4655
4759
  "type": {
@@ -4664,7 +4768,7 @@
4664
4768
  "immutable": true,
4665
4769
  "locationInModule": {
4666
4770
  "filename": "use-cases/framework/agents/base-agent.ts",
4667
- "line": 18
4771
+ "line": 23
4668
4772
  },
4669
4773
  "name": "isFile",
4670
4774
  "type": {
@@ -4679,7 +4783,7 @@
4679
4783
  "immutable": true,
4680
4784
  "locationInModule": {
4681
4785
  "filename": "use-cases/framework/agents/base-agent.ts",
4682
- "line": 19
4786
+ "line": 24
4683
4787
  },
4684
4788
  "name": "isZipArchive",
4685
4789
  "type": {
@@ -4694,7 +4798,7 @@
4694
4798
  "immutable": true,
4695
4799
  "locationInModule": {
4696
4800
  "filename": "use-cases/framework/agents/base-agent.ts",
4697
- "line": 17
4801
+ "line": 22
4698
4802
  },
4699
4803
  "name": "key",
4700
4804
  "type": {
@@ -5022,7 +5126,10 @@
5022
5126
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
5023
5127
  "base": "constructs.Construct",
5024
5128
  "docs": {
5025
- "stability": "experimental"
5129
+ "remarks": "Provides common infrastructure for AI agents including:\n- IAM role and permissions management\n- Encryption key for environment variables\n- Tool integration and S3 asset management\n- Knowledge base integration for RAG (Retrieval-Augmented Generation)\n- Observability configuration (Lambda Powertools + AgentCore)\n\nSubclasses must implement the agent-specific Lambda function creation.\n\n**Observability**: When `enableObservability: true`, BaseAgent configures both\nLambda Powertools (function-level) and AWS Bedrock AgentCore (agent-level)\nobservability. Both systems work together to provide complete visibility:\n- Lambda Powertools captures function execution, logs, and custom metrics\n- AgentCore captures agent reasoning, tool usage, and token consumption\n- Both publish to CloudWatch with correlated service names for unified monitoring\n\nThe observability integration includes:\n- Automatic IAM permission grants for CloudWatch Logs and X-Ray\n- Environment variable configuration for OpenTelemetry\n- ADOT Lambda Layer attachment (handled by concrete implementations)",
5130
+ "see": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability-configure.html",
5131
+ "stability": "experimental",
5132
+ "summary": "Base class for all agent types in the framework."
5026
5133
  },
5027
5134
  "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
5028
5135
  "initializer": {
@@ -5031,7 +5138,7 @@
5031
5138
  },
5032
5139
  "locationInModule": {
5033
5140
  "filename": "use-cases/framework/agents/base-agent.ts",
5034
- "line": 107
5141
+ "line": 218
5035
5142
  },
5036
5143
  "parameters": [
5037
5144
  {
@@ -5057,8 +5164,32 @@
5057
5164
  "kind": "class",
5058
5165
  "locationInModule": {
5059
5166
  "filename": "use-cases/framework/agents/base-agent.ts",
5060
- "line": 98
5167
+ "line": 186
5061
5168
  },
5169
+ "methods": [
5170
+ {
5171
+ "docs": {
5172
+ "custom": {
5173
+ "throws": "Error if the region is not supported"
5174
+ },
5175
+ "remarks": "The ADOT layer provides automatic instrumentation for observability.\nLayer versions vary by region - some regions have newer versions with\nbetter Python 3.13 support. If you encounter compatibility issues,\nthe layer ARNs can be found at:\nhttps://aws-otel.github.io/docs/getting-started/lambda#adot-lambda-layer-arns",
5176
+ "returns": "The ADOT Lambda Layer for the current region",
5177
+ "stability": "experimental",
5178
+ "summary": "Creates the AWS Distro for OpenTelemetry (ADOT) Lambda Layer."
5179
+ },
5180
+ "locationInModule": {
5181
+ "filename": "use-cases/framework/agents/base-agent.ts",
5182
+ "line": 369
5183
+ },
5184
+ "name": "createADOTLayer",
5185
+ "protected": true,
5186
+ "returns": {
5187
+ "type": {
5188
+ "fqn": "aws-cdk-lib.aws_lambda.ILayerVersion"
5189
+ }
5190
+ }
5191
+ }
5192
+ ],
5062
5193
  "name": "BaseAgent",
5063
5194
  "properties": [
5064
5195
  {
@@ -5069,11 +5200,11 @@
5069
5200
  "immutable": true,
5070
5201
  "locationInModule": {
5071
5202
  "filename": "use-cases/framework/agents/base-agent.ts",
5072
- "line": 99
5203
+ "line": 187
5073
5204
  },
5074
5205
  "name": "agentFunction",
5075
5206
  "type": {
5076
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
5207
+ "fqn": "@aws-cdk/aws-lambda-python-alpha.PythonFunction"
5077
5208
  }
5078
5209
  },
5079
5210
  {
@@ -5083,7 +5214,7 @@
5083
5214
  "immutable": true,
5084
5215
  "locationInModule": {
5085
5216
  "filename": "use-cases/framework/agents/base-agent.ts",
5086
- "line": 101
5217
+ "line": 189
5087
5218
  },
5088
5219
  "name": "agentRole",
5089
5220
  "type": {
@@ -5097,7 +5228,7 @@
5097
5228
  "immutable": true,
5098
5229
  "locationInModule": {
5099
5230
  "filename": "use-cases/framework/agents/base-agent.ts",
5100
- "line": 105
5231
+ "line": 193
5101
5232
  },
5102
5233
  "name": "agentToolsLocationDefinitions",
5103
5234
  "protected": true,
@@ -5117,13 +5248,57 @@
5117
5248
  "immutable": true,
5118
5249
  "locationInModule": {
5119
5250
  "filename": "use-cases/framework/agents/base-agent.ts",
5120
- "line": 102
5251
+ "line": 190
5121
5252
  },
5122
5253
  "name": "encryptionKey",
5123
5254
  "type": {
5124
5255
  "fqn": "aws-cdk-lib.aws_kms.Key"
5125
5256
  }
5126
5257
  },
5258
+ {
5259
+ "docs": {
5260
+ "remarks": "This array contains the exported configurations from all configured\nknowledge bases. Subclasses use this to set the KNOWLEDGE_BASES_CONFIG\nenvironment variable on the agent Lambda function.",
5261
+ "stability": "experimental",
5262
+ "summary": "Knowledge base configurations for runtime use."
5263
+ },
5264
+ "immutable": true,
5265
+ "locationInModule": {
5266
+ "filename": "use-cases/framework/agents/base-agent.ts",
5267
+ "line": 201
5268
+ },
5269
+ "name": "knowledgeBaseConfigs",
5270
+ "protected": true,
5271
+ "type": {
5272
+ "collection": {
5273
+ "elementtype": {
5274
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.KnowledgeBaseRuntimeConfig"
5275
+ },
5276
+ "kind": "array"
5277
+ }
5278
+ }
5279
+ },
5280
+ {
5281
+ "docs": {
5282
+ "remarks": "This array contains Lambda layers from all configured knowledge bases.\nSubclasses should add these layers to the agent Lambda function to\nensure retrieval tools have access to required dependencies.",
5283
+ "stability": "experimental",
5284
+ "summary": "Lambda layers required by knowledge base retrieval tools."
5285
+ },
5286
+ "immutable": true,
5287
+ "locationInModule": {
5288
+ "filename": "use-cases/framework/agents/base-agent.ts",
5289
+ "line": 216
5290
+ },
5291
+ "name": "knowledgeBaseLayers",
5292
+ "protected": true,
5293
+ "type": {
5294
+ "collection": {
5295
+ "elementtype": {
5296
+ "fqn": "aws-cdk-lib.aws_lambda.LayerVersion"
5297
+ },
5298
+ "kind": "array"
5299
+ }
5300
+ }
5301
+ },
5127
5302
  {
5128
5303
  "docs": {
5129
5304
  "stability": "experimental",
@@ -5132,7 +5307,7 @@
5132
5307
  "immutable": true,
5133
5308
  "locationInModule": {
5134
5309
  "filename": "use-cases/framework/agents/base-agent.ts",
5135
- "line": 104
5310
+ "line": 192
5136
5311
  },
5137
5312
  "name": "logGroupDataProtection",
5138
5313
  "protected": true,
@@ -5147,13 +5322,31 @@
5147
5322
  "immutable": true,
5148
5323
  "locationInModule": {
5149
5324
  "filename": "use-cases/framework/agents/base-agent.ts",
5150
- "line": 100
5325
+ "line": 188
5151
5326
  },
5152
5327
  "name": "bedrockModel",
5153
5328
  "optional": true,
5154
5329
  "type": {
5155
5330
  "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
5156
5331
  }
5332
+ },
5333
+ {
5334
+ "docs": {
5335
+ "remarks": "This is automatically created when knowledge bases are configured.\nThe asset is added to the agent's tools and granted read access.",
5336
+ "stability": "experimental",
5337
+ "summary": "Asset containing the knowledge base retrieval tool."
5338
+ },
5339
+ "immutable": true,
5340
+ "locationInModule": {
5341
+ "filename": "use-cases/framework/agents/base-agent.ts",
5342
+ "line": 208
5343
+ },
5344
+ "name": "knowledgeBaseToolAsset",
5345
+ "optional": true,
5346
+ "protected": true,
5347
+ "type": {
5348
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset"
5349
+ }
5157
5350
  }
5158
5351
  ],
5159
5352
  "symbolId": "use-cases/framework/agents/base-agent:BaseAgent"
@@ -5171,7 +5364,7 @@
5171
5364
  "kind": "interface",
5172
5365
  "locationInModule": {
5173
5366
  "filename": "use-cases/framework/agents/base-agent.ts",
5174
- "line": 56
5367
+ "line": 87
5175
5368
  },
5176
5369
  "name": "BaseAgentProps",
5177
5370
  "properties": [
@@ -5184,7 +5377,7 @@
5184
5377
  "immutable": true,
5185
5378
  "locationInModule": {
5186
5379
  "filename": "use-cases/framework/agents/base-agent.ts",
5187
- "line": 66
5380
+ "line": 97
5188
5381
  },
5189
5382
  "name": "agentDefinition",
5190
5383
  "type": {
@@ -5200,24 +5393,44 @@
5200
5393
  "immutable": true,
5201
5394
  "locationInModule": {
5202
5395
  "filename": "use-cases/framework/agents/base-agent.ts",
5203
- "line": 61
5396
+ "line": 92
5204
5397
  },
5205
5398
  "name": "agentName",
5206
5399
  "type": {
5207
5400
  "primitive": "string"
5208
5401
  }
5209
5402
  },
5403
+ {
5404
+ "abstract": true,
5405
+ "docs": {
5406
+ "default": "Architecture.ARM_64",
5407
+ "stability": "experimental",
5408
+ "summary": "The architecture used by the Lambda function where the agent is hosted."
5409
+ },
5410
+ "immutable": true,
5411
+ "locationInModule": {
5412
+ "filename": "use-cases/framework/agents/base-agent.ts",
5413
+ "line": 157
5414
+ },
5415
+ "name": "agentArchitecture",
5416
+ "optional": true,
5417
+ "type": {
5418
+ "fqn": "aws-cdk-lib.aws_lambda.Architecture"
5419
+ }
5420
+ },
5210
5421
  {
5211
5422
  "abstract": true,
5212
5423
  "docs": {
5213
5424
  "default": "false",
5425
+ "remarks": "When enabled, configures both Lambda Powertools and AWS Bedrock AgentCore observability:\n- **Lambda Powertools**: Provides function-level observability including structured logging,\n distributed tracing with X-Ray, and custom metrics\n- **AgentCore Observability**: Provides agent-specific observability including agent invocations,\n reasoning steps, tool usage, token consumption, and agent latency\n\nBoth systems publish to Amazon CloudWatch and use the same service name and namespace\nfor correlation. This provides complete visibility at both function and agent levels.\n\n**Environment Variables Set** (AgentCore):\n- `AGENT_OBSERVABILITY_ENABLED`: Enables AgentCore observability\n- `OTEL_RESOURCE_ATTRIBUTES`: Service identification for OpenTelemetry\n- `OTEL_EXPORTER_OTLP_LOGS_HEADERS`: Agent identification headers\n- `AWS_LAMBDA_EXEC_WRAPPER`: ADOT wrapper for automatic instrumentation\n\n**IAM Permissions Granted** (AgentCore):\n- CloudWatch Logs: `logs:CreateLogGroup`, `logs:CreateLogStream`, `logs:PutLogEvents`\n- X-Ray: `xray:PutTraceSegments`, `xray:PutTelemetryRecords`\n\n**Additional Requirements**:\n- BatchAgent automatically adds ADOT (AWS Distro for OpenTelemetry) Lambda Layer",
5426
+ "see": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability-configure.html",
5214
5427
  "stability": "experimental",
5215
- "summary": "Enable observability."
5428
+ "summary": "Enable observability for the agent."
5216
5429
  },
5217
5430
  "immutable": true,
5218
5431
  "locationInModule": {
5219
5432
  "filename": "use-cases/framework/agents/base-agent.ts",
5220
- "line": 73
5433
+ "line": 127
5221
5434
  },
5222
5435
  "name": "enableObservability",
5223
5436
  "optional": true,
@@ -5235,7 +5448,7 @@
5235
5448
  "immutable": true,
5236
5449
  "locationInModule": {
5237
5450
  "filename": "use-cases/framework/agents/base-agent.ts",
5238
- "line": 87
5451
+ "line": 141
5239
5452
  },
5240
5453
  "name": "encryptionKey",
5241
5454
  "optional": true,
@@ -5253,7 +5466,7 @@
5253
5466
  "immutable": true,
5254
5467
  "locationInModule": {
5255
5468
  "filename": "use-cases/framework/agents/base-agent.ts",
5256
- "line": 80
5469
+ "line": 134
5257
5470
  },
5258
5471
  "name": "network",
5259
5472
  "optional": true,
@@ -5271,7 +5484,7 @@
5271
5484
  "immutable": true,
5272
5485
  "locationInModule": {
5273
5486
  "filename": "use-cases/framework/agents/base-agent.ts",
5274
- "line": 95
5487
+ "line": 149
5275
5488
  },
5276
5489
  "name": "removalPolicy",
5277
5490
  "optional": true,
@@ -5891,93 +6104,438 @@
5891
6104
  ],
5892
6105
  "symbolId": "use-cases/document-processing/base-document-processing:BaseDocumentProcessingProps"
5893
6106
  },
5894
- "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgent": {
6107
+ "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBase": {
6108
+ "abstract": true,
5895
6109
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
5896
- "base": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
6110
+ "base": "constructs.Construct",
5897
6111
  "docs": {
5898
- "stability": "experimental"
6112
+ "remarks": "This class provides common functionality for all knowledge base implementations,\nincluding configuration management, validation, and default behaviors. Concrete\nimplementations (like BedrockKnowledgeBase) extend this class and implement\nthe abstract methods.\n\nThe base class handles:\n- Props validation (name and description are required)\n- Default retrieval configuration (numberOfResults defaults to 5)\n- ACL configuration storage\n- Base runtime configuration export\n\nSubclasses must implement:\n- `generateIamPermissions()`: Return IAM permissions specific to the KB type",
6113
+ "stability": "experimental",
6114
+ "summary": "Abstract base class for knowledge base implementations."
5899
6115
  },
5900
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgent",
6116
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBase",
5901
6117
  "initializer": {
5902
6118
  "docs": {
5903
- "stability": "experimental"
6119
+ "custom": {
6120
+ "throws": "Error if description is empty or not provided"
6121
+ },
6122
+ "stability": "experimental",
6123
+ "summary": "Creates a new BaseKnowledgeBase instance."
5904
6124
  },
5905
6125
  "locationInModule": {
5906
- "filename": "use-cases/framework/agents/batch-agent.ts",
5907
- "line": 23
6126
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6127
+ "line": 75
5908
6128
  },
5909
6129
  "parameters": [
5910
6130
  {
6131
+ "docs": {
6132
+ "summary": "- The scope in which to define this construct."
6133
+ },
5911
6134
  "name": "scope",
5912
6135
  "type": {
5913
6136
  "fqn": "constructs.Construct"
5914
6137
  }
5915
6138
  },
5916
6139
  {
6140
+ "docs": {
6141
+ "summary": "- The scoped construct ID."
6142
+ },
5917
6143
  "name": "id",
5918
6144
  "type": {
5919
6145
  "primitive": "string"
5920
6146
  }
5921
6147
  },
5922
6148
  {
6149
+ "docs": {
6150
+ "summary": "- Configuration properties for the knowledge base."
6151
+ },
5923
6152
  "name": "props",
5924
6153
  "type": {
5925
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps"
6154
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBaseProps"
5926
6155
  }
5927
6156
  }
5928
6157
  ]
5929
6158
  },
6159
+ "interfaces": [
6160
+ "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase"
6161
+ ],
5930
6162
  "kind": "class",
5931
6163
  "locationInModule": {
5932
- "filename": "use-cases/framework/agents/batch-agent.ts",
5933
- "line": 20
6164
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6165
+ "line": 33
5934
6166
  },
5935
- "name": "BatchAgent",
5936
- "properties": [
6167
+ "methods": [
5937
6168
  {
5938
6169
  "docs": {
5939
- "stability": "experimental"
6170
+ "remarks": "Returns a configuration object containing the base knowledge base\nsettings. Subclasses should override this method to add implementation-\nspecific configuration, calling super.exportConfiguration() to include\nthe base configuration.",
6171
+ "returns": "Runtime configuration object for the retrieval tool",
6172
+ "stability": "experimental",
6173
+ "summary": "Export configuration for runtime use by the retrieval tool."
5940
6174
  },
5941
- "immutable": true,
5942
6175
  "locationInModule": {
5943
- "filename": "use-cases/framework/agents/batch-agent.ts",
5944
- "line": 21
6176
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6177
+ "line": 126
5945
6178
  },
5946
- "name": "agentFunction",
5947
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
5948
- "type": {
5949
- "fqn": "@aws-cdk/aws-lambda-python-alpha.PythonFunction"
6179
+ "name": "exportConfiguration",
6180
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase",
6181
+ "returns": {
6182
+ "type": {
6183
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.KnowledgeBaseRuntimeConfig"
6184
+ }
5950
6185
  }
5951
- }
5952
- ],
5953
- "symbolId": "use-cases/framework/agents/batch-agent:BatchAgent"
5954
- },
5955
- "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps": {
5956
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
5957
- "datatype": true,
5958
- "docs": {
5959
- "stability": "experimental"
5960
- },
5961
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps",
5962
- "interfaces": [
5963
- "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgentProps"
5964
- ],
5965
- "kind": "interface",
5966
- "locationInModule": {
5967
- "filename": "use-cases/framework/agents/batch-agent.ts",
5968
- "line": 15
5969
- },
5970
- "name": "BatchAgentProps",
5971
- "properties": [
6186
+ },
5972
6187
  {
5973
6188
  "abstract": true,
5974
6189
  "docs": {
5975
- "stability": "experimental"
6190
+ "remarks": "This abstract method must be implemented by subclasses to return the\nspecific IAM permissions needed for their knowledge base type.",
6191
+ "returns": "Array of IAM PolicyStatement objects granting necessary permissions",
6192
+ "stability": "experimental",
6193
+ "summary": "Generate IAM policy statements required for accessing this knowledge base."
5976
6194
  },
5977
- "immutable": true,
5978
6195
  "locationInModule": {
5979
- "filename": "use-cases/framework/agents/batch-agent.ts",
5980
- "line": 16
6196
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6197
+ "line": 114
6198
+ },
6199
+ "name": "generateIamPermissions",
6200
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase",
6201
+ "returns": {
6202
+ "type": {
6203
+ "collection": {
6204
+ "elementtype": {
6205
+ "fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
6206
+ },
6207
+ "kind": "array"
6208
+ }
6209
+ }
6210
+ }
6211
+ },
6212
+ {
6213
+ "docs": {
6214
+ "remarks": "By default, returns undefined to use the framework's default retrieval\ntool. Subclasses can override this method to provide a custom retrieval\ntool implementation.",
6215
+ "returns": "undefined to use the default retrieval tool",
6216
+ "stability": "experimental",
6217
+ "summary": "Provide the retrieval tool asset for this knowledge base type."
6218
+ },
6219
+ "locationInModule": {
6220
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6221
+ "line": 144
6222
+ },
6223
+ "name": "retrievalToolAsset",
6224
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase",
6225
+ "returns": {
6226
+ "optional": true,
6227
+ "type": {
6228
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset"
6229
+ }
6230
+ }
6231
+ },
6232
+ {
6233
+ "docs": {
6234
+ "remarks": "By default, returns undefined indicating no additional layers are needed.\nSubclasses can override this method to provide Lambda layers containing\ndependencies required by their retrieval tool.",
6235
+ "returns": "undefined indicating no additional layers needed",
6236
+ "stability": "experimental",
6237
+ "summary": "Provide Lambda layers required by the retrieval tool."
6238
+ },
6239
+ "locationInModule": {
6240
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6241
+ "line": 157
6242
+ },
6243
+ "name": "retrievalToolLayers",
6244
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase",
6245
+ "returns": {
6246
+ "optional": true,
6247
+ "type": {
6248
+ "collection": {
6249
+ "elementtype": {
6250
+ "fqn": "aws-cdk-lib.aws_lambda.LayerVersion"
6251
+ },
6252
+ "kind": "array"
6253
+ }
6254
+ }
6255
+ }
6256
+ },
6257
+ {
6258
+ "docs": {
6259
+ "custom": {
6260
+ "throws": "Error if description is empty or not provided"
6261
+ },
6262
+ "remarks": "Ensures that required fields (name and description) are provided\nand not empty. Subclasses can override this method to add additional\nvalidation, but should call super.validateProps() first.",
6263
+ "stability": "experimental",
6264
+ "summary": "Validates the provided props at construction time."
6265
+ },
6266
+ "locationInModule": {
6267
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6268
+ "line": 97
6269
+ },
6270
+ "name": "validateProps",
6271
+ "parameters": [
6272
+ {
6273
+ "docs": {
6274
+ "summary": "- The props to validate."
6275
+ },
6276
+ "name": "props",
6277
+ "type": {
6278
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBaseProps"
6279
+ }
6280
+ }
6281
+ ],
6282
+ "protected": true
6283
+ }
6284
+ ],
6285
+ "name": "BaseKnowledgeBase",
6286
+ "properties": [
6287
+ {
6288
+ "docs": {
6289
+ "remarks": "This description is included in the agent's system prompt to help\nthe agent decide when to query this knowledge base.",
6290
+ "stability": "experimental",
6291
+ "summary": "Human-readable description of what this knowledge base contains."
6292
+ },
6293
+ "immutable": true,
6294
+ "locationInModule": {
6295
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6296
+ "line": 48
6297
+ },
6298
+ "name": "description",
6299
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase",
6300
+ "type": {
6301
+ "primitive": "string"
6302
+ }
6303
+ },
6304
+ {
6305
+ "docs": {
6306
+ "remarks": "This name is used for logging, display purposes, and to help the agent\nidentify which knowledge base to query.",
6307
+ "stability": "experimental",
6308
+ "summary": "Human-readable name for this knowledge base."
6309
+ },
6310
+ "immutable": true,
6311
+ "locationInModule": {
6312
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6313
+ "line": 40
6314
+ },
6315
+ "name": "name",
6316
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase",
6317
+ "type": {
6318
+ "primitive": "string"
6319
+ }
6320
+ },
6321
+ {
6322
+ "docs": {
6323
+ "remarks": "Contains settings like numberOfResults and optional metadata filters.\nDefaults to { numberOfResults: 5 } if not provided.",
6324
+ "stability": "experimental",
6325
+ "summary": "Retrieval configuration for this knowledge base."
6326
+ },
6327
+ "immutable": true,
6328
+ "locationInModule": {
6329
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6330
+ "line": 56
6331
+ },
6332
+ "name": "retrievalConfig",
6333
+ "protected": true,
6334
+ "type": {
6335
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.RetrievalConfiguration"
6336
+ }
6337
+ },
6338
+ {
6339
+ "docs": {
6340
+ "remarks": "When enabled, retrieval queries will be filtered based on user\nidentity context.",
6341
+ "stability": "experimental",
6342
+ "summary": "ACL configuration for identity-aware retrieval."
6343
+ },
6344
+ "immutable": true,
6345
+ "locationInModule": {
6346
+ "filename": "use-cases/framework/agents/knowledge-base/base-knowledge-base.ts",
6347
+ "line": 64
6348
+ },
6349
+ "name": "aclConfig",
6350
+ "optional": true,
6351
+ "protected": true,
6352
+ "type": {
6353
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AclConfiguration"
6354
+ }
6355
+ }
6356
+ ],
6357
+ "symbolId": "use-cases/framework/agents/knowledge-base/base-knowledge-base:BaseKnowledgeBase"
6358
+ },
6359
+ "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBaseProps": {
6360
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6361
+ "datatype": true,
6362
+ "docs": {
6363
+ "remarks": "This interface defines the common properties shared by all knowledge\nbase types. Specific implementations (like BedrockKnowledgeBase) extend\nthis with additional properties.",
6364
+ "stability": "experimental",
6365
+ "summary": "Base configuration for all knowledge base implementations."
6366
+ },
6367
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBaseProps",
6368
+ "kind": "interface",
6369
+ "locationInModule": {
6370
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
6371
+ "line": 210
6372
+ },
6373
+ "name": "BaseKnowledgeBaseProps",
6374
+ "properties": [
6375
+ {
6376
+ "abstract": true,
6377
+ "docs": {
6378
+ "example": "'Contains product documentation, user guides, and FAQs. Use when answering questions about product features or troubleshooting.'",
6379
+ "remarks": "This description is shown to the agent in its system prompt to help\nit decide when to query this knowledge base. Be specific about the\ntype of information contained and appropriate use cases.",
6380
+ "stability": "experimental",
6381
+ "summary": "Description of what this knowledge base contains and when to use it."
6382
+ },
6383
+ "immutable": true,
6384
+ "locationInModule": {
6385
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
6386
+ "line": 231
6387
+ },
6388
+ "name": "description",
6389
+ "type": {
6390
+ "primitive": "string"
6391
+ }
6392
+ },
6393
+ {
6394
+ "abstract": true,
6395
+ "docs": {
6396
+ "example": "'product-documentation'",
6397
+ "remarks": "Used for logging, display purposes, and to help the agent identify\nwhich knowledge base to query. Should be unique within the set of\nknowledge bases configured for an agent.",
6398
+ "stability": "experimental",
6399
+ "summary": "Human-readable name/identifier for this knowledge base."
6400
+ },
6401
+ "immutable": true,
6402
+ "locationInModule": {
6403
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
6404
+ "line": 220
6405
+ },
6406
+ "name": "name",
6407
+ "type": {
6408
+ "primitive": "string"
6409
+ }
6410
+ },
6411
+ {
6412
+ "abstract": true,
6413
+ "docs": {
6414
+ "default": "- ACL disabled",
6415
+ "remarks": "When enabled, retrieval queries will be filtered based on user\nidentity context to ensure users only access permitted documents.",
6416
+ "stability": "experimental",
6417
+ "summary": "Access control configuration for identity-aware retrieval."
6418
+ },
6419
+ "immutable": true,
6420
+ "locationInModule": {
6421
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
6422
+ "line": 250
6423
+ },
6424
+ "name": "acl",
6425
+ "optional": true,
6426
+ "type": {
6427
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AclConfiguration"
6428
+ }
6429
+ },
6430
+ {
6431
+ "abstract": true,
6432
+ "docs": {
6433
+ "default": "{ numberOfResults: 5 }",
6434
+ "remarks": "Controls the number of results returned and optional metadata filtering.",
6435
+ "stability": "experimental",
6436
+ "summary": "Retrieval configuration options."
6437
+ },
6438
+ "immutable": true,
6439
+ "locationInModule": {
6440
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
6441
+ "line": 240
6442
+ },
6443
+ "name": "retrieval",
6444
+ "optional": true,
6445
+ "type": {
6446
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.RetrievalConfiguration"
6447
+ }
6448
+ }
6449
+ ],
6450
+ "symbolId": "use-cases/framework/agents/knowledge-base/knowledge-base-props:BaseKnowledgeBaseProps"
6451
+ },
6452
+ "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgent": {
6453
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6454
+ "base": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
6455
+ "docs": {
6456
+ "stability": "experimental"
6457
+ },
6458
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgent",
6459
+ "initializer": {
6460
+ "docs": {
6461
+ "stability": "experimental"
6462
+ },
6463
+ "locationInModule": {
6464
+ "filename": "use-cases/framework/agents/batch-agent.ts",
6465
+ "line": 77
6466
+ },
6467
+ "parameters": [
6468
+ {
6469
+ "name": "scope",
6470
+ "type": {
6471
+ "fqn": "constructs.Construct"
6472
+ }
6473
+ },
6474
+ {
6475
+ "name": "id",
6476
+ "type": {
6477
+ "primitive": "string"
6478
+ }
6479
+ },
6480
+ {
6481
+ "name": "props",
6482
+ "type": {
6483
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps"
6484
+ }
6485
+ }
6486
+ ]
6487
+ },
6488
+ "kind": "class",
6489
+ "locationInModule": {
6490
+ "filename": "use-cases/framework/agents/batch-agent.ts",
6491
+ "line": 74
6492
+ },
6493
+ "name": "BatchAgent",
6494
+ "properties": [
6495
+ {
6496
+ "docs": {
6497
+ "stability": "experimental"
6498
+ },
6499
+ "immutable": true,
6500
+ "locationInModule": {
6501
+ "filename": "use-cases/framework/agents/batch-agent.ts",
6502
+ "line": 75
6503
+ },
6504
+ "name": "agentFunction",
6505
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
6506
+ "type": {
6507
+ "fqn": "@aws-cdk/aws-lambda-python-alpha.PythonFunction"
6508
+ }
6509
+ }
6510
+ ],
6511
+ "symbolId": "use-cases/framework/agents/batch-agent:BatchAgent"
6512
+ },
6513
+ "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps": {
6514
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6515
+ "datatype": true,
6516
+ "docs": {
6517
+ "stability": "experimental"
6518
+ },
6519
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps",
6520
+ "interfaces": [
6521
+ "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgentProps"
6522
+ ],
6523
+ "kind": "interface",
6524
+ "locationInModule": {
6525
+ "filename": "use-cases/framework/agents/batch-agent.ts",
6526
+ "line": 18
6527
+ },
6528
+ "name": "BatchAgentProps",
6529
+ "properties": [
6530
+ {
6531
+ "abstract": true,
6532
+ "docs": {
6533
+ "stability": "experimental"
6534
+ },
6535
+ "immutable": true,
6536
+ "locationInModule": {
6537
+ "filename": "use-cases/framework/agents/batch-agent.ts",
6538
+ "line": 19
5981
6539
  },
5982
6540
  "name": "prompt",
5983
6541
  "type": {
@@ -5992,13 +6550,32 @@
5992
6550
  "immutable": true,
5993
6551
  "locationInModule": {
5994
6552
  "filename": "use-cases/framework/agents/batch-agent.ts",
5995
- "line": 17
6553
+ "line": 20
5996
6554
  },
5997
6555
  "name": "expectJson",
5998
6556
  "optional": true,
5999
6557
  "type": {
6000
6558
  "primitive": "boolean"
6001
6559
  }
6560
+ },
6561
+ {
6562
+ "abstract": true,
6563
+ "docs": {
6564
+ "default": "InvokeType.BATCH",
6565
+ "remarks": "Defines how the agent is invoked and what processing mode to use.",
6566
+ "stability": "experimental",
6567
+ "summary": "Agent invocation type."
6568
+ },
6569
+ "immutable": true,
6570
+ "locationInModule": {
6571
+ "filename": "use-cases/framework/agents/batch-agent.ts",
6572
+ "line": 29
6573
+ },
6574
+ "name": "invokeType",
6575
+ "optional": true,
6576
+ "type": {
6577
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.InvokeType"
6578
+ }
6002
6579
  }
6003
6580
  ],
6004
6581
  "symbolId": "use-cases/framework/agents/batch-agent:BatchAgentProps"
@@ -6627,6 +7204,278 @@
6627
7204
  ],
6628
7205
  "symbolId": "use-cases/document-processing/bedrock-document-processing:BedrockDocumentProcessingProps"
6629
7206
  },
7207
+ "@cdklabs/cdk-appmod-catalog-blueprints.BedrockKnowledgeBase": {
7208
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7209
+ "base": "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBase",
7210
+ "docs": {
7211
+ "remarks": "This class provides integration with Amazon Bedrock Knowledge Bases,\nwhich use vector stores (S3 Vectors by default) for semantic search.\nIt is the default knowledge base implementation when none is specified.\n\nThe implementation handles:\n- ARN construction from knowledge base ID (if ARN not provided)\n- IAM permission generation for Bedrock Retrieve and RetrieveAndGenerate APIs\n- Optional guardrail configuration for content filtering\n- Runtime configuration export for the retrieval tool",
7212
+ "stability": "experimental",
7213
+ "summary": "Amazon Bedrock Knowledge Base implementation."
7214
+ },
7215
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockKnowledgeBase",
7216
+ "initializer": {
7217
+ "docs": {
7218
+ "custom": {
7219
+ "throws": "Error if knowledgeBaseId is empty or not provided"
7220
+ },
7221
+ "stability": "experimental",
7222
+ "summary": "Creates a new BedrockKnowledgeBase instance."
7223
+ },
7224
+ "locationInModule": {
7225
+ "filename": "use-cases/framework/agents/knowledge-base/bedrock-knowledge-base.ts",
7226
+ "line": 92
7227
+ },
7228
+ "parameters": [
7229
+ {
7230
+ "docs": {
7231
+ "summary": "- The scope in which to define this construct."
7232
+ },
7233
+ "name": "scope",
7234
+ "type": {
7235
+ "fqn": "constructs.Construct"
7236
+ }
7237
+ },
7238
+ {
7239
+ "docs": {
7240
+ "summary": "- The scoped construct ID."
7241
+ },
7242
+ "name": "id",
7243
+ "type": {
7244
+ "primitive": "string"
7245
+ }
7246
+ },
7247
+ {
7248
+ "docs": {
7249
+ "summary": "- Configuration properties for the Bedrock Knowledge Base."
7250
+ },
7251
+ "name": "props",
7252
+ "type": {
7253
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockKnowledgeBaseProps"
7254
+ }
7255
+ }
7256
+ ]
7257
+ },
7258
+ "kind": "class",
7259
+ "locationInModule": {
7260
+ "filename": "use-cases/framework/agents/knowledge-base/bedrock-knowledge-base.ts",
7261
+ "line": 31
7262
+ },
7263
+ "methods": [
7264
+ {
7265
+ "docs": {
7266
+ "remarks": "Returns a configuration object containing all Bedrock-specific\nsettings needed to query the knowledge base at runtime, including:\n- Base configuration (name, description, retrieval, acl)\n- Knowledge base type ('bedrock')\n- Knowledge base ID and ARN\n- Vector store configuration\n- Guardrail configuration (if present)",
7267
+ "returns": "Runtime configuration object for the retrieval tool",
7268
+ "stability": "experimental",
7269
+ "summary": "Export configuration for runtime use by the retrieval tool."
7270
+ },
7271
+ "locationInModule": {
7272
+ "filename": "use-cases/framework/agents/knowledge-base/bedrock-knowledge-base.ts",
7273
+ "line": 237
7274
+ },
7275
+ "name": "exportConfiguration",
7276
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBase",
7277
+ "returns": {
7278
+ "type": {
7279
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.KnowledgeBaseRuntimeConfig"
7280
+ }
7281
+ }
7282
+ },
7283
+ {
7284
+ "docs": {
7285
+ "remarks": "Returns permissions for:\n- bedrock:Retrieve - Query the knowledge base\n- bedrock:RetrieveAndGenerate - Query and generate responses\n- bedrock:ApplyGuardrail - Apply guardrail (if configured)\n- s3:GetObject - Access S3 vectors (if using S3 Vectors with custom bucket)\n- s3:GetObject - Access data source bucket (if create config provided)\n\nAll permissions are scoped to the specific knowledge base ARN\nfollowing the principle of least privilege.",
7286
+ "returns": "Array of IAM PolicyStatement objects granting necessary permissions",
7287
+ "stability": "experimental",
7288
+ "summary": "Generate IAM policy statements required for accessing this Bedrock Knowledge Base."
7289
+ },
7290
+ "locationInModule": {
7291
+ "filename": "use-cases/framework/agents/knowledge-base/bedrock-knowledge-base.ts",
7292
+ "line": 170
7293
+ },
7294
+ "name": "generateIamPermissions",
7295
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBase",
7296
+ "returns": {
7297
+ "type": {
7298
+ "collection": {
7299
+ "elementtype": {
7300
+ "fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
7301
+ },
7302
+ "kind": "array"
7303
+ }
7304
+ }
7305
+ }
7306
+ },
7307
+ {
7308
+ "docs": {
7309
+ "remarks": "Returns an Asset containing the Python retrieval tool that uses\nthe Amazon Bedrock Agent Runtime API to query knowledge bases.\nThis tool is automatically added to agents that use Bedrock\nknowledge bases.",
7310
+ "returns": "Asset containing the Bedrock retrieval tool",
7311
+ "stability": "experimental",
7312
+ "summary": "Provide the Bedrock-specific retrieval tool asset."
7313
+ },
7314
+ "locationInModule": {
7315
+ "filename": "use-cases/framework/agents/knowledge-base/bedrock-knowledge-base.ts",
7316
+ "line": 258
7317
+ },
7318
+ "name": "retrievalToolAsset",
7319
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBase",
7320
+ "returns": {
7321
+ "type": {
7322
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset"
7323
+ }
7324
+ }
7325
+ }
7326
+ ],
7327
+ "name": "BedrockKnowledgeBase",
7328
+ "properties": [
7329
+ {
7330
+ "docs": {
7331
+ "remarks": "If not provided in props, this is constructed from the knowledgeBaseId\nusing the current region and account.",
7332
+ "stability": "experimental",
7333
+ "summary": "The ARN of the Bedrock Knowledge Base."
7334
+ },
7335
+ "immutable": true,
7336
+ "locationInModule": {
7337
+ "filename": "use-cases/framework/agents/knowledge-base/bedrock-knowledge-base.ts",
7338
+ "line": 45
7339
+ },
7340
+ "name": "knowledgeBaseArn",
7341
+ "type": {
7342
+ "primitive": "string"
7343
+ }
7344
+ },
7345
+ {
7346
+ "docs": {
7347
+ "remarks": "This is the ID assigned by Bedrock when the knowledge base was created.",
7348
+ "stability": "experimental",
7349
+ "summary": "The unique identifier for the Bedrock Knowledge Base."
7350
+ },
7351
+ "immutable": true,
7352
+ "locationInModule": {
7353
+ "filename": "use-cases/framework/agents/knowledge-base/bedrock-knowledge-base.ts",
7354
+ "line": 37
7355
+ },
7356
+ "name": "knowledgeBaseId",
7357
+ "type": {
7358
+ "primitive": "string"
7359
+ }
7360
+ }
7361
+ ],
7362
+ "symbolId": "use-cases/framework/agents/knowledge-base/bedrock-knowledge-base:BedrockKnowledgeBase"
7363
+ },
7364
+ "@cdklabs/cdk-appmod-catalog-blueprints.BedrockKnowledgeBaseProps": {
7365
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7366
+ "datatype": true,
7367
+ "docs": {
7368
+ "remarks": "This interface extends the base configuration with Bedrock-specific\nproperties for connecting to an existing Bedrock Knowledge Base.",
7369
+ "stability": "experimental",
7370
+ "summary": "Configuration for Amazon Bedrock Knowledge Base."
7371
+ },
7372
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockKnowledgeBaseProps",
7373
+ "interfaces": [
7374
+ "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBaseProps"
7375
+ ],
7376
+ "kind": "interface",
7377
+ "locationInModule": {
7378
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
7379
+ "line": 259
7380
+ },
7381
+ "name": "BedrockKnowledgeBaseProps",
7382
+ "properties": [
7383
+ {
7384
+ "abstract": true,
7385
+ "docs": {
7386
+ "remarks": "This is the ID assigned by Bedrock when the knowledge base was created.\nYou can find this in the Bedrock console or via the AWS CLI.\n\nRequired when referencing an existing knowledge base.\nNot required when using the `create` property to create a new KB.",
7387
+ "stability": "experimental",
7388
+ "summary": "Unique identifier for the Bedrock Knowledge Base."
7389
+ },
7390
+ "immutable": true,
7391
+ "locationInModule": {
7392
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
7393
+ "line": 269
7394
+ },
7395
+ "name": "knowledgeBaseId",
7396
+ "type": {
7397
+ "primitive": "string"
7398
+ }
7399
+ },
7400
+ {
7401
+ "abstract": true,
7402
+ "docs": {
7403
+ "default": "- Reference existing KB only (no creation)",
7404
+ "remarks": "When provided, a new Bedrock Knowledge Base will be created with\nthe specified data source and embedding configuration.\n\nNote: This is an advanced feature that creates AWS resources.\nFor most use cases, referencing an existing knowledge base by ID\nis recommended.",
7405
+ "stability": "experimental",
7406
+ "summary": "Configuration for creating a new knowledge base."
7407
+ },
7408
+ "immutable": true,
7409
+ "locationInModule": {
7410
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
7411
+ "line": 314
7412
+ },
7413
+ "name": "create",
7414
+ "optional": true,
7415
+ "type": {
7416
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CreateKnowledgeBaseConfiguration"
7417
+ }
7418
+ },
7419
+ {
7420
+ "abstract": true,
7421
+ "docs": {
7422
+ "default": "- No guardrail applied",
7423
+ "remarks": "When configured, the guardrail will be applied during retrieval\noperations to filter inappropriate or sensitive content.",
7424
+ "stability": "experimental",
7425
+ "summary": "Guardrail configuration for content filtering."
7426
+ },
7427
+ "immutable": true,
7428
+ "locationInModule": {
7429
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
7430
+ "line": 300
7431
+ },
7432
+ "name": "guardrail",
7433
+ "optional": true,
7434
+ "type": {
7435
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.GuardrailConfiguration"
7436
+ }
7437
+ },
7438
+ {
7439
+ "abstract": true,
7440
+ "docs": {
7441
+ "default": "- Constructed from knowledgeBaseId",
7442
+ "remarks": "If not provided, the ARN will be constructed from the knowledgeBaseId\nusing the current region and account.",
7443
+ "stability": "experimental",
7444
+ "summary": "ARN of the Bedrock Knowledge Base."
7445
+ },
7446
+ "immutable": true,
7447
+ "locationInModule": {
7448
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
7449
+ "line": 279
7450
+ },
7451
+ "name": "knowledgeBaseArn",
7452
+ "optional": true,
7453
+ "type": {
7454
+ "primitive": "string"
7455
+ }
7456
+ },
7457
+ {
7458
+ "abstract": true,
7459
+ "docs": {
7460
+ "default": "- S3 Vectors (type: 's3-vectors')",
7461
+ "remarks": "Defines the type of vector store used by this knowledge base.\nThis is informational and used for generating appropriate IAM\npermissions when needed.",
7462
+ "stability": "experimental",
7463
+ "summary": "Vector store configuration."
7464
+ },
7465
+ "immutable": true,
7466
+ "locationInModule": {
7467
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
7468
+ "line": 290
7469
+ },
7470
+ "name": "vectorStore",
7471
+ "optional": true,
7472
+ "type": {
7473
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.VectorStoreConfiguration"
7474
+ }
7475
+ }
7476
+ ],
7477
+ "symbolId": "use-cases/framework/agents/knowledge-base/knowledge-base-props:BedrockKnowledgeBaseProps"
7478
+ },
6630
7479
  "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps": {
6631
7480
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6632
7481
  "datatype": true,
@@ -7986,6 +8835,108 @@
7986
8835
  ],
7987
8836
  "symbolId": "use-cases/document-processing/chunking-config:CleanupResponse"
7988
8837
  },
8838
+ "@cdklabs/cdk-appmod-catalog-blueprints.CloudWatchTransactionSearch": {
8839
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
8840
+ "base": "constructs.Construct",
8841
+ "docs": {
8842
+ "remarks": "This construct configures account-level settings to enable cost-effective\ncollection of all X-Ray spans through CloudWatch Logs. It performs three steps:\n\n1. Creates a CloudWatch Logs resource-based policy allowing X-Ray to send traces\n2. Configures X-Ray to send trace segments to CloudWatch Logs\n3. Sets the sampling percentage for span indexing (default 1%)\n\nThe construct checks if Transaction Search is already enabled and only applies\nconfiguration if needed. It's idempotent and safe to deploy multiple times.\n\n## Benefits\n- Cost-effective: Uses CloudWatch Logs pricing instead of X-Ray pricing\n- Full visibility: All spans are collected and searchable\n- Automatic indexing: 1% of spans indexed by default for trace summaries\n\n## Usage\n```typescript\nnew CloudWatchTransactionSearch(this, 'TransactionSearch', {\n samplingPercentage: 1 // Optional: 1% is default\n});\n```",
8843
+ "see": "https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Enable-TransactionSearch.html",
8844
+ "stability": "experimental",
8845
+ "summary": "Enables CloudWatch Transaction Search for X-Ray traces."
8846
+ },
8847
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CloudWatchTransactionSearch",
8848
+ "initializer": {
8849
+ "docs": {
8850
+ "stability": "experimental"
8851
+ },
8852
+ "locationInModule": {
8853
+ "filename": "use-cases/utilities/observability/cloudwatch-transaction-search.ts",
8854
+ "line": 58
8855
+ },
8856
+ "parameters": [
8857
+ {
8858
+ "name": "scope",
8859
+ "type": {
8860
+ "fqn": "constructs.Construct"
8861
+ }
8862
+ },
8863
+ {
8864
+ "name": "id",
8865
+ "type": {
8866
+ "primitive": "string"
8867
+ }
8868
+ },
8869
+ {
8870
+ "name": "props",
8871
+ "optional": true,
8872
+ "type": {
8873
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CloudWatchTransactionSearchProps"
8874
+ }
8875
+ }
8876
+ ]
8877
+ },
8878
+ "kind": "class",
8879
+ "locationInModule": {
8880
+ "filename": "use-cases/utilities/observability/cloudwatch-transaction-search.ts",
8881
+ "line": 57
8882
+ },
8883
+ "name": "CloudWatchTransactionSearch",
8884
+ "symbolId": "use-cases/utilities/observability/cloudwatch-transaction-search:CloudWatchTransactionSearch"
8885
+ },
8886
+ "@cdklabs/cdk-appmod-catalog-blueprints.CloudWatchTransactionSearchProps": {
8887
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
8888
+ "datatype": true,
8889
+ "docs": {
8890
+ "stability": "experimental",
8891
+ "summary": "Configuration properties for CloudWatch Transaction Search."
8892
+ },
8893
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CloudWatchTransactionSearchProps",
8894
+ "kind": "interface",
8895
+ "locationInModule": {
8896
+ "filename": "use-cases/utilities/observability/cloudwatch-transaction-search.ts",
8897
+ "line": 14
8898
+ },
8899
+ "name": "CloudWatchTransactionSearchProps",
8900
+ "properties": [
8901
+ {
8902
+ "abstract": true,
8903
+ "docs": {
8904
+ "default": "'TransactionSearchXRayAccess'",
8905
+ "stability": "experimental",
8906
+ "summary": "Name of the CloudWatch Logs resource policy."
8907
+ },
8908
+ "immutable": true,
8909
+ "locationInModule": {
8910
+ "filename": "use-cases/utilities/observability/cloudwatch-transaction-search.ts",
8911
+ "line": 27
8912
+ },
8913
+ "name": "policyName",
8914
+ "optional": true,
8915
+ "type": {
8916
+ "primitive": "string"
8917
+ }
8918
+ },
8919
+ {
8920
+ "abstract": true,
8921
+ "docs": {
8922
+ "default": "1 (1% of spans indexed)",
8923
+ "stability": "experimental",
8924
+ "summary": "Sampling percentage for span indexing."
8925
+ },
8926
+ "immutable": true,
8927
+ "locationInModule": {
8928
+ "filename": "use-cases/utilities/observability/cloudwatch-transaction-search.ts",
8929
+ "line": 20
8930
+ },
8931
+ "name": "samplingPercentage",
8932
+ "optional": true,
8933
+ "type": {
8934
+ "primitive": "number"
8935
+ }
8936
+ }
8937
+ ],
8938
+ "symbolId": "use-cases/utilities/observability/cloudwatch-transaction-search:CloudWatchTransactionSearchProps"
8939
+ },
7989
8940
  "@cdklabs/cdk-appmod-catalog-blueprints.CloudfrontDistributionObservabilityPropertyInjector": {
7990
8941
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7991
8942
  "docs": {
@@ -8063,193 +9014,136 @@
8063
9014
  ],
8064
9015
  "symbolId": "use-cases/utilities/observability/cloudfront-distribution-observability-property-injector:CloudfrontDistributionObservabilityPropertyInjector"
8065
9016
  },
8066
- "@cdklabs/cdk-appmod-catalog-blueprints.CognitoAuthenticator": {
9017
+ "@cdklabs/cdk-appmod-catalog-blueprints.CreateKnowledgeBaseConfiguration": {
8067
9018
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
9019
+ "datatype": true,
8068
9020
  "docs": {
8069
- "remarks": "Creates a Cognito User Pool and integrates with API Gateway REST API\nusing the native COGNITO_USER_POOLS authorizer type. Clients send\nJWT tokens in the Authorization header.\n\n## Features\n\n- **Native JWT Validation**: API Gateway validates tokens without custom Lambda\n- **User Management**: Built-in user registration and management\n- **Password Policies**: Enforces strong password requirements\n- **Account Recovery**: Email-based account recovery\n\n## Usage\n\n```typescript\nimport { Asset } from 'aws-cdk-lib/aws-s3-assets';\nimport { RemovalPolicy } from 'aws-cdk-lib';\nimport { InteractiveAgent, CognitoAuthenticator } from '@cdklabs/cdk-appmod-catalog-blueprints';\n\nconst myPrompt = new Asset(this, 'Prompt', { path: './prompt.txt' });\nconst authenticator = new CognitoAuthenticator({\n removalPolicy: RemovalPolicy.RETAIN\n});\n\nconst agent = new InteractiveAgent(this, 'Agent', {\n agentName: 'ChatAgent',\n agentDefinition: { bedrockModel: {}, systemPrompt: myPrompt },\n authenticator\n});\n```",
9021
+ "remarks": "When provided to BedrockKnowledgeBase, a new knowledge base will be\ncreated with the specified data source and embedding configuration.\n\nNote: This is an advanced feature. For most use cases, referencing\nan existing knowledge base by ID is recommended.",
8070
9022
  "stability": "experimental",
8071
- "summary": "Cognito-based authenticator for securing REST API endpoints."
8072
- },
8073
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CognitoAuthenticator",
8074
- "initializer": {
8075
- "docs": {
8076
- "stability": "experimental"
8077
- },
8078
- "locationInModule": {
8079
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8080
- "line": 601
8081
- },
8082
- "parameters": [
8083
- {
8084
- "name": "props",
8085
- "optional": true,
8086
- "type": {
8087
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CognitoAuthenticatorProps"
8088
- }
8089
- }
8090
- ]
9023
+ "summary": "Configuration for creating a new Bedrock Knowledge Base."
8091
9024
  },
8092
- "interfaces": [
8093
- "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator"
8094
- ],
8095
- "kind": "class",
9025
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CreateKnowledgeBaseConfiguration",
9026
+ "kind": "interface",
8096
9027
  "locationInModule": {
8097
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8098
- "line": 587
9028
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
9029
+ "line": 147
8099
9030
  },
8100
- "methods": [
9031
+ "name": "CreateKnowledgeBaseConfiguration",
9032
+ "properties": [
8101
9033
  {
9034
+ "abstract": true,
8102
9035
  "docs": {
9036
+ "remarks": "The bucket must exist and contain the documents to be indexed.",
8103
9037
  "stability": "experimental",
8104
- "summary": "Get environment variables for Lambda configuration."
9038
+ "summary": "S3 bucket name containing source documents."
8105
9039
  },
9040
+ "immutable": true,
8106
9041
  "locationInModule": {
8107
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8108
- "line": 635
9042
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
9043
+ "line": 153
8109
9044
  },
8110
- "name": "environmentVariables",
8111
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator",
8112
- "returns": {
8113
- "type": {
8114
- "collection": {
8115
- "elementtype": {
8116
- "primitive": "string"
8117
- },
8118
- "kind": "map"
8119
- }
8120
- }
9045
+ "name": "dataSourceBucketName",
9046
+ "type": {
9047
+ "primitive": "string"
8121
9048
  }
8122
9049
  },
8123
9050
  {
9051
+ "abstract": true,
8124
9052
  "docs": {
8125
- "remarks": "Grants permissions to verify Cognito tokens.",
8126
- "stability": "experimental",
8127
- "summary": "Grant authentication permissions to a Lambda function."
8128
- },
8129
- "locationInModule": {
8130
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8131
- "line": 611
8132
- },
8133
- "name": "grantAuthenticate",
8134
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator",
8135
- "parameters": [
8136
- {
8137
- "name": "lambdaFunction",
8138
- "type": {
8139
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
8140
- }
8141
- }
8142
- ]
8143
- }
8144
- ],
8145
- "name": "CognitoAuthenticator",
8146
- "properties": [
8147
- {
8148
- "docs": {
9053
+ "default": "'fixed-size'",
9054
+ "remarks": "- 'fixed-size': Split documents into fixed-size chunks\n- 'semantic': Use semantic boundaries for chunking\n- 'none': No chunking (use entire documents)",
8149
9055
  "stability": "experimental",
8150
- "summary": "The Cognito User Pool."
9056
+ "summary": "Chunking strategy for document processing."
8151
9057
  },
8152
9058
  "immutable": true,
8153
9059
  "locationInModule": {
8154
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8155
- "line": 591
9060
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
9061
+ "line": 182
8156
9062
  },
8157
- "name": "userPool",
9063
+ "name": "chunkingStrategy",
8158
9064
  "optional": true,
8159
9065
  "type": {
8160
- "fqn": "aws-cdk-lib.aws_cognito.UserPool"
9066
+ "primitive": "string"
8161
9067
  }
8162
9068
  },
8163
9069
  {
9070
+ "abstract": true,
8164
9071
  "docs": {
9072
+ "default": "- Root of bucket (all documents)",
9073
+ "remarks": "Only documents under this prefix will be indexed.",
8165
9074
  "stability": "experimental",
8166
- "summary": "The Cognito User Pool Client."
9075
+ "summary": "S3 prefix for source documents within the bucket."
8167
9076
  },
8168
9077
  "immutable": true,
8169
9078
  "locationInModule": {
8170
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8171
- "line": 596
9079
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
9080
+ "line": 162
8172
9081
  },
8173
- "name": "userPoolClient",
9082
+ "name": "dataSourcePrefix",
8174
9083
  "optional": true,
8175
9084
  "type": {
8176
- "fqn": "aws-cdk-lib.aws_cognito.UserPoolClient"
9085
+ "primitive": "string"
8177
9086
  }
8178
- }
8179
- ],
8180
- "symbolId": "use-cases/framework/agents/interactive-agent:CognitoAuthenticator"
8181
- },
8182
- "@cdklabs/cdk-appmod-catalog-blueprints.CognitoAuthenticatorProps": {
8183
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
8184
- "datatype": true,
8185
- "docs": {
8186
- "stability": "experimental",
8187
- "summary": "Configuration properties for CognitoAuthenticator."
8188
- },
8189
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CognitoAuthenticatorProps",
8190
- "kind": "interface",
8191
- "locationInModule": {
8192
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8193
- "line": 531
8194
- },
8195
- "name": "CognitoAuthenticatorProps",
8196
- "properties": [
9087
+ },
8197
9088
  {
8198
9089
  "abstract": true,
8199
9090
  "docs": {
8200
- "default": "RemovalPolicy.DESTROY",
9091
+ "default": "'amazon.titan-embed-text-v2:0'",
9092
+ "remarks": "Must be a valid Bedrock embedding model ID.",
8201
9093
  "stability": "experimental",
8202
- "summary": "Removal policy for Cognito resources."
9094
+ "summary": "Embedding model to use for vectorization."
8203
9095
  },
8204
9096
  "immutable": true,
8205
9097
  "locationInModule": {
8206
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8207
- "line": 551
9098
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
9099
+ "line": 171
8208
9100
  },
8209
- "name": "removalPolicy",
9101
+ "name": "embeddingModelId",
8210
9102
  "optional": true,
8211
9103
  "type": {
8212
- "fqn": "aws-cdk-lib.RemovalPolicy"
9104
+ "primitive": "string"
8213
9105
  }
8214
9106
  },
8215
9107
  {
8216
9108
  "abstract": true,
8217
9109
  "docs": {
8218
- "default": "Auto-created User Pool with secure defaults",
9110
+ "default": "300",
9111
+ "remarks": "Only used when chunkingStrategy is 'fixed-size'.",
8219
9112
  "stability": "experimental",
8220
- "summary": "Cognito User Pool for authentication."
9113
+ "summary": "Maximum chunk size in tokens (for fixed-size chunking)."
8221
9114
  },
8222
9115
  "immutable": true,
8223
9116
  "locationInModule": {
8224
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8225
- "line": 537
9117
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
9118
+ "line": 191
8226
9119
  },
8227
- "name": "userPool",
9120
+ "name": "maxTokens",
8228
9121
  "optional": true,
8229
9122
  "type": {
8230
- "fqn": "aws-cdk-lib.aws_cognito.UserPool"
9123
+ "primitive": "number"
8231
9124
  }
8232
9125
  },
8233
9126
  {
8234
9127
  "abstract": true,
8235
9128
  "docs": {
8236
- "default": "Auto-created client with appropriate auth flows",
9129
+ "default": "20",
9130
+ "remarks": "Only used when chunkingStrategy is 'fixed-size'.",
8237
9131
  "stability": "experimental",
8238
- "summary": "Cognito User Pool Client."
9132
+ "summary": "Overlap between chunks in tokens (for fixed-size chunking)."
8239
9133
  },
8240
9134
  "immutable": true,
8241
9135
  "locationInModule": {
8242
- "filename": "use-cases/framework/agents/interactive-agent.ts",
8243
- "line": 544
9136
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
9137
+ "line": 200
8244
9138
  },
8245
- "name": "userPoolClient",
9139
+ "name": "overlapTokens",
8246
9140
  "optional": true,
8247
9141
  "type": {
8248
- "fqn": "aws-cdk-lib.aws_cognito.UserPoolClient"
9142
+ "primitive": "number"
8249
9143
  }
8250
9144
  }
8251
9145
  ],
8252
- "symbolId": "use-cases/framework/agents/interactive-agent:CognitoAuthenticatorProps"
9146
+ "symbolId": "use-cases/framework/agents/knowledge-base/knowledge-base-props:CreateKnowledgeBaseConfiguration"
8253
9147
  },
8254
9148
  "@cdklabs/cdk-appmod-catalog-blueprints.CustomDomainConfig": {
8255
9149
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -9863,6 +10757,61 @@
9863
10757
  ],
9864
10758
  "symbolId": "use-cases/webapp/frontend-construct:FrontendProps"
9865
10759
  },
10760
+ "@cdklabs/cdk-appmod-catalog-blueprints.GuardrailConfiguration": {
10761
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
10762
+ "datatype": true,
10763
+ "docs": {
10764
+ "remarks": "Guardrails filter content during retrieval operations to prevent\ninappropriate or sensitive content from being returned.",
10765
+ "stability": "experimental",
10766
+ "summary": "Configuration for Bedrock Guardrails."
10767
+ },
10768
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.GuardrailConfiguration",
10769
+ "kind": "interface",
10770
+ "locationInModule": {
10771
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
10772
+ "line": 68
10773
+ },
10774
+ "name": "GuardrailConfiguration",
10775
+ "properties": [
10776
+ {
10777
+ "abstract": true,
10778
+ "docs": {
10779
+ "remarks": "The guardrail must exist in the same region as the knowledge base.",
10780
+ "stability": "experimental",
10781
+ "summary": "ID of the Bedrock Guardrail to apply."
10782
+ },
10783
+ "immutable": true,
10784
+ "locationInModule": {
10785
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
10786
+ "line": 74
10787
+ },
10788
+ "name": "guardrailId",
10789
+ "type": {
10790
+ "primitive": "string"
10791
+ }
10792
+ },
10793
+ {
10794
+ "abstract": true,
10795
+ "docs": {
10796
+ "default": "'DRAFT'",
10797
+ "remarks": "Use 'DRAFT' for testing or a specific version number for production.",
10798
+ "stability": "experimental",
10799
+ "summary": "Version of the guardrail to use."
10800
+ },
10801
+ "immutable": true,
10802
+ "locationInModule": {
10803
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
10804
+ "line": 83
10805
+ },
10806
+ "name": "guardrailVersion",
10807
+ "optional": true,
10808
+ "type": {
10809
+ "primitive": "string"
10810
+ }
10811
+ }
10812
+ ],
10813
+ "symbolId": "use-cases/framework/agents/knowledge-base/knowledge-base-props:GuardrailConfiguration"
10814
+ },
9866
10815
  "@cdklabs/cdk-appmod-catalog-blueprints.HybridConfig": {
9867
10816
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
9868
10817
  "datatype": true,
@@ -10208,170 +11157,149 @@
10208
11157
  "name": "IAdapter",
10209
11158
  "symbolId": "use-cases/document-processing/adapter/adapter:IAdapter"
10210
11159
  },
10211
- "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator": {
11160
+ "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase": {
10212
11161
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
10213
11162
  "docs": {
10214
- "remarks": "Authenticators control how API endpoints are secured.\nDifferent implementations support various authentication methods.",
11163
+ "remarks": "This interface defines the contract that all knowledge base implementations must satisfy,\nallowing different KB backends (Bedrock KB, OpenSearch, custom) to be used interchangeably\nwith the agent framework.\n\nImplementations of this interface are responsible for:\n- Providing metadata about the knowledge base (name, description)\n- Generating the IAM permissions required for the agent to access the KB\n- Exporting runtime configuration for the retrieval tool\n- Optionally providing a custom retrieval tool implementation",
10215
11164
  "stability": "experimental",
10216
- "summary": "Strategy interface for authentication mechanisms."
11165
+ "summary": "Interface for knowledge base implementations."
10217
11166
  },
10218
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator",
11167
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.IKnowledgeBase",
10219
11168
  "kind": "interface",
10220
11169
  "locationInModule": {
10221
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10222
- "line": 516
11170
+ "filename": "use-cases/framework/agents/knowledge-base/i-knowledge-base.ts",
11171
+ "line": 22
10223
11172
  },
10224
11173
  "methods": [
10225
11174
  {
10226
11175
  "abstract": true,
10227
11176
  "docs": {
11177
+ "remarks": "This method returns a configuration object that will be serialized\nand passed to the retrieval tool via environment variables. The\nconfiguration includes all information needed to query the KB at runtime.",
11178
+ "returns": "Runtime configuration object for the retrieval tool",
10228
11179
  "stability": "experimental",
10229
- "summary": "Get environment variables for Lambda configuration."
11180
+ "summary": "Export configuration for runtime use by the retrieval tool."
10230
11181
  },
10231
11182
  "locationInModule": {
10232
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10233
- "line": 525
11183
+ "filename": "use-cases/framework/agents/knowledge-base/i-knowledge-base.ts",
11184
+ "line": 66
10234
11185
  },
10235
- "name": "environmentVariables",
11186
+ "name": "exportConfiguration",
10236
11187
  "returns": {
10237
11188
  "type": {
10238
- "collection": {
10239
- "elementtype": {
10240
- "primitive": "string"
10241
- },
10242
- "kind": "map"
10243
- }
11189
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.KnowledgeBaseRuntimeConfig"
10244
11190
  }
10245
11191
  }
10246
11192
  },
10247
11193
  {
10248
11194
  "abstract": true,
10249
11195
  "docs": {
11196
+ "remarks": "This method returns the IAM permissions that the agent's Lambda function\nrole needs to query this knowledge base. The permissions should follow\nthe principle of least privilege, scoped to the specific resources.",
11197
+ "returns": "Array of IAM PolicyStatement objects granting necessary permissions",
10250
11198
  "stability": "experimental",
10251
- "summary": "Grant authentication permissions to a Lambda function."
11199
+ "summary": "Generate IAM policy statements required for accessing this knowledge base."
10252
11200
  },
10253
11201
  "locationInModule": {
10254
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10255
- "line": 520
11202
+ "filename": "use-cases/framework/agents/knowledge-base/i-knowledge-base.ts",
11203
+ "line": 55
10256
11204
  },
10257
- "name": "grantAuthenticate",
10258
- "parameters": [
10259
- {
10260
- "name": "lambdaFunction",
10261
- "type": {
10262
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
11205
+ "name": "generateIamPermissions",
11206
+ "returns": {
11207
+ "type": {
11208
+ "collection": {
11209
+ "elementtype": {
11210
+ "fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
11211
+ },
11212
+ "kind": "array"
10263
11213
  }
10264
11214
  }
10265
- ]
10266
- }
10267
- ],
10268
- "name": "IAuthenticator",
10269
- "symbolId": "use-cases/framework/agents/interactive-agent:IAuthenticator"
10270
- },
10271
- "@cdklabs/cdk-appmod-catalog-blueprints.ICommunicationAdapter": {
10272
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
10273
- "docs": {
10274
- "remarks": "Default implementation is StreamingHttpAdapter (API Gateway REST API with response streaming).",
10275
- "stability": "experimental",
10276
- "summary": "Strategy interface for pluggable communication mechanisms."
10277
- },
10278
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ICommunicationAdapter",
10279
- "kind": "interface",
10280
- "locationInModule": {
10281
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10282
- "line": 32
10283
- },
10284
- "methods": [
11215
+ }
11216
+ },
10285
11217
  {
10286
11218
  "abstract": true,
10287
11219
  "docs": {
10288
- "remarks": "Returns the public endpoint URL for client connections.",
11220
+ "remarks": "This optional method allows knowledge base implementations to provide\na custom retrieval tool. If not implemented or returns undefined,\nthe framework's default retrieval tool will be used.",
11221
+ "returns": "S3 Asset containing the retrieval tool code, or undefined to use the default",
10289
11222
  "stability": "experimental",
10290
- "summary": "Attach the adapter to a Lambda function and create communication infrastructure."
11223
+ "summary": "Provide the retrieval tool asset for this knowledge base type."
10291
11224
  },
10292
11225
  "locationInModule": {
10293
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10294
- "line": 37
11226
+ "filename": "use-cases/framework/agents/knowledge-base/i-knowledge-base.ts",
11227
+ "line": 77
10295
11228
  },
10296
- "name": "attachToFunction",
10297
- "parameters": [
10298
- {
10299
- "name": "lambdaFunction",
10300
- "type": {
10301
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
10302
- }
10303
- }
10304
- ],
11229
+ "name": "retrievalToolAsset",
10305
11230
  "returns": {
11231
+ "optional": true,
10306
11232
  "type": {
10307
- "primitive": "string"
11233
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset"
10308
11234
  }
10309
11235
  }
10310
11236
  },
10311
11237
  {
10312
11238
  "abstract": true,
10313
11239
  "docs": {
11240
+ "remarks": "This optional method allows knowledge base implementations to provide\nLambda layers containing dependencies needed by their retrieval tool.\nFor example, a knowledge base might need specific boto3 versions,\ncustom libraries, or SDK extensions.\n\nThe layers will be added to the agent's Lambda function, making the\ndependencies available to the retrieval tool at runtime.",
11241
+ "returns": "Array of Lambda LayerVersion objects, or undefined if no layers needed",
10314
11242
  "stability": "experimental",
10315
- "summary": "Grant the Lambda function permission to send responses back to clients."
11243
+ "summary": "Provide Lambda layers required by the retrieval tool."
10316
11244
  },
10317
11245
  "locationInModule": {
10318
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10319
- "line": 42
11246
+ "filename": "use-cases/framework/agents/knowledge-base/i-knowledge-base.ts",
11247
+ "line": 92
10320
11248
  },
10321
- "name": "grantInvoke",
10322
- "parameters": [
10323
- {
10324
- "name": "lambdaFunction",
10325
- "type": {
10326
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
11249
+ "name": "retrievalToolLayers",
11250
+ "returns": {
11251
+ "optional": true,
11252
+ "type": {
11253
+ "collection": {
11254
+ "elementtype": {
11255
+ "fqn": "aws-cdk-lib.aws_lambda.LayerVersion"
11256
+ },
11257
+ "kind": "array"
10327
11258
  }
10328
11259
  }
10329
- ]
11260
+ }
10330
11261
  }
10331
11262
  ],
10332
- "name": "ICommunicationAdapter",
10333
- "symbolId": "use-cases/framework/agents/interactive-agent:ICommunicationAdapter"
10334
- },
10335
- "@cdklabs/cdk-appmod-catalog-blueprints.IContextStrategy": {
10336
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
10337
- "docs": {
10338
- "remarks": "Context strategies control how conversation history is maintained and provided\nto the agent. Different strategies enable different conversation patterns.",
10339
- "stability": "experimental",
10340
- "summary": "Strategy interface for conversation history management."
10341
- },
10342
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.IContextStrategy",
10343
- "kind": "interface",
10344
- "locationInModule": {
10345
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10346
- "line": 421
10347
- },
10348
- "methods": [
11263
+ "name": "IKnowledgeBase",
11264
+ "properties": [
11265
+ {
11266
+ "abstract": true,
11267
+ "docs": {
11268
+ "example": "'Contains product documentation, user guides, and FAQs. Use when answering questions about product features or troubleshooting.'",
11269
+ "remarks": "This description is included in the agent's system prompt to help\nthe agent decide when to query this knowledge base. It should clearly\nindicate what type of information the KB contains and when it should\nbe used.",
11270
+ "stability": "experimental",
11271
+ "summary": "Human-readable description of what this knowledge base contains."
11272
+ },
11273
+ "immutable": true,
11274
+ "locationInModule": {
11275
+ "filename": "use-cases/framework/agents/knowledge-base/i-knowledge-base.ts",
11276
+ "line": 44
11277
+ },
11278
+ "name": "description",
11279
+ "type": {
11280
+ "primitive": "string"
11281
+ }
11282
+ },
10349
11283
  {
10350
11284
  "abstract": true,
10351
11285
  "docs": {
10352
- "returns": "Environment variables to configure the context manager",
11286
+ "example": "'product-documentation'",
11287
+ "remarks": "This name is used for logging, display purposes, and to help the agent\nidentify which knowledge base to query. It should be unique within\nthe set of knowledge bases configured for an agent.",
10353
11288
  "stability": "experimental",
10354
- "summary": "Get environment variables for Lambda configuration."
11289
+ "summary": "Human-readable name for this knowledge base."
10355
11290
  },
11291
+ "immutable": true,
10356
11292
  "locationInModule": {
10357
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10358
- "line": 427
11293
+ "filename": "use-cases/framework/agents/knowledge-base/i-knowledge-base.ts",
11294
+ "line": 32
10359
11295
  },
10360
- "name": "environmentVariables",
10361
- "returns": {
10362
- "type": {
10363
- "collection": {
10364
- "elementtype": {
10365
- "primitive": "string"
10366
- },
10367
- "kind": "map"
10368
- }
10369
- }
11296
+ "name": "name",
11297
+ "type": {
11298
+ "primitive": "string"
10370
11299
  }
10371
11300
  }
10372
11301
  ],
10373
- "name": "IContextStrategy",
10374
- "symbolId": "use-cases/framework/agents/interactive-agent:IContextStrategy"
11302
+ "symbolId": "use-cases/framework/agents/knowledge-base/i-knowledge-base:IKnowledgeBase"
10375
11303
  },
10376
11304
  "@cdklabs/cdk-appmod-catalog-blueprints.IObservable": {
10377
11305
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -10458,440 +11386,242 @@
10458
11386
  ],
10459
11387
  "symbolId": "use-cases/utilities/observability/observable:IObservable"
10460
11388
  },
10461
- "@cdklabs/cdk-appmod-catalog-blueprints.ISessionStore": {
11389
+ "@cdklabs/cdk-appmod-catalog-blueprints.InvokeType": {
10462
11390
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
10463
11391
  "docs": {
10464
- "remarks": "Session stores manage conversation state persistence across HTTP requests.\nThe default implementation (S3SessionManager) uses S3 for durable storage.",
11392
+ "remarks": "Defines the processing mode for the agent.\nMust match the Python InvokeType enum in batch.py.",
10465
11393
  "stability": "experimental",
10466
- "summary": "Strategy interface for session persistence."
11394
+ "summary": "Agent invocation type enumeration."
10467
11395
  },
10468
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ISessionStore",
10469
- "kind": "interface",
11396
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.InvokeType",
11397
+ "kind": "enum",
10470
11398
  "locationInModule": {
10471
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10472
- "line": 283
11399
+ "filename": "use-cases/framework/agents/invoke-type.ts",
11400
+ "line": 10
10473
11401
  },
10474
- "methods": [
10475
- {
10476
- "abstract": true,
10477
- "docs": {
10478
- "stability": "experimental",
10479
- "summary": "Grant read/write permissions to a Lambda function."
10480
- },
10481
- "locationInModule": {
10482
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10483
- "line": 294
10484
- },
10485
- "name": "grantReadWrite",
10486
- "parameters": [
10487
- {
10488
- "docs": {
10489
- "summary": "- The Lambda function that needs access to the session store."
10490
- },
10491
- "name": "lambdaFunction",
10492
- "type": {
10493
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
10494
- }
10495
- }
10496
- ]
10497
- }
10498
- ],
10499
- "name": "ISessionStore",
10500
- "properties": [
11402
+ "members": [
10501
11403
  {
10502
- "abstract": true,
10503
11404
  "docs": {
11405
+ "remarks": "Default mode for most agent operations.",
10504
11406
  "stability": "experimental",
10505
- "summary": "The S3 bucket used for session storage (if S3-based)."
10506
- },
10507
- "immutable": true,
10508
- "locationInModule": {
10509
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10510
- "line": 287
10511
- },
10512
- "name": "sessionBucket",
10513
- "optional": true,
10514
- "type": {
10515
- "fqn": "aws-cdk-lib.aws_s3.IBucket"
10516
- }
10517
- }
10518
- ],
10519
- "symbolId": "use-cases/framework/agents/interactive-agent:ISessionStore"
10520
- },
10521
- "@cdklabs/cdk-appmod-catalog-blueprints.InteractiveAgent": {
10522
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
10523
- "base": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
10524
- "docs": {
10525
- "remarks": "Creates a complete serverless infrastructure for interactive AI conversations\nusing API Gateway REST API with response streaming, Lambda Web Adapter,\nFastAPI, and standard Strands Agent.\n\n## Architecture\n\n```\nClient (fetch + ReadableStream)\n ↓ POST /chat (Authorization: Bearer JWT)\nAPI Gateway REST API (responseTransferMode: STREAM)\n ↓ InvokeWithResponseStream\nLambda (Python + Lambda Web Adapter + FastAPI)\n ↓ strands.Agent streaming\nAmazon Bedrock (Claude)\n```\n\n## Features\n\n- **SSE Streaming**: Real-time token-by-token response streaming\n- **15-Minute Timeout**: Extended timeout for long conversations\n- **Session Management**: S3-based conversation persistence\n- **Context Windowing**: Sliding window conversation history\n- **Cognito Auth**: Native JWT validation on REST API\n- **Strategy Interfaces**: Pluggable adapters for all components\n- **Observability**: Lambda Powertools integration\n\n## Usage\n\n```typescript\nimport { Asset } from 'aws-cdk-lib/aws-s3-assets';\nimport { InteractiveAgent } from '@cdklabs/cdk-appmod-catalog-blueprints';\n\nconst systemPrompt = new Asset(this, 'Prompt', { path: './prompt.txt' });\n\nconst agent = new InteractiveAgent(this, 'ChatAgent', {\n agentName: 'MyChatbot',\n agentDefinition: {\n bedrockModel: { useCrossRegionInference: true },\n systemPrompt: systemPrompt,\n },\n});\n\n// Access outputs\nagent.apiEndpoint; // REST API endpoint URL\nagent.sessionBucket; // S3 session bucket\nagent.authenticator; // Cognito authenticator (for User Pool info)\n```",
10526
- "stability": "experimental",
10527
- "summary": "Interactive Agent for real-time conversational AI with SSE streaming."
10528
- },
10529
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.InteractiveAgent",
10530
- "initializer": {
10531
- "docs": {
10532
- "stability": "experimental"
10533
- },
10534
- "locationInModule": {
10535
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10536
- "line": 876
10537
- },
10538
- "parameters": [
10539
- {
10540
- "name": "scope",
10541
- "type": {
10542
- "fqn": "constructs.Construct"
10543
- }
10544
- },
10545
- {
10546
- "name": "id",
10547
- "type": {
10548
- "primitive": "string"
10549
- }
10550
- },
10551
- {
10552
- "name": "props",
10553
- "type": {
10554
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.InteractiveAgentProps"
10555
- }
10556
- }
10557
- ]
10558
- },
10559
- "kind": "class",
10560
- "locationInModule": {
10561
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10562
- "line": 867
10563
- },
10564
- "name": "InteractiveAgent",
10565
- "properties": [
10566
- {
10567
- "docs": {
10568
- "stability": "experimental"
10569
- },
10570
- "immutable": true,
10571
- "locationInModule": {
10572
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10573
- "line": 868
10574
- },
10575
- "name": "agentFunction",
10576
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
10577
- "type": {
10578
- "fqn": "aws-cdk-lib.aws_lambda.Function"
10579
- }
10580
- },
10581
- {
10582
- "docs": {
10583
- "stability": "experimental"
10584
- },
10585
- "immutable": true,
10586
- "locationInModule": {
10587
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10588
- "line": 873
11407
+ "summary": "Batch processing mode - processes one document at a time."
10589
11408
  },
10590
- "name": "apiEndpoint",
10591
- "type": {
10592
- "primitive": "string"
10593
- }
11409
+ "name": "BATCH"
10594
11410
  },
10595
11411
  {
10596
11412
  "docs": {
10597
- "stability": "experimental"
10598
- },
10599
- "immutable": true,
10600
- "locationInModule": {
10601
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10602
- "line": 869
11413
+ "remarks": "For real-time chat and conversational interfaces.",
11414
+ "stability": "experimental",
11415
+ "summary": "Interactive conversation mode (future)."
10603
11416
  },
10604
- "name": "adapter",
10605
- "optional": true,
10606
- "type": {
10607
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ICommunicationAdapter"
10608
- }
11417
+ "name": "INTERACTIVE"
10609
11418
  },
10610
11419
  {
10611
11420
  "docs": {
10612
- "stability": "experimental"
10613
- },
10614
- "immutable": true,
10615
- "locationInModule": {
10616
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10617
- "line": 872
11421
+ "remarks": "Used for RAG applications, API endpoints, and direct agent calls.",
11422
+ "stability": "experimental",
11423
+ "summary": "Direct invocation mode."
10618
11424
  },
10619
- "name": "authenticator",
10620
- "optional": true,
10621
- "type": {
10622
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator"
10623
- }
11425
+ "name": "ATTACH_DIRECTLY"
10624
11426
  },
10625
11427
  {
10626
11428
  "docs": {
10627
- "stability": "experimental"
10628
- },
10629
- "immutable": true,
10630
- "locationInModule": {
10631
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10632
- "line": 871
11429
+ "remarks": "Used in document processing workflows for classification phase.",
11430
+ "stability": "experimental",
11431
+ "summary": "Document classification step."
10633
11432
  },
10634
- "name": "contextStrategy",
10635
- "optional": true,
10636
- "type": {
10637
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.IContextStrategy"
10638
- }
11433
+ "name": "CLASSIFICATION"
10639
11434
  },
10640
11435
  {
10641
11436
  "docs": {
10642
- "stability": "experimental"
10643
- },
10644
- "immutable": true,
10645
- "locationInModule": {
10646
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10647
- "line": 874
11437
+ "remarks": "Used in document processing workflows for extraction/processing phase.",
11438
+ "stability": "experimental",
11439
+ "summary": "Document processing step."
10648
11440
  },
10649
- "name": "sessionBucket",
10650
- "optional": true,
10651
- "type": {
10652
- "fqn": "aws-cdk-lib.aws_s3.IBucket"
10653
- }
11441
+ "name": "PROCESSING"
10654
11442
  },
10655
11443
  {
10656
11444
  "docs": {
10657
- "stability": "experimental"
10658
- },
10659
- "immutable": true,
10660
- "locationInModule": {
10661
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10662
- "line": 870
11445
+ "remarks": "Used in document processing workflows for aggregating chunked results.",
11446
+ "stability": "experimental",
11447
+ "summary": "Document aggregation step."
10663
11448
  },
10664
- "name": "sessionStore",
10665
- "optional": true,
10666
- "type": {
10667
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ISessionStore"
10668
- }
11449
+ "name": "AGGREGATION"
10669
11450
  }
10670
11451
  ],
10671
- "symbolId": "use-cases/framework/agents/interactive-agent:InteractiveAgent"
11452
+ "name": "InvokeType",
11453
+ "symbolId": "use-cases/framework/agents/invoke-type:InvokeType"
10672
11454
  },
10673
- "@cdklabs/cdk-appmod-catalog-blueprints.InteractiveAgentProps": {
11455
+ "@cdklabs/cdk-appmod-catalog-blueprints.KnowledgeBaseRuntimeConfig": {
10674
11456
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
10675
11457
  "datatype": true,
10676
11458
  "docs": {
10677
- "remarks": "Extends BaseAgentProps with communication, session, context, and authentication\nstrategy interfaces for building real-time conversational AI agents.",
11459
+ "remarks": "This interface defines the structure of the configuration object\nthat is serialized and passed to the retrieval tool via environment\nvariables. It contains all information needed to query the knowledge\nbase at runtime.",
10678
11460
  "stability": "experimental",
10679
- "summary": "Configuration properties for InteractiveAgent."
11461
+ "summary": "Runtime configuration exported for the retrieval tool."
10680
11462
  },
10681
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.InteractiveAgentProps",
10682
- "interfaces": [
10683
- "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgentProps"
10684
- ],
11463
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.KnowledgeBaseRuntimeConfig",
10685
11464
  "kind": "interface",
10686
11465
  "locationInModule": {
10687
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10688
- "line": 733
11466
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11467
+ "line": 325
10689
11468
  },
10690
- "name": "InteractiveAgentProps",
11469
+ "name": "KnowledgeBaseRuntimeConfig",
10691
11470
  "properties": [
10692
11471
  {
10693
11472
  "abstract": true,
10694
11473
  "docs": {
10695
- "default": "Architecture.X86_64",
10696
- "stability": "experimental",
10697
- "summary": "Lambda function architecture."
10698
- },
10699
- "immutable": true,
10700
- "locationInModule": {
10701
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10702
- "line": 806
10703
- },
10704
- "name": "architecture",
10705
- "optional": true,
10706
- "type": {
10707
- "fqn": "aws-cdk-lib.aws_lambda.Architecture"
10708
- }
10709
- },
10710
- {
10711
- "abstract": true,
10712
- "docs": {
10713
- "default": "CognitoAuthenticator",
10714
- "stability": "experimental",
10715
- "summary": "Authenticator for securing API endpoints."
10716
- },
10717
- "immutable": true,
10718
- "locationInModule": {
10719
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10720
- "line": 785
10721
- },
10722
- "name": "authenticator",
10723
- "optional": true,
10724
- "type": {
10725
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator"
10726
- }
10727
- },
10728
- {
10729
- "abstract": true,
10730
- "docs": {
10731
- "default": "StreamingHttpAdapter with CognitoAuthenticator",
10732
11474
  "stability": "experimental",
10733
- "summary": "Communication adapter for client-agent interaction."
11475
+ "summary": "Description of what this knowledge base contains."
10734
11476
  },
10735
11477
  "immutable": true,
10736
11478
  "locationInModule": {
10737
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10738
- "line": 739
11479
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11480
+ "line": 334
10739
11481
  },
10740
- "name": "communicationAdapter",
10741
- "optional": true,
11482
+ "name": "description",
10742
11483
  "type": {
10743
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ICommunicationAdapter"
11484
+ "primitive": "string"
10744
11485
  }
10745
11486
  },
10746
11487
  {
10747
11488
  "abstract": true,
10748
11489
  "docs": {
10749
- "default": "SlidingWindowConversationManager with 20 messages",
10750
11490
  "stability": "experimental",
10751
- "summary": "Context strategy for conversation history management."
11491
+ "summary": "Human-readable name for this knowledge base."
10752
11492
  },
10753
11493
  "immutable": true,
10754
11494
  "locationInModule": {
10755
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10756
- "line": 769
11495
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11496
+ "line": 329
10757
11497
  },
10758
- "name": "contextStrategy",
10759
- "optional": true,
11498
+ "name": "name",
10760
11499
  "type": {
10761
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.IContextStrategy"
11500
+ "primitive": "string"
10762
11501
  }
10763
11502
  },
10764
11503
  {
10765
11504
  "abstract": true,
10766
11505
  "docs": {
10767
- "default": "1024",
10768
11506
  "stability": "experimental",
10769
- "summary": "Lambda function memory size in MB."
11507
+ "summary": "Retrieval configuration."
10770
11508
  },
10771
11509
  "immutable": true,
10772
11510
  "locationInModule": {
10773
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10774
- "line": 792
11511
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11512
+ "line": 363
10775
11513
  },
10776
- "name": "memorySize",
10777
- "optional": true,
11514
+ "name": "retrieval",
10778
11515
  "type": {
10779
- "primitive": "number"
11516
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.RetrievalConfiguration"
10780
11517
  }
10781
11518
  },
10782
11519
  {
10783
11520
  "abstract": true,
10784
11521
  "docs": {
10785
- "default": "20",
10786
- "remarks": "Shorthand for SlidingWindowConversationManager windowSize.\nIgnored if contextStrategy is provided.",
10787
11522
  "stability": "experimental",
10788
- "summary": "Maximum number of messages to keep in conversation history."
11523
+ "summary": "ACL configuration for identity-aware retrieval."
10789
11524
  },
10790
11525
  "immutable": true,
10791
11526
  "locationInModule": {
10792
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10793
- "line": 778
11527
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11528
+ "line": 368
10794
11529
  },
10795
- "name": "messageHistoryLimit",
11530
+ "name": "acl",
10796
11531
  "optional": true,
10797
11532
  "type": {
10798
- "primitive": "number"
11533
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AclConfiguration"
10799
11534
  }
10800
11535
  },
10801
11536
  {
10802
11537
  "abstract": true,
10803
11538
  "docs": {
10804
- "default": "No reserved concurrency",
10805
11539
  "stability": "experimental",
10806
- "summary": "Reserved concurrent executions for the Lambda function."
11540
+ "summary": "Guardrail configuration (for Bedrock implementations)."
10807
11541
  },
10808
11542
  "immutable": true,
10809
11543
  "locationInModule": {
10810
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10811
- "line": 813
11544
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11545
+ "line": 373
10812
11546
  },
10813
- "name": "reservedConcurrentExecutions",
11547
+ "name": "guardrail",
10814
11548
  "optional": true,
10815
11549
  "type": {
10816
- "primitive": "number"
11550
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.GuardrailConfiguration"
10817
11551
  }
10818
11552
  },
10819
11553
  {
10820
11554
  "abstract": true,
10821
11555
  "docs": {
10822
- "default": "Auto-created bucket",
10823
- "remarks": "Ignored if sessionStore is provided.",
10824
11556
  "stability": "experimental",
10825
- "summary": "S3 bucket for session storage (shorthand for S3SessionManager)."
11557
+ "summary": "Bedrock Knowledge Base ARN (for Bedrock implementations)."
10826
11558
  },
10827
11559
  "immutable": true,
10828
11560
  "locationInModule": {
10829
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10830
- "line": 755
11561
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11562
+ "line": 353
10831
11563
  },
10832
- "name": "sessionBucket",
11564
+ "name": "knowledgeBaseArn",
10833
11565
  "optional": true,
10834
11566
  "type": {
10835
- "fqn": "aws-cdk-lib.aws_s3.IBucket"
11567
+ "primitive": "string"
10836
11568
  }
10837
11569
  },
10838
11570
  {
10839
11571
  "abstract": true,
10840
11572
  "docs": {
10841
- "default": "S3SessionManager with 24-hour TTL",
10842
- "remarks": "Set to undefined to disable session persistence (stateless mode).",
10843
11573
  "stability": "experimental",
10844
- "summary": "Session store for persisting conversation state."
11574
+ "summary": "Bedrock Knowledge Base ID (for Bedrock implementations)."
10845
11575
  },
10846
11576
  "immutable": true,
10847
11577
  "locationInModule": {
10848
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10849
- "line": 747
11578
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11579
+ "line": 348
10850
11580
  },
10851
- "name": "sessionStore",
11581
+ "name": "knowledgeBaseId",
10852
11582
  "optional": true,
10853
11583
  "type": {
10854
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ISessionStore"
11584
+ "primitive": "string"
10855
11585
  }
10856
11586
  },
10857
11587
  {
10858
11588
  "abstract": true,
10859
11589
  "docs": {
10860
- "default": "Duration.hours(24)",
11590
+ "example": "'bedrock'",
11591
+ "remarks": "Used by the retrieval tool to determine how to query the KB.",
10861
11592
  "stability": "experimental",
10862
- "summary": "Time-to-live for sessions."
11593
+ "summary": "Type of knowledge base implementation."
10863
11594
  },
10864
11595
  "immutable": true,
10865
11596
  "locationInModule": {
10866
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10867
- "line": 762
11597
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11598
+ "line": 343
10868
11599
  },
10869
- "name": "sessionTTL",
11600
+ "name": "type",
10870
11601
  "optional": true,
10871
11602
  "type": {
10872
- "fqn": "aws-cdk-lib.Duration"
11603
+ "primitive": "string"
10873
11604
  }
10874
11605
  },
10875
11606
  {
10876
11607
  "abstract": true,
10877
11608
  "docs": {
10878
- "default": "Duration.minutes(15)",
10879
11609
  "stability": "experimental",
10880
- "summary": "Lambda function timeout."
11610
+ "summary": "Vector store configuration (for Bedrock implementations)."
10881
11611
  },
10882
11612
  "immutable": true,
10883
11613
  "locationInModule": {
10884
- "filename": "use-cases/framework/agents/interactive-agent.ts",
10885
- "line": 799
11614
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
11615
+ "line": 358
10886
11616
  },
10887
- "name": "timeout",
11617
+ "name": "vectorStore",
10888
11618
  "optional": true,
10889
11619
  "type": {
10890
- "fqn": "aws-cdk-lib.Duration"
11620
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.VectorStoreConfiguration"
10891
11621
  }
10892
11622
  }
10893
11623
  ],
10894
- "symbolId": "use-cases/framework/agents/interactive-agent:InteractiveAgentProps"
11624
+ "symbolId": "use-cases/framework/agents/knowledge-base/knowledge-base-props:KnowledgeBaseRuntimeConfig"
10895
11625
  },
10896
11626
  "@cdklabs/cdk-appmod-catalog-blueprints.LambdaIamUtils": {
10897
11627
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -12154,83 +12884,15 @@
12154
12884
  "locationInModule": {
12155
12885
  "filename": "use-cases/framework/foundation/network.ts",
12156
12886
  "line": 14
12157
- },
12158
- "name": "vpcName",
12159
- "optional": true,
12160
- "type": {
12161
- "primitive": "string"
12162
- }
12163
- }
12164
- ],
12165
- "symbolId": "use-cases/framework/foundation/network:NetworkProps"
12166
- },
12167
- "@cdklabs/cdk-appmod-catalog-blueprints.NoAuthenticator": {
12168
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
12169
- "docs": {
12170
- "remarks": "Disables authentication entirely, allowing any client to connect\nwithout credentials. This should ONLY be used for development\nand testing environments.\n\n## Security Warning\n\nThis authenticator provides NO security. Never use in production.",
12171
- "stability": "experimental",
12172
- "summary": "No-authentication authenticator for development and testing."
12173
- },
12174
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.NoAuthenticator",
12175
- "initializer": {
12176
- "docs": {
12177
- "stability": "experimental"
12178
- }
12179
- },
12180
- "interfaces": [
12181
- "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator"
12182
- ],
12183
- "kind": "class",
12184
- "locationInModule": {
12185
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12186
- "line": 708
12187
- },
12188
- "methods": [
12189
- {
12190
- "docs": {
12191
- "stability": "experimental",
12192
- "summary": "Get environment variables for Lambda configuration."
12193
- },
12194
- "locationInModule": {
12195
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12196
- "line": 719
12197
- },
12198
- "name": "environmentVariables",
12199
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator",
12200
- "returns": {
12201
- "type": {
12202
- "collection": {
12203
- "elementtype": {
12204
- "primitive": "string"
12205
- },
12206
- "kind": "map"
12207
- }
12208
- }
12209
- }
12210
- },
12211
- {
12212
- "docs": {
12213
- "stability": "experimental",
12214
- "summary": "No-op for NoAuthenticator since no authentication is performed."
12215
- },
12216
- "locationInModule": {
12217
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12218
- "line": 712
12219
- },
12220
- "name": "grantAuthenticate",
12221
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator",
12222
- "parameters": [
12223
- {
12224
- "name": "_lambdaFunction",
12225
- "type": {
12226
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
12227
- }
12228
- }
12229
- ]
12887
+ },
12888
+ "name": "vpcName",
12889
+ "optional": true,
12890
+ "type": {
12891
+ "primitive": "string"
12892
+ }
12230
12893
  }
12231
12894
  ],
12232
- "name": "NoAuthenticator",
12233
- "symbolId": "use-cases/framework/agents/interactive-agent:NoAuthenticator"
12895
+ "symbolId": "use-cases/framework/foundation/network:NetworkProps"
12234
12896
  },
12235
12897
  "@cdklabs/cdk-appmod-catalog-blueprints.NoChunkingResponse": {
12236
12898
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -12316,54 +12978,6 @@
12316
12978
  ],
12317
12979
  "symbolId": "use-cases/document-processing/chunking-config:NoChunkingResponse"
12318
12980
  },
12319
- "@cdklabs/cdk-appmod-catalog-blueprints.NullConversationManager": {
12320
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
12321
- "docs": {
12322
- "remarks": "Disables conversation history, treating each message as independent.\nUseful for stateless use cases where context is not needed.",
12323
- "stability": "experimental",
12324
- "summary": "Null conversation manager for stateless interactions."
12325
- },
12326
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.NullConversationManager",
12327
- "initializer": {
12328
- "docs": {
12329
- "stability": "experimental"
12330
- }
12331
- },
12332
- "interfaces": [
12333
- "@cdklabs/cdk-appmod-catalog-blueprints.IContextStrategy"
12334
- ],
12335
- "kind": "class",
12336
- "locationInModule": {
12337
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12338
- "line": 498
12339
- },
12340
- "methods": [
12341
- {
12342
- "docs": {
12343
- "stability": "experimental",
12344
- "summary": "Get environment variables for Lambda configuration."
12345
- },
12346
- "locationInModule": {
12347
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12348
- "line": 502
12349
- },
12350
- "name": "environmentVariables",
12351
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IContextStrategy",
12352
- "returns": {
12353
- "type": {
12354
- "collection": {
12355
- "elementtype": {
12356
- "primitive": "string"
12357
- },
12358
- "kind": "map"
12359
- }
12360
- }
12361
- }
12362
- }
12363
- ],
12364
- "name": "NullConversationManager",
12365
- "symbolId": "use-cases/framework/agents/interactive-agent:NullConversationManager"
12366
- },
12367
12981
  "@cdklabs/cdk-appmod-catalog-blueprints.ObservableProps": {
12368
12982
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
12369
12983
  "datatype": true,
@@ -12860,336 +13474,73 @@
12860
13474
  "name": "rawPrefix",
12861
13475
  "optional": true,
12862
13476
  "type": {
12863
- "primitive": "string"
12864
- }
12865
- }
12866
- ],
12867
- "symbolId": "use-cases/document-processing/adapter/queued-s3-adapter:QueuedS3AdapterProps"
12868
- },
12869
- "@cdklabs/cdk-appmod-catalog-blueprints.S3SessionManager": {
12870
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
12871
- "docs": {
12872
- "remarks": "Uses S3 for durable storage of session data with automatic expiration\nvia lifecycle policies. Each HTTP request loads/saves session state,\nenabling multi-turn conversations over stateless HTTP.\n\n## Features\n\n- **Durable Storage**: Sessions persisted to S3 survive Lambda restarts\n- **Automatic Expiration**: Lifecycle policy removes old sessions\n- **Encryption**: KMS encryption at rest\n- **Cost Optimization**: S3 Standard storage with lifecycle management\n\n## Usage\n\n```typescript\nimport { Asset } from 'aws-cdk-lib/aws-s3-assets';\nimport { InteractiveAgent, S3SessionManager } from '@cdklabs/cdk-appmod-catalog-blueprints';\nimport { Duration } from 'aws-cdk-lib';\n\nconst myPrompt = new Asset(this, 'Prompt', { path: './prompt.txt' });\nconst sessionManager = new S3SessionManager(this, 'SessionManager', {\n sessionTTL: Duration.hours(48)\n});\n\nconst agent = new InteractiveAgent(this, 'Agent', {\n agentName: 'ChatAgent',\n agentDefinition: { bedrockModel: {}, systemPrompt: myPrompt },\n sessionStore: sessionManager\n});\n```",
12873
- "stability": "experimental",
12874
- "summary": "S3-based session manager for persisting conversation state."
12875
- },
12876
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.S3SessionManager",
12877
- "initializer": {
12878
- "docs": {
12879
- "stability": "experimental"
12880
- },
12881
- "locationInModule": {
12882
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12883
- "line": 375
12884
- },
12885
- "parameters": [
12886
- {
12887
- "name": "scope",
12888
- "type": {
12889
- "fqn": "constructs.Construct"
12890
- }
12891
- },
12892
- {
12893
- "name": "id",
12894
- "type": {
12895
- "primitive": "string"
12896
- }
12897
- },
12898
- {
12899
- "name": "props",
12900
- "optional": true,
12901
- "type": {
12902
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.S3SessionManagerProps"
12903
- }
12904
- }
12905
- ]
12906
- },
12907
- "interfaces": [
12908
- "@cdklabs/cdk-appmod-catalog-blueprints.ISessionStore"
12909
- ],
12910
- "kind": "class",
12911
- "locationInModule": {
12912
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12913
- "line": 364
12914
- },
12915
- "methods": [
12916
- {
12917
- "docs": {
12918
- "stability": "experimental",
12919
- "summary": "Grant read/write permissions to a Lambda function."
12920
- },
12921
- "locationInModule": {
12922
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12923
- "line": 410
12924
- },
12925
- "name": "grantReadWrite",
12926
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.ISessionStore",
12927
- "parameters": [
12928
- {
12929
- "name": "lambdaFunction",
12930
- "type": {
12931
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
12932
- }
12933
- }
12934
- ]
12935
- }
12936
- ],
12937
- "name": "S3SessionManager",
12938
- "properties": [
12939
- {
12940
- "docs": {
12941
- "stability": "experimental",
12942
- "summary": "The S3 bucket used for session storage."
12943
- },
12944
- "immutable": true,
12945
- "locationInModule": {
12946
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12947
- "line": 368
12948
- },
12949
- "name": "bucket",
12950
- "type": {
12951
- "fqn": "aws-cdk-lib.aws_s3.IBucket"
12952
- }
12953
- },
12954
- {
12955
- "docs": {
12956
- "stability": "experimental",
12957
- "summary": "The session TTL duration."
12958
- },
12959
- "immutable": true,
12960
- "locationInModule": {
12961
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12962
- "line": 373
12963
- },
12964
- "name": "sessionTTL",
12965
- "type": {
12966
- "fqn": "aws-cdk-lib.Duration"
12967
- }
12968
- },
12969
- {
12970
- "docs": {
12971
- "stability": "experimental",
12972
- "summary": "The S3 bucket used for session storage (ISessionStore interface)."
12973
- },
12974
- "immutable": true,
12975
- "locationInModule": {
12976
- "filename": "use-cases/framework/agents/interactive-agent.ts",
12977
- "line": 403
12978
- },
12979
- "name": "sessionBucket",
12980
- "optional": true,
12981
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.ISessionStore",
12982
- "type": {
12983
- "fqn": "aws-cdk-lib.aws_s3.IBucket"
12984
- }
12985
- }
12986
- ],
12987
- "symbolId": "use-cases/framework/agents/interactive-agent:S3SessionManager"
12988
- },
12989
- "@cdklabs/cdk-appmod-catalog-blueprints.S3SessionManagerProps": {
12990
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
12991
- "datatype": true,
12992
- "docs": {
12993
- "stability": "experimental",
12994
- "summary": "Configuration properties for S3SessionManager."
12995
- },
12996
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.S3SessionManagerProps",
12997
- "kind": "interface",
12998
- "locationInModule": {
12999
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13000
- "line": 300
13001
- },
13002
- "name": "S3SessionManagerProps",
13003
- "properties": [
13004
- {
13005
- "abstract": true,
13006
- "docs": {
13007
- "default": "Auto-created bucket with KMS encryption",
13008
- "stability": "experimental",
13009
- "summary": "S3 bucket for session storage."
13010
- },
13011
- "immutable": true,
13012
- "locationInModule": {
13013
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13014
- "line": 306
13015
- },
13016
- "name": "bucket",
13017
- "optional": true,
13018
- "type": {
13019
- "fqn": "aws-cdk-lib.aws_s3.IBucket"
13020
- }
13021
- },
13022
- {
13023
- "abstract": true,
13024
- "docs": {
13025
- "default": "Auto-created KMS key with rotation enabled",
13026
- "stability": "experimental",
13027
- "summary": "KMS encryption key for the session bucket."
13028
- },
13029
- "immutable": true,
13030
- "locationInModule": {
13031
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13032
- "line": 321
13033
- },
13034
- "name": "encryptionKey",
13035
- "optional": true,
13036
- "type": {
13037
- "fqn": "aws-cdk-lib.aws_kms.IKey"
13038
- }
13039
- },
13040
- {
13041
- "abstract": true,
13042
- "docs": {
13043
- "default": "RemovalPolicy.DESTROY",
13044
- "stability": "experimental",
13045
- "summary": "Removal policy for the session bucket."
13046
- },
13047
- "immutable": true,
13048
- "locationInModule": {
13049
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13050
- "line": 328
13051
- },
13052
- "name": "removalPolicy",
13053
- "optional": true,
13054
- "type": {
13055
- "fqn": "aws-cdk-lib.RemovalPolicy"
13056
- }
13057
- },
13058
- {
13059
- "abstract": true,
13060
- "docs": {
13061
- "default": "Duration.hours(24)",
13062
- "remarks": "Sessions older than this duration will be automatically deleted.",
13063
- "stability": "experimental",
13064
- "summary": "Time-to-live for sessions."
13065
- },
13066
- "immutable": true,
13067
- "locationInModule": {
13068
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13069
- "line": 314
13070
- },
13071
- "name": "sessionTTL",
13072
- "optional": true,
13073
- "type": {
13074
- "fqn": "aws-cdk-lib.Duration"
13075
- }
13076
- }
13077
- ],
13078
- "symbolId": "use-cases/framework/agents/interactive-agent:S3SessionManagerProps"
13079
- },
13080
- "@cdklabs/cdk-appmod-catalog-blueprints.SlidingWindowConversationManager": {
13081
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
13082
- "docs": {
13083
- "remarks": "Keeps a fixed-size window of recent messages, automatically discarding older\nmessages as new ones arrive. Provides consistent context size for the agent.\n\n## Usage\n\n```typescript\nimport { Asset } from 'aws-cdk-lib/aws-s3-assets';\nimport { InteractiveAgent, SlidingWindowConversationManager } from '@cdklabs/cdk-appmod-catalog-blueprints';\n\nconst myPrompt = new Asset(this, 'Prompt', { path: './prompt.txt' });\nconst contextManager = new SlidingWindowConversationManager({ windowSize: 30 });\n\nconst agent = new InteractiveAgent(this, 'Agent', {\n agentName: 'ChatAgent',\n agentDefinition: { bedrockModel: {}, systemPrompt: myPrompt },\n contextStrategy: contextManager\n});\n```",
13084
- "stability": "experimental",
13085
- "summary": "Sliding window conversation manager for maintaining recent conversation history."
13086
- },
13087
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.SlidingWindowConversationManager",
13088
- "initializer": {
13089
- "docs": {
13090
- "stability": "experimental"
13091
- },
13092
- "locationInModule": {
13093
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13094
- "line": 470
13095
- },
13096
- "parameters": [
13097
- {
13098
- "name": "props",
13099
- "optional": true,
13100
- "type": {
13101
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.SlidingWindowConversationManagerProps"
13102
- }
13103
- }
13104
- ]
13105
- },
13106
- "interfaces": [
13107
- "@cdklabs/cdk-appmod-catalog-blueprints.IContextStrategy"
13108
- ],
13109
- "kind": "class",
13110
- "locationInModule": {
13111
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13112
- "line": 464
13113
- },
13114
- "methods": [
13115
- {
13116
- "docs": {
13117
- "stability": "experimental",
13118
- "summary": "Get environment variables for Lambda configuration."
13119
- },
13120
- "locationInModule": {
13121
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13122
- "line": 483
13123
- },
13124
- "name": "environmentVariables",
13125
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IContextStrategy",
13126
- "returns": {
13127
- "type": {
13128
- "collection": {
13129
- "elementtype": {
13130
- "primitive": "string"
13131
- },
13132
- "kind": "map"
13133
- }
13134
- }
13135
- }
13136
- }
13137
- ],
13138
- "name": "SlidingWindowConversationManager",
13139
- "properties": [
13140
- {
13141
- "docs": {
13142
- "stability": "experimental",
13143
- "summary": "The window size (number of messages to keep)."
13144
- },
13145
- "immutable": true,
13146
- "locationInModule": {
13147
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13148
- "line": 468
13149
- },
13150
- "name": "windowSize",
13151
- "type": {
13152
- "primitive": "number"
13477
+ "primitive": "string"
13153
13478
  }
13154
13479
  }
13155
13480
  ],
13156
- "symbolId": "use-cases/framework/agents/interactive-agent:SlidingWindowConversationManager"
13481
+ "symbolId": "use-cases/document-processing/adapter/queued-s3-adapter:QueuedS3AdapterProps"
13157
13482
  },
13158
- "@cdklabs/cdk-appmod-catalog-blueprints.SlidingWindowConversationManagerProps": {
13483
+ "@cdklabs/cdk-appmod-catalog-blueprints.RetrievalConfiguration": {
13159
13484
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
13160
13485
  "datatype": true,
13161
13486
  "docs": {
13487
+ "remarks": "Controls how many results are returned and optional metadata filtering\napplied to all queries against the knowledge base.",
13162
13488
  "stability": "experimental",
13163
- "summary": "Configuration properties for SlidingWindowConversationManager."
13489
+ "summary": "Configuration for retrieval operations."
13164
13490
  },
13165
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.SlidingWindowConversationManagerProps",
13491
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.RetrievalConfiguration",
13166
13492
  "kind": "interface",
13167
13493
  "locationInModule": {
13168
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13169
- "line": 433
13494
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
13495
+ "line": 10
13170
13496
  },
13171
- "name": "SlidingWindowConversationManagerProps",
13497
+ "name": "RetrievalConfiguration",
13172
13498
  "properties": [
13173
13499
  {
13174
13500
  "abstract": true,
13175
13501
  "docs": {
13176
- "default": "20 messages",
13502
+ "default": "5",
13503
+ "remarks": "Higher values provide more context but increase token usage.\nLower values are faster but may miss relevant information.",
13177
13504
  "stability": "experimental",
13178
- "summary": "Maximum number of messages to keep in conversation history."
13505
+ "summary": "Number of results to return per query."
13179
13506
  },
13180
13507
  "immutable": true,
13181
13508
  "locationInModule": {
13182
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13183
- "line": 439
13509
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
13510
+ "line": 19
13184
13511
  },
13185
- "name": "windowSize",
13512
+ "name": "numberOfResults",
13186
13513
  "optional": true,
13187
13514
  "type": {
13188
13515
  "primitive": "number"
13189
13516
  }
13517
+ },
13518
+ {
13519
+ "abstract": true,
13520
+ "docs": {
13521
+ "default": "- No filter applied",
13522
+ "remarks": "This filter is applied in addition to any ACL filters. Use this\nfor static filtering based on document metadata (e.g., document type,\ncategory, or date range).",
13523
+ "stability": "experimental",
13524
+ "summary": "Metadata filter to apply to all queries."
13525
+ },
13526
+ "immutable": true,
13527
+ "locationInModule": {
13528
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
13529
+ "line": 30
13530
+ },
13531
+ "name": "retrievalFilter",
13532
+ "optional": true,
13533
+ "type": {
13534
+ "collection": {
13535
+ "elementtype": {
13536
+ "primitive": "any"
13537
+ },
13538
+ "kind": "map"
13539
+ }
13540
+ }
13190
13541
  }
13191
13542
  ],
13192
- "symbolId": "use-cases/framework/agents/interactive-agent:SlidingWindowConversationManagerProps"
13543
+ "symbolId": "use-cases/framework/agents/knowledge-base/knowledge-base-props:RetrievalConfiguration"
13193
13544
  },
13194
13545
  "@cdklabs/cdk-appmod-catalog-blueprints.StateMachineObservabilityPropertyInjector": {
13195
13546
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -13290,250 +13641,6 @@
13290
13641
  ],
13291
13642
  "symbolId": "use-cases/utilities/observability/state-machine-observability-property-injector:StateMachineObservabilityPropertyInjector"
13292
13643
  },
13293
- "@cdklabs/cdk-appmod-catalog-blueprints.StreamingHttpAdapter": {
13294
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
13295
- "docs": {
13296
- "remarks": "This adapter creates an API Gateway REST API with response streaming enabled,\nallowing the Lambda function to stream SSE (Server-Sent Events) responses\nback to clients as the Strands Agent generates tokens.\n\n## Architecture\n\n```\nClient → POST /chat → API Gateway REST API (STREAM mode) → Lambda (FastAPI + LWA) → Bedrock\nClient ← SSE stream ← API Gateway ← Lambda response streaming ← Agent tokens\n```\n\n## Features\n\n- **Response Streaming**: Progressive SSE delivery via API Gateway response streaming\n- **15-Minute Timeout**: Extended timeout for long-running agent conversations\n- **Cognito Auth**: Native COGNITO_USER_POOLS authorizer on REST API\n- **CORS**: Built-in CORS support for browser clients\n- **Throttling**: Configurable rate and burst limits\n\n## Example\n\n```typescript\nimport { Asset } from 'aws-cdk-lib/aws-s3-assets';\nimport { InteractiveAgent, StreamingHttpAdapter } from '@cdklabs/cdk-appmod-catalog-blueprints';\n\nconst myPrompt = new Asset(this, 'Prompt', { path: './prompt.txt' });\nconst adapter = new StreamingHttpAdapter({\n stageName: 'prod',\n throttle: { rateLimit: 100, burstLimit: 200 }\n});\n\nconst agent = new InteractiveAgent(this, 'Agent', {\n agentName: 'ChatAgent',\n agentDefinition: { bedrockModel: {}, systemPrompt: myPrompt },\n communicationAdapter: adapter\n});\n```",
13297
- "stability": "experimental",
13298
- "summary": "Streaming HTTP adapter for real-time agent communication via SSE."
13299
- },
13300
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.StreamingHttpAdapter",
13301
- "initializer": {
13302
- "docs": {
13303
- "stability": "experimental"
13304
- },
13305
- "locationInModule": {
13306
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13307
- "line": 141
13308
- },
13309
- "parameters": [
13310
- {
13311
- "name": "props",
13312
- "optional": true,
13313
- "type": {
13314
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.StreamingHttpAdapterProps"
13315
- }
13316
- }
13317
- ]
13318
- },
13319
- "interfaces": [
13320
- "@cdklabs/cdk-appmod-catalog-blueprints.ICommunicationAdapter"
13321
- ],
13322
- "kind": "class",
13323
- "locationInModule": {
13324
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13325
- "line": 127
13326
- },
13327
- "methods": [
13328
- {
13329
- "docs": {
13330
- "remarks": "Creates API Gateway REST API with POST /chat endpoint and response streaming.",
13331
- "stability": "experimental",
13332
- "summary": "Attach the adapter to a Lambda function and create REST API infrastructure."
13333
- },
13334
- "locationInModule": {
13335
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13336
- "line": 149
13337
- },
13338
- "name": "attachToFunction",
13339
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.ICommunicationAdapter",
13340
- "parameters": [
13341
- {
13342
- "name": "lambdaFunction",
13343
- "type": {
13344
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
13345
- }
13346
- }
13347
- ],
13348
- "returns": {
13349
- "type": {
13350
- "primitive": "string"
13351
- }
13352
- }
13353
- },
13354
- {
13355
- "docs": {
13356
- "remarks": "For REST API streaming, no additional permissions are needed beyond the invoke permission.",
13357
- "stability": "experimental",
13358
- "summary": "Grant the Lambda function permissions for API Gateway integration."
13359
- },
13360
- "locationInModule": {
13361
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13362
- "line": 261
13363
- },
13364
- "name": "grantInvoke",
13365
- "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.ICommunicationAdapter",
13366
- "parameters": [
13367
- {
13368
- "name": "_lambdaFunction",
13369
- "type": {
13370
- "fqn": "aws-cdk-lib.aws_lambda.IFunction"
13371
- }
13372
- }
13373
- ]
13374
- }
13375
- ],
13376
- "name": "StreamingHttpAdapter",
13377
- "properties": [
13378
- {
13379
- "docs": {
13380
- "stability": "experimental",
13381
- "summary": "The API endpoint URL."
13382
- },
13383
- "immutable": true,
13384
- "locationInModule": {
13385
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13386
- "line": 136
13387
- },
13388
- "name": "apiEndpoint",
13389
- "optional": true,
13390
- "type": {
13391
- "primitive": "string"
13392
- }
13393
- },
13394
- {
13395
- "docs": {
13396
- "stability": "experimental",
13397
- "summary": "The REST API Gateway."
13398
- },
13399
- "immutable": true,
13400
- "locationInModule": {
13401
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13402
- "line": 131
13403
- },
13404
- "name": "restApi",
13405
- "optional": true,
13406
- "type": {
13407
- "fqn": "aws-cdk-lib.aws_apigateway.RestApi"
13408
- }
13409
- }
13410
- ],
13411
- "symbolId": "use-cases/framework/agents/interactive-agent:StreamingHttpAdapter"
13412
- },
13413
- "@cdklabs/cdk-appmod-catalog-blueprints.StreamingHttpAdapterProps": {
13414
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
13415
- "datatype": true,
13416
- "docs": {
13417
- "stability": "experimental",
13418
- "summary": "Configuration properties for StreamingHttpAdapter."
13419
- },
13420
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.StreamingHttpAdapterProps",
13421
- "kind": "interface",
13422
- "locationInModule": {
13423
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13424
- "line": 63
13425
- },
13426
- "name": "StreamingHttpAdapterProps",
13427
- "properties": [
13428
- {
13429
- "abstract": true,
13430
- "docs": {
13431
- "default": "Uses authenticator from InteractiveAgent",
13432
- "stability": "experimental",
13433
- "summary": "Authenticator for securing API endpoints."
13434
- },
13435
- "immutable": true,
13436
- "locationInModule": {
13437
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13438
- "line": 83
13439
- },
13440
- "name": "authenticator",
13441
- "optional": true,
13442
- "type": {
13443
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.IAuthenticator"
13444
- }
13445
- },
13446
- {
13447
- "abstract": true,
13448
- "docs": {
13449
- "default": "'prod'",
13450
- "stability": "experimental",
13451
- "summary": "REST API stage name."
13452
- },
13453
- "immutable": true,
13454
- "locationInModule": {
13455
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13456
- "line": 69
13457
- },
13458
- "name": "stageName",
13459
- "optional": true,
13460
- "type": {
13461
- "primitive": "string"
13462
- }
13463
- },
13464
- {
13465
- "abstract": true,
13466
- "docs": {
13467
- "default": "No throttling",
13468
- "stability": "experimental",
13469
- "summary": "Throttle settings for REST API."
13470
- },
13471
- "immutable": true,
13472
- "locationInModule": {
13473
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13474
- "line": 76
13475
- },
13476
- "name": "throttle",
13477
- "optional": true,
13478
- "type": {
13479
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ThrottleSettings"
13480
- }
13481
- }
13482
- ],
13483
- "symbolId": "use-cases/framework/agents/interactive-agent:StreamingHttpAdapterProps"
13484
- },
13485
- "@cdklabs/cdk-appmod-catalog-blueprints.ThrottleSettings": {
13486
- "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
13487
- "datatype": true,
13488
- "docs": {
13489
- "stability": "experimental",
13490
- "summary": "Throttle settings for REST API."
13491
- },
13492
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ThrottleSettings",
13493
- "kind": "interface",
13494
- "locationInModule": {
13495
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13496
- "line": 48
13497
- },
13498
- "name": "ThrottleSettings",
13499
- "properties": [
13500
- {
13501
- "abstract": true,
13502
- "docs": {
13503
- "stability": "experimental",
13504
- "summary": "Burst limit (maximum concurrent requests)."
13505
- },
13506
- "immutable": true,
13507
- "locationInModule": {
13508
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13509
- "line": 57
13510
- },
13511
- "name": "burstLimit",
13512
- "optional": true,
13513
- "type": {
13514
- "primitive": "number"
13515
- }
13516
- },
13517
- {
13518
- "abstract": true,
13519
- "docs": {
13520
- "stability": "experimental",
13521
- "summary": "Rate limit (requests per second)."
13522
- },
13523
- "immutable": true,
13524
- "locationInModule": {
13525
- "filename": "use-cases/framework/agents/interactive-agent.ts",
13526
- "line": 52
13527
- },
13528
- "name": "rateLimit",
13529
- "optional": true,
13530
- "type": {
13531
- "primitive": "number"
13532
- }
13533
- }
13534
- ],
13535
- "symbolId": "use-cases/framework/agents/interactive-agent:ThrottleSettings"
13536
- },
13537
13644
  "@cdklabs/cdk-appmod-catalog-blueprints.TokenAnalysis": {
13538
13645
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
13539
13646
  "datatype": true,
@@ -13699,11 +13806,87 @@
13699
13806
  }
13700
13807
  ],
13701
13808
  "symbolId": "use-cases/document-processing/chunking-config:TokenBasedConfig"
13809
+ },
13810
+ "@cdklabs/cdk-appmod-catalog-blueprints.VectorStoreConfiguration": {
13811
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
13812
+ "datatype": true,
13813
+ "docs": {
13814
+ "remarks": "Defines the type of vector store and any type-specific configuration.\nS3 Vectors is the default and recommended option for most use cases.",
13815
+ "stability": "experimental",
13816
+ "summary": "Configuration for vector store used by the knowledge base."
13817
+ },
13818
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.VectorStoreConfiguration",
13819
+ "kind": "interface",
13820
+ "locationInModule": {
13821
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
13822
+ "line": 97
13823
+ },
13824
+ "name": "VectorStoreConfiguration",
13825
+ "properties": [
13826
+ {
13827
+ "abstract": true,
13828
+ "docs": {
13829
+ "default": "- Uses Bedrock's default bucket",
13830
+ "remarks": "Only used when type is 's3-vectors'. If not provided, the default\nbucket created by Bedrock will be used.",
13831
+ "stability": "experimental",
13832
+ "summary": "S3 bucket name for S3 Vectors storage."
13833
+ },
13834
+ "immutable": true,
13835
+ "locationInModule": {
13836
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
13837
+ "line": 118
13838
+ },
13839
+ "name": "bucketName",
13840
+ "optional": true,
13841
+ "type": {
13842
+ "primitive": "string"
13843
+ }
13844
+ },
13845
+ {
13846
+ "abstract": true,
13847
+ "docs": {
13848
+ "default": "'vectors/'",
13849
+ "remarks": "Only used when type is 's3-vectors'.",
13850
+ "stability": "experimental",
13851
+ "summary": "S3 prefix for vectors within the bucket."
13852
+ },
13853
+ "immutable": true,
13854
+ "locationInModule": {
13855
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
13856
+ "line": 127
13857
+ },
13858
+ "name": "prefix",
13859
+ "optional": true,
13860
+ "type": {
13861
+ "primitive": "string"
13862
+ }
13863
+ },
13864
+ {
13865
+ "abstract": true,
13866
+ "docs": {
13867
+ "default": "'s3-vectors'",
13868
+ "remarks": "- 's3-vectors': Amazon S3 vector storage (default, recommended)\n- 'opensearch-serverless': Amazon OpenSearch Serverless\n- 'pinecone': Pinecone vector database\n- 'rds': Amazon RDS with pgvector",
13869
+ "stability": "experimental",
13870
+ "summary": "Type of vector store."
13871
+ },
13872
+ "immutable": true,
13873
+ "locationInModule": {
13874
+ "filename": "use-cases/framework/agents/knowledge-base/knowledge-base-props.ts",
13875
+ "line": 108
13876
+ },
13877
+ "name": "type",
13878
+ "optional": true,
13879
+ "type": {
13880
+ "primitive": "string"
13881
+ }
13882
+ }
13883
+ ],
13884
+ "symbolId": "use-cases/framework/agents/knowledge-base/knowledge-base-props:VectorStoreConfiguration"
13702
13885
  }
13703
13886
  },
13704
13887
  "usedFeatures": [
13705
13888
  "class-covariant-overrides"
13706
13889
  ],
13707
- "version": "1.9.0",
13708
- "fingerprint": "xvytGAelRs7B61M3lX1JU3Bw0PVw+64a/LGrLn40RpU="
13890
+ "version": "1.9.1",
13891
+ "fingerprint": "9RE/FPihNKHR67T/t6I+ksOFH1qmrIAt6OfKcaal5bs="
13709
13892
  }