traia-iatp 0.1.44__tar.gz → 0.1.80__tar.gz

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 (130) hide show
  1. {traia_iatp-0.1.44/src/traia_iatp.egg-info → traia_iatp-0.1.80}/PKG-INFO +3 -1
  2. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/pyproject.toml +4 -2
  3. traia_iatp-0.1.80/src/traia_iatp/X509-cert-2235240396129682827.pem +82 -0
  4. traia_iatp-0.1.80/src/traia_iatp/__init__.py +133 -0
  5. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/cli/main.py +1 -1
  6. traia_iatp-0.1.80/src/traia_iatp/client/__init__.py +35 -0
  7. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/__init__.py +1 -2
  8. traia_iatp-0.1.44/src/traia_iatp/contracts/data/abis/contract-abis-sepolia.json → traia_iatp-0.1.80/src/traia_iatp/contracts/data/abis/contract-abis-arbitrum_one.json +2770 -2417
  9. traia_iatp-0.1.80/src/traia_iatp/contracts/data/abis/contract-abis-sepolia.json +5037 -0
  10. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/data/addresses/contract-addresses.json +9 -3
  11. traia_iatp-0.1.80/src/traia_iatp/contracts/data/addresses/contract-proxies.json +17 -0
  12. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/iatp_contracts_config.py +4 -2
  13. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/wallet_creator.py +1 -0
  14. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/core/models.py +3 -0
  15. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/asgi_wrapper.py +61 -1
  16. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/chains.py +28 -8
  17. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/networks.py +4 -3
  18. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/starlette.py +74 -10
  19. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/starlette_middleware.py +75 -11
  20. traia_iatp-0.1.80/src/traia_iatp/mcp/d402_mcp_tool_adapter.py +561 -0
  21. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/mcp_agent_template.py +230 -91
  22. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/README.md.j2 +1 -3
  23. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/deployment_params.json.j2 +1 -2
  24. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/mcp_health_check.py.j2 +2 -2
  25. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/pyproject.toml.j2 +1 -1
  26. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/server.py.j2 +12 -0
  27. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/traia_mcp_adapter.py +2 -2
  28. traia_iatp-0.1.80/src/traia_iatp/registry/__init__.py +61 -0
  29. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/atlas_search_indexes.json +108 -54
  30. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/iatp_search_api.py +147 -40
  31. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/mongodb_registry.py +143 -13
  32. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/scripts/create_wallet.py +1 -1
  33. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/a2a_server.py +13 -2
  34. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/__main__.py.j2 +62 -17
  35. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/agent_executor.py.j2 +6 -4
  36. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/pyproject.toml.j2 +1 -1
  37. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/utils/iatp_utils.py +5 -5
  38. {traia_iatp-0.1.44 → traia_iatp-0.1.80/src/traia_iatp.egg-info}/PKG-INFO +3 -1
  39. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp.egg-info/SOURCES.txt +2 -0
  40. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp.egg-info/requires.txt +2 -0
  41. traia_iatp-0.1.44/src/traia_iatp/__init__.py +0 -52
  42. traia_iatp-0.1.44/src/traia_iatp/client/__init__.py +0 -10
  43. traia_iatp-0.1.44/src/traia_iatp/contracts/data/addresses/contract-proxies.json +0 -12
  44. traia_iatp-0.1.44/src/traia_iatp/mcp/d402_mcp_tool_adapter.py +0 -361
  45. traia_iatp-0.1.44/src/traia_iatp/registry/__init__.py +0 -26
  46. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/LICENSE +0 -0
  47. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/MANIFEST.in +0 -0
  48. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/README.md +0 -0
  49. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/setup.cfg +0 -0
  50. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/README.md +0 -0
  51. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/cli/__init__.py +0 -0
  52. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/a2a_client.py +0 -0
  53. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/crewai_a2a_tools.py +0 -0
  54. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/d402_a2a_client.py +0 -0
  55. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/grpc_a2a_tools.py +0 -0
  56. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/root_path_a2a_client.py +0 -0
  57. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/data/abis/contract-abis-localhost.json +0 -0
  58. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/core/__init__.py +0 -0
  59. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/MIDDLEWARE_ARCHITECTURE.md +0 -0
  60. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/PRICE_BUILDER_USAGE.md +0 -0
  61. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/README.md +0 -0
  62. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/__init__.py +0 -0
  63. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/client.py +0 -0
  64. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/clients/__init__.py +0 -0
  65. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/clients/base.py +0 -0
  66. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/clients/httpx.py +0 -0
  67. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/common.py +0 -0
  68. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/encoding.py +0 -0
  69. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/examples/client_example.py +0 -0
  70. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/examples/server_example.py +0 -0
  71. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/facilitator.py +0 -0
  72. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/mcp_middleware.py +0 -0
  73. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/models.py +0 -0
  74. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/path.py +0 -0
  75. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/payment_introspection.py +0 -0
  76. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/payment_signing.py +0 -0
  77. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/price_builder.py +0 -0
  78. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/__init__.py +0 -0
  79. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/base.py +0 -0
  80. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/example_general_server.py +0 -0
  81. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/fastapi.py +0 -0
  82. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/mcp.py +0 -0
  83. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/types.py +0 -0
  84. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/D402_MCP_ADAPTER_FLOW.md +0 -0
  85. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/__init__.py +0 -0
  86. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/client.py +0 -0
  87. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/Dockerfile.j2 +0 -0
  88. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/cursor-rules.md.j2 +0 -0
  89. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/docker-compose.yml.j2 +0 -0
  90. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/dockerignore.j2 +0 -0
  91. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/env.example.j2 +0 -0
  92. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/gitignore.j2 +0 -0
  93. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/pyrightconfig.json.j2 +0 -0
  94. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/run_local_docker.sh.j2 +0 -0
  95. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/preview_diagrams.html +0 -0
  96. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/embeddings.py +0 -0
  97. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/ATLAS_SEARCH_INDEXES.md +0 -0
  98. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/ATLAS_SEARCH_SETUP.md +0 -0
  99. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/AUTHENTICATION_UPDATE.md +0 -0
  100. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/EMBEDDINGS_SETUP.md +0 -0
  101. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/IATP_SEARCH_API_GUIDE.md +0 -0
  102. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/MONGODB_X509_AUTH.md +0 -0
  103. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/README.md +0 -0
  104. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/REFACTORING_SUMMARY.md +0 -0
  105. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/scripts/__init__.py +0 -0
  106. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/__init__.py +0 -0
  107. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/example_template_usage.py +0 -0
  108. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/iatp_server_agent_generator.py +0 -0
  109. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/iatp_server_template_generator.py +0 -0
  110. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/.dockerignore.j2 +0 -0
  111. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/Dockerfile.j2 +0 -0
  112. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/README.md +0 -0
  113. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/README.md.j2 +0 -0
  114. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/__init__.py +0 -0
  115. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/agent.py.j2 +0 -0
  116. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/agent_config.json.j2 +0 -0
  117. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/docker-compose.yml.j2 +0 -0
  118. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/env.example.j2 +0 -0
  119. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/gitignore.j2 +0 -0
  120. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/grpc_server.py.j2 +0 -0
  121. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/run_local_docker.sh.j2 +0 -0
  122. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/server.py.j2 +0 -0
  123. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/special_agencies/__init__.py +0 -0
  124. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/special_agencies/registry_search_agency.py +0 -0
  125. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/utils/__init__.py +0 -0
  126. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/utils/docker_utils.py +0 -0
  127. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/utils/general.py +0 -0
  128. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp.egg-info/dependency_links.txt +0 -0
  129. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp.egg-info/entry_points.txt +0 -0
  130. {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: traia-iatp
3
- Version: 0.1.44
3
+ Version: 0.1.80
4
4
  Summary: Inter-Agent Transfer Protocol (IATP) - Enable AI Agents to utilize other AI Agents as tools
5
5
  Project-URL: Documentation, https://docs.d402.net
6
6
  Project-URL: Source, https://github.com/Traia-IO/IATP
@@ -20,6 +20,7 @@ Requires-Dist: fastapi>=0.119.0
20
20
  Requires-Dist: httpx[http2]>=0.28.1
21
21
  Requires-Dist: jinja2>=3.1.6
22
22
  Requires-Dist: mcp>=1.1.2
23
+ Requires-Dist: nest-asyncio>=1.6.0
23
24
  Requires-Dist: openai>=1.109.1
24
25
  Requires-Dist: pydantic>=2.12.2
25
26
  Requires-Dist: pymongo[aws]>=4.13.0
@@ -28,6 +29,7 @@ Requires-Dist: pytz>=2025.2
28
29
  Requires-Dist: requests>=2.32.5
29
30
  Requires-Dist: rich>=14.2.0
30
31
  Requires-Dist: starlette>=0.45.0
32
+ Requires-Dist: tomli>=2.0.0
31
33
  Requires-Dist: typer>=0.19.2
32
34
  Requires-Dist: uvicorn>=0.37.0
33
35
  Requires-Dist: agentops>=0.4.21
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "traia-iatp"
7
- version = "0.1.44"
7
+ version = "0.1.80"
8
8
  description = "Inter-Agent Transfer Protocol (IATP) - Enable AI Agents to utilize other AI Agents as tools"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -25,6 +25,7 @@ dependencies = [
25
25
  "httpx[http2]>=0.28.1",
26
26
  "jinja2>=3.1.6",
27
27
  "mcp>=1.1.2",
28
+ "nest-asyncio>=1.6.0",
28
29
  "openai>=1.109.1",
29
30
  "pydantic>=2.12.2",
30
31
  "pymongo[aws]>=4.13.0",
@@ -33,6 +34,7 @@ dependencies = [
33
34
  "requests>=2.32.5",
34
35
  "rich>=14.2.0",
35
36
  "starlette>=0.45.0",
37
+ "tomli>=2.0.0",
36
38
  "typer>=0.19.2",
37
39
  "uvicorn>=0.37.0",
38
40
  "agentops>=0.4.21",
@@ -71,7 +73,7 @@ exclude = ["examples*", "tests*", "docs*"]
71
73
  namespaces = true
72
74
 
73
75
  [tool.setuptools.package-data]
74
- "traia_iatp" = ["*.md", "*.html"] # Main documentation files
76
+ "traia_iatp" = ["*.md", "*.html", "*.pem"] # Main documentation files and read-only X.509 certificate
75
77
  "traia_iatp.mcp" = ["templates/*.j2", "templates/.*.j2"] # Templates for generating MCP server code (including dotfiles)
76
78
  "traia_iatp.server" = ["templates/*.j2", "templates/.*.j2", "templates/*.md", "templates/*.py"] # Templates for generating utility agent code (including dotfiles)
77
79
  "traia_iatp.registry" = ["readmes/*.md", "*.json"] # Documentation and test output files
@@ -0,0 +1,82 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIFHTCCAwWgAwIBAgIIHwUrTCbpxYswDQYJKoZIhvcNAQELBQAwSTEhMB8GA1UE
3
+ AxMYNjg1MDIzYzZmNGVlZjQzNGQzOGU1OTNmMQ4wDAYDVQQLEwVBdGxhczEUMBIG
4
+ A1UEChMLTW9uZ29EQiBJbmMwHhcNMjYwMTEyMTQwOTAxWhcNMjgwMTEyMTUwOTAx
5
+ WjAoMSYwJAYDVQQDEx1JQVRQLXBhY2thZ2UtbWNwLWEyYS1yZWFkb25seTCCAiIw
6
+ DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJpFgNNXFLUnBS503BXP1AZ0PHKF
7
+ 2PWMhG1yG+OiI+/IfiBMeKAyac5nI5xpMGY6TuZPbC9FonQI4SA2Pe0fpBfAg/2v
8
+ aacaj5zZxl5ZOinVrwhK69m0EpQGefRjVVFs2lqq7ttCy4clkcZe/ROJph5T+pIR
9
+ 91YiL43t48sCWH6DPkcSNli0YGXElN89LbvHlE9XT4oujzKrlOOo+FKea24GLjVo
10
+ KFmvAETK7ZYk+Cz5mpbDnPpU3ujIIRs1nJ70hOFiOkkkwrZiftmG5zXa0yCahA7Q
11
+ rZI/pLZF52LAo9uLKsEYxlDdSy8KnQDpq9WKZOooYb6pGqf0uhlECkqlH+4gzO9O
12
+ MAJFyYXp0IUFbAQvdv2U6aetIc5XH/toyLL6/9YqTQjc43RCRDL6M9UCZCtS2xZl
13
+ kQenrPsNZPHWszLA6QNX4bFy4rqYRmWj2wJuAJif7CpBPIySQJaRbq4MusJDHtYX
14
+ rrOLE6oNoo8OE3XurwoYEfs2AozXPJ9u54Oqb2FhLBtrdeb4AN54WAyuBlJ5yV6e
15
+ uSPzqu3RTk+gh1I3NrRPcscwI32A3hGjDYw/gBvc8YM8ZOP1JUAKmv1e4aa21+ZP
16
+ s8joGAS0dA0ZfTaqiLQ8ZBAWv5IyJu4EMJZDBNN1NTKF5xytAIPWxL8Nh2VQWVh+
17
+ LtwZEXiV8WUKP5MvAgMBAAGjKjAoMA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUBAf8E
18
+ DDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAgEAPwT7xWuw1iahgRgmcT3K
19
+ UcsvXyuge4eWVOCGb7Nujnsenjc9fAWv97eHcH73zqjC+lye9P+lEKubbGx8kj1W
20
+ dlE4cV0cQIYLoxSf+bXbQxbur5QCOXiYHDY84EF5dx9/oL/2ySsWBAzpKP4SZ0xJ
21
+ ONDv+5G6jKGnrNxDl+MabfSyM16PmzVM/qQFCUTYsQyLiUYHx7HiJyzmd9P/PfTl
22
+ StsdXKZoyi6mCg1HpmamzzAwgDleiuUQRyRyVwwlg5AmLUVPYqlUyTbDTCGSZbTt
23
+ x0pUOT3lItH44XajdCHwERE5R+bYBbW5/8OAMN51NaEanGQJqh+mB7W0p/H02sXD
24
+ KBUI/27C79+NkDvdUU1cgxUHlltmr3inwhhfJzo6NVvS32RVW9pE7X+eV7/K0BS2
25
+ hGSTeKR/MGF3FE5STFz8f17KUYhrHueVpuZqD9bWoxzB2pcbJBSnkIR6vFXWicUo
26
+ JMik4/XWvchdW7iZqxfQpuXherQdru3vqqBm2j932kWu8QFhngnrCkckanWWulSf
27
+ VKQfyV9buB7dvWq1UUjjK4hbj+rzmZ0aFNBJPhqKgxblQfgrnEi5UEFLi8Zrmo7z
28
+ JRO6UkNbI6Yi8YuaOSC+bY5o+9J39nn2YtcFTYzN4qZDV9noEFZsrC/nQ8Dkd53S
29
+ sj40jM3IMyreTN0RDdw6WH8=
30
+ -----END CERTIFICATE-----
31
+ -----BEGIN PRIVATE KEY-----
32
+ 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
81
+ vKSEXjTiFo1VHgfsvhoMwySCm6p8Mw==
82
+ -----END PRIVATE KEY-----
@@ -0,0 +1,133 @@
1
+ """Traia IATP - Inter Agent Transfer Protocol package with lazy loading for performance."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ # Read version from package metadata
6
+ def _get_version():
7
+ """Read version from installed package metadata."""
8
+ try:
9
+ # Try importlib.metadata first (works for installed packages)
10
+ from importlib.metadata import version
11
+ return version("traia-iatp")
12
+ except Exception:
13
+ # Fallback: try reading from pyproject.toml (for development)
14
+ try:
15
+ import tomli
16
+ from pathlib import Path
17
+ pyproject_path = Path(__file__).parent.parent.parent / "pyproject.toml"
18
+ with open(pyproject_path, "rb") as f:
19
+ pyproject = tomli.load(f)
20
+ return pyproject["project"]["version"]
21
+ except Exception:
22
+ # Last resort - return unknown instead of hardcoded old version
23
+ return "unknown"
24
+
25
+ __version__ = _get_version()
26
+
27
+ # Type hints for IDEs and type checkers (not loaded at runtime)
28
+ if TYPE_CHECKING:
29
+ from .core.models import UtilityAgent, MCPServer, AgentCard
30
+ from .server.iatp_server_agent_generator import IATPServerAgentGenerator
31
+ from .registry.mongodb_registry import UtilityAgentRegistry, MCPServerRegistry
32
+ from .registry.iatp_search_api import find_utility_agent
33
+ from .client.a2a_client import UtilityAgencyTool, create_utility_agency_tools
34
+ from .utils.docker_utils import LocalDockerRunner, run_generated_agent_locally, use_run_local_docker_script
35
+ from .d402 import (
36
+ D402Config,
37
+ D402PaymentInfo,
38
+ D402ServicePrice,
39
+ PaymentScheme,
40
+ D402IATPClient,
41
+ IATPSettlementFacilitator,
42
+ require_payment,
43
+ )
44
+ from .client.d402_a2a_client import D402A2AClient, create_d402_a2a_client
45
+
46
+ # Lazy imports - these will only load when accessed
47
+ _LAZY_IMPORTS = {
48
+ # Core models (lightweight)
49
+ "UtilityAgent": ".core.models",
50
+ "MCPServer": ".core.models",
51
+ "AgentCard": ".core.models",
52
+ # Server components
53
+ "IATPServerAgentGenerator": ".server.iatp_server_agent_generator",
54
+ # Registry (lightweight, no CrewAI dependency)
55
+ "UtilityAgentRegistry": ".registry.mongodb_registry",
56
+ "MCPServerRegistry": ".registry.mongodb_registry",
57
+ "find_utility_agent": ".registry.iatp_search_api",
58
+ # Client (HEAVY - imports CrewAI)
59
+ "UtilityAgencyTool": ".client.a2a_client",
60
+ "create_utility_agency_tools": ".client.a2a_client",
61
+ # Docker utilities
62
+ "LocalDockerRunner": ".utils.docker_utils",
63
+ "run_generated_agent_locally": ".utils.docker_utils",
64
+ "use_run_local_docker_script": ".utils.docker_utils",
65
+ # D402 payment integration (HEAVY - imports CrewAI indirectly)
66
+ "D402A2AClient": ".client.d402_a2a_client",
67
+ "create_d402_a2a_client": ".client.d402_a2a_client",
68
+ }
69
+
70
+ # D402 imports need special handling as they come from a submodule
71
+ _D402_IMPORTS = [
72
+ "D402Config",
73
+ "D402PaymentInfo",
74
+ "D402ServicePrice",
75
+ "PaymentScheme",
76
+ "D402IATPClient",
77
+ "IATPSettlementFacilitator",
78
+ "require_payment",
79
+ ]
80
+
81
+ __all__ = [
82
+ # Core models
83
+ "UtilityAgent",
84
+ "MCPServer",
85
+ "AgentCard",
86
+ # Server components
87
+ "IATPServerAgentGenerator",
88
+ # Registry
89
+ "UtilityAgentRegistry",
90
+ "MCPServerRegistry",
91
+ "find_utility_agent",
92
+ # Client
93
+ "UtilityAgencyTool",
94
+ "create_utility_agency_tools",
95
+ # Docker utilities
96
+ "LocalDockerRunner",
97
+ "run_generated_agent_locally",
98
+ "use_run_local_docker_script",
99
+ # D402 payment integration
100
+ "D402Config",
101
+ "D402PaymentInfo",
102
+ "D402ServicePrice",
103
+ "PaymentScheme",
104
+ "D402IATPClient",
105
+ "IATPSettlementFacilitator",
106
+ "require_payment",
107
+ "D402A2AClient",
108
+ "create_d402_a2a_client",
109
+ ]
110
+
111
+
112
+ def __getattr__(name: str):
113
+ """Lazy import mechanism to load modules only when accessed."""
114
+ # Handle regular lazy imports
115
+ if name in _LAZY_IMPORTS:
116
+ from importlib import import_module
117
+ module_path = _LAZY_IMPORTS[name]
118
+ module = import_module(module_path, package=__package__)
119
+ attr = getattr(module, name)
120
+ # Cache the imported attribute
121
+ globals()[name] = attr
122
+ return attr
123
+
124
+ # Handle D402 imports
125
+ if name in _D402_IMPORTS:
126
+ from importlib import import_module
127
+ d402_module = import_module(".d402", package=__package__)
128
+ attr = getattr(d402_module, name)
129
+ # Cache the imported attribute
130
+ globals()[name] = attr
131
+ return attr
132
+
133
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
@@ -33,7 +33,7 @@ def create_wallet_cli(
33
33
  wallet_name: str = typer.Option("", "--wallet-name", help="Name for the wallet"),
34
34
  wallet_type: str = typer.Option("MCP_SERVER", "--wallet-type", help="Type: CLIENT, HUMAN, MCP_SERVER, WEB_SERVER, AGENT"),
35
35
  wallet_description: str = typer.Option("", "--wallet-description", help="Description of the wallet/service"),
36
- network: str = typer.Option("sepolia", "--network", help="Network (sepolia, base-mainnet)"),
36
+ network: str = typer.Option("arbitrum_one", "--network", help="Network (sepolia, arbitrum_one)"),
37
37
  rpc_url: Optional[str] = typer.Option(None, "--rpc-url", help="Custom RPC URL"),
38
38
  output: Optional[Path] = typer.Option(None, "--output", "-o", help="Save wallet info to JSON file")
39
39
  ):
@@ -0,0 +1,35 @@
1
+ """IATP client module for A2A integration with lazy loading."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ # Type hints for IDEs and type checkers (not loaded at runtime)
6
+ if TYPE_CHECKING:
7
+ from .a2a_client import UtilityAgencyTool, create_utility_agency_tools
8
+ from .crewai_a2a_tools import A2AToolSchema
9
+
10
+ # Lazy imports to avoid loading CrewAI unless needed
11
+ _LAZY_IMPORTS = {
12
+ "UtilityAgencyTool": ".a2a_client",
13
+ "create_utility_agency_tools": ".a2a_client",
14
+ "A2AToolSchema": ".crewai_a2a_tools",
15
+ }
16
+
17
+ __all__ = [
18
+ "UtilityAgencyTool",
19
+ "create_utility_agency_tools",
20
+ "A2AToolSchema",
21
+ ]
22
+
23
+
24
+ def __getattr__(name: str):
25
+ """Lazy import mechanism to load modules only when accessed."""
26
+ if name in _LAZY_IMPORTS:
27
+ from importlib import import_module
28
+ module_path = _LAZY_IMPORTS[name]
29
+ module = import_module(module_path, package=__package__)
30
+ attr = getattr(module, name)
31
+ # Cache the imported attribute
32
+ globals()[name] = attr
33
+ return attr
34
+
35
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
@@ -1,10 +1,9 @@
1
1
  """IATP Contracts utilities."""
2
2
 
3
- from .wallet_creator import create_wallet, get_contract_config
3
+ from .wallet_creator import get_contract_config
4
4
  from .iatp_contracts_config import get_contract_address, get_contract_abi, get_rpc_url
5
5
 
6
6
  __all__ = [
7
- "create_wallet",
8
7
  "get_contract_config",
9
8
  "get_contract_address",
10
9
  "get_contract_abi",