bedrock-agentcore-starter-toolkit 0.1.25__py3-none-any.whl → 0.1.27__py3-none-any.whl
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.
Potentially problematic release.
This version of bedrock-agentcore-starter-toolkit might be problematic. Click here for more details.
- bedrock_agentcore_starter_toolkit/cli/cli.py +9 -1
- bedrock_agentcore_starter_toolkit/cli/runtime/commands.py +263 -7
- bedrock_agentcore_starter_toolkit/cli/runtime/configuration_manager.py +31 -7
- bedrock_agentcore_starter_toolkit/notebook/runtime/bedrock_agentcore.py +240 -2
- bedrock_agentcore_starter_toolkit/operations/identity/__init__.py +5 -0
- bedrock_agentcore_starter_toolkit/operations/identity/oauth2_callback_server.py +86 -0
- bedrock_agentcore_starter_toolkit/operations/memory/manager.py +20 -33
- bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/base.py +2 -0
- bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/self_managed.py +107 -0
- bedrock_agentcore_starter_toolkit/operations/runtime/__init__.py +4 -0
- bedrock_agentcore_starter_toolkit/operations/runtime/configure.py +120 -5
- bedrock_agentcore_starter_toolkit/operations/runtime/invoke.py +30 -54
- bedrock_agentcore_starter_toolkit/operations/runtime/launch.py +213 -16
- bedrock_agentcore_starter_toolkit/operations/runtime/models.py +19 -0
- bedrock_agentcore_starter_toolkit/operations/runtime/status.py +30 -0
- bedrock_agentcore_starter_toolkit/operations/runtime/stop_session.py +123 -0
- bedrock_agentcore_starter_toolkit/operations/runtime/vpc_validation.py +196 -0
- bedrock_agentcore_starter_toolkit/services/runtime.py +46 -2
- bedrock_agentcore_starter_toolkit/utils/runtime/schema.py +44 -1
- {bedrock_agentcore_starter_toolkit-0.1.25.dist-info → bedrock_agentcore_starter_toolkit-0.1.27.dist-info}/METADATA +13 -12
- {bedrock_agentcore_starter_toolkit-0.1.25.dist-info → bedrock_agentcore_starter_toolkit-0.1.27.dist-info}/RECORD +25 -20
- {bedrock_agentcore_starter_toolkit-0.1.25.dist-info → bedrock_agentcore_starter_toolkit-0.1.27.dist-info}/WHEEL +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.25.dist-info → bedrock_agentcore_starter_toolkit-0.1.27.dist-info}/entry_points.txt +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.25.dist-info → bedrock_agentcore_starter_toolkit-0.1.27.dist-info}/licenses/LICENSE.txt +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.25.dist-info → bedrock_agentcore_starter_toolkit-0.1.27.dist-info}/licenses/NOTICE.txt +0 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"""VPC networking validation utilities for AgentCore Runtime."""
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
from typing import List, Optional, Tuple
|
|
5
|
+
|
|
6
|
+
import boto3
|
|
7
|
+
from botocore.exceptions import ClientError
|
|
8
|
+
|
|
9
|
+
log = logging.getLogger(__name__)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def validate_vpc_configuration(
|
|
13
|
+
region: str,
|
|
14
|
+
subnets: List[str],
|
|
15
|
+
security_groups: List[str],
|
|
16
|
+
session: Optional[boto3.Session] = None,
|
|
17
|
+
) -> Tuple[str, List[str]]:
|
|
18
|
+
"""Validate VPC configuration and return VPC ID and any warnings.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
region: AWS region
|
|
22
|
+
subnets: List of subnet IDs
|
|
23
|
+
security_groups: List of security group IDs
|
|
24
|
+
session: Optional boto3 session (creates new if not provided)
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
Tuple of (vpc_id, warnings_list)
|
|
28
|
+
|
|
29
|
+
Raises:
|
|
30
|
+
ValueError: If validation fails
|
|
31
|
+
"""
|
|
32
|
+
if not session:
|
|
33
|
+
session = boto3.Session(region_name=region)
|
|
34
|
+
|
|
35
|
+
ec2_client = session.client("ec2", region_name=region)
|
|
36
|
+
warnings = []
|
|
37
|
+
|
|
38
|
+
# Validate subnets
|
|
39
|
+
vpc_id = _validate_subnets(ec2_client, subnets, warnings)
|
|
40
|
+
|
|
41
|
+
# Validate security groups
|
|
42
|
+
_validate_security_groups(ec2_client, security_groups, vpc_id, warnings)
|
|
43
|
+
|
|
44
|
+
return vpc_id, warnings
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def _validate_subnets(ec2_client, subnets: List[str], warnings: List[str]) -> str:
|
|
48
|
+
"""Validate subnets and return VPC ID."""
|
|
49
|
+
try:
|
|
50
|
+
response = ec2_client.describe_subnets(SubnetIds=subnets)
|
|
51
|
+
|
|
52
|
+
if len(response["Subnets"]) != len(subnets):
|
|
53
|
+
found_ids = {s["SubnetId"] for s in response["Subnets"]}
|
|
54
|
+
missing = set(subnets) - found_ids
|
|
55
|
+
raise ValueError(f"Subnet IDs not found: {missing}")
|
|
56
|
+
|
|
57
|
+
# Check all subnets are in same VPC
|
|
58
|
+
vpc_ids = {subnet["VpcId"] for subnet in response["Subnets"]}
|
|
59
|
+
|
|
60
|
+
if len(vpc_ids) > 1:
|
|
61
|
+
raise ValueError(
|
|
62
|
+
f"All subnets must be in the same VPC. Found subnets in {len(vpc_ids)} different VPCs: {vpc_ids}"
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
vpc_id = vpc_ids.pop()
|
|
66
|
+
log.info("✓ Validated %d subnets in VPC %s", len(subnets), vpc_id)
|
|
67
|
+
|
|
68
|
+
# Check subnet availability zones
|
|
69
|
+
azs = {subnet["AvailabilityZone"] for subnet in response["Subnets"]}
|
|
70
|
+
if len(azs) < 2:
|
|
71
|
+
warnings.append(
|
|
72
|
+
f"Subnets are in only {len(azs)} availability zone(s). "
|
|
73
|
+
"For high availability, use subnets in multiple AZs."
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
return vpc_id
|
|
77
|
+
|
|
78
|
+
except ClientError as e:
|
|
79
|
+
error_code = e.response["Error"]["Code"]
|
|
80
|
+
if error_code == "InvalidSubnetID.NotFound":
|
|
81
|
+
raise ValueError(f"One or more subnet IDs not found: {subnets}") from e
|
|
82
|
+
raise ValueError(f"Failed to validate subnets: {e}") from e
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def _validate_security_groups(
|
|
86
|
+
ec2_client, security_groups: List[str], expected_vpc_id: str, warnings: List[str]
|
|
87
|
+
) -> None:
|
|
88
|
+
"""Validate security groups are in the expected VPC."""
|
|
89
|
+
try:
|
|
90
|
+
response = ec2_client.describe_security_groups(GroupIds=security_groups)
|
|
91
|
+
|
|
92
|
+
if len(response["SecurityGroups"]) != len(security_groups):
|
|
93
|
+
found_ids = {sg["GroupId"] for sg in response["SecurityGroups"]}
|
|
94
|
+
missing = set(security_groups) - found_ids
|
|
95
|
+
raise ValueError(f"Security group IDs not found: {missing}")
|
|
96
|
+
|
|
97
|
+
# Check all SGs are in same VPC
|
|
98
|
+
sg_vpcs = {sg["VpcId"] for sg in response["SecurityGroups"]}
|
|
99
|
+
|
|
100
|
+
if len(sg_vpcs) > 1:
|
|
101
|
+
raise ValueError(
|
|
102
|
+
f"All security groups must be in the same VPC. "
|
|
103
|
+
f"Found security groups in {len(sg_vpcs)} different VPCs: {sg_vpcs}"
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
sg_vpc_id = sg_vpcs.pop()
|
|
107
|
+
|
|
108
|
+
# Check SGs are in same VPC as subnets
|
|
109
|
+
if sg_vpc_id != expected_vpc_id:
|
|
110
|
+
raise ValueError(
|
|
111
|
+
f"Security groups must be in the same VPC as subnets. "
|
|
112
|
+
f"Subnets are in VPC {expected_vpc_id}, "
|
|
113
|
+
f"but security groups are in VPC {sg_vpc_id}"
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
log.info("✓ Validated %d security groups in VPC %s", len(security_groups), sg_vpc_id)
|
|
117
|
+
|
|
118
|
+
except ClientError as e:
|
|
119
|
+
error_code = e.response["Error"]["Code"]
|
|
120
|
+
if error_code == "InvalidGroup.NotFound":
|
|
121
|
+
raise ValueError(f"One or more security group IDs not found: {security_groups}") from e
|
|
122
|
+
raise ValueError(f"Failed to validate security groups: {e}") from e
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def check_network_immutability(
|
|
126
|
+
existing_network_mode: str,
|
|
127
|
+
existing_subnets: Optional[List[str]],
|
|
128
|
+
existing_security_groups: Optional[List[str]],
|
|
129
|
+
new_network_mode: str,
|
|
130
|
+
new_subnets: Optional[List[str]],
|
|
131
|
+
new_security_groups: Optional[List[str]],
|
|
132
|
+
) -> Optional[str]:
|
|
133
|
+
"""Check if network configuration is being changed (not allowed).
|
|
134
|
+
|
|
135
|
+
Returns:
|
|
136
|
+
Error message if change detected, None if no change
|
|
137
|
+
"""
|
|
138
|
+
# Check mode change
|
|
139
|
+
if existing_network_mode != new_network_mode:
|
|
140
|
+
return (
|
|
141
|
+
f"Cannot change network mode from {existing_network_mode} to {new_network_mode}. "
|
|
142
|
+
f"Network configuration is immutable after agent creation. "
|
|
143
|
+
f"Create a new agent for different network settings."
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
# If both PUBLIC, no further checks needed
|
|
147
|
+
if existing_network_mode == "PUBLIC":
|
|
148
|
+
return None
|
|
149
|
+
|
|
150
|
+
# Check VPC resource changes
|
|
151
|
+
if set(existing_subnets or []) != set(new_subnets or []):
|
|
152
|
+
return (
|
|
153
|
+
"Cannot change VPC subnets after agent creation. "
|
|
154
|
+
"Network configuration is immutable. "
|
|
155
|
+
"Create a new agent for different network settings."
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
if set(existing_security_groups or []) != set(new_security_groups or []):
|
|
159
|
+
return (
|
|
160
|
+
"Cannot change VPC security groups after agent creation. "
|
|
161
|
+
"Network configuration is immutable. "
|
|
162
|
+
"Create a new agent for different network settings."
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
return None
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
def verify_subnet_azs(ec2_client, subnets: List[str], region: str) -> List[str]:
|
|
169
|
+
"""Verify subnets are in supported AZs and return any issues."""
|
|
170
|
+
# Supported AZ IDs for us-west-2
|
|
171
|
+
SUPPORTED_AZS = {
|
|
172
|
+
"us-west-2": ["usw2-az1", "usw2-az2", "usw2-az3"],
|
|
173
|
+
"us-east-1": ["use1-az1", "use1-az2", "use1-az4"],
|
|
174
|
+
# Add other regions as needed
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
supported = SUPPORTED_AZS.get(region, [])
|
|
178
|
+
|
|
179
|
+
response = ec2_client.describe_subnets(SubnetIds=subnets)
|
|
180
|
+
issues = []
|
|
181
|
+
|
|
182
|
+
for subnet in response["Subnets"]:
|
|
183
|
+
subnet_id = subnet["SubnetId"]
|
|
184
|
+
az_id = subnet["AvailabilityZoneId"]
|
|
185
|
+
az_name = subnet["AvailabilityZone"]
|
|
186
|
+
|
|
187
|
+
if supported and az_id not in supported:
|
|
188
|
+
issues.append(
|
|
189
|
+
f"Subnet {subnet_id} is in AZ {az_name} (ID: {az_id}) "
|
|
190
|
+
f"which is NOT supported by AgentCore in {region}. "
|
|
191
|
+
f"Supported AZ IDs: {supported}"
|
|
192
|
+
)
|
|
193
|
+
else:
|
|
194
|
+
log.info("✓ Subnet %s is in supported AZ: %s (%s)", subnet_id, az_name, az_id)
|
|
195
|
+
|
|
196
|
+
return issues
|
|
@@ -128,6 +128,7 @@ class BedrockAgentCoreClient:
|
|
|
128
128
|
protocol_config: Optional[Dict] = None,
|
|
129
129
|
env_vars: Optional[Dict] = None,
|
|
130
130
|
auto_update_on_conflict: bool = False,
|
|
131
|
+
lifecycle_config: Optional[Dict] = None,
|
|
131
132
|
) -> Dict[str, str]:
|
|
132
133
|
"""Create new agent."""
|
|
133
134
|
self.logger.info("Creating agent '%s' with image URI: %s", agent_name, image_uri)
|
|
@@ -154,17 +155,20 @@ class BedrockAgentCoreClient:
|
|
|
154
155
|
if env_vars is not None:
|
|
155
156
|
params["environmentVariables"] = env_vars
|
|
156
157
|
|
|
158
|
+
if lifecycle_config is not None:
|
|
159
|
+
params["lifecycleConfiguration"] = lifecycle_config
|
|
160
|
+
|
|
157
161
|
resp = self.client.create_agent_runtime(**params)
|
|
158
162
|
agent_id = resp["agentRuntimeId"]
|
|
159
163
|
agent_arn = resp["agentRuntimeArn"]
|
|
160
164
|
self.logger.info("Successfully created agent '%s' with ID: %s, ARN: %s", agent_name, agent_id, agent_arn)
|
|
161
165
|
return {"id": agent_id, "arn": agent_arn}
|
|
166
|
+
|
|
162
167
|
except ClientError as e:
|
|
163
168
|
error_code = e.response.get("Error", {}).get("Code")
|
|
164
169
|
if error_code == "ConflictException":
|
|
165
170
|
if not auto_update_on_conflict:
|
|
166
171
|
self.logger.error("Agent '%s' already exists and auto_update_on_conflict is disabled", agent_name)
|
|
167
|
-
# Create a more helpful error message
|
|
168
172
|
raise ClientError(
|
|
169
173
|
{
|
|
170
174
|
"Error": {
|
|
@@ -226,6 +230,7 @@ class BedrockAgentCoreClient:
|
|
|
226
230
|
request_header_config: Optional[Dict] = None,
|
|
227
231
|
protocol_config: Optional[Dict] = None,
|
|
228
232
|
env_vars: Optional[Dict] = None,
|
|
233
|
+
lifecycle_config: Optional[Dict] = None,
|
|
229
234
|
) -> Dict[str, str]:
|
|
230
235
|
"""Update existing agent."""
|
|
231
236
|
self.logger.info("Updating agent ID '%s' with image URI: %s", agent_id, image_uri)
|
|
@@ -252,6 +257,9 @@ class BedrockAgentCoreClient:
|
|
|
252
257
|
if env_vars is not None:
|
|
253
258
|
params["environmentVariables"] = env_vars
|
|
254
259
|
|
|
260
|
+
if lifecycle_config is not None:
|
|
261
|
+
params["lifecycleConfiguration"] = lifecycle_config
|
|
262
|
+
|
|
255
263
|
resp = self.client.update_agent_runtime(**params)
|
|
256
264
|
agent_arn = resp["agentRuntimeArn"]
|
|
257
265
|
self.logger.info("Successfully updated agent ID '%s', ARN: %s", agent_id, agent_arn)
|
|
@@ -312,6 +320,7 @@ class BedrockAgentCoreClient:
|
|
|
312
320
|
protocol_config: Optional[Dict] = None,
|
|
313
321
|
env_vars: Optional[Dict] = None,
|
|
314
322
|
auto_update_on_conflict: bool = False,
|
|
323
|
+
lifecycle_config: Optional[Dict] = None,
|
|
315
324
|
) -> Dict[str, str]:
|
|
316
325
|
"""Create or update agent."""
|
|
317
326
|
if agent_id:
|
|
@@ -324,6 +333,7 @@ class BedrockAgentCoreClient:
|
|
|
324
333
|
request_header_config,
|
|
325
334
|
protocol_config,
|
|
326
335
|
env_vars,
|
|
336
|
+
lifecycle_config,
|
|
327
337
|
)
|
|
328
338
|
return self.create_agent(
|
|
329
339
|
agent_name,
|
|
@@ -335,6 +345,7 @@ class BedrockAgentCoreClient:
|
|
|
335
345
|
protocol_config,
|
|
336
346
|
env_vars,
|
|
337
347
|
auto_update_on_conflict,
|
|
348
|
+
lifecycle_config,
|
|
338
349
|
)
|
|
339
350
|
|
|
340
351
|
def wait_for_agent_endpoint_ready(self, agent_id: str, endpoint_name: str = "DEFAULT", max_wait: int = 120) -> str:
|
|
@@ -483,6 +494,37 @@ class BedrockAgentCoreClient:
|
|
|
483
494
|
"before-sign.bedrock-agentcore.InvokeAgentRuntime", handler_id
|
|
484
495
|
)
|
|
485
496
|
|
|
497
|
+
def stop_runtime_session(
|
|
498
|
+
self,
|
|
499
|
+
agent_arn: str,
|
|
500
|
+
session_id: str,
|
|
501
|
+
endpoint_name: str = "DEFAULT",
|
|
502
|
+
) -> Dict:
|
|
503
|
+
"""Stop a runtime session.
|
|
504
|
+
|
|
505
|
+
Args:
|
|
506
|
+
agent_arn: Agent ARN
|
|
507
|
+
session_id: Session ID to stop
|
|
508
|
+
endpoint_name: Endpoint name, defaults to "DEFAULT"
|
|
509
|
+
|
|
510
|
+
Returns:
|
|
511
|
+
Response with status code
|
|
512
|
+
|
|
513
|
+
Raises:
|
|
514
|
+
ClientError: If the operation fails, including ResourceNotFoundException
|
|
515
|
+
if the session doesn't exist
|
|
516
|
+
"""
|
|
517
|
+
self.logger.info("Stopping runtime session: %s", session_id)
|
|
518
|
+
|
|
519
|
+
response = self.dataplane_client.stop_runtime_session(
|
|
520
|
+
agentRuntimeArn=agent_arn,
|
|
521
|
+
qualifier=endpoint_name,
|
|
522
|
+
runtimeSessionId=session_id,
|
|
523
|
+
)
|
|
524
|
+
|
|
525
|
+
self.logger.info("Successfully stopped session: %s", session_id)
|
|
526
|
+
return response
|
|
527
|
+
|
|
486
528
|
|
|
487
529
|
class HttpBedrockAgentCoreClient:
|
|
488
530
|
"""Bedrock AgentCore client for agent management using HTTP requests with bearer token."""
|
|
@@ -576,10 +618,11 @@ class LocalBedrockAgentCoreClient:
|
|
|
576
618
|
session_id: str,
|
|
577
619
|
payload: str,
|
|
578
620
|
workload_access_token: str,
|
|
621
|
+
oauth2_callback_url: str,
|
|
579
622
|
custom_headers: Optional[dict] = None,
|
|
580
623
|
):
|
|
581
624
|
"""Invoke the endpoint with the given parameters."""
|
|
582
|
-
from bedrock_agentcore.runtime.models import ACCESS_TOKEN_HEADER, SESSION_HEADER
|
|
625
|
+
from bedrock_agentcore.runtime.models import ACCESS_TOKEN_HEADER, OAUTH2_CALLBACK_URL_HEADER, SESSION_HEADER
|
|
583
626
|
|
|
584
627
|
url = f"{self.endpoint}/invocations"
|
|
585
628
|
|
|
@@ -587,6 +630,7 @@ class LocalBedrockAgentCoreClient:
|
|
|
587
630
|
"Content-Type": "application/json",
|
|
588
631
|
ACCESS_TOKEN_HEADER: workload_access_token,
|
|
589
632
|
SESSION_HEADER: session_id,
|
|
633
|
+
OAUTH2_CALLBACK_URL_HEADER: oauth2_callback_url,
|
|
590
634
|
}
|
|
591
635
|
|
|
592
636
|
# Merge custom headers if provided
|
|
@@ -16,7 +16,7 @@ class MemoryConfig(BaseModel):
|
|
|
16
16
|
"""Memory configuration for BedrockAgentCore."""
|
|
17
17
|
|
|
18
18
|
mode: Literal["STM_ONLY", "STM_AND_LTM", "NO_MEMORY"] = Field(
|
|
19
|
-
default="
|
|
19
|
+
default="NO_MEMORY", description="Memory mode - opt-in feature"
|
|
20
20
|
)
|
|
21
21
|
memory_id: Optional[str] = Field(default=None, description="Memory resource ID")
|
|
22
22
|
memory_arn: Optional[str] = Field(default=None, description="Memory resource ARN")
|
|
@@ -99,6 +99,48 @@ class ProtocolConfiguration(BaseModel):
|
|
|
99
99
|
return {"serverProtocol": self.server_protocol}
|
|
100
100
|
|
|
101
101
|
|
|
102
|
+
class LifecycleConfiguration(BaseModel):
|
|
103
|
+
"""Lifecycle configuration for runtime sessions."""
|
|
104
|
+
|
|
105
|
+
idle_runtime_session_timeout: Optional[int] = Field(
|
|
106
|
+
default=None,
|
|
107
|
+
description="Timeout in seconds for idle runtime sessions (60-28800)",
|
|
108
|
+
ge=60,
|
|
109
|
+
le=28800,
|
|
110
|
+
)
|
|
111
|
+
max_lifetime: Optional[int] = Field(
|
|
112
|
+
default=None, description="Maximum lifetime for the instance in seconds (60-28800)", ge=60, le=28800
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
@field_validator("max_lifetime")
|
|
116
|
+
@classmethod
|
|
117
|
+
def validate_lifecycle_relationship(cls, v: Optional[int], info) -> Optional[int]:
|
|
118
|
+
"""Validate that max_lifetime >= idle_timeout if both are set."""
|
|
119
|
+
if v is None:
|
|
120
|
+
return v
|
|
121
|
+
|
|
122
|
+
idle = info.data.get("idle_runtime_session_timeout")
|
|
123
|
+
if idle is not None and v < idle:
|
|
124
|
+
raise ValueError(
|
|
125
|
+
f"max_lifetime ({v}s) must be greater than or equal to idle_runtime_session_timeout ({idle}s)"
|
|
126
|
+
)
|
|
127
|
+
return v
|
|
128
|
+
|
|
129
|
+
def to_aws_dict(self) -> dict:
|
|
130
|
+
"""Convert to AWS API format with camelCase keys."""
|
|
131
|
+
result = {}
|
|
132
|
+
if self.idle_runtime_session_timeout is not None:
|
|
133
|
+
result["idleRuntimeSessionTimeout"] = self.idle_runtime_session_timeout
|
|
134
|
+
if self.max_lifetime is not None:
|
|
135
|
+
result["maxLifetime"] = self.max_lifetime
|
|
136
|
+
return result
|
|
137
|
+
|
|
138
|
+
@property
|
|
139
|
+
def has_custom_settings(self) -> bool:
|
|
140
|
+
"""Check if any custom lifecycle settings are configured."""
|
|
141
|
+
return self.idle_runtime_session_timeout is not None or self.max_lifetime is not None
|
|
142
|
+
|
|
143
|
+
|
|
102
144
|
class ObservabilityConfig(BaseModel):
|
|
103
145
|
"""Observability configuration."""
|
|
104
146
|
|
|
@@ -117,6 +159,7 @@ class AWSConfig(BaseModel):
|
|
|
117
159
|
network_configuration: NetworkConfiguration = Field(default_factory=NetworkConfiguration)
|
|
118
160
|
protocol_configuration: ProtocolConfiguration = Field(default_factory=ProtocolConfiguration)
|
|
119
161
|
observability: ObservabilityConfig = Field(default_factory=ObservabilityConfig)
|
|
162
|
+
lifecycle_configuration: LifecycleConfiguration = Field(default_factory=LifecycleConfiguration)
|
|
120
163
|
|
|
121
164
|
@field_validator("account")
|
|
122
165
|
@classmethod
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bedrock-agentcore-starter-toolkit
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.27
|
|
4
4
|
Summary: A starter toolkit for using Bedrock AgentCore
|
|
5
5
|
Project-URL: Homepage, https://github.com/aws/bedrock-agentcore-starter-toolkit
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/aws/bedrock-agentcore-starter-toolkit/issues
|
|
@@ -22,9 +22,9 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
22
22
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Requires-Dist: autopep8>=2.3.2
|
|
25
|
-
Requires-Dist: bedrock-agentcore>=0.
|
|
26
|
-
Requires-Dist: boto3>=1.40.
|
|
27
|
-
Requires-Dist: botocore>=1.40.
|
|
25
|
+
Requires-Dist: bedrock-agentcore>=1.0.3
|
|
26
|
+
Requires-Dist: boto3>=1.40.51
|
|
27
|
+
Requires-Dist: botocore>=1.40.51
|
|
28
28
|
Requires-Dist: docstring-parser<1.0,>=0.15
|
|
29
29
|
Requires-Dist: httpx>=0.28.1
|
|
30
30
|
Requires-Dist: jinja2>=3.1.6
|
|
@@ -32,12 +32,13 @@ Requires-Dist: openapi-spec-validator>=0.7.2
|
|
|
32
32
|
Requires-Dist: prance>=25.4.8.0
|
|
33
33
|
Requires-Dist: prompt-toolkit>=3.0.51
|
|
34
34
|
Requires-Dist: py-openapi-schema-to-json-schema>=0.0.3
|
|
35
|
-
Requires-Dist: pydantic<
|
|
35
|
+
Requires-Dist: pydantic<2.41.3,>=2.0.0
|
|
36
36
|
Requires-Dist: pyyaml>=6.0.2
|
|
37
37
|
Requires-Dist: questionary>=2.1.0
|
|
38
38
|
Requires-Dist: requests>=2.25.0
|
|
39
39
|
Requires-Dist: rich>=13.0.0
|
|
40
40
|
Requires-Dist: ruamel-yaml>=0.18.14
|
|
41
|
+
Requires-Dist: starlette>=0.46.2
|
|
41
42
|
Requires-Dist: toml>=0.10.2
|
|
42
43
|
Requires-Dist: typer>=0.16.0
|
|
43
44
|
Requires-Dist: typing-extensions<5.0.0,>=4.13.2
|
|
@@ -82,38 +83,38 @@ Amazon Bedrock AgentCore includes the following modular Services that you can us
|
|
|
82
83
|
## 🚀 Amazon Bedrock AgentCore Runtime
|
|
83
84
|
AgentCore Runtime is a secure, serverless runtime purpose-built for deploying and scaling dynamic AI agents and tools using any open-source framework including LangGraph, CrewAI, and Strands Agents, any protocol, and any model. Runtime was built to work for agentic workloads with industry-leading extended runtime support, fast cold starts, true session isolation, built-in identity, and support for multi-modal payloads. Developers can focus on innovation while Amazon Bedrock AgentCore Runtime handles infrastructure and security -- accelerating time-to-market
|
|
84
85
|
|
|
85
|
-
**[Runtime Quick Start](https://aws.
|
|
86
|
+
**[Runtime Quick Start](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-get-started-toolkit.html)**
|
|
86
87
|
|
|
87
88
|
## 🧠 Amazon Bedrock AgentCore Memory
|
|
88
89
|
AgentCore Memory makes it easy for developers to build context aware agents by eliminating complex memory infrastructure management while providing full control over what the AI agent remembers. Memory provides industry-leading accuracy along with support for both short-term memory for multi-turn conversations and long-term memory that can be shared across agents and sessions.
|
|
89
90
|
|
|
90
91
|
|
|
91
|
-
**[Memory Quick Start](https://aws.
|
|
92
|
+
**[Memory Quick Start](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory-get-started.html)**
|
|
92
93
|
|
|
93
94
|
## 🔗 Amazon Bedrock AgentCore Gateway
|
|
94
95
|
Amazon Bedrock AgentCore Gateway acts as a managed Model Context Protocol (MCP) server that converts APIs and Lambda functions into MCP tools that agents can use. Gateway manages the complexity of OAuth ingress authorization and secure egress credential exchange, making standing up remote MCP servers easier and more secure. Gateway also offers composition and built-in semantic search over tools, enabling developers to scale their agents to use hundreds or thousands of tools.
|
|
95
96
|
|
|
96
|
-
**[Gateway Quick Start](https://aws.
|
|
97
|
+
**[Gateway Quick Start](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-quick-start.html)**
|
|
97
98
|
|
|
98
99
|
## 💻 Amazon Bedrock AgentCore Code Interpreter
|
|
99
100
|
AgentCore Code Interpreter tool enables agents to securely execute code in isolated sandbox environments. It offers advanced configuration support and seamless integration with popular frameworks. Developers can build powerful agents for complex workflows and data analysis while meeting enterprise security requirements.
|
|
100
101
|
|
|
101
|
-
**[Code Interpreter Quick Start](https://aws.
|
|
102
|
+
**[Code Interpreter Quick Start](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/code-interpreter-getting-started.html)**
|
|
102
103
|
|
|
103
104
|
## 🌐 Amazon Bedrock AgentCore Browser
|
|
104
105
|
AgentCore Browser tool provides a fast, secure, cloud-based browser runtime to enable AI agents to interact with websites at scale. It provides enterprise-grade security, comprehensive observability features, and automatically scales— all without infrastructure management overhead.
|
|
105
106
|
|
|
106
|
-
**[Browser Quick Start](https://aws.
|
|
107
|
+
**[Browser Quick Start](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/browser-onboarding.html)**
|
|
107
108
|
|
|
108
109
|
## 📊 Amazon Bedrock AgentCore Observability
|
|
109
110
|
AgentCore Observability helps developers trace, debug, and monitor agent performance in production through unified operational dashboards. With support for OpenTelemetry compatible telemetry and detailed visualizations of each step of the agent workflow, AgentCore enables developers to easily gain visibility into agent behavior and maintain quality standards at scale.
|
|
110
111
|
|
|
111
|
-
**[Observability Quick Start](https://aws.
|
|
112
|
+
**[Observability Quick Start](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability-get-started.html)**
|
|
112
113
|
|
|
113
114
|
## 🔐 Amazon Bedrock AgentCore Identity
|
|
114
115
|
AgentCore Identity provides a secure, scalable agent identity and access management capability accelerating AI agent development. It is compatible with existing identity providers, eliminating needs for user migration or rebuilding authentication flows. AgentCore Identity's helps to minimize consent fatigue with a secure token vault and allows you to build streamlined AI agent experiences. Just-enough access and secure permission delegation allow agents to securely access AWS resources and third-party tools and services.
|
|
115
116
|
|
|
116
|
-
**[Identity Quick Start](https://aws.
|
|
117
|
+
**[Identity Quick Start](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/identity-getting-started-cognito.html)**
|
|
117
118
|
|
|
118
119
|
## 🔐 Import Amazon Bedrock Agents to Bedrock AgentCore
|
|
119
120
|
AgentCore Import-Agent enables seamless migration of existing Amazon Bedrock Agents to LangChain/LangGraph or Strands frameworks while automatically integrating AgentCore primitives like Memory, Code Interpreter, and Gateway. Developers can migrate agents in minutes with full feature parity and deploy directly to AgentCore Runtime for serverless operation.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
bedrock_agentcore_starter_toolkit/__init__.py,sha256=tN3-JWKvxk4ZSJQJIHQ4mMsDtt8J_cDCz-drcGU9USA,120
|
|
2
2
|
bedrock_agentcore_starter_toolkit/cli/__init__.py,sha256=WuIWfHtJKD9gQA-mE49bq8OHGb0Ugt8upRGaOp6-H90,62
|
|
3
|
-
bedrock_agentcore_starter_toolkit/cli/cli.py,sha256=
|
|
3
|
+
bedrock_agentcore_starter_toolkit/cli/cli.py,sha256=c_I3a5nCJicaWZM1EO39JU7iTKM11zwlyNNtv8wsmhg,1149
|
|
4
4
|
bedrock_agentcore_starter_toolkit/cli/common.py,sha256=kwcoGhcDGLGJSxC7SxAersG7PBBg3oxldmJ6wqbt8Oc,1295
|
|
5
5
|
bedrock_agentcore_starter_toolkit/cli/gateway/__init__.py,sha256=8IZ0kSe6Kz5s2j-SBsoc6qy04MbK85RMTQwZCiR2wmo,68
|
|
6
6
|
bedrock_agentcore_starter_toolkit/cli/gateway/commands.py,sha256=3DuXCvqXlmHU2cmjGzDruyc2Fkrpgoi158myj0vc3nA,3265
|
|
@@ -9,11 +9,11 @@ bedrock_agentcore_starter_toolkit/cli/import_agent/__init__.py,sha256=tyM3dXM3Tc
|
|
|
9
9
|
bedrock_agentcore_starter_toolkit/cli/import_agent/agent_info.py,sha256=CcPXbKNnI9fc7NyFmZBjB3PkB0wAz2Q_kBGoUVcnngA,9736
|
|
10
10
|
bedrock_agentcore_starter_toolkit/cli/import_agent/commands.py,sha256=vpA66fGwKf6cxBelT3Yb_Af5Ow3AMquGLIDe-tBLjmc,22419
|
|
11
11
|
bedrock_agentcore_starter_toolkit/cli/runtime/__init__.py,sha256=0zKPPoYThoDIr3DZhIQJavq5nVTKRsgcE1s9--wx118,60
|
|
12
|
-
bedrock_agentcore_starter_toolkit/cli/runtime/commands.py,sha256=
|
|
13
|
-
bedrock_agentcore_starter_toolkit/cli/runtime/configuration_manager.py,sha256=
|
|
12
|
+
bedrock_agentcore_starter_toolkit/cli/runtime/commands.py,sha256=1ZQmPi30L-n2IlqwIiIHoARWmsR1ntcNYpJ4f3VMZRo,66966
|
|
13
|
+
bedrock_agentcore_starter_toolkit/cli/runtime/configuration_manager.py,sha256=I8Ptl7HIKLsczVMBPonaAYXnOOqm1-vi3FkOdVR6aCE,17003
|
|
14
14
|
bedrock_agentcore_starter_toolkit/notebook/__init__.py,sha256=wH1ZzIVKsKT_P0qX2kIIoyVxeHj8K40odfR1YI3McHw,129
|
|
15
15
|
bedrock_agentcore_starter_toolkit/notebook/runtime/__init__.py,sha256=DoGfB_uGFLANJVE9rSZtTH3ymw76WBWmD9vORvBIdXs,66
|
|
16
|
-
bedrock_agentcore_starter_toolkit/notebook/runtime/bedrock_agentcore.py,sha256=
|
|
16
|
+
bedrock_agentcore_starter_toolkit/notebook/runtime/bedrock_agentcore.py,sha256=SZUaoKGpHW5RsmivB_qUf5XqDNCxSpvq3xOyiHeHnqU,27319
|
|
17
17
|
bedrock_agentcore_starter_toolkit/operations/__init__.py,sha256=L7sCNjfZviiVVoh2f3NEs2sbjNqFkmIRI3ZPYMMWMz0,51
|
|
18
18
|
bedrock_agentcore_starter_toolkit/operations/gateway/__init__.py,sha256=5Qo1GeN-DghNp9g0coFUs7WpUJDboJoidOVs-5Co7fo,233
|
|
19
19
|
bedrock_agentcore_starter_toolkit/operations/gateway/client.py,sha256=9KQzRAEGWbBDVVacdB1GqN_HJ06vwTBs6tLwfxYROoY,26498
|
|
@@ -21,10 +21,12 @@ bedrock_agentcore_starter_toolkit/operations/gateway/constants.py,sha256=0_4J6BN
|
|
|
21
21
|
bedrock_agentcore_starter_toolkit/operations/gateway/create_lambda.py,sha256=mAzXvi5hetzN2iv0ITfx6PDbOgeLOjqt71zzaDpKHnw,2876
|
|
22
22
|
bedrock_agentcore_starter_toolkit/operations/gateway/create_role.py,sha256=Oma9s6K4T9EFgwPAUDungDL9fGa3W0LsHBknIXUmSpI,4474
|
|
23
23
|
bedrock_agentcore_starter_toolkit/operations/gateway/exceptions.py,sha256=WjsrE7lT2708CJniM_ISMzkfNX4IUteGgvOxleD9JZY,272
|
|
24
|
+
bedrock_agentcore_starter_toolkit/operations/identity/__init__.py,sha256=8gMJRmRmHy1_MJs4oJnM3RlkMgfx204EcvyIxRoP3oQ,193
|
|
25
|
+
bedrock_agentcore_starter_toolkit/operations/identity/oauth2_callback_server.py,sha256=2FlCvjxbNOP6d0ciRZ7QIXHmyJIEIN8FSSGBONEYaZc,3669
|
|
24
26
|
bedrock_agentcore_starter_toolkit/operations/memory/README.md,sha256=VHmdCoZImRVsiDvCnKbnt4btO5fOkfeKmoludgSbKwM,31139
|
|
25
27
|
bedrock_agentcore_starter_toolkit/operations/memory/__init__.py,sha256=PAj25QAlnlvjaQIgfIpfxXXVXu5BTOXy-xDMDh6_HIc,59
|
|
26
28
|
bedrock_agentcore_starter_toolkit/operations/memory/constants.py,sha256=0HWpxJZXmnmekIEW5TJjn9KmEqVi_REJzUN1l68ohYQ,3226
|
|
27
|
-
bedrock_agentcore_starter_toolkit/operations/memory/manager.py,sha256=
|
|
29
|
+
bedrock_agentcore_starter_toolkit/operations/memory/manager.py,sha256=miGo2P3kzMM2ExBgL0jdPOIBih5GA5PqgJF3tq29uYE,44248
|
|
28
30
|
bedrock_agentcore_starter_toolkit/operations/memory/strategy_validator.py,sha256=s01xd0x2cMNweuQdB6Fiyxz3RU3mTkHUC5zFW28jfXE,18754
|
|
29
31
|
bedrock_agentcore_starter_toolkit/operations/memory/models/DictWrapper.py,sha256=GtPnR2NoZ9BXZX4fFYupG97T-YEet2NrBFlaDZIS-gM,1693
|
|
30
32
|
bedrock_agentcore_starter_toolkit/operations/memory/models/Memory.py,sha256=As1b9al57zlYWUAHcwIuHjL-6QAsfH_zhxD8xU9gh3I,424
|
|
@@ -32,24 +34,27 @@ bedrock_agentcore_starter_toolkit/operations/memory/models/MemoryStrategy.py,sha
|
|
|
32
34
|
bedrock_agentcore_starter_toolkit/operations/memory/models/MemorySummary.py,sha256=H5Itj_R3XKaUHJk4_8N_ViAfwkI-9wDhBrmOQq570Sw,469
|
|
33
35
|
bedrock_agentcore_starter_toolkit/operations/memory/models/__init__.py,sha256=zyBO5bICw6otL528wNwkNl1BJ8BLyW0BfoVyD5hepbQ,2997
|
|
34
36
|
bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/__init__.py,sha256=rn9PQKaNkxQrSSWJ_QLST9XjAkcL8rSyWg1w8kvLf7I,1617
|
|
35
|
-
bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/base.py,sha256=
|
|
37
|
+
bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/base.py,sha256=zLRNF6kCqNjApL8HoXsJFGotqJLnLFDxjybxgMjP7po,2702
|
|
36
38
|
bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/custom.py,sha256=6PSRoY2DTMca1Lb40b9YC5nCRZblkFVarvTP3qRDuXU,7544
|
|
39
|
+
bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/self_managed.py,sha256=LJtlo-NSgNeZaAklp1VJZTM_kcD5tDtgCXdHHPLGn6g,4208
|
|
37
40
|
bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/semantic.py,sha256=Dp5L_zSojst8YSWRDMolFIbfQ72vqEeFlK9sPJKQ_I4,1073
|
|
38
41
|
bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/summary.py,sha256=X0sVh-6Hw9PPnpPQucG_M7gVyXUiElZInFXBN8WDFUQ,1015
|
|
39
42
|
bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/user_preference.py,sha256=JJPAzt_Shix5a-RJEf7xOEzN5kxtX3dpP8xoMvry61U,996
|
|
40
|
-
bedrock_agentcore_starter_toolkit/operations/runtime/__init__.py,sha256=
|
|
41
|
-
bedrock_agentcore_starter_toolkit/operations/runtime/configure.py,sha256=
|
|
43
|
+
bedrock_agentcore_starter_toolkit/operations/runtime/__init__.py,sha256=YhRXupUdNAfR5GNbwQOHk-YJs5bHh_km01e_e4kk5uk,1123
|
|
44
|
+
bedrock_agentcore_starter_toolkit/operations/runtime/configure.py,sha256=vG3Bg--TvL8SpEqMaolLeLlXnPFBdMPUKBG_Q3-vOH8,24076
|
|
42
45
|
bedrock_agentcore_starter_toolkit/operations/runtime/create_role.py,sha256=1-b_wBvkOXNh-HJsxATwHfXQqj0dpdETds0FNSTY0BE,16116
|
|
43
46
|
bedrock_agentcore_starter_toolkit/operations/runtime/destroy.py,sha256=iyAH1-D734cmiluASGMcp3wwXZ10IlhKi-acsGEQ8Yk,26204
|
|
44
47
|
bedrock_agentcore_starter_toolkit/operations/runtime/exceptions.py,sha256=7iZNVbsz5XyvnpMM4paJb5_LT6DYdEI3nHhM9f3BERE,869
|
|
45
|
-
bedrock_agentcore_starter_toolkit/operations/runtime/invoke.py,sha256=
|
|
46
|
-
bedrock_agentcore_starter_toolkit/operations/runtime/launch.py,sha256=
|
|
47
|
-
bedrock_agentcore_starter_toolkit/operations/runtime/models.py,sha256=
|
|
48
|
-
bedrock_agentcore_starter_toolkit/operations/runtime/status.py,sha256=
|
|
48
|
+
bedrock_agentcore_starter_toolkit/operations/runtime/invoke.py,sha256=3V_PqQdHpVISzlkglYvDgpDZKUPJc7fJJiuYa4hhimM,6074
|
|
49
|
+
bedrock_agentcore_starter_toolkit/operations/runtime/launch.py,sha256=iDtAD4qMvbiYWN4RbYVI44SfVLUJfsddfaIewYuzHwY,38366
|
|
50
|
+
bedrock_agentcore_starter_toolkit/operations/runtime/models.py,sha256=ifUyYf4EelQvnnNdKNyZ6c7zIYmVet-rC5q43P2aAuk,6026
|
|
51
|
+
bedrock_agentcore_starter_toolkit/operations/runtime/status.py,sha256=gbtJ9K6FlGA0TSeV_QjRdHhDVJbupEyaZ8JT0kIsCrg,6905
|
|
52
|
+
bedrock_agentcore_starter_toolkit/operations/runtime/stop_session.py,sha256=grX2R0VpHGOhoHjRmG1EIfuvW3jDFG-rivA7RJXnVVU,4615
|
|
53
|
+
bedrock_agentcore_starter_toolkit/operations/runtime/vpc_validation.py,sha256=V2pWjs3r69JDYUW3jz77pUGihR7KhhglfabuJ4xO9LA,6867
|
|
49
54
|
bedrock_agentcore_starter_toolkit/services/__init__.py,sha256=s7QtYYFCCX2ff0gZHUdDxCDI3zhUq0fPsjevZbF9xdA,66
|
|
50
55
|
bedrock_agentcore_starter_toolkit/services/codebuild.py,sha256=CA4OgkMiZPbV6KBFswBLlSuaWgcH1wnTmRnvSEmHxpc,15925
|
|
51
56
|
bedrock_agentcore_starter_toolkit/services/ecr.py,sha256=a9VpxIzYohPvAiAsl9jPp5vZcalCxt9LpqW4S7CdFPo,3991
|
|
52
|
-
bedrock_agentcore_starter_toolkit/services/runtime.py,sha256=
|
|
57
|
+
bedrock_agentcore_starter_toolkit/services/runtime.py,sha256=43UW_K7WDZ8ysQNGWnEuXX2tfey6ZscMaVqE0ZiWSJI,23833
|
|
53
58
|
bedrock_agentcore_starter_toolkit/services/xray.py,sha256=CRlcfVXpghVy7PvZqLUC4rp49Sw5DQ98rUU61HAluRM,6363
|
|
54
59
|
bedrock_agentcore_starter_toolkit/services/import_agent/__init__.py,sha256=ig-xanZqA3oJdRTucYz9xF9_2yi31ADRVIKFsnIw_l4,68
|
|
55
60
|
bedrock_agentcore_starter_toolkit/services/import_agent/utils.py,sha256=yCnzqv3S8sbQi6ArTz3MeR4ggRcojbAgMbBb7KAf0sA,16077
|
|
@@ -68,14 +73,14 @@ bedrock_agentcore_starter_toolkit/utils/runtime/container.py,sha256=OuKhOKB051c_
|
|
|
68
73
|
bedrock_agentcore_starter_toolkit/utils/runtime/entrypoint.py,sha256=d-XjEwvQOdpRHvBGLdIBCs1fgUwNwB0EL_WkcdQXwXQ,5893
|
|
69
74
|
bedrock_agentcore_starter_toolkit/utils/runtime/logs.py,sha256=ZZ9PD4QO0BSms5KphhUb3-6-IPTkmwkY-Zn2AWM9Aew,1601
|
|
70
75
|
bedrock_agentcore_starter_toolkit/utils/runtime/policy_template.py,sha256=CgER7YXPh0BpR6JcTcumDL_k8bhmfLSEok1sf09-31I,2054
|
|
71
|
-
bedrock_agentcore_starter_toolkit/utils/runtime/schema.py,sha256=
|
|
76
|
+
bedrock_agentcore_starter_toolkit/utils/runtime/schema.py,sha256=BB3fONUsvf5vQyQyoC3xa1s5OwgQh9FEVgl_bgrkEAA,11390
|
|
72
77
|
bedrock_agentcore_starter_toolkit/utils/runtime/templates/Dockerfile.j2,sha256=7vu1Mbo5m1M7gE0SQZ6iFkZppTho8w4BoOe0yYyJjug,1487
|
|
73
78
|
bedrock_agentcore_starter_toolkit/utils/runtime/templates/dockerignore.template,sha256=IDKPnAiCdMLjuvLdItzQiybCW--SEvHAN2yr-B5Mxj4,711
|
|
74
79
|
bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_policy.json.j2,sha256=BnVE3ofq2PCrl56VFjilG1RkJEiZ2L3MM2wFok7XTaU,5667
|
|
75
80
|
bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_trust_policy.json.j2,sha256=PPJF6Ofq70W5DUE0NlbmnZjw5RkgepPgkskxEgEG28o,473
|
|
76
|
-
bedrock_agentcore_starter_toolkit-0.1.
|
|
77
|
-
bedrock_agentcore_starter_toolkit-0.1.
|
|
78
|
-
bedrock_agentcore_starter_toolkit-0.1.
|
|
79
|
-
bedrock_agentcore_starter_toolkit-0.1.
|
|
80
|
-
bedrock_agentcore_starter_toolkit-0.1.
|
|
81
|
-
bedrock_agentcore_starter_toolkit-0.1.
|
|
81
|
+
bedrock_agentcore_starter_toolkit-0.1.27.dist-info/METADATA,sha256=T53v1Ija4dWU034rkjSW8I35R_p2MyL8YVe5CGc3zfE,9923
|
|
82
|
+
bedrock_agentcore_starter_toolkit-0.1.27.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
83
|
+
bedrock_agentcore_starter_toolkit-0.1.27.dist-info/entry_points.txt,sha256=Tf94DkUf2Tp8P7p8MEXLxre7A7Pp_XNukteiz0wHnk8,77
|
|
84
|
+
bedrock_agentcore_starter_toolkit-0.1.27.dist-info/licenses/LICENSE.txt,sha256=nNPOMinitYdtfbhdQgsPgz1UowBznU6QVN3Xs0pSTKU,10768
|
|
85
|
+
bedrock_agentcore_starter_toolkit-0.1.27.dist-info/licenses/NOTICE.txt,sha256=rkBsg8DbKqfIoQbveqX9foR4uJPUVAokbkr02pRPilE,8674
|
|
86
|
+
bedrock_agentcore_starter_toolkit-0.1.27.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|