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.
- {traia_iatp-0.1.44/src/traia_iatp.egg-info → traia_iatp-0.1.80}/PKG-INFO +3 -1
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/pyproject.toml +4 -2
- traia_iatp-0.1.80/src/traia_iatp/X509-cert-2235240396129682827.pem +82 -0
- traia_iatp-0.1.80/src/traia_iatp/__init__.py +133 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/cli/main.py +1 -1
- traia_iatp-0.1.80/src/traia_iatp/client/__init__.py +35 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/__init__.py +1 -2
- 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
- traia_iatp-0.1.80/src/traia_iatp/contracts/data/abis/contract-abis-sepolia.json +5037 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/data/addresses/contract-addresses.json +9 -3
- traia_iatp-0.1.80/src/traia_iatp/contracts/data/addresses/contract-proxies.json +17 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/iatp_contracts_config.py +4 -2
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/wallet_creator.py +1 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/core/models.py +3 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/asgi_wrapper.py +61 -1
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/chains.py +28 -8
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/networks.py +4 -3
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/starlette.py +74 -10
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/starlette_middleware.py +75 -11
- traia_iatp-0.1.80/src/traia_iatp/mcp/d402_mcp_tool_adapter.py +561 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/mcp_agent_template.py +230 -91
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/README.md.j2 +1 -3
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/deployment_params.json.j2 +1 -2
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/mcp_health_check.py.j2 +2 -2
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/pyproject.toml.j2 +1 -1
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/server.py.j2 +12 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/traia_mcp_adapter.py +2 -2
- traia_iatp-0.1.80/src/traia_iatp/registry/__init__.py +61 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/atlas_search_indexes.json +108 -54
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/iatp_search_api.py +147 -40
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/mongodb_registry.py +143 -13
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/scripts/create_wallet.py +1 -1
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/a2a_server.py +13 -2
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/__main__.py.j2 +62 -17
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/agent_executor.py.j2 +6 -4
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/pyproject.toml.j2 +1 -1
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/utils/iatp_utils.py +5 -5
- {traia_iatp-0.1.44 → traia_iatp-0.1.80/src/traia_iatp.egg-info}/PKG-INFO +3 -1
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp.egg-info/SOURCES.txt +2 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp.egg-info/requires.txt +2 -0
- traia_iatp-0.1.44/src/traia_iatp/__init__.py +0 -52
- traia_iatp-0.1.44/src/traia_iatp/client/__init__.py +0 -10
- traia_iatp-0.1.44/src/traia_iatp/contracts/data/addresses/contract-proxies.json +0 -12
- traia_iatp-0.1.44/src/traia_iatp/mcp/d402_mcp_tool_adapter.py +0 -361
- traia_iatp-0.1.44/src/traia_iatp/registry/__init__.py +0 -26
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/LICENSE +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/MANIFEST.in +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/README.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/setup.cfg +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/README.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/cli/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/a2a_client.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/crewai_a2a_tools.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/d402_a2a_client.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/grpc_a2a_tools.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/client/root_path_a2a_client.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/contracts/data/abis/contract-abis-localhost.json +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/core/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/MIDDLEWARE_ARCHITECTURE.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/PRICE_BUILDER_USAGE.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/README.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/client.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/clients/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/clients/base.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/clients/httpx.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/common.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/encoding.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/examples/client_example.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/examples/server_example.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/facilitator.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/mcp_middleware.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/models.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/path.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/payment_introspection.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/payment_signing.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/price_builder.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/base.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/example_general_server.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/fastapi.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/servers/mcp.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/d402/types.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/D402_MCP_ADAPTER_FLOW.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/client.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/Dockerfile.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/cursor-rules.md.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/docker-compose.yml.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/dockerignore.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/env.example.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/gitignore.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/pyrightconfig.json.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/mcp/templates/run_local_docker.sh.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/preview_diagrams.html +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/embeddings.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/ATLAS_SEARCH_INDEXES.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/ATLAS_SEARCH_SETUP.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/AUTHENTICATION_UPDATE.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/EMBEDDINGS_SETUP.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/IATP_SEARCH_API_GUIDE.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/MONGODB_X509_AUTH.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/README.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/registry/readmes/REFACTORING_SUMMARY.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/scripts/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/example_template_usage.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/iatp_server_agent_generator.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/iatp_server_template_generator.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/.dockerignore.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/Dockerfile.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/README.md +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/README.md.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/agent.py.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/agent_config.json.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/docker-compose.yml.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/env.example.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/gitignore.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/grpc_server.py.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/run_local_docker.sh.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/server/templates/server.py.j2 +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/special_agencies/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/special_agencies/registry_search_agency.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/utils/__init__.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/utils/docker_utils.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp/utils/general.py +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp.egg-info/dependency_links.txt +0 -0
- {traia_iatp-0.1.44 → traia_iatp-0.1.80}/src/traia_iatp.egg-info/entry_points.txt +0 -0
- {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.
|
|
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.
|
|
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("
|
|
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
|
|
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",
|