agentkit-sdk-python 0.8.0__tar.gz → 0.8.2__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.0 → agentkit_sdk_python-0.8.2}/PKG-INFO +5 -3
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/agent_server_app.py +170 -29
- agentkit_sdk_python-0.8.2/agentkit/apps/agent_server_app/credential_service.py +92 -0
- agentkit_sdk_python-0.8.2/agentkit/apps/agent_server_app/inbound_auth.py +43 -0
- agentkit_sdk_python-0.8.2/agentkit/apps/agent_server_app/inbound_auth_adapter.py +187 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/middleware.py +3 -6
- agentkit_sdk_python-0.8.2/agentkit/apps/auth/__init__.py +35 -0
- agentkit_sdk_python-0.8.2/agentkit/apps/auth/inbound.py +91 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/__init__.py +73 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/_runtime_dependency.py +25 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/client.py +182 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/context.py +10 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/errors.py +23 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/jwt.py +10 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/middleware.py +113 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/runtime.py +7 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/transport.py +7 -0
- agentkit_sdk_python-0.8.2/agentkit/identity/types.py +19 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/constants.py +7 -0
- agentkit_sdk_python-0.8.2/agentkit/sdk/model_gateway/__init__.py +101 -0
- agentkit_sdk_python-0.8.2/agentkit/sdk/model_gateway/client.py +191 -0
- agentkit_sdk_python-0.8.2/agentkit/sdk/model_gateway/types.py +382 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli.py +2 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_config.py +7 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_memory.py +38 -7
- agentkit_sdk_python-0.8.2/agentkit/toolkit/cli/cli_model_gateway.py +1109 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_runtime.py +26 -4
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/__init__.py +2 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/config_handler.py +3 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/constants.py +1 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/strategy_configs.py +9 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/runners/ve_agentkit.py +54 -11
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/cloud_strategy.py +1 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/hybrid_strategy.py +1 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/version.py +1 -1
- agentkit_sdk_python-0.8.2/agentkit_identity/__init__.py +58 -0
- agentkit_sdk_python-0.8.2/agentkit_identity/context.py +180 -0
- agentkit_sdk_python-0.8.2/agentkit_identity/errors.py +36 -0
- agentkit_sdk_python-0.8.2/agentkit_identity/jwt.py +673 -0
- agentkit_sdk_python-0.8.2/agentkit_identity/middleware.py +278 -0
- agentkit_sdk_python-0.8.2/agentkit_identity/runtime.py +377 -0
- agentkit_sdk_python-0.8.2/agentkit_identity/transport.py +230 -0
- agentkit_sdk_python-0.8.2/agentkit_identity/types.py +196 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit_sdk_python.egg-info/PKG-INFO +5 -3
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit_sdk_python.egg-info/SOURCES.txt +28 -0
- agentkit_sdk_python-0.8.2/agentkit_sdk_python.egg-info/dependency_links.txt +1 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit_sdk_python.egg-info/requires.txt +5 -2
- agentkit_sdk_python-0.8.2/agentkit_sdk_python.egg-info/top_level.txt +2 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/pyproject.toml +8 -4
- agentkit_sdk_python-0.8.0/agentkit_sdk_python.egg-info/top_level.txt +0 -1
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/LICENSE +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/MANIFEST.in +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/README.md +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/a2a_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/a2a_app/a2a_app.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/a2a_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/origin.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/base_app.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/langgraph_server_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/langgraph_server_app/langgraph_server_app.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/mcp_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/mcp_app/mcp_app.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/mcp_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/simple_app/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/simple_app/simple_app.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/simple_app/simple_app_handlers.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/simple_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/utils.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/_openapi.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/_redact.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/_sigv4.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/admin.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/credential_hosting.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/errors.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/model_login.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/oauth.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/profile.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/providers.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/resolve.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/session.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/ssl_trust.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/sso.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/store.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/sts.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/client/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/client/base_agentkit_client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/client/base_iam_client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/client/base_service_client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/errors.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/_common.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/agentcore.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/langchain.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/langgraph.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/migration.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/model_replacement.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/serving/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/serving/fastapi_mount.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/serving/langserve.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/strands.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/configuration.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/console_urls.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/context.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/provider.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/account/client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/account/types.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/identity/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/identity/auth.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/identity/client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/identity/types.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/knowledge/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/knowledge/client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/knowledge/types.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/mcp/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/mcp/client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/mcp/types.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/memory/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/memory/client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/memory/types.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/runtime/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/runtime/client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/runtime/types.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/skills/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/skills/client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/skills/types.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/tools/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/tools/client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/tools/types.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/base.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/local_docker.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/ve_pipeline.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/ve_sandbox_pipeline.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/__main__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_add.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_auth.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_build.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_delete.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_deploy.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_destroy.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_init.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_invoke.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_knowledge.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_launch.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_list.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_logs.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_skill.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_skills.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_skills_workflow.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_status.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_tools.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_version.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/console_reporter.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/interactive_config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/a2a_client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/agentkit_client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_build.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_create.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_delete.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_exec.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_init.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_invoke.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_list.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_model_login.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_mount.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_run.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_scp.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_shell.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_web.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/config_store.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/env_config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/git_config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/model_config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/sandbox_client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/session_create.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/session_sync.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/tool_resolve.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/tos_config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/tool_lookup.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/utils.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/choice_resolvers.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/cloud_provider.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/config_validator.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/dataclass_utils.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/docker_build_config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/global_config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/region_defaults.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/region_resolver.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/utils.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/context.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/base_images.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/container.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/dockerfile/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/dockerfile/manager.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/dockerfile/metadata.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/utils.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/errors.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/base_executor.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/build_executor.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/deploy_executor.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/init_executor.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/invoke_executor.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/lifecycle_executor.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/status_executor.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/harness/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/harness/config_builder.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/harness/deploy.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/harness/env_mapping.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/models.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/reporter.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/a2a.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/agent_server.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/basic.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/basic_stream.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/customer_support_assistant.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/agent.go +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/build.sh +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/go.mod +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/go.sum +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/main.go +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/financial_analyst.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/langchain_basic_stream.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/simple_app_veadk.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/simple_mcp_veadk.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/agent.go +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/build.sh +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.mod +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.sum +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/main.go +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/agent.go +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/build.sh +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/go.mod +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/go.sum +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/main.go +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/code-pipeline-sandbox-tos-cr-step.j2 +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/golang/Dockerfile.j2 +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/python/Dockerfile.j2 +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-package +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-skills +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.web-server +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/wrappers/wrapper_basic.py.jinja2 +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2 +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/runners/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/runners/base.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/runners/local_docker.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/bindings/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/bindings/memory.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/builder.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/client.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/deployer.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/initializer.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/invoker.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/lifecycle.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/status.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/base_strategy.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/local_strategy.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/utils/agent_parser.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/apmplus_logs.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/code_pipeline.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/cr.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/iam.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/services/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/services/cr_service.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/services/tos_service.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/sts.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/utils/project_archiver.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/global_config_io.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/http_defaults.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/logging_config.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/misc.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/redact.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/request.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/template_utils.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/ve_sign.py +0 -0
- /agentkit_sdk_python-0.8.0/agentkit_sdk_python.egg-info/dependency_links.txt → /agentkit_sdk_python-0.8.2/agentkit_identity/py.typed +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit_sdk_python.egg-info/entry_points.txt +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/setup.cfg +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/tests/test_client_uses_platform_context.py +0 -0
- {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/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.2
|
|
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,12 +12,14 @@
|
|
|
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
|
|
23
25
|
from fastapi import FastAPI, HTTPException, Request
|
|
@@ -59,6 +61,15 @@ except ImportError: # pragma: no cover - default migration path avoids veadk.
|
|
|
59
61
|
from agentkit.apps.agent_server_app.middleware import (
|
|
60
62
|
AgentkitTelemetryHTTPMiddleware,
|
|
61
63
|
)
|
|
64
|
+
from agentkit.apps.agent_server_app.credential_service import (
|
|
65
|
+
AgentkitCredentialService,
|
|
66
|
+
)
|
|
67
|
+
from agentkit.apps.agent_server_app.inbound_auth_adapter import (
|
|
68
|
+
InboundAuthCaptureMiddleware,
|
|
69
|
+
build_a2a_inbound_auth_executor_factory,
|
|
70
|
+
save_inbound_auth,
|
|
71
|
+
)
|
|
72
|
+
from agentkit.apps.auth.inbound import redact_inbound_auth_headers
|
|
62
73
|
from agentkit.apps.agent_server_app.origin import (
|
|
63
74
|
add_cors_compat_middleware,
|
|
64
75
|
adk_supports_regex_origins,
|
|
@@ -69,6 +80,15 @@ from agentkit.apps.agent_server_app.origin import (
|
|
|
69
80
|
from agentkit.apps.agent_server_app.telemetry import telemetry
|
|
70
81
|
from agentkit.apps.base_app import BaseAgentkitApp
|
|
71
82
|
|
|
83
|
+
if TYPE_CHECKING:
|
|
84
|
+
from agentkit_identity import IdentityRuntimeConfig, RuntimeIdentity
|
|
85
|
+
else:
|
|
86
|
+
# Avoid eagerly importing the bundled security module for ordinary
|
|
87
|
+
# AgentServer startup. Construction imports and validates the concrete
|
|
88
|
+
# classes before Identity mode can be enabled.
|
|
89
|
+
IdentityRuntimeConfig = Any
|
|
90
|
+
RuntimeIdentity = Any
|
|
91
|
+
|
|
72
92
|
logger = logging.getLogger(__name__)
|
|
73
93
|
|
|
74
94
|
|
|
@@ -120,6 +140,10 @@ def _create_a2a_runner(
|
|
|
120
140
|
short_term_memory=short_term_memory
|
|
121
141
|
if _is_veadk_short_term_memory(short_term_memory)
|
|
122
142
|
else None,
|
|
143
|
+
app_name=root_agent.name,
|
|
144
|
+
session_service=session_service,
|
|
145
|
+
memory_service=memory_service,
|
|
146
|
+
credential_service=credential_service,
|
|
123
147
|
)
|
|
124
148
|
return Runner(
|
|
125
149
|
agent=root_agent,
|
|
@@ -199,6 +223,21 @@ class AgentKitAgentLoader(BaseAgentLoader):
|
|
|
199
223
|
|
|
200
224
|
|
|
201
225
|
class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
226
|
+
def _request_identity_context(self) -> Any | None:
|
|
227
|
+
# Older integrations and focused unit-test doubles predate the
|
|
228
|
+
# ``runtime_identity`` attribute. Treat an absent attribute exactly as
|
|
229
|
+
# the existing identity-disabled mode. A real identity-enabled server
|
|
230
|
+
# always sets the attribute during construction and still fails closed
|
|
231
|
+
# below when request context binding is unavailable.
|
|
232
|
+
if getattr(self, "runtime_identity", None) is None:
|
|
233
|
+
return None
|
|
234
|
+
identity_current = getattr(self, "_identity_current", None)
|
|
235
|
+
if identity_current is None:
|
|
236
|
+
raise RuntimeError("Agent Identity Runtime is not initialized")
|
|
237
|
+
# Identity-enabled handlers must never fall back to a caller-owned
|
|
238
|
+
# user_id if middleware composition or context binding is broken.
|
|
239
|
+
return identity_current(required=True)
|
|
240
|
+
|
|
202
241
|
def __init__(
|
|
203
242
|
self,
|
|
204
243
|
agent: BaseAgent | App | None = None,
|
|
@@ -207,8 +246,12 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
207
246
|
app: App | None = None,
|
|
208
247
|
allow_origins: list[str] | None = None,
|
|
209
248
|
allow_origin_regex: str | list[str] | None = None,
|
|
249
|
+
enable_auth: bool = False,
|
|
250
|
+
identity: IdentityRuntimeConfig | RuntimeIdentity | None = None,
|
|
251
|
+
identity_health_routes: tuple[str, ...] = (),
|
|
210
252
|
) -> None:
|
|
211
253
|
super().__init__()
|
|
254
|
+
self._enable_auth_enabled = enable_auth
|
|
212
255
|
|
|
213
256
|
if app is not None and agent is not None:
|
|
214
257
|
raise TypeError("Only one of 'agent' or 'app' can be provided.")
|
|
@@ -222,7 +265,9 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
222
265
|
memory_service = _resolve_memory_service(root_agent)
|
|
223
266
|
|
|
224
267
|
_artifact_service = InMemoryArtifactService()
|
|
225
|
-
_credential_service =
|
|
268
|
+
_credential_service = (
|
|
269
|
+
AgentkitCredentialService() if enable_auth else InMemoryCredentialService()
|
|
270
|
+
)
|
|
226
271
|
|
|
227
272
|
_eval_sets_manager = LocalEvalSetsManager(agents_dir=".")
|
|
228
273
|
_eval_set_results_manager = LocalEvalSetResultsManager(agents_dir=".")
|
|
@@ -246,14 +291,21 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
246
291
|
artifact_service=_artifact_service,
|
|
247
292
|
credential_service=_credential_service,
|
|
248
293
|
)
|
|
249
|
-
|
|
294
|
+
to_a2a_kwargs: dict[str, Any] = {"agent": root_agent, "runner": runner}
|
|
295
|
+
if enable_auth:
|
|
296
|
+
to_a2a_kwargs["agent_executor_factory"] = (
|
|
297
|
+
build_a2a_inbound_auth_executor_factory(
|
|
298
|
+
runner=runner,
|
|
299
|
+
app_name=root_agent.name,
|
|
300
|
+
credential_service=_credential_service,
|
|
301
|
+
)
|
|
302
|
+
)
|
|
303
|
+
_a2a_server_app = to_a2a(**to_a2a_kwargs)
|
|
250
304
|
|
|
251
305
|
@asynccontextmanager
|
|
252
306
|
async def lifespan(app: FastAPI):
|
|
253
307
|
# trigger A2A server app startup
|
|
254
|
-
logger.info(
|
|
255
|
-
"Triggering A2A server app lifespan within API server..."
|
|
256
|
-
)
|
|
308
|
+
logger.info("Triggering A2A server app lifespan within API server...")
|
|
257
309
|
async with _run_a2a_app_lifespan(_a2a_server_app):
|
|
258
310
|
yield
|
|
259
311
|
|
|
@@ -285,16 +337,56 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
285
337
|
|
|
286
338
|
self.app = get_fast_api_app(**get_fast_api_app_kwargs)
|
|
287
339
|
|
|
340
|
+
identity_middleware_type = None
|
|
341
|
+
identity_current = None
|
|
342
|
+
if identity is None:
|
|
343
|
+
self.runtime_identity = None
|
|
344
|
+
else:
|
|
345
|
+
# Identity is an opt-in security feature. Import it only when
|
|
346
|
+
# configured, but fail closed if the bundled module is broken.
|
|
347
|
+
from agentkit.identity import (
|
|
348
|
+
AgentIdentityMiddleware,
|
|
349
|
+
IdentityRuntimeConfig,
|
|
350
|
+
RuntimeIdentity,
|
|
351
|
+
current_identity,
|
|
352
|
+
)
|
|
353
|
+
|
|
354
|
+
if isinstance(identity, IdentityRuntimeConfig):
|
|
355
|
+
self.runtime_identity = RuntimeIdentity(identity)
|
|
356
|
+
elif isinstance(identity, RuntimeIdentity):
|
|
357
|
+
self.runtime_identity = identity
|
|
358
|
+
else:
|
|
359
|
+
raise TypeError(
|
|
360
|
+
"identity must be an IdentityRuntimeConfig, "
|
|
361
|
+
"RuntimeIdentity, or None"
|
|
362
|
+
)
|
|
363
|
+
identity_middleware_type = AgentIdentityMiddleware
|
|
364
|
+
identity_current = current_identity
|
|
365
|
+
self._identity_current = identity_current
|
|
366
|
+
|
|
288
367
|
if needs_cors_compat_middleware:
|
|
289
368
|
add_cors_compat_middleware(self.app, resolved_allow_origins)
|
|
290
369
|
|
|
291
370
|
@self.app.post("/run_sse")
|
|
292
|
-
async def run_agent_sse(
|
|
371
|
+
async def run_agent_sse(
|
|
372
|
+
req: RunAgentRequest, request: Request
|
|
373
|
+
) -> StreamingResponse:
|
|
293
374
|
logger.info("Overriding run_agent_sse endpoint...")
|
|
375
|
+
identity_context = AgentkitAgentServerApp._request_identity_context(self)
|
|
376
|
+
effective_user_id = (
|
|
377
|
+
identity_context.user_sub if identity_context else req.user_id
|
|
378
|
+
)
|
|
379
|
+
if getattr(self, "_enable_auth_enabled", False):
|
|
380
|
+
await save_inbound_auth(
|
|
381
|
+
request=request,
|
|
382
|
+
app_name=req.app_name,
|
|
383
|
+
user_id=effective_user_id,
|
|
384
|
+
credential_service=self.server.credential_service,
|
|
385
|
+
)
|
|
294
386
|
# SSE endpoint
|
|
295
387
|
session = await self.server.session_service.get_session(
|
|
296
388
|
app_name=req.app_name,
|
|
297
|
-
user_id=
|
|
389
|
+
user_id=effective_user_id,
|
|
298
390
|
session_id=req.session_id,
|
|
299
391
|
)
|
|
300
392
|
if not session:
|
|
@@ -306,6 +398,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
306
398
|
|
|
307
399
|
# Convert the events to properly formatted SSE
|
|
308
400
|
async def event_generator():
|
|
401
|
+
error_payload = None
|
|
309
402
|
try:
|
|
310
403
|
stream_mode = (
|
|
311
404
|
StreamingMode.SSE if req.streaming else StreamingMode.NONE
|
|
@@ -313,7 +406,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
313
406
|
runner = await self.server.get_runner_async(req.app_name)
|
|
314
407
|
async with Aclosing(
|
|
315
408
|
runner.run_async(
|
|
316
|
-
user_id=
|
|
409
|
+
user_id=effective_user_id,
|
|
317
410
|
session_id=req.session_id,
|
|
318
411
|
new_message=req.new_message,
|
|
319
412
|
state_delta=req.state_delta,
|
|
@@ -351,11 +444,23 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
351
444
|
)
|
|
352
445
|
yield f"data: {sse_event}\n\n"
|
|
353
446
|
except Exception as e:
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
447
|
+
if getattr(self, "runtime_identity", None) is not None:
|
|
448
|
+
safe_error = RuntimeError("agent execution failed")
|
|
449
|
+
logger.error("Agent execution failed in identity mode")
|
|
450
|
+
telemetry.trace_agent_server_finish(
|
|
451
|
+
path="/run_sse", func_result="", exception=safe_error
|
|
452
|
+
)
|
|
453
|
+
error_payload = 'data: {"error":"agent execution failed"}\n\n'
|
|
454
|
+
else:
|
|
455
|
+
logger.exception("Error in event_generator: %s", e)
|
|
456
|
+
telemetry.trace_agent_server_finish(
|
|
457
|
+
path="/run_sse", func_result="", exception=e
|
|
458
|
+
)
|
|
459
|
+
error_payload = f"data: {json.dumps({'error': str(e)})}\n\n"
|
|
460
|
+
if error_payload is not None:
|
|
461
|
+
# Yield only after the caught exception variable and its
|
|
462
|
+
# traceback have left scope in identity mode.
|
|
463
|
+
yield error_payload
|
|
359
464
|
# Returns a streaming response with the proper media type for SSE
|
|
360
465
|
|
|
361
466
|
return StreamingResponse(
|
|
@@ -377,17 +482,27 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
377
482
|
# Attach ASGI middleware for unified telemetry across all routes
|
|
378
483
|
self.app.add_middleware(AgentkitTelemetryHTTPMiddleware)
|
|
379
484
|
|
|
485
|
+
if self.runtime_identity is not None:
|
|
486
|
+
# Added after telemetry so identity is the outermost middleware:
|
|
487
|
+
# invalid requests fail before Agent/ADK code and the child scope no
|
|
488
|
+
# longer contains the Authorization header.
|
|
489
|
+
if identity_middleware_type is None:
|
|
490
|
+
raise RuntimeError("Agent Identity middleware is not initialized")
|
|
491
|
+
self.app.add_middleware(
|
|
492
|
+
identity_middleware_type,
|
|
493
|
+
identity=self.runtime_identity,
|
|
494
|
+
public_health_routes=identity_health_routes,
|
|
495
|
+
)
|
|
496
|
+
if enable_auth:
|
|
497
|
+
self.app.add_middleware(InboundAuthCaptureMiddleware)
|
|
498
|
+
|
|
380
499
|
async def _invoke_compat(request: Request):
|
|
381
500
|
# Use current request span from middleware for telemetry
|
|
382
501
|
span = trace.get_current_span()
|
|
383
502
|
|
|
384
503
|
# Extract headers (fallback keys supported)
|
|
385
504
|
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
|
-
}
|
|
505
|
+
telemetry_headers = redact_inbound_auth_headers(dict(headers))
|
|
391
506
|
# trace request attributes on current span
|
|
392
507
|
telemetry.trace_agent_server(
|
|
393
508
|
func_name="_invoke_compat",
|
|
@@ -396,7 +511,12 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
396
511
|
text="",
|
|
397
512
|
)
|
|
398
513
|
|
|
399
|
-
|
|
514
|
+
identity_context = AgentkitAgentServerApp._request_identity_context(self)
|
|
515
|
+
user_id = (
|
|
516
|
+
identity_context.user_sub
|
|
517
|
+
if identity_context
|
|
518
|
+
else headers.get("user_id") or "agentkit_user"
|
|
519
|
+
)
|
|
400
520
|
session_id = headers.get("session_id") or ""
|
|
401
521
|
|
|
402
522
|
# Determine app_name from loader
|
|
@@ -410,6 +530,13 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
410
530
|
)
|
|
411
531
|
raise exception
|
|
412
532
|
app_name = app_names[0]
|
|
533
|
+
if getattr(self, "_enable_auth_enabled", False):
|
|
534
|
+
await save_inbound_auth(
|
|
535
|
+
request=request,
|
|
536
|
+
app_name=app_name,
|
|
537
|
+
user_id=user_id,
|
|
538
|
+
credential_service=self.server.credential_service,
|
|
539
|
+
)
|
|
413
540
|
|
|
414
541
|
# Parse payload and convert to ADK Content
|
|
415
542
|
try:
|
|
@@ -442,6 +569,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
442
569
|
)
|
|
443
570
|
|
|
444
571
|
async def event_generator():
|
|
572
|
+
error_payload = None
|
|
445
573
|
try:
|
|
446
574
|
runner = await self.server.get_runner_async(app_name)
|
|
447
575
|
async with Aclosing(
|
|
@@ -449,9 +577,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
449
577
|
user_id=user_id,
|
|
450
578
|
session_id=session_id,
|
|
451
579
|
new_message=content,
|
|
452
|
-
run_config=RunConfig(
|
|
453
|
-
streaming_mode=StreamingMode.SSE
|
|
454
|
-
),
|
|
580
|
+
run_config=RunConfig(streaming_mode=StreamingMode.SSE),
|
|
455
581
|
)
|
|
456
582
|
) as agen:
|
|
457
583
|
async for event in agen:
|
|
@@ -465,10 +591,22 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
465
591
|
# finish span on successful end of stream handled by middleware
|
|
466
592
|
pass
|
|
467
593
|
except Exception as e:
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
594
|
+
if getattr(self, "runtime_identity", None) is not None:
|
|
595
|
+
safe_error = RuntimeError("agent execution failed")
|
|
596
|
+
logger.error("Agent execution failed in identity mode")
|
|
597
|
+
telemetry.trace_agent_server_finish(
|
|
598
|
+
path="/invoke", func_result="", exception=safe_error
|
|
599
|
+
)
|
|
600
|
+
error_payload = 'data: {"error":"agent execution failed"}\n\n'
|
|
601
|
+
else:
|
|
602
|
+
telemetry.trace_agent_server_finish(
|
|
603
|
+
path="/invoke", func_result="", exception=e
|
|
604
|
+
)
|
|
605
|
+
error_payload = f'data: {{"error": "{str(e)}"}}\n\n'
|
|
606
|
+
if error_payload is not None:
|
|
607
|
+
# The identity path never suspends while retaining the
|
|
608
|
+
# original exception or its credential-bearing traceback.
|
|
609
|
+
yield error_payload
|
|
472
610
|
|
|
473
611
|
return StreamingResponse(
|
|
474
612
|
event_generator(),
|
|
@@ -483,8 +621,11 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
|
|
|
483
621
|
# Compatibility route for AgentKit CLI invoke
|
|
484
622
|
self.app.add_api_route("/invoke", _invoke_compat, methods=["POST"])
|
|
485
623
|
|
|
486
|
-
#
|
|
487
|
-
|
|
624
|
+
# V1 identity mode does not expose A2A: its payload/session ownership is
|
|
625
|
+
# not yet bound to the verified OIDC subject. Fail closed instead of
|
|
626
|
+
# presenting authentication as multi-tenant authorization.
|
|
627
|
+
if self.runtime_identity is None:
|
|
628
|
+
self.app.mount("/", _a2a_server_app)
|
|
488
629
|
|
|
489
630
|
def run(self, host: str, port: int = 8000) -> None:
|
|
490
631
|
"""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
|
+
]
|