agentkit-sdk-python 0.8.1__tar.gz → 0.8.3__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.
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/PKG-INFO +5 -3
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/agent_server_app.py +186 -29
- agentkit_sdk_python-0.8.3/agentkit/apps/agent_server_app/credential_service.py +92 -0
- agentkit_sdk_python-0.8.3/agentkit/apps/agent_server_app/inbound_auth.py +43 -0
- agentkit_sdk_python-0.8.3/agentkit/apps/agent_server_app/inbound_auth_adapter.py +187 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/middleware.py +3 -6
- agentkit_sdk_python-0.8.3/agentkit/apps/auth/__init__.py +35 -0
- agentkit_sdk_python-0.8.3/agentkit/apps/auth/inbound.py +91 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/__init__.py +73 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/_runtime_dependency.py +25 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/client.py +182 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/context.py +10 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/errors.py +23 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/jwt.py +10 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/middleware.py +113 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/runtime.py +7 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/transport.py +7 -0
- agentkit_sdk_python-0.8.3/agentkit/identity/types.py +19 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/constants.py +7 -0
- agentkit_sdk_python-0.8.3/agentkit/sdk/model_gateway/__init__.py +101 -0
- agentkit_sdk_python-0.8.3/agentkit/sdk/model_gateway/client.py +191 -0
- agentkit_sdk_python-0.8.3/agentkit/sdk/model_gateway/types.py +382 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli.py +2 -0
- agentkit_sdk_python-0.8.3/agentkit/toolkit/cli/cli_model_gateway.py +1109 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/version.py +1 -1
- agentkit_sdk_python-0.8.3/agentkit_identity/__init__.py +58 -0
- agentkit_sdk_python-0.8.3/agentkit_identity/context.py +180 -0
- agentkit_sdk_python-0.8.3/agentkit_identity/errors.py +36 -0
- agentkit_sdk_python-0.8.3/agentkit_identity/jwt.py +673 -0
- agentkit_sdk_python-0.8.3/agentkit_identity/middleware.py +278 -0
- agentkit_sdk_python-0.8.3/agentkit_identity/runtime.py +377 -0
- agentkit_sdk_python-0.8.3/agentkit_identity/transport.py +230 -0
- agentkit_sdk_python-0.8.3/agentkit_identity/types.py +196 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit_sdk_python.egg-info/PKG-INFO +5 -3
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit_sdk_python.egg-info/SOURCES.txt +28 -0
- agentkit_sdk_python-0.8.3/agentkit_sdk_python.egg-info/dependency_links.txt +1 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit_sdk_python.egg-info/requires.txt +5 -2
- agentkit_sdk_python-0.8.3/agentkit_sdk_python.egg-info/top_level.txt +2 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/pyproject.toml +8 -4
- agentkit_sdk_python-0.8.1/agentkit_sdk_python.egg-info/top_level.txt +0 -1
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/LICENSE +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/MANIFEST.in +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/README.md +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/a2a_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/a2a_app/a2a_app.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/a2a_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/origin.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/base_app.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/langgraph_server_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/langgraph_server_app/langgraph_server_app.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/mcp_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/mcp_app/mcp_app.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/mcp_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/simple_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/simple_app/simple_app.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/simple_app/simple_app_handlers.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/simple_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/utils.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/_openapi.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/_redact.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/_sigv4.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/admin.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/credential_hosting.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/errors.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/model_login.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/oauth.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/profile.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/providers.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/resolve.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/session.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/ssl_trust.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/sso.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/store.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/sts.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/client/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/client/base_agentkit_client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/client/base_iam_client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/client/base_service_client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/errors.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/_common.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/agentcore.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/langchain.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/langgraph.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/migration.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/model_replacement.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/serving/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/serving/fastapi_mount.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/serving/langserve.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/strands.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/configuration.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/console_urls.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/context.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/provider.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/account/client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/account/types.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/identity/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/identity/auth.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/identity/client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/identity/types.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/knowledge/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/knowledge/client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/knowledge/types.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/mcp/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/mcp/client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/mcp/types.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/memory/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/memory/client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/memory/types.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/runtime/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/runtime/client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/runtime/types.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/skills/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/skills/client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/skills/types.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/tools/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/tools/client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/tools/types.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/base.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/local_docker.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/ve_pipeline.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/ve_sandbox_pipeline.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/__main__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_add.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_auth.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_build.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_delete.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_deploy.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_destroy.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_init.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_invoke.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_knowledge.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_launch.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_list.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_logs.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_memory.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_runtime.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_skill.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_skills.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_skills_workflow.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_status.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_tools.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_version.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/console_reporter.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/interactive_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/a2a_client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/agentkit_client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_build.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_create.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_delete.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_exec.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_init.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_invoke.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_list.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_model_login.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_mount.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_run.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_scp.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_shell.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_web.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/config_store.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/env_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/git_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/model_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/sandbox_client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/session_create.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/session_sync.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/tool_resolve.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/tos_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/tool_lookup.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/utils.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/choice_resolvers.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/cloud_provider.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/config_handler.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/config_validator.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/constants.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/dataclass_utils.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/docker_build_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/global_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/region_defaults.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/region_resolver.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/strategy_configs.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/utils.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/context.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/base_images.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/container.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/dockerfile/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/dockerfile/manager.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/dockerfile/metadata.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/utils.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/errors.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/base_executor.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/build_executor.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/deploy_executor.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/init_executor.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/invoke_executor.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/lifecycle_executor.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/status_executor.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/harness/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/harness/config_builder.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/harness/deploy.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/harness/env_mapping.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/models.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/reporter.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/a2a.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/agent_server.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/basic.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/basic_stream.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/customer_support_assistant.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/agent.go +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/build.sh +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/go.mod +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/go.sum +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/main.go +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/financial_analyst.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/langchain_basic_stream.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/simple_app_veadk.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/simple_mcp_veadk.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/agent.go +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/build.sh +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.mod +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.sum +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/main.go +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/agent.go +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/build.sh +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/go.mod +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/go.sum +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/main.go +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/code-pipeline-sandbox-tos-cr-step.j2 +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/golang/Dockerfile.j2 +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/python/Dockerfile.j2 +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-package +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-skills +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.web-server +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/wrappers/wrapper_basic.py.jinja2 +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2 +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/runners/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/runners/base.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/runners/local_docker.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/runners/ve_agentkit.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/bindings/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/bindings/memory.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/builder.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/client.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/deployer.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/initializer.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/invoker.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/lifecycle.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/status.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/base_strategy.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/cloud_strategy.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/hybrid_strategy.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/local_strategy.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/utils/agent_parser.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/apmplus_logs.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/code_pipeline.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/cr.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/iam.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/services/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/services/cr_service.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/services/tos_service.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/sts.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/utils/project_archiver.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/global_config_io.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/http_defaults.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/logging_config.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/misc.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/redact.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/request.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/template_utils.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/ve_sign.py +0 -0
- /agentkit_sdk_python-0.8.1/agentkit_sdk_python.egg-info/dependency_links.txt → /agentkit_sdk_python-0.8.3/agentkit_identity/py.typed +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit_sdk_python.egg-info/entry_points.txt +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/setup.cfg +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/tests/test_client_uses_platform_context.py +0 -0
- {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/tests/test_error_hierarchy.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentkit-sdk-python
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.3
|
|
4
4
|
Summary: Python SDK for transforming any AI agent into a production-ready application. Framework-agnostic primitives for runtime, memory, authentication, and tools with volcengine-managed infrastructure.
|
|
5
5
|
Author-email: Xiangrui Cheng <innsdcc@gmail.com>, Yumeng Bao <baoyumeng.123@gmail.com>, Yaozheng Fang <fangyozheng@gmail.com>, Guodong Li <cu.eric.lee@gmail.com>
|
|
6
6
|
License: Apache License
|
|
@@ -217,7 +217,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
217
217
|
Requires-Python: >=3.10
|
|
218
218
|
Description-Content-Type: text/markdown
|
|
219
219
|
License-File: LICENSE
|
|
220
|
-
Requires-Dist: a2a-sdk
|
|
220
|
+
Requires-Dist: a2a-sdk<1.0.0,>=0.3.15
|
|
221
221
|
Requires-Dist: fastapi>=0.117.1
|
|
222
222
|
Requires-Dist: fastmcp>=2.12.3
|
|
223
223
|
Requires-Dist: opentelemetry-api<=1.37.0,>=1.32.1
|
|
@@ -226,7 +226,7 @@ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<=1.37.0,>=1.32.1
|
|
|
226
226
|
Requires-Dist: opentelemetry-sdk<=1.37.0,>=1.32.1
|
|
227
227
|
Requires-Dist: pydantic>=2.11.9
|
|
228
228
|
Requires-Dist: requests>=2.32.5
|
|
229
|
-
Requires-Dist: PyJWT>=2.10.1
|
|
229
|
+
Requires-Dist: PyJWT[crypto]>=2.10.1
|
|
230
230
|
Requires-Dist: uvicorn>=0.37.0
|
|
231
231
|
Requires-Dist: pyyaml
|
|
232
232
|
Requires-Dist: tomli>=2.0.1; python_version < "3.11"
|
|
@@ -245,6 +245,8 @@ Requires-Dist: pyreadline3; sys_platform == "win32"
|
|
|
245
245
|
Provides-Extra: extensions
|
|
246
246
|
Provides-Extra: toolkit
|
|
247
247
|
Provides-Extra: dev
|
|
248
|
+
Provides-Extra: identity-runtime
|
|
249
|
+
Requires-Dist: google-adk<3.0.0,>=1.18.0; extra == "identity-runtime"
|
|
248
250
|
Provides-Extra: langchain
|
|
249
251
|
Requires-Dist: langchain; extra == "langchain"
|
|
250
252
|
Provides-Extra: langgraph
|
|
@@ -12,14 +12,17 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
15
17
|
import inspect
|
|
16
18
|
import json
|
|
17
19
|
import logging
|
|
18
20
|
from collections.abc import AsyncIterator
|
|
19
21
|
from contextlib import asynccontextmanager
|
|
20
|
-
from typing import Any
|
|
22
|
+
from typing import TYPE_CHECKING, Any
|
|
21
23
|
|
|
22
24
|
import uvicorn
|
|
25
|
+
from a2a.types import AgentCard
|
|
23
26
|
from fastapi import FastAPI, HTTPException, Request
|
|
24
27
|
from fastapi.responses import StreamingResponse
|
|
25
28
|
from google.adk.a2a.utils.agent_to_a2a import to_a2a
|
|
@@ -59,6 +62,15 @@ except ImportError: # pragma: no cover - default migration path avoids veadk.
|
|
|
59
62
|
from agentkit.apps.agent_server_app.middleware import (
|
|
60
63
|
AgentkitTelemetryHTTPMiddleware,
|
|
61
64
|
)
|
|
65
|
+
from agentkit.apps.agent_server_app.credential_service import (
|
|
66
|
+
AgentkitCredentialService,
|
|
67
|
+
)
|
|
68
|
+
from agentkit.apps.agent_server_app.inbound_auth_adapter import (
|
|
69
|
+
InboundAuthCaptureMiddleware,
|
|
70
|
+
build_a2a_inbound_auth_executor_factory,
|
|
71
|
+
save_inbound_auth,
|
|
72
|
+
)
|
|
73
|
+
from agentkit.apps.auth.inbound import redact_inbound_auth_headers
|
|
62
74
|
from agentkit.apps.agent_server_app.origin import (
|
|
63
75
|
add_cors_compat_middleware,
|
|
64
76
|
adk_supports_regex_origins,
|
|
@@ -69,6 +81,15 @@ from agentkit.apps.agent_server_app.origin import (
|
|
|
69
81
|
from agentkit.apps.agent_server_app.telemetry import telemetry
|
|
70
82
|
from agentkit.apps.base_app import BaseAgentkitApp
|
|
71
83
|
|
|
84
|
+
if TYPE_CHECKING:
|
|
85
|
+
from agentkit_identity import IdentityRuntimeConfig, RuntimeIdentity
|
|
86
|
+
else:
|
|
87
|
+
# Avoid eagerly importing the bundled security module for ordinary
|
|
88
|
+
# AgentServer startup. Construction imports and validates the concrete
|
|
89
|
+
# classes before Identity mode can be enabled.
|
|
90
|
+
IdentityRuntimeConfig = Any
|
|
91
|
+
RuntimeIdentity = Any
|
|
92
|
+
|
|
72
93
|
logger = logging.getLogger(__name__)
|
|
73
94
|
|
|
74
95
|
|
|
@@ -120,6 +141,10 @@ def _create_a2a_runner(
|
|
|
120
141
|
short_term_memory=short_term_memory
|
|
121
142
|
if _is_veadk_short_term_memory(short_term_memory)
|
|
122
143
|
else None,
|
|
144
|
+
app_name=root_agent.name,
|
|
145
|
+
session_service=session_service,
|
|
146
|
+
memory_service=memory_service,
|
|
147
|
+
credential_service=credential_service,
|
|
123
148
|
)
|
|
124
149
|
return Runner(
|
|
125
150
|
agent=root_agent,
|
|
@@ -199,6 +224,21 @@ class AgentKitAgentLoader(BaseAgentLoader):
|
|
|
199
224
|
|
|
200
225
|
|
|
201
226
|
class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
227
|
+
def _request_identity_context(self) -> Any | None:
|
|
228
|
+
# Older integrations and focused unit-test doubles predate the
|
|
229
|
+
# ``runtime_identity`` attribute. Treat an absent attribute exactly as
|
|
230
|
+
# the existing identity-disabled mode. A real identity-enabled server
|
|
231
|
+
# always sets the attribute during construction and still fails closed
|
|
232
|
+
# below when request context binding is unavailable.
|
|
233
|
+
if getattr(self, "runtime_identity", None) is None:
|
|
234
|
+
return None
|
|
235
|
+
identity_current = getattr(self, "_identity_current", None)
|
|
236
|
+
if identity_current is None:
|
|
237
|
+
raise RuntimeError("Agent Identity Runtime is not initialized")
|
|
238
|
+
# Identity-enabled handlers must never fall back to a caller-owned
|
|
239
|
+
# user_id if middleware composition or context binding is broken.
|
|
240
|
+
return identity_current(required=True)
|
|
241
|
+
|
|
202
242
|
def __init__(
|
|
203
243
|
self,
|
|
204
244
|
agent: BaseAgent | App | None = None,
|
|
@@ -207,8 +247,18 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
207
247
|
app: App | None = None,
|
|
208
248
|
allow_origins: list[str] | None = None,
|
|
209
249
|
allow_origin_regex: str | list[str] | None = None,
|
|
250
|
+
a2a_host: str = "localhost",
|
|
251
|
+
a2a_port: int = 8000,
|
|
252
|
+
a2a_protocol: str = "http",
|
|
253
|
+
agent_card: AgentCard | str | None = None,
|
|
254
|
+
push_config_store: Any | None = None,
|
|
255
|
+
task_store: Any | None = None,
|
|
256
|
+
enable_auth: bool = False,
|
|
257
|
+
identity: IdentityRuntimeConfig | RuntimeIdentity | None = None,
|
|
258
|
+
identity_health_routes: tuple[str, ...] = (),
|
|
210
259
|
) -> None:
|
|
211
260
|
super().__init__()
|
|
261
|
+
self._enable_auth_enabled = enable_auth
|
|
212
262
|
|
|
213
263
|
if app is not None and agent is not None:
|
|
214
264
|
raise TypeError("Only one of 'agent' or 'app' can be provided.")
|
|
@@ -222,7 +272,9 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
222
272
|
memory_service = _resolve_memory_service(root_agent)
|
|
223
273
|
|
|
224
274
|
_artifact_service = InMemoryArtifactService()
|
|
225
|
-
_credential_service =
|
|
275
|
+
_credential_service = (
|
|
276
|
+
AgentkitCredentialService() if enable_auth else InMemoryCredentialService()
|
|
277
|
+
)
|
|
226
278
|
|
|
227
279
|
_eval_sets_manager = LocalEvalSetsManager(agents_dir=".")
|
|
228
280
|
_eval_set_results_manager = LocalEvalSetResultsManager(agents_dir=".")
|
|
@@ -246,14 +298,30 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
246
298
|
artifact_service=_artifact_service,
|
|
247
299
|
credential_service=_credential_service,
|
|
248
300
|
)
|
|
249
|
-
|
|
301
|
+
to_a2a_kwargs: dict[str, Any] = {
|
|
302
|
+
"agent": root_agent,
|
|
303
|
+
"runner": runner,
|
|
304
|
+
"host": a2a_host,
|
|
305
|
+
"port": a2a_port,
|
|
306
|
+
"protocol": a2a_protocol,
|
|
307
|
+
"agent_card": agent_card,
|
|
308
|
+
"push_config_store": push_config_store,
|
|
309
|
+
"task_store": task_store,
|
|
310
|
+
}
|
|
311
|
+
if enable_auth:
|
|
312
|
+
to_a2a_kwargs["agent_executor_factory"] = (
|
|
313
|
+
build_a2a_inbound_auth_executor_factory(
|
|
314
|
+
runner=runner,
|
|
315
|
+
app_name=root_agent.name,
|
|
316
|
+
credential_service=_credential_service,
|
|
317
|
+
)
|
|
318
|
+
)
|
|
319
|
+
_a2a_server_app = to_a2a(**to_a2a_kwargs)
|
|
250
320
|
|
|
251
321
|
@asynccontextmanager
|
|
252
322
|
async def lifespan(app: FastAPI):
|
|
253
323
|
# trigger A2A server app startup
|
|
254
|
-
logger.info(
|
|
255
|
-
"Triggering A2A server app lifespan within API server..."
|
|
256
|
-
)
|
|
324
|
+
logger.info("Triggering A2A server app lifespan within API server...")
|
|
257
325
|
async with _run_a2a_app_lifespan(_a2a_server_app):
|
|
258
326
|
yield
|
|
259
327
|
|
|
@@ -285,16 +353,56 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
285
353
|
|
|
286
354
|
self.app = get_fast_api_app(**get_fast_api_app_kwargs)
|
|
287
355
|
|
|
356
|
+
identity_middleware_type = None
|
|
357
|
+
identity_current = None
|
|
358
|
+
if identity is None:
|
|
359
|
+
self.runtime_identity = None
|
|
360
|
+
else:
|
|
361
|
+
# Identity is an opt-in security feature. Import it only when
|
|
362
|
+
# configured, but fail closed if the bundled module is broken.
|
|
363
|
+
from agentkit.identity import (
|
|
364
|
+
AgentIdentityMiddleware,
|
|
365
|
+
IdentityRuntimeConfig,
|
|
366
|
+
RuntimeIdentity,
|
|
367
|
+
current_identity,
|
|
368
|
+
)
|
|
369
|
+
|
|
370
|
+
if isinstance(identity, IdentityRuntimeConfig):
|
|
371
|
+
self.runtime_identity = RuntimeIdentity(identity)
|
|
372
|
+
elif isinstance(identity, RuntimeIdentity):
|
|
373
|
+
self.runtime_identity = identity
|
|
374
|
+
else:
|
|
375
|
+
raise TypeError(
|
|
376
|
+
"identity must be an IdentityRuntimeConfig, "
|
|
377
|
+
"RuntimeIdentity, or None"
|
|
378
|
+
)
|
|
379
|
+
identity_middleware_type = AgentIdentityMiddleware
|
|
380
|
+
identity_current = current_identity
|
|
381
|
+
self._identity_current = identity_current
|
|
382
|
+
|
|
288
383
|
if needs_cors_compat_middleware:
|
|
289
384
|
add_cors_compat_middleware(self.app, resolved_allow_origins)
|
|
290
385
|
|
|
291
386
|
@self.app.post("/run_sse")
|
|
292
|
-
async def run_agent_sse(
|
|
387
|
+
async def run_agent_sse(
|
|
388
|
+
req: RunAgentRequest, request: Request
|
|
389
|
+
) -> StreamingResponse:
|
|
293
390
|
logger.info("Overriding run_agent_sse endpoint...")
|
|
391
|
+
identity_context = AgentkitAgentServerApp._request_identity_context(self)
|
|
392
|
+
effective_user_id = (
|
|
393
|
+
identity_context.user_sub if identity_context else req.user_id
|
|
394
|
+
)
|
|
395
|
+
if getattr(self, "_enable_auth_enabled", False):
|
|
396
|
+
await save_inbound_auth(
|
|
397
|
+
request=request,
|
|
398
|
+
app_name=req.app_name,
|
|
399
|
+
user_id=effective_user_id,
|
|
400
|
+
credential_service=self.server.credential_service,
|
|
401
|
+
)
|
|
294
402
|
# SSE endpoint
|
|
295
403
|
session = await self.server.session_service.get_session(
|
|
296
404
|
app_name=req.app_name,
|
|
297
|
-
user_id=
|
|
405
|
+
user_id=effective_user_id,
|
|
298
406
|
session_id=req.session_id,
|
|
299
407
|
)
|
|
300
408
|
if not session:
|
|
@@ -306,6 +414,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
306
414
|
|
|
307
415
|
# Convert the events to properly formatted SSE
|
|
308
416
|
async def event_generator():
|
|
417
|
+
error_payload = None
|
|
309
418
|
try:
|
|
310
419
|
stream_mode = (
|
|
311
420
|
StreamingMode.SSE if req.streaming else StreamingMode.NONE
|
|
@@ -313,7 +422,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
313
422
|
runner = await self.server.get_runner_async(req.app_name)
|
|
314
423
|
async with Aclosing(
|
|
315
424
|
runner.run_async(
|
|
316
|
-
user_id=
|
|
425
|
+
user_id=effective_user_id,
|
|
317
426
|
session_id=req.session_id,
|
|
318
427
|
new_message=req.new_message,
|
|
319
428
|
state_delta=req.state_delta,
|
|
@@ -351,11 +460,23 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
351
460
|
)
|
|
352
461
|
yield f"data: {sse_event}\n\n"
|
|
353
462
|
except Exception as e:
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
463
|
+
if getattr(self, "runtime_identity", None) is not None:
|
|
464
|
+
safe_error = RuntimeError("agent execution failed")
|
|
465
|
+
logger.error("Agent execution failed in identity mode")
|
|
466
|
+
telemetry.trace_agent_server_finish(
|
|
467
|
+
path="/run_sse", func_result="", exception=safe_error
|
|
468
|
+
)
|
|
469
|
+
error_payload = 'data: {"error":"agent execution failed"}\n\n'
|
|
470
|
+
else:
|
|
471
|
+
logger.exception("Error in event_generator: %s", e)
|
|
472
|
+
telemetry.trace_agent_server_finish(
|
|
473
|
+
path="/run_sse", func_result="", exception=e
|
|
474
|
+
)
|
|
475
|
+
error_payload = f"data: {json.dumps({'error': str(e)})}\n\n"
|
|
476
|
+
if error_payload is not None:
|
|
477
|
+
# Yield only after the caught exception variable and its
|
|
478
|
+
# traceback have left scope in identity mode.
|
|
479
|
+
yield error_payload
|
|
359
480
|
# Returns a streaming response with the proper media type for SSE
|
|
360
481
|
|
|
361
482
|
return StreamingResponse(
|
|
@@ -377,17 +498,27 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
377
498
|
# Attach ASGI middleware for unified telemetry across all routes
|
|
378
499
|
self.app.add_middleware(AgentkitTelemetryHTTPMiddleware)
|
|
379
500
|
|
|
501
|
+
if self.runtime_identity is not None:
|
|
502
|
+
# Added after telemetry so identity is the outermost middleware:
|
|
503
|
+
# invalid requests fail before Agent/ADK code and the child scope no
|
|
504
|
+
# longer contains the Authorization header.
|
|
505
|
+
if identity_middleware_type is None:
|
|
506
|
+
raise RuntimeError("Agent Identity middleware is not initialized")
|
|
507
|
+
self.app.add_middleware(
|
|
508
|
+
identity_middleware_type,
|
|
509
|
+
identity=self.runtime_identity,
|
|
510
|
+
public_health_routes=identity_health_routes,
|
|
511
|
+
)
|
|
512
|
+
if enable_auth:
|
|
513
|
+
self.app.add_middleware(InboundAuthCaptureMiddleware)
|
|
514
|
+
|
|
380
515
|
async def _invoke_compat(request: Request):
|
|
381
516
|
# Use current request span from middleware for telemetry
|
|
382
517
|
span = trace.get_current_span()
|
|
383
518
|
|
|
384
519
|
# Extract headers (fallback keys supported)
|
|
385
520
|
headers = request.headers
|
|
386
|
-
telemetry_headers =
|
|
387
|
-
k: v
|
|
388
|
-
for k, v in dict(headers).items()
|
|
389
|
-
if k.lower() not in {"authorization", "token"}
|
|
390
|
-
}
|
|
521
|
+
telemetry_headers = redact_inbound_auth_headers(dict(headers))
|
|
391
522
|
# trace request attributes on current span
|
|
392
523
|
telemetry.trace_agent_server(
|
|
393
524
|
func_name="_invoke_compat",
|
|
@@ -396,7 +527,12 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
396
527
|
text="",
|
|
397
528
|
)
|
|
398
529
|
|
|
399
|
-
|
|
530
|
+
identity_context = AgentkitAgentServerApp._request_identity_context(self)
|
|
531
|
+
user_id = (
|
|
532
|
+
identity_context.user_sub
|
|
533
|
+
if identity_context
|
|
534
|
+
else headers.get("user_id") or "agentkit_user"
|
|
535
|
+
)
|
|
400
536
|
session_id = headers.get("session_id") or ""
|
|
401
537
|
|
|
402
538
|
# Determine app_name from loader
|
|
@@ -410,6 +546,13 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
410
546
|
)
|
|
411
547
|
raise exception
|
|
412
548
|
app_name = app_names[0]
|
|
549
|
+
if getattr(self, "_enable_auth_enabled", False):
|
|
550
|
+
await save_inbound_auth(
|
|
551
|
+
request=request,
|
|
552
|
+
app_name=app_name,
|
|
553
|
+
user_id=user_id,
|
|
554
|
+
credential_service=self.server.credential_service,
|
|
555
|
+
)
|
|
413
556
|
|
|
414
557
|
# Parse payload and convert to ADK Content
|
|
415
558
|
try:
|
|
@@ -442,6 +585,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
442
585
|
)
|
|
443
586
|
|
|
444
587
|
async def event_generator():
|
|
588
|
+
error_payload = None
|
|
445
589
|
try:
|
|
446
590
|
runner = await self.server.get_runner_async(app_name)
|
|
447
591
|
async with Aclosing(
|
|
@@ -449,9 +593,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
449
593
|
user_id=user_id,
|
|
450
594
|
session_id=session_id,
|
|
451
595
|
new_message=content,
|
|
452
|
-
run_config=RunConfig(
|
|
453
|
-
streaming_mode=StreamingMode.SSE
|
|
454
|
-
),
|
|
596
|
+
run_config=RunConfig(streaming_mode=StreamingMode.SSE),
|
|
455
597
|
)
|
|
456
598
|
) as agen:
|
|
457
599
|
async for event in agen:
|
|
@@ -465,10 +607,22 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
465
607
|
# finish span on successful end of stream handled by middleware
|
|
466
608
|
pass
|
|
467
609
|
except Exception as e:
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
610
|
+
if getattr(self, "runtime_identity", None) is not None:
|
|
611
|
+
safe_error = RuntimeError("agent execution failed")
|
|
612
|
+
logger.error("Agent execution failed in identity mode")
|
|
613
|
+
telemetry.trace_agent_server_finish(
|
|
614
|
+
path="/invoke", func_result="", exception=safe_error
|
|
615
|
+
)
|
|
616
|
+
error_payload = 'data: {"error":"agent execution failed"}\n\n'
|
|
617
|
+
else:
|
|
618
|
+
telemetry.trace_agent_server_finish(
|
|
619
|
+
path="/invoke", func_result="", exception=e
|
|
620
|
+
)
|
|
621
|
+
error_payload = f'data: {{"error": "{str(e)}"}}\n\n'
|
|
622
|
+
if error_payload is not None:
|
|
623
|
+
# The identity path never suspends while retaining the
|
|
624
|
+
# original exception or its credential-bearing traceback.
|
|
625
|
+
yield error_payload
|
|
472
626
|
|
|
473
627
|
return StreamingResponse(
|
|
474
628
|
event_generator(),
|
|
@@ -483,8 +637,11 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
483
637
|
# Compatibility route for AgentKit CLI invoke
|
|
484
638
|
self.app.add_api_route("/invoke", _invoke_compat, methods=["POST"])
|
|
485
639
|
|
|
486
|
-
#
|
|
487
|
-
|
|
640
|
+
# V1 identity mode does not expose A2A: its payload/session ownership is
|
|
641
|
+
# not yet bound to the verified OIDC subject. Fail closed instead of
|
|
642
|
+
# presenting authentication as multi-tenant authorization.
|
|
643
|
+
if self.runtime_identity is None:
|
|
644
|
+
self.app.mount("/", _a2a_server_app)
|
|
488
645
|
|
|
489
646
|
def run(self, host: str, port: int = 8000) -> None:
|
|
490
647
|
"""Run the app with Uvicorn server."""
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Copyright (c) 2026 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from typing import Any
|
|
18
|
+
|
|
19
|
+
from google.adk.auth.auth_credential import AuthCredential
|
|
20
|
+
from google.adk.auth.credential_service.base_credential_service import (
|
|
21
|
+
BaseCredentialService,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class AgentkitCredentialService(BaseCredentialService):
|
|
26
|
+
"""AgentKit-owned ADK credential service with a direct write API."""
|
|
27
|
+
|
|
28
|
+
def __init__(self) -> None:
|
|
29
|
+
super().__init__()
|
|
30
|
+
self._credentials: dict[str, dict[str, dict[str, AuthCredential]]] = {}
|
|
31
|
+
|
|
32
|
+
async def load_credential(
|
|
33
|
+
self,
|
|
34
|
+
auth_config: Any,
|
|
35
|
+
callback_context: Any,
|
|
36
|
+
) -> AuthCredential | None:
|
|
37
|
+
app_name, user_id = self._resolve_context(callback_context)
|
|
38
|
+
credential_key = self._resolve_credential_key(auth_config)
|
|
39
|
+
if credential_key is None:
|
|
40
|
+
return None
|
|
41
|
+
return await self.get_credential(
|
|
42
|
+
app_name=app_name,
|
|
43
|
+
user_id=user_id,
|
|
44
|
+
credential_key=credential_key,
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
async def save_credential(
|
|
48
|
+
self,
|
|
49
|
+
auth_config: Any,
|
|
50
|
+
callback_context: Any,
|
|
51
|
+
) -> None:
|
|
52
|
+
app_name, user_id = self._resolve_context(callback_context)
|
|
53
|
+
credential_key = self._resolve_credential_key(auth_config)
|
|
54
|
+
credential = getattr(auth_config, "exchanged_auth_credential", None)
|
|
55
|
+
if credential_key and credential is not None:
|
|
56
|
+
await self.set_credential(
|
|
57
|
+
app_name=app_name,
|
|
58
|
+
user_id=user_id,
|
|
59
|
+
credential_key=credential_key,
|
|
60
|
+
credential=credential,
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
async def set_credential(
|
|
64
|
+
self,
|
|
65
|
+
app_name: str,
|
|
66
|
+
user_id: str,
|
|
67
|
+
credential_key: str,
|
|
68
|
+
credential: AuthCredential,
|
|
69
|
+
) -> None:
|
|
70
|
+
self._credentials.setdefault(app_name, {})
|
|
71
|
+
self._credentials[app_name].setdefault(user_id, {})
|
|
72
|
+
self._credentials[app_name][user_id][credential_key] = credential
|
|
73
|
+
|
|
74
|
+
async def get_credential(
|
|
75
|
+
self,
|
|
76
|
+
app_name: str,
|
|
77
|
+
user_id: str,
|
|
78
|
+
credential_key: str,
|
|
79
|
+
) -> AuthCredential | None:
|
|
80
|
+
return self._credentials.get(app_name, {}).get(user_id, {}).get(credential_key)
|
|
81
|
+
|
|
82
|
+
def _resolve_context(self, callback_context: Any) -> tuple[str, str]:
|
|
83
|
+
invocation_context = getattr(callback_context, "_invocation_context", None)
|
|
84
|
+
if invocation_context is None:
|
|
85
|
+
invocation_context = getattr(callback_context, "invocation_context", None)
|
|
86
|
+
return invocation_context.app_name, invocation_context.user_id
|
|
87
|
+
|
|
88
|
+
def _resolve_credential_key(self, auth_config: Any) -> str | None:
|
|
89
|
+
credential_key = getattr(auth_config, "credential_key", None)
|
|
90
|
+
if credential_key is None and hasattr(auth_config, "get_credential_key"):
|
|
91
|
+
credential_key = auth_config.get_credential_key()
|
|
92
|
+
return credential_key
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Copyright (c) 2026 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
"""Compatibility imports for AgentServer inbound-auth helpers."""
|
|
16
|
+
|
|
17
|
+
from agentkit.apps.agent_server_app.inbound_auth_adapter import (
|
|
18
|
+
inbound_tokens_to_adk_credentials,
|
|
19
|
+
save_inbound_auth,
|
|
20
|
+
)
|
|
21
|
+
from agentkit.apps.auth.inbound import (
|
|
22
|
+
AUTHORIZATION_HEADER,
|
|
23
|
+
INBOUND_AUTH_CREDENTIAL_KEY,
|
|
24
|
+
TIP_TOKEN_CREDENTIAL_KEY,
|
|
25
|
+
TIP_TOKEN_HEADER,
|
|
26
|
+
InboundAuthTokens,
|
|
27
|
+
extract_inbound_auth,
|
|
28
|
+
redact_inbound_auth_headers,
|
|
29
|
+
strip_bearer,
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
__all__ = [
|
|
33
|
+
"AUTHORIZATION_HEADER",
|
|
34
|
+
"INBOUND_AUTH_CREDENTIAL_KEY",
|
|
35
|
+
"TIP_TOKEN_CREDENTIAL_KEY",
|
|
36
|
+
"TIP_TOKEN_HEADER",
|
|
37
|
+
"InboundAuthTokens",
|
|
38
|
+
"extract_inbound_auth",
|
|
39
|
+
"inbound_tokens_to_adk_credentials",
|
|
40
|
+
"redact_inbound_auth_headers",
|
|
41
|
+
"save_inbound_auth",
|
|
42
|
+
"strip_bearer",
|
|
43
|
+
]
|