@aws/agentcore 1.0.0-preview.22 → 1.0.0-preview.24

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 (64) hide show
  1. package/dist/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +58 -37
  2. package/dist/assets/__tests__/googleadk-observability.test.ts +23 -0
  3. package/dist/assets/cdk/package.json +9 -9
  4. package/dist/assets/mcp/python/pyproject.toml +1 -1
  5. package/dist/assets/python/a2a/googleadk/base/main.py +8 -2
  6. package/dist/assets/python/a2a/googleadk/base/pyproject.toml +6 -4
  7. package/dist/assets/python/a2a/langchain_langgraph/base/main.py +11 -5
  8. package/dist/assets/python/a2a/langchain_langgraph/base/pyproject.toml +2 -2
  9. package/dist/assets/python/a2a/strands/base/pyproject.toml +1 -1
  10. package/dist/assets/python/agui/googleadk/base/pyproject.toml +3 -2
  11. package/dist/assets/python/http/autogen/base/README.md +2 -1
  12. package/dist/assets/python/http/googleadk/base/README.md +2 -1
  13. package/dist/assets/python/http/googleadk/base/pyproject.toml +3 -2
  14. package/dist/assets/python/http/langchain_langgraph/base/README.md +2 -1
  15. package/dist/assets/python/http/langchain_langgraph/base/pyproject.toml +2 -2
  16. package/dist/assets/python/http/openaiagents/base/README.md +2 -1
  17. package/dist/assets/python/http/strands/base/README.md +2 -1
  18. package/dist/assets/python/http/strands/base/pyproject.toml +1 -1
  19. package/dist/assets/python/mcp/standalone/base/pyproject.toml +1 -1
  20. package/dist/cli/index.mjs +550 -539
  21. package/dist/lib/dependency-management/index.d.ts +5 -0
  22. package/dist/lib/dependency-management/index.d.ts.map +1 -0
  23. package/dist/lib/dependency-management/index.js +8 -0
  24. package/dist/lib/dependency-management/index.js.map +1 -0
  25. package/dist/lib/dependency-management/messages.d.ts +30 -0
  26. package/dist/lib/dependency-management/messages.d.ts.map +1 -0
  27. package/dist/lib/dependency-management/messages.js +86 -0
  28. package/dist/lib/dependency-management/messages.js.map +1 -0
  29. package/dist/lib/dependency-management/plan.d.ts +25 -0
  30. package/dist/lib/dependency-management/plan.d.ts.map +1 -0
  31. package/dist/lib/dependency-management/plan.js +67 -0
  32. package/dist/lib/dependency-management/plan.js.map +1 -0
  33. package/dist/lib/dependency-management/semver.d.ts +21 -0
  34. package/dist/lib/dependency-management/semver.d.ts.map +1 -0
  35. package/dist/lib/dependency-management/semver.js +51 -0
  36. package/dist/lib/dependency-management/semver.js.map +1 -0
  37. package/dist/lib/dependency-management/sync.d.ts +26 -0
  38. package/dist/lib/dependency-management/sync.d.ts.map +1 -0
  39. package/dist/lib/dependency-management/sync.js +141 -0
  40. package/dist/lib/dependency-management/sync.js.map +1 -0
  41. package/dist/lib/dependency-management/types.d.ts +85 -0
  42. package/dist/lib/dependency-management/types.d.ts.map +1 -0
  43. package/dist/lib/dependency-management/types.js +3 -0
  44. package/dist/lib/dependency-management/types.js.map +1 -0
  45. package/dist/lib/errors/types.d.ts +15 -0
  46. package/dist/lib/errors/types.d.ts.map +1 -1
  47. package/dist/lib/errors/types.js +22 -1
  48. package/dist/lib/errors/types.js.map +1 -1
  49. package/dist/lib/result.d.ts +7 -0
  50. package/dist/lib/result.d.ts.map +1 -1
  51. package/dist/lib/result.js +14 -1
  52. package/dist/lib/result.js.map +1 -1
  53. package/dist/lib/schemas/io/global-config.d.ts +1 -0
  54. package/dist/lib/schemas/io/global-config.d.ts.map +1 -1
  55. package/dist/lib/schemas/io/global-config.js +1 -0
  56. package/dist/lib/schemas/io/global-config.js.map +1 -1
  57. package/npm-shrinkwrap.json +470 -567
  58. package/package.json +8 -2
  59. package/scripts/extract-cli-model.mjs +47 -6
  60. package/scripts/extract-cli-model.test.mjs +43 -0
  61. package/scripts/render_adoc.py +81 -5
  62. package/scripts/safe-junit-reporter.ts +7 -0
  63. package/scripts/sanitize-test-artifacts.ts +65 -0
  64. package/scripts/test_render_adoc.py +38 -0
@@ -636,18 +636,18 @@ exports[`Assets Directory Snapshots > CDK assets > cdk/cdk/package.json should m
636
636
  "format:check": "prettier --check ."
637
637
  },
638
638
  "devDependencies": {
639
- "@types/jest": "^29.5.14",
640
- "@types/node": "^24.10.1",
641
- "jest": "^29.7.0",
642
- "ts-jest": "^29.2.5",
643
- "aws-cdk": "2.1126.0",
644
- "prettier": "^3.4.2",
639
+ "@types/jest": "~29.5.14",
640
+ "@types/node": "~24.13.3",
641
+ "jest": "~29.7.0",
642
+ "ts-jest": "~29.4.11",
643
+ "aws-cdk": "~2.1126.0",
644
+ "prettier": "~3.9.5",
645
645
  "typescript": "~5.9.3"
646
646
  },
647
647
  "dependencies": {
648
- "@aws/agentcore-cdk": "^0.1.0-alpha.19",
649
- "aws-cdk-lib": "^2.248.0",
650
- "constructs": "^10.0.0"
648
+ "@aws/agentcore-cdk": "0.1.0-alpha.45",
649
+ "aws-cdk-lib": "~2.261.0",
650
+ "constructs": "~10.7.0"
651
651
  }
652
652
  }
653
653
  "
@@ -904,7 +904,7 @@ description = "MCP Server demonstrating HTTP tool patterns"
904
904
  readme = "README.md"
905
905
  requires-python = ">=3.10"
906
906
  dependencies = [
907
- "mcp[cli] >= 1.2.0",
907
+ "mcp[cli] ~= 1.24.0",
908
908
  "httpx >= 0.27.0",
909
909
  "opentelemetry-distro",
910
910
  "opentelemetry-exporter-otlp",
@@ -1311,7 +1311,7 @@ from google.adk.agents import Agent
1311
1311
  from google.adk.a2a.executor.a2a_agent_executor import A2aAgentExecutor
1312
1312
  from google.adk.runners import Runner
1313
1313
  from google.adk.sessions import InMemorySessionService
1314
- from a2a.types import AgentCapabilities, AgentCard, AgentSkill
1314
+ from a2a.types import AgentCapabilities, AgentCard, AgentInterface, AgentSkill
1315
1315
  from bedrock_agentcore.runtime import serve_a2a
1316
1316
  from model.load import load_model
1317
1317
 
@@ -1405,7 +1405,6 @@ runner = Runner(
1405
1405
  card = AgentCard(
1406
1406
  name=agent.name,
1407
1407
  description=agent.description,
1408
- url="http://localhost:9000/",
1409
1408
  version="0.1.0",
1410
1409
  capabilities=AgentCapabilities(streaming=True),
1411
1410
  skills=[
@@ -1418,6 +1417,13 @@ card = AgentCard(
1418
1417
  ],
1419
1418
  default_input_modes=["text"],
1420
1419
  default_output_modes=["text"],
1420
+ supported_interfaces=[
1421
+ AgentInterface(
1422
+ protocol_binding="JSONRPC",
1423
+ protocol_version="1.0",
1424
+ url="http://localhost:9000/",
1425
+ )
1426
+ ],
1421
1427
  )
1422
1428
 
1423
1429
  if __name__ == "__main__":
@@ -1487,11 +1493,13 @@ description = "AgentCore A2A Agent using Google ADK"
1487
1493
  readme = "README.md"
1488
1494
  requires-python = ">=3.10"
1489
1495
  dependencies = [
1490
- "a2a-sdk >= 0.2.0, < 1.0.0",
1496
+ "a2a-sdk[http-server] >= 1.0.1, < 2.0.0",
1491
1497
  "aws-opentelemetry-distro",
1492
- "bedrock-agentcore[a2a] >= 1.0.3",
1493
- "google-adk >= 1.0.0, < 2.0.0",
1494
- "google-genai >= 1.0.0, < 2.0.0",
1498
+ "bedrock-agentcore[a2a-v1] >= 1.19.0",
1499
+ "google-adk[a2a] >= 2.5.0, < 3.0.0",
1500
+ "google-genai >= 2.9.0, < 3.0.0",
1501
+ # 1.13.0 was yanked for broken imports.
1502
+ "opentelemetry-resourcedetector-gcp >= 1.9.0a0, < 2.0.0, != 1.13.0",
1495
1503
  ]
1496
1504
 
1497
1505
  [tool.hatch.build.targets.wheel]
@@ -1577,11 +1585,11 @@ import os
1577
1585
  from langchain_core.tools import tool
1578
1586
  from langgraph.prebuilt import create_react_agent
1579
1587
  from opentelemetry.instrumentation.langchain import LangchainInstrumentor
1588
+ from a2a.helpers import new_task_from_user_message
1580
1589
  from a2a.server.agent_execution import AgentExecutor, RequestContext
1581
1590
  from a2a.server.events import EventQueue
1582
1591
  from a2a.server.tasks import TaskUpdater
1583
- from a2a.types import AgentCapabilities, AgentCard, AgentSkill, Part, TextPart
1584
- from a2a.utils import new_task
1592
+ from a2a.types import AgentCapabilities, AgentCard, AgentInterface, AgentSkill, Part
1585
1593
  from bedrock_agentcore.runtime import serve_a2a
1586
1594
  from model.load import load_model
1587
1595
 
@@ -1673,7 +1681,7 @@ class LangGraphA2AExecutor(AgentExecutor):
1673
1681
  self.graph = graph
1674
1682
 
1675
1683
  async def execute(self, context: RequestContext, event_queue: EventQueue) -> None:
1676
- task = context.current_task or new_task(context.message)
1684
+ task = context.current_task or new_task_from_user_message(context.message)
1677
1685
  if not context.current_task:
1678
1686
  await event_queue.enqueue_event(task)
1679
1687
  updater = TaskUpdater(event_queue, task.id, task.context_id)
@@ -1682,7 +1690,7 @@ class LangGraphA2AExecutor(AgentExecutor):
1682
1690
  result = await self.graph.ainvoke({"messages": [("user", user_text)]})
1683
1691
  response = result["messages"][-1].content
1684
1692
 
1685
- await updater.add_artifact([Part(root=TextPart(text=response))])
1693
+ await updater.add_artifact([Part(text=response)])
1686
1694
  await updater.complete()
1687
1695
 
1688
1696
  async def cancel(self, context: RequestContext, event_queue: EventQueue) -> None:
@@ -1692,7 +1700,6 @@ class LangGraphA2AExecutor(AgentExecutor):
1692
1700
  card = AgentCard(
1693
1701
  name="{{ name }}",
1694
1702
  description="A LangGraph agent on Bedrock AgentCore",
1695
- url="http://localhost:9000/",
1696
1703
  version="0.1.0",
1697
1704
  capabilities=AgentCapabilities(streaming=True),
1698
1705
  skills=[
@@ -1705,6 +1712,13 @@ card = AgentCard(
1705
1712
  ],
1706
1713
  default_input_modes=["text"],
1707
1714
  default_output_modes=["text"],
1715
+ supported_interfaces=[
1716
+ AgentInterface(
1717
+ protocol_binding="JSONRPC",
1718
+ protocol_version="1.0",
1719
+ url="http://localhost:9000/",
1720
+ )
1721
+ ],
1708
1722
  )
1709
1723
 
1710
1724
  if __name__ == "__main__":
@@ -1856,7 +1870,7 @@ description = "AgentCore A2A Agent using LangChain + LangGraph"
1856
1870
  readme = "README.md"
1857
1871
  requires-python = ">=3.10"
1858
1872
  dependencies = [
1859
- "a2a-sdk >= 0.2.0, < 1.0.0",
1873
+ "a2a-sdk[http-server] >= 1.0.1, < 2.0.0",
1860
1874
  {{#if (eq modelProvider "Anthropic")}}"langchain-anthropic >= 0.3.0",
1861
1875
  {{/if}}{{#if (eq modelProvider "Bedrock")}}"langchain-aws >= 0.2.0",
1862
1876
  {{/if}}{{#if (eq modelProvider "Gemini")}}"langchain-google-genai >= 2.0.0",
@@ -1864,7 +1878,7 @@ dependencies = [
1864
1878
  {{/if}}{{#if (eq modelProvider "OpenAI")}}"langchain-openai >= 0.2.0",
1865
1879
  {{/if}}"aws-opentelemetry-distro",
1866
1880
  "opentelemetry-instrumentation-langchain >= 0.59.0",
1867
- "bedrock-agentcore[a2a] >= 1.8.0",
1881
+ "bedrock-agentcore[a2a-v1] >= 1.19.0",
1868
1882
  "botocore[crt] >= 1.35.0",
1869
1883
  "langgraph >= 0.2.0",
1870
1884
  ]
@@ -2207,7 +2221,7 @@ readme = "README.md"
2207
2221
  requires-python = ">=3.10"
2208
2222
  dependencies = [
2209
2223
  {{#if (eq modelProvider "Anthropic")}}"anthropic >= 0.30.0",
2210
- {{/if}}"a2a-sdk[all] >= 0.2.0, < 1.0.0",
2224
+ {{/if}}"a2a-sdk[all] >= 0.3.0, < 0.4.0",
2211
2225
  "aws-opentelemetry-distro",
2212
2226
  "bedrock-agentcore[a2a] >= 1.9.1",
2213
2227
  "botocore[crt] >= 1.35.0",
@@ -2518,8 +2532,9 @@ dependencies = [
2518
2532
  "fastapi >= 0.115.12",
2519
2533
  "google-adk >= 1.16.0, < 2.0.0",
2520
2534
  "google-genai >= 1.0.0, < 2.0.0",
2521
- "opentelemetry-distro",
2522
- "opentelemetry-exporter-otlp",
2535
+ # 1.13.0 was yanked for broken imports.
2536
+ "opentelemetry-resourcedetector-gcp >= 1.9.0a0, < 2.0.0, != 1.13.0",
2537
+ "aws-opentelemetry-distro >= 0.17.0",
2523
2538
  "uvicorn >= 0.34.3",
2524
2539
  ]
2525
2540
 
@@ -3325,7 +3340,8 @@ file defines a Starlette ASGI app with the AutoGen framework running within.
3325
3340
 
3326
3341
  If installation was successful, a virtual environment is already created with dependencies installed.
3327
3342
 
3328
- Run \`source .venv/bin/activate\` before developing.
3343
+ Activate the environment with \`source .venv/bin/activate\` on macOS/Linux, \`.venv\\Scripts\\activate.bat\` in Windows
3344
+ Command Prompt, or \`.\\.venv\\Scripts\\activate.ps1\` in Windows PowerShell.
3329
3345
 
3330
3346
  \`agentcore dev\` will start a local server on 0.0.0.0:8080.
3331
3347
 
@@ -3780,7 +3796,8 @@ file defines a Starlette ASGI app with the Google ADK framework running within.
3780
3796
 
3781
3797
  If installation was successful, a virtual environment is already created with dependencies installed.
3782
3798
 
3783
- Run \`source .venv/bin/activate\` before developing.
3799
+ Activate the environment with \`source .venv/bin/activate\` on macOS/Linux, \`.venv\\Scripts\\activate.bat\` in Windows
3800
+ Command Prompt, or \`.\\.venv\\Scripts\\activate.ps1\` in Windows PowerShell.
3784
3801
 
3785
3802
  \`agentcore dev\` will start a local server on 0.0.0.0:8080.
3786
3803
 
@@ -4196,10 +4213,11 @@ description = "AgentCore Runtime Application using Google ADK"
4196
4213
  readme = "README.md"
4197
4214
  requires-python = ">=3.10"
4198
4215
  dependencies = [
4199
- "opentelemetry-distro",
4200
- "opentelemetry-exporter-otlp",
4216
+ "aws-opentelemetry-distro >= 0.17.0",
4201
4217
  "google-adk >= 1.35.0, < 2.0.0",
4202
4218
  "google-genai >= 1.0.0, < 2.0.0",
4219
+ # 1.13.0 was yanked for broken imports.
4220
+ "opentelemetry-resourcedetector-gcp >= 1.9.0a0, < 2.0.0, != 1.13.0",
4203
4221
  "bedrock-agentcore >= 1.0.3",
4204
4222
  "botocore[crt] >= 1.35.0",
4205
4223
  {{#if hasGateway}}{{#if (includes gatewayAuthTypes "AWS_IAM")}}"mcp-proxy-for-aws >= 1.1.0",
@@ -4238,7 +4256,8 @@ file defines a Starlette ASGI app with the LangChain/LangGraph framework running
4238
4256
 
4239
4257
  If installation was successful, a virtual environment is already created with dependencies installed.
4240
4258
 
4241
- Run \`source .venv/bin/activate\` before developing.
4259
+ Activate the environment with \`source .venv/bin/activate\` on macOS/Linux, \`.venv\\Scripts\\activate.bat\` in Windows
4260
+ Command Prompt, or \`.\\.venv\\Scripts\\activate.ps1\` in Windows PowerShell.
4242
4261
 
4243
4262
  \`agentcore dev\` will start a local server on 0.0.0.0:8080.
4244
4263
 
@@ -4761,8 +4780,8 @@ dependencies = [
4761
4780
  "aws-opentelemetry-distro",
4762
4781
  "opentelemetry-instrumentation-langchain >= 0.59.0",
4763
4782
  "langgraph >= 1.0.2",
4764
- "mcp >= 1.19.0",
4765
- "langchain-mcp-adapters >= 0.2.0",
4783
+ "mcp ~= 1.24.0",
4784
+ "langchain-mcp-adapters >= 0.3.1",
4766
4785
  "langchain >= 1.0.3",
4767
4786
  "bedrock-agentcore >= 1.8.0",
4768
4787
  "botocore[crt] >= 1.35.0",
@@ -4815,7 +4834,8 @@ file defines a Starlette ASGI app with the OpenAI Agents SDK framework running w
4815
4834
 
4816
4835
  If installation was successful, a virtual environment is already created with dependencies installed.
4817
4836
 
4818
- Run \`source .venv/bin/activate\` before developing.
4837
+ Activate the environment with \`source .venv/bin/activate\` on macOS/Linux, \`.venv\\Scripts\\activate.bat\` in Windows
4838
+ Command Prompt, or \`.\\.venv\\Scripts\\activate.ps1\` in Windows PowerShell.
4819
4839
 
4820
4840
  \`agentcore dev\` will start a local server on 0.0.0.0:8080.
4821
4841
 
@@ -5259,7 +5279,8 @@ file defines a Starlette ASGI app with the chosen Agent framework SDK running wi
5259
5279
 
5260
5280
  If installation was successful, a virtual environment is already created with dependencies installed.
5261
5281
 
5262
- Run \`source .venv/bin/activate\` before developing.
5282
+ Activate the environment with \`source .venv/bin/activate\` on macOS/Linux, \`.venv\\Scripts\\activate.bat\` in Windows
5283
+ Command Prompt, or \`.\\.venv\\Scripts\\activate.ps1\` in Windows PowerShell.
5263
5284
 
5264
5285
  \`agentcore dev\` will start a local server on 0.0.0.0:8080.
5265
5286
 
@@ -6416,7 +6437,7 @@ dependencies = [
6416
6437
  "bedrock-agentcore >= 1.9.1",
6417
6438
  "botocore[crt] >= 1.35.0",
6418
6439
  {{#if (eq modelProvider "Gemini")}}"google-genai >= 1.0.0",
6419
- {{/if}}"mcp >= 1.19.0",
6440
+ {{/if}}"mcp ~= 1.24.0",
6420
6441
  {{#if (eq modelProvider "OpenAI")}}"openai >= 1.0.0",
6421
6442
  {{/if}}{{#if (eq modelProvider "LiteLLM")}}"litellm >= 1.0.0",
6422
6443
  {{/if}}{{#if bedrockMantle}}"openai >= 1.0.0",
@@ -7169,7 +7190,7 @@ description = "AgentCore MCP Server"
7169
7190
  readme = "README.md"
7170
7191
  requires-python = ">=3.10"
7171
7192
  dependencies = [
7172
- "mcp >= 1.19.0",
7193
+ "mcp ~= 1.24.0",
7173
7194
  ]
7174
7195
 
7175
7196
  [tool.hatch.build.targets.wheel]
@@ -0,0 +1,23 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { describe, expect, it } from 'vitest';
4
+
5
+ const ASSETS_DIR = path.resolve(__dirname, '..', 'python');
6
+ const EXPECTED_DEPENDENCIES = [
7
+ ['http', '"aws-opentelemetry-distro >= 0.17.0"'],
8
+ ['agui', '"aws-opentelemetry-distro >= 0.17.0"'],
9
+ ['a2a', '"aws-opentelemetry-distro"'],
10
+ ] as const;
11
+
12
+ describe('Google ADK observability dependencies', () => {
13
+ it.each(EXPECTED_DEPENDENCIES)('%s uses the AWS OpenTelemetry distro', (protocol, expectedDependency) => {
14
+ const pyproject = fs.readFileSync(
15
+ path.join(ASSETS_DIR, protocol, 'googleadk', 'base', 'pyproject.toml'),
16
+ 'utf-8'
17
+ );
18
+
19
+ expect(pyproject).toContain(expectedDependency);
20
+ expect(pyproject).not.toMatch(/^\s*"opentelemetry-distro",?$/m);
21
+ expect(pyproject).not.toMatch(/^\s*"opentelemetry-exporter-otlp",?$/m);
22
+ });
23
+ });
@@ -14,17 +14,17 @@
14
14
  "format:check": "prettier --check ."
15
15
  },
16
16
  "devDependencies": {
17
- "@types/jest": "^29.5.14",
18
- "@types/node": "^24.10.1",
19
- "jest": "^29.7.0",
20
- "ts-jest": "^29.2.5",
21
- "aws-cdk": "2.1126.0",
22
- "prettier": "^3.4.2",
17
+ "@types/jest": "~29.5.14",
18
+ "@types/node": "~24.13.3",
19
+ "jest": "~29.7.0",
20
+ "ts-jest": "~29.4.11",
21
+ "aws-cdk": "~2.1126.0",
22
+ "prettier": "~3.9.5",
23
23
  "typescript": "~5.9.3"
24
24
  },
25
25
  "dependencies": {
26
- "@aws/agentcore-cdk": "^0.1.0-alpha.19",
27
- "aws-cdk-lib": "^2.248.0",
28
- "constructs": "^10.0.0"
26
+ "@aws/agentcore-cdk": "0.1.0-alpha.45",
27
+ "aws-cdk-lib": "~2.261.0",
28
+ "constructs": "~10.7.0"
29
29
  }
30
30
  }
@@ -9,7 +9,7 @@ description = "MCP Server demonstrating HTTP tool patterns"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
- "mcp[cli] >= 1.2.0",
12
+ "mcp[cli] ~= 1.24.0",
13
13
  "httpx >= 0.27.0",
14
14
  "opentelemetry-distro",
15
15
  "opentelemetry-exporter-otlp",
@@ -5,7 +5,7 @@ from google.adk.agents import Agent
5
5
  from google.adk.a2a.executor.a2a_agent_executor import A2aAgentExecutor
6
6
  from google.adk.runners import Runner
7
7
  from google.adk.sessions import InMemorySessionService
8
- from a2a.types import AgentCapabilities, AgentCard, AgentSkill
8
+ from a2a.types import AgentCapabilities, AgentCard, AgentInterface, AgentSkill
9
9
  from bedrock_agentcore.runtime import serve_a2a
10
10
  from model.load import load_model
11
11
 
@@ -99,7 +99,6 @@ runner = Runner(
99
99
  card = AgentCard(
100
100
  name=agent.name,
101
101
  description=agent.description,
102
- url="http://localhost:9000/",
103
102
  version="0.1.0",
104
103
  capabilities=AgentCapabilities(streaming=True),
105
104
  skills=[
@@ -112,6 +111,13 @@ card = AgentCard(
112
111
  ],
113
112
  default_input_modes=["text"],
114
113
  default_output_modes=["text"],
114
+ supported_interfaces=[
115
+ AgentInterface(
116
+ protocol_binding="JSONRPC",
117
+ protocol_version="1.0",
118
+ url="http://localhost:9000/",
119
+ )
120
+ ],
115
121
  )
116
122
 
117
123
  if __name__ == "__main__":
@@ -9,11 +9,13 @@ description = "AgentCore A2A Agent using Google ADK"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
- "a2a-sdk >= 0.2.0, < 1.0.0",
12
+ "a2a-sdk[http-server] >= 1.0.1, < 2.0.0",
13
13
  "aws-opentelemetry-distro",
14
- "bedrock-agentcore[a2a] >= 1.0.3",
15
- "google-adk >= 1.0.0, < 2.0.0",
16
- "google-genai >= 1.0.0, < 2.0.0",
14
+ "bedrock-agentcore[a2a-v1] >= 1.19.0",
15
+ "google-adk[a2a] >= 2.5.0, < 3.0.0",
16
+ "google-genai >= 2.9.0, < 3.0.0",
17
+ # 1.13.0 was yanked for broken imports.
18
+ "opentelemetry-resourcedetector-gcp >= 1.9.0a0, < 2.0.0, != 1.13.0",
17
19
  ]
18
20
 
19
21
  [tool.hatch.build.targets.wheel]
@@ -4,11 +4,11 @@ import os
4
4
  from langchain_core.tools import tool
5
5
  from langgraph.prebuilt import create_react_agent
6
6
  from opentelemetry.instrumentation.langchain import LangchainInstrumentor
7
+ from a2a.helpers import new_task_from_user_message
7
8
  from a2a.server.agent_execution import AgentExecutor, RequestContext
8
9
  from a2a.server.events import EventQueue
9
10
  from a2a.server.tasks import TaskUpdater
10
- from a2a.types import AgentCapabilities, AgentCard, AgentSkill, Part, TextPart
11
- from a2a.utils import new_task
11
+ from a2a.types import AgentCapabilities, AgentCard, AgentInterface, AgentSkill, Part
12
12
  from bedrock_agentcore.runtime import serve_a2a
13
13
  from model.load import load_model
14
14
 
@@ -100,7 +100,7 @@ class LangGraphA2AExecutor(AgentExecutor):
100
100
  self.graph = graph
101
101
 
102
102
  async def execute(self, context: RequestContext, event_queue: EventQueue) -> None:
103
- task = context.current_task or new_task(context.message)
103
+ task = context.current_task or new_task_from_user_message(context.message)
104
104
  if not context.current_task:
105
105
  await event_queue.enqueue_event(task)
106
106
  updater = TaskUpdater(event_queue, task.id, task.context_id)
@@ -109,7 +109,7 @@ class LangGraphA2AExecutor(AgentExecutor):
109
109
  result = await self.graph.ainvoke({"messages": [("user", user_text)]})
110
110
  response = result["messages"][-1].content
111
111
 
112
- await updater.add_artifact([Part(root=TextPart(text=response))])
112
+ await updater.add_artifact([Part(text=response)])
113
113
  await updater.complete()
114
114
 
115
115
  async def cancel(self, context: RequestContext, event_queue: EventQueue) -> None:
@@ -119,7 +119,6 @@ class LangGraphA2AExecutor(AgentExecutor):
119
119
  card = AgentCard(
120
120
  name="{{ name }}",
121
121
  description="A LangGraph agent on Bedrock AgentCore",
122
- url="http://localhost:9000/",
123
122
  version="0.1.0",
124
123
  capabilities=AgentCapabilities(streaming=True),
125
124
  skills=[
@@ -132,6 +131,13 @@ card = AgentCard(
132
131
  ],
133
132
  default_input_modes=["text"],
134
133
  default_output_modes=["text"],
134
+ supported_interfaces=[
135
+ AgentInterface(
136
+ protocol_binding="JSONRPC",
137
+ protocol_version="1.0",
138
+ url="http://localhost:9000/",
139
+ )
140
+ ],
135
141
  )
136
142
 
137
143
  if __name__ == "__main__":
@@ -9,7 +9,7 @@ description = "AgentCore A2A Agent using LangChain + LangGraph"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
- "a2a-sdk >= 0.2.0, < 1.0.0",
12
+ "a2a-sdk[http-server] >= 1.0.1, < 2.0.0",
13
13
  {{#if (eq modelProvider "Anthropic")}}"langchain-anthropic >= 0.3.0",
14
14
  {{/if}}{{#if (eq modelProvider "Bedrock")}}"langchain-aws >= 0.2.0",
15
15
  {{/if}}{{#if (eq modelProvider "Gemini")}}"langchain-google-genai >= 2.0.0",
@@ -17,7 +17,7 @@ dependencies = [
17
17
  {{/if}}{{#if (eq modelProvider "OpenAI")}}"langchain-openai >= 0.2.0",
18
18
  {{/if}}"aws-opentelemetry-distro",
19
19
  "opentelemetry-instrumentation-langchain >= 0.59.0",
20
- "bedrock-agentcore[a2a] >= 1.8.0",
20
+ "bedrock-agentcore[a2a-v1] >= 1.19.0",
21
21
  "botocore[crt] >= 1.35.0",
22
22
  "langgraph >= 0.2.0",
23
23
  ]
@@ -10,7 +10,7 @@ readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
12
  {{#if (eq modelProvider "Anthropic")}}"anthropic >= 0.30.0",
13
- {{/if}}"a2a-sdk[all] >= 0.2.0, < 1.0.0",
13
+ {{/if}}"a2a-sdk[all] >= 0.3.0, < 0.4.0",
14
14
  "aws-opentelemetry-distro",
15
15
  "bedrock-agentcore[a2a] >= 1.9.1",
16
16
  "botocore[crt] >= 1.35.0",
@@ -15,8 +15,9 @@ dependencies = [
15
15
  "fastapi >= 0.115.12",
16
16
  "google-adk >= 1.16.0, < 2.0.0",
17
17
  "google-genai >= 1.0.0, < 2.0.0",
18
- "opentelemetry-distro",
19
- "opentelemetry-exporter-otlp",
18
+ # 1.13.0 was yanked for broken imports.
19
+ "opentelemetry-resourcedetector-gcp >= 1.9.0a0, < 2.0.0, != 1.13.0",
20
+ "aws-opentelemetry-distro >= 0.17.0",
20
21
  "uvicorn >= 0.34.3",
21
22
  ]
22
23
 
@@ -24,7 +24,8 @@ file defines a Starlette ASGI app with the AutoGen framework running within.
24
24
 
25
25
  If installation was successful, a virtual environment is already created with dependencies installed.
26
26
 
27
- Run `source .venv/bin/activate` before developing.
27
+ Activate the environment with `source .venv/bin/activate` on macOS/Linux, `.venv\Scripts\activate.bat` in Windows
28
+ Command Prompt, or `.\.venv\Scripts\activate.ps1` in Windows PowerShell.
28
29
 
29
30
  `agentcore dev` will start a local server on 0.0.0.0:8080.
30
31
 
@@ -24,7 +24,8 @@ file defines a Starlette ASGI app with the Google ADK framework running within.
24
24
 
25
25
  If installation was successful, a virtual environment is already created with dependencies installed.
26
26
 
27
- Run `source .venv/bin/activate` before developing.
27
+ Activate the environment with `source .venv/bin/activate` on macOS/Linux, `.venv\Scripts\activate.bat` in Windows
28
+ Command Prompt, or `.\.venv\Scripts\activate.ps1` in Windows PowerShell.
28
29
 
29
30
  `agentcore dev` will start a local server on 0.0.0.0:8080.
30
31
 
@@ -9,10 +9,11 @@ description = "AgentCore Runtime Application using Google ADK"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
- "opentelemetry-distro",
13
- "opentelemetry-exporter-otlp",
12
+ "aws-opentelemetry-distro >= 0.17.0",
14
13
  "google-adk >= 1.35.0, < 2.0.0",
15
14
  "google-genai >= 1.0.0, < 2.0.0",
15
+ # 1.13.0 was yanked for broken imports.
16
+ "opentelemetry-resourcedetector-gcp >= 1.9.0a0, < 2.0.0, != 1.13.0",
16
17
  "bedrock-agentcore >= 1.0.3",
17
18
  "botocore[crt] >= 1.35.0",
18
19
  {{#if hasGateway}}{{#if (includes gatewayAuthTypes "AWS_IAM")}}"mcp-proxy-for-aws >= 1.1.0",
@@ -24,7 +24,8 @@ file defines a Starlette ASGI app with the LangChain/LangGraph framework running
24
24
 
25
25
  If installation was successful, a virtual environment is already created with dependencies installed.
26
26
 
27
- Run `source .venv/bin/activate` before developing.
27
+ Activate the environment with `source .venv/bin/activate` on macOS/Linux, `.venv\Scripts\activate.bat` in Windows
28
+ Command Prompt, or `.\.venv\Scripts\activate.ps1` in Windows PowerShell.
28
29
 
29
30
  `agentcore dev` will start a local server on 0.0.0.0:8080.
30
31
 
@@ -12,8 +12,8 @@ dependencies = [
12
12
  "aws-opentelemetry-distro",
13
13
  "opentelemetry-instrumentation-langchain >= 0.59.0",
14
14
  "langgraph >= 1.0.2",
15
- "mcp >= 1.19.0",
16
- "langchain-mcp-adapters >= 0.2.0",
15
+ "mcp ~= 1.24.0",
16
+ "langchain-mcp-adapters >= 0.3.1",
17
17
  "langchain >= 1.0.3",
18
18
  "bedrock-agentcore >= 1.8.0",
19
19
  "botocore[crt] >= 1.35.0",
@@ -24,7 +24,8 @@ file defines a Starlette ASGI app with the OpenAI Agents SDK framework running w
24
24
 
25
25
  If installation was successful, a virtual environment is already created with dependencies installed.
26
26
 
27
- Run `source .venv/bin/activate` before developing.
27
+ Activate the environment with `source .venv/bin/activate` on macOS/Linux, `.venv\Scripts\activate.bat` in Windows
28
+ Command Prompt, or `.\.venv\Scripts\activate.ps1` in Windows PowerShell.
28
29
 
29
30
  `agentcore dev` will start a local server on 0.0.0.0:8080.
30
31
 
@@ -24,7 +24,8 @@ file defines a Starlette ASGI app with the chosen Agent framework SDK running wi
24
24
 
25
25
  If installation was successful, a virtual environment is already created with dependencies installed.
26
26
 
27
- Run `source .venv/bin/activate` before developing.
27
+ Activate the environment with `source .venv/bin/activate` on macOS/Linux, `.venv\Scripts\activate.bat` in Windows
28
+ Command Prompt, or `.\.venv\Scripts\activate.ps1` in Windows PowerShell.
28
29
 
29
30
  `agentcore dev` will start a local server on 0.0.0.0:8080.
30
31
 
@@ -14,7 +14,7 @@ dependencies = [
14
14
  "bedrock-agentcore >= 1.9.1",
15
15
  "botocore[crt] >= 1.35.0",
16
16
  {{#if (eq modelProvider "Gemini")}}"google-genai >= 1.0.0",
17
- {{/if}}"mcp >= 1.19.0",
17
+ {{/if}}"mcp ~= 1.24.0",
18
18
  {{#if (eq modelProvider "OpenAI")}}"openai >= 1.0.0",
19
19
  {{/if}}{{#if (eq modelProvider "LiteLLM")}}"litellm >= 1.0.0",
20
20
  {{/if}}{{#if bedrockMantle}}"openai >= 1.0.0",
@@ -9,7 +9,7 @@ description = "AgentCore MCP Server"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
- "mcp >= 1.19.0",
12
+ "mcp ~= 1.24.0",
13
13
  ]
14
14
 
15
15
  [tool.hatch.build.targets.wheel]