@aws-cdk/aws-bedrock-agentcore-alpha 2.221.1-alpha.0 → 2.223.0-alpha.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 (33) hide show
  1. package/.jsii +3396 -138
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +69 -1
  4. package/README.md +327 -5
  5. package/agentcore/index.d.ts +4 -0
  6. package/agentcore/index.js +5 -1
  7. package/agentcore/memory/memory-strategy.d.ts +162 -0
  8. package/agentcore/memory/memory-strategy.js +174 -0
  9. package/agentcore/memory/memory.d.ts +531 -0
  10. package/agentcore/memory/memory.js +661 -0
  11. package/agentcore/memory/perms.d.ts +63 -0
  12. package/agentcore/memory/perms.js +90 -0
  13. package/agentcore/memory/strategies/managed-strategy.d.ts +130 -0
  14. package/agentcore/memory/strategies/managed-strategy.js +209 -0
  15. package/agentcore/memory/strategies/self-managed-strategy.d.ts +119 -0
  16. package/agentcore/memory/strategies/self-managed-strategy.js +254 -0
  17. package/agentcore/memory/validation-helpers.d.ts +41 -0
  18. package/agentcore/memory/validation-helpers.js +89 -0
  19. package/agentcore/network/network-configuration.js +4 -4
  20. package/agentcore/runtime/runtime-artifact.js +1 -1
  21. package/agentcore/runtime/runtime-authorizer-configuration.d.ts +4 -4
  22. package/agentcore/runtime/runtime-authorizer-configuration.js +13 -32
  23. package/agentcore/runtime/runtime-base.js +3 -13
  24. package/agentcore/runtime/runtime-endpoint-base.js +1 -1
  25. package/agentcore/runtime/runtime-endpoint.js +1 -1
  26. package/agentcore/runtime/runtime.d.ts +2 -2
  27. package/agentcore/runtime/runtime.js +16 -17
  28. package/agentcore/runtime/types.d.ts +5 -1
  29. package/agentcore/runtime/types.js +5 -1
  30. package/agentcore/tools/browser.js +2 -2
  31. package/agentcore/tools/code-interpreter.js +2 -2
  32. package/package.json +14 -7
  33. package/rosetta/default.ts-fixture +4 -0
package/.jsii CHANGED
@@ -8,7 +8,8 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.221.1",
11
+ "@aws-cdk/aws-bedrock-alpha": "2.223.0-alpha.0",
12
+ "aws-cdk-lib": "^2.223.0",
12
13
  "constructs": "^10.0.0"
13
14
  },
14
15
  "dependencyClosure": {
@@ -64,6 +65,37 @@
64
65
  }
65
66
  }
66
67
  },
68
+ "@aws-cdk/aws-bedrock-alpha": {
69
+ "targets": {
70
+ "dotnet": {
71
+ "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png",
72
+ "namespace": "Amazon.CDK.AWS.Bedrock.Alpha",
73
+ "packageId": "Amazon.CDK.AWS.Bedrock.Alpha"
74
+ },
75
+ "go": {
76
+ "moduleName": "github.com/aws/aws-cdk-go",
77
+ "packageName": "awsbedrockalpha"
78
+ },
79
+ "java": {
80
+ "maven": {
81
+ "artifactId": "bedrock-alpha",
82
+ "groupId": "software.amazon.awscdk"
83
+ },
84
+ "package": "software.amazon.awscdk.services.bedrock.alpha"
85
+ },
86
+ "js": {
87
+ "npm": "@aws-cdk/aws-bedrock-alpha"
88
+ },
89
+ "python": {
90
+ "classifiers": [
91
+ "Framework :: AWS CDK",
92
+ "Framework :: AWS CDK :: 2"
93
+ ],
94
+ "distName": "aws-cdk.aws-bedrock-alpha",
95
+ "module": "aws_cdk.aws_bedrock_alpha"
96
+ }
97
+ }
98
+ },
67
99
  "@aws-cdk/cloud-assembly-schema": {
68
100
  "targets": {
69
101
  "dotnet": {
@@ -3217,6 +3249,19 @@
3217
3249
  }
3218
3250
  }
3219
3251
  },
3252
+ "aws-cdk-lib.aws_rtbfabric": {
3253
+ "targets": {
3254
+ "dotnet": {
3255
+ "package": "Amazon.CDK.AWS.RTBFabric"
3256
+ },
3257
+ "java": {
3258
+ "package": "software.amazon.awscdk.services.rtbfabric"
3259
+ },
3260
+ "python": {
3261
+ "module": "aws_cdk.aws_rtbfabric"
3262
+ }
3263
+ }
3264
+ },
3220
3265
  "aws-cdk-lib.aws_rum": {
3221
3266
  "targets": {
3222
3267
  "dotnet": {
@@ -3334,6 +3379,19 @@
3334
3379
  }
3335
3380
  }
3336
3381
  },
3382
+ "aws-cdk-lib.aws_s3vectors": {
3383
+ "targets": {
3384
+ "dotnet": {
3385
+ "package": "Amazon.CDK.AWS.S3Vectors"
3386
+ },
3387
+ "java": {
3388
+ "package": "software.amazon.awscdk.services.s3vectors"
3389
+ },
3390
+ "python": {
3391
+ "module": "aws_cdk.aws_s3vectors"
3392
+ }
3393
+ }
3394
+ },
3337
3395
  "aws-cdk-lib.aws_sagemaker": {
3338
3396
  "targets": {
3339
3397
  "dotnet": {
@@ -4104,7 +4162,7 @@
4104
4162
  },
4105
4163
  "name": "@aws-cdk/aws-bedrock-agentcore-alpha",
4106
4164
  "readme": {
4107
- "markdown": "# Amazon Bedrock AgentCore Construct Library\n\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n| **Language** | **Package** |\n| :--------------------------------------------------------------------------------------------- | --------------------------------------- |\n| ![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) TypeScript | `@aws-cdk/aws-bedrock-agentcore-alpha` |\n\n[Amazon Bedrock AgentCore](https://aws.amazon.com/bedrock/agentcore/) enables you to deploy and operate highly capable AI agents securely, at scale. It offers infrastructure purpose-built for dynamic agent workloads, powerful tools to enhance agents, and essential controls for real-world deployment. AgentCore services can be used together or independently and work with any framework including CrewAI, LangGraph, LlamaIndex, and Strands Agents, as well as any foundation model in or outside of Amazon Bedrock, giving you ultimate flexibility. AgentCore eliminates the undifferentiated heavy lifting of building specialized agent infrastructure, so you can accelerate agents to production.\n\nThis construct library facilitates the deployment of Bedrock AgentCore primitives, enabling you to create sophisticated AI applications that can interact with your systems and data sources.\n\n## Table of contents\n\n- [AgentCore Runtime](#agentcore-runtime)\n - [Runtime Versioning](#runtime-versioning)\n - [Runtime Endpoints](#runtime-endpoints)\n - [AgentCore Runtime Properties](#agentcore-runtime-properties)\n - [Runtime Endpoint Properties](#runtime-endpoint-properties)\n - [Creating a Runtime](#creating-a-runtime)\n - [Option 1: Use an existing image in ECR](#option-1-use-an-existing-image-in-ecr)\n - [Managing Endpoints and Versions](#managing-endpoints-and-versions)\n - [Option 2: Use a local asset](#option-2-use-a-local-asset)\n- [Browser Custom tool](#browser)\n - [Browser properties](#browser-properties)\n - [Browser Network modes](#browser-network-modes)\n - [Basic Browser Creation](#basic-browser-creation)\n - [Browser IAM permissions](#browser-iam-permissions)\n- [Code Interpreter Custom tool](#code-interpreter)\n - [Code Interpreter properties](#code-interpreter-properties)\n - [Code Interpreter Network Modes](#code-interpreter-network-modes)\n - [Basic Code Interpreter Creation](#basic-code-interpreter-creation)\n - [Code Interpreter IAM permissions](#code-interpreter-iam-permissions)\n\n\n## AgentCore Runtime\n\nThe AgentCore Runtime construct enables you to deploy containerized agents on Amazon Bedrock AgentCore.\nThis L2 construct simplifies runtime creation just pass your ECR repository name\nand the construct handles all the configuration with sensible defaults.\n\n### Runtime Endpoints\n\nEndpoints provide a stable way to invoke specific versions of your agent runtime, enabling controlled deployments across different environments.\nWhen you create an agent runtime, Amazon Bedrock AgentCore automatically creates a \"DEFAULT\" endpoint which always points to the latest version\nof runtime.\n\nYou can create additional endpoints in two ways:\n\n1. **Using Runtime.addEndpoint()** - Convenient method when creating endpoints alongside the runtime.\n2. **Using RuntimeEndpoint** - Flexible approach for existing runtimes.\n\nFor example, you might keep a \"production\" endpoint on a stable version while testing newer versions\nthrough a \"staging\" endpoint. This separation allows you to test changes thoroughly before promoting them\nto production by simply updating the endpoint to point to the newer version.\n\n### AgentCore Runtime Properties\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `runtimeName` | `string` | Yes | The name of the agent runtime. Valid characters are a-z, A-Z, 0-9, _ (underscore). Must start with a letter and can be up to 48 characters long |\n| `agentRuntimeArtifact` | `AgentRuntimeArtifact` | Yes | The artifact configuration for the agent runtime containing the container configuration with ECR URI |\n| `executionRole` | `iam.IRole` | No | The IAM role that provides permissions for the agent runtime. If not provided, a role will be created automatically |\n| `networkConfiguration` | `NetworkConfiguration` | No | Network configuration for the agent runtime. Defaults to `RuntimeNetworkConfiguration.usingPublicNetwork()` |\n| `description` | `string` | No | Optional description for the agent runtime |\n| `protocolConfiguration` | `ProtocolType` | No | Protocol configuration for the agent runtime. Defaults to `ProtocolType.HTTP` |\n| `authorizerConfiguration` | `RuntimeAuthorizerConfiguration` | No | Authorizer configuration for the agent runtime. Use `RuntimeAuthorizerConfiguration` static methods to create configurations for IAM, Cognito, JWT, or OAuth authentication |\n| `environmentVariables` | `{ [key: string]: string }` | No | Environment variables for the agent runtime. Maximum 50 environment variables |\n| `tags` | `{ [key: string]: string }` | No | Tags for the agent runtime. A list of key:value pairs of tags to apply to this Runtime resource |\n\n### Runtime Endpoint Properties\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `endpointName` | `string` | Yes | The name of the runtime endpoint. Valid characters are a-z, A-Z, 0-9, _ (underscore). Must start with a letter and can be up to 48 characters long |\n| `agentRuntimeId` | `string` | Yes | The Agent Runtime ID for this endpoint |\n| `agentRuntimeVersion` | `string` | Yes | The Agent Runtime version for this endpoint. Must be between 1 and 5 characters long.|\n| `description` | `string` | No | Optional description for the runtime endpoint |\n| `tags` | `{ [key: string]: string }` | No | Tags for the runtime endpoint |\n\n### Creating a Runtime\n\n#### Option 1: Use an existing image in ECR\n\nReference an image available within ECR.\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\n// The runtime by default create ECR permission only for the repository available in the account the stack is being deployed\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\n// Create runtime using the built image\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact\n});\n```\n\nTo grant the runtime permission to invoke a Bedrock model or inference profile:\n\n```text\n// Note: This example uses @aws-cdk/aws-bedrock-alpha which must be installed separately\nimport * as bedrock from '@aws-cdk/aws-bedrock-alpha';\n\n// Create a cross-region inference profile for Claude 3.7 Sonnet\nconst inferenceProfile = bedrock.CrossRegionInferenceProfile.fromConfig({\n geoRegion: bedrock.CrossRegionInferenceProfileRegion.US,\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_7_SONNET_V1_0\n});\n\n// Grant the runtime permission to invoke the inference profile\ninferenceProfile.grantInvoke(runtime);\n```\n\n#### Option 2: Use a local asset\n\nReference a local directory containing a Dockerfile.\nImages are built from a local Docker context directory (with a Dockerfile), uploaded to Amazon Elastic Container Registry (ECR)\nby the CDK toolkit,and can be naturally referenced in your CDK app .\n\n```typescript\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromAsset(\n path.join(__dirname, \"path to agent dockerfile directory\")\n);\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n});\n```\n\n### Runtime Versioning\n\nAmazon Bedrock AgentCore automatically manages runtime versioning to ensure safe deployments and rollback capabilities.\nWhen you create an agent runtime, AgentCore automatically creates version 1 (V1). Each subsequent update to the\nruntime configuration (such as updating the container image, modifying network settings, or changing protocol configurations)\ncreates a new immutable version. These versions contain complete, self-contained configurations that can be referenced by endpoints,\nallowing you to maintain different versions for different environments or gradually roll out updates.\n\n#### Managing Endpoints and Versions\n\nAmazon Bedrock AgentCore automatically manages runtime versioning to provide safe deployments and rollback capabilities. You can follow\nthe steps below to understand how to use versioning with runtime for controlled deployments across different environments.\n\n##### Step 1: Initial Deployment\n\nWhen you first create an agent runtime, AgentCore automatically creates Version 1 of your runtime. At this point, a DEFAULT endpoint is\nautomatically created that points to Version 1. This DEFAULT endpoint serves as the main access point for your runtime.\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\"),\n});\n```\n\n##### Step 2: Creating Custom Endpoints\n\nAfter the initial deployment, you can create additional endpoints for different environments. For example, you might create a \"production\"\nendpoint that explicitly points to Version 1. This allows you to maintain stable access points for specific environments while keeping the\nflexibility to test newer versions elsewhere.\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\"),\n});\n\nconst prodEndpoint = runtime.addEndpoint(\"production\", {\n version: \"1\",\n description: \"Stable production endpoint - pinned to v1\"\n});\n```\n\n##### Step 3: Runtime Update Deployment\n\nWhen you update the runtime configuration (such as updating the container image, modifying network settings, or changing protocol\nconfigurations), AgentCore automatically creates a new version (Version 2). Upon this update:\n\n- Version 2 is created automatically with the new configuration\n- The DEFAULT endpoint automatically updates to point to Version 2\n- Any explicitly pinned endpoints (like the production endpoint) remain on their specified versions\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst agentRuntimeArtifactNew = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v2.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifactNew,\n});\n```\n\n##### Step 4: Testing with Staging Endpoints\n\nOnce Version 2 exists, you can create a staging endpoint that points to the new version. This staging endpoint allows you to test the\nnew version in a controlled environment before promoting it to production. This separation ensures that production traffic continues\nto use the stable version while you validate the new version.\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst agentRuntimeArtifactNew = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v2.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifactNew,\n});\n\nconst stagingEndpoint = runtime.addEndpoint(\"staging\", {\n version: \"2\",\n description: \"Staging environment for testing new version\"\n});\n```\n\n##### Step 5: Promoting to Production\n\nAfter thoroughly testing the new version through the staging endpoint, you can update the production endpoint to point to Version 2.\nThis controlled promotion process ensures that you can validate changes before they affect production traffic.\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst agentRuntimeArtifactNew = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v2.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifactNew,\n});\n\nconst prodEndpoint = runtime.addEndpoint(\"production\", {\n version: \"2\", // New version added here\n description: \"Stable production endpoint\"\n});\n```\n\n### Creating Standalone Runtime Endpoints\n\nRuntimeEndpoint can also be created as a standalone resource.\n\n#### Example: Creating an endpoint for an existing runtime\n\n```typescript\n// Reference an existing runtime by its ID\nconst existingRuntimeId = \"abc123-runtime-id\"; // The ID of an existing runtime\n\n// Create a standalone endpoint\nconst endpoint = new agentcore.RuntimeEndpoint(this, \"MyEndpoint\", {\n endpointName: \"production\",\n agentRuntimeId: existingRuntimeId,\n agentRuntimeVersion: \"1\", // Specify which version to use\n description: \"Production endpoint for existing runtime\"\n});\n```\n\n### Runtime Authentication Configuration\n\nThe AgentCore Runtime supports multiple authentication modes to secure access to your agent endpoints. Authentication is configured during runtime creation using the `RuntimeAuthorizerConfiguration` class's static factory methods.\n\n#### IAM Authentication (Default)\n\nIAM authentication is the default mode, when no authorizerConfiguration is set then the underlying service use IAM.\n\n#### Cognito Authentication\n\nTo configure AWS Cognito User Pool authentication:\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingCognito(\n \"us-west-2_ABC123\", // User Pool ID (required)\n \"client123\", // Client ID (required)\n \"us-west-2\" // Region (optional, defaults to stack region)\n ),\n});\n```\n\n#### JWT Authentication\n\nTo configure custom JWT authentication with your own OpenID Connect (OIDC) provider:\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingJWT(\n \"https://example.com/.well-known/openid-configuration\", // Discovery URL (required)\n [\"client1\", \"client2\"], // Allowed Client IDs (optional)\n [\"audience1\"] // Allowed Audiences (optional)\n ),\n});\n```\n\n**Note**: The discovery URL must end with `/.well-known/openid-configuration`.\n\n#### OAuth Authentication\n\nTo configure OAuth 2.0 authentication:\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingOAuth(\n \"https://github.com/.well-known/openid-configuration\",\n \"oauth_client_123\",\n ),\n});\n```\n\n#### Using a Custom IAM Role\n\nInstead of using the auto-created execution role, you can provide your own IAM role with specific permissions:\nThe auto-created role includes all necessary baseline permissions for ECR access, CloudWatch logging, and X-Ray tracing. When providing a custom role, ensure these permissions are included.\n\n### Runtime Network Configuration\n\nThe AgentCore Runtime supports two network modes for deployment:\n\n#### Public Network Mode (Default)\n\nBy default, runtimes are deployed in PUBLIC network mode, which provides internet access suitable for less sensitive or open-use scenarios:\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\n// Explicitly using public network (this is the default)\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n networkConfiguration: agentcore.RuntimeNetworkConfiguration.usingPublicNetwork(),\n});\n```\n\n#### VPC Network Mode\n\nFor enhanced security and network isolation, you can deploy your runtime within a VPC:\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\n// Create or use an existing VPC\nconst vpc = new ec2.Vpc(this, 'MyVpc', {\n maxAzs: 2,\n});\n\n// Configure runtime with VPC\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n networkConfiguration: agentcore.RuntimeNetworkConfiguration.usingVpc(this, {\n vpc: vpc,\n vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },\n // Optionally specify security groups, or one will be created automatically\n // securityGroups: [mySecurityGroup],\n }),\n});\n```\n\n#### Managing Security Groups with VPC Configuration\n\nWhen using VPC mode, the Runtime implements `ec2.IConnectable`, allowing you to manage network access using the `connections` property:\n\n```typescript\n\nconst vpc = new ec2.Vpc(this, 'MyVpc', {\n maxAzs: 2,\n});\n\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\n// Create runtime with VPC configuration\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n networkConfiguration: agentcore.RuntimeNetworkConfiguration.usingVpc(this, {\n vpc: vpc,\n vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },\n }),\n});\n\n// Now you can manage network access using the connections property\n// Allow inbound HTTPS traffic from a specific security group\nconst webServerSecurityGroup = new ec2.SecurityGroup(this, 'WebServerSG', { vpc });\nruntime.connections.allowFrom(webServerSecurityGroup, ec2.Port.tcp(443), 'Allow HTTPS from web servers');\n\n// Allow outbound connections to a database\nconst databaseSecurityGroup = new ec2.SecurityGroup(this, 'DatabaseSG', { vpc });\nruntime.connections.allowTo(databaseSecurityGroup, ec2.Port.tcp(5432), 'Allow PostgreSQL connection');\n\n// Allow outbound HTTPS to anywhere (for external API calls)\nruntime.connections.allowToAnyIpv4(ec2.Port.tcp(443), 'Allow HTTPS outbound');\n```\n\n## Browser\n\nThe Amazon Bedrock AgentCore Browser provides a secure, cloud-based browser that enables AI agents to interact with websites. It includes security features such as session isolation, built-in observability through live viewing, CloudTrail logging, and session replay capabilities.\n\nAdditional information about the browser tool can be found in the [official documentation](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/browser-tool.html)\n\n### Browser Network modes\n\nThe Browser construct supports the following network modes:\n\n1. **Public Network Mode** (`BrowserNetworkMode.usingPublicNetwork()`) - Default\n\n - Allows internet access for web browsing and external API calls\n - Suitable for scenarios where agents need to interact with publicly available websites\n - Enables full web browsing capabilities\n - VPC mode is not supported with this option\n\n2. **VPC (Virtual Private Cloud)** (`BrowserNetworkMode.usingVpc()`)\n\n - Select whether to run the browser in a virtual private cloud (VPC).\n - By configuring VPC connectivity, you enable secure access to private resources such as databases, internal APIs, and services within your VPC.\n\n While the VPC itself is mandatory, these are optional:\n - Subnets - if not provided, CDK will select appropriate subnets from the VPC\n - Security Groups - if not provided, CDK will create a default security group\n - Specific subnet selection criteria - you can let CDK choose automatically\n\nFor more information on VPC connectivity for Amazon Bedrock AgentCore Browser, please refer to the [official documentation](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agentcore-vpc.html).\n\n### Browser Properties\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `browserCustomName` | `string` | Yes | The name of the browser. Must start with a letter and can be up to 48 characters long. Pattern: `[a-zA-Z][a-zA-Z0-9_]{0,47}` |\n| `description` | `string` | No | Optional description for the browser. Can have up to 200 characters |\n| `networkConfiguration` | `BrowserNetworkConfiguration` | No | Network configuration for browser. Defaults to PUBLIC network mode |\n| `recordingConfig` | `RecordingConfig` | No | Recording configuration for browser. Defaults to no recording |\n| `executionRole` | `iam.IRole` | No | The IAM role that provides permissions for the browser to access AWS services. A new role will be created if not provided |\n| `tags` | `{ [key: string]: string }` | No | Tags to apply to the browser resource |\n\n### Basic Browser Creation\n\n```typescript fixture=default\n// Create a basic browser with public network access\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"A browser for web automation\",\n});\n```\n\n### Browser with Tags\n\n```typescript fixture=default\n// Create a browser with custom tags\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"A browser for web automation with tags\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n tags: {\n Environment: \"Production\",\n Team: \"AI/ML\",\n Project: \"AgentCore\",\n },\n});\n```\n\n### Browser with VPC\n\n```typescript fixture=default\nconst browser = new agentcore.BrowserCustom(this, 'BrowserVpcWithRecording', {\n browserCustomName: 'browser_recording',\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingVpc(this, {\n vpc: new ec2.Vpc(this, 'VPC', { restrictDefaultSecurityGroup: false }),\n }),\n});\n```\n\nBrowser exposes a [connections](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Connections.html) property. This property returns a connections object, which simplifies the process of defining and managing ingress and egress rules for security groups in your AWS CDK applications. Instead of directly manipulating security group rules, you interact with the Connections object of a construct, which then translates your connectivity requirements into the appropriate security group rules. For instance:\n\n```typescript fixture=default\nconst vpc = new ec2.Vpc(this, 'testVPC');\n\nconst browser = new agentcore.BrowserCustom(this, 'test-browser', {\n browserCustomName: 'test_browser',\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingVpc(this, {\n vpc: vpc,\n }),\n});\n\nbrowser.connections.addSecurityGroup(new ec2.SecurityGroup(this, 'AdditionalGroup', { vpc }));\n```\n\nSo security groups can be added after the browser construct creation. You can use methods like allowFrom() and allowTo() to grant ingress access to/egress access from a specified peer over a given portRange. The Connections object automatically adds the necessary ingress or egress rules to the security group(s) associated with the calling construct.\n\n### Browser with Recording Configuration\n\n```typescript fixture=default\n// Create an S3 bucket for recordings\nconst recordingBucket = new s3.Bucket(this, \"RecordingBucket\", {\n bucketName: \"my-browser-recordings\",\n removalPolicy: RemovalPolicy.DESTROY, // For demo purposes\n});\n\n// Create browser with recording enabled\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"Browser with recording enabled\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n recordingConfig: {\n enabled: true,\n s3Location: {\n bucketName: recordingBucket.bucketName,\n objectKey: \"browser-recordings/\",\n },\n },\n});\n```\n\n### Browser with Custom Execution Role\n\n```typescript fixture=default\n// Create a custom execution role\nconst executionRole = new iam.Role(this, \"BrowserExecutionRole\", {\n assumedBy: new iam.ServicePrincipal(\"bedrock-agentcore.amazonaws.com\"),\n managedPolicies: [\n iam.ManagedPolicy.fromAwsManagedPolicyName(\"AmazonBedrockAgentCoreBrowserExecutionRolePolicy\"),\n ],\n});\n\n// Create browser with custom execution role\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"Browser with custom execution role\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n executionRole: executionRole,\n});\n```\n\n### Browser with S3 Recording and Permissions\n\n```typescript fixture=default\n// Create an S3 bucket for recordings\nconst recordingBucket = new s3.Bucket(this, \"RecordingBucket\", {\n bucketName: \"my-browser-recordings\",\n removalPolicy: RemovalPolicy.DESTROY, // For demo purposes\n});\n\n// Create browser with recording enabled\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"Browser with recording enabled\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n recordingConfig: {\n enabled: true,\n s3Location: {\n bucketName: recordingBucket.bucketName,\n objectKey: \"browser-recordings/\",\n },\n },\n});\n\n// The browser construct automatically grants S3 permissions to the execution role\n// when recording is enabled, so no additional IAM configuration is needed\n```\n\n### Browser IAM Permissions\n\nThe Browser construct provides convenient methods for granting IAM permissions:\n\n```typescript fixture=default\n// Create a browser\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"Browser for web automation\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n});\n\n// Create a role that needs access to the browser\nconst userRole = new iam.Role(this, \"UserRole\", {\n assumedBy: new iam.ServicePrincipal(\"lambda.amazonaws.com\"),\n});\n\n// Grant read permissions (Get and List actions)\nbrowser.grantRead(userRole);\n\n// Grant use permissions (Start, Update, Stop actions)\nbrowser.grantUse(userRole);\n\n// Grant specific custom permissions\nbrowser.grant(userRole, \"bedrock-agentcore:GetBrowserSession\");\n```\n\n## Code Interpreter\n\nThe Amazon Bedrock AgentCore Code Interpreter enables AI agents to write and execute code securely in sandbox environments, enhancing their accuracy and expanding their ability to solve complex end-to-end tasks. This is critical in Agentic AI applications where the agents may execute arbitrary code that can lead to data compromise or security risks. The AgentCore Code Interpreter tool provides secure code execution, which helps you avoid running into these issues.\n\nFor more information about code interpreter, please refer to the [official documentation](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/code-interpreter-tool.html)\n\n### Code Interpreter Network Modes\n\nThe Code Interpreter construct supports the following network modes:\n\n1. **Public Network Mode** (`CodeInterpreterNetworkMode.usingPublicNetwork()`) - Default\n\n - Allows internet access for package installation and external API calls\n - Suitable for development and testing environments\n - Enables downloading Python packages from PyPI\n\n2. **Sandbox Network Mode** (`CodeInterpreterNetworkMode.usingSandboxNetwork()`)\n - Isolated network environment with no internet access\n - Suitable for production environments with strict security requirements\n - Only allows access to pre-installed packages and local resources\n\n3. **VPC (Virtual Private Cloud)** (`CodeInterpreterNetworkMode.usingVpc()`)\n - Select whether to run the browser in a virtual private cloud (VPC).\n - By configuring VPC connectivity, you enable secure access to private resources such as databases, internal APIs, and services within your VPC.\n\n While the VPC itself is mandatory, these are optional:\n - Subnets - if not provided, CDK will select appropriate subnets from the VPC\n - Security Groups - if not provided, CDK will create a default security group\n - Specific subnet selection criteria - you can let CDK choose automatically\n\nFor more information on VPC connectivity for Amazon Bedrock AgentCore Browser, please refer to the [official documentation](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agentcore-vpc.html).\n\n### Code Interpreter Properties\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `codeInterpreterCustomName` | `string` | Yes | The name of the code interpreter. Must start with a letter and can be up to 48 characters long. Pattern: `[a-zA-Z][a-zA-Z0-9_]{0,47}` |\n| `description` | `string` | No | Optional description for the code interpreter. Can have up to 200 characters |\n| `executionRole` | `iam.IRole` | No | The IAM role that provides permissions for the code interpreter to access AWS services. A new role will be created if not provided |\n| `networkConfiguration` | `CodeInterpreterNetworkConfiguration` | No | Network configuration for code interpreter. Defaults to PUBLIC network mode |\n| `tags` | `{ [key: string]: string }` | No | Tags to apply to the code interpreter resource |\n\n### Basic Code Interpreter Creation\n\n```typescript fixture=default\n// Create a basic code interpreter with public network access\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_code_interpreter\",\n description: \"A code interpreter for Python execution\",\n});\n```\n\n### Code Interpreter with VPC\n\n```typescript fixture=default\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_sandbox_interpreter\",\n description: \"Code interpreter with isolated network access\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingVpc(this, {\n vpc: new ec2.Vpc(this, 'VPC', { restrictDefaultSecurityGroup: false }),\n }),\n});\n```\n\nCode Interpreter exposes a [connections](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Connections.html) property. This property returns a connections object, which simplifies the process of defining and managing ingress and egress rules for security groups in your AWS CDK applications. Instead of directly manipulating security group rules, you interact with the Connections object of a construct, which then translates your connectivity requirements into the appropriate security group rules. For instance:\n\n```typescript fixture=default\nconst vpc = new ec2.Vpc(this, 'testVPC');\n\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_sandbox_interpreter\",\n description: \"Code interpreter with isolated network access\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingVpc(this, {\n vpc: vpc,\n }),\n});\n\ncodeInterpreter.connections.addSecurityGroup(new ec2.SecurityGroup(this, 'AdditionalGroup', { vpc }));\n```\n\nSo security groups can be added after the browser construct creation. You can use methods like allowFrom() and allowTo() to grant ingress access to/egress access from a specified peer over a given portRange. The Connections object automatically adds the necessary ingress or egress rules to the security group(s) associated with the calling construct.\n\n### Code Interpreter with Sandbox Network Mode\n\n```typescript fixture=default\n// Create code interpreter with sandbox network mode (isolated)\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_sandbox_interpreter\",\n description: \"Code interpreter with isolated network access\",\n networkConfiguration: agentcore.CodeInterpreterNetworkConfiguration.usingSandboxNetwork(),\n});\n```\n\n### Code Interpreter with Custom Execution Role\n\n```typescript fixture=default\n// Create a custom execution role\nconst executionRole = new iam.Role(this, \"CodeInterpreterExecutionRole\", {\n assumedBy: new iam.ServicePrincipal(\"bedrock-agentcore.amazonaws.com\"),\n});\n\n// Create code interpreter with custom execution role\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_code_interpreter\",\n description: \"Code interpreter with custom execution role\",\n networkConfiguration: agentcore.CodeInterpreterNetworkConfiguration.usingPublicNetwork(),\n executionRole: executionRole,\n});\n```\n\n### Code Interpreter IAM Permissions\n\nThe Code Interpreter construct provides convenient methods for granting IAM permissions:\n\n```typescript fixture=default\n// Create a code interpreter\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_code_interpreter\",\n description: \"Code interpreter for Python execution\",\n networkConfiguration: agentcore.CodeInterpreterNetworkConfiguration.usingPublicNetwork(),\n});\n\n// Create a role that needs access to the code interpreter\nconst userRole = new iam.Role(this, \"UserRole\", {\n assumedBy: new iam.ServicePrincipal(\"lambda.amazonaws.com\"),\n});\n\n// Grant read permissions (Get and List actions)\ncodeInterpreter.grantRead(userRole);\n\n// Grant use permissions (Start, Invoke, Stop actions)\ncodeInterpreter.grantUse(userRole);\n\n// Grant specific custom permissions\ncodeInterpreter.grant(userRole, \"bedrock-agentcore:GetCodeInterpreterSession\");\n```\n\n### Code interpreter with tags\n\n```typescript fixture=default\n// Create code interpreter with sandbox network mode (isolated)\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_sandbox_interpreter\",\n description: \"Code interpreter with isolated network access\",\n networkConfiguration: agentcore.CodeInterpreterNetworkConfiguration.usingPublicNetwork(),\n tags: {\n Environment: \"Production\",\n Team: \"AI/ML\",\n Project: \"AgentCore\",\n },\n});\n```\n"
4165
+ "markdown": "# Amazon Bedrock AgentCore Construct Library\n\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n| **Language** | **Package** |\n| :--------------------------------------------------------------------------------------------- | --------------------------------------- |\n| ![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) TypeScript | `@aws-cdk/aws-bedrock-agentcore-alpha` |\n\n[Amazon Bedrock AgentCore](https://aws.amazon.com/bedrock/agentcore/) enables you to deploy and operate highly capable AI agents securely, at scale. It offers infrastructure purpose-built for dynamic agent workloads, powerful tools to enhance agents, and essential controls for real-world deployment. AgentCore services can be used together or independently and work with any framework including CrewAI, LangGraph, LlamaIndex, and Strands Agents, as well as any foundation model in or outside of Amazon Bedrock, giving you ultimate flexibility. AgentCore eliminates the undifferentiated heavy lifting of building specialized agent infrastructure, so you can accelerate agents to production.\n\nThis construct library facilitates the deployment of Bedrock AgentCore primitives, enabling you to create sophisticated AI applications that can interact with your systems and data sources.\n\n## Table of contents\n\n- [AgentCore Runtime](#agentcore-runtime)\n - [Runtime Versioning](#runtime-versioning)\n - [Runtime Endpoints](#runtime-endpoints)\n - [AgentCore Runtime Properties](#agentcore-runtime-properties)\n - [Runtime Endpoint Properties](#runtime-endpoint-properties)\n - [Creating a Runtime](#creating-a-runtime)\n - [Option 1: Use an existing image in ECR](#option-1-use-an-existing-image-in-ecr)\n - [Managing Endpoints and Versions](#managing-endpoints-and-versions)\n - [Option 2: Use a local asset](#option-2-use-a-local-asset)\n- [Browser Custom tool](#browser)\n - [Browser properties](#browser-properties)\n - [Browser Network modes](#browser-network-modes)\n - [Basic Browser Creation](#basic-browser-creation)\n - [Browser IAM permissions](#browser-iam-permissions)\n- [Code Interpreter Custom tool](#code-interpreter)\n - [Code Interpreter properties](#code-interpreter-properties)\n - [Code Interpreter Network Modes](#code-interpreter-network-modes)\n - [Basic Code Interpreter Creation](#basic-code-interpreter-creation)\n - [Code Interpreter IAM permissions](#code-interpreter-iam-permissions)\n- [Memory](#memory)\n - [Memory properties](#memory-properties)\n - [Basic Memory Creation](#basic-memory-creation)\n - [LTM Memory Extraction Stategies](#ltm-memory-extraction-stategies)\n - [Memory Strategy Methods](#memory-strategy-methods)\n\n\n## AgentCore Runtime\n\nThe AgentCore Runtime construct enables you to deploy containerized agents on Amazon Bedrock AgentCore.\nThis L2 construct simplifies runtime creation just pass your ECR repository name\nand the construct handles all the configuration with sensible defaults.\n\n### Runtime Endpoints\n\nEndpoints provide a stable way to invoke specific versions of your agent runtime, enabling controlled deployments across different environments.\nWhen you create an agent runtime, Amazon Bedrock AgentCore automatically creates a \"DEFAULT\" endpoint which always points to the latest version\nof runtime.\n\nYou can create additional endpoints in two ways:\n\n1. **Using Runtime.addEndpoint()** - Convenient method when creating endpoints alongside the runtime.\n2. **Using RuntimeEndpoint** - Flexible approach for existing runtimes.\n\nFor example, you might keep a \"production\" endpoint on a stable version while testing newer versions\nthrough a \"staging\" endpoint. This separation allows you to test changes thoroughly before promoting them\nto production by simply updating the endpoint to point to the newer version.\n\n### AgentCore Runtime Properties\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `runtimeName` | `string` | Yes | The name of the agent runtime. Valid characters are a-z, A-Z, 0-9, _ (underscore). Must start with a letter and can be up to 48 characters long |\n| `agentRuntimeArtifact` | `AgentRuntimeArtifact` | Yes | The artifact configuration for the agent runtime containing the container configuration with ECR URI |\n| `executionRole` | `iam.IRole` | No | The IAM role that provides permissions for the agent runtime. If not provided, a role will be created automatically |\n| `networkConfiguration` | `NetworkConfiguration` | No | Network configuration for the agent runtime. Defaults to `RuntimeNetworkConfiguration.usingPublicNetwork()` |\n| `description` | `string` | No | Optional description for the agent runtime |\n| `protocolConfiguration` | `ProtocolType` | No | Protocol configuration for the agent runtime. Defaults to `ProtocolType.HTTP` |\n| `authorizerConfiguration` | `RuntimeAuthorizerConfiguration` | No | Authorizer configuration for the agent runtime. Use `RuntimeAuthorizerConfiguration` static methods to create configurations for IAM, Cognito, JWT, or OAuth authentication |\n| `environmentVariables` | `{ [key: string]: string }` | No | Environment variables for the agent runtime. Maximum 50 environment variables |\n| `tags` | `{ [key: string]: string }` | No | Tags for the agent runtime. A list of key:value pairs of tags to apply to this Runtime resource |\n\n### Runtime Endpoint Properties\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `endpointName` | `string` | Yes | The name of the runtime endpoint. Valid characters are a-z, A-Z, 0-9, _ (underscore). Must start with a letter and can be up to 48 characters long |\n| `agentRuntimeId` | `string` | Yes | The Agent Runtime ID for this endpoint |\n| `agentRuntimeVersion` | `string` | Yes | The Agent Runtime version for this endpoint. Must be between 1 and 5 characters long.|\n| `description` | `string` | No | Optional description for the runtime endpoint |\n| `tags` | `{ [key: string]: string }` | No | Tags for the runtime endpoint |\n\n### Creating a Runtime\n\n#### Option 1: Use an existing image in ECR\n\nReference an image available within ECR.\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\n// The runtime by default create ECR permission only for the repository available in the account the stack is being deployed\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\n// Create runtime using the built image\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact\n});\n```\n\nTo grant the runtime permission to invoke a Bedrock model or inference profile:\n\n```typescript fixture=default\n// Note: This example uses @aws-cdk/aws-bedrock-alpha which must be installed separately\ndeclare const runtime: agentcore.Runtime;\n\n// Create a cross-region inference profile for Claude 3.7 Sonnet\nconst inferenceProfile = bedrock.CrossRegionInferenceProfile.fromConfig({\n geoRegion: bedrock.CrossRegionInferenceProfileRegion.US,\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_7_SONNET_V1_0\n});\n\n// Grant the runtime permission to invoke the inference profile\ninferenceProfile.grantInvoke(runtime);\n```\n\n#### Option 2: Use a local asset\n\nReference a local directory containing a Dockerfile.\nImages are built from a local Docker context directory (with a Dockerfile), uploaded to Amazon Elastic Container Registry (ECR)\nby the CDK toolkit,and can be naturally referenced in your CDK app .\n\n```typescript\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromAsset(\n path.join(__dirname, \"path to agent dockerfile directory\")\n);\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n});\n```\n\n### Runtime Versioning\n\nAmazon Bedrock AgentCore automatically manages runtime versioning to ensure safe deployments and rollback capabilities.\nWhen you create an agent runtime, AgentCore automatically creates version 1 (V1). Each subsequent update to the\nruntime configuration (such as updating the container image, modifying network settings, or changing protocol configurations)\ncreates a new immutable version. These versions contain complete, self-contained configurations that can be referenced by endpoints,\nallowing you to maintain different versions for different environments or gradually roll out updates.\n\n#### Managing Endpoints and Versions\n\nAmazon Bedrock AgentCore automatically manages runtime versioning to provide safe deployments and rollback capabilities. You can follow\nthe steps below to understand how to use versioning with runtime for controlled deployments across different environments.\n\n##### Step 1: Initial Deployment\n\nWhen you first create an agent runtime, AgentCore automatically creates Version 1 of your runtime. At this point, a DEFAULT endpoint is\nautomatically created that points to Version 1. This DEFAULT endpoint serves as the main access point for your runtime.\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\"),\n});\n```\n\n##### Step 2: Creating Custom Endpoints\n\nAfter the initial deployment, you can create additional endpoints for different environments. For example, you might create a \"production\"\nendpoint that explicitly points to Version 1. This allows you to maintain stable access points for specific environments while keeping the\nflexibility to test newer versions elsewhere.\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\"),\n});\n\nconst prodEndpoint = runtime.addEndpoint(\"production\", {\n version: \"1\",\n description: \"Stable production endpoint - pinned to v1\"\n});\n```\n\n##### Step 3: Runtime Update Deployment\n\nWhen you update the runtime configuration (such as updating the container image, modifying network settings, or changing protocol\nconfigurations), AgentCore automatically creates a new version (Version 2). Upon this update:\n\n- Version 2 is created automatically with the new configuration\n- The DEFAULT endpoint automatically updates to point to Version 2\n- Any explicitly pinned endpoints (like the production endpoint) remain on their specified versions\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst agentRuntimeArtifactNew = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v2.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifactNew,\n});\n```\n\n##### Step 4: Testing with Staging Endpoints\n\nOnce Version 2 exists, you can create a staging endpoint that points to the new version. This staging endpoint allows you to test the\nnew version in a controlled environment before promoting it to production. This separation ensures that production traffic continues\nto use the stable version while you validate the new version.\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst agentRuntimeArtifactNew = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v2.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifactNew,\n});\n\nconst stagingEndpoint = runtime.addEndpoint(\"staging\", {\n version: \"2\",\n description: \"Staging environment for testing new version\"\n});\n```\n\n##### Step 5: Promoting to Production\n\nAfter thoroughly testing the new version through the staging endpoint, you can update the production endpoint to point to Version 2.\nThis controlled promotion process ensures that you can validate changes before they affect production traffic.\n\n```ts\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\n\nconst agentRuntimeArtifactNew = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v2.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifactNew,\n});\n\nconst prodEndpoint = runtime.addEndpoint(\"production\", {\n version: \"2\", // New version added here\n description: \"Stable production endpoint\"\n});\n```\n\n### Creating Standalone Runtime Endpoints\n\nRuntimeEndpoint can also be created as a standalone resource.\n\n#### Example: Creating an endpoint for an existing runtime\n\n```typescript\n// Reference an existing runtime by its ID\nconst existingRuntimeId = \"abc123-runtime-id\"; // The ID of an existing runtime\n\n// Create a standalone endpoint\nconst endpoint = new agentcore.RuntimeEndpoint(this, \"MyEndpoint\", {\n endpointName: \"production\",\n agentRuntimeId: existingRuntimeId,\n agentRuntimeVersion: \"1\", // Specify which version to use\n description: \"Production endpoint for existing runtime\"\n});\n```\n\n### Runtime Authentication Configuration\n\nThe AgentCore Runtime supports multiple authentication modes to secure access to your agent endpoints. Authentication is configured during runtime creation using the `RuntimeAuthorizerConfiguration` class's static factory methods.\n\n#### IAM Authentication (Default)\n\nIAM authentication is the default mode, when no authorizerConfiguration is set then the underlying service use IAM.\n\n#### Cognito Authentication\n\nTo configure AWS Cognito User Pool authentication:\n\n```typescript\ndeclare const userPool: cognito.UserPool;\ndeclare const userPoolClient: cognito.UserPoolClient;\ndeclare const anotherUserPoolClient: cognito.UserPoolClient;\n\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingCognito(\n userPool, // User Pool (required)\n [userPoolClient, anotherUserPoolClient], // User Pool Clients\n ),\n});\n```\n\n#### JWT Authentication\n\nTo configure custom JWT authentication with your own OpenID Connect (OIDC) provider:\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingJWT(\n \"https://example.com/.well-known/openid-configuration\", // Discovery URL (required)\n [\"client1\", \"client2\"], // Allowed Client IDs (optional)\n [\"audience1\"] // Allowed Audiences (optional)\n ),\n});\n```\n\n**Note**: The discovery URL must end with `/.well-known/openid-configuration`.\n\n#### OAuth Authentication\n\nTo configure OAuth 2.0 authentication:\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingOAuth(\n \"https://github.com/.well-known/openid-configuration\",\n \"oauth_client_123\",\n ),\n});\n```\n\n#### Using a Custom IAM Role\n\nInstead of using the auto-created execution role, you can provide your own IAM role with specific permissions:\nThe auto-created role includes all necessary baseline permissions for ECR access, CloudWatch logging, and X-Ray tracing. When providing a custom role, ensure these permissions are included.\n\n### Runtime Network Configuration\n\nThe AgentCore Runtime supports two network modes for deployment:\n\n#### Public Network Mode (Default)\n\nBy default, runtimes are deployed in PUBLIC network mode, which provides internet access suitable for less sensitive or open-use scenarios:\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\n// Explicitly using public network (this is the default)\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n networkConfiguration: agentcore.RuntimeNetworkConfiguration.usingPublicNetwork(),\n});\n```\n\n#### VPC Network Mode\n\nFor enhanced security and network isolation, you can deploy your runtime within a VPC:\n\n```typescript\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\n// Create or use an existing VPC\nconst vpc = new ec2.Vpc(this, 'MyVpc', {\n maxAzs: 2,\n});\n\n// Configure runtime with VPC\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n networkConfiguration: agentcore.RuntimeNetworkConfiguration.usingVpc(this, {\n vpc: vpc,\n vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },\n // Optionally specify security groups, or one will be created automatically\n // securityGroups: [mySecurityGroup],\n }),\n});\n```\n\n#### Managing Security Groups with VPC Configuration\n\nWhen using VPC mode, the Runtime implements `ec2.IConnectable`, allowing you to manage network access using the `connections` property:\n\n```typescript\n\nconst vpc = new ec2.Vpc(this, 'MyVpc', {\n maxAzs: 2,\n});\n\nconst repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\n// Create runtime with VPC configuration\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n networkConfiguration: agentcore.RuntimeNetworkConfiguration.usingVpc(this, {\n vpc: vpc,\n vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },\n }),\n});\n\n// Now you can manage network access using the connections property\n// Allow inbound HTTPS traffic from a specific security group\nconst webServerSecurityGroup = new ec2.SecurityGroup(this, 'WebServerSG', { vpc });\nruntime.connections.allowFrom(webServerSecurityGroup, ec2.Port.tcp(443), 'Allow HTTPS from web servers');\n\n// Allow outbound connections to a database\nconst databaseSecurityGroup = new ec2.SecurityGroup(this, 'DatabaseSG', { vpc });\nruntime.connections.allowTo(databaseSecurityGroup, ec2.Port.tcp(5432), 'Allow PostgreSQL connection');\n\n// Allow outbound HTTPS to anywhere (for external API calls)\nruntime.connections.allowToAnyIpv4(ec2.Port.tcp(443), 'Allow HTTPS outbound');\n```\n\n## Browser\n\nThe Amazon Bedrock AgentCore Browser provides a secure, cloud-based browser that enables AI agents to interact with websites. It includes security features such as session isolation, built-in observability through live viewing, CloudTrail logging, and session replay capabilities.\n\nAdditional information about the browser tool can be found in the [official documentation](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/browser-tool.html)\n\n### Browser Network modes\n\nThe Browser construct supports the following network modes:\n\n1. **Public Network Mode** (`BrowserNetworkMode.usingPublicNetwork()`) - Default\n\n - Allows internet access for web browsing and external API calls\n - Suitable for scenarios where agents need to interact with publicly available websites\n - Enables full web browsing capabilities\n - VPC mode is not supported with this option\n\n2. **VPC (Virtual Private Cloud)** (`BrowserNetworkMode.usingVpc()`)\n\n - Select whether to run the browser in a virtual private cloud (VPC).\n - By configuring VPC connectivity, you enable secure access to private resources such as databases, internal APIs, and services within your VPC.\n\n While the VPC itself is mandatory, these are optional:\n - Subnets - if not provided, CDK will select appropriate subnets from the VPC\n - Security Groups - if not provided, CDK will create a default security group\n - Specific subnet selection criteria - you can let CDK choose automatically\n\nFor more information on VPC connectivity for Amazon Bedrock AgentCore Browser, please refer to the [official documentation](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agentcore-vpc.html).\n\n### Browser Properties\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `browserCustomName` | `string` | Yes | The name of the browser. Must start with a letter and can be up to 48 characters long. Pattern: `[a-zA-Z][a-zA-Z0-9_]{0,47}` |\n| `description` | `string` | No | Optional description for the browser. Can have up to 200 characters |\n| `networkConfiguration` | `BrowserNetworkConfiguration` | No | Network configuration for browser. Defaults to PUBLIC network mode |\n| `recordingConfig` | `RecordingConfig` | No | Recording configuration for browser. Defaults to no recording |\n| `executionRole` | `iam.IRole` | No | The IAM role that provides permissions for the browser to access AWS services. A new role will be created if not provided |\n| `tags` | `{ [key: string]: string }` | No | Tags to apply to the browser resource |\n\n### Basic Browser Creation\n\n```typescript fixture=default\n// Create a basic browser with public network access\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"A browser for web automation\",\n});\n```\n\n### Browser with Tags\n\n```typescript fixture=default\n// Create a browser with custom tags\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"A browser for web automation with tags\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n tags: {\n Environment: \"Production\",\n Team: \"AI/ML\",\n Project: \"AgentCore\",\n },\n});\n```\n\n### Browser with VPC\n\n```typescript fixture=default\nconst browser = new agentcore.BrowserCustom(this, 'BrowserVpcWithRecording', {\n browserCustomName: 'browser_recording',\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingVpc(this, {\n vpc: new ec2.Vpc(this, 'VPC', { restrictDefaultSecurityGroup: false }),\n }),\n});\n```\n\nBrowser exposes a [connections](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Connections.html) property. This property returns a connections object, which simplifies the process of defining and managing ingress and egress rules for security groups in your AWS CDK applications. Instead of directly manipulating security group rules, you interact with the Connections object of a construct, which then translates your connectivity requirements into the appropriate security group rules. For instance:\n\n```typescript fixture=default\nconst vpc = new ec2.Vpc(this, 'testVPC');\n\nconst browser = new agentcore.BrowserCustom(this, 'test-browser', {\n browserCustomName: 'test_browser',\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingVpc(this, {\n vpc: vpc,\n }),\n});\n\nbrowser.connections.addSecurityGroup(new ec2.SecurityGroup(this, 'AdditionalGroup', { vpc }));\n```\n\nSo security groups can be added after the browser construct creation. You can use methods like allowFrom() and allowTo() to grant ingress access to/egress access from a specified peer over a given portRange. The Connections object automatically adds the necessary ingress or egress rules to the security group(s) associated with the calling construct.\n\n### Browser with Recording Configuration\n\n```typescript fixture=default\n// Create an S3 bucket for recordings\nconst recordingBucket = new s3.Bucket(this, \"RecordingBucket\", {\n bucketName: \"my-browser-recordings\",\n removalPolicy: RemovalPolicy.DESTROY, // For demo purposes\n});\n\n// Create browser with recording enabled\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"Browser with recording enabled\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n recordingConfig: {\n enabled: true,\n s3Location: {\n bucketName: recordingBucket.bucketName,\n objectKey: \"browser-recordings/\",\n },\n },\n});\n```\n\n### Browser with Custom Execution Role\n\n```typescript fixture=default\n// Create a custom execution role\nconst executionRole = new iam.Role(this, \"BrowserExecutionRole\", {\n assumedBy: new iam.ServicePrincipal(\"bedrock-agentcore.amazonaws.com\"),\n managedPolicies: [\n iam.ManagedPolicy.fromAwsManagedPolicyName(\"AmazonBedrockAgentCoreBrowserExecutionRolePolicy\"),\n ],\n});\n\n// Create browser with custom execution role\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"Browser with custom execution role\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n executionRole: executionRole,\n});\n```\n\n### Browser with S3 Recording and Permissions\n\n```typescript fixture=default\n// Create an S3 bucket for recordings\nconst recordingBucket = new s3.Bucket(this, \"RecordingBucket\", {\n bucketName: \"my-browser-recordings\",\n removalPolicy: RemovalPolicy.DESTROY, // For demo purposes\n});\n\n// Create browser with recording enabled\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"Browser with recording enabled\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n recordingConfig: {\n enabled: true,\n s3Location: {\n bucketName: recordingBucket.bucketName,\n objectKey: \"browser-recordings/\",\n },\n },\n});\n\n// The browser construct automatically grants S3 permissions to the execution role\n// when recording is enabled, so no additional IAM configuration is needed\n```\n\n### Browser IAM Permissions\n\nThe Browser construct provides convenient methods for granting IAM permissions:\n\n```typescript fixture=default\n// Create a browser\nconst browser = new agentcore.BrowserCustom(this, \"MyBrowser\", {\n browserCustomName: \"my_browser\",\n description: \"Browser for web automation\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingPublicNetwork(),\n});\n\n// Create a role that needs access to the browser\nconst userRole = new iam.Role(this, \"UserRole\", {\n assumedBy: new iam.ServicePrincipal(\"lambda.amazonaws.com\"),\n});\n\n// Grant read permissions (Get and List actions)\nbrowser.grantRead(userRole);\n\n// Grant use permissions (Start, Update, Stop actions)\nbrowser.grantUse(userRole);\n\n// Grant specific custom permissions\nbrowser.grant(userRole, \"bedrock-agentcore:GetBrowserSession\");\n```\n\n## Code Interpreter\n\nThe Amazon Bedrock AgentCore Code Interpreter enables AI agents to write and execute code securely in sandbox environments, enhancing their accuracy and expanding their ability to solve complex end-to-end tasks. This is critical in Agentic AI applications where the agents may execute arbitrary code that can lead to data compromise or security risks. The AgentCore Code Interpreter tool provides secure code execution, which helps you avoid running into these issues.\n\nFor more information about code interpreter, please refer to the [official documentation](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/code-interpreter-tool.html)\n\n### Code Interpreter Network Modes\n\nThe Code Interpreter construct supports the following network modes:\n\n1. **Public Network Mode** (`CodeInterpreterNetworkMode.usingPublicNetwork()`) - Default\n\n - Allows internet access for package installation and external API calls\n - Suitable for development and testing environments\n - Enables downloading Python packages from PyPI\n\n2. **Sandbox Network Mode** (`CodeInterpreterNetworkMode.usingSandboxNetwork()`)\n - Isolated network environment with no internet access\n - Suitable for production environments with strict security requirements\n - Only allows access to pre-installed packages and local resources\n\n3. **VPC (Virtual Private Cloud)** (`CodeInterpreterNetworkMode.usingVpc()`)\n - Select whether to run the browser in a virtual private cloud (VPC).\n - By configuring VPC connectivity, you enable secure access to private resources such as databases, internal APIs, and services within your VPC.\n\n While the VPC itself is mandatory, these are optional:\n - Subnets - if not provided, CDK will select appropriate subnets from the VPC\n - Security Groups - if not provided, CDK will create a default security group\n - Specific subnet selection criteria - you can let CDK choose automatically\n\nFor more information on VPC connectivity for Amazon Bedrock AgentCore Browser, please refer to the [official documentation](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agentcore-vpc.html).\n\n### Code Interpreter Properties\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `codeInterpreterCustomName` | `string` | Yes | The name of the code interpreter. Must start with a letter and can be up to 48 characters long. Pattern: `[a-zA-Z][a-zA-Z0-9_]{0,47}` |\n| `description` | `string` | No | Optional description for the code interpreter. Can have up to 200 characters |\n| `executionRole` | `iam.IRole` | No | The IAM role that provides permissions for the code interpreter to access AWS services. A new role will be created if not provided |\n| `networkConfiguration` | `CodeInterpreterNetworkConfiguration` | No | Network configuration for code interpreter. Defaults to PUBLIC network mode |\n| `tags` | `{ [key: string]: string }` | No | Tags to apply to the code interpreter resource |\n\n### Basic Code Interpreter Creation\n\n```typescript fixture=default\n// Create a basic code interpreter with public network access\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_code_interpreter\",\n description: \"A code interpreter for Python execution\",\n});\n```\n\n### Code Interpreter with VPC\n\n```typescript fixture=default\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_sandbox_interpreter\",\n description: \"Code interpreter with isolated network access\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingVpc(this, {\n vpc: new ec2.Vpc(this, 'VPC', { restrictDefaultSecurityGroup: false }),\n }),\n});\n```\n\nCode Interpreter exposes a [connections](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Connections.html) property. This property returns a connections object, which simplifies the process of defining and managing ingress and egress rules for security groups in your AWS CDK applications. Instead of directly manipulating security group rules, you interact with the Connections object of a construct, which then translates your connectivity requirements into the appropriate security group rules. For instance:\n\n```typescript fixture=default\nconst vpc = new ec2.Vpc(this, 'testVPC');\n\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_sandbox_interpreter\",\n description: \"Code interpreter with isolated network access\",\n networkConfiguration: agentcore.BrowserNetworkConfiguration.usingVpc(this, {\n vpc: vpc,\n }),\n});\n\ncodeInterpreter.connections.addSecurityGroup(new ec2.SecurityGroup(this, 'AdditionalGroup', { vpc }));\n```\n\nSo security groups can be added after the browser construct creation. You can use methods like allowFrom() and allowTo() to grant ingress access to/egress access from a specified peer over a given portRange. The Connections object automatically adds the necessary ingress or egress rules to the security group(s) associated with the calling construct.\n\n### Code Interpreter with Sandbox Network Mode\n\n```typescript fixture=default\n// Create code interpreter with sandbox network mode (isolated)\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_sandbox_interpreter\",\n description: \"Code interpreter with isolated network access\",\n networkConfiguration: agentcore.CodeInterpreterNetworkConfiguration.usingSandboxNetwork(),\n});\n```\n\n### Code Interpreter with Custom Execution Role\n\n```typescript fixture=default\n// Create a custom execution role\nconst executionRole = new iam.Role(this, \"CodeInterpreterExecutionRole\", {\n assumedBy: new iam.ServicePrincipal(\"bedrock-agentcore.amazonaws.com\"),\n});\n\n// Create code interpreter with custom execution role\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_code_interpreter\",\n description: \"Code interpreter with custom execution role\",\n networkConfiguration: agentcore.CodeInterpreterNetworkConfiguration.usingPublicNetwork(),\n executionRole: executionRole,\n});\n```\n\n### Code Interpreter IAM Permissions\n\nThe Code Interpreter construct provides convenient methods for granting IAM permissions:\n\n```typescript fixture=default\n// Create a code interpreter\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_code_interpreter\",\n description: \"Code interpreter for Python execution\",\n networkConfiguration: agentcore.CodeInterpreterNetworkConfiguration.usingPublicNetwork(),\n});\n\n// Create a role that needs access to the code interpreter\nconst userRole = new iam.Role(this, \"UserRole\", {\n assumedBy: new iam.ServicePrincipal(\"lambda.amazonaws.com\"),\n});\n\n// Grant read permissions (Get and List actions)\ncodeInterpreter.grantRead(userRole);\n\n// Grant use permissions (Start, Invoke, Stop actions)\ncodeInterpreter.grantUse(userRole);\n\n// Grant specific custom permissions\ncodeInterpreter.grant(userRole, \"bedrock-agentcore:GetCodeInterpreterSession\");\n```\n\n### Code interpreter with tags\n\n```typescript fixture=default\n// Create code interpreter with sandbox network mode (isolated)\nconst codeInterpreter = new agentcore.CodeInterpreterCustom(this, \"MyCodeInterpreter\", {\n codeInterpreterCustomName: \"my_sandbox_interpreter\",\n description: \"Code interpreter with isolated network access\",\n networkConfiguration: agentcore.CodeInterpreterNetworkConfiguration.usingPublicNetwork(),\n tags: {\n Environment: \"Production\",\n Team: \"AI/ML\",\n Project: \"AgentCore\",\n },\n});\n```\n\n## Memory\n\nMemory is a critical component of intelligence. While Large Language Models (LLMs) have impressive capabilities, they lack persistent memory across conversations. Amazon Bedrock AgentCore Memory addresses this limitation by providing a managed service that enables AI agents to maintain context over time, remember important facts, and deliver consistent, personalized experiences.\n\nAgentCore Memory operates on two levels:\n\n- **Short-Term Memory**: Immediate conversation context and session-based information that provides continuity within a single interaction or closely related sessions.\n- **Long-Term Memory**: Persistent information extracted and stored across multiple conversations, including facts, preferences, and summaries that enable personalized experiences over time.\n\nWhen you interact with the memory via the `CreateEvent` API, you store interactions in Short-Term Memory (STM) instantly. These interactions can include everything from user messages, assistant responses, to tool actions.\n\nTo write to long-term memory, you need to configure extraction strategies which define how and where to store information from conversations for future use. These strategies are asynchronously processed from raw events after every few turns based on the strategy that was selected. You can't create long term memory records directly, as they are extracted asynchronously by AgentCore Memory.\n\n### Memory Properties\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| `memoryName` | `string` | Yes | The name of the memory |\n| `expirationDuration` | `Duration` | No | Short-term memory expiration in days (between 7 and 365). Default: 90 days |\n| `description` | `string` | No | Optional description for the memory. Default: no description. |\n| `kmsKey` | `IKey` | No | Custom KMS key to use for encryption. Default: Your data is encrypted with a key that AWS owns and manages for you |\n| `memoryStrategies` | `MemoryStrategyBase[]` | No | Built-in extraction strategies to use for this memory. Default: No extraction strategies (short term memory only) |\n| `executionRole` | `iam.IRole` | No | The IAM role that provides permissions for the memory to access AWS services. Default: A new role will be created. |\n| `tags` | `{ [key: string]: string }` | No | Tags for memory. Default: no tags. |\n\n### Basic Memory Creation\n\nBelow you can find how to configure a simple short-term memory (STM) with no long-term memory extraction strategies.\nNote how you set `expirationDuration`, which defines the time the events will be stored in the short-term memory before they expire.\n\n```typescript fixture=default\n\n// Create a basic memory with default settings, no LTM strategies\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my_memory\",\n description: \"A memory for storing user interactions for a period of 90 days\",\n expirationDuration: cdk.Duration.days(90),\n});\n```\n\nBasic Memory with Custom KMS Encryption\n\n```typescript fixture=default\n// Create a custom KMS key for encryption\nconst encryptionKey = new kms.Key(this, \"MemoryEncryptionKey\", {\n enableKeyRotation: true,\n description: \"KMS key for memory encryption\",\n});\n\n// Create memory with custom encryption\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my_encrypted_memory\",\n description: \"Memory with custom KMS encryption\",\n expirationDuration: cdk.Duration.days(90),\n kmsKey: encryptionKey,\n});\n```\n\n### LTM Memory Extraction Stategies\n\nIf you need long-term memory for context recall across sessions, you can setup memory extraction strategies\nto extract the relevant memory from the raw events.\n\nAmazon Bedrock AgentCore Memory has different memory strategies for extracting and organizing information:\n\n- **Summarization**: to summarize interactions to preserve critical context and key insights.\n- **Semantic Memory**: to extract general factual knowledge, concepts and meanings from raw conversations using vector embeddings.\nThis enables similarity-based retrieval of relevant facts and context.\n- **User Preferences**: to extract user behavior patterns from raw conversations.\n\nYou can use built-in extraction strategies for quick setup, or create custom extraction strategies with specific models and prompt templates.\n\n### Memory with Built-in Strategies\n\nThe library provides three built-in LTM strategies. These are default strategies for organizing and extracting memory data,\neach optimized for specific use cases.\n\nFor example: An agent helps multiple users with cloud storage setup. From these conversations,\nsee how each strategy processes users expressing confusion about account connection:\n\n1. **Summarization Strategy** (`MemoryStrategy.usingBuiltInSummarization()`)\nThis strategy compresses conversations into concise overviews, preserving essential context and key insights for quick recall.\nExtracted memory example: Users confused by cloud setup during onboarding.\n\n - Extracts concise summaries to preserve critical context and key insights\n - Namespace: `/strategies/{memoryStrategyId}/actors/{actorId}/sessions/{sessionId}`\n\n2. **Semantic Memory Strategy** (`MemoryStrategy.usingBuiltInSemantic()`)\nDistills general facts, concepts, and underlying meanings from raw conversational data, presenting the information in a context-independent format.\nExtracted memory example: In-context learning = task-solving via examples, no training needed.\n\n - Extracts general factual knowledge, concepts and meanings from raw conversations\n - Namespace: `/strategies/{memoryStrategyId}/actors/{actorId}`\n\n3. **User Preference Strategy** (`MemoryStrategy.usingBuiltInUserPreference()`)\nCaptures individual preferences, interaction patterns, and personalized settings to enhance future experiences.\nExtracted memory example: User needs clear guidance on cloud storage account connection during onboarding.\n\n - Extracts user behavior patterns from raw conversations\n - Namespace: `/strategies/{memoryStrategyId}/actors/{actorId}`\n\n```typescript fixture=default\n// Create memory with built-in strategies\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my_memory\",\n description: \"Memory with built-in strategies\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [\n agentcore.MemoryStrategy.usingBuiltInSummarization(),\n agentcore.MemoryStrategy.usingBuiltInSemantic(),\n agentcore.MemoryStrategy.usingBuiltInUserPreference(),\n ],\n});\n```\n\nThe name generated for each built in memory strategy is as follows:\n\n- For Summarization: `summary_builtin_cdk001`\n- For Semantic:`semantic_builtin_cdk001>`\n- For User Preferences: `preference_builtin_cdk001`\n\n### Memory with custom Strategies\n\nWith Long-Term Memory, organization is managed through Namespaces.\n\nAn `actor` refers to entity such as end users or agent/user combinations. For example, in a coding support chatbot,\nthe actor is usually the developer asking questions. Using the actor ID helps the system know which user the memory belongs to,\nkeeping each user's data separate and organized.\n\nA `session` is usually a single conversation or interaction period between the user and the AI agent.\nIt groups all related messages and events that happen during that conversation.\n\nA `namespace` is used to logically group and organize long-term memories. It ensures data stays neat, separate, and secure.\n\nWith AgentCore Memory, you need to add a namespace when you define a memory strategy. This namespace helps define where the long-term memory\nwill be logically grouped. Every time a new long-term memory is extracted using this memory strategy, it is saved under the namespace you set.\nThis means that all long-term memories are scoped to their specific namespace, keeping them organized and preventing any mix-ups with other\nusers or sessions. You should use a hierarchical format separated by forward slashes /. This helps keep memories organized clearly. As needed,\nyou can choose to use the below pre-defined variables within braces in the namespace based on your applications' organization needs:\n\n- `actorId` – Identifies who the long-term memory belongs to, such as a user\n- `memoryStrategyId` – Shows which memory strategy is being used. This strategy identifier is auto-generated when you create a memory using CreateMemory operation.\n- `sessionId` – Identifies which session or conversation the memory is from.\n\nFor example, if you define the following namespace as the input to your strategy in CreateMemory operation:\n\n```shell\n/strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}\n```\n\nAfter memory creation, this namespace might look like:\n\n```shell\n/strategy/summarization-93483043//actor/actor-9830m2w3/session/session-9330sds8\n```\n\nYou can customise the namespace, i.e. where the memories are stored by using the following methods:\n\n1. **Summarization Strategy** (`MemoryStrategy.usingSummarization(props)`)\n1. **Semantic Memory Strategy** (`MemoryStrategy.usingSemantic(props)`)\n1. **User Preference Strategy** (`MemoryStrategy.usingUserPreference(props)`)\n\n```typescript fixture=default\n// Create memory with built-in strategies\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my_memory\",\n description: \"Memory with built-in strategies\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [\n agentcore.MemoryStrategy.usingUserPreference({\n name: \"CustomerPreferences\",\n namespaces: [\"support/customer/{actorId}/preferences\"]\n }),\n agentcore.MemoryStrategy.usingSemantic({\n name: \"CustomerSupportSemantic\",\n namespaces: [\"support/customer/{actorId}/semantic\"]\n }),\n ],\n});\n```\n\nCustom memory strategies let you tailor memory extraction and consolidation to your specific domain or use case.\nYou can override the prompts for extracting and consolidating semantic, summary, or user preferences.\nYou can also choose the model that you want to use for extraction and consolidation.\n\nThe custom prompts you create are appended to a non-editable system prompt.\n\nSince a custom strategy requires you to invoke certain FMs, you need a role with appropriate permissions. For that, you can:\n\n- Let the L2 construct create a minimum permission role for you when use L2 Bedrock Foundation Models.\n- Use a custom role with the overly permissive `AmazonBedrockAgentCoreMemoryBedrockModelInferenceExecutionRolePolicy` managed policy.\n- Use a custom role with your own custom policies.\n\n#### Memory with Custom Execution Role\n\nKeep in mind that memories that **do not** use custom strategies do not require a service role.\nSo even if you provide it, it will be ignored as it will never be used.\n\n```typescript fixture=default\n// Create a custom execution role\nconst executionRole = new iam.Role(this, \"MemoryExecutionRole\", {\n assumedBy: new iam.ServicePrincipal(\"bedrock-agentcore.amazonaws.com\"),\n managedPolicies: [\n iam.ManagedPolicy.fromAwsManagedPolicyName(\n \"AmazonBedrockAgentCoreMemoryBedrockModelInferenceExecutionRolePolicy\"\n ),\n ],\n});\n\n// Create memory with custom execution role\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my_memory\",\n description: \"Memory with custom execution role\",\n expirationDuration: cdk.Duration.days(90),\n executionRole: executionRole,\n});\n```\n\nIn customConsolidation and customExtraction, the model property uses the [@aws-cdk/aws-bedrock-alph](https://www.npmjs.com/package/@aws-cdk/aws-bedrock-alpha) library which must be installed separately.\n\n```typescript fixture=default\n// Create a custom semantic memory strategy\nconst customSemanticStrategy = agentcore.MemoryStrategy.usingSemantic({\n name: \"customSemanticStrategy\",\n description: \"Custom semantic memory strategy\",\n namespaces: [\"/custom/strategies/{memoryStrategyId}/actors/{actorId}\"],\n customConsolidation: {\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_5_SONNET_V1_0,\n appendToPrompt: \"Custom consolidation prompt for semantic memory\",\n },\n customExtraction: {\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_5_SONNET_V1_0,\n appendToPrompt: \"Custom extraction prompt for semantic memory\",\n },\n});\n\n// Create memory with custom strategy\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my-custom-memory\",\n description: \"Memory with custom strategy\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [customSemanticStrategy],\n});\n```\n\n### Memory with self-managed Strategies\n\nA self-managed strategy in Amazon Bedrock AgentCore Memory gives you complete control over your memory extraction and consolidation pipelines.\nWith a self-managed strategy, you can build custom memory processing workflows while leveraging Amazon Bedrock AgentCore for storage and retrieval.\n\nFor additional information, you can refer to the [developer guide for self managed strategies](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory-self-managed-strategies.html).\n\nCreate the required AWS resources including:\n\n- an S3 bucket in your account where Amazon Bedrock AgentCore will deliver batched event payloads.\n- an SNS topic for job notifications. Use FIFO topics if processing order within sessions is important for your use case.\n\nThe construct will apply the correct permissions to the memory execution role to access these resources.\n\n```typescript fixture=default\n\nconst bucket = new s3.Bucket(this, 'memoryBucket', {\n bucketName: 'test-memory',\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n autoDeleteObjects: true,\n});\n\nconst topic = new sns.Topic(this, 'topic');\n\n// Create a custom semantic memory strategy\nconst selfManagedStrategy = agentcore.MemoryStrategy.usingSelfManaged({\n name: \"selfManagedStrategy\",\n description: \"self managed memory strategy\",\n historicalContextWindowSize: 5,\n invocationConfiguration: {\n topic: topic,\n s3Location: {\n bucketName: bucket.bucketName,\n objectKey: 'memory/',\n }\n },\n triggerConditions: {\n messageBasedTrigger: 1,\n timeBasedTrigger: cdk.Duration.seconds(10),\n tokenBasedTrigger: 100\n }\n});\n\n// Create memory with custom strategy\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my-custom-memory\",\n description: \"Memory with custom strategy\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [selfManagedStrategy],\n});\n```\n\n### Memory Strategy Methods\n\nYou can add new memory strategies to the memory construct using the `addMemoryStrategy()` method, for instance:\n\n```typescript fixture=default\n// Create memory without initial strategies\nconst memory = new agentcore.Memory(this, \"test-memory\", {\n memoryName: \"test_memory_add_strategy\",\n description: \"A test memory for testing addMemoryStrategy method\",\n expirationDuration: cdk.Duration.days(90),\n});\n\n// Add strategies after instantiation\nmemory.addMemoryStrategy(agentcore.MemoryStrategy.usingBuiltInSummarization());\nmemory.addMemoryStrategy(agentcore.MemoryStrategy.usingBuiltInSemantic());\n```\n"
4108
4166
  },
4109
4167
  "repository": {
4110
4168
  "directory": "packages/@aws-cdk/aws-bedrock-agentcore-alpha",
@@ -4339,7 +4397,7 @@
4339
4397
  "kind": "interface",
4340
4398
  "locationInModule": {
4341
4399
  "filename": "agentcore/runtime/runtime-base.ts",
4342
- "line": 401
4400
+ "line": 392
4343
4401
  },
4344
4402
  "name": "AgentRuntimeAttributes",
4345
4403
  "properties": [
@@ -4352,7 +4410,7 @@
4352
4410
  "immutable": true,
4353
4411
  "locationInModule": {
4354
4412
  "filename": "agentcore/runtime/runtime-base.ts",
4355
- "line": 405
4413
+ "line": 396
4356
4414
  },
4357
4415
  "name": "agentRuntimeArn",
4358
4416
  "type": {
@@ -4368,7 +4426,7 @@
4368
4426
  "immutable": true,
4369
4427
  "locationInModule": {
4370
4428
  "filename": "agentcore/runtime/runtime-base.ts",
4371
- "line": 410
4429
+ "line": 401
4372
4430
  },
4373
4431
  "name": "agentRuntimeId",
4374
4432
  "type": {
@@ -4384,7 +4442,7 @@
4384
4442
  "immutable": true,
4385
4443
  "locationInModule": {
4386
4444
  "filename": "agentcore/runtime/runtime-base.ts",
4387
- "line": 415
4445
+ "line": 406
4388
4446
  },
4389
4447
  "name": "agentRuntimeName",
4390
4448
  "type": {
@@ -4400,7 +4458,7 @@
4400
4458
  "immutable": true,
4401
4459
  "locationInModule": {
4402
4460
  "filename": "agentcore/runtime/runtime-base.ts",
4403
- "line": 420
4461
+ "line": 411
4404
4462
  },
4405
4463
  "name": "roleArn",
4406
4464
  "type": {
@@ -4417,7 +4475,7 @@
4417
4475
  "immutable": true,
4418
4476
  "locationInModule": {
4419
4477
  "filename": "agentcore/runtime/runtime-base.ts",
4420
- "line": 428
4478
+ "line": 419
4421
4479
  },
4422
4480
  "name": "agentRuntimeVersion",
4423
4481
  "optional": true,
@@ -4435,7 +4493,7 @@
4435
4493
  "immutable": true,
4436
4494
  "locationInModule": {
4437
4495
  "filename": "agentcore/runtime/runtime-base.ts",
4438
- "line": 446
4496
+ "line": 437
4439
4497
  },
4440
4498
  "name": "agentStatus",
4441
4499
  "optional": true,
@@ -4453,7 +4511,7 @@
4453
4511
  "immutable": true,
4454
4512
  "locationInModule": {
4455
4513
  "filename": "agentcore/runtime/runtime-base.ts",
4456
- "line": 452
4514
+ "line": 443
4457
4515
  },
4458
4516
  "name": "createdAt",
4459
4517
  "optional": true,
@@ -4471,7 +4529,7 @@
4471
4529
  "immutable": true,
4472
4530
  "locationInModule": {
4473
4531
  "filename": "agentcore/runtime/runtime-base.ts",
4474
- "line": 434
4532
+ "line": 425
4475
4533
  },
4476
4534
  "name": "description",
4477
4535
  "optional": true,
@@ -4489,7 +4547,7 @@
4489
4547
  "immutable": true,
4490
4548
  "locationInModule": {
4491
4549
  "filename": "agentcore/runtime/runtime-base.ts",
4492
- "line": 458
4550
+ "line": 449
4493
4551
  },
4494
4552
  "name": "lastUpdatedAt",
4495
4553
  "optional": true,
@@ -4507,7 +4565,7 @@
4507
4565
  "immutable": true,
4508
4566
  "locationInModule": {
4509
4567
  "filename": "agentcore/runtime/runtime-base.ts",
4510
- "line": 440
4568
+ "line": 431
4511
4569
  },
4512
4570
  "name": "securityGroups",
4513
4571
  "optional": true,
@@ -9116,177 +9174,2973 @@
9116
9174
  ],
9117
9175
  "symbolId": "agentcore/tools/code-interpreter:ICodeInterpreterCustom"
9118
9176
  },
9119
- "@aws-cdk/aws-bedrock-agentcore-alpha.IRuntimeEndpoint": {
9177
+ "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory": {
9120
9178
  "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
9121
9179
  "docs": {
9122
9180
  "stability": "experimental",
9123
- "summary": "Interface for Runtime Endpoint resources."
9181
+ "summary": "Interface for Memory resources."
9124
9182
  },
9125
- "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.IRuntimeEndpoint",
9183
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
9126
9184
  "interfaces": [
9127
- "aws-cdk-lib.IResource"
9185
+ "aws-cdk-lib.IResource",
9186
+ "aws-cdk-lib.aws_iam.IGrantable"
9128
9187
  ],
9129
9188
  "kind": "interface",
9130
9189
  "locationInModule": {
9131
- "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9132
- "line": 24
9190
+ "filename": "agentcore/memory/memory.ts",
9191
+ "line": 78
9133
9192
  },
9134
- "name": "IRuntimeEndpoint",
9135
- "properties": [
9193
+ "methods": [
9136
9194
  {
9137
9195
  "abstract": true,
9138
9196
  "docs": {
9139
- "custom": {
9140
- "attribute": "true"
9197
+ "stability": "experimental",
9198
+ "summary": "Grant the given principal identity permissions to perform actions on this memory."
9199
+ },
9200
+ "locationInModule": {
9201
+ "filename": "agentcore/memory/memory.ts",
9202
+ "line": 115
9203
+ },
9204
+ "name": "grant",
9205
+ "parameters": [
9206
+ {
9207
+ "name": "grantee",
9208
+ "type": {
9209
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9210
+ }
9141
9211
  },
9212
+ {
9213
+ "name": "actions",
9214
+ "type": {
9215
+ "primitive": "string"
9216
+ },
9217
+ "variadic": true
9218
+ }
9219
+ ],
9220
+ "returns": {
9221
+ "type": {
9222
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9223
+ }
9224
+ },
9225
+ "variadic": true
9226
+ },
9227
+ {
9228
+ "abstract": true,
9229
+ "docs": {
9142
9230
  "stability": "experimental",
9143
- "summary": "The ARN of the parent agent runtime."
9231
+ "summary": "Grant the given principal identity permissions to manage the control plane of this memory."
9144
9232
  },
9145
- "immutable": true,
9146
9233
  "locationInModule": {
9147
- "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9148
- "line": 41
9234
+ "filename": "agentcore/memory/memory.ts",
9235
+ "line": 148
9149
9236
  },
9150
- "name": "agentRuntimeArn",
9151
- "type": {
9152
- "primitive": "string"
9237
+ "name": "grantAdmin",
9238
+ "parameters": [
9239
+ {
9240
+ "name": "grantee",
9241
+ "type": {
9242
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9243
+ }
9244
+ }
9245
+ ],
9246
+ "returns": {
9247
+ "type": {
9248
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9249
+ }
9153
9250
  }
9154
9251
  },
9155
9252
  {
9156
9253
  "abstract": true,
9157
9254
  "docs": {
9158
- "custom": {
9159
- "attribute": "true"
9160
- },
9161
- "example": "\"arn:aws:bedrock-agentcore:us-west-2:123456789012:agent-runtime-endpoint/endpoint-abc123\"",
9162
9255
  "stability": "experimental",
9163
- "summary": "The ARN of the runtime endpoint resource."
9256
+ "summary": "Grant the given principal identity permissions to delete content on this memory."
9164
9257
  },
9165
- "immutable": true,
9166
9258
  "locationInModule": {
9167
- "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9168
- "line": 30
9259
+ "filename": "agentcore/memory/memory.ts",
9260
+ "line": 136
9169
9261
  },
9170
- "name": "agentRuntimeEndpointArn",
9171
- "type": {
9172
- "primitive": "string"
9262
+ "name": "grantDelete",
9263
+ "parameters": [
9264
+ {
9265
+ "name": "grantee",
9266
+ "type": {
9267
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9268
+ }
9269
+ }
9270
+ ],
9271
+ "returns": {
9272
+ "type": {
9273
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9274
+ }
9173
9275
  }
9174
9276
  },
9175
9277
  {
9176
9278
  "abstract": true,
9177
9279
  "docs": {
9178
9280
  "stability": "experimental",
9179
- "summary": "The name of the runtime endpoint."
9281
+ "summary": "Grant the given principal identity permissions to delete Long-Term Memory (LTM) content on this memory."
9180
9282
  },
9181
- "immutable": true,
9182
9283
  "locationInModule": {
9183
- "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9184
- "line": 35
9284
+ "filename": "agentcore/memory/memory.ts",
9285
+ "line": 144
9185
9286
  },
9186
- "name": "endpointName",
9187
- "type": {
9188
- "primitive": "string"
9287
+ "name": "grantDeleteLongTermMemory",
9288
+ "parameters": [
9289
+ {
9290
+ "name": "grantee",
9291
+ "type": {
9292
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9293
+ }
9294
+ }
9295
+ ],
9296
+ "returns": {
9297
+ "type": {
9298
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9299
+ }
9189
9300
  }
9190
9301
  },
9191
9302
  {
9192
9303
  "abstract": true,
9193
9304
  "docs": {
9194
- "custom": {
9195
- "attribute": "true"
9196
- },
9197
9305
  "stability": "experimental",
9198
- "summary": "When the endpoint was created."
9306
+ "summary": "Grant the given principal identity permissions to delete Short-Term Memory (STM) content on this memory."
9199
9307
  },
9200
- "immutable": true,
9201
9308
  "locationInModule": {
9202
- "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9203
- "line": 65
9309
+ "filename": "agentcore/memory/memory.ts",
9310
+ "line": 140
9204
9311
  },
9205
- "name": "createdAt",
9206
- "optional": true,
9207
- "type": {
9208
- "primitive": "string"
9312
+ "name": "grantDeleteShortTermMemory",
9313
+ "parameters": [
9314
+ {
9315
+ "name": "grantee",
9316
+ "type": {
9317
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9318
+ }
9319
+ }
9320
+ ],
9321
+ "returns": {
9322
+ "type": {
9323
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9324
+ }
9209
9325
  }
9210
9326
  },
9211
9327
  {
9212
9328
  "abstract": true,
9213
9329
  "docs": {
9214
9330
  "stability": "experimental",
9215
- "summary": "The description of the runtime endpoint."
9331
+ "summary": "Grant the given principal identity permissions to do every action on this memory."
9216
9332
  },
9217
- "immutable": true,
9218
9333
  "locationInModule": {
9219
- "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9220
- "line": 70
9334
+ "filename": "agentcore/memory/memory.ts",
9335
+ "line": 152
9221
9336
  },
9222
- "name": "description",
9223
- "optional": true,
9224
- "type": {
9225
- "primitive": "string"
9337
+ "name": "grantFullAccess",
9338
+ "parameters": [
9339
+ {
9340
+ "name": "grantee",
9341
+ "type": {
9342
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9343
+ }
9344
+ }
9345
+ ],
9346
+ "returns": {
9347
+ "type": {
9348
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9349
+ }
9226
9350
  }
9227
9351
  },
9228
9352
  {
9229
9353
  "abstract": true,
9230
9354
  "docs": {
9231
- "custom": {
9232
- "attribute": "true"
9233
- },
9355
+ "remarks": "Both Short-Term Memory (STM) and Long-Term Memory (LTM).",
9234
9356
  "stability": "experimental",
9235
- "summary": "The live version of the agent runtime that is currently serving requests."
9357
+ "summary": "Grant the given principal identity permissions to read the contents of this memory."
9236
9358
  },
9237
- "immutable": true,
9238
9359
  "locationInModule": {
9239
- "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9240
- "line": 53
9360
+ "filename": "agentcore/memory/memory.ts",
9361
+ "line": 124
9241
9362
  },
9242
- "name": "liveVersion",
9243
- "optional": true,
9244
- "type": {
9245
- "primitive": "string"
9363
+ "name": "grantRead",
9364
+ "parameters": [
9365
+ {
9366
+ "name": "grantee",
9367
+ "type": {
9368
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9369
+ }
9370
+ }
9371
+ ],
9372
+ "returns": {
9373
+ "type": {
9374
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9375
+ }
9246
9376
  }
9247
9377
  },
9248
9378
  {
9249
9379
  "abstract": true,
9250
9380
  "docs": {
9251
- "custom": {
9252
- "attribute": "true"
9253
- },
9254
9381
  "stability": "experimental",
9255
- "summary": "The current status of the runtime endpoint."
9382
+ "summary": "Grant the given principal identity permissions to read the Long-Term Memory (LTM) contents of this memory."
9256
9383
  },
9257
- "immutable": true,
9258
9384
  "locationInModule": {
9259
- "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9260
- "line": 47
9385
+ "filename": "agentcore/memory/memory.ts",
9386
+ "line": 132
9261
9387
  },
9262
- "name": "status",
9263
- "optional": true,
9264
- "type": {
9265
- "primitive": "string"
9388
+ "name": "grantReadLongTermMemory",
9389
+ "parameters": [
9390
+ {
9391
+ "name": "grantee",
9392
+ "type": {
9393
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9394
+ }
9395
+ }
9396
+ ],
9397
+ "returns": {
9398
+ "type": {
9399
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9400
+ }
9266
9401
  }
9267
9402
  },
9268
9403
  {
9269
9404
  "abstract": true,
9270
9405
  "docs": {
9271
- "custom": {
9272
- "attribute": "true"
9273
- },
9274
9406
  "stability": "experimental",
9275
- "summary": "The target version the endpoint is transitioning to (during updates)."
9407
+ "summary": "Grant the given principal identity permissions to read the Short-Term Memory (STM) contents of this memory."
9276
9408
  },
9277
- "immutable": true,
9278
9409
  "locationInModule": {
9279
- "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9280
- "line": 59
9410
+ "filename": "agentcore/memory/memory.ts",
9411
+ "line": 128
9281
9412
  },
9282
- "name": "targetVersion",
9283
- "optional": true,
9284
- "type": {
9285
- "primitive": "string"
9286
- }
9413
+ "name": "grantReadShortTermMemory",
9414
+ "parameters": [
9415
+ {
9416
+ "name": "grantee",
9417
+ "type": {
9418
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9419
+ }
9420
+ }
9421
+ ],
9422
+ "returns": {
9423
+ "type": {
9424
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9425
+ }
9426
+ }
9427
+ },
9428
+ {
9429
+ "abstract": true,
9430
+ "docs": {
9431
+ "stability": "experimental",
9432
+ "summary": "Grant the given principal identity permissions to write content to this memory."
9433
+ },
9434
+ "locationInModule": {
9435
+ "filename": "agentcore/memory/memory.ts",
9436
+ "line": 119
9437
+ },
9438
+ "name": "grantWrite",
9439
+ "parameters": [
9440
+ {
9441
+ "name": "grantee",
9442
+ "type": {
9443
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9444
+ }
9445
+ }
9446
+ ],
9447
+ "returns": {
9448
+ "type": {
9449
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9450
+ }
9451
+ }
9452
+ },
9453
+ {
9454
+ "abstract": true,
9455
+ "docs": {
9456
+ "stability": "experimental",
9457
+ "summary": "Return the given named metric for this memory."
9458
+ },
9459
+ "locationInModule": {
9460
+ "filename": "agentcore/memory/memory.ts",
9461
+ "line": 160
9462
+ },
9463
+ "name": "metric",
9464
+ "parameters": [
9465
+ {
9466
+ "name": "metricName",
9467
+ "type": {
9468
+ "primitive": "string"
9469
+ }
9470
+ },
9471
+ {
9472
+ "name": "dimensions",
9473
+ "type": {
9474
+ "collection": {
9475
+ "elementtype": {
9476
+ "primitive": "string"
9477
+ },
9478
+ "kind": "map"
9479
+ }
9480
+ }
9481
+ },
9482
+ {
9483
+ "name": "props",
9484
+ "optional": true,
9485
+ "type": {
9486
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
9487
+ }
9488
+ }
9489
+ ],
9490
+ "returns": {
9491
+ "type": {
9492
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
9493
+ }
9494
+ }
9495
+ },
9496
+ {
9497
+ "abstract": true,
9498
+ "docs": {
9499
+ "stability": "experimental",
9500
+ "summary": "Return a metric containing the number of errors for a specific API operation performed on this memory."
9501
+ },
9502
+ "locationInModule": {
9503
+ "filename": "agentcore/memory/memory.ts",
9504
+ "line": 176
9505
+ },
9506
+ "name": "metricErrorsForApiOperation",
9507
+ "parameters": [
9508
+ {
9509
+ "name": "operation",
9510
+ "type": {
9511
+ "primitive": "string"
9512
+ }
9513
+ },
9514
+ {
9515
+ "name": "props",
9516
+ "optional": true,
9517
+ "type": {
9518
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
9519
+ }
9520
+ }
9521
+ ],
9522
+ "returns": {
9523
+ "type": {
9524
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
9525
+ }
9526
+ }
9527
+ },
9528
+ {
9529
+ "abstract": true,
9530
+ "docs": {
9531
+ "stability": "experimental",
9532
+ "summary": "Returns the metric containing the number of created memory events and memory records."
9533
+ },
9534
+ "locationInModule": {
9535
+ "filename": "agentcore/memory/memory.ts",
9536
+ "line": 180
9537
+ },
9538
+ "name": "metricEventCreationCount",
9539
+ "parameters": [
9540
+ {
9541
+ "name": "props",
9542
+ "optional": true,
9543
+ "type": {
9544
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
9545
+ }
9546
+ }
9547
+ ],
9548
+ "returns": {
9549
+ "type": {
9550
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
9551
+ }
9552
+ }
9553
+ },
9554
+ {
9555
+ "abstract": true,
9556
+ "docs": {
9557
+ "stability": "experimental",
9558
+ "summary": "Return the given named metric related to the API operation performed on this memory."
9559
+ },
9560
+ "locationInModule": {
9561
+ "filename": "agentcore/memory/memory.ts",
9562
+ "line": 164
9563
+ },
9564
+ "name": "metricForApiOperation",
9565
+ "parameters": [
9566
+ {
9567
+ "name": "metricName",
9568
+ "type": {
9569
+ "primitive": "string"
9570
+ }
9571
+ },
9572
+ {
9573
+ "name": "operation",
9574
+ "type": {
9575
+ "primitive": "string"
9576
+ }
9577
+ },
9578
+ {
9579
+ "name": "props",
9580
+ "optional": true,
9581
+ "type": {
9582
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
9583
+ }
9584
+ }
9585
+ ],
9586
+ "returns": {
9587
+ "type": {
9588
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
9589
+ }
9590
+ }
9591
+ },
9592
+ {
9593
+ "abstract": true,
9594
+ "docs": {
9595
+ "stability": "experimental",
9596
+ "summary": "Return a metric containing the total number of API requests made for a specific memory operation."
9597
+ },
9598
+ "locationInModule": {
9599
+ "filename": "agentcore/memory/memory.ts",
9600
+ "line": 172
9601
+ },
9602
+ "name": "metricInvocationsForApiOperation",
9603
+ "parameters": [
9604
+ {
9605
+ "name": "operation",
9606
+ "type": {
9607
+ "primitive": "string"
9608
+ }
9609
+ },
9610
+ {
9611
+ "name": "props",
9612
+ "optional": true,
9613
+ "type": {
9614
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
9615
+ }
9616
+ }
9617
+ ],
9618
+ "returns": {
9619
+ "type": {
9620
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
9621
+ }
9622
+ }
9623
+ },
9624
+ {
9625
+ "abstract": true,
9626
+ "docs": {
9627
+ "stability": "experimental",
9628
+ "summary": "Return a metric measuring the latency of a specific API operation performed on this memory."
9629
+ },
9630
+ "locationInModule": {
9631
+ "filename": "agentcore/memory/memory.ts",
9632
+ "line": 168
9633
+ },
9634
+ "name": "metricLatencyForApiOperation",
9635
+ "parameters": [
9636
+ {
9637
+ "name": "operation",
9638
+ "type": {
9639
+ "primitive": "string"
9640
+ }
9641
+ },
9642
+ {
9643
+ "name": "props",
9644
+ "optional": true,
9645
+ "type": {
9646
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
9647
+ }
9648
+ }
9649
+ ],
9650
+ "returns": {
9651
+ "type": {
9652
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
9653
+ }
9654
+ }
9655
+ }
9656
+ ],
9657
+ "name": "IMemory",
9658
+ "properties": [
9659
+ {
9660
+ "abstract": true,
9661
+ "docs": {
9662
+ "custom": {
9663
+ "attribute": "true"
9664
+ },
9665
+ "stability": "experimental",
9666
+ "summary": "The ARN of the memory resource."
9667
+ },
9668
+ "immutable": true,
9669
+ "locationInModule": {
9670
+ "filename": "agentcore/memory/memory.ts",
9671
+ "line": 83
9672
+ },
9673
+ "name": "memoryArn",
9674
+ "type": {
9675
+ "primitive": "string"
9676
+ }
9677
+ },
9678
+ {
9679
+ "abstract": true,
9680
+ "docs": {
9681
+ "custom": {
9682
+ "attribute": "true"
9683
+ },
9684
+ "stability": "experimental",
9685
+ "summary": "The id of the memory."
9686
+ },
9687
+ "immutable": true,
9688
+ "locationInModule": {
9689
+ "filename": "agentcore/memory/memory.ts",
9690
+ "line": 88
9691
+ },
9692
+ "name": "memoryId",
9693
+ "type": {
9694
+ "primitive": "string"
9695
+ }
9696
+ },
9697
+ {
9698
+ "abstract": true,
9699
+ "docs": {
9700
+ "custom": {
9701
+ "attribute": "true"
9702
+ },
9703
+ "stability": "experimental",
9704
+ "summary": "Timestamp when the memory was created."
9705
+ },
9706
+ "immutable": true,
9707
+ "locationInModule": {
9708
+ "filename": "agentcore/memory/memory.ts",
9709
+ "line": 111
9710
+ },
9711
+ "name": "createdAt",
9712
+ "optional": true,
9713
+ "type": {
9714
+ "primitive": "string"
9715
+ }
9716
+ },
9717
+ {
9718
+ "abstract": true,
9719
+ "docs": {
9720
+ "stability": "experimental",
9721
+ "summary": "The IAM role that provides permissions for the memory to access AWS services."
9722
+ },
9723
+ "immutable": true,
9724
+ "locationInModule": {
9725
+ "filename": "agentcore/memory/memory.ts",
9726
+ "line": 92
9727
+ },
9728
+ "name": "executionRole",
9729
+ "optional": true,
9730
+ "type": {
9731
+ "fqn": "aws-cdk-lib.aws_iam.IRole"
9732
+ }
9733
+ },
9734
+ {
9735
+ "abstract": true,
9736
+ "docs": {
9737
+ "stability": "experimental",
9738
+ "summary": "Custom KMS key for encryption (if provided)."
9739
+ },
9740
+ "immutable": true,
9741
+ "locationInModule": {
9742
+ "filename": "agentcore/memory/memory.ts",
9743
+ "line": 96
9744
+ },
9745
+ "name": "kmsKey",
9746
+ "optional": true,
9747
+ "type": {
9748
+ "fqn": "aws-cdk-lib.aws_kms.IKey"
9749
+ }
9750
+ },
9751
+ {
9752
+ "abstract": true,
9753
+ "docs": {
9754
+ "custom": {
9755
+ "attribute": "true"
9756
+ },
9757
+ "stability": "experimental",
9758
+ "summary": "The status of the memory."
9759
+ },
9760
+ "immutable": true,
9761
+ "locationInModule": {
9762
+ "filename": "agentcore/memory/memory.ts",
9763
+ "line": 101
9764
+ },
9765
+ "name": "status",
9766
+ "optional": true,
9767
+ "type": {
9768
+ "primitive": "string"
9769
+ }
9770
+ },
9771
+ {
9772
+ "abstract": true,
9773
+ "docs": {
9774
+ "custom": {
9775
+ "attribute": "true"
9776
+ },
9777
+ "stability": "experimental",
9778
+ "summary": "Timestamp when the memory was last updated."
9779
+ },
9780
+ "immutable": true,
9781
+ "locationInModule": {
9782
+ "filename": "agentcore/memory/memory.ts",
9783
+ "line": 106
9784
+ },
9785
+ "name": "updatedAt",
9786
+ "optional": true,
9787
+ "type": {
9788
+ "primitive": "string"
9789
+ }
9790
+ }
9791
+ ],
9792
+ "symbolId": "agentcore/memory/memory:IMemory"
9793
+ },
9794
+ "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy": {
9795
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
9796
+ "docs": {
9797
+ "stability": "experimental",
9798
+ "summary": "Interface for Memory strategies."
9799
+ },
9800
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
9801
+ "kind": "interface",
9802
+ "locationInModule": {
9803
+ "filename": "agentcore/memory/memory-strategy.ts",
9804
+ "line": 81
9805
+ },
9806
+ "methods": [
9807
+ {
9808
+ "abstract": true,
9809
+ "docs": {
9810
+ "returns": "The Grant object for chaining",
9811
+ "stability": "experimental",
9812
+ "summary": "Grants the necessary permissions to the role."
9813
+ },
9814
+ "locationInModule": {
9815
+ "filename": "agentcore/memory/memory-strategy.ts",
9816
+ "line": 103
9817
+ },
9818
+ "name": "grant",
9819
+ "parameters": [
9820
+ {
9821
+ "docs": {
9822
+ "summary": "- The grantee to grant permissions to."
9823
+ },
9824
+ "name": "grantee",
9825
+ "type": {
9826
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
9827
+ }
9828
+ }
9829
+ ],
9830
+ "returns": {
9831
+ "optional": true,
9832
+ "type": {
9833
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
9834
+ }
9835
+ }
9836
+ },
9837
+ {
9838
+ "abstract": true,
9839
+ "docs": {
9840
+ "stability": "experimental",
9841
+ "summary": "Renders internal attributes to CloudFormation."
9842
+ },
9843
+ "locationInModule": {
9844
+ "filename": "agentcore/memory/memory-strategy.ts",
9845
+ "line": 97
9846
+ },
9847
+ "name": "render",
9848
+ "returns": {
9849
+ "type": {
9850
+ "fqn": "aws-cdk-lib.aws_bedrockagentcore.CfnMemory.MemoryStrategyProperty"
9851
+ }
9852
+ }
9853
+ }
9854
+ ],
9855
+ "name": "IMemoryStrategy",
9856
+ "properties": [
9857
+ {
9858
+ "abstract": true,
9859
+ "docs": {
9860
+ "stability": "experimental",
9861
+ "summary": "The name of the memory strategy."
9862
+ },
9863
+ "immutable": true,
9864
+ "locationInModule": {
9865
+ "filename": "agentcore/memory/memory-strategy.ts",
9866
+ "line": 85
9867
+ },
9868
+ "name": "name",
9869
+ "type": {
9870
+ "primitive": "string"
9871
+ }
9872
+ },
9873
+ {
9874
+ "abstract": true,
9875
+ "docs": {
9876
+ "stability": "experimental",
9877
+ "summary": "The type of memory strategy."
9878
+ },
9879
+ "immutable": true,
9880
+ "locationInModule": {
9881
+ "filename": "agentcore/memory/memory-strategy.ts",
9882
+ "line": 93
9883
+ },
9884
+ "name": "strategyType",
9885
+ "type": {
9886
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyType"
9887
+ }
9888
+ },
9889
+ {
9890
+ "abstract": true,
9891
+ "docs": {
9892
+ "stability": "experimental",
9893
+ "summary": "The description of the memory strategy."
9894
+ },
9895
+ "immutable": true,
9896
+ "locationInModule": {
9897
+ "filename": "agentcore/memory/memory-strategy.ts",
9898
+ "line": 89
9899
+ },
9900
+ "name": "description",
9901
+ "optional": true,
9902
+ "type": {
9903
+ "primitive": "string"
9904
+ }
9905
+ }
9906
+ ],
9907
+ "symbolId": "agentcore/memory/memory-strategy:IMemoryStrategy"
9908
+ },
9909
+ "@aws-cdk/aws-bedrock-agentcore-alpha.IRuntimeEndpoint": {
9910
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
9911
+ "docs": {
9912
+ "stability": "experimental",
9913
+ "summary": "Interface for Runtime Endpoint resources."
9914
+ },
9915
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.IRuntimeEndpoint",
9916
+ "interfaces": [
9917
+ "aws-cdk-lib.IResource"
9918
+ ],
9919
+ "kind": "interface",
9920
+ "locationInModule": {
9921
+ "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9922
+ "line": 24
9923
+ },
9924
+ "name": "IRuntimeEndpoint",
9925
+ "properties": [
9926
+ {
9927
+ "abstract": true,
9928
+ "docs": {
9929
+ "custom": {
9930
+ "attribute": "true"
9931
+ },
9932
+ "stability": "experimental",
9933
+ "summary": "The ARN of the parent agent runtime."
9934
+ },
9935
+ "immutable": true,
9936
+ "locationInModule": {
9937
+ "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9938
+ "line": 41
9939
+ },
9940
+ "name": "agentRuntimeArn",
9941
+ "type": {
9942
+ "primitive": "string"
9943
+ }
9944
+ },
9945
+ {
9946
+ "abstract": true,
9947
+ "docs": {
9948
+ "custom": {
9949
+ "attribute": "true"
9950
+ },
9951
+ "example": "\"arn:aws:bedrock-agentcore:us-west-2:123456789012:agent-runtime-endpoint/endpoint-abc123\"",
9952
+ "stability": "experimental",
9953
+ "summary": "The ARN of the runtime endpoint resource."
9954
+ },
9955
+ "immutable": true,
9956
+ "locationInModule": {
9957
+ "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9958
+ "line": 30
9959
+ },
9960
+ "name": "agentRuntimeEndpointArn",
9961
+ "type": {
9962
+ "primitive": "string"
9963
+ }
9964
+ },
9965
+ {
9966
+ "abstract": true,
9967
+ "docs": {
9968
+ "stability": "experimental",
9969
+ "summary": "The name of the runtime endpoint."
9970
+ },
9971
+ "immutable": true,
9972
+ "locationInModule": {
9973
+ "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9974
+ "line": 35
9975
+ },
9976
+ "name": "endpointName",
9977
+ "type": {
9978
+ "primitive": "string"
9979
+ }
9980
+ },
9981
+ {
9982
+ "abstract": true,
9983
+ "docs": {
9984
+ "custom": {
9985
+ "attribute": "true"
9986
+ },
9987
+ "stability": "experimental",
9988
+ "summary": "When the endpoint was created."
9989
+ },
9990
+ "immutable": true,
9991
+ "locationInModule": {
9992
+ "filename": "agentcore/runtime/runtime-endpoint-base.ts",
9993
+ "line": 65
9994
+ },
9995
+ "name": "createdAt",
9996
+ "optional": true,
9997
+ "type": {
9998
+ "primitive": "string"
9999
+ }
10000
+ },
10001
+ {
10002
+ "abstract": true,
10003
+ "docs": {
10004
+ "stability": "experimental",
10005
+ "summary": "The description of the runtime endpoint."
10006
+ },
10007
+ "immutable": true,
10008
+ "locationInModule": {
10009
+ "filename": "agentcore/runtime/runtime-endpoint-base.ts",
10010
+ "line": 70
10011
+ },
10012
+ "name": "description",
10013
+ "optional": true,
10014
+ "type": {
10015
+ "primitive": "string"
10016
+ }
10017
+ },
10018
+ {
10019
+ "abstract": true,
10020
+ "docs": {
10021
+ "custom": {
10022
+ "attribute": "true"
10023
+ },
10024
+ "stability": "experimental",
10025
+ "summary": "The live version of the agent runtime that is currently serving requests."
10026
+ },
10027
+ "immutable": true,
10028
+ "locationInModule": {
10029
+ "filename": "agentcore/runtime/runtime-endpoint-base.ts",
10030
+ "line": 53
10031
+ },
10032
+ "name": "liveVersion",
10033
+ "optional": true,
10034
+ "type": {
10035
+ "primitive": "string"
10036
+ }
10037
+ },
10038
+ {
10039
+ "abstract": true,
10040
+ "docs": {
10041
+ "custom": {
10042
+ "attribute": "true"
10043
+ },
10044
+ "stability": "experimental",
10045
+ "summary": "The current status of the runtime endpoint."
10046
+ },
10047
+ "immutable": true,
10048
+ "locationInModule": {
10049
+ "filename": "agentcore/runtime/runtime-endpoint-base.ts",
10050
+ "line": 47
10051
+ },
10052
+ "name": "status",
10053
+ "optional": true,
10054
+ "type": {
10055
+ "primitive": "string"
10056
+ }
10057
+ },
10058
+ {
10059
+ "abstract": true,
10060
+ "docs": {
10061
+ "custom": {
10062
+ "attribute": "true"
10063
+ },
10064
+ "stability": "experimental",
10065
+ "summary": "The target version the endpoint is transitioning to (during updates)."
10066
+ },
10067
+ "immutable": true,
10068
+ "locationInModule": {
10069
+ "filename": "agentcore/runtime/runtime-endpoint-base.ts",
10070
+ "line": 59
10071
+ },
10072
+ "name": "targetVersion",
10073
+ "optional": true,
10074
+ "type": {
10075
+ "primitive": "string"
10076
+ }
10077
+ }
10078
+ ],
10079
+ "symbolId": "agentcore/runtime/runtime-endpoint-base:IRuntimeEndpoint"
10080
+ },
10081
+ "@aws-cdk/aws-bedrock-agentcore-alpha.InvocationConfiguration": {
10082
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
10083
+ "datatype": true,
10084
+ "docs": {
10085
+ "stability": "experimental",
10086
+ "summary": "Invocation configuration for self managed memory strategy.",
10087
+ "example": "\nconst bucket = new s3.Bucket(this, 'memoryBucket', {\n bucketName: 'test-memory',\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n autoDeleteObjects: true,\n});\n\nconst topic = new sns.Topic(this, 'topic');\n\n// Create a custom semantic memory strategy\nconst selfManagedStrategy = agentcore.MemoryStrategy.usingSelfManaged({\n name: \"selfManagedStrategy\",\n description: \"self managed memory strategy\",\n historicalContextWindowSize: 5,\n invocationConfiguration: {\n topic: topic,\n s3Location: {\n bucketName: bucket.bucketName,\n objectKey: 'memory/',\n }\n },\n triggerConditions: {\n messageBasedTrigger: 1,\n timeBasedTrigger: cdk.Duration.seconds(10),\n tokenBasedTrigger: 100\n }\n});\n\n// Create memory with custom strategy\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my-custom-memory\",\n description: \"Memory with custom strategy\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [selfManagedStrategy],\n});",
10088
+ "custom": {
10089
+ "exampleMetadata": "fixture=default infused"
10090
+ }
10091
+ },
10092
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.InvocationConfiguration",
10093
+ "kind": "interface",
10094
+ "locationInModule": {
10095
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
10096
+ "line": 113
10097
+ },
10098
+ "name": "InvocationConfiguration",
10099
+ "properties": [
10100
+ {
10101
+ "abstract": true,
10102
+ "docs": {
10103
+ "stability": "experimental",
10104
+ "summary": "S3 Location Configuration."
10105
+ },
10106
+ "immutable": true,
10107
+ "locationInModule": {
10108
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
10109
+ "line": 121
10110
+ },
10111
+ "name": "s3Location",
10112
+ "type": {
10113
+ "fqn": "aws-cdk-lib.aws_s3.Location"
10114
+ }
10115
+ },
10116
+ {
10117
+ "abstract": true,
10118
+ "docs": {
10119
+ "stability": "experimental",
10120
+ "summary": "SNS Topic Configuration."
10121
+ },
10122
+ "immutable": true,
10123
+ "locationInModule": {
10124
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
10125
+ "line": 117
10126
+ },
10127
+ "name": "topic",
10128
+ "type": {
10129
+ "fqn": "aws-cdk-lib.aws_sns.ITopic"
10130
+ }
10131
+ }
10132
+ ],
10133
+ "symbolId": "agentcore/memory/strategies/self-managed-strategy:InvocationConfiguration"
10134
+ },
10135
+ "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedMemoryStrategy": {
10136
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
10137
+ "docs": {
10138
+ "remarks": "This strategy can be used for quick setup with built-in defaults or customized\nwith specific models and prompt templates.",
10139
+ "stability": "experimental",
10140
+ "summary": "Managed memory strategy that handles both built-in and override configurations.",
10141
+ "example": "// Create a custom semantic memory strategy\nconst customSemanticStrategy = agentcore.MemoryStrategy.usingSemantic({\n name: \"customSemanticStrategy\",\n description: \"Custom semantic memory strategy\",\n namespaces: [\"/custom/strategies/{memoryStrategyId}/actors/{actorId}\"],\n customConsolidation: {\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_5_SONNET_V1_0,\n appendToPrompt: \"Custom consolidation prompt for semantic memory\",\n },\n customExtraction: {\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_5_SONNET_V1_0,\n appendToPrompt: \"Custom extraction prompt for semantic memory\",\n },\n});\n\n// Create memory with custom strategy\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my-custom-memory\",\n description: \"Memory with custom strategy\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [customSemanticStrategy],\n});",
10142
+ "custom": {
10143
+ "exampleMetadata": "fixture=default infused"
10144
+ }
10145
+ },
10146
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedMemoryStrategy",
10147
+ "initializer": {
10148
+ "docs": {
10149
+ "stability": "experimental",
10150
+ "summary": "Constructor to create a new managed memory strategy."
10151
+ },
10152
+ "locationInModule": {
10153
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10154
+ "line": 122
10155
+ },
10156
+ "parameters": [
10157
+ {
10158
+ "docs": {
10159
+ "summary": "the strategy type."
10160
+ },
10161
+ "name": "strategyType",
10162
+ "type": {
10163
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyType"
10164
+ }
10165
+ },
10166
+ {
10167
+ "docs": {
10168
+ "summary": "the properties for the strategy."
10169
+ },
10170
+ "name": "props",
10171
+ "type": {
10172
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedStrategyProps"
10173
+ }
10174
+ }
10175
+ ]
10176
+ },
10177
+ "interfaces": [
10178
+ "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy"
10179
+ ],
10180
+ "kind": "class",
10181
+ "locationInModule": {
10182
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10183
+ "line": 100
10184
+ },
10185
+ "methods": [
10186
+ {
10187
+ "docs": {
10188
+ "returns": "The Grant object for chaining",
10189
+ "stability": "experimental",
10190
+ "summary": "Grants the necessary permissions to the role."
10191
+ },
10192
+ "locationInModule": {
10193
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10194
+ "line": 210
10195
+ },
10196
+ "name": "grant",
10197
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
10198
+ "parameters": [
10199
+ {
10200
+ "docs": {
10201
+ "summary": "- The grantee to grant permissions to."
10202
+ },
10203
+ "name": "grantee",
10204
+ "type": {
10205
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
10206
+ }
10207
+ }
10208
+ ],
10209
+ "returns": {
10210
+ "optional": true,
10211
+ "type": {
10212
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
10213
+ }
10214
+ }
10215
+ },
10216
+ {
10217
+ "docs": {
10218
+ "returns": "The CloudFormation property for the memory strategy.",
10219
+ "stability": "experimental",
10220
+ "summary": "Renders the network configuration as a CloudFormation property."
10221
+ },
10222
+ "locationInModule": {
10223
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10224
+ "line": 148
10225
+ },
10226
+ "name": "render",
10227
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
10228
+ "returns": {
10229
+ "type": {
10230
+ "fqn": "aws-cdk-lib.aws_bedrockagentcore.CfnMemory.MemoryStrategyProperty"
10231
+ }
10232
+ }
10233
+ }
10234
+ ],
10235
+ "name": "ManagedMemoryStrategy",
10236
+ "properties": [
10237
+ {
10238
+ "docs": {
10239
+ "stability": "experimental",
10240
+ "summary": "The name of the memory strategy."
10241
+ },
10242
+ "immutable": true,
10243
+ "locationInModule": {
10244
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10245
+ "line": 101
10246
+ },
10247
+ "name": "name",
10248
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
10249
+ "type": {
10250
+ "primitive": "string"
10251
+ }
10252
+ },
10253
+ {
10254
+ "docs": {
10255
+ "stability": "experimental",
10256
+ "summary": "The namespaces for the strategy."
10257
+ },
10258
+ "immutable": true,
10259
+ "locationInModule": {
10260
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10261
+ "line": 106
10262
+ },
10263
+ "name": "namespaces",
10264
+ "type": {
10265
+ "collection": {
10266
+ "elementtype": {
10267
+ "primitive": "string"
10268
+ },
10269
+ "kind": "array"
10270
+ }
10271
+ }
10272
+ },
10273
+ {
10274
+ "docs": {
10275
+ "stability": "experimental",
10276
+ "summary": "The type of memory strategy."
10277
+ },
10278
+ "immutable": true,
10279
+ "locationInModule": {
10280
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10281
+ "line": 115
10282
+ },
10283
+ "name": "strategyType",
10284
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
10285
+ "type": {
10286
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyType"
10287
+ }
10288
+ },
10289
+ {
10290
+ "docs": {
10291
+ "stability": "experimental",
10292
+ "summary": "The configuration for the custom consolidation."
10293
+ },
10294
+ "immutable": true,
10295
+ "locationInModule": {
10296
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10297
+ "line": 110
10298
+ },
10299
+ "name": "consolidationOverride",
10300
+ "optional": true,
10301
+ "type": {
10302
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.OverrideConfig"
10303
+ }
10304
+ },
10305
+ {
10306
+ "docs": {
10307
+ "stability": "experimental",
10308
+ "summary": "The description of the memory strategy."
10309
+ },
10310
+ "immutable": true,
10311
+ "locationInModule": {
10312
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10313
+ "line": 102
10314
+ },
10315
+ "name": "description",
10316
+ "optional": true,
10317
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
10318
+ "type": {
10319
+ "primitive": "string"
10320
+ }
10321
+ },
10322
+ {
10323
+ "docs": {
10324
+ "stability": "experimental",
10325
+ "summary": "The configuration for the custom extraction."
10326
+ },
10327
+ "immutable": true,
10328
+ "locationInModule": {
10329
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10330
+ "line": 114
10331
+ },
10332
+ "name": "extractionOverride",
10333
+ "optional": true,
10334
+ "type": {
10335
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.OverrideConfig"
10336
+ }
10337
+ }
10338
+ ],
10339
+ "symbolId": "agentcore/memory/strategies/managed-strategy:ManagedMemoryStrategy"
10340
+ },
10341
+ "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedStrategyProps": {
10342
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
10343
+ "datatype": true,
10344
+ "docs": {
10345
+ "stability": "experimental",
10346
+ "summary": "Configuration parameters for a memory strategy that can override existing built-in default prompts/models.",
10347
+ "example": "// Create memory with built-in strategies\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my_memory\",\n description: \"Memory with built-in strategies\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [\n agentcore.MemoryStrategy.usingUserPreference({\n name: \"CustomerPreferences\",\n namespaces: [\"support/customer/{actorId}/preferences\"]\n }),\n agentcore.MemoryStrategy.usingSemantic({\n name: \"CustomerSupportSemantic\",\n namespaces: [\"support/customer/{actorId}/semantic\"]\n }),\n ],\n});",
10348
+ "custom": {
10349
+ "exampleMetadata": "fixture=default infused"
10350
+ }
10351
+ },
10352
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedStrategyProps",
10353
+ "interfaces": [
10354
+ "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyCommonProps"
10355
+ ],
10356
+ "kind": "interface",
10357
+ "locationInModule": {
10358
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10359
+ "line": 59
10360
+ },
10361
+ "name": "ManagedStrategyProps",
10362
+ "properties": [
10363
+ {
10364
+ "abstract": true,
10365
+ "docs": {
10366
+ "remarks": "Use a hierarchical format separated by forward slashes (/) to organize namespaces logically.\nYou can include these defined variables:\n\n- {sessionId} - the user identifier to be created in the CreateEvent API\n- {memoryStrategyId} - an identifier for an extraction strategy\n- {sessionId} - an identifier for each session\n\nExample namespace path:\n/strategies/{memoryStrategyId}/actions/{actionId}/sessions/{sessionId}\n\nAfter memory creation, this namespace might look like:\n/actor/actor-3afc5aa8fef9/strategy/summarization-fy5c5fwc7/session/session-qj7tpd1kvr8",
10367
+ "stability": "experimental",
10368
+ "summary": "The namespaces for the strategy Represents a namespace for organizing memory data Use a hierarchical format separated by forward slashes (/)."
10369
+ },
10370
+ "immutable": true,
10371
+ "locationInModule": {
10372
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10373
+ "line": 92
10374
+ },
10375
+ "name": "namespaces",
10376
+ "type": {
10377
+ "collection": {
10378
+ "elementtype": {
10379
+ "primitive": "string"
10380
+ },
10381
+ "kind": "array"
10382
+ }
10383
+ }
10384
+ },
10385
+ {
10386
+ "abstract": true,
10387
+ "docs": {
10388
+ "default": "- No custom extraction",
10389
+ "remarks": "This configuration provides customization to how the model identifies\nand extracts relevant information for memory storage.",
10390
+ "stability": "experimental",
10391
+ "summary": "The configuration for the custom consolidation."
10392
+ },
10393
+ "immutable": true,
10394
+ "locationInModule": {
10395
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10396
+ "line": 73
10397
+ },
10398
+ "name": "customConsolidation",
10399
+ "optional": true,
10400
+ "type": {
10401
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.OverrideConfig"
10402
+ }
10403
+ },
10404
+ {
10405
+ "abstract": true,
10406
+ "docs": {
10407
+ "default": "- No custom extraction",
10408
+ "remarks": "This configuration provides customization to how the model identifies\nand extracts relevant information for memory storage.",
10409
+ "stability": "experimental",
10410
+ "summary": "The configuration for the custom extraction."
10411
+ },
10412
+ "immutable": true,
10413
+ "locationInModule": {
10414
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
10415
+ "line": 66
10416
+ },
10417
+ "name": "customExtraction",
10418
+ "optional": true,
10419
+ "type": {
10420
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.OverrideConfig"
10421
+ }
10422
+ }
10423
+ ],
10424
+ "symbolId": "agentcore/memory/strategies/managed-strategy:ManagedStrategyProps"
10425
+ },
10426
+ "@aws-cdk/aws-bedrock-agentcore-alpha.Memory": {
10427
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
10428
+ "base": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10429
+ "docs": {
10430
+ "custom": {
10431
+ "resource": "AWS::BedrockAgentCore::Memory",
10432
+ "exampleMetadata": "fixture=default infused"
10433
+ },
10434
+ "remarks": "Enables knowledge retention across sessions by storing user preferences (e.g. coding style),\nsemantic facts (e.g. learned info) and interaction summaries for context optimization.",
10435
+ "see": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory.html",
10436
+ "stability": "experimental",
10437
+ "summary": "Long-term memory store for extracted insights like user preferences, semantic facts and summaries.",
10438
+ "example": "// Create a custom execution role\nconst executionRole = new iam.Role(this, \"MemoryExecutionRole\", {\n assumedBy: new iam.ServicePrincipal(\"bedrock-agentcore.amazonaws.com\"),\n managedPolicies: [\n iam.ManagedPolicy.fromAwsManagedPolicyName(\n \"AmazonBedrockAgentCoreMemoryBedrockModelInferenceExecutionRolePolicy\"\n ),\n ],\n});\n\n// Create memory with custom execution role\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my_memory\",\n description: \"Memory with custom execution role\",\n expirationDuration: cdk.Duration.days(90),\n executionRole: executionRole,\n});"
10439
+ },
10440
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.Memory",
10441
+ "initializer": {
10442
+ "docs": {
10443
+ "stability": "experimental"
10444
+ },
10445
+ "locationInModule": {
10446
+ "filename": "agentcore/memory/memory.ts",
10447
+ "line": 652
10448
+ },
10449
+ "parameters": [
10450
+ {
10451
+ "name": "scope",
10452
+ "type": {
10453
+ "fqn": "constructs.Construct"
10454
+ }
10455
+ },
10456
+ {
10457
+ "name": "id",
10458
+ "type": {
10459
+ "primitive": "string"
10460
+ }
10461
+ },
10462
+ {
10463
+ "name": "props",
10464
+ "type": {
10465
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryProps"
10466
+ }
10467
+ }
10468
+ ]
10469
+ },
10470
+ "kind": "class",
10471
+ "locationInModule": {
10472
+ "filename": "agentcore/memory/memory.ts",
10473
+ "line": 540
10474
+ },
10475
+ "methods": [
10476
+ {
10477
+ "docs": {
10478
+ "returns": "An IBrowserCustom reference to the existing browser",
10479
+ "stability": "experimental",
10480
+ "summary": "Creates an Memory reference from an existing memory's attributes."
10481
+ },
10482
+ "locationInModule": {
10483
+ "filename": "agentcore/memory/memory.ts",
10484
+ "line": 556
10485
+ },
10486
+ "name": "fromMemoryAttributes",
10487
+ "parameters": [
10488
+ {
10489
+ "docs": {
10490
+ "summary": "- The construct scope."
10491
+ },
10492
+ "name": "scope",
10493
+ "type": {
10494
+ "fqn": "constructs.Construct"
10495
+ }
10496
+ },
10497
+ {
10498
+ "docs": {
10499
+ "summary": "- Identifier of the construct."
10500
+ },
10501
+ "name": "id",
10502
+ "type": {
10503
+ "primitive": "string"
10504
+ }
10505
+ },
10506
+ {
10507
+ "docs": {
10508
+ "summary": "- Attributes of the existing browser custom."
10509
+ },
10510
+ "name": "attrs",
10511
+ "type": {
10512
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryAttributes"
10513
+ }
10514
+ }
10515
+ ],
10516
+ "returns": {
10517
+ "type": {
10518
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory"
10519
+ }
10520
+ },
10521
+ "static": true
10522
+ },
10523
+ {
10524
+ "docs": {
10525
+ "default": "- No memory strategies.",
10526
+ "stability": "experimental",
10527
+ "summary": "Add memory strategy to the memory."
10528
+ },
10529
+ "locationInModule": {
10530
+ "filename": "agentcore/memory/memory.ts",
10531
+ "line": 734
10532
+ },
10533
+ "name": "addMemoryStrategy",
10534
+ "parameters": [
10535
+ {
10536
+ "name": "memoryStrategy",
10537
+ "type": {
10538
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy"
10539
+ }
10540
+ }
10541
+ ]
10542
+ }
10543
+ ],
10544
+ "name": "Memory",
10545
+ "properties": [
10546
+ {
10547
+ "const": true,
10548
+ "docs": {
10549
+ "stability": "experimental",
10550
+ "summary": "Uniquely identifies this class."
10551
+ },
10552
+ "immutable": true,
10553
+ "locationInModule": {
10554
+ "filename": "agentcore/memory/memory.ts",
10555
+ "line": 543
10556
+ },
10557
+ "name": "PROPERTY_INJECTION_ID",
10558
+ "static": true,
10559
+ "type": {
10560
+ "primitive": "string"
10561
+ }
10562
+ },
10563
+ {
10564
+ "docs": {
10565
+ "stability": "experimental",
10566
+ "summary": "The principal to grant permissions to."
10567
+ },
10568
+ "immutable": true,
10569
+ "locationInModule": {
10570
+ "filename": "agentcore/memory/memory.ts",
10571
+ "line": 634
10572
+ },
10573
+ "name": "grantPrincipal",
10574
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10575
+ "type": {
10576
+ "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
10577
+ }
10578
+ },
10579
+ {
10580
+ "docs": {
10581
+ "custom": {
10582
+ "attribute": "true"
10583
+ },
10584
+ "stability": "experimental",
10585
+ "summary": "The ARN of the memory resource."
10586
+ },
10587
+ "immutable": true,
10588
+ "locationInModule": {
10589
+ "filename": "agentcore/memory/memory.ts",
10590
+ "line": 585
10591
+ },
10592
+ "name": "memoryArn",
10593
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10594
+ "type": {
10595
+ "primitive": "string"
10596
+ }
10597
+ },
10598
+ {
10599
+ "docs": {
10600
+ "custom": {
10601
+ "attribute": "true"
10602
+ },
10603
+ "stability": "experimental",
10604
+ "summary": "The id of the memory."
10605
+ },
10606
+ "immutable": true,
10607
+ "locationInModule": {
10608
+ "filename": "agentcore/memory/memory.ts",
10609
+ "line": 595
10610
+ },
10611
+ "name": "memoryId",
10612
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10613
+ "type": {
10614
+ "primitive": "string"
10615
+ }
10616
+ },
10617
+ {
10618
+ "docs": {
10619
+ "custom": {
10620
+ "attribute": "true"
10621
+ },
10622
+ "stability": "experimental",
10623
+ "summary": "The name of the memory."
10624
+ },
10625
+ "immutable": true,
10626
+ "locationInModule": {
10627
+ "filename": "agentcore/memory/memory.ts",
10628
+ "line": 590
10629
+ },
10630
+ "name": "memoryName",
10631
+ "type": {
10632
+ "primitive": "string"
10633
+ }
10634
+ },
10635
+ {
10636
+ "docs": {
10637
+ "custom": {
10638
+ "attribute": "true"
10639
+ },
10640
+ "stability": "experimental",
10641
+ "summary": "The memory strategies used by the memory."
10642
+ },
10643
+ "immutable": true,
10644
+ "locationInModule": {
10645
+ "filename": "agentcore/memory/memory.ts",
10646
+ "line": 643
10647
+ },
10648
+ "name": "memoryStrategies",
10649
+ "type": {
10650
+ "collection": {
10651
+ "elementtype": {
10652
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy"
10653
+ },
10654
+ "kind": "array"
10655
+ }
10656
+ }
10657
+ },
10658
+ {
10659
+ "docs": {
10660
+ "stability": "experimental",
10661
+ "summary": "The created timestamp of the memory."
10662
+ },
10663
+ "immutable": true,
10664
+ "locationInModule": {
10665
+ "filename": "agentcore/memory/memory.ts",
10666
+ "line": 620
10667
+ },
10668
+ "name": "createdAt",
10669
+ "optional": true,
10670
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10671
+ "type": {
10672
+ "primitive": "string"
10673
+ }
10674
+ },
10675
+ {
10676
+ "docs": {
10677
+ "stability": "experimental",
10678
+ "summary": "The description of the memory."
10679
+ },
10680
+ "immutable": true,
10681
+ "locationInModule": {
10682
+ "filename": "agentcore/memory/memory.ts",
10683
+ "line": 608
10684
+ },
10685
+ "name": "description",
10686
+ "optional": true,
10687
+ "type": {
10688
+ "primitive": "string"
10689
+ }
10690
+ },
10691
+ {
10692
+ "docs": {
10693
+ "stability": "experimental",
10694
+ "summary": "The execution role of the memory."
10695
+ },
10696
+ "immutable": true,
10697
+ "locationInModule": {
10698
+ "filename": "agentcore/memory/memory.ts",
10699
+ "line": 612
10700
+ },
10701
+ "name": "executionRole",
10702
+ "optional": true,
10703
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10704
+ "type": {
10705
+ "fqn": "aws-cdk-lib.aws_iam.IRole"
10706
+ }
10707
+ },
10708
+ {
10709
+ "docs": {
10710
+ "stability": "experimental",
10711
+ "summary": "The expiration days of the memory."
10712
+ },
10713
+ "immutable": true,
10714
+ "locationInModule": {
10715
+ "filename": "agentcore/memory/memory.ts",
10716
+ "line": 599
10717
+ },
10718
+ "name": "expirationDuration",
10719
+ "optional": true,
10720
+ "type": {
10721
+ "fqn": "aws-cdk-lib.Duration"
10722
+ }
10723
+ },
10724
+ {
10725
+ "docs": {
10726
+ "custom": {
10727
+ "attribute": "true"
10728
+ },
10729
+ "stability": "experimental",
10730
+ "summary": "The failure reason of the browser."
10731
+ },
10732
+ "immutable": true,
10733
+ "locationInModule": {
10734
+ "filename": "agentcore/memory/memory.ts",
10735
+ "line": 604
10736
+ },
10737
+ "name": "failureReason",
10738
+ "optional": true,
10739
+ "type": {
10740
+ "primitive": "string"
10741
+ }
10742
+ },
10743
+ {
10744
+ "docs": {
10745
+ "stability": "experimental",
10746
+ "summary": "The KMS key used to encrypt the memory."
10747
+ },
10748
+ "immutable": true,
10749
+ "locationInModule": {
10750
+ "filename": "agentcore/memory/memory.ts",
10751
+ "line": 638
10752
+ },
10753
+ "name": "kmsKey",
10754
+ "optional": true,
10755
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10756
+ "type": {
10757
+ "fqn": "aws-cdk-lib.aws_kms.IKey"
10758
+ }
10759
+ },
10760
+ {
10761
+ "docs": {
10762
+ "stability": "experimental",
10763
+ "summary": "The status of the memory."
10764
+ },
10765
+ "immutable": true,
10766
+ "locationInModule": {
10767
+ "filename": "agentcore/memory/memory.ts",
10768
+ "line": 616
10769
+ },
10770
+ "name": "status",
10771
+ "optional": true,
10772
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10773
+ "type": {
10774
+ "primitive": "string"
10775
+ }
10776
+ },
10777
+ {
10778
+ "docs": {
10779
+ "default": "- No tags applied",
10780
+ "stability": "experimental",
10781
+ "summary": "Tags applied to this browser resource A map of key-value pairs for resource tagging."
10782
+ },
10783
+ "immutable": true,
10784
+ "locationInModule": {
10785
+ "filename": "agentcore/memory/memory.ts",
10786
+ "line": 630
10787
+ },
10788
+ "name": "tags",
10789
+ "optional": true,
10790
+ "type": {
10791
+ "collection": {
10792
+ "elementtype": {
10793
+ "primitive": "string"
10794
+ },
10795
+ "kind": "map"
10796
+ }
10797
+ }
10798
+ },
10799
+ {
10800
+ "docs": {
10801
+ "stability": "experimental",
10802
+ "summary": "The updated at timestamp of the memory."
10803
+ },
10804
+ "immutable": true,
10805
+ "locationInModule": {
10806
+ "filename": "agentcore/memory/memory.ts",
10807
+ "line": 624
10808
+ },
10809
+ "name": "updatedAt",
10810
+ "optional": true,
10811
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10812
+ "type": {
10813
+ "primitive": "string"
10814
+ }
10815
+ }
10816
+ ],
10817
+ "symbolId": "agentcore/memory/memory:Memory"
10818
+ },
10819
+ "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryAttributes": {
10820
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
10821
+ "datatype": true,
10822
+ "docs": {
10823
+ "stability": "experimental",
10824
+ "summary": "Attributes for specifying an imported Memory.",
10825
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as bedrock_agentcore_alpha from '@aws-cdk/aws-bedrock-agentcore-alpha';\nconst memoryAttributes: bedrock_agentcore_alpha.MemoryAttributes = {\n memoryArn: 'memoryArn',\n roleArn: 'roleArn',\n\n // the properties below are optional\n createdAt: 'createdAt',\n kmsKeyArn: 'kmsKeyArn',\n status: 'status',\n updatedAt: 'updatedAt',\n};",
10826
+ "custom": {
10827
+ "exampleMetadata": "fixture=_generated"
10828
+ }
10829
+ },
10830
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryAttributes",
10831
+ "kind": "interface",
10832
+ "locationInModule": {
10833
+ "filename": "agentcore/memory/memory.ts",
10834
+ "line": 496
10835
+ },
10836
+ "name": "MemoryAttributes",
10837
+ "properties": [
10838
+ {
10839
+ "abstract": true,
10840
+ "docs": {
10841
+ "custom": {
10842
+ "attribute": "true"
10843
+ },
10844
+ "stability": "experimental",
10845
+ "summary": "The ARN of the memory."
10846
+ },
10847
+ "immutable": true,
10848
+ "locationInModule": {
10849
+ "filename": "agentcore/memory/memory.ts",
10850
+ "line": 501
10851
+ },
10852
+ "name": "memoryArn",
10853
+ "type": {
10854
+ "primitive": "string"
10855
+ }
10856
+ },
10857
+ {
10858
+ "abstract": true,
10859
+ "docs": {
10860
+ "custom": {
10861
+ "attribute": "true"
10862
+ },
10863
+ "stability": "experimental",
10864
+ "summary": "The ARN of the IAM role associated to the memory."
10865
+ },
10866
+ "immutable": true,
10867
+ "locationInModule": {
10868
+ "filename": "agentcore/memory/memory.ts",
10869
+ "line": 506
10870
+ },
10871
+ "name": "roleArn",
10872
+ "type": {
10873
+ "primitive": "string"
10874
+ }
10875
+ },
10876
+ {
10877
+ "abstract": true,
10878
+ "docs": {
10879
+ "default": "undefined - No created timestamp is provided",
10880
+ "stability": "experimental",
10881
+ "summary": "The created timestamp of the memory."
10882
+ },
10883
+ "immutable": true,
10884
+ "locationInModule": {
10885
+ "filename": "agentcore/memory/memory.ts",
10886
+ "line": 526
10887
+ },
10888
+ "name": "createdAt",
10889
+ "optional": true,
10890
+ "type": {
10891
+ "primitive": "string"
10892
+ }
10893
+ },
10894
+ {
10895
+ "abstract": true,
10896
+ "docs": {
10897
+ "default": "undefined - An AWS managed key is used",
10898
+ "stability": "experimental",
10899
+ "summary": "Optional KMS encryption key associated with this memory."
10900
+ },
10901
+ "immutable": true,
10902
+ "locationInModule": {
10903
+ "filename": "agentcore/memory/memory.ts",
10904
+ "line": 516
10905
+ },
10906
+ "name": "kmsKeyArn",
10907
+ "optional": true,
10908
+ "type": {
10909
+ "primitive": "string"
10910
+ }
10911
+ },
10912
+ {
10913
+ "abstract": true,
10914
+ "docs": {
10915
+ "default": "undefined - No status is provided",
10916
+ "stability": "experimental",
10917
+ "summary": "The status of the memory."
10918
+ },
10919
+ "immutable": true,
10920
+ "locationInModule": {
10921
+ "filename": "agentcore/memory/memory.ts",
10922
+ "line": 521
10923
+ },
10924
+ "name": "status",
10925
+ "optional": true,
10926
+ "type": {
10927
+ "primitive": "string"
10928
+ }
10929
+ },
10930
+ {
10931
+ "abstract": true,
10932
+ "docs": {
10933
+ "default": "undefined - No last updated timestamp is provided",
10934
+ "stability": "experimental",
10935
+ "summary": "When this memory was last updated."
10936
+ },
10937
+ "immutable": true,
10938
+ "locationInModule": {
10939
+ "filename": "agentcore/memory/memory.ts",
10940
+ "line": 511
10941
+ },
10942
+ "name": "updatedAt",
10943
+ "optional": true,
10944
+ "type": {
10945
+ "primitive": "string"
10946
+ }
10947
+ }
10948
+ ],
10949
+ "symbolId": "agentcore/memory/memory:MemoryAttributes"
10950
+ },
10951
+ "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase": {
10952
+ "abstract": true,
10953
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
10954
+ "base": "aws-cdk-lib.Resource",
10955
+ "docs": {
10956
+ "remarks": "Contains methods and attributes valid for Memories either created with CDK or imported.",
10957
+ "stability": "experimental",
10958
+ "summary": "Abstract base class for a Memory."
10959
+ },
10960
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase",
10961
+ "initializer": {
10962
+ "docs": {
10963
+ "stability": "experimental"
10964
+ },
10965
+ "locationInModule": {
10966
+ "filename": "agentcore/memory/memory.ts",
10967
+ "line": 203
10968
+ },
10969
+ "parameters": [
10970
+ {
10971
+ "name": "scope",
10972
+ "type": {
10973
+ "fqn": "constructs.Construct"
10974
+ }
10975
+ },
10976
+ {
10977
+ "name": "id",
10978
+ "type": {
10979
+ "primitive": "string"
10980
+ }
10981
+ }
10982
+ ]
10983
+ },
10984
+ "interfaces": [
10985
+ "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory"
10986
+ ],
10987
+ "kind": "class",
10988
+ "locationInModule": {
10989
+ "filename": "agentcore/memory/memory.ts",
10990
+ "line": 190
10991
+ },
10992
+ "methods": [
10993
+ {
10994
+ "docs": {
10995
+ "returns": "An IAM Grant object representing the granted permissions",
10996
+ "stability": "experimental",
10997
+ "summary": "Grants IAM actions to the IAM Principal."
10998
+ },
10999
+ "locationInModule": {
11000
+ "filename": "agentcore/memory/memory.ts",
11001
+ "line": 212
11002
+ },
11003
+ "name": "grant",
11004
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11005
+ "parameters": [
11006
+ {
11007
+ "docs": {
11008
+ "summary": "- The IAM principal to grant permissions to."
11009
+ },
11010
+ "name": "grantee",
11011
+ "type": {
11012
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11013
+ }
11014
+ },
11015
+ {
11016
+ "docs": {
11017
+ "summary": "- The actions to grant."
11018
+ },
11019
+ "name": "actions",
11020
+ "type": {
11021
+ "primitive": "string"
11022
+ },
11023
+ "variadic": true
11024
+ }
11025
+ ],
11026
+ "returns": {
11027
+ "type": {
11028
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11029
+ }
11030
+ },
11031
+ "variadic": true
11032
+ },
11033
+ {
11034
+ "docs": {
11035
+ "default": "- Default grant configuration:\n- actions: ['bedrock-agentcore:CreateMemory',\n'bedrock-agentcore:GetMemory',\n'bedrock-agentcore:DeleteMemory',\n'bedrock-agentcore:UpdateMemory'] on this.memoryArn",
11036
+ "returns": "An IAM Grant object representing the granted permissions",
11037
+ "stability": "experimental",
11038
+ "summary": "Grant the given principal identity permissions to manage the control plane of this memory."
11039
+ },
11040
+ "locationInModule": {
11041
+ "filename": "agentcore/memory/memory.ts",
11042
+ "line": 323
11043
+ },
11044
+ "name": "grantAdmin",
11045
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11046
+ "parameters": [
11047
+ {
11048
+ "docs": {
11049
+ "summary": "- The IAM principal to grant admin permissions to."
11050
+ },
11051
+ "name": "grantee",
11052
+ "type": {
11053
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11054
+ }
11055
+ }
11056
+ ],
11057
+ "returns": {
11058
+ "type": {
11059
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11060
+ }
11061
+ }
11062
+ },
11063
+ {
11064
+ "docs": {
11065
+ "default": "- Default grant configuration:\n- actions: ['bedrock-agentcore:DeleteEvent',\n'bedrock-agentcore:DeleteMemoryRecord'] on this.memoryArn",
11066
+ "remarks": "Both Short-Term Memory (STM) and Long-Term Memory (LTM).",
11067
+ "returns": "An IAM Grant object representing the granted permissions",
11068
+ "stability": "experimental",
11069
+ "summary": "Grant the given principal identity permissions to delete content on this memory."
11070
+ },
11071
+ "locationInModule": {
11072
+ "filename": "agentcore/memory/memory.ts",
11073
+ "line": 287
11074
+ },
11075
+ "name": "grantDelete",
11076
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11077
+ "parameters": [
11078
+ {
11079
+ "docs": {
11080
+ "summary": "- The IAM principal to grant delete permissions to."
11081
+ },
11082
+ "name": "grantee",
11083
+ "type": {
11084
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11085
+ }
11086
+ }
11087
+ ],
11088
+ "returns": {
11089
+ "type": {
11090
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11091
+ }
11092
+ }
11093
+ },
11094
+ {
11095
+ "docs": {
11096
+ "default": "- Default grant configuration:\n- actions: ['bedrock-agentcore:DeleteMemoryRecord'] on this.memoryArn",
11097
+ "returns": "An IAM Grant object representing the granted permissions",
11098
+ "stability": "experimental",
11099
+ "summary": "Grant the given principal identity permissions to delete Long-Term Memory (LTM) content on this memory."
11100
+ },
11101
+ "locationInModule": {
11102
+ "filename": "agentcore/memory/memory.ts",
11103
+ "line": 309
11104
+ },
11105
+ "name": "grantDeleteLongTermMemory",
11106
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11107
+ "parameters": [
11108
+ {
11109
+ "docs": {
11110
+ "summary": "- The IAM principal to grant delete permissions to."
11111
+ },
11112
+ "name": "grantee",
11113
+ "type": {
11114
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11115
+ }
11116
+ }
11117
+ ],
11118
+ "returns": {
11119
+ "type": {
11120
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11121
+ }
11122
+ }
11123
+ },
11124
+ {
11125
+ "docs": {
11126
+ "default": "- Default grant configuration:\n- actions: ['bedrock-agentcore:DeleteEvent'] on this.memoryArn",
11127
+ "returns": "An IAM Grant object representing the granted permissions",
11128
+ "stability": "experimental",
11129
+ "summary": "Grant the given principal identity permissions to delete Short-Term Memory (STM) content on this memory."
11130
+ },
11131
+ "locationInModule": {
11132
+ "filename": "agentcore/memory/memory.ts",
11133
+ "line": 298
11134
+ },
11135
+ "name": "grantDeleteShortTermMemory",
11136
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11137
+ "parameters": [
11138
+ {
11139
+ "docs": {
11140
+ "summary": "- The IAM principal to grant delete permissions to."
11141
+ },
11142
+ "name": "grantee",
11143
+ "type": {
11144
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11145
+ }
11146
+ }
11147
+ ],
11148
+ "returns": {
11149
+ "type": {
11150
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11151
+ }
11152
+ }
11153
+ },
11154
+ {
11155
+ "docs": {
11156
+ "default": "- Default grant configuration:\n- actions: ['bedrock-agentcore:CreateEvent',\n'bedrock-agentcore:GetEvent',\n'bedrock-agentcore:DeleteEvent',\n'bedrock-agentcore:GetMemoryRecord',\n'bedrock-agentcore:RetrieveMemoryRecords',\n'bedrock-agentcore:ListMemoryRecords',\n'bedrock-agentcore:ListActors',\n'bedrock-agentcore:ListSessions',\n'bedrock-agentcore:CreateMemory',\n'bedrock-agentcore:GetMemory',\n'bedrock-agentcore:DeleteMemory',\n'bedrock-agentcore:UpdateMemory'] on this.memoryArn",
11157
+ "returns": "An IAM Grant object representing the granted permissions",
11158
+ "stability": "experimental",
11159
+ "summary": "Grant the given principal identity permissions to do every action on this memory."
11160
+ },
11161
+ "locationInModule": {
11162
+ "filename": "agentcore/memory/memory.ts",
11163
+ "line": 345
11164
+ },
11165
+ "name": "grantFullAccess",
11166
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11167
+ "parameters": [
11168
+ {
11169
+ "docs": {
11170
+ "summary": "- The IAM principal to grant full access permissions to."
11171
+ },
11172
+ "name": "grantee",
11173
+ "type": {
11174
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11175
+ }
11176
+ }
11177
+ ],
11178
+ "returns": {
11179
+ "type": {
11180
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11181
+ }
11182
+ }
11183
+ },
11184
+ {
11185
+ "docs": {
11186
+ "default": "- Default grant configuration:\n- actions: ['bedrock-agentcore:GetMemoryRecord',\n'bedrock-agentcore:RetrieveMemoryRecords',\n'bedrock-agentcore:ListMemoryRecords',\n'bedrock-agentcore:ListActors',\n'bedrock-agentcore:ListSessions] on this.memoryArn",
11187
+ "remarks": "Both Short-Term Memory (STM) and Long-Term Memory (LTM).",
11188
+ "returns": "An IAM Grant object representing the granted permissions",
11189
+ "stability": "experimental",
11190
+ "summary": "Grant the given principal identity permissions to read the contents of this memory."
11191
+ },
11192
+ "locationInModule": {
11193
+ "filename": "agentcore/memory/memory.ts",
11194
+ "line": 244
11195
+ },
11196
+ "name": "grantRead",
11197
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11198
+ "parameters": [
11199
+ {
11200
+ "docs": {
11201
+ "summary": "- The IAM principal to grant read permissions to."
11202
+ },
11203
+ "name": "grantee",
11204
+ "type": {
11205
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11206
+ }
11207
+ }
11208
+ ],
11209
+ "returns": {
11210
+ "type": {
11211
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11212
+ }
11213
+ }
11214
+ },
11215
+ {
11216
+ "docs": {
11217
+ "default": "- Default grant configuration:\n- actions: ['bedrock-agentcore:GetMemoryRecord',\n'bedrock-agentcore:RetrieveMemoryRecords',\n'bedrock-agentcore:ListMemoryRecords',\n'bedrock-agentcore:ListActors',\n'bedrock-agentcore:ListSessions',] on this.memoryArn",
11218
+ "returns": "An IAM Grant object representing the granted permissions",
11219
+ "stability": "experimental",
11220
+ "summary": "Grant the given principal identity permissions to read the Long-Term Memory (LTM) contents of this memory."
11221
+ },
11222
+ "locationInModule": {
11223
+ "filename": "agentcore/memory/memory.ts",
11224
+ "line": 273
11225
+ },
11226
+ "name": "grantReadLongTermMemory",
11227
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11228
+ "parameters": [
11229
+ {
11230
+ "docs": {
11231
+ "summary": "- The IAM principal to grant read permissions to."
11232
+ },
11233
+ "name": "grantee",
11234
+ "type": {
11235
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11236
+ }
11237
+ }
11238
+ ],
11239
+ "returns": {
11240
+ "type": {
11241
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11242
+ }
11243
+ }
11244
+ },
11245
+ {
11246
+ "docs": {
11247
+ "default": "- Default grant configuration:\n- actions: ['bedrock-agentcore:GetEvent',\n'bedrock-agentcore:ListEvents',\n'bedrock-agentcore:ListActors',\n'bedrock-agentcore:ListSessions',] on this.memoryArn",
11248
+ "returns": "An IAM Grant object representing the granted permissions",
11249
+ "stability": "experimental",
11250
+ "summary": "Grant the given principal identity permissions to read the Short-Term Memory (STM) contents of this memory."
11251
+ },
11252
+ "locationInModule": {
11253
+ "filename": "agentcore/memory/memory.ts",
11254
+ "line": 258
11255
+ },
11256
+ "name": "grantReadShortTermMemory",
11257
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11258
+ "parameters": [
11259
+ {
11260
+ "docs": {
11261
+ "summary": "- The IAM principal to grant read permissions to."
11262
+ },
11263
+ "name": "grantee",
11264
+ "type": {
11265
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11266
+ }
11267
+ }
11268
+ ],
11269
+ "returns": {
11270
+ "type": {
11271
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11272
+ }
11273
+ }
11274
+ },
11275
+ {
11276
+ "docs": {
11277
+ "default": "- Default grant configuration:\n- actions: ['bedrock-agentcore:CreateEvent'] on this.memoryArn",
11278
+ "returns": "An IAM Grant object representing the granted permissions",
11279
+ "stability": "experimental",
11280
+ "summary": "Grant the given principal identity permissions to write content to short-term memory."
11281
+ },
11282
+ "locationInModule": {
11283
+ "filename": "agentcore/memory/memory.ts",
11284
+ "line": 228
11285
+ },
11286
+ "name": "grantWrite",
11287
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11288
+ "parameters": [
11289
+ {
11290
+ "docs": {
11291
+ "summary": "- The IAM principal to grant read permissions to."
11292
+ },
11293
+ "name": "grantee",
11294
+ "type": {
11295
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
11296
+ }
11297
+ }
11298
+ ],
11299
+ "returns": {
11300
+ "type": {
11301
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
11302
+ }
11303
+ }
11304
+ },
11305
+ {
11306
+ "docs": {
11307
+ "remarks": "By default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.",
11308
+ "stability": "experimental",
11309
+ "summary": "Return the given named metric for this memory."
11310
+ },
11311
+ "locationInModule": {
11312
+ "filename": "agentcore/memory/memory.ts",
11313
+ "line": 358
11314
+ },
11315
+ "name": "metric",
11316
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11317
+ "parameters": [
11318
+ {
11319
+ "name": "metricName",
11320
+ "type": {
11321
+ "primitive": "string"
11322
+ }
11323
+ },
11324
+ {
11325
+ "name": "dimensions",
11326
+ "type": {
11327
+ "collection": {
11328
+ "elementtype": {
11329
+ "primitive": "string"
11330
+ },
11331
+ "kind": "map"
11332
+ }
11333
+ }
11334
+ },
11335
+ {
11336
+ "name": "props",
11337
+ "optional": true,
11338
+ "type": {
11339
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
11340
+ }
11341
+ }
11342
+ ],
11343
+ "returns": {
11344
+ "type": {
11345
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
11346
+ }
11347
+ }
11348
+ },
11349
+ {
11350
+ "docs": {
11351
+ "stability": "experimental",
11352
+ "summary": "Return a metric containing the number of errors for a specific API operation performed on this memory."
11353
+ },
11354
+ "locationInModule": {
11355
+ "filename": "agentcore/memory/memory.ts",
11356
+ "line": 403
11357
+ },
11358
+ "name": "metricErrorsForApiOperation",
11359
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11360
+ "parameters": [
11361
+ {
11362
+ "name": "operation",
11363
+ "type": {
11364
+ "primitive": "string"
11365
+ }
11366
+ },
11367
+ {
11368
+ "name": "props",
11369
+ "optional": true,
11370
+ "type": {
11371
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
11372
+ }
11373
+ }
11374
+ ],
11375
+ "returns": {
11376
+ "type": {
11377
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
11378
+ }
11379
+ }
11380
+ },
11381
+ {
11382
+ "docs": {
11383
+ "stability": "experimental",
11384
+ "summary": "Returns the metric containing the number of short-term memory events."
11385
+ },
11386
+ "locationInModule": {
11387
+ "filename": "agentcore/memory/memory.ts",
11388
+ "line": 409
11389
+ },
11390
+ "name": "metricEventCreationCount",
11391
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11392
+ "parameters": [
11393
+ {
11394
+ "name": "props",
11395
+ "optional": true,
11396
+ "type": {
11397
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
11398
+ }
11399
+ }
11400
+ ],
11401
+ "returns": {
11402
+ "type": {
11403
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
11404
+ }
11405
+ }
11406
+ },
11407
+ {
11408
+ "docs": {
11409
+ "stability": "experimental",
11410
+ "summary": "Return the given named metric related to the API operation performed on this memory."
11411
+ },
11412
+ "locationInModule": {
11413
+ "filename": "agentcore/memory/memory.ts",
11414
+ "line": 370
11415
+ },
11416
+ "name": "metricForApiOperation",
11417
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11418
+ "parameters": [
11419
+ {
11420
+ "name": "metricName",
11421
+ "type": {
11422
+ "primitive": "string"
11423
+ }
11424
+ },
11425
+ {
11426
+ "name": "operation",
11427
+ "type": {
11428
+ "primitive": "string"
11429
+ }
11430
+ },
11431
+ {
11432
+ "name": "props",
11433
+ "optional": true,
11434
+ "type": {
11435
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
11436
+ }
11437
+ }
11438
+ ],
11439
+ "returns": {
11440
+ "type": {
11441
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
11442
+ }
11443
+ }
11444
+ },
11445
+ {
11446
+ "docs": {
11447
+ "stability": "experimental",
11448
+ "summary": "Return a metric containing the total number of API requests made for a specific memory operation like `CreateEvent`, `ListEvents`, `RetrieveMemoryRecords` ..."
11449
+ },
11450
+ "locationInModule": {
11451
+ "filename": "agentcore/memory/memory.ts",
11452
+ "line": 394
11453
+ },
11454
+ "name": "metricInvocationsForApiOperation",
11455
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11456
+ "parameters": [
11457
+ {
11458
+ "name": "operation",
11459
+ "type": {
11460
+ "primitive": "string"
11461
+ }
11462
+ },
11463
+ {
11464
+ "name": "props",
11465
+ "optional": true,
11466
+ "type": {
11467
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
11468
+ }
11469
+ }
11470
+ ],
11471
+ "returns": {
11472
+ "type": {
11473
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
11474
+ }
11475
+ }
11476
+ },
11477
+ {
11478
+ "docs": {
11479
+ "remarks": "The latency metric represents the total time elapsed between receiving the request and sending\nthe final response token, measuring complete end-to-end processing time.\n\nFor memory creation events specifically, this measures the time from the last CreateEvent\nthat met strategy criteria until memory storage is completed.",
11480
+ "stability": "experimental",
11481
+ "summary": "Return a metric measuring the latency of a specific API operation performed on this memory."
11482
+ },
11483
+ "locationInModule": {
11484
+ "filename": "agentcore/memory/memory.ts",
11485
+ "line": 387
11486
+ },
11487
+ "name": "metricLatencyForApiOperation",
11488
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11489
+ "parameters": [
11490
+ {
11491
+ "name": "operation",
11492
+ "type": {
11493
+ "primitive": "string"
11494
+ }
11495
+ },
11496
+ {
11497
+ "name": "props",
11498
+ "optional": true,
11499
+ "type": {
11500
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
11501
+ }
11502
+ }
11503
+ ],
11504
+ "returns": {
11505
+ "type": {
11506
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
11507
+ }
11508
+ }
11509
+ },
11510
+ {
11511
+ "docs": {
11512
+ "stability": "experimental",
11513
+ "summary": "Returns the metric containing the number of long-term memory records created by the long-term extraction strategies."
11514
+ },
11515
+ "locationInModule": {
11516
+ "filename": "agentcore/memory/memory.ts",
11517
+ "line": 416
11518
+ },
11519
+ "name": "metricMemoryRecordCreationCount",
11520
+ "parameters": [
11521
+ {
11522
+ "name": "props",
11523
+ "optional": true,
11524
+ "type": {
11525
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
11526
+ }
11527
+ }
11528
+ ],
11529
+ "returns": {
11530
+ "type": {
11531
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
11532
+ }
11533
+ }
11534
+ }
11535
+ ],
11536
+ "name": "MemoryBase",
11537
+ "properties": [
11538
+ {
11539
+ "abstract": true,
11540
+ "docs": {
11541
+ "stability": "experimental",
11542
+ "summary": "The principal to grant permissions to."
11543
+ },
11544
+ "immutable": true,
11545
+ "locationInModule": {
11546
+ "filename": "agentcore/memory/memory.ts",
11547
+ "line": 201
11548
+ },
11549
+ "name": "grantPrincipal",
11550
+ "overrides": "aws-cdk-lib.aws_iam.IGrantable",
11551
+ "type": {
11552
+ "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
11553
+ }
11554
+ },
11555
+ {
11556
+ "abstract": true,
11557
+ "docs": {
11558
+ "stability": "experimental",
11559
+ "summary": "The ARN of the memory resource."
11560
+ },
11561
+ "immutable": true,
11562
+ "locationInModule": {
11563
+ "filename": "agentcore/memory/memory.ts",
11564
+ "line": 191
11565
+ },
11566
+ "name": "memoryArn",
11567
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11568
+ "type": {
11569
+ "primitive": "string"
11570
+ }
11571
+ },
11572
+ {
11573
+ "abstract": true,
11574
+ "docs": {
11575
+ "stability": "experimental",
11576
+ "summary": "The id of the memory."
11577
+ },
11578
+ "immutable": true,
11579
+ "locationInModule": {
11580
+ "filename": "agentcore/memory/memory.ts",
11581
+ "line": 192
11582
+ },
11583
+ "name": "memoryId",
11584
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11585
+ "type": {
11586
+ "primitive": "string"
11587
+ }
11588
+ },
11589
+ {
11590
+ "abstract": true,
11591
+ "docs": {
11592
+ "stability": "experimental",
11593
+ "summary": "Timestamp when the memory was created."
11594
+ },
11595
+ "immutable": true,
11596
+ "locationInModule": {
11597
+ "filename": "agentcore/memory/memory.ts",
11598
+ "line": 195
11599
+ },
11600
+ "name": "createdAt",
11601
+ "optional": true,
11602
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11603
+ "type": {
11604
+ "primitive": "string"
11605
+ }
11606
+ },
11607
+ {
11608
+ "abstract": true,
11609
+ "docs": {
11610
+ "stability": "experimental",
11611
+ "summary": "The IAM role that provides permissions for the memory to access AWS services."
11612
+ },
11613
+ "immutable": true,
11614
+ "locationInModule": {
11615
+ "filename": "agentcore/memory/memory.ts",
11616
+ "line": 196
11617
+ },
11618
+ "name": "executionRole",
11619
+ "optional": true,
11620
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11621
+ "type": {
11622
+ "fqn": "aws-cdk-lib.aws_iam.IRole"
11623
+ }
11624
+ },
11625
+ {
11626
+ "abstract": true,
11627
+ "docs": {
11628
+ "stability": "experimental",
11629
+ "summary": "Custom KMS key for encryption (if provided)."
11630
+ },
11631
+ "immutable": true,
11632
+ "locationInModule": {
11633
+ "filename": "agentcore/memory/memory.ts",
11634
+ "line": 197
11635
+ },
11636
+ "name": "kmsKey",
11637
+ "optional": true,
11638
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11639
+ "type": {
11640
+ "fqn": "aws-cdk-lib.aws_kms.IKey"
11641
+ }
11642
+ },
11643
+ {
11644
+ "abstract": true,
11645
+ "docs": {
11646
+ "stability": "experimental",
11647
+ "summary": "The status of the memory."
11648
+ },
11649
+ "immutable": true,
11650
+ "locationInModule": {
11651
+ "filename": "agentcore/memory/memory.ts",
11652
+ "line": 193
11653
+ },
11654
+ "name": "status",
11655
+ "optional": true,
11656
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11657
+ "type": {
11658
+ "primitive": "string"
11659
+ }
11660
+ },
11661
+ {
11662
+ "abstract": true,
11663
+ "docs": {
11664
+ "stability": "experimental",
11665
+ "summary": "Timestamp when the memory was last updated."
11666
+ },
11667
+ "immutable": true,
11668
+ "locationInModule": {
11669
+ "filename": "agentcore/memory/memory.ts",
11670
+ "line": 194
11671
+ },
11672
+ "name": "updatedAt",
11673
+ "optional": true,
11674
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
11675
+ "type": {
11676
+ "primitive": "string"
11677
+ }
11678
+ }
11679
+ ],
11680
+ "symbolId": "agentcore/memory/memory:MemoryBase"
11681
+ },
11682
+ "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryProps": {
11683
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
11684
+ "datatype": true,
11685
+ "docs": {
11686
+ "stability": "experimental",
11687
+ "summary": "Properties for creating a Memory resource.",
11688
+ "example": "// Create a custom execution role\nconst executionRole = new iam.Role(this, \"MemoryExecutionRole\", {\n assumedBy: new iam.ServicePrincipal(\"bedrock-agentcore.amazonaws.com\"),\n managedPolicies: [\n iam.ManagedPolicy.fromAwsManagedPolicyName(\n \"AmazonBedrockAgentCoreMemoryBedrockModelInferenceExecutionRolePolicy\"\n ),\n ],\n});\n\n// Create memory with custom execution role\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my_memory\",\n description: \"Memory with custom execution role\",\n expirationDuration: cdk.Duration.days(90),\n executionRole: executionRole,\n});",
11689
+ "custom": {
11690
+ "exampleMetadata": "fixture=default infused"
11691
+ }
11692
+ },
11693
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryProps",
11694
+ "kind": "interface",
11695
+ "locationInModule": {
11696
+ "filename": "agentcore/memory/memory.ts",
11697
+ "line": 441
11698
+ },
11699
+ "name": "MemoryProps",
11700
+ "properties": [
11701
+ {
11702
+ "abstract": true,
11703
+ "docs": {
11704
+ "stability": "experimental",
11705
+ "summary": "The name of the memory Valid characters are a-z, A-Z, 0-9, _ (underscore) The name must start with a letter and can be up to 48 characters long Pattern: [a-zA-Z][a-zA-Z0-9_]{0,47}."
11706
+ },
11707
+ "immutable": true,
11708
+ "locationInModule": {
11709
+ "filename": "agentcore/memory/memory.ts",
11710
+ "line": 448
11711
+ },
11712
+ "name": "memoryName",
11713
+ "type": {
11714
+ "primitive": "string"
11715
+ }
11716
+ },
11717
+ {
11718
+ "abstract": true,
11719
+ "docs": {
11720
+ "default": "- No description",
11721
+ "stability": "experimental",
11722
+ "summary": "Optional description for the memory Valid characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and spaces The description can have up to 200 characters."
11723
+ },
11724
+ "immutable": true,
11725
+ "locationInModule": {
11726
+ "filename": "agentcore/memory/memory.ts",
11727
+ "line": 462
11728
+ },
11729
+ "name": "description",
11730
+ "optional": true,
11731
+ "type": {
11732
+ "primitive": "string"
11733
+ }
11734
+ },
11735
+ {
11736
+ "abstract": true,
11737
+ "docs": {
11738
+ "default": "- A new role will be created.",
11739
+ "stability": "experimental",
11740
+ "summary": "The IAM role that provides permissions for the memory to access AWS services when using custom strategies."
11741
+ },
11742
+ "immutable": true,
11743
+ "locationInModule": {
11744
+ "filename": "agentcore/memory/memory.ts",
11745
+ "line": 480
11746
+ },
11747
+ "name": "executionRole",
11748
+ "optional": true,
11749
+ "type": {
11750
+ "fqn": "aws-cdk-lib.aws_iam.IRole"
11751
+ }
11752
+ },
11753
+ {
11754
+ "abstract": true,
11755
+ "docs": {
11756
+ "default": "- 90 days",
11757
+ "remarks": "Sets the short-term (raw event) memory retention.\nEvents older than the specified duration will expire and no longer be stored.",
11758
+ "stability": "experimental",
11759
+ "summary": "Short-term memory expiration in days (between 7 and 365)."
11760
+ },
11761
+ "immutable": true,
11762
+ "locationInModule": {
11763
+ "filename": "agentcore/memory/memory.ts",
11764
+ "line": 455
11765
+ },
11766
+ "name": "expirationDuration",
11767
+ "optional": true,
11768
+ "type": {
11769
+ "fqn": "aws-cdk-lib.Duration"
11770
+ }
11771
+ },
11772
+ {
11773
+ "abstract": true,
11774
+ "docs": {
11775
+ "default": "- Your data is encrypted with a key that AWS owns and manages for you",
11776
+ "stability": "experimental",
11777
+ "summary": "Custom KMS key to use for encryption."
11778
+ },
11779
+ "immutable": true,
11780
+ "locationInModule": {
11781
+ "filename": "agentcore/memory/memory.ts",
11782
+ "line": 467
11783
+ },
11784
+ "name": "kmsKey",
11785
+ "optional": true,
11786
+ "type": {
11787
+ "fqn": "aws-cdk-lib.aws_kms.IKey"
11788
+ }
11789
+ },
11790
+ {
11791
+ "abstract": true,
11792
+ "docs": {
11793
+ "default": "- No extraction strategies (short term memory only)",
11794
+ "stability": "experimental",
11795
+ "summary": "If you need long-term memory for context recall across sessions, you can setup memory extraction strategies to extract the relevant memory from the raw events."
11796
+ },
11797
+ "immutable": true,
11798
+ "locationInModule": {
11799
+ "filename": "agentcore/memory/memory.ts",
11800
+ "line": 473
11801
+ },
11802
+ "name": "memoryStrategies",
11803
+ "optional": true,
11804
+ "type": {
11805
+ "collection": {
11806
+ "elementtype": {
11807
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy"
11808
+ },
11809
+ "kind": "array"
11810
+ }
11811
+ }
11812
+ },
11813
+ {
11814
+ "abstract": true,
11815
+ "docs": {
11816
+ "default": "- no tags",
11817
+ "stability": "experimental",
11818
+ "summary": "Tags (optional) A list of key:value pairs of tags to apply to this memory resource."
11819
+ },
11820
+ "immutable": true,
11821
+ "locationInModule": {
11822
+ "filename": "agentcore/memory/memory.ts",
11823
+ "line": 487
11824
+ },
11825
+ "name": "tags",
11826
+ "optional": true,
11827
+ "type": {
11828
+ "collection": {
11829
+ "elementtype": {
11830
+ "primitive": "string"
11831
+ },
11832
+ "kind": "map"
11833
+ }
11834
+ }
11835
+ }
11836
+ ],
11837
+ "symbolId": "agentcore/memory/memory:MemoryProps"
11838
+ },
11839
+ "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategy": {
11840
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
11841
+ "docs": {
11842
+ "remarks": "Use built-in strategies for quick setup, use built-in strategies with override to specify models and prompt templates.",
11843
+ "see": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory-strategies.html",
11844
+ "stability": "experimental",
11845
+ "summary": "Factory class for creating memory strategies If you need long-term memory for context recall across sessions, you can setup memory extraction strategies to extract the relevant memory from the raw events.",
11846
+ "example": "// Create a custom semantic memory strategy\nconst customSemanticStrategy = agentcore.MemoryStrategy.usingSemantic({\n name: \"customSemanticStrategy\",\n description: \"Custom semantic memory strategy\",\n namespaces: [\"/custom/strategies/{memoryStrategyId}/actors/{actorId}\"],\n customConsolidation: {\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_5_SONNET_V1_0,\n appendToPrompt: \"Custom consolidation prompt for semantic memory\",\n },\n customExtraction: {\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_5_SONNET_V1_0,\n appendToPrompt: \"Custom extraction prompt for semantic memory\",\n },\n});\n\n// Create memory with custom strategy\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my-custom-memory\",\n description: \"Memory with custom strategy\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [customSemanticStrategy],\n});",
11847
+ "custom": {
11848
+ "exampleMetadata": "fixture=default infused"
11849
+ }
11850
+ },
11851
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategy",
11852
+ "initializer": {
11853
+ "docs": {
11854
+ "stability": "experimental"
11855
+ }
11856
+ },
11857
+ "kind": "class",
11858
+ "locationInModule": {
11859
+ "filename": "agentcore/memory/memory-strategy.ts",
11860
+ "line": 116
11861
+ },
11862
+ "methods": [
11863
+ {
11864
+ "docs": {
11865
+ "remarks": "Distills general facts, concepts, and underlying meanings from raw conversational data, presenting the information in a context-independent format.\nExtracted memory example: In-context learning = task-solving via examples, no training needed.",
11866
+ "returns": "A ManagedMemoryStrategy.",
11867
+ "stability": "experimental",
11868
+ "summary": "Default strategies for organizing and extracting memory data, each optimized for specific use cases."
11869
+ },
11870
+ "locationInModule": {
11871
+ "filename": "agentcore/memory/memory-strategy.ts",
11872
+ "line": 136
11873
+ },
11874
+ "name": "usingBuiltInSemantic",
11875
+ "returns": {
11876
+ "type": {
11877
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedMemoryStrategy"
11878
+ }
11879
+ },
11880
+ "static": true
11881
+ },
11882
+ {
11883
+ "docs": {
11884
+ "remarks": "This strategy compresses conversations into concise overviews, preserving essential context and key insights for quick recall.\nExtracted memory example: Users confused by cloud setup during onboarding.",
11885
+ "returns": "A ManagedMemoryStrategy.",
11886
+ "stability": "experimental",
11887
+ "summary": "Default strategies for organizing and extracting memory data, each optimized for specific use cases."
11888
+ },
11889
+ "locationInModule": {
11890
+ "filename": "agentcore/memory/memory-strategy.ts",
11891
+ "line": 123
11892
+ },
11893
+ "name": "usingBuiltInSummarization",
11894
+ "returns": {
11895
+ "type": {
11896
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedMemoryStrategy"
11897
+ }
11898
+ },
11899
+ "static": true
11900
+ },
11901
+ {
11902
+ "docs": {
11903
+ "remarks": "Captures individual preferences, interaction patterns, and personalized settings to enhance future experiences.\nExtracted memory example: User needs clear guidance on cloud storage account connection during onboarding.",
11904
+ "returns": "A ManagedMemoryStrategy.",
11905
+ "stability": "experimental",
11906
+ "summary": "Default strategies for organizing and extracting memory data, each optimized for specific use cases."
11907
+ },
11908
+ "locationInModule": {
11909
+ "filename": "agentcore/memory/memory-strategy.ts",
11910
+ "line": 150
11911
+ },
11912
+ "name": "usingBuiltInUserPreference",
11913
+ "returns": {
11914
+ "type": {
11915
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedMemoryStrategy"
11916
+ }
11917
+ },
11918
+ "static": true
11919
+ },
11920
+ {
11921
+ "docs": {
11922
+ "remarks": "A self-managed strategy gives you complete control over your memory extraction and consolidation pipelines.",
11923
+ "returns": "A SelfManagedMemoryStrategy.",
11924
+ "stability": "experimental",
11925
+ "summary": "Creates a self-managed memory strategy."
11926
+ },
11927
+ "locationInModule": {
11928
+ "filename": "agentcore/memory/memory-strategy.ts",
11929
+ "line": 193
11930
+ },
11931
+ "name": "usingSelfManaged",
11932
+ "parameters": [
11933
+ {
11934
+ "docs": {
11935
+ "summary": "- The configuration for the self-managed memory strategy."
11936
+ },
11937
+ "name": "config",
11938
+ "type": {
11939
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedStrategyProps"
11940
+ }
11941
+ }
11942
+ ],
11943
+ "returns": {
11944
+ "type": {
11945
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedMemoryStrategy"
11946
+ }
11947
+ },
11948
+ "static": true
11949
+ },
11950
+ {
11951
+ "docs": {
11952
+ "remarks": "Distills general facts, concepts, and underlying meanings from raw conversational data, presenting the information in a context-independent format.\nExtracted memory example: In-context learning = task-solving via examples, no training needed.",
11953
+ "returns": "A ManagedMemoryStrategy.",
11954
+ "stability": "experimental",
11955
+ "summary": "Creates a semantic memory strategy with custom configuration."
11956
+ },
11957
+ "locationInModule": {
11958
+ "filename": "agentcore/memory/memory-strategy.ts",
11959
+ "line": 164
11960
+ },
11961
+ "name": "usingSemantic",
11962
+ "parameters": [
11963
+ {
11964
+ "docs": {
11965
+ "summary": "- The configuration for the semantic memory strategy."
11966
+ },
11967
+ "name": "config",
11968
+ "type": {
11969
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedStrategyProps"
11970
+ }
11971
+ }
11972
+ ],
11973
+ "returns": {
11974
+ "type": {
11975
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedMemoryStrategy"
11976
+ }
11977
+ },
11978
+ "static": true
11979
+ },
11980
+ {
11981
+ "docs": {
11982
+ "remarks": "This strategy compresses conversations into concise overviews, preserving essential context and key insights for quick recall.\nExtracted memory example: Users confused by cloud setup during onboarding.",
11983
+ "returns": "A ManagedMemoryStrategy.",
11984
+ "stability": "experimental",
11985
+ "summary": "Creates a summarization memory strategy with custom configuration."
11986
+ },
11987
+ "locationInModule": {
11988
+ "filename": "agentcore/memory/memory-strategy.ts",
11989
+ "line": 184
11990
+ },
11991
+ "name": "usingSummarization",
11992
+ "parameters": [
11993
+ {
11994
+ "docs": {
11995
+ "summary": "- The configuration for the summarization memory strategy."
11996
+ },
11997
+ "name": "config",
11998
+ "type": {
11999
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedStrategyProps"
12000
+ }
12001
+ }
12002
+ ],
12003
+ "returns": {
12004
+ "type": {
12005
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedMemoryStrategy"
12006
+ }
12007
+ },
12008
+ "static": true
12009
+ },
12010
+ {
12011
+ "docs": {
12012
+ "remarks": "Captures individual preferences, interaction patterns, and personalized settings to enhance future experiences.\nExtracted memory example: User needs clear guidance on cloud storage account connection during onboarding.",
12013
+ "returns": "A ManagedMemoryStrategy.",
12014
+ "stability": "experimental",
12015
+ "summary": "Creates a user preference memory strategy with custom configuration."
12016
+ },
12017
+ "locationInModule": {
12018
+ "filename": "agentcore/memory/memory-strategy.ts",
12019
+ "line": 174
12020
+ },
12021
+ "name": "usingUserPreference",
12022
+ "parameters": [
12023
+ {
12024
+ "docs": {
12025
+ "summary": "- The configuration for the user preference memory strategy."
12026
+ },
12027
+ "name": "config",
12028
+ "type": {
12029
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedStrategyProps"
12030
+ }
12031
+ }
12032
+ ],
12033
+ "returns": {
12034
+ "type": {
12035
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.ManagedMemoryStrategy"
12036
+ }
12037
+ },
12038
+ "static": true
9287
12039
  }
9288
12040
  ],
9289
- "symbolId": "agentcore/runtime/runtime-endpoint-base:IRuntimeEndpoint"
12041
+ "name": "MemoryStrategy",
12042
+ "symbolId": "agentcore/memory/memory-strategy:MemoryStrategy"
12043
+ },
12044
+ "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyCommonProps": {
12045
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
12046
+ "datatype": true,
12047
+ "docs": {
12048
+ "stability": "experimental",
12049
+ "summary": "Configuration parameters common for any memory strategy.",
12050
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as bedrock_agentcore_alpha from '@aws-cdk/aws-bedrock-agentcore-alpha';\nconst memoryStrategyCommonProps: bedrock_agentcore_alpha.MemoryStrategyCommonProps = {\n name: 'name',\n\n // the properties below are optional\n description: 'description',\n};",
12051
+ "custom": {
12052
+ "exampleMetadata": "fixture=_generated"
12053
+ }
12054
+ },
12055
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyCommonProps",
12056
+ "kind": "interface",
12057
+ "locationInModule": {
12058
+ "filename": "agentcore/memory/memory-strategy.ts",
12059
+ "line": 63
12060
+ },
12061
+ "name": "MemoryStrategyCommonProps",
12062
+ "properties": [
12063
+ {
12064
+ "abstract": true,
12065
+ "docs": {
12066
+ "stability": "experimental",
12067
+ "summary": "The name for the strategy."
12068
+ },
12069
+ "immutable": true,
12070
+ "locationInModule": {
12071
+ "filename": "agentcore/memory/memory-strategy.ts",
12072
+ "line": 67
12073
+ },
12074
+ "name": "name",
12075
+ "type": {
12076
+ "primitive": "string"
12077
+ }
12078
+ },
12079
+ {
12080
+ "abstract": true,
12081
+ "docs": {
12082
+ "default": "- No description",
12083
+ "stability": "experimental",
12084
+ "summary": "The description of the strategy."
12085
+ },
12086
+ "immutable": true,
12087
+ "locationInModule": {
12088
+ "filename": "agentcore/memory/memory-strategy.ts",
12089
+ "line": 72
12090
+ },
12091
+ "name": "description",
12092
+ "optional": true,
12093
+ "type": {
12094
+ "primitive": "string"
12095
+ }
12096
+ }
12097
+ ],
12098
+ "symbolId": "agentcore/memory/memory-strategy:MemoryStrategyCommonProps"
12099
+ },
12100
+ "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyType": {
12101
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
12102
+ "docs": {
12103
+ "stability": "experimental",
12104
+ "summary": "Long-term memory extraction strategy types."
12105
+ },
12106
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyType",
12107
+ "kind": "enum",
12108
+ "locationInModule": {
12109
+ "filename": "agentcore/memory/memory-strategy.ts",
12110
+ "line": 37
12111
+ },
12112
+ "members": [
12113
+ {
12114
+ "docs": {
12115
+ "stability": "experimental",
12116
+ "summary": "Summarization strategy - extracts concise summaries to preserve critical context and key insights."
12117
+ },
12118
+ "name": "SUMMARIZATION"
12119
+ },
12120
+ {
12121
+ "docs": {
12122
+ "stability": "experimental",
12123
+ "summary": "Semantic memory strategy - extracts general factual knowledge, concepts and meanings from raw conversations using vector embeddings for similarity search."
12124
+ },
12125
+ "name": "SEMANTIC"
12126
+ },
12127
+ {
12128
+ "docs": {
12129
+ "stability": "experimental",
12130
+ "summary": "User preferences strategy - extracts user behavior patterns from raw conversations."
12131
+ },
12132
+ "name": "USER_PREFERENCE"
12133
+ },
12134
+ {
12135
+ "docs": {
12136
+ "stability": "experimental",
12137
+ "summary": "Customize memory processing through custom foundation model and prompt templates."
12138
+ },
12139
+ "name": "CUSTOM"
12140
+ }
12141
+ ],
12142
+ "name": "MemoryStrategyType",
12143
+ "symbolId": "agentcore/memory/memory-strategy:MemoryStrategyType"
9290
12144
  },
9291
12145
  "@aws-cdk/aws-bedrock-agentcore-alpha.NetworkConfiguration": {
9292
12146
  "abstract": true,
@@ -9406,6 +12260,62 @@
9406
12260
  ],
9407
12261
  "symbolId": "agentcore/network/network-configuration:NetworkConfiguration"
9408
12262
  },
12263
+ "@aws-cdk/aws-bedrock-agentcore-alpha.OverrideConfig": {
12264
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
12265
+ "datatype": true,
12266
+ "docs": {
12267
+ "stability": "experimental",
12268
+ "summary": "Configuration for overriding model and prompt template.",
12269
+ "example": "// Create a custom semantic memory strategy\nconst customSemanticStrategy = agentcore.MemoryStrategy.usingSemantic({\n name: \"customSemanticStrategy\",\n description: \"Custom semantic memory strategy\",\n namespaces: [\"/custom/strategies/{memoryStrategyId}/actors/{actorId}\"],\n customConsolidation: {\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_5_SONNET_V1_0,\n appendToPrompt: \"Custom consolidation prompt for semantic memory\",\n },\n customExtraction: {\n model: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_3_5_SONNET_V1_0,\n appendToPrompt: \"Custom extraction prompt for semantic memory\",\n },\n});\n\n// Create memory with custom strategy\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my-custom-memory\",\n description: \"Memory with custom strategy\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [customSemanticStrategy],\n});",
12270
+ "custom": {
12271
+ "exampleMetadata": "fixture=default infused"
12272
+ }
12273
+ },
12274
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.OverrideConfig",
12275
+ "kind": "interface",
12276
+ "locationInModule": {
12277
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
12278
+ "line": 39
12279
+ },
12280
+ "name": "OverrideConfig",
12281
+ "properties": [
12282
+ {
12283
+ "abstract": true,
12284
+ "docs": {
12285
+ "remarks": "This configuration provides customization to how the model identifies and extracts\nrelevant information for memory storage. You can use the default user prompt or create a customized one.",
12286
+ "see": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/system-prompts.html",
12287
+ "stability": "experimental",
12288
+ "summary": "The prompt that will be appended to the system prompt to define the model's memory consolidation/extraction strategy."
12289
+ },
12290
+ "immutable": true,
12291
+ "locationInModule": {
12292
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
12293
+ "line": 52
12294
+ },
12295
+ "name": "appendToPrompt",
12296
+ "type": {
12297
+ "primitive": "string"
12298
+ }
12299
+ },
12300
+ {
12301
+ "abstract": true,
12302
+ "docs": {
12303
+ "stability": "experimental",
12304
+ "summary": "The model to use for consolidation/extraction."
12305
+ },
12306
+ "immutable": true,
12307
+ "locationInModule": {
12308
+ "filename": "agentcore/memory/strategies/managed-strategy.ts",
12309
+ "line": 43
12310
+ },
12311
+ "name": "model",
12312
+ "type": {
12313
+ "fqn": "@aws-cdk/aws-bedrock-alpha.IBedrockInvokable"
12314
+ }
12315
+ }
12316
+ ],
12317
+ "symbolId": "agentcore/memory/strategies/managed-strategy:OverrideConfig"
12318
+ },
9409
12319
  "@aws-cdk/aws-bedrock-agentcore-alpha.ProtocolType": {
9410
12320
  "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
9411
12321
  "docs": {
@@ -9432,6 +12342,13 @@
9432
12342
  "summary": "HTTP protocol."
9433
12343
  },
9434
12344
  "name": "HTTP"
12345
+ },
12346
+ {
12347
+ "docs": {
12348
+ "stability": "experimental",
12349
+ "summary": "A2A protocol."
12350
+ },
12351
+ "name": "A2A"
9435
12352
  }
9436
12353
  ],
9437
12354
  "name": "ProtocolType",
@@ -9599,7 +12516,7 @@
9599
12516
  },
9600
12517
  "locationInModule": {
9601
12518
  "filename": "agentcore/runtime/runtime.ts",
9602
- "line": 686
12519
+ "line": 684
9603
12520
  },
9604
12521
  "name": "addEndpoint",
9605
12522
  "parameters": [
@@ -9866,7 +12783,7 @@
9866
12783
  "remarks": "Provides static factory methods to create different authentication types.",
9867
12784
  "stability": "experimental",
9868
12785
  "summary": "Abstract base class for runtime authorizer configurations.",
9869
- "example": "const repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingCognito(\n \"us-west-2_ABC123\", // User Pool ID (required)\n \"client123\", // Client ID (required)\n \"us-west-2\" // Region (optional, defaults to stack region)\n ),\n});",
12786
+ "example": "const repository = new ecr.Repository(this, \"TestRepository\", {\n repositoryName: \"test-agent-runtime\",\n});\nconst agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, \"v1.0.0\");\n\nconst runtime = new agentcore.Runtime(this, \"MyAgentRuntime\", {\n runtimeName: \"myAgent\",\n agentRuntimeArtifact: agentRuntimeArtifact,\n authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingOAuth(\n \"https://github.com/.well-known/openid-configuration\",\n \"oauth_client_123\",\n ),\n});",
9870
12787
  "custom": {
9871
12788
  "exampleMetadata": "infused"
9872
12789
  }
@@ -9892,36 +12809,28 @@
9892
12809
  },
9893
12810
  "locationInModule": {
9894
12811
  "filename": "agentcore/runtime/runtime-authorizer-configuration.ts",
9895
- "line": 63
12812
+ "line": 62
9896
12813
  },
9897
12814
  "name": "usingCognito",
9898
12815
  "parameters": [
9899
12816
  {
9900
12817
  "docs": {
9901
- "summary": "The Cognito User Pool ID (e.g., 'us-west-2_ABC123')."
9902
- },
9903
- "name": "userPoolId",
9904
- "type": {
9905
- "primitive": "string"
9906
- }
9907
- },
9908
- {
9909
- "docs": {
9910
- "summary": "The Cognito App Client ID."
12818
+ "summary": "The Cognito User Pool."
9911
12819
  },
9912
- "name": "clientId",
12820
+ "name": "userPool",
9913
12821
  "type": {
9914
- "primitive": "string"
12822
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
9915
12823
  }
9916
12824
  },
9917
12825
  {
9918
- "docs": {
9919
- "summary": "Optional AWS region where the User Pool is located (defaults to stack region)."
9920
- },
9921
- "name": "region",
9922
- "optional": true,
12826
+ "name": "userPoolClients",
9923
12827
  "type": {
9924
- "primitive": "string"
12828
+ "collection": {
12829
+ "elementtype": {
12830
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
12831
+ },
12832
+ "kind": "array"
12833
+ }
9925
12834
  }
9926
12835
  },
9927
12836
  {
@@ -10034,7 +12943,7 @@
10034
12943
  },
10035
12944
  "locationInModule": {
10036
12945
  "filename": "agentcore/runtime/runtime-authorizer-configuration.ts",
10037
- "line": 81
12946
+ "line": 79
10038
12947
  },
10039
12948
  "name": "usingOAuth",
10040
12949
  "parameters": [
@@ -10208,7 +13117,7 @@
10208
13117
  },
10209
13118
  "locationInModule": {
10210
13119
  "filename": "agentcore/runtime/runtime-base.ts",
10211
- "line": 293
13120
+ "line": 284
10212
13121
  },
10213
13122
  "name": "grantInvoke",
10214
13123
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10236,7 +13145,7 @@
10236
13145
  },
10237
13146
  "locationInModule": {
10238
13147
  "filename": "agentcore/runtime/runtime-base.ts",
10239
- "line": 266
13148
+ "line": 257
10240
13149
  },
10241
13150
  "name": "grantInvokeRuntime",
10242
13151
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10264,7 +13173,7 @@
10264
13173
  },
10265
13174
  "locationInModule": {
10266
13175
  "filename": "agentcore/runtime/runtime-base.ts",
10267
- "line": 280
13176
+ "line": 271
10268
13177
  },
10269
13178
  "name": "grantInvokeRuntimeForUser",
10270
13179
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10293,7 +13202,7 @@
10293
13202
  },
10294
13203
  "locationInModule": {
10295
13204
  "filename": "agentcore/runtime/runtime-base.ts",
10296
- "line": 310
13205
+ "line": 301
10297
13206
  },
10298
13207
  "name": "metric",
10299
13208
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10336,7 +13245,7 @@
10336
13245
  },
10337
13246
  "locationInModule": {
10338
13247
  "filename": "agentcore/runtime/runtime-base.ts",
10339
- "line": 323
13248
+ "line": 314
10340
13249
  },
10341
13250
  "name": "metricInvocations",
10342
13251
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10362,7 +13271,7 @@
10362
13271
  },
10363
13272
  "locationInModule": {
10364
13273
  "filename": "agentcore/runtime/runtime-base.ts",
10365
- "line": 330
13274
+ "line": 321
10366
13275
  },
10367
13276
  "name": "metricInvocationsAggregated",
10368
13277
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10389,7 +13298,7 @@
10389
13298
  },
10390
13299
  "locationInModule": {
10391
13300
  "filename": "agentcore/runtime/runtime-base.ts",
10392
- "line": 361
13301
+ "line": 352
10393
13302
  },
10394
13303
  "name": "metricLatency",
10395
13304
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10415,7 +13324,7 @@
10415
13324
  },
10416
13325
  "locationInModule": {
10417
13326
  "filename": "agentcore/runtime/runtime-base.ts",
10418
- "line": 375
13327
+ "line": 366
10419
13328
  },
10420
13329
  "name": "metricSessionCount",
10421
13330
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10441,7 +13350,7 @@
10441
13350
  },
10442
13351
  "locationInModule": {
10443
13352
  "filename": "agentcore/runtime/runtime-base.ts",
10444
- "line": 382
13353
+ "line": 373
10445
13354
  },
10446
13355
  "name": "metricSessionsAggregated",
10447
13356
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10467,7 +13376,7 @@
10467
13376
  },
10468
13377
  "locationInModule": {
10469
13378
  "filename": "agentcore/runtime/runtime-base.ts",
10470
- "line": 344
13379
+ "line": 335
10471
13380
  },
10472
13381
  "name": "metricSystemErrors",
10473
13382
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10493,7 +13402,7 @@
10493
13402
  },
10494
13403
  "locationInModule": {
10495
13404
  "filename": "agentcore/runtime/runtime-base.ts",
10496
- "line": 337
13405
+ "line": 328
10497
13406
  },
10498
13407
  "name": "metricThrottles",
10499
13408
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10519,7 +13428,7 @@
10519
13428
  },
10520
13429
  "locationInModule": {
10521
13430
  "filename": "agentcore/runtime/runtime-base.ts",
10522
- "line": 368
13431
+ "line": 359
10523
13432
  },
10524
13433
  "name": "metricTotalErrors",
10525
13434
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -10545,7 +13454,7 @@
10545
13454
  },
10546
13455
  "locationInModule": {
10547
13456
  "filename": "agentcore/runtime/runtime-base.ts",
10548
- "line": 351
13457
+ "line": 342
10549
13458
  },
10550
13459
  "name": "metricUserErrors",
10551
13460
  "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IBedrockAgentRuntime",
@@ -11893,6 +14802,355 @@
11893
14802
  ],
11894
14803
  "symbolId": "agentcore/runtime/runtime:RuntimeProps"
11895
14804
  },
14805
+ "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedMemoryStrategy": {
14806
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
14807
+ "docs": {
14808
+ "remarks": "Define memory processing logic in your own environment.",
14809
+ "stability": "experimental",
14810
+ "summary": "Use AgentCore memory for event storage with custom triggers.",
14811
+ "example": "\nconst bucket = new s3.Bucket(this, 'memoryBucket', {\n bucketName: 'test-memory',\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n autoDeleteObjects: true,\n});\n\nconst topic = new sns.Topic(this, 'topic');\n\n// Create a custom semantic memory strategy\nconst selfManagedStrategy = agentcore.MemoryStrategy.usingSelfManaged({\n name: \"selfManagedStrategy\",\n description: \"self managed memory strategy\",\n historicalContextWindowSize: 5,\n invocationConfiguration: {\n topic: topic,\n s3Location: {\n bucketName: bucket.bucketName,\n objectKey: 'memory/',\n }\n },\n triggerConditions: {\n messageBasedTrigger: 1,\n timeBasedTrigger: cdk.Duration.seconds(10),\n tokenBasedTrigger: 100\n }\n});\n\n// Create memory with custom strategy\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my-custom-memory\",\n description: \"Memory with custom strategy\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [selfManagedStrategy],\n});",
14812
+ "custom": {
14813
+ "exampleMetadata": "fixture=default infused"
14814
+ }
14815
+ },
14816
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedMemoryStrategy",
14817
+ "initializer": {
14818
+ "docs": {
14819
+ "stability": "experimental"
14820
+ },
14821
+ "locationInModule": {
14822
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14823
+ "line": 165
14824
+ },
14825
+ "parameters": [
14826
+ {
14827
+ "docs": {
14828
+ "summary": "The type of memory strategy."
14829
+ },
14830
+ "name": "strategyType",
14831
+ "type": {
14832
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyType"
14833
+ }
14834
+ },
14835
+ {
14836
+ "name": "props",
14837
+ "type": {
14838
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedStrategyProps"
14839
+ }
14840
+ }
14841
+ ]
14842
+ },
14843
+ "interfaces": [
14844
+ "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy"
14845
+ ],
14846
+ "kind": "class",
14847
+ "locationInModule": {
14848
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14849
+ "line": 148
14850
+ },
14851
+ "methods": [
14852
+ {
14853
+ "docs": {
14854
+ "returns": "The Grant object for chaining",
14855
+ "stability": "experimental",
14856
+ "summary": "Grants the necessary permissions to the role."
14857
+ },
14858
+ "locationInModule": {
14859
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14860
+ "line": 226
14861
+ },
14862
+ "name": "grant",
14863
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
14864
+ "parameters": [
14865
+ {
14866
+ "docs": {
14867
+ "summary": "- The grantee to grant permissions to."
14868
+ },
14869
+ "name": "grantee",
14870
+ "type": {
14871
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
14872
+ }
14873
+ }
14874
+ ],
14875
+ "returns": {
14876
+ "optional": true,
14877
+ "type": {
14878
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
14879
+ }
14880
+ }
14881
+ },
14882
+ {
14883
+ "docs": {
14884
+ "stability": "experimental",
14885
+ "summary": "Renders internal attributes to CloudFormation."
14886
+ },
14887
+ "locationInModule": {
14888
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14889
+ "line": 185
14890
+ },
14891
+ "name": "render",
14892
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
14893
+ "returns": {
14894
+ "type": {
14895
+ "fqn": "aws-cdk-lib.aws_bedrockagentcore.CfnMemory.MemoryStrategyProperty"
14896
+ }
14897
+ }
14898
+ }
14899
+ ],
14900
+ "name": "SelfManagedMemoryStrategy",
14901
+ "properties": [
14902
+ {
14903
+ "docs": {
14904
+ "stability": "experimental",
14905
+ "summary": "Historical context window size for self managed memory strategy."
14906
+ },
14907
+ "immutable": true,
14908
+ "locationInModule": {
14909
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14910
+ "line": 163
14911
+ },
14912
+ "name": "historicalContextWindowSize",
14913
+ "type": {
14914
+ "primitive": "number"
14915
+ }
14916
+ },
14917
+ {
14918
+ "docs": {
14919
+ "stability": "experimental",
14920
+ "summary": "Invocation configuration for self managed memory strategy."
14921
+ },
14922
+ "immutable": true,
14923
+ "locationInModule": {
14924
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14925
+ "line": 155
14926
+ },
14927
+ "name": "invocationConfiguration",
14928
+ "type": {
14929
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.InvocationConfiguration"
14930
+ }
14931
+ },
14932
+ {
14933
+ "docs": {
14934
+ "stability": "experimental",
14935
+ "summary": "The name of the memory strategy."
14936
+ },
14937
+ "immutable": true,
14938
+ "locationInModule": {
14939
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14940
+ "line": 149
14941
+ },
14942
+ "name": "name",
14943
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
14944
+ "type": {
14945
+ "primitive": "string"
14946
+ }
14947
+ },
14948
+ {
14949
+ "docs": {
14950
+ "stability": "experimental",
14951
+ "summary": "The type of memory strategy."
14952
+ },
14953
+ "immutable": true,
14954
+ "locationInModule": {
14955
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14956
+ "line": 151
14957
+ },
14958
+ "name": "strategyType",
14959
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
14960
+ "type": {
14961
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyType"
14962
+ }
14963
+ },
14964
+ {
14965
+ "docs": {
14966
+ "stability": "experimental",
14967
+ "summary": "Trigger conditions for self managed memory strategy."
14968
+ },
14969
+ "immutable": true,
14970
+ "locationInModule": {
14971
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14972
+ "line": 159
14973
+ },
14974
+ "name": "triggerConditions",
14975
+ "type": {
14976
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.TriggerConditions"
14977
+ }
14978
+ },
14979
+ {
14980
+ "docs": {
14981
+ "stability": "experimental",
14982
+ "summary": "The description of the memory strategy."
14983
+ },
14984
+ "immutable": true,
14985
+ "locationInModule": {
14986
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
14987
+ "line": 150
14988
+ },
14989
+ "name": "description",
14990
+ "optional": true,
14991
+ "overrides": "@aws-cdk/aws-bedrock-agentcore-alpha.IMemoryStrategy",
14992
+ "type": {
14993
+ "primitive": "string"
14994
+ }
14995
+ }
14996
+ ],
14997
+ "symbolId": "agentcore/memory/strategies/self-managed-strategy:SelfManagedMemoryStrategy"
14998
+ },
14999
+ "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedStrategyProps": {
15000
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
15001
+ "datatype": true,
15002
+ "docs": {
15003
+ "stability": "experimental",
15004
+ "summary": "Configuration parameters for a self managed memory strategy existing built-in default prompts/models.",
15005
+ "example": "\nconst bucket = new s3.Bucket(this, 'memoryBucket', {\n bucketName: 'test-memory',\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n autoDeleteObjects: true,\n});\n\nconst topic = new sns.Topic(this, 'topic');\n\n// Create a custom semantic memory strategy\nconst selfManagedStrategy = agentcore.MemoryStrategy.usingSelfManaged({\n name: \"selfManagedStrategy\",\n description: \"self managed memory strategy\",\n historicalContextWindowSize: 5,\n invocationConfiguration: {\n topic: topic,\n s3Location: {\n bucketName: bucket.bucketName,\n objectKey: 'memory/',\n }\n },\n triggerConditions: {\n messageBasedTrigger: 1,\n timeBasedTrigger: cdk.Duration.seconds(10),\n tokenBasedTrigger: 100\n }\n});\n\n// Create memory with custom strategy\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my-custom-memory\",\n description: \"Memory with custom strategy\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [selfManagedStrategy],\n});",
15006
+ "custom": {
15007
+ "exampleMetadata": "fixture=default infused"
15008
+ }
15009
+ },
15010
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedStrategyProps",
15011
+ "interfaces": [
15012
+ "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategyCommonProps"
15013
+ ],
15014
+ "kind": "interface",
15015
+ "locationInModule": {
15016
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
15017
+ "line": 128
15018
+ },
15019
+ "name": "SelfManagedStrategyProps",
15020
+ "properties": [
15021
+ {
15022
+ "abstract": true,
15023
+ "docs": {
15024
+ "stability": "experimental",
15025
+ "summary": "Invocation configuration for self managed memory strategy."
15026
+ },
15027
+ "immutable": true,
15028
+ "locationInModule": {
15029
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
15030
+ "line": 137
15031
+ },
15032
+ "name": "invocationConfiguration",
15033
+ "type": {
15034
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.InvocationConfiguration"
15035
+ }
15036
+ },
15037
+ {
15038
+ "abstract": true,
15039
+ "docs": {
15040
+ "default": "4",
15041
+ "remarks": "A larger history window provides more context from past conversations.",
15042
+ "stability": "experimental",
15043
+ "summary": "Define the number of previous events to be included when processing memory."
15044
+ },
15045
+ "immutable": true,
15046
+ "locationInModule": {
15047
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
15048
+ "line": 133
15049
+ },
15050
+ "name": "historicalContextWindowSize",
15051
+ "optional": true,
15052
+ "type": {
15053
+ "primitive": "number"
15054
+ }
15055
+ },
15056
+ {
15057
+ "abstract": true,
15058
+ "docs": {
15059
+ "default": "- undefined",
15060
+ "stability": "experimental",
15061
+ "summary": "Trigger conditions for self managed memory strategy."
15062
+ },
15063
+ "immutable": true,
15064
+ "locationInModule": {
15065
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
15066
+ "line": 142
15067
+ },
15068
+ "name": "triggerConditions",
15069
+ "optional": true,
15070
+ "type": {
15071
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.TriggerConditions"
15072
+ }
15073
+ }
15074
+ ],
15075
+ "symbolId": "agentcore/memory/strategies/self-managed-strategy:SelfManagedStrategyProps"
15076
+ },
15077
+ "@aws-cdk/aws-bedrock-agentcore-alpha.TriggerConditions": {
15078
+ "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
15079
+ "datatype": true,
15080
+ "docs": {
15081
+ "stability": "experimental",
15082
+ "summary": "Trigger conditions for self managed memory strategy When first condition is met, batched payloads are sent to specified S3 bucket.",
15083
+ "example": "\nconst bucket = new s3.Bucket(this, 'memoryBucket', {\n bucketName: 'test-memory',\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n autoDeleteObjects: true,\n});\n\nconst topic = new sns.Topic(this, 'topic');\n\n// Create a custom semantic memory strategy\nconst selfManagedStrategy = agentcore.MemoryStrategy.usingSelfManaged({\n name: \"selfManagedStrategy\",\n description: \"self managed memory strategy\",\n historicalContextWindowSize: 5,\n invocationConfiguration: {\n topic: topic,\n s3Location: {\n bucketName: bucket.bucketName,\n objectKey: 'memory/',\n }\n },\n triggerConditions: {\n messageBasedTrigger: 1,\n timeBasedTrigger: cdk.Duration.seconds(10),\n tokenBasedTrigger: 100\n }\n});\n\n// Create memory with custom strategy\nconst memory = new agentcore.Memory(this, \"MyMemory\", {\n memoryName: \"my-custom-memory\",\n description: \"Memory with custom strategy\",\n expirationDuration: cdk.Duration.days(90),\n memoryStrategies: [selfManagedStrategy],\n});",
15084
+ "custom": {
15085
+ "exampleMetadata": "fixture=default infused"
15086
+ }
15087
+ },
15088
+ "fqn": "@aws-cdk/aws-bedrock-agentcore-alpha.TriggerConditions",
15089
+ "kind": "interface",
15090
+ "locationInModule": {
15091
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
15092
+ "line": 91
15093
+ },
15094
+ "name": "TriggerConditions",
15095
+ "properties": [
15096
+ {
15097
+ "abstract": true,
15098
+ "docs": {
15099
+ "default": "1",
15100
+ "stability": "experimental",
15101
+ "summary": "Triggers memory processing when specified number of new messages is reached."
15102
+ },
15103
+ "immutable": true,
15104
+ "locationInModule": {
15105
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
15106
+ "line": 96
15107
+ },
15108
+ "name": "messageBasedTrigger",
15109
+ "optional": true,
15110
+ "type": {
15111
+ "primitive": "number"
15112
+ }
15113
+ },
15114
+ {
15115
+ "abstract": true,
15116
+ "docs": {
15117
+ "default": "- 10 seconds",
15118
+ "remarks": "Value in seconds.",
15119
+ "stability": "experimental",
15120
+ "summary": "Triggers memory processing when the session has been idle for the specified duration."
15121
+ },
15122
+ "immutable": true,
15123
+ "locationInModule": {
15124
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
15125
+ "line": 102
15126
+ },
15127
+ "name": "timeBasedTrigger",
15128
+ "optional": true,
15129
+ "type": {
15130
+ "fqn": "aws-cdk-lib.Duration"
15131
+ }
15132
+ },
15133
+ {
15134
+ "abstract": true,
15135
+ "docs": {
15136
+ "default": "100",
15137
+ "stability": "experimental",
15138
+ "summary": "Triggers memory processing when the token size reaches the specified threshold."
15139
+ },
15140
+ "immutable": true,
15141
+ "locationInModule": {
15142
+ "filename": "agentcore/memory/strategies/self-managed-strategy.ts",
15143
+ "line": 107
15144
+ },
15145
+ "name": "tokenBasedTrigger",
15146
+ "optional": true,
15147
+ "type": {
15148
+ "primitive": "number"
15149
+ }
15150
+ }
15151
+ ],
15152
+ "symbolId": "agentcore/memory/strategies/self-managed-strategy:TriggerConditions"
15153
+ },
11896
15154
  "@aws-cdk/aws-bedrock-agentcore-alpha.VpcConfigProps": {
11897
15155
  "assembly": "@aws-cdk/aws-bedrock-agentcore-alpha",
11898
15156
  "datatype": true,
@@ -11995,6 +15253,6 @@
11995
15253
  "symbolId": "agentcore/network/network-configuration:VpcConfigProps"
11996
15254
  }
11997
15255
  },
11998
- "version": "2.221.1-alpha.0",
15256
+ "version": "2.223.0-alpha.0",
11999
15257
  "fingerprint": "**********"
12000
15258
  }