@cdklabs/cdk-appmod-catalog-blueprints 1.4.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/.jsii +2579 -194
  2. package/lib/document-processing/adapter/adapter.d.ts +4 -2
  3. package/lib/document-processing/adapter/adapter.js +1 -1
  4. package/lib/document-processing/adapter/queued-s3-adapter.d.ts +9 -2
  5. package/lib/document-processing/adapter/queued-s3-adapter.js +29 -15
  6. package/lib/document-processing/agentic-document-processing.d.ts +4 -0
  7. package/lib/document-processing/agentic-document-processing.js +20 -10
  8. package/lib/document-processing/base-document-processing.d.ts +54 -2
  9. package/lib/document-processing/base-document-processing.js +136 -82
  10. package/lib/document-processing/bedrock-document-processing.d.ts +202 -2
  11. package/lib/document-processing/bedrock-document-processing.js +717 -77
  12. package/lib/document-processing/chunking-config.d.ts +614 -0
  13. package/lib/document-processing/chunking-config.js +5 -0
  14. package/lib/document-processing/default-document-processing-config.js +1 -1
  15. package/lib/document-processing/index.d.ts +1 -0
  16. package/lib/document-processing/index.js +2 -1
  17. package/lib/document-processing/resources/aggregation/handler.py +567 -0
  18. package/lib/document-processing/resources/aggregation/requirements.txt +7 -0
  19. package/lib/document-processing/resources/aggregation/test_handler.py +362 -0
  20. package/lib/document-processing/resources/cleanup/handler.py +276 -0
  21. package/lib/document-processing/resources/cleanup/requirements.txt +5 -0
  22. package/lib/document-processing/resources/cleanup/test_handler.py +436 -0
  23. package/lib/document-processing/resources/default-bedrock-invoke/index.py +85 -3
  24. package/lib/document-processing/resources/default-bedrock-invoke/test_index.py +622 -0
  25. package/lib/document-processing/resources/pdf-chunking/README.md +313 -0
  26. package/lib/document-processing/resources/pdf-chunking/chunking_strategies.py +460 -0
  27. package/lib/document-processing/resources/pdf-chunking/error_handling.py +491 -0
  28. package/lib/document-processing/resources/pdf-chunking/handler.py +958 -0
  29. package/lib/document-processing/resources/pdf-chunking/metrics.py +435 -0
  30. package/lib/document-processing/resources/pdf-chunking/requirements.txt +3 -0
  31. package/lib/document-processing/resources/pdf-chunking/strategy_selection.py +420 -0
  32. package/lib/document-processing/resources/pdf-chunking/structured_logging.py +457 -0
  33. package/lib/document-processing/resources/pdf-chunking/test_chunking_strategies.py +353 -0
  34. package/lib/document-processing/resources/pdf-chunking/test_error_handling.py +487 -0
  35. package/lib/document-processing/resources/pdf-chunking/test_handler.py +609 -0
  36. package/lib/document-processing/resources/pdf-chunking/test_integration.py +694 -0
  37. package/lib/document-processing/resources/pdf-chunking/test_metrics.py +532 -0
  38. package/lib/document-processing/resources/pdf-chunking/test_strategy_selection.py +471 -0
  39. package/lib/document-processing/resources/pdf-chunking/test_structured_logging.py +449 -0
  40. package/lib/document-processing/resources/pdf-chunking/test_token_estimation.py +374 -0
  41. package/lib/document-processing/resources/pdf-chunking/token_estimation.py +189 -0
  42. package/lib/document-processing/tests/agentic-document-processing-nag.test.js +4 -3
  43. package/lib/document-processing/tests/agentic-document-processing.test.js +488 -4
  44. package/lib/document-processing/tests/base-document-processing-nag.test.js +9 -2
  45. package/lib/document-processing/tests/base-document-processing-schema.test.d.ts +1 -0
  46. package/lib/document-processing/tests/base-document-processing-schema.test.js +337 -0
  47. package/lib/document-processing/tests/base-document-processing.test.js +114 -8
  48. package/lib/document-processing/tests/bedrock-document-processing-chunking-nag.test.d.ts +1 -0
  49. package/lib/document-processing/tests/bedrock-document-processing-chunking-nag.test.js +382 -0
  50. package/lib/document-processing/tests/bedrock-document-processing-nag.test.js +4 -3
  51. package/lib/document-processing/tests/bedrock-document-processing-security.test.d.ts +1 -0
  52. package/lib/document-processing/tests/bedrock-document-processing-security.test.js +389 -0
  53. package/lib/document-processing/tests/bedrock-document-processing.test.js +808 -8
  54. package/lib/document-processing/tests/chunking-config.test.d.ts +1 -0
  55. package/lib/document-processing/tests/chunking-config.test.js +238 -0
  56. package/lib/document-processing/tests/queued-s3-adapter-nag.test.js +9 -2
  57. package/lib/document-processing/tests/queued-s3-adapter.test.js +17 -6
  58. package/lib/framework/agents/base-agent.js +1 -1
  59. package/lib/framework/agents/batch-agent.js +1 -1
  60. package/lib/framework/agents/default-agent-config.js +1 -1
  61. package/lib/framework/bedrock/bedrock.js +1 -1
  62. package/lib/framework/custom-resource/default-runtimes.js +1 -1
  63. package/lib/framework/foundation/access-log.js +1 -1
  64. package/lib/framework/foundation/eventbridge-broker.js +1 -1
  65. package/lib/framework/foundation/network.d.ts +4 -2
  66. package/lib/framework/foundation/network.js +52 -41
  67. package/lib/framework/tests/access-log.test.js +5 -2
  68. package/lib/framework/tests/batch-agent.test.js +5 -2
  69. package/lib/framework/tests/bedrock.test.js +5 -2
  70. package/lib/framework/tests/eventbridge-broker.test.js +5 -2
  71. package/lib/framework/tests/framework-nag.test.js +26 -7
  72. package/lib/framework/tests/network.test.js +30 -2
  73. package/lib/tsconfig.tsbuildinfo +1 -1
  74. package/lib/utilities/data-loader.js +1 -1
  75. package/lib/utilities/lambda-iam-utils.js +1 -1
  76. package/lib/utilities/observability/cloudfront-distribution-observability-property-injector.js +1 -1
  77. package/lib/utilities/observability/default-observability-config.js +1 -1
  78. package/lib/utilities/observability/lambda-observability-property-injector.js +1 -1
  79. package/lib/utilities/observability/log-group-data-protection-utils.js +1 -1
  80. package/lib/utilities/observability/powertools-config.d.ts +10 -1
  81. package/lib/utilities/observability/powertools-config.js +19 -3
  82. package/lib/utilities/observability/state-machine-observability-property-injector.js +1 -1
  83. package/lib/utilities/test-utils.d.ts +43 -0
  84. package/lib/utilities/test-utils.js +56 -0
  85. package/lib/utilities/tests/data-loader-nag.test.js +3 -2
  86. package/lib/utilities/tests/data-loader.test.js +3 -2
  87. package/lib/webapp/frontend-construct.js +1 -1
  88. package/lib/webapp/tests/frontend-construct-nag.test.js +3 -2
  89. package/lib/webapp/tests/frontend-construct.test.js +3 -2
  90. package/package.json +6 -5
  91. package/lib/document-processing/resources/default-error-handler/index.js +0 -46
  92. package/lib/document-processing/resources/default-pdf-processor/index.js +0 -46
  93. package/lib/document-processing/resources/default-pdf-validator/index.js +0 -36
package/.jsii CHANGED
@@ -4114,7 +4114,7 @@
4114
4114
  "stability": "experimental"
4115
4115
  },
4116
4116
  "homepage": "https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git",
4117
- "jsiiVersion": "5.9.14 (build 9fc28bd)",
4117
+ "jsiiVersion": "5.9.22 (build b81c634)",
4118
4118
  "keywords": [
4119
4119
  "cdk"
4120
4120
  ],
@@ -4717,7 +4717,7 @@
4717
4717
  },
4718
4718
  "locationInModule": {
4719
4719
  "filename": "use-cases/document-processing/agentic-document-processing.ts",
4720
- "line": 17
4720
+ "line": 22
4721
4721
  },
4722
4722
  "parameters": [
4723
4723
  {
@@ -4751,13 +4751,13 @@
4751
4751
  "methods": [
4752
4752
  {
4753
4753
  "docs": {
4754
- "remarks": "Creates a Lambda function that invokes the configured Bedrock model to extract\nstructured data from the document. Uses the classification result from the\nprevious step to provide context for more accurate extraction.",
4754
+ "remarks": "Creates a Lambda function that invokes the configured Bedrock model to extract\nstructured data from the document. Uses the classification result from the\nprevious step to provide context for more accurate extraction.\n\nThis method caches the Lambda function to avoid creating duplicate resources,\nbut creates a new LambdaInvoke task each time to allow proper state chaining.",
4755
4755
  "stability": "experimental",
4756
4756
  "summary": "Implements the document extraction step using Amazon Bedrock."
4757
4757
  },
4758
4758
  "locationInModule": {
4759
4759
  "filename": "use-cases/document-processing/agentic-document-processing.ts",
4760
- "line": 21
4760
+ "line": 26
4761
4761
  },
4762
4762
  "name": "processingStep",
4763
4763
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockDocumentProcessing",
@@ -4820,6 +4820,203 @@
4820
4820
  ],
4821
4821
  "symbolId": "use-cases/document-processing/agentic-document-processing:AgenticDocumentProcessingProps"
4822
4822
  },
4823
+ "@cdklabs/cdk-appmod-catalog-blueprints.AggregatedResult": {
4824
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
4825
+ "datatype": true,
4826
+ "docs": {
4827
+ "remarks": "Combines classification and extraction results into final output.",
4828
+ "stability": "experimental",
4829
+ "summary": "Aggregated result from processing all chunks."
4830
+ },
4831
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AggregatedResult",
4832
+ "kind": "interface",
4833
+ "locationInModule": {
4834
+ "filename": "use-cases/document-processing/chunking-config.ts",
4835
+ "line": 637
4836
+ },
4837
+ "name": "AggregatedResult",
4838
+ "properties": [
4839
+ {
4840
+ "abstract": true,
4841
+ "docs": {
4842
+ "stability": "experimental",
4843
+ "summary": "Summary of chunk processing results."
4844
+ },
4845
+ "immutable": true,
4846
+ "locationInModule": {
4847
+ "filename": "use-cases/document-processing/chunking-config.ts",
4848
+ "line": 664
4849
+ },
4850
+ "name": "chunksSummary",
4851
+ "type": {
4852
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunksSummary"
4853
+ }
4854
+ },
4855
+ {
4856
+ "abstract": true,
4857
+ "docs": {
4858
+ "stability": "experimental",
4859
+ "summary": "Final document classification (from majority vote or other strategy)."
4860
+ },
4861
+ "immutable": true,
4862
+ "locationInModule": {
4863
+ "filename": "use-cases/document-processing/chunking-config.ts",
4864
+ "line": 646
4865
+ },
4866
+ "name": "classification",
4867
+ "type": {
4868
+ "primitive": "string"
4869
+ }
4870
+ },
4871
+ {
4872
+ "abstract": true,
4873
+ "docs": {
4874
+ "remarks": "For majority vote: (count of majority / total chunks)",
4875
+ "stability": "experimental",
4876
+ "summary": "Confidence score for the classification (0-1)."
4877
+ },
4878
+ "immutable": true,
4879
+ "locationInModule": {
4880
+ "filename": "use-cases/document-processing/chunking-config.ts",
4881
+ "line": 652
4882
+ },
4883
+ "name": "classificationConfidence",
4884
+ "type": {
4885
+ "primitive": "number"
4886
+ }
4887
+ },
4888
+ {
4889
+ "abstract": true,
4890
+ "docs": {
4891
+ "stability": "experimental",
4892
+ "summary": "Document identifier."
4893
+ },
4894
+ "immutable": true,
4895
+ "locationInModule": {
4896
+ "filename": "use-cases/document-processing/chunking-config.ts",
4897
+ "line": 641
4898
+ },
4899
+ "name": "documentId",
4900
+ "type": {
4901
+ "primitive": "string"
4902
+ }
4903
+ },
4904
+ {
4905
+ "abstract": true,
4906
+ "docs": {
4907
+ "remarks": "Entities without page numbers are deduplicated by (type, value).\nEntities with page numbers are preserved even if duplicated.",
4908
+ "stability": "experimental",
4909
+ "summary": "Deduplicated entities from all chunks."
4910
+ },
4911
+ "immutable": true,
4912
+ "locationInModule": {
4913
+ "filename": "use-cases/document-processing/chunking-config.ts",
4914
+ "line": 659
4915
+ },
4916
+ "name": "entities",
4917
+ "type": {
4918
+ "collection": {
4919
+ "elementtype": {
4920
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.Entity"
4921
+ },
4922
+ "kind": "array"
4923
+ }
4924
+ }
4925
+ },
4926
+ {
4927
+ "abstract": true,
4928
+ "docs": {
4929
+ "remarks": "True if fewer than minSuccessThreshold chunks succeeded.",
4930
+ "stability": "experimental",
4931
+ "summary": "Indicates if result is partial due to chunk failures."
4932
+ },
4933
+ "immutable": true,
4934
+ "locationInModule": {
4935
+ "filename": "use-cases/document-processing/chunking-config.ts",
4936
+ "line": 670
4937
+ },
4938
+ "name": "partialResult",
4939
+ "type": {
4940
+ "primitive": "boolean"
4941
+ }
4942
+ }
4943
+ ],
4944
+ "symbolId": "use-cases/document-processing/chunking-config:AggregatedResult"
4945
+ },
4946
+ "@cdklabs/cdk-appmod-catalog-blueprints.AggregationRequest": {
4947
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
4948
+ "datatype": true,
4949
+ "docs": {
4950
+ "remarks": "Contains results from all processed chunks.",
4951
+ "stability": "experimental",
4952
+ "summary": "Request payload for aggregation Lambda."
4953
+ },
4954
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.AggregationRequest",
4955
+ "kind": "interface",
4956
+ "locationInModule": {
4957
+ "filename": "use-cases/document-processing/chunking-config.ts",
4958
+ "line": 590
4959
+ },
4960
+ "name": "AggregationRequest",
4961
+ "properties": [
4962
+ {
4963
+ "abstract": true,
4964
+ "docs": {
4965
+ "stability": "experimental",
4966
+ "summary": "Results from all processed chunks."
4967
+ },
4968
+ "immutable": true,
4969
+ "locationInModule": {
4970
+ "filename": "use-cases/document-processing/chunking-config.ts",
4971
+ "line": 599
4972
+ },
4973
+ "name": "chunkResults",
4974
+ "type": {
4975
+ "collection": {
4976
+ "elementtype": {
4977
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkResult"
4978
+ },
4979
+ "kind": "array"
4980
+ }
4981
+ }
4982
+ },
4983
+ {
4984
+ "abstract": true,
4985
+ "docs": {
4986
+ "stability": "experimental",
4987
+ "summary": "Document identifier."
4988
+ },
4989
+ "immutable": true,
4990
+ "locationInModule": {
4991
+ "filename": "use-cases/document-processing/chunking-config.ts",
4992
+ "line": 594
4993
+ },
4994
+ "name": "documentId",
4995
+ "type": {
4996
+ "primitive": "string"
4997
+ }
4998
+ },
4999
+ {
5000
+ "abstract": true,
5001
+ "docs": {
5002
+ "default": "'majority-vote'",
5003
+ "stability": "experimental",
5004
+ "summary": "Strategy to use for aggregation."
5005
+ },
5006
+ "immutable": true,
5007
+ "locationInModule": {
5008
+ "filename": "use-cases/document-processing/chunking-config.ts",
5009
+ "line": 605
5010
+ },
5011
+ "name": "aggregationStrategy",
5012
+ "optional": true,
5013
+ "type": {
5014
+ "primitive": "string"
5015
+ }
5016
+ }
5017
+ ],
5018
+ "symbolId": "use-cases/document-processing/chunking-config:AggregationRequest"
5019
+ },
4823
5020
  "@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent": {
4824
5021
  "abstract": true,
4825
5022
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -5155,7 +5352,7 @@
5155
5352
  },
5156
5353
  "locationInModule": {
5157
5354
  "filename": "use-cases/document-processing/base-document-processing.ts",
5158
- "line": 458
5355
+ "line": 546
5159
5356
  },
5160
5357
  "name": "classificationStep",
5161
5358
  "protected": true,
@@ -5177,6 +5374,57 @@
5177
5374
  }
5178
5375
  }
5179
5376
  },
5377
+ {
5378
+ "abstract": true,
5379
+ "docs": {
5380
+ "remarks": "Concrete implementations can customize this to handle preprocessing results.\nFor example, BedrockDocumentProcessing uses this to add conditional branching\nfor chunked vs non-chunked documents.\n\nImplementations can call `createStandardProcessingWorkflow()` to reuse the\nstandard processing flow (Classification → Processing → Enrichment → PostProcessing).",
5381
+ "returns": "Step Functions chain for processing the document",
5382
+ "stability": "experimental",
5383
+ "summary": "Creates the processing workflow after preprocessing and initialization."
5384
+ },
5385
+ "locationInModule": {
5386
+ "filename": "use-cases/document-processing/base-document-processing.ts",
5387
+ "line": 339
5388
+ },
5389
+ "name": "createProcessingWorkflow",
5390
+ "protected": true,
5391
+ "returns": {
5392
+ "type": {
5393
+ "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
5394
+ }
5395
+ }
5396
+ },
5397
+ {
5398
+ "docs": {
5399
+ "remarks": "This is the existing workflow: Classification → Processing → Enrichment → PostProcessing\nConcrete classes can call this method to reuse the standard flow when they don't\nneed custom workflow branching.",
5400
+ "returns": "Step Functions chain for standard processing",
5401
+ "stability": "experimental",
5402
+ "summary": "Creates the standard processing workflow (no preprocessing customization)."
5403
+ },
5404
+ "locationInModule": {
5405
+ "filename": "use-cases/document-processing/base-document-processing.ts",
5406
+ "line": 351
5407
+ },
5408
+ "name": "createStandardProcessingWorkflow",
5409
+ "parameters": [
5410
+ {
5411
+ "docs": {
5412
+ "summary": "Optional prefix for construct IDs to ensure uniqueness when called multiple times."
5413
+ },
5414
+ "name": "idPrefix",
5415
+ "optional": true,
5416
+ "type": {
5417
+ "primitive": "string"
5418
+ }
5419
+ }
5420
+ ],
5421
+ "protected": true,
5422
+ "returns": {
5423
+ "type": {
5424
+ "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
5425
+ }
5426
+ }
5427
+ },
5180
5428
  {
5181
5429
  "abstract": true,
5182
5430
  "docs": {
@@ -5187,7 +5435,7 @@
5187
5435
  },
5188
5436
  "locationInModule": {
5189
5437
  "filename": "use-cases/document-processing/base-document-processing.ts",
5190
- "line": 478
5438
+ "line": 566
5191
5439
  },
5192
5440
  "name": "enrichmentStep",
5193
5441
  "protected": true,
@@ -5240,7 +5488,7 @@
5240
5488
  },
5241
5489
  "locationInModule": {
5242
5490
  "filename": "use-cases/document-processing/base-document-processing.ts",
5243
- "line": 446
5491
+ "line": 289
5244
5492
  },
5245
5493
  "name": "metrics",
5246
5494
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IObservable",
@@ -5265,7 +5513,7 @@
5265
5513
  },
5266
5514
  "locationInModule": {
5267
5515
  "filename": "use-cases/document-processing/base-document-processing.ts",
5268
- "line": 488
5516
+ "line": 576
5269
5517
  },
5270
5518
  "name": "postProcessingStep",
5271
5519
  "protected": true,
@@ -5288,6 +5536,64 @@
5288
5536
  }
5289
5537
  }
5290
5538
  },
5539
+ {
5540
+ "docs": {
5541
+ "default": "{} (no additional metadata)",
5542
+ "remarks": "This method is called during InitMetadata creation and allows subclasses to extend\nthe DynamoDB schema with their own fields without the base class knowing the details.\n\nThe base class provides the core document fields (DocumentId, ContentType, etc.),\nand subclasses can add their own fields (e.g., chunking metadata) by overriding this method.",
5543
+ "returns": "Record of additional DynamoDB attribute values to include in InitMetadata",
5544
+ "stability": "experimental",
5545
+ "summary": "Hook for concrete implementations to add preprocessing-specific metadata to DynamoDB."
5546
+ },
5547
+ "locationInModule": {
5548
+ "filename": "use-cases/document-processing/base-document-processing.ts",
5549
+ "line": 321
5550
+ },
5551
+ "name": "preprocessingMetadata",
5552
+ "protected": true,
5553
+ "returns": {
5554
+ "type": {
5555
+ "collection": {
5556
+ "elementtype": {
5557
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.DynamoAttributeValue"
5558
+ },
5559
+ "kind": "map"
5560
+ }
5561
+ }
5562
+ }
5563
+ },
5564
+ {
5565
+ "abstract": true,
5566
+ "docs": {
5567
+ "remarks": "This step runs BEFORE Init Metadata and can be used for:\n- Document chunking for large files\n- Document validation\n- Format conversion\n- Any other preprocessing needed before classification\n\nConcrete implementations can return undefined to skip preprocessing,\nmaintaining backward compatibility with existing workflows.",
5568
+ "returns": "Step Functions task for preprocessing, or undefined to skip this step",
5569
+ "stability": "experimental",
5570
+ "summary": "Defines the optional preprocessing step of the workflow."
5571
+ },
5572
+ "locationInModule": {
5573
+ "filename": "use-cases/document-processing/base-document-processing.ts",
5574
+ "line": 307
5575
+ },
5576
+ "name": "preprocessingStep",
5577
+ "protected": true,
5578
+ "returns": {
5579
+ "optional": true,
5580
+ "type": {
5581
+ "union": {
5582
+ "types": [
5583
+ {
5584
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke"
5585
+ },
5586
+ {
5587
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.BedrockInvokeModel"
5588
+ },
5589
+ {
5590
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.StepFunctionsStartExecution"
5591
+ }
5592
+ ]
5593
+ }
5594
+ }
5595
+ }
5596
+ },
5291
5597
  {
5292
5598
  "abstract": true,
5293
5599
  "docs": {
@@ -5298,7 +5604,7 @@
5298
5604
  },
5299
5605
  "locationInModule": {
5300
5606
  "filename": "use-cases/document-processing/base-document-processing.ts",
5301
- "line": 468
5607
+ "line": 556
5302
5608
  },
5303
5609
  "name": "processingStep",
5304
5610
  "protected": true,
@@ -5740,13 +6046,16 @@
5740
6046
  "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockDocumentProcessing",
5741
6047
  "initializer": {
5742
6048
  "docs": {
6049
+ "custom": {
6050
+ "throws": "Error if chunking configuration is invalid"
6051
+ },
5743
6052
  "remarks": "Initializes the Bedrock-powered document processing pipeline with AI classification\nand extraction capabilities. Creates Lambda functions with appropriate IAM roles\nfor Bedrock model invocation and S3 access.",
5744
6053
  "stability": "experimental",
5745
6054
  "summary": "Creates a new BedrockDocumentProcessing construct."
5746
6055
  },
5747
6056
  "locationInModule": {
5748
6057
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5749
- "line": 140
6058
+ "line": 255
5750
6059
  },
5751
6060
  "parameters": [
5752
6061
  {
@@ -5782,19 +6091,19 @@
5782
6091
  "kind": "class",
5783
6092
  "locationInModule": {
5784
6093
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5785
- "line": 92
6094
+ "line": 164
5786
6095
  },
5787
6096
  "methods": [
5788
6097
  {
5789
6098
  "docs": {
5790
- "remarks": "Creates a Lambda function that invokes the configured Bedrock model to classify\nthe document type. The function reads the document from S3 and sends it to\nBedrock with the classification prompt.",
6099
+ "remarks": "Creates a Lambda function that invokes the configured Bedrock model to classify\nthe document type. The function reads the document from S3 and sends it to\nBedrock with the classification prompt.\n\nThis method caches the Lambda function to avoid creating duplicate resources,\nbut creates a new LambdaInvoke task each time to allow proper state chaining.",
5791
6100
  "returns": "LambdaInvoke task configured for document classification",
5792
6101
  "stability": "experimental",
5793
6102
  "summary": "Implements the document classification step using Amazon Bedrock."
5794
6103
  },
5795
6104
  "locationInModule": {
5796
6105
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5797
- "line": 160
6106
+ "line": 365
5798
6107
  },
5799
6108
  "name": "classificationStep",
5800
6109
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
@@ -5817,6 +6126,26 @@
5817
6126
  }
5818
6127
  }
5819
6128
  },
6129
+ {
6130
+ "docs": {
6131
+ "remarks": "When chunking is enabled, creates a Choice State that:\n- Routes to chunked processing flow if document was chunked\n- Routes to standard processing flow if document was not chunked\n\nWhen chunking is disabled, returns the standard processing workflow.",
6132
+ "returns": "Step Functions chain for processing the document",
6133
+ "stability": "experimental",
6134
+ "summary": "Creates the processing workflow with conditional branching for chunked documents."
6135
+ },
6136
+ "locationInModule": {
6137
+ "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6138
+ "line": 716
6139
+ },
6140
+ "name": "createProcessingWorkflow",
6141
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
6142
+ "protected": true,
6143
+ "returns": {
6144
+ "type": {
6145
+ "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
6146
+ }
6147
+ }
6148
+ },
5820
6149
  {
5821
6150
  "docs": {
5822
6151
  "remarks": "If an enrichment Lambda function is provided in the props, creates a LambdaInvoke\ntask to perform additional processing on the extracted data. This step is useful\nfor data validation, transformation, or integration with external systems.",
@@ -5826,7 +6155,7 @@
5826
6155
  },
5827
6156
  "locationInModule": {
5828
6157
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5829
- "line": 301
6158
+ "line": 532
5830
6159
  },
5831
6160
  "name": "enrichmentStep",
5832
6161
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
@@ -5856,7 +6185,7 @@
5856
6185
  },
5857
6186
  "locationInModule": {
5858
6187
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5859
- "line": 278
6188
+ "line": 508
5860
6189
  },
5861
6190
  "name": "generateLambdaRoleForBedrock",
5862
6191
  "parameters": [
@@ -5890,7 +6219,7 @@
5890
6219
  },
5891
6220
  "locationInModule": {
5892
6221
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5893
- "line": 321
6222
+ "line": 557
5894
6223
  },
5895
6224
  "name": "postProcessingStep",
5896
6225
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
@@ -5916,31 +6245,89 @@
5916
6245
  },
5917
6246
  {
5918
6247
  "docs": {
5919
- "remarks": "Creates a Lambda function that invokes the configured Bedrock model to extract\nstructured data from the document. Uses the classification result from the\nprevious step to provide context for more accurate extraction.",
5920
- "returns": "LambdaInvoke task configured for document extraction",
6248
+ "remarks": "When chunking is enabled, adds fields for:\n- ChunkingEnabled: string representation of boolean flag\n- ChunkingStrategy: strategy used (fixed-pages, token-based, hybrid)\n- TokenAnalysis: JSON string with token analysis results\n- ChunkMetadata: JSON string array with chunk information",
6249
+ "returns": "Record of DynamoDB attribute values for chunking metadata",
5921
6250
  "stability": "experimental",
5922
- "summary": "Implements the document extraction step using Amazon Bedrock."
6251
+ "summary": "Provides additional metadata fields for chunking to be stored in DynamoDB."
5923
6252
  },
5924
6253
  "locationInModule": {
5925
6254
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5926
- "line": 224
6255
+ "line": 684
5927
6256
  },
5928
- "name": "processingStep",
6257
+ "name": "preprocessingMetadata",
5929
6258
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
5930
6259
  "protected": true,
5931
6260
  "returns": {
5932
6261
  "type": {
5933
- "union": {
5934
- "types": [
5935
- {
5936
- "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke"
5937
- },
5938
- {
5939
- "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.BedrockInvokeModel"
5940
- },
5941
- {
5942
- "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.StepFunctionsStartExecution"
5943
- }
6262
+ "collection": {
6263
+ "elementtype": {
6264
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.DynamoAttributeValue"
6265
+ },
6266
+ "kind": "map"
6267
+ }
6268
+ }
6269
+ }
6270
+ },
6271
+ {
6272
+ "docs": {
6273
+ "remarks": "When chunking is enabled, creates a Lambda function that analyzes PDFs and\nsplits large documents into manageable chunks. The function:\n1. Analyzes the PDF to determine page count and token estimates\n2. Decides if chunking is needed based on configured thresholds\n3. If chunking is needed, splits the PDF and uploads chunks to S3",
6274
+ "returns": "LambdaInvoke task for PDF analysis and chunking, or undefined if chunking is disabled",
6275
+ "stability": "experimental",
6276
+ "summary": "Implements the optional preprocessing step for PDF chunking."
6277
+ },
6278
+ "locationInModule": {
6279
+ "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6280
+ "line": 585
6281
+ },
6282
+ "name": "preprocessingStep",
6283
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
6284
+ "protected": true,
6285
+ "returns": {
6286
+ "optional": true,
6287
+ "type": {
6288
+ "union": {
6289
+ "types": [
6290
+ {
6291
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke"
6292
+ },
6293
+ {
6294
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.BedrockInvokeModel"
6295
+ },
6296
+ {
6297
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.StepFunctionsStartExecution"
6298
+ }
6299
+ ]
6300
+ }
6301
+ }
6302
+ }
6303
+ },
6304
+ {
6305
+ "docs": {
6306
+ "remarks": "Creates a Lambda function that invokes the configured Bedrock model to extract\nstructured data from the document. Uses the classification result from the\nprevious step to provide context for more accurate extraction.\n\nThis method caches the Lambda function to avoid creating duplicate resources,\nbut creates a new LambdaInvoke task each time to allow proper state chaining.",
6307
+ "returns": "LambdaInvoke task configured for document extraction",
6308
+ "stability": "experimental",
6309
+ "summary": "Implements the document extraction step using Amazon Bedrock."
6310
+ },
6311
+ "locationInModule": {
6312
+ "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6313
+ "line": 443
6314
+ },
6315
+ "name": "processingStep",
6316
+ "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.BaseDocumentProcessing",
6317
+ "protected": true,
6318
+ "returns": {
6319
+ "type": {
6320
+ "union": {
6321
+ "types": [
6322
+ {
6323
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke"
6324
+ },
6325
+ {
6326
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.BedrockInvokeModel"
6327
+ },
6328
+ {
6329
+ "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.StepFunctionsStartExecution"
6330
+ }
5944
6331
  ]
5945
6332
  }
5946
6333
  }
@@ -5957,7 +6344,24 @@
5957
6344
  "immutable": true,
5958
6345
  "locationInModule": {
5959
6346
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5960
- "line": 93
6347
+ "line": 196
6348
+ },
6349
+ "name": "DEFAULT_AGGREGATION_PROMPT",
6350
+ "protected": true,
6351
+ "static": true,
6352
+ "type": {
6353
+ "primitive": "string"
6354
+ }
6355
+ },
6356
+ {
6357
+ "const": true,
6358
+ "docs": {
6359
+ "stability": "experimental"
6360
+ },
6361
+ "immutable": true,
6362
+ "locationInModule": {
6363
+ "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6364
+ "line": 165
5961
6365
  },
5962
6366
  "name": "DEFAULT_CLASSIFICATION_PROMPT",
5963
6367
  "protected": true,
@@ -5974,7 +6378,7 @@
5974
6378
  "immutable": true,
5975
6379
  "locationInModule": {
5976
6380
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5977
- "line": 104
6381
+ "line": 176
5978
6382
  },
5979
6383
  "name": "DEFAULT_PROCESSING_PROMPT",
5980
6384
  "protected": true,
@@ -5991,7 +6395,7 @@
5991
6395
  "immutable": true,
5992
6396
  "locationInModule": {
5993
6397
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
5994
- "line": 125
6398
+ "line": 220
5995
6399
  },
5996
6400
  "name": "bedrockDocumentProcessingProps",
5997
6401
  "protected": true,
@@ -6007,7 +6411,7 @@
6007
6411
  "immutable": true,
6008
6412
  "locationInModule": {
6009
6413
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6010
- "line": 127
6414
+ "line": 222
6011
6415
  },
6012
6416
  "name": "stateMachine",
6013
6417
  "type": {
@@ -6032,10 +6436,49 @@
6032
6436
  "kind": "interface",
6033
6437
  "locationInModule": {
6034
6438
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6035
- "line": 23
6439
+ "line": 24
6036
6440
  },
6037
6441
  "name": "BedrockDocumentProcessingProps",
6038
6442
  "properties": [
6443
+ {
6444
+ "abstract": true,
6445
+ "docs": {
6446
+ "default": "DEFAULT_AGGREGATION_PROMPT",
6447
+ "remarks": "Used when chunking is enabled to merge processing results from all chunks\ninto a single coherent result.\n\nThe prompt receives the concatenated processing results from all chunks\nand should instruct the model to synthesize them into a unified output.",
6448
+ "stability": "experimental",
6449
+ "summary": "Custom prompt template for aggregating results from multiple chunks."
6450
+ },
6451
+ "immutable": true,
6452
+ "locationInModule": {
6453
+ "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6454
+ "line": 72
6455
+ },
6456
+ "name": "aggregationPrompt",
6457
+ "optional": true,
6458
+ "type": {
6459
+ "primitive": "string"
6460
+ }
6461
+ },
6462
+ {
6463
+ "abstract": true,
6464
+ "docs": {
6465
+ "default": "undefined (uses default configuration when enableChunking is true)",
6466
+ "remarks": "Only applies when `enableChunking` is true. Allows customization of:\n- **Chunking strategy**: How documents are split (fixed-pages, token-based, or hybrid)\n- **Thresholds**: When to trigger chunking based on page count or token count\n- **Chunk size and overlap**: Control chunk boundaries and context preservation\n- **Processing mode**: Parallel (faster) or sequential (cost-optimized)\n- **Aggregation strategy**: How to combine results from multiple chunks\n\n## Default Configuration\n\nIf not provided, uses sensible defaults optimized for most use cases:\n- Strategy: `'hybrid'` (recommended - balances token and page limits)\n- Page threshold: 100 pages\n- Token threshold: 150,000 tokens\n- Processing mode: `'parallel'`\n- Max concurrency: 10\n- Aggregation strategy: `'majority-vote'`\n\n## Strategy Comparison\n\n| Strategy | Best For | Pros | Cons |\n|----------|----------|------|------|\n| `hybrid` | Most documents | Balances token/page limits | Slightly more complex |\n| `token-based` | Variable density | Respects model limits | Slower analysis |\n| `fixed-pages` | Uniform density | Simple, fast | May exceed token limits |",
6467
+ "see": "{@link ChunkingConfig } for detailed configuration options",
6468
+ "stability": "experimental",
6469
+ "summary": "Configuration for PDF chunking behavior."
6470
+ },
6471
+ "immutable": true,
6472
+ "locationInModule": {
6473
+ "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6474
+ "line": 131
6475
+ },
6476
+ "name": "chunkingConfig",
6477
+ "optional": true,
6478
+ "type": {
6479
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingConfig"
6480
+ }
6481
+ },
6039
6482
  {
6040
6483
  "abstract": true,
6041
6484
  "docs": {
@@ -6045,7 +6488,7 @@
6045
6488
  "immutable": true,
6046
6489
  "locationInModule": {
6047
6490
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6048
- "line": 27
6491
+ "line": 28
6049
6492
  },
6050
6493
  "name": "classificationBedrockModel",
6051
6494
  "optional": true,
@@ -6064,7 +6507,7 @@
6064
6507
  "immutable": true,
6065
6508
  "locationInModule": {
6066
6509
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6067
- "line": 38
6510
+ "line": 39
6068
6511
  },
6069
6512
  "name": "classificationPrompt",
6070
6513
  "optional": true,
@@ -6072,6 +6515,25 @@
6072
6515
  "primitive": "string"
6073
6516
  }
6074
6517
  },
6518
+ {
6519
+ "abstract": true,
6520
+ "docs": {
6521
+ "default": "false",
6522
+ "remarks": "When enabled, documents exceeding configured thresholds will be automatically\nsplit into chunks, processed in parallel or sequentially, and results aggregated.\n\nThis feature is useful for:\n- Processing large PDFs (>100 pages)\n- Handling documents that exceed Bedrock token limits (~200K tokens)\n- Improving processing reliability for complex documents\n- Processing documents with variable content density\n\nThe chunking workflow:\n1. Analyzes PDF to determine page count and estimate token count\n2. Decides if chunking is needed based on configured thresholds\n3. If chunking is needed, splits PDF into chunks and uploads to S3\n4. Processes each chunk through classification and extraction\n5. Aggregates results using majority voting for classification\n6. Deduplicates entities across chunks\n7. Cleans up temporary chunk files from S3",
6523
+ "stability": "experimental",
6524
+ "summary": "Enable PDF chunking for large documents."
6525
+ },
6526
+ "immutable": true,
6527
+ "locationInModule": {
6528
+ "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6529
+ "line": 97
6530
+ },
6531
+ "name": "enableChunking",
6532
+ "optional": true,
6533
+ "type": {
6534
+ "primitive": "boolean"
6535
+ }
6536
+ },
6075
6537
  {
6076
6538
  "abstract": true,
6077
6539
  "docs": {
@@ -6082,7 +6544,7 @@
6082
6544
  "immutable": true,
6083
6545
  "locationInModule": {
6084
6546
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6085
- "line": 49
6547
+ "line": 50
6086
6548
  },
6087
6549
  "name": "enrichmentLambdaFunction",
6088
6550
  "optional": true,
@@ -6100,7 +6562,7 @@
6100
6562
  "immutable": true,
6101
6563
  "locationInModule": {
6102
6564
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6103
- "line": 54
6565
+ "line": 55
6104
6566
  },
6105
6567
  "name": "postProcessingLambdaFunction",
6106
6568
  "optional": true,
@@ -6117,7 +6579,7 @@
6117
6579
  "immutable": true,
6118
6580
  "locationInModule": {
6119
6581
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6120
- "line": 32
6582
+ "line": 33
6121
6583
  },
6122
6584
  "name": "processingBedrockModel",
6123
6585
  "optional": true,
@@ -6136,7 +6598,7 @@
6136
6598
  "immutable": true,
6137
6599
  "locationInModule": {
6138
6600
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6139
- "line": 44
6601
+ "line": 45
6140
6602
  },
6141
6603
  "name": "processingPrompt",
6142
6604
  "optional": true,
@@ -6154,7 +6616,7 @@
6154
6616
  "immutable": true,
6155
6617
  "locationInModule": {
6156
6618
  "filename": "use-cases/document-processing/bedrock-document-processing.ts",
6157
- "line": 59
6619
+ "line": 60
6158
6620
  },
6159
6621
  "name": "stepTimeouts",
6160
6622
  "optional": true,
@@ -6210,110 +6672,1319 @@
6210
6672
  "filename": "use-cases/framework/bedrock/bedrock.ts",
6211
6673
  "line": 26
6212
6674
  },
6213
- "name": "fmModelId",
6214
- "optional": true,
6675
+ "name": "fmModelId",
6676
+ "optional": true,
6677
+ "type": {
6678
+ "fqn": "aws-cdk-lib.aws_bedrock.FoundationModelIdentifier"
6679
+ }
6680
+ },
6681
+ {
6682
+ "abstract": true,
6683
+ "docs": {
6684
+ "default": "false",
6685
+ "remarks": "When enabled, uses inference profiles instead of direct model invocation.",
6686
+ "stability": "experimental",
6687
+ "summary": "Enable cross-region inference for Bedrock models to improve availability and performance."
6688
+ },
6689
+ "immutable": true,
6690
+ "locationInModule": {
6691
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6692
+ "line": 33
6693
+ },
6694
+ "name": "useCrossRegionInference",
6695
+ "optional": true,
6696
+ "type": {
6697
+ "primitive": "boolean"
6698
+ }
6699
+ }
6700
+ ],
6701
+ "symbolId": "use-cases/framework/bedrock/bedrock:BedrockModelProps"
6702
+ },
6703
+ "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils": {
6704
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6705
+ "docs": {
6706
+ "stability": "experimental"
6707
+ },
6708
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils",
6709
+ "initializer": {
6710
+ "docs": {
6711
+ "stability": "experimental"
6712
+ }
6713
+ },
6714
+ "kind": "class",
6715
+ "locationInModule": {
6716
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6717
+ "line": 42
6718
+ },
6719
+ "methods": [
6720
+ {
6721
+ "docs": {
6722
+ "stability": "experimental"
6723
+ },
6724
+ "locationInModule": {
6725
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6726
+ "line": 43
6727
+ },
6728
+ "name": "deriveActualModelId",
6729
+ "parameters": [
6730
+ {
6731
+ "name": "props",
6732
+ "optional": true,
6733
+ "type": {
6734
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
6735
+ }
6736
+ }
6737
+ ],
6738
+ "returns": {
6739
+ "type": {
6740
+ "primitive": "string"
6741
+ }
6742
+ },
6743
+ "static": true
6744
+ },
6745
+ {
6746
+ "docs": {
6747
+ "stability": "experimental"
6748
+ },
6749
+ "locationInModule": {
6750
+ "filename": "use-cases/framework/bedrock/bedrock.ts",
6751
+ "line": 48
6752
+ },
6753
+ "name": "generateModelIAMPermissions",
6754
+ "parameters": [
6755
+ {
6756
+ "name": "scope",
6757
+ "type": {
6758
+ "fqn": "constructs.Construct"
6759
+ }
6760
+ },
6761
+ {
6762
+ "name": "props",
6763
+ "optional": true,
6764
+ "type": {
6765
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
6766
+ }
6767
+ }
6768
+ ],
6769
+ "returns": {
6770
+ "type": {
6771
+ "fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
6772
+ }
6773
+ },
6774
+ "static": true
6775
+ }
6776
+ ],
6777
+ "name": "BedrockModelUtils",
6778
+ "symbolId": "use-cases/framework/bedrock/bedrock:BedrockModelUtils"
6779
+ },
6780
+ "@cdklabs/cdk-appmod-catalog-blueprints.ChunkClassificationResult": {
6781
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6782
+ "datatype": true,
6783
+ "docs": {
6784
+ "stability": "experimental",
6785
+ "summary": "Classification result for a chunk."
6786
+ },
6787
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkClassificationResult",
6788
+ "kind": "interface",
6789
+ "locationInModule": {
6790
+ "filename": "use-cases/document-processing/chunking-config.ts",
6791
+ "line": 517
6792
+ },
6793
+ "name": "ChunkClassificationResult",
6794
+ "properties": [
6795
+ {
6796
+ "abstract": true,
6797
+ "docs": {
6798
+ "stability": "experimental"
6799
+ },
6800
+ "immutable": true,
6801
+ "locationInModule": {
6802
+ "filename": "use-cases/document-processing/chunking-config.ts",
6803
+ "line": 518
6804
+ },
6805
+ "name": "documentClassification",
6806
+ "type": {
6807
+ "primitive": "string"
6808
+ }
6809
+ },
6810
+ {
6811
+ "abstract": true,
6812
+ "docs": {
6813
+ "stability": "experimental"
6814
+ },
6815
+ "immutable": true,
6816
+ "locationInModule": {
6817
+ "filename": "use-cases/document-processing/chunking-config.ts",
6818
+ "line": 519
6819
+ },
6820
+ "name": "confidence",
6821
+ "optional": true,
6822
+ "type": {
6823
+ "primitive": "number"
6824
+ }
6825
+ }
6826
+ ],
6827
+ "symbolId": "use-cases/document-processing/chunking-config:ChunkClassificationResult"
6828
+ },
6829
+ "@cdklabs/cdk-appmod-catalog-blueprints.ChunkMetadata": {
6830
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6831
+ "datatype": true,
6832
+ "docs": {
6833
+ "remarks": "Contains information about the chunk's position, size, and S3 location.",
6834
+ "stability": "experimental",
6835
+ "summary": "Metadata about a single chunk of a document."
6836
+ },
6837
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkMetadata",
6838
+ "kind": "interface",
6839
+ "locationInModule": {
6840
+ "filename": "use-cases/document-processing/chunking-config.ts",
6841
+ "line": 297
6842
+ },
6843
+ "name": "ChunkMetadata",
6844
+ "properties": [
6845
+ {
6846
+ "abstract": true,
6847
+ "docs": {
6848
+ "stability": "experimental",
6849
+ "summary": "S3 bucket containing the chunk file."
6850
+ },
6851
+ "immutable": true,
6852
+ "locationInModule": {
6853
+ "filename": "use-cases/document-processing/chunking-config.ts",
6854
+ "line": 338
6855
+ },
6856
+ "name": "bucket",
6857
+ "type": {
6858
+ "primitive": "string"
6859
+ }
6860
+ },
6861
+ {
6862
+ "abstract": true,
6863
+ "docs": {
6864
+ "remarks": "Format: {documentId}_chunk_{index}",
6865
+ "stability": "experimental",
6866
+ "summary": "Unique identifier for this chunk."
6867
+ },
6868
+ "immutable": true,
6869
+ "locationInModule": {
6870
+ "filename": "use-cases/document-processing/chunking-config.ts",
6871
+ "line": 302
6872
+ },
6873
+ "name": "chunkId",
6874
+ "type": {
6875
+ "primitive": "string"
6876
+ }
6877
+ },
6878
+ {
6879
+ "abstract": true,
6880
+ "docs": {
6881
+ "stability": "experimental",
6882
+ "summary": "Zero-based index of this chunk in the document."
6883
+ },
6884
+ "immutable": true,
6885
+ "locationInModule": {
6886
+ "filename": "use-cases/document-processing/chunking-config.ts",
6887
+ "line": 307
6888
+ },
6889
+ "name": "chunkIndex",
6890
+ "type": {
6891
+ "primitive": "number"
6892
+ }
6893
+ },
6894
+ {
6895
+ "abstract": true,
6896
+ "docs": {
6897
+ "stability": "experimental",
6898
+ "summary": "Ending page number (zero-based, inclusive) of this chunk."
6899
+ },
6900
+ "immutable": true,
6901
+ "locationInModule": {
6902
+ "filename": "use-cases/document-processing/chunking-config.ts",
6903
+ "line": 322
6904
+ },
6905
+ "name": "endPage",
6906
+ "type": {
6907
+ "primitive": "number"
6908
+ }
6909
+ },
6910
+ {
6911
+ "abstract": true,
6912
+ "docs": {
6913
+ "remarks": "Based on word-count heuristic (1.3 tokens per word).",
6914
+ "stability": "experimental",
6915
+ "summary": "Estimated token count for this chunk."
6916
+ },
6917
+ "immutable": true,
6918
+ "locationInModule": {
6919
+ "filename": "use-cases/document-processing/chunking-config.ts",
6920
+ "line": 333
6921
+ },
6922
+ "name": "estimatedTokens",
6923
+ "type": {
6924
+ "primitive": "number"
6925
+ }
6926
+ },
6927
+ {
6928
+ "abstract": true,
6929
+ "docs": {
6930
+ "remarks": "Typically in chunks/ prefix.",
6931
+ "stability": "experimental",
6932
+ "summary": "S3 key for the chunk file."
6933
+ },
6934
+ "immutable": true,
6935
+ "locationInModule": {
6936
+ "filename": "use-cases/document-processing/chunking-config.ts",
6937
+ "line": 344
6938
+ },
6939
+ "name": "key",
6940
+ "type": {
6941
+ "primitive": "string"
6942
+ }
6943
+ },
6944
+ {
6945
+ "abstract": true,
6946
+ "docs": {
6947
+ "stability": "experimental",
6948
+ "summary": "Number of pages in this chunk."
6949
+ },
6950
+ "immutable": true,
6951
+ "locationInModule": {
6952
+ "filename": "use-cases/document-processing/chunking-config.ts",
6953
+ "line": 327
6954
+ },
6955
+ "name": "pageCount",
6956
+ "type": {
6957
+ "primitive": "number"
6958
+ }
6959
+ },
6960
+ {
6961
+ "abstract": true,
6962
+ "docs": {
6963
+ "stability": "experimental",
6964
+ "summary": "Starting page number (zero-based) of this chunk."
6965
+ },
6966
+ "immutable": true,
6967
+ "locationInModule": {
6968
+ "filename": "use-cases/document-processing/chunking-config.ts",
6969
+ "line": 317
6970
+ },
6971
+ "name": "startPage",
6972
+ "type": {
6973
+ "primitive": "number"
6974
+ }
6975
+ },
6976
+ {
6977
+ "abstract": true,
6978
+ "docs": {
6979
+ "stability": "experimental",
6980
+ "summary": "Total number of chunks in the document."
6981
+ },
6982
+ "immutable": true,
6983
+ "locationInModule": {
6984
+ "filename": "use-cases/document-processing/chunking-config.ts",
6985
+ "line": 312
6986
+ },
6987
+ "name": "totalChunks",
6988
+ "type": {
6989
+ "primitive": "number"
6990
+ }
6991
+ }
6992
+ ],
6993
+ "symbolId": "use-cases/document-processing/chunking-config:ChunkMetadata"
6994
+ },
6995
+ "@cdklabs/cdk-appmod-catalog-blueprints.ChunkProcessingResult": {
6996
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
6997
+ "datatype": true,
6998
+ "docs": {
6999
+ "stability": "experimental",
7000
+ "summary": "Processing result for a chunk."
7001
+ },
7002
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkProcessingResult",
7003
+ "kind": "interface",
7004
+ "locationInModule": {
7005
+ "filename": "use-cases/document-processing/chunking-config.ts",
7006
+ "line": 525
7007
+ },
7008
+ "name": "ChunkProcessingResult",
7009
+ "properties": [
7010
+ {
7011
+ "abstract": true,
7012
+ "docs": {
7013
+ "stability": "experimental"
7014
+ },
7015
+ "immutable": true,
7016
+ "locationInModule": {
7017
+ "filename": "use-cases/document-processing/chunking-config.ts",
7018
+ "line": 526
7019
+ },
7020
+ "name": "entities",
7021
+ "type": {
7022
+ "collection": {
7023
+ "elementtype": {
7024
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.Entity"
7025
+ },
7026
+ "kind": "array"
7027
+ }
7028
+ }
7029
+ }
7030
+ ],
7031
+ "symbolId": "use-cases/document-processing/chunking-config:ChunkProcessingResult"
7032
+ },
7033
+ "@cdklabs/cdk-appmod-catalog-blueprints.ChunkResult": {
7034
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7035
+ "datatype": true,
7036
+ "docs": {
7037
+ "remarks": "Contains classification and extraction results, or error information.",
7038
+ "stability": "experimental",
7039
+ "summary": "Result from processing a single chunk."
7040
+ },
7041
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkResult",
7042
+ "kind": "interface",
7043
+ "locationInModule": {
7044
+ "filename": "use-cases/document-processing/chunking-config.ts",
7045
+ "line": 533
7046
+ },
7047
+ "name": "ChunkResult",
7048
+ "properties": [
7049
+ {
7050
+ "abstract": true,
7051
+ "docs": {
7052
+ "stability": "experimental",
7053
+ "summary": "Chunk identifier."
7054
+ },
7055
+ "immutable": true,
7056
+ "locationInModule": {
7057
+ "filename": "use-cases/document-processing/chunking-config.ts",
7058
+ "line": 537
7059
+ },
7060
+ "name": "chunkId",
7061
+ "type": {
7062
+ "primitive": "string"
7063
+ }
7064
+ },
7065
+ {
7066
+ "abstract": true,
7067
+ "docs": {
7068
+ "stability": "experimental",
7069
+ "summary": "Zero-based chunk index."
7070
+ },
7071
+ "immutable": true,
7072
+ "locationInModule": {
7073
+ "filename": "use-cases/document-processing/chunking-config.ts",
7074
+ "line": 542
7075
+ },
7076
+ "name": "chunkIndex",
7077
+ "type": {
7078
+ "primitive": "number"
7079
+ }
7080
+ },
7081
+ {
7082
+ "abstract": true,
7083
+ "docs": {
7084
+ "stability": "experimental",
7085
+ "summary": "Optional classification result for this chunk."
7086
+ },
7087
+ "immutable": true,
7088
+ "locationInModule": {
7089
+ "filename": "use-cases/document-processing/chunking-config.ts",
7090
+ "line": 547
7091
+ },
7092
+ "name": "classificationResult",
7093
+ "optional": true,
7094
+ "type": {
7095
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkClassificationResult"
7096
+ }
7097
+ },
7098
+ {
7099
+ "abstract": true,
7100
+ "docs": {
7101
+ "stability": "experimental",
7102
+ "summary": "Error message if chunk processing failed."
7103
+ },
7104
+ "immutable": true,
7105
+ "locationInModule": {
7106
+ "filename": "use-cases/document-processing/chunking-config.ts",
7107
+ "line": 557
7108
+ },
7109
+ "name": "error",
7110
+ "optional": true,
7111
+ "type": {
7112
+ "primitive": "string"
7113
+ }
7114
+ },
7115
+ {
7116
+ "abstract": true,
7117
+ "docs": {
7118
+ "stability": "experimental",
7119
+ "summary": "Optional extraction result for this chunk."
7120
+ },
7121
+ "immutable": true,
7122
+ "locationInModule": {
7123
+ "filename": "use-cases/document-processing/chunking-config.ts",
7124
+ "line": 552
7125
+ },
7126
+ "name": "processingResult",
7127
+ "optional": true,
7128
+ "type": {
7129
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkProcessingResult"
7130
+ }
7131
+ }
7132
+ ],
7133
+ "symbolId": "use-cases/document-processing/chunking-config:ChunkResult"
7134
+ },
7135
+ "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingConfig": {
7136
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7137
+ "datatype": true,
7138
+ "docs": {
7139
+ "remarks": "This interface provides fine-grained control over how large PDF documents are\nsplit into manageable chunks for processing. The chunking system supports three\nstrategies, each optimized for different document types and use cases.\n\n## Chunking Strategies\n\n### 1. Hybrid Strategy (RECOMMENDED)\nBalances both token count and page limits for optimal chunking. Best for most\ndocuments as it respects model token limits while preventing excessively large chunks.\n\n### 2. Token-Based Strategy\nSplits documents based on estimated token count. Best for documents with variable\ncontent density (e.g., mixed text and images, tables, charts).\n\n### 3. Fixed-Pages Strategy (Legacy)\nSimple page-based splitting. Fast but may exceed token limits for dense documents.\nUse only for documents with uniform content density.\n\n## Processing Modes\n\n- **parallel**: Process multiple chunks simultaneously (faster, higher cost)\n- **sequential**: Process chunks one at a time (slower, lower cost)\n\n## Aggregation Strategies\n\n- **majority-vote**: Most frequent classification wins (recommended)\n- **weighted-vote**: Early chunks weighted higher\n- **first-chunk**: Use first chunk's classification only\n\n## Default Values\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| strategy | 'hybrid' | Chunking strategy |\n| pageThreshold | 100 | Pages to trigger chunking |\n| tokenThreshold | 150000 | Tokens to trigger chunking |\n| chunkSize | 50 | Pages per chunk (fixed-pages) |\n| overlapPages | 5 | Overlap pages (fixed-pages) |\n| maxTokensPerChunk | 100000 | Max tokens per chunk (token-based) |\n| overlapTokens | 5000 | Overlap tokens (token-based, hybrid) |\n| targetTokensPerChunk | 80000 | Target tokens per chunk (hybrid) |\n| maxPagesPerChunk | 99 | Max pages per chunk (hybrid) |\n| processingMode | 'parallel' | Processing mode |\n| maxConcurrency | 10 | Max parallel chunks |\n| aggregationStrategy | 'majority-vote' | Result aggregation |\n| minSuccessThreshold | 0.5 | Min success rate for valid result |",
7140
+ "stability": "experimental",
7141
+ "summary": "Comprehensive configuration for PDF chunking behavior."
7142
+ },
7143
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingConfig",
7144
+ "kind": "interface",
7145
+ "locationInModule": {
7146
+ "filename": "use-cases/document-processing/chunking-config.ts",
7147
+ "line": 189
7148
+ },
7149
+ "name": "ChunkingConfig",
7150
+ "properties": [
7151
+ {
7152
+ "abstract": true,
7153
+ "docs": {
7154
+ "default": "'majority-vote'",
7155
+ "remarks": "- **majority-vote**: Most frequent classification wins\n- **weighted-vote**: Early chunks weighted higher\n- **first-chunk**: Use first chunk's classification",
7156
+ "stability": "experimental",
7157
+ "summary": "Strategy for aggregating results from multiple chunks."
7158
+ },
7159
+ "immutable": true,
7160
+ "locationInModule": {
7161
+ "filename": "use-cases/document-processing/chunking-config.ts",
7162
+ "line": 282
7163
+ },
7164
+ "name": "aggregationStrategy",
7165
+ "optional": true,
7166
+ "type": {
7167
+ "primitive": "string"
7168
+ }
7169
+ },
7170
+ {
7171
+ "abstract": true,
7172
+ "docs": {
7173
+ "default": "50",
7174
+ "stability": "experimental",
7175
+ "summary": "Number of pages per chunk (fixed-pages strategy)."
7176
+ },
7177
+ "immutable": true,
7178
+ "locationInModule": {
7179
+ "filename": "use-cases/document-processing/chunking-config.ts",
7180
+ "line": 212
7181
+ },
7182
+ "name": "chunkSize",
7183
+ "optional": true,
7184
+ "type": {
7185
+ "primitive": "number"
7186
+ }
7187
+ },
7188
+ {
7189
+ "abstract": true,
7190
+ "docs": {
7191
+ "default": "10",
7192
+ "remarks": "Higher values increase speed but also cost.",
7193
+ "stability": "experimental",
7194
+ "summary": "Maximum number of chunks to process concurrently (parallel mode only)."
7195
+ },
7196
+ "immutable": true,
7197
+ "locationInModule": {
7198
+ "filename": "use-cases/document-processing/chunking-config.ts",
7199
+ "line": 271
7200
+ },
7201
+ "name": "maxConcurrency",
7202
+ "optional": true,
7203
+ "type": {
7204
+ "primitive": "number"
7205
+ }
7206
+ },
7207
+ {
7208
+ "abstract": true,
7209
+ "docs": {
7210
+ "default": "99",
7211
+ "remarks": "Note: Bedrock has a hard limit of 100 pages per PDF, so we default to 99\nto provide a safety margin.",
7212
+ "stability": "experimental",
7213
+ "summary": "Hard limit on pages per chunk (hybrid strategy)."
7214
+ },
7215
+ "immutable": true,
7216
+ "locationInModule": {
7217
+ "filename": "use-cases/document-processing/chunking-config.ts",
7218
+ "line": 246
7219
+ },
7220
+ "name": "maxPagesPerChunk",
7221
+ "optional": true,
7222
+ "type": {
7223
+ "primitive": "number"
7224
+ }
7225
+ },
7226
+ {
7227
+ "abstract": true,
7228
+ "docs": {
7229
+ "default": "100000",
7230
+ "stability": "experimental",
7231
+ "summary": "Maximum tokens per chunk (token-based strategy)."
7232
+ },
7233
+ "immutable": true,
7234
+ "locationInModule": {
7235
+ "filename": "use-cases/document-processing/chunking-config.ts",
7236
+ "line": 231
7237
+ },
7238
+ "name": "maxTokensPerChunk",
7239
+ "optional": true,
7240
+ "type": {
7241
+ "primitive": "number"
7242
+ }
7243
+ },
7244
+ {
7245
+ "abstract": true,
7246
+ "docs": {
7247
+ "default": "0.5 (50%)",
7248
+ "remarks": "If fewer chunks succeed, the result is marked as partial failure.",
7249
+ "stability": "experimental",
7250
+ "summary": "Minimum percentage of chunks that must succeed for aggregation."
7251
+ },
7252
+ "immutable": true,
7253
+ "locationInModule": {
7254
+ "filename": "use-cases/document-processing/chunking-config.ts",
7255
+ "line": 290
7256
+ },
7257
+ "name": "minSuccessThreshold",
7258
+ "optional": true,
7259
+ "type": {
7260
+ "primitive": "number"
7261
+ }
7262
+ },
7263
+ {
7264
+ "abstract": true,
7265
+ "docs": {
7266
+ "default": "5",
7267
+ "stability": "experimental",
7268
+ "summary": "Number of overlapping pages between chunks (fixed-pages strategy)."
7269
+ },
7270
+ "immutable": true,
7271
+ "locationInModule": {
7272
+ "filename": "use-cases/document-processing/chunking-config.ts",
7273
+ "line": 218
7274
+ },
7275
+ "name": "overlapPages",
7276
+ "optional": true,
7277
+ "type": {
7278
+ "primitive": "number"
7279
+ }
7280
+ },
7281
+ {
7282
+ "abstract": true,
7283
+ "docs": {
7284
+ "default": "5000",
7285
+ "stability": "experimental",
7286
+ "summary": "Number of overlapping tokens between chunks (token-based and hybrid strategies)."
7287
+ },
7288
+ "immutable": true,
7289
+ "locationInModule": {
7290
+ "filename": "use-cases/document-processing/chunking-config.ts",
7291
+ "line": 237
7292
+ },
7293
+ "name": "overlapTokens",
7294
+ "optional": true,
7295
+ "type": {
7296
+ "primitive": "number"
7297
+ }
7298
+ },
7299
+ {
7300
+ "abstract": true,
7301
+ "docs": {
7302
+ "default": "100",
7303
+ "stability": "experimental",
7304
+ "summary": "Threshold for triggering chunking based on page count (fixed-pages strategy)."
7305
+ },
7306
+ "immutable": true,
7307
+ "locationInModule": {
7308
+ "filename": "use-cases/document-processing/chunking-config.ts",
7309
+ "line": 206
7310
+ },
7311
+ "name": "pageThreshold",
7312
+ "optional": true,
7313
+ "type": {
7314
+ "primitive": "number"
7315
+ }
7316
+ },
7317
+ {
7318
+ "abstract": true,
7319
+ "docs": {
7320
+ "default": "'parallel'",
7321
+ "remarks": "- **parallel**: Process multiple chunks simultaneously (faster, higher cost)\n- **sequential**: Process chunks one at a time (slower, lower cost)",
7322
+ "stability": "experimental",
7323
+ "summary": "Processing mode for chunks."
7324
+ },
7325
+ "immutable": true,
7326
+ "locationInModule": {
7327
+ "filename": "use-cases/document-processing/chunking-config.ts",
7328
+ "line": 263
7329
+ },
7330
+ "name": "processingMode",
7331
+ "optional": true,
7332
+ "type": {
7333
+ "primitive": "string"
7334
+ }
7335
+ },
7336
+ {
7337
+ "abstract": true,
7338
+ "docs": {
7339
+ "default": "'hybrid'",
7340
+ "remarks": "- **hybrid** (RECOMMENDED): Balances token count and page limits\n- **token-based**: Respects model token limits, good for variable density\n- **fixed-pages**: Simple page-based splitting (legacy, not recommended)",
7341
+ "stability": "experimental",
7342
+ "summary": "Chunking strategy to use."
7343
+ },
7344
+ "immutable": true,
7345
+ "locationInModule": {
7346
+ "filename": "use-cases/document-processing/chunking-config.ts",
7347
+ "line": 199
7348
+ },
7349
+ "name": "strategy",
7350
+ "optional": true,
7351
+ "type": {
7352
+ "primitive": "string"
7353
+ }
7354
+ },
7355
+ {
7356
+ "abstract": true,
7357
+ "docs": {
7358
+ "default": "80000",
7359
+ "stability": "experimental",
7360
+ "summary": "Soft target for tokens per chunk (hybrid strategy)."
7361
+ },
7362
+ "immutable": true,
7363
+ "locationInModule": {
7364
+ "filename": "use-cases/document-processing/chunking-config.ts",
7365
+ "line": 252
7366
+ },
7367
+ "name": "targetTokensPerChunk",
7368
+ "optional": true,
7369
+ "type": {
7370
+ "primitive": "number"
7371
+ }
7372
+ },
7373
+ {
7374
+ "abstract": true,
7375
+ "docs": {
7376
+ "default": "150000",
7377
+ "stability": "experimental",
7378
+ "summary": "Threshold for triggering chunking based on token count (token-based strategy)."
7379
+ },
7380
+ "immutable": true,
7381
+ "locationInModule": {
7382
+ "filename": "use-cases/document-processing/chunking-config.ts",
7383
+ "line": 225
7384
+ },
7385
+ "name": "tokenThreshold",
7386
+ "optional": true,
7387
+ "type": {
7388
+ "primitive": "number"
7389
+ }
7390
+ }
7391
+ ],
7392
+ "symbolId": "use-cases/document-processing/chunking-config:ChunkingConfig"
7393
+ },
7394
+ "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingConfigUsed": {
7395
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7396
+ "datatype": true,
7397
+ "docs": {
7398
+ "remarks": "Includes both user-provided and default values.",
7399
+ "stability": "experimental",
7400
+ "summary": "Chunking configuration used for processing."
7401
+ },
7402
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingConfigUsed",
7403
+ "kind": "interface",
7404
+ "locationInModule": {
7405
+ "filename": "use-cases/document-processing/chunking-config.ts",
7406
+ "line": 458
7407
+ },
7408
+ "name": "ChunkingConfigUsed",
7409
+ "properties": [
7410
+ {
7411
+ "abstract": true,
7412
+ "docs": {
7413
+ "stability": "experimental"
7414
+ },
7415
+ "immutable": true,
7416
+ "locationInModule": {
7417
+ "filename": "use-cases/document-processing/chunking-config.ts",
7418
+ "line": 459
7419
+ },
7420
+ "name": "strategy",
7421
+ "type": {
7422
+ "primitive": "string"
7423
+ }
7424
+ },
7425
+ {
7426
+ "abstract": true,
7427
+ "docs": {
7428
+ "stability": "experimental"
7429
+ },
7430
+ "immutable": true,
7431
+ "locationInModule": {
7432
+ "filename": "use-cases/document-processing/chunking-config.ts",
7433
+ "line": 460
7434
+ },
7435
+ "name": "totalPages",
7436
+ "type": {
7437
+ "primitive": "number"
7438
+ }
7439
+ },
7440
+ {
7441
+ "abstract": true,
7442
+ "docs": {
7443
+ "stability": "experimental"
7444
+ },
7445
+ "immutable": true,
7446
+ "locationInModule": {
7447
+ "filename": "use-cases/document-processing/chunking-config.ts",
7448
+ "line": 461
7449
+ },
7450
+ "name": "totalTokens",
7451
+ "type": {
7452
+ "primitive": "number"
7453
+ }
7454
+ },
7455
+ {
7456
+ "abstract": true,
7457
+ "docs": {
7458
+ "stability": "experimental"
7459
+ },
7460
+ "immutable": true,
7461
+ "locationInModule": {
7462
+ "filename": "use-cases/document-processing/chunking-config.ts",
7463
+ "line": 462
7464
+ },
7465
+ "name": "chunkSize",
7466
+ "optional": true,
7467
+ "type": {
7468
+ "primitive": "number"
7469
+ }
7470
+ },
7471
+ {
7472
+ "abstract": true,
7473
+ "docs": {
7474
+ "stability": "experimental"
7475
+ },
7476
+ "immutable": true,
7477
+ "locationInModule": {
7478
+ "filename": "use-cases/document-processing/chunking-config.ts",
7479
+ "line": 467
7480
+ },
7481
+ "name": "maxPagesPerChunk",
7482
+ "optional": true,
7483
+ "type": {
7484
+ "primitive": "number"
7485
+ }
7486
+ },
7487
+ {
7488
+ "abstract": true,
7489
+ "docs": {
7490
+ "stability": "experimental"
7491
+ },
7492
+ "immutable": true,
7493
+ "locationInModule": {
7494
+ "filename": "use-cases/document-processing/chunking-config.ts",
7495
+ "line": 464
7496
+ },
7497
+ "name": "maxTokensPerChunk",
7498
+ "optional": true,
7499
+ "type": {
7500
+ "primitive": "number"
7501
+ }
7502
+ },
7503
+ {
7504
+ "abstract": true,
7505
+ "docs": {
7506
+ "stability": "experimental"
7507
+ },
7508
+ "immutable": true,
7509
+ "locationInModule": {
7510
+ "filename": "use-cases/document-processing/chunking-config.ts",
7511
+ "line": 463
7512
+ },
7513
+ "name": "overlapPages",
7514
+ "optional": true,
7515
+ "type": {
7516
+ "primitive": "number"
7517
+ }
7518
+ },
7519
+ {
7520
+ "abstract": true,
7521
+ "docs": {
7522
+ "stability": "experimental"
7523
+ },
7524
+ "immutable": true,
7525
+ "locationInModule": {
7526
+ "filename": "use-cases/document-processing/chunking-config.ts",
7527
+ "line": 465
7528
+ },
7529
+ "name": "overlapTokens",
7530
+ "optional": true,
7531
+ "type": {
7532
+ "primitive": "number"
7533
+ }
7534
+ },
7535
+ {
7536
+ "abstract": true,
7537
+ "docs": {
7538
+ "stability": "experimental"
7539
+ },
7540
+ "immutable": true,
7541
+ "locationInModule": {
7542
+ "filename": "use-cases/document-processing/chunking-config.ts",
7543
+ "line": 468
7544
+ },
7545
+ "name": "processingMode",
7546
+ "optional": true,
7547
+ "type": {
7548
+ "primitive": "string"
7549
+ }
7550
+ },
7551
+ {
7552
+ "abstract": true,
7553
+ "docs": {
7554
+ "stability": "experimental"
7555
+ },
7556
+ "immutable": true,
7557
+ "locationInModule": {
7558
+ "filename": "use-cases/document-processing/chunking-config.ts",
7559
+ "line": 466
7560
+ },
7561
+ "name": "targetTokensPerChunk",
7562
+ "optional": true,
7563
+ "type": {
7564
+ "primitive": "number"
7565
+ }
7566
+ }
7567
+ ],
7568
+ "symbolId": "use-cases/document-processing/chunking-config:ChunkingConfigUsed"
7569
+ },
7570
+ "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingRequest": {
7571
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7572
+ "datatype": true,
7573
+ "docs": {
7574
+ "remarks": "Contains document information and chunking configuration.",
7575
+ "stability": "experimental",
7576
+ "summary": "Request payload for PDF analysis and chunking Lambda."
7577
+ },
7578
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingRequest",
7579
+ "kind": "interface",
7580
+ "locationInModule": {
7581
+ "filename": "use-cases/document-processing/chunking-config.ts",
7582
+ "line": 376
7583
+ },
7584
+ "name": "ChunkingRequest",
7585
+ "properties": [
7586
+ {
7587
+ "abstract": true,
7588
+ "docs": {
7589
+ "stability": "experimental",
7590
+ "summary": "Document content location information."
7591
+ },
7592
+ "immutable": true,
7593
+ "locationInModule": {
7594
+ "filename": "use-cases/document-processing/chunking-config.ts",
7595
+ "line": 391
7596
+ },
7597
+ "name": "content",
7598
+ "type": {
7599
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.DocumentContent"
7600
+ }
7601
+ },
7602
+ {
7603
+ "abstract": true,
7604
+ "docs": {
7605
+ "remarks": "Typically 'file' for S3-based documents.",
7606
+ "stability": "experimental",
7607
+ "summary": "Content type of the document."
7608
+ },
7609
+ "immutable": true,
7610
+ "locationInModule": {
7611
+ "filename": "use-cases/document-processing/chunking-config.ts",
7612
+ "line": 386
7613
+ },
7614
+ "name": "contentType",
7615
+ "type": {
7616
+ "primitive": "string"
7617
+ }
7618
+ },
7619
+ {
7620
+ "abstract": true,
7621
+ "docs": {
7622
+ "stability": "experimental",
7623
+ "summary": "Unique identifier for the document."
7624
+ },
7625
+ "immutable": true,
7626
+ "locationInModule": {
7627
+ "filename": "use-cases/document-processing/chunking-config.ts",
7628
+ "line": 380
7629
+ },
7630
+ "name": "documentId",
7631
+ "type": {
7632
+ "primitive": "string"
7633
+ }
7634
+ },
7635
+ {
7636
+ "abstract": true,
7637
+ "docs": {
7638
+ "remarks": "If not provided, uses default configuration.",
7639
+ "stability": "experimental",
7640
+ "summary": "Optional chunking configuration."
7641
+ },
7642
+ "immutable": true,
7643
+ "locationInModule": {
7644
+ "filename": "use-cases/document-processing/chunking-config.ts",
7645
+ "line": 397
7646
+ },
7647
+ "name": "config",
7648
+ "optional": true,
7649
+ "type": {
7650
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingConfig"
7651
+ }
7652
+ }
7653
+ ],
7654
+ "symbolId": "use-cases/document-processing/chunking-config:ChunkingRequest"
7655
+ },
7656
+ "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingResponse": {
7657
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7658
+ "datatype": true,
7659
+ "docs": {
7660
+ "remarks": "Document exceeds thresholds and has been split into chunks.",
7661
+ "stability": "experimental",
7662
+ "summary": "Response when chunking IS required."
7663
+ },
7664
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingResponse",
7665
+ "kind": "interface",
7666
+ "locationInModule": {
7667
+ "filename": "use-cases/document-processing/chunking-config.ts",
7668
+ "line": 475
7669
+ },
7670
+ "name": "ChunkingResponse",
7671
+ "properties": [
7672
+ {
7673
+ "abstract": true,
7674
+ "docs": {
7675
+ "stability": "experimental",
7676
+ "summary": "Array of chunk metadata for all created chunks."
7677
+ },
7678
+ "immutable": true,
7679
+ "locationInModule": {
7680
+ "filename": "use-cases/document-processing/chunking-config.ts",
7681
+ "line": 499
7682
+ },
7683
+ "name": "chunks",
7684
+ "type": {
7685
+ "collection": {
7686
+ "elementtype": {
7687
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkMetadata"
7688
+ },
7689
+ "kind": "array"
7690
+ }
7691
+ }
7692
+ },
7693
+ {
7694
+ "abstract": true,
7695
+ "docs": {
7696
+ "remarks": "Includes both user-provided and default values.",
7697
+ "stability": "experimental",
7698
+ "summary": "Configuration used for chunking."
7699
+ },
7700
+ "immutable": true,
7701
+ "locationInModule": {
7702
+ "filename": "use-cases/document-processing/chunking-config.ts",
7703
+ "line": 505
7704
+ },
7705
+ "name": "config",
7706
+ "type": {
7707
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkingConfigUsed"
7708
+ }
7709
+ },
7710
+ {
7711
+ "abstract": true,
7712
+ "docs": {
7713
+ "stability": "experimental",
7714
+ "summary": "Document identifier."
7715
+ },
7716
+ "immutable": true,
7717
+ "locationInModule": {
7718
+ "filename": "use-cases/document-processing/chunking-config.ts",
7719
+ "line": 479
7720
+ },
7721
+ "name": "documentId",
7722
+ "type": {
7723
+ "primitive": "string"
7724
+ }
7725
+ },
7726
+ {
7727
+ "abstract": true,
7728
+ "docs": {
7729
+ "stability": "experimental",
7730
+ "summary": "Indicates chunking is required."
7731
+ },
7732
+ "immutable": true,
7733
+ "locationInModule": {
7734
+ "filename": "use-cases/document-processing/chunking-config.ts",
7735
+ "line": 484
7736
+ },
7737
+ "name": "requiresChunking",
7738
+ "type": {
7739
+ "primitive": "boolean"
7740
+ }
7741
+ },
7742
+ {
7743
+ "abstract": true,
7744
+ "docs": {
7745
+ "stability": "experimental",
7746
+ "summary": "Strategy used for chunking."
7747
+ },
7748
+ "immutable": true,
7749
+ "locationInModule": {
7750
+ "filename": "use-cases/document-processing/chunking-config.ts",
7751
+ "line": 494
7752
+ },
7753
+ "name": "strategy",
7754
+ "type": {
7755
+ "primitive": "string"
7756
+ }
7757
+ },
7758
+ {
7759
+ "abstract": true,
7760
+ "docs": {
7761
+ "stability": "experimental",
7762
+ "summary": "Token analysis results with detailed per-page information."
7763
+ },
7764
+ "immutable": true,
7765
+ "locationInModule": {
7766
+ "filename": "use-cases/document-processing/chunking-config.ts",
7767
+ "line": 489
7768
+ },
7769
+ "name": "tokenAnalysis",
7770
+ "type": {
7771
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.TokenAnalysis"
7772
+ }
7773
+ }
7774
+ ],
7775
+ "symbolId": "use-cases/document-processing/chunking-config:ChunkingResponse"
7776
+ },
7777
+ "@cdklabs/cdk-appmod-catalog-blueprints.ChunksSummary": {
7778
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7779
+ "datatype": true,
7780
+ "docs": {
7781
+ "stability": "experimental",
7782
+ "summary": "Summary of chunk processing results."
7783
+ },
7784
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunksSummary",
7785
+ "kind": "interface",
7786
+ "locationInModule": {
7787
+ "filename": "use-cases/document-processing/chunking-config.ts",
7788
+ "line": 611
7789
+ },
7790
+ "name": "ChunksSummary",
7791
+ "properties": [
7792
+ {
7793
+ "abstract": true,
7794
+ "docs": {
7795
+ "stability": "experimental",
7796
+ "summary": "Number of chunks that failed processing."
7797
+ },
7798
+ "immutable": true,
7799
+ "locationInModule": {
7800
+ "filename": "use-cases/document-processing/chunking-config.ts",
7801
+ "line": 625
7802
+ },
7803
+ "name": "failedChunks",
7804
+ "type": {
7805
+ "primitive": "number"
7806
+ }
7807
+ },
7808
+ {
7809
+ "abstract": true,
7810
+ "docs": {
7811
+ "stability": "experimental",
7812
+ "summary": "Number of chunks that processed successfully."
7813
+ },
7814
+ "immutable": true,
7815
+ "locationInModule": {
7816
+ "filename": "use-cases/document-processing/chunking-config.ts",
7817
+ "line": 620
7818
+ },
7819
+ "name": "successfulChunks",
7820
+ "type": {
7821
+ "primitive": "number"
7822
+ }
7823
+ },
7824
+ {
7825
+ "abstract": true,
7826
+ "docs": {
7827
+ "stability": "experimental",
7828
+ "summary": "Total number of chunks created."
7829
+ },
7830
+ "immutable": true,
7831
+ "locationInModule": {
7832
+ "filename": "use-cases/document-processing/chunking-config.ts",
7833
+ "line": 615
7834
+ },
7835
+ "name": "totalChunks",
7836
+ "type": {
7837
+ "primitive": "number"
7838
+ }
7839
+ },
7840
+ {
7841
+ "abstract": true,
7842
+ "docs": {
7843
+ "stability": "experimental",
7844
+ "summary": "Optional total tokens processed across all chunks."
7845
+ },
7846
+ "immutable": true,
7847
+ "locationInModule": {
7848
+ "filename": "use-cases/document-processing/chunking-config.ts",
7849
+ "line": 630
7850
+ },
7851
+ "name": "totalTokensProcessed",
7852
+ "optional": true,
7853
+ "type": {
7854
+ "primitive": "number"
7855
+ }
7856
+ }
7857
+ ],
7858
+ "symbolId": "use-cases/document-processing/chunking-config:ChunksSummary"
7859
+ },
7860
+ "@cdklabs/cdk-appmod-catalog-blueprints.CleanupRequest": {
7861
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7862
+ "datatype": true,
7863
+ "docs": {
7864
+ "remarks": "Contains information about chunks to delete.",
7865
+ "stability": "experimental",
7866
+ "summary": "Request payload for cleanup Lambda."
7867
+ },
7868
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CleanupRequest",
7869
+ "kind": "interface",
7870
+ "locationInModule": {
7871
+ "filename": "use-cases/document-processing/chunking-config.ts",
7872
+ "line": 677
7873
+ },
7874
+ "name": "CleanupRequest",
7875
+ "properties": [
7876
+ {
7877
+ "abstract": true,
7878
+ "docs": {
7879
+ "stability": "experimental",
7880
+ "summary": "Array of chunk metadata for chunks to delete."
7881
+ },
7882
+ "immutable": true,
7883
+ "locationInModule": {
7884
+ "filename": "use-cases/document-processing/chunking-config.ts",
7885
+ "line": 686
7886
+ },
7887
+ "name": "chunks",
6215
7888
  "type": {
6216
- "fqn": "aws-cdk-lib.aws_bedrock.FoundationModelIdentifier"
7889
+ "collection": {
7890
+ "elementtype": {
7891
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.ChunkMetadata"
7892
+ },
7893
+ "kind": "array"
7894
+ }
6217
7895
  }
6218
7896
  },
6219
7897
  {
6220
7898
  "abstract": true,
6221
7899
  "docs": {
6222
- "default": "false",
6223
- "remarks": "When enabled, uses inference profiles instead of direct model invocation.",
6224
7900
  "stability": "experimental",
6225
- "summary": "Enable cross-region inference for Bedrock models to improve availability and performance."
7901
+ "summary": "Document identifier."
6226
7902
  },
6227
7903
  "immutable": true,
6228
7904
  "locationInModule": {
6229
- "filename": "use-cases/framework/bedrock/bedrock.ts",
6230
- "line": 33
7905
+ "filename": "use-cases/document-processing/chunking-config.ts",
7906
+ "line": 681
6231
7907
  },
6232
- "name": "useCrossRegionInference",
6233
- "optional": true,
7908
+ "name": "documentId",
6234
7909
  "type": {
6235
- "primitive": "boolean"
7910
+ "primitive": "string"
6236
7911
  }
6237
7912
  }
6238
7913
  ],
6239
- "symbolId": "use-cases/framework/bedrock/bedrock:BedrockModelProps"
7914
+ "symbolId": "use-cases/document-processing/chunking-config:CleanupRequest"
6240
7915
  },
6241
- "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils": {
7916
+ "@cdklabs/cdk-appmod-catalog-blueprints.CleanupResponse": {
6242
7917
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7918
+ "datatype": true,
6243
7919
  "docs": {
6244
- "stability": "experimental"
6245
- },
6246
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils",
6247
- "initializer": {
6248
- "docs": {
6249
- "stability": "experimental"
6250
- }
7920
+ "remarks": "Reports success and any errors encountered.",
7921
+ "stability": "experimental",
7922
+ "summary": "Response from cleanup Lambda."
6251
7923
  },
6252
- "kind": "class",
7924
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.CleanupResponse",
7925
+ "kind": "interface",
6253
7926
  "locationInModule": {
6254
- "filename": "use-cases/framework/bedrock/bedrock.ts",
6255
- "line": 42
7927
+ "filename": "use-cases/document-processing/chunking-config.ts",
7928
+ "line": 693
6256
7929
  },
6257
- "methods": [
7930
+ "name": "CleanupResponse",
7931
+ "properties": [
6258
7932
  {
7933
+ "abstract": true,
6259
7934
  "docs": {
6260
- "stability": "experimental"
7935
+ "stability": "experimental",
7936
+ "summary": "Number of chunks successfully deleted."
6261
7937
  },
7938
+ "immutable": true,
6262
7939
  "locationInModule": {
6263
- "filename": "use-cases/framework/bedrock/bedrock.ts",
6264
- "line": 43
7940
+ "filename": "use-cases/document-processing/chunking-config.ts",
7941
+ "line": 702
6265
7942
  },
6266
- "name": "deriveActualModelId",
6267
- "parameters": [
6268
- {
6269
- "name": "props",
6270
- "optional": true,
6271
- "type": {
6272
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
6273
- }
6274
- }
6275
- ],
6276
- "returns": {
6277
- "type": {
6278
- "primitive": "string"
6279
- }
7943
+ "name": "deletedChunks",
7944
+ "type": {
7945
+ "primitive": "number"
7946
+ }
7947
+ },
7948
+ {
7949
+ "abstract": true,
7950
+ "docs": {
7951
+ "stability": "experimental",
7952
+ "summary": "Document identifier."
6280
7953
  },
6281
- "static": true
7954
+ "immutable": true,
7955
+ "locationInModule": {
7956
+ "filename": "use-cases/document-processing/chunking-config.ts",
7957
+ "line": 697
7958
+ },
7959
+ "name": "documentId",
7960
+ "type": {
7961
+ "primitive": "string"
7962
+ }
6282
7963
  },
6283
7964
  {
7965
+ "abstract": true,
6284
7966
  "docs": {
6285
- "stability": "experimental"
7967
+ "remarks": "Empty if all deletions succeeded.",
7968
+ "stability": "experimental",
7969
+ "summary": "Array of error messages for failed deletions."
6286
7970
  },
7971
+ "immutable": true,
6287
7972
  "locationInModule": {
6288
- "filename": "use-cases/framework/bedrock/bedrock.ts",
6289
- "line": 48
7973
+ "filename": "use-cases/document-processing/chunking-config.ts",
7974
+ "line": 708
6290
7975
  },
6291
- "name": "generateModelIAMPermissions",
6292
- "parameters": [
6293
- {
6294
- "name": "scope",
6295
- "type": {
6296
- "fqn": "constructs.Construct"
6297
- }
6298
- },
6299
- {
6300
- "name": "props",
6301
- "optional": true,
6302
- "type": {
6303
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps"
6304
- }
6305
- }
6306
- ],
6307
- "returns": {
6308
- "type": {
6309
- "fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
7976
+ "name": "errors",
7977
+ "type": {
7978
+ "collection": {
7979
+ "elementtype": {
7980
+ "primitive": "string"
7981
+ },
7982
+ "kind": "array"
6310
7983
  }
6311
- },
6312
- "static": true
7984
+ }
6313
7985
  }
6314
7986
  ],
6315
- "name": "BedrockModelUtils",
6316
- "symbolId": "use-cases/framework/bedrock/bedrock:BedrockModelUtils"
7987
+ "symbolId": "use-cases/document-processing/chunking-config:CleanupResponse"
6317
7988
  },
6318
7989
  "@cdklabs/cdk-appmod-catalog-blueprints.CloudfrontDistributionObservabilityPropertyInjector": {
6319
7990
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -6982,114 +8653,281 @@
6982
8653
  "name": "DefaultObservabilityConfig",
6983
8654
  "properties": [
6984
8655
  {
6985
- "const": true,
8656
+ "const": true,
8657
+ "docs": {
8658
+ "stability": "experimental",
8659
+ "summary": "Default namespace for powertools."
8660
+ },
8661
+ "immutable": true,
8662
+ "locationInModule": {
8663
+ "filename": "use-cases/utilities/observability/default-observability-config.ts",
8664
+ "line": 12
8665
+ },
8666
+ "name": "DEFAULT_METRIC_NAMESPACE",
8667
+ "static": true,
8668
+ "type": {
8669
+ "primitive": "string"
8670
+ }
8671
+ }
8672
+ ],
8673
+ "symbolId": "use-cases/utilities/observability/default-observability-config:DefaultObservabilityConfig"
8674
+ },
8675
+ "@cdklabs/cdk-appmod-catalog-blueprints.DefaultRuntimes": {
8676
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
8677
+ "docs": {
8678
+ "remarks": "Updating of\nRuntime versions should be done here.",
8679
+ "stability": "experimental",
8680
+ "summary": "Contains default runtimes that would be referenced by Lambda functions in the various use cases."
8681
+ },
8682
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.DefaultRuntimes",
8683
+ "initializer": {
8684
+ "docs": {
8685
+ "stability": "experimental"
8686
+ }
8687
+ },
8688
+ "kind": "class",
8689
+ "locationInModule": {
8690
+ "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
8691
+ "line": 11
8692
+ },
8693
+ "name": "DefaultRuntimes",
8694
+ "properties": [
8695
+ {
8696
+ "const": true,
8697
+ "docs": {
8698
+ "stability": "experimental",
8699
+ "summary": "Default runtime for all Lambda functions in the use cases."
8700
+ },
8701
+ "immutable": true,
8702
+ "locationInModule": {
8703
+ "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
8704
+ "line": 16
8705
+ },
8706
+ "name": "NODEJS",
8707
+ "static": true,
8708
+ "type": {
8709
+ "fqn": "aws-cdk-lib.aws_lambda.Runtime"
8710
+ }
8711
+ },
8712
+ {
8713
+ "const": true,
8714
+ "docs": {
8715
+ "stability": "experimental",
8716
+ "summary": "Default runtime for Python based Lambda functions."
8717
+ },
8718
+ "immutable": true,
8719
+ "locationInModule": {
8720
+ "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
8721
+ "line": 21
8722
+ },
8723
+ "name": "PYTHON",
8724
+ "static": true,
8725
+ "type": {
8726
+ "fqn": "aws-cdk-lib.aws_lambda.Runtime"
8727
+ }
8728
+ },
8729
+ {
8730
+ "const": true,
8731
+ "docs": {
8732
+ "stability": "experimental"
8733
+ },
8734
+ "immutable": true,
8735
+ "locationInModule": {
8736
+ "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
8737
+ "line": 33
8738
+ },
8739
+ "name": "PYTHON_BUNDLING_IMAGE",
8740
+ "static": true,
8741
+ "type": {
8742
+ "primitive": "string"
8743
+ }
8744
+ },
8745
+ {
8746
+ "const": true,
8747
+ "docs": {
8748
+ "stability": "experimental",
8749
+ "summary": "Default bundling arguments for Python function."
8750
+ },
8751
+ "immutable": true,
8752
+ "locationInModule": {
8753
+ "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
8754
+ "line": 26
8755
+ },
8756
+ "name": "PYTHON_FUNCTION_BUNDLING",
8757
+ "static": true,
8758
+ "type": {
8759
+ "fqn": "@aws-cdk/aws-lambda-python-alpha.BundlingOptions"
8760
+ }
8761
+ }
8762
+ ],
8763
+ "symbolId": "use-cases/framework/custom-resource/default-runtimes:DefaultRuntimes"
8764
+ },
8765
+ "@cdklabs/cdk-appmod-catalog-blueprints.DocumentContent": {
8766
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
8767
+ "datatype": true,
8768
+ "docs": {
8769
+ "stability": "experimental",
8770
+ "summary": "Document content location information."
8771
+ },
8772
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.DocumentContent",
8773
+ "kind": "interface",
8774
+ "locationInModule": {
8775
+ "filename": "use-cases/document-processing/chunking-config.ts",
8776
+ "line": 350
8777
+ },
8778
+ "name": "DocumentContent",
8779
+ "properties": [
8780
+ {
8781
+ "abstract": true,
8782
+ "docs": {
8783
+ "stability": "experimental",
8784
+ "summary": "S3 bucket containing the document."
8785
+ },
8786
+ "immutable": true,
8787
+ "locationInModule": {
8788
+ "filename": "use-cases/document-processing/chunking-config.ts",
8789
+ "line": 359
8790
+ },
8791
+ "name": "bucket",
8792
+ "type": {
8793
+ "primitive": "string"
8794
+ }
8795
+ },
8796
+ {
8797
+ "abstract": true,
8798
+ "docs": {
8799
+ "stability": "experimental",
8800
+ "summary": "Original filename of the document."
8801
+ },
8802
+ "immutable": true,
8803
+ "locationInModule": {
8804
+ "filename": "use-cases/document-processing/chunking-config.ts",
8805
+ "line": 369
8806
+ },
8807
+ "name": "filename",
8808
+ "type": {
8809
+ "primitive": "string"
8810
+ }
8811
+ },
8812
+ {
8813
+ "abstract": true,
8814
+ "docs": {
8815
+ "stability": "experimental",
8816
+ "summary": "S3 key for the document."
8817
+ },
8818
+ "immutable": true,
8819
+ "locationInModule": {
8820
+ "filename": "use-cases/document-processing/chunking-config.ts",
8821
+ "line": 364
8822
+ },
8823
+ "name": "key",
8824
+ "type": {
8825
+ "primitive": "string"
8826
+ }
8827
+ },
8828
+ {
8829
+ "abstract": true,
6986
8830
  "docs": {
6987
8831
  "stability": "experimental",
6988
- "summary": "Default namespace for powertools."
8832
+ "summary": "Storage location type (e.g., 's3')."
6989
8833
  },
6990
8834
  "immutable": true,
6991
8835
  "locationInModule": {
6992
- "filename": "use-cases/utilities/observability/default-observability-config.ts",
6993
- "line": 12
8836
+ "filename": "use-cases/document-processing/chunking-config.ts",
8837
+ "line": 354
6994
8838
  },
6995
- "name": "DEFAULT_METRIC_NAMESPACE",
6996
- "static": true,
8839
+ "name": "location",
6997
8840
  "type": {
6998
8841
  "primitive": "string"
6999
8842
  }
7000
8843
  }
7001
8844
  ],
7002
- "symbolId": "use-cases/utilities/observability/default-observability-config:DefaultObservabilityConfig"
8845
+ "symbolId": "use-cases/document-processing/chunking-config:DocumentContent"
7003
8846
  },
7004
- "@cdklabs/cdk-appmod-catalog-blueprints.DefaultRuntimes": {
8847
+ "@cdklabs/cdk-appmod-catalog-blueprints.Entity": {
7005
8848
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
8849
+ "datatype": true,
7006
8850
  "docs": {
7007
- "remarks": "Updating of\nRuntime versions should be done here.",
7008
8851
  "stability": "experimental",
7009
- "summary": "Contains default runtimes that would be referenced by Lambda functions in the various use cases."
7010
- },
7011
- "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.DefaultRuntimes",
7012
- "initializer": {
7013
- "docs": {
7014
- "stability": "experimental"
7015
- }
8852
+ "summary": "Extracted entity from document processing."
7016
8853
  },
7017
- "kind": "class",
8854
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.Entity",
8855
+ "kind": "interface",
7018
8856
  "locationInModule": {
7019
- "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
7020
- "line": 11
8857
+ "filename": "use-cases/document-processing/chunking-config.ts",
8858
+ "line": 563
7021
8859
  },
7022
- "name": "DefaultRuntimes",
8860
+ "name": "Entity",
7023
8861
  "properties": [
7024
8862
  {
7025
- "const": true,
8863
+ "abstract": true,
7026
8864
  "docs": {
7027
8865
  "stability": "experimental",
7028
- "summary": "Default runtime for all Lambda functions in the use cases."
8866
+ "summary": "Type of entity (e.g., 'NAME', 'DATE', 'AMOUNT', 'ADDRESS')."
7029
8867
  },
7030
8868
  "immutable": true,
7031
8869
  "locationInModule": {
7032
- "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
7033
- "line": 16
8870
+ "filename": "use-cases/document-processing/chunking-config.ts",
8871
+ "line": 567
7034
8872
  },
7035
- "name": "NODEJS",
7036
- "static": true,
8873
+ "name": "type",
7037
8874
  "type": {
7038
- "fqn": "aws-cdk-lib.aws_lambda.Runtime"
8875
+ "primitive": "string"
7039
8876
  }
7040
8877
  },
7041
8878
  {
7042
- "const": true,
8879
+ "abstract": true,
7043
8880
  "docs": {
7044
8881
  "stability": "experimental",
7045
- "summary": "Default runtime for Python based Lambda functions."
8882
+ "summary": "Value of the entity."
7046
8883
  },
7047
8884
  "immutable": true,
7048
8885
  "locationInModule": {
7049
- "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
7050
- "line": 21
8886
+ "filename": "use-cases/document-processing/chunking-config.ts",
8887
+ "line": 572
7051
8888
  },
7052
- "name": "PYTHON",
7053
- "static": true,
8889
+ "name": "value",
7054
8890
  "type": {
7055
- "fqn": "aws-cdk-lib.aws_lambda.Runtime"
8891
+ "primitive": "string"
7056
8892
  }
7057
8893
  },
7058
8894
  {
7059
- "const": true,
8895
+ "abstract": true,
7060
8896
  "docs": {
7061
- "stability": "experimental"
8897
+ "stability": "experimental",
8898
+ "summary": "Optional chunk index where entity was found."
7062
8899
  },
7063
8900
  "immutable": true,
7064
8901
  "locationInModule": {
7065
- "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
7066
- "line": 33
8902
+ "filename": "use-cases/document-processing/chunking-config.ts",
8903
+ "line": 583
7067
8904
  },
7068
- "name": "PYTHON_BUNDLING_IMAGE",
7069
- "static": true,
8905
+ "name": "chunkIndex",
8906
+ "optional": true,
7070
8907
  "type": {
7071
- "primitive": "string"
8908
+ "primitive": "number"
7072
8909
  }
7073
8910
  },
7074
8911
  {
7075
- "const": true,
8912
+ "abstract": true,
7076
8913
  "docs": {
8914
+ "remarks": "Entities with page numbers are preserved even if duplicated.",
7077
8915
  "stability": "experimental",
7078
- "summary": "Default bundling arguments for Python function."
8916
+ "summary": "Optional page number where entity was found."
7079
8917
  },
7080
8918
  "immutable": true,
7081
8919
  "locationInModule": {
7082
- "filename": "use-cases/framework/custom-resource/default-runtimes.ts",
7083
- "line": 26
8920
+ "filename": "use-cases/document-processing/chunking-config.ts",
8921
+ "line": 578
7084
8922
  },
7085
- "name": "PYTHON_FUNCTION_BUNDLING",
7086
- "static": true,
8923
+ "name": "page",
8924
+ "optional": true,
7087
8925
  "type": {
7088
- "fqn": "@aws-cdk/aws-lambda-python-alpha.BundlingOptions"
8926
+ "primitive": "number"
7089
8927
  }
7090
8928
  }
7091
8929
  ],
7092
- "symbolId": "use-cases/framework/custom-resource/default-runtimes:DefaultRuntimes"
8930
+ "symbolId": "use-cases/document-processing/chunking-config:Entity"
7093
8931
  },
7094
8932
  "@cdklabs/cdk-appmod-catalog-blueprints.EventbridgeBroker": {
7095
8933
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
@@ -7398,6 +9236,81 @@
7398
9236
  "name": "FileType",
7399
9237
  "symbolId": "use-cases/utilities/data-loader:FileType"
7400
9238
  },
9239
+ "@cdklabs/cdk-appmod-catalog-blueprints.FixedPagesConfig": {
9240
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
9241
+ "datatype": true,
9242
+ "docs": {
9243
+ "remarks": "Splits documents by fixed page count (legacy approach).",
9244
+ "stability": "experimental",
9245
+ "summary": "Configuration for fixed-pages chunking strategy."
9246
+ },
9247
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.FixedPagesConfig",
9248
+ "kind": "interface",
9249
+ "locationInModule": {
9250
+ "filename": "use-cases/document-processing/chunking-config.ts",
9251
+ "line": 47
9252
+ },
9253
+ "name": "FixedPagesConfig",
9254
+ "properties": [
9255
+ {
9256
+ "abstract": true,
9257
+ "docs": {
9258
+ "default": "50",
9259
+ "stability": "experimental",
9260
+ "summary": "Number of pages per chunk."
9261
+ },
9262
+ "immutable": true,
9263
+ "locationInModule": {
9264
+ "filename": "use-cases/document-processing/chunking-config.ts",
9265
+ "line": 59
9266
+ },
9267
+ "name": "chunkSize",
9268
+ "optional": true,
9269
+ "type": {
9270
+ "primitive": "number"
9271
+ }
9272
+ },
9273
+ {
9274
+ "abstract": true,
9275
+ "docs": {
9276
+ "default": "5",
9277
+ "remarks": "Must be less than chunkSize.",
9278
+ "stability": "experimental",
9279
+ "summary": "Number of overlapping pages between consecutive chunks."
9280
+ },
9281
+ "immutable": true,
9282
+ "locationInModule": {
9283
+ "filename": "use-cases/document-processing/chunking-config.ts",
9284
+ "line": 66
9285
+ },
9286
+ "name": "overlapPages",
9287
+ "optional": true,
9288
+ "type": {
9289
+ "primitive": "number"
9290
+ }
9291
+ },
9292
+ {
9293
+ "abstract": true,
9294
+ "docs": {
9295
+ "default": "100",
9296
+ "remarks": "Documents with pages > threshold will be chunked.",
9297
+ "stability": "experimental",
9298
+ "summary": "Threshold for triggering chunking based on page count."
9299
+ },
9300
+ "immutable": true,
9301
+ "locationInModule": {
9302
+ "filename": "use-cases/document-processing/chunking-config.ts",
9303
+ "line": 53
9304
+ },
9305
+ "name": "pageThreshold",
9306
+ "optional": true,
9307
+ "type": {
9308
+ "primitive": "number"
9309
+ }
9310
+ }
9311
+ ],
9312
+ "symbolId": "use-cases/document-processing/chunking-config:FixedPagesConfig"
9313
+ },
7401
9314
  "@cdklabs/cdk-appmod-catalog-blueprints.Frontend": {
7402
9315
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7403
9316
  "base": "constructs.Construct",
@@ -7762,6 +9675,120 @@
7762
9675
  ],
7763
9676
  "symbolId": "use-cases/webapp/frontend-construct:FrontendProps"
7764
9677
  },
9678
+ "@cdklabs/cdk-appmod-catalog-blueprints.HybridConfig": {
9679
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
9680
+ "datatype": true,
9681
+ "docs": {
9682
+ "remarks": "Balances token count and page limits for optimal chunking.",
9683
+ "stability": "experimental",
9684
+ "summary": "Configuration for hybrid chunking strategy (RECOMMENDED)."
9685
+ },
9686
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.HybridConfig",
9687
+ "kind": "interface",
9688
+ "locationInModule": {
9689
+ "filename": "use-cases/document-processing/chunking-config.ts",
9690
+ "line": 100
9691
+ },
9692
+ "name": "HybridConfig",
9693
+ "properties": [
9694
+ {
9695
+ "abstract": true,
9696
+ "docs": {
9697
+ "default": "99",
9698
+ "remarks": "Prevents very large chunks even if token count is low.\nNote: Bedrock has a hard limit of 100 pages per PDF, so we default to 99\nto provide a safety margin.",
9699
+ "stability": "experimental",
9700
+ "summary": "Hard limit on pages per chunk."
9701
+ },
9702
+ "immutable": true,
9703
+ "locationInModule": {
9704
+ "filename": "use-cases/document-processing/chunking-config.ts",
9705
+ "line": 108
9706
+ },
9707
+ "name": "maxPagesPerChunk",
9708
+ "optional": true,
9709
+ "type": {
9710
+ "primitive": "number"
9711
+ }
9712
+ },
9713
+ {
9714
+ "abstract": true,
9715
+ "docs": {
9716
+ "default": "5000",
9717
+ "remarks": "Provides context continuity across chunks.",
9718
+ "stability": "experimental",
9719
+ "summary": "Number of overlapping tokens between consecutive chunks."
9720
+ },
9721
+ "immutable": true,
9722
+ "locationInModule": {
9723
+ "filename": "use-cases/document-processing/chunking-config.ts",
9724
+ "line": 136
9725
+ },
9726
+ "name": "overlapTokens",
9727
+ "optional": true,
9728
+ "type": {
9729
+ "primitive": "number"
9730
+ }
9731
+ },
9732
+ {
9733
+ "abstract": true,
9734
+ "docs": {
9735
+ "default": "100",
9736
+ "remarks": "Documents with pages > threshold will be chunked.",
9737
+ "stability": "experimental",
9738
+ "summary": "Threshold for triggering chunking based on page count."
9739
+ },
9740
+ "immutable": true,
9741
+ "locationInModule": {
9742
+ "filename": "use-cases/document-processing/chunking-config.ts",
9743
+ "line": 122
9744
+ },
9745
+ "name": "pageThreshold",
9746
+ "optional": true,
9747
+ "type": {
9748
+ "primitive": "number"
9749
+ }
9750
+ },
9751
+ {
9752
+ "abstract": true,
9753
+ "docs": {
9754
+ "default": "80000",
9755
+ "remarks": "Chunks aim for this token count but respect maxPagesPerChunk.",
9756
+ "stability": "experimental",
9757
+ "summary": "Soft target for tokens per chunk."
9758
+ },
9759
+ "immutable": true,
9760
+ "locationInModule": {
9761
+ "filename": "use-cases/document-processing/chunking-config.ts",
9762
+ "line": 115
9763
+ },
9764
+ "name": "targetTokensPerChunk",
9765
+ "optional": true,
9766
+ "type": {
9767
+ "primitive": "number"
9768
+ }
9769
+ },
9770
+ {
9771
+ "abstract": true,
9772
+ "docs": {
9773
+ "default": "150000",
9774
+ "remarks": "Documents with tokens > threshold will be chunked.",
9775
+ "stability": "experimental",
9776
+ "summary": "Threshold for triggering chunking based on token count."
9777
+ },
9778
+ "immutable": true,
9779
+ "locationInModule": {
9780
+ "filename": "use-cases/document-processing/chunking-config.ts",
9781
+ "line": 129
9782
+ },
9783
+ "name": "tokenThreshold",
9784
+ "optional": true,
9785
+ "type": {
9786
+ "primitive": "number"
9787
+ }
9788
+ }
9789
+ ],
9790
+ "symbolId": "use-cases/document-processing/chunking-config:HybridConfig"
9791
+ },
7765
9792
  "@cdklabs/cdk-appmod-catalog-blueprints.IAdapter": {
7766
9793
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
7767
9794
  "docs": {
@@ -7784,7 +9811,7 @@
7784
9811
  },
7785
9812
  "locationInModule": {
7786
9813
  "filename": "use-cases/document-processing/adapter/adapter.ts",
7787
- "line": 47
9814
+ "line": 48
7788
9815
  },
7789
9816
  "name": "createFailedChain",
7790
9817
  "parameters": [
@@ -7796,6 +9823,16 @@
7796
9823
  "type": {
7797
9824
  "fqn": "constructs.Construct"
7798
9825
  }
9826
+ },
9827
+ {
9828
+ "docs": {
9829
+ "summary": "Optional prefix for construct IDs to ensure uniqueness when called multiple times."
9830
+ },
9831
+ "name": "idPrefix",
9832
+ "optional": true,
9833
+ "type": {
9834
+ "primitive": "string"
9835
+ }
7799
9836
  }
7800
9837
  ],
7801
9838
  "returns": {
@@ -7866,7 +9903,7 @@
7866
9903
  },
7867
9904
  "locationInModule": {
7868
9905
  "filename": "use-cases/document-processing/adapter/adapter.ts",
7869
- "line": 54
9906
+ "line": 56
7870
9907
  },
7871
9908
  "name": "createSuccessChain",
7872
9909
  "parameters": [
@@ -7878,6 +9915,16 @@
7878
9915
  "type": {
7879
9916
  "fqn": "constructs.Construct"
7880
9917
  }
9918
+ },
9919
+ {
9920
+ "docs": {
9921
+ "summary": "Optional prefix for construct IDs to ensure uniqueness when called multiple times."
9922
+ },
9923
+ "name": "idPrefix",
9924
+ "optional": true,
9925
+ "type": {
9926
+ "primitive": "string"
9927
+ }
7881
9928
  }
7882
9929
  ],
7883
9930
  "returns": {
@@ -9026,7 +11073,7 @@
9026
11073
  },
9027
11074
  "locationInModule": {
9028
11075
  "filename": "use-cases/framework/foundation/network.ts",
9029
- "line": 21
11076
+ "line": 30
9030
11077
  },
9031
11078
  "parameters": [
9032
11079
  {
@@ -9047,22 +11094,58 @@
9047
11094
  "type": {
9048
11095
  "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.NetworkProps"
9049
11096
  }
9050
- }
9051
- ]
9052
- },
9053
- "kind": "class",
9054
- "locationInModule": {
9055
- "filename": "use-cases/framework/foundation/network.ts",
9056
- "line": 17
9057
- },
9058
- "methods": [
11097
+ }
11098
+ ]
11099
+ },
11100
+ "kind": "class",
11101
+ "locationInModule": {
11102
+ "filename": "use-cases/framework/foundation/network.ts",
11103
+ "line": 18
11104
+ },
11105
+ "methods": [
11106
+ {
11107
+ "docs": {
11108
+ "stability": "experimental"
11109
+ },
11110
+ "locationInModule": {
11111
+ "filename": "use-cases/framework/foundation/network.ts",
11112
+ "line": 19
11113
+ },
11114
+ "name": "useExistingVPCFromLookup",
11115
+ "parameters": [
11116
+ {
11117
+ "name": "scope",
11118
+ "type": {
11119
+ "fqn": "constructs.Construct"
11120
+ }
11121
+ },
11122
+ {
11123
+ "name": "id",
11124
+ "type": {
11125
+ "primitive": "string"
11126
+ }
11127
+ },
11128
+ {
11129
+ "name": "options",
11130
+ "type": {
11131
+ "fqn": "aws-cdk-lib.aws_ec2.VpcLookupOptions"
11132
+ }
11133
+ }
11134
+ ],
11135
+ "returns": {
11136
+ "type": {
11137
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.Network"
11138
+ }
11139
+ },
11140
+ "static": true
11141
+ },
9059
11142
  {
9060
11143
  "docs": {
9061
11144
  "stability": "experimental"
9062
11145
  },
9063
11146
  "locationInModule": {
9064
11147
  "filename": "use-cases/framework/foundation/network.ts",
9065
- "line": 89
11148
+ "line": 102
9066
11149
  },
9067
11150
  "name": "applicationSubnetSelection",
9068
11151
  "returns": {
@@ -9077,7 +11160,7 @@
9077
11160
  },
9078
11161
  "locationInModule": {
9079
11162
  "filename": "use-cases/framework/foundation/network.ts",
9080
- "line": 68
11163
+ "line": 81
9081
11164
  },
9082
11165
  "name": "createServiceEndpoint",
9083
11166
  "parameters": [
@@ -9117,11 +11200,11 @@
9117
11200
  "immutable": true,
9118
11201
  "locationInModule": {
9119
11202
  "filename": "use-cases/framework/foundation/network.ts",
9120
- "line": 18
11203
+ "line": 27
9121
11204
  },
9122
11205
  "name": "vpc",
9123
11206
  "type": {
9124
- "fqn": "aws-cdk-lib.aws_ec2.Vpc"
11207
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
9125
11208
  }
9126
11209
  }
9127
11210
  ],
@@ -9149,7 +11232,23 @@
9149
11232
  "immutable": true,
9150
11233
  "locationInModule": {
9151
11234
  "filename": "use-cases/framework/foundation/network.ts",
9152
- "line": 8
11235
+ "line": 7
11236
+ },
11237
+ "name": "existingVpc",
11238
+ "optional": true,
11239
+ "type": {
11240
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
11241
+ }
11242
+ },
11243
+ {
11244
+ "abstract": true,
11245
+ "docs": {
11246
+ "stability": "experimental"
11247
+ },
11248
+ "immutable": true,
11249
+ "locationInModule": {
11250
+ "filename": "use-cases/framework/foundation/network.ts",
11251
+ "line": 9
9153
11252
  },
9154
11253
  "name": "ipAddresses",
9155
11254
  "optional": true,
@@ -9165,7 +11264,7 @@
9165
11264
  "immutable": true,
9166
11265
  "locationInModule": {
9167
11266
  "filename": "use-cases/framework/foundation/network.ts",
9168
- "line": 12
11267
+ "line": 13
9169
11268
  },
9170
11269
  "name": "maxAzs",
9171
11270
  "optional": true,
@@ -9181,7 +11280,7 @@
9181
11280
  "immutable": true,
9182
11281
  "locationInModule": {
9183
11282
  "filename": "use-cases/framework/foundation/network.ts",
9184
- "line": 9
11283
+ "line": 10
9185
11284
  },
9186
11285
  "name": "natGatewayProvider",
9187
11286
  "optional": true,
@@ -9197,7 +11296,7 @@
9197
11296
  "immutable": true,
9198
11297
  "locationInModule": {
9199
11298
  "filename": "use-cases/framework/foundation/network.ts",
9200
- "line": 11
11299
+ "line": 12
9201
11300
  },
9202
11301
  "name": "natGateways",
9203
11302
  "optional": true,
@@ -9213,7 +11312,7 @@
9213
11312
  "immutable": true,
9214
11313
  "locationInModule": {
9215
11314
  "filename": "use-cases/framework/foundation/network.ts",
9216
- "line": 10
11315
+ "line": 11
9217
11316
  },
9218
11317
  "name": "natGatewaySubnets",
9219
11318
  "optional": true,
@@ -9229,7 +11328,7 @@
9229
11328
  "immutable": true,
9230
11329
  "locationInModule": {
9231
11330
  "filename": "use-cases/framework/foundation/network.ts",
9232
- "line": 7
11331
+ "line": 8
9233
11332
  },
9234
11333
  "name": "private",
9235
11334
  "optional": true,
@@ -9245,7 +11344,7 @@
9245
11344
  "immutable": true,
9246
11345
  "locationInModule": {
9247
11346
  "filename": "use-cases/framework/foundation/network.ts",
9248
- "line": 14
11347
+ "line": 15
9249
11348
  },
9250
11349
  "name": "subnetConfiguration",
9251
11350
  "optional": true,
@@ -9266,7 +11365,7 @@
9266
11365
  "immutable": true,
9267
11366
  "locationInModule": {
9268
11367
  "filename": "use-cases/framework/foundation/network.ts",
9269
- "line": 13
11368
+ "line": 14
9270
11369
  },
9271
11370
  "name": "vpcName",
9272
11371
  "optional": true,
@@ -9277,6 +11376,90 @@
9277
11376
  ],
9278
11377
  "symbolId": "use-cases/framework/foundation/network:NetworkProps"
9279
11378
  },
11379
+ "@cdklabs/cdk-appmod-catalog-blueprints.NoChunkingResponse": {
11380
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
11381
+ "datatype": true,
11382
+ "docs": {
11383
+ "remarks": "Document is below thresholds and will be processed without chunking.",
11384
+ "stability": "experimental",
11385
+ "summary": "Response when chunking is NOT required."
11386
+ },
11387
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.NoChunkingResponse",
11388
+ "kind": "interface",
11389
+ "locationInModule": {
11390
+ "filename": "use-cases/document-processing/chunking-config.ts",
11391
+ "line": 431
11392
+ },
11393
+ "name": "NoChunkingResponse",
11394
+ "properties": [
11395
+ {
11396
+ "abstract": true,
11397
+ "docs": {
11398
+ "stability": "experimental",
11399
+ "summary": "Document identifier."
11400
+ },
11401
+ "immutable": true,
11402
+ "locationInModule": {
11403
+ "filename": "use-cases/document-processing/chunking-config.ts",
11404
+ "line": 435
11405
+ },
11406
+ "name": "documentId",
11407
+ "type": {
11408
+ "primitive": "string"
11409
+ }
11410
+ },
11411
+ {
11412
+ "abstract": true,
11413
+ "docs": {
11414
+ "remarks": "Example: \"Document has 50 pages, below threshold of 100\"",
11415
+ "stability": "experimental",
11416
+ "summary": "Human-readable reason why chunking was not applied."
11417
+ },
11418
+ "immutable": true,
11419
+ "locationInModule": {
11420
+ "filename": "use-cases/document-processing/chunking-config.ts",
11421
+ "line": 451
11422
+ },
11423
+ "name": "reason",
11424
+ "type": {
11425
+ "primitive": "string"
11426
+ }
11427
+ },
11428
+ {
11429
+ "abstract": true,
11430
+ "docs": {
11431
+ "stability": "experimental",
11432
+ "summary": "Indicates chunking is not required."
11433
+ },
11434
+ "immutable": true,
11435
+ "locationInModule": {
11436
+ "filename": "use-cases/document-processing/chunking-config.ts",
11437
+ "line": 440
11438
+ },
11439
+ "name": "requiresChunking",
11440
+ "type": {
11441
+ "primitive": "boolean"
11442
+ }
11443
+ },
11444
+ {
11445
+ "abstract": true,
11446
+ "docs": {
11447
+ "stability": "experimental",
11448
+ "summary": "Token analysis results."
11449
+ },
11450
+ "immutable": true,
11451
+ "locationInModule": {
11452
+ "filename": "use-cases/document-processing/chunking-config.ts",
11453
+ "line": 445
11454
+ },
11455
+ "name": "tokenAnalysis",
11456
+ "type": {
11457
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.TokenAnalysis"
11458
+ }
11459
+ }
11460
+ ],
11461
+ "symbolId": "use-cases/document-processing/chunking-config:NoChunkingResponse"
11462
+ },
9280
11463
  "@cdklabs/cdk-appmod-catalog-blueprints.ObservableProps": {
9281
11464
  "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
9282
11465
  "datatype": true,
@@ -9368,15 +11551,20 @@
9368
11551
  "methods": [
9369
11552
  {
9370
11553
  "docs": {
9371
- "stability": "experimental"
11554
+ "returns": "Record of environment variables for Lambda configuration",
11555
+ "stability": "experimental",
11556
+ "summary": "Generate default Lambda configuration for Powertools."
9372
11557
  },
9373
11558
  "locationInModule": {
9374
11559
  "filename": "use-cases/utilities/observability/powertools-config.ts",
9375
- "line": 2
11560
+ "line": 11
9376
11561
  },
9377
11562
  "name": "generateDefaultLambdaConfig",
9378
11563
  "parameters": [
9379
11564
  {
11565
+ "docs": {
11566
+ "summary": "- Whether observability is enabled."
11567
+ },
9380
11568
  "name": "enableObservability",
9381
11569
  "optional": true,
9382
11570
  "type": {
@@ -9384,6 +11572,9 @@
9384
11572
  }
9385
11573
  },
9386
11574
  {
11575
+ "docs": {
11576
+ "summary": "- CloudWatch metrics namespace."
11577
+ },
9387
11578
  "name": "metricsNamespace",
9388
11579
  "optional": true,
9389
11580
  "type": {
@@ -9391,11 +11582,25 @@
9391
11582
  }
9392
11583
  },
9393
11584
  {
11585
+ "docs": {
11586
+ "summary": "- Service name for logging and metrics."
11587
+ },
9394
11588
  "name": "serviceName",
9395
11589
  "optional": true,
9396
11590
  "type": {
9397
11591
  "primitive": "string"
9398
11592
  }
11593
+ },
11594
+ {
11595
+ "docs": {
11596
+ "remarks": "Defaults to INFO.",
11597
+ "summary": "- Log level (INFO, ERROR, DEBUG, WARNING)."
11598
+ },
11599
+ "name": "logLevel",
11600
+ "optional": true,
11601
+ "type": {
11602
+ "primitive": "string"
11603
+ }
9399
11604
  }
9400
11605
  ],
9401
11606
  "returns": {
@@ -9455,7 +11660,7 @@
9455
11660
  },
9456
11661
  "locationInModule": {
9457
11662
  "filename": "use-cases/document-processing/adapter/queued-s3-adapter.ts",
9458
- "line": 272
11663
+ "line": 285
9459
11664
  },
9460
11665
  "name": "createFailedChain",
9461
11666
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IAdapter",
@@ -9465,6 +11670,13 @@
9465
11670
  "type": {
9466
11671
  "fqn": "constructs.Construct"
9467
11672
  }
11673
+ },
11674
+ {
11675
+ "name": "idPrefix",
11676
+ "optional": true,
11677
+ "type": {
11678
+ "primitive": "string"
11679
+ }
9468
11680
  }
9469
11681
  ],
9470
11682
  "returns": {
@@ -9481,7 +11693,7 @@
9481
11693
  },
9482
11694
  "locationInModule": {
9483
11695
  "filename": "use-cases/document-processing/adapter/queued-s3-adapter.ts",
9484
- "line": 148
11696
+ "line": 161
9485
11697
  },
9486
11698
  "name": "createIngressTrigger",
9487
11699
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IAdapter",
@@ -9523,7 +11735,7 @@
9523
11735
  },
9524
11736
  "locationInModule": {
9525
11737
  "filename": "use-cases/document-processing/adapter/queued-s3-adapter.ts",
9526
- "line": 301
11738
+ "line": 315
9527
11739
  },
9528
11740
  "name": "createSuccessChain",
9529
11741
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IAdapter",
@@ -9533,6 +11745,13 @@
9533
11745
  "type": {
9534
11746
  "fqn": "constructs.Construct"
9535
11747
  }
11748
+ },
11749
+ {
11750
+ "name": "idPrefix",
11751
+ "optional": true,
11752
+ "type": {
11753
+ "primitive": "string"
11754
+ }
9536
11755
  }
9537
11756
  ],
9538
11757
  "returns": {
@@ -9548,7 +11767,7 @@
9548
11767
  },
9549
11768
  "locationInModule": {
9550
11769
  "filename": "use-cases/document-processing/adapter/queued-s3-adapter.ts",
9551
- "line": 235
11770
+ "line": 248
9552
11771
  },
9553
11772
  "name": "generateAdapterIAMPolicies",
9554
11773
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IAdapter",
@@ -9591,7 +11810,7 @@
9591
11810
  },
9592
11811
  "locationInModule": {
9593
11812
  "filename": "use-cases/document-processing/adapter/queued-s3-adapter.ts",
9594
- "line": 101
11813
+ "line": 114
9595
11814
  },
9596
11815
  "name": "init",
9597
11816
  "overrides": "@cdklabs/cdk-appmod-catalog-blueprints.IAdapter",
@@ -9841,8 +12060,174 @@
9841
12060
  }
9842
12061
  ],
9843
12062
  "symbolId": "use-cases/utilities/observability/state-machine-observability-property-injector:StateMachineObservabilityPropertyInjector"
12063
+ },
12064
+ "@cdklabs/cdk-appmod-catalog-blueprints.TokenAnalysis": {
12065
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
12066
+ "datatype": true,
12067
+ "docs": {
12068
+ "remarks": "Provides information about document size and token distribution.",
12069
+ "stability": "experimental",
12070
+ "summary": "Token analysis results from PDF analysis."
12071
+ },
12072
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.TokenAnalysis",
12073
+ "kind": "interface",
12074
+ "locationInModule": {
12075
+ "filename": "use-cases/document-processing/chunking-config.ts",
12076
+ "line": 404
12077
+ },
12078
+ "name": "TokenAnalysis",
12079
+ "properties": [
12080
+ {
12081
+ "abstract": true,
12082
+ "docs": {
12083
+ "stability": "experimental",
12084
+ "summary": "Average tokens per page across the document."
12085
+ },
12086
+ "immutable": true,
12087
+ "locationInModule": {
12088
+ "filename": "use-cases/document-processing/chunking-config.ts",
12089
+ "line": 418
12090
+ },
12091
+ "name": "avgTokensPerPage",
12092
+ "type": {
12093
+ "primitive": "number"
12094
+ }
12095
+ },
12096
+ {
12097
+ "abstract": true,
12098
+ "docs": {
12099
+ "stability": "experimental",
12100
+ "summary": "Total number of pages in the document."
12101
+ },
12102
+ "immutable": true,
12103
+ "locationInModule": {
12104
+ "filename": "use-cases/document-processing/chunking-config.ts",
12105
+ "line": 413
12106
+ },
12107
+ "name": "totalPages",
12108
+ "type": {
12109
+ "primitive": "number"
12110
+ }
12111
+ },
12112
+ {
12113
+ "abstract": true,
12114
+ "docs": {
12115
+ "stability": "experimental",
12116
+ "summary": "Total estimated tokens in the document."
12117
+ },
12118
+ "immutable": true,
12119
+ "locationInModule": {
12120
+ "filename": "use-cases/document-processing/chunking-config.ts",
12121
+ "line": 408
12122
+ },
12123
+ "name": "totalTokens",
12124
+ "type": {
12125
+ "primitive": "number"
12126
+ }
12127
+ },
12128
+ {
12129
+ "abstract": true,
12130
+ "docs": {
12131
+ "remarks": "Used for token-based and hybrid chunking strategies.",
12132
+ "stability": "experimental",
12133
+ "summary": "Optional detailed token count for each page."
12134
+ },
12135
+ "immutable": true,
12136
+ "locationInModule": {
12137
+ "filename": "use-cases/document-processing/chunking-config.ts",
12138
+ "line": 424
12139
+ },
12140
+ "name": "tokensPerPage",
12141
+ "optional": true,
12142
+ "type": {
12143
+ "collection": {
12144
+ "elementtype": {
12145
+ "primitive": "number"
12146
+ },
12147
+ "kind": "array"
12148
+ }
12149
+ }
12150
+ }
12151
+ ],
12152
+ "symbolId": "use-cases/document-processing/chunking-config:TokenAnalysis"
12153
+ },
12154
+ "@cdklabs/cdk-appmod-catalog-blueprints.TokenBasedConfig": {
12155
+ "assembly": "@cdklabs/cdk-appmod-catalog-blueprints",
12156
+ "datatype": true,
12157
+ "docs": {
12158
+ "remarks": "Splits documents based on estimated token count to respect model limits.",
12159
+ "stability": "experimental",
12160
+ "summary": "Configuration for token-based chunking strategy."
12161
+ },
12162
+ "fqn": "@cdklabs/cdk-appmod-catalog-blueprints.TokenBasedConfig",
12163
+ "kind": "interface",
12164
+ "locationInModule": {
12165
+ "filename": "use-cases/document-processing/chunking-config.ts",
12166
+ "line": 73
12167
+ },
12168
+ "name": "TokenBasedConfig",
12169
+ "properties": [
12170
+ {
12171
+ "abstract": true,
12172
+ "docs": {
12173
+ "default": "100000",
12174
+ "remarks": "Ensures no chunk exceeds model token limits.",
12175
+ "stability": "experimental",
12176
+ "summary": "Maximum tokens per chunk."
12177
+ },
12178
+ "immutable": true,
12179
+ "locationInModule": {
12180
+ "filename": "use-cases/document-processing/chunking-config.ts",
12181
+ "line": 86
12182
+ },
12183
+ "name": "maxTokensPerChunk",
12184
+ "optional": true,
12185
+ "type": {
12186
+ "primitive": "number"
12187
+ }
12188
+ },
12189
+ {
12190
+ "abstract": true,
12191
+ "docs": {
12192
+ "default": "5000",
12193
+ "remarks": "Provides context continuity across chunks.",
12194
+ "stability": "experimental",
12195
+ "summary": "Number of overlapping tokens between consecutive chunks."
12196
+ },
12197
+ "immutable": true,
12198
+ "locationInModule": {
12199
+ "filename": "use-cases/document-processing/chunking-config.ts",
12200
+ "line": 93
12201
+ },
12202
+ "name": "overlapTokens",
12203
+ "optional": true,
12204
+ "type": {
12205
+ "primitive": "number"
12206
+ }
12207
+ },
12208
+ {
12209
+ "abstract": true,
12210
+ "docs": {
12211
+ "default": "150000",
12212
+ "remarks": "Documents with tokens > threshold will be chunked.",
12213
+ "stability": "experimental",
12214
+ "summary": "Threshold for triggering chunking based on token count."
12215
+ },
12216
+ "immutable": true,
12217
+ "locationInModule": {
12218
+ "filename": "use-cases/document-processing/chunking-config.ts",
12219
+ "line": 79
12220
+ },
12221
+ "name": "tokenThreshold",
12222
+ "optional": true,
12223
+ "type": {
12224
+ "primitive": "number"
12225
+ }
12226
+ }
12227
+ ],
12228
+ "symbolId": "use-cases/document-processing/chunking-config:TokenBasedConfig"
9844
12229
  }
9845
12230
  },
9846
- "version": "1.4.1",
9847
- "fingerprint": "YMoqjoSyxLeE4i0O8hTfbgkjfz/S2fY22EWcDdG21Cw="
12231
+ "version": "1.6.0",
12232
+ "fingerprint": "OFueXi+qz7VtZikZI7xIiECQ4G4YmwKdt5yPvDM79d4="
9848
12233
  }