├── .github └── workflows │ ├── publish-images.yml │ ├── publish_pypi.yml │ └── tests_ci.yml ├── .gitignore ├── .python-version ├── LICENSE ├── MANIFEST.in ├── README.md ├── example_policy.gr ├── gateway ├── .env ├── Dockerfile.gateway ├── __init__.py ├── __main__.py ├── common │ ├── __init__.py │ ├── authorization.py │ ├── config_manager.py │ ├── constants.py │ ├── guardrails.py │ └── request_context.py ├── converters │ ├── __init__.py │ ├── anthropic_to_invariant.py │ └── gemini_to_invariant.py ├── docker-compose.local.yml ├── integrations │ ├── __init__.py │ ├── explorer.py │ └── guardrails.py ├── mcp │ ├── README.md │ ├── __init__.py │ ├── constants.py │ ├── log.py │ ├── mcp_sessions_manager.py │ ├── mcp_transport_base.py │ ├── sse.py │ ├── stdio.py │ └── streamable.py ├── routes │ ├── __init__.py │ ├── anthropic.py │ ├── base_provider.py │ ├── gemini.py │ ├── instrumentation.py │ └── open_ai.py ├── run.sh ├── serve.py └── validate_config.py ├── pyproject.toml ├── resources ├── images │ ├── invariant-gateway.png │ ├── openhands-integration.png │ └── overview.svg └── streaming_chunk_text │ └── anthropic.txt ├── run.sh ├── tests ├── integration │ ├── .env.test │ ├── Dockerfile.test │ ├── anthropic │ │ ├── test_anthropic_header_with_invariant_key.py │ │ ├── test_anthropic_with_tool_call.py │ │ └── test_anthropic_without_tool_call.py │ ├── conftest.py │ ├── docker-compose.test.yml │ ├── gemini │ │ ├── test_generate_content_with_tool_calls.py │ │ └── test_generate_content_without_tool_calls.py │ ├── guardrails │ │ ├── test_guardrails_anthropic.py │ │ ├── test_guardrails_gemini.py │ │ ├── test_guardrails_open_ai.py │ │ └── test_header_guardrails.py │ ├── litellm │ │ └── test_chat_without_tool_call.py │ ├── mcp │ │ └── test_mcp.py │ ├── open_ai │ │ ├── test_chat_with_tool_call.py │ │ └── test_chat_without_tool_calls.py │ ├── pytest.ini │ ├── requirements.txt │ ├── resources │ │ ├── __init__.py │ │ ├── guardrails │ │ │ └── integration_test_guardrails_via_file.py │ │ ├── images │ │ │ ├── new-york.jpg │ │ │ └── two-cats.png │ │ └── mcp │ │ │ ├── __init__.py │ │ │ ├── sse │ │ │ ├── __init__.py │ │ │ ├── client │ │ │ │ ├── __init__.py │ │ │ │ └── main.py │ │ │ └── messenger_server │ │ │ │ ├── Dockerfile.mcp-server │ │ │ │ ├── __init__.py │ │ │ │ └── main.py │ │ │ ├── stdio │ │ │ ├── __init__.py │ │ │ ├── client │ │ │ │ ├── __init__.py │ │ │ │ ├── main.py │ │ │ │ └── pyproject.toml │ │ │ └── messenger_server │ │ │ │ ├── __init__.py │ │ │ │ ├── main.py │ │ │ │ ├── pyproject.toml │ │ │ │ └── uv.lock │ │ │ └── streamable │ │ │ ├── __init__.py │ │ │ ├── client │ │ │ ├── __init__.py │ │ │ └── main.py │ │ │ └── messenger_server │ │ │ ├── Dockerfile.mcp-server │ │ │ ├── __init__.py │ │ │ └── main.py │ └── utils.py ├── test-client.py └── unit_tests │ ├── common │ └── test_authorization.py │ ├── converters │ ├── test_anthropic_to_invariant.py │ └── test_gemini_to_invariant.py │ └── requirements.txt └── uv.lock /.github/workflows/publish-images.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/.github/workflows/publish-images.yml -------------------------------------------------------------------------------- /.github/workflows/publish_pypi.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/.github/workflows/publish_pypi.yml -------------------------------------------------------------------------------- /.github/workflows/tests_ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/.github/workflows/tests_ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/.gitignore -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.12 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/README.md -------------------------------------------------------------------------------- /example_policy.gr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/example_policy.gr -------------------------------------------------------------------------------- /gateway/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/.env -------------------------------------------------------------------------------- /gateway/Dockerfile.gateway: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/Dockerfile.gateway -------------------------------------------------------------------------------- /gateway/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gateway/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/__main__.py -------------------------------------------------------------------------------- /gateway/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gateway/common/authorization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/common/authorization.py -------------------------------------------------------------------------------- /gateway/common/config_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/common/config_manager.py -------------------------------------------------------------------------------- /gateway/common/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/common/constants.py -------------------------------------------------------------------------------- /gateway/common/guardrails.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/common/guardrails.py -------------------------------------------------------------------------------- /gateway/common/request_context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/common/request_context.py -------------------------------------------------------------------------------- /gateway/converters/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gateway/converters/anthropic_to_invariant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/converters/anthropic_to_invariant.py -------------------------------------------------------------------------------- /gateway/converters/gemini_to_invariant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/converters/gemini_to_invariant.py -------------------------------------------------------------------------------- /gateway/docker-compose.local.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/docker-compose.local.yml -------------------------------------------------------------------------------- /gateway/integrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gateway/integrations/explorer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/integrations/explorer.py -------------------------------------------------------------------------------- /gateway/integrations/guardrails.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/integrations/guardrails.py -------------------------------------------------------------------------------- /gateway/mcp/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/mcp/README.md -------------------------------------------------------------------------------- /gateway/mcp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gateway/mcp/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/mcp/constants.py -------------------------------------------------------------------------------- /gateway/mcp/log.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/mcp/log.py -------------------------------------------------------------------------------- /gateway/mcp/mcp_sessions_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/mcp/mcp_sessions_manager.py -------------------------------------------------------------------------------- /gateway/mcp/mcp_transport_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/mcp/mcp_transport_base.py -------------------------------------------------------------------------------- /gateway/mcp/sse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/mcp/sse.py -------------------------------------------------------------------------------- /gateway/mcp/stdio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/mcp/stdio.py -------------------------------------------------------------------------------- /gateway/mcp/streamable.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/mcp/streamable.py -------------------------------------------------------------------------------- /gateway/routes/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gateway/routes/anthropic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/routes/anthropic.py -------------------------------------------------------------------------------- /gateway/routes/base_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/routes/base_provider.py -------------------------------------------------------------------------------- /gateway/routes/gemini.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/routes/gemini.py -------------------------------------------------------------------------------- /gateway/routes/instrumentation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/routes/instrumentation.py -------------------------------------------------------------------------------- /gateway/routes/open_ai.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/routes/open_ai.py -------------------------------------------------------------------------------- /gateway/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/run.sh -------------------------------------------------------------------------------- /gateway/serve.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/serve.py -------------------------------------------------------------------------------- /gateway/validate_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/gateway/validate_config.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/pyproject.toml -------------------------------------------------------------------------------- /resources/images/invariant-gateway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/resources/images/invariant-gateway.png -------------------------------------------------------------------------------- /resources/images/openhands-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/resources/images/openhands-integration.png -------------------------------------------------------------------------------- /resources/images/overview.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/resources/images/overview.svg -------------------------------------------------------------------------------- /resources/streaming_chunk_text/anthropic.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/resources/streaming_chunk_text/anthropic.txt -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/run.sh -------------------------------------------------------------------------------- /tests/integration/.env.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/.env.test -------------------------------------------------------------------------------- /tests/integration/Dockerfile.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/Dockerfile.test -------------------------------------------------------------------------------- /tests/integration/anthropic/test_anthropic_header_with_invariant_key.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/anthropic/test_anthropic_header_with_invariant_key.py -------------------------------------------------------------------------------- /tests/integration/anthropic/test_anthropic_with_tool_call.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/anthropic/test_anthropic_with_tool_call.py -------------------------------------------------------------------------------- /tests/integration/anthropic/test_anthropic_without_tool_call.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/anthropic/test_anthropic_without_tool_call.py -------------------------------------------------------------------------------- /tests/integration/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/conftest.py -------------------------------------------------------------------------------- /tests/integration/docker-compose.test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/docker-compose.test.yml -------------------------------------------------------------------------------- /tests/integration/gemini/test_generate_content_with_tool_calls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/gemini/test_generate_content_with_tool_calls.py -------------------------------------------------------------------------------- /tests/integration/gemini/test_generate_content_without_tool_calls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/gemini/test_generate_content_without_tool_calls.py -------------------------------------------------------------------------------- /tests/integration/guardrails/test_guardrails_anthropic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/guardrails/test_guardrails_anthropic.py -------------------------------------------------------------------------------- /tests/integration/guardrails/test_guardrails_gemini.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/guardrails/test_guardrails_gemini.py -------------------------------------------------------------------------------- /tests/integration/guardrails/test_guardrails_open_ai.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/guardrails/test_guardrails_open_ai.py -------------------------------------------------------------------------------- /tests/integration/guardrails/test_header_guardrails.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/guardrails/test_header_guardrails.py -------------------------------------------------------------------------------- /tests/integration/litellm/test_chat_without_tool_call.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/litellm/test_chat_without_tool_call.py -------------------------------------------------------------------------------- /tests/integration/mcp/test_mcp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/mcp/test_mcp.py -------------------------------------------------------------------------------- /tests/integration/open_ai/test_chat_with_tool_call.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/open_ai/test_chat_with_tool_call.py -------------------------------------------------------------------------------- /tests/integration/open_ai/test_chat_without_tool_calls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/open_ai/test_chat_without_tool_calls.py -------------------------------------------------------------------------------- /tests/integration/pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | asyncio_mode = auto -------------------------------------------------------------------------------- /tests/integration/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/requirements.txt -------------------------------------------------------------------------------- /tests/integration/resources/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/guardrails/integration_test_guardrails_via_file.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/guardrails/integration_test_guardrails_via_file.py -------------------------------------------------------------------------------- /tests/integration/resources/images/new-york.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/images/new-york.jpg -------------------------------------------------------------------------------- /tests/integration/resources/images/two-cats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/images/two-cats.png -------------------------------------------------------------------------------- /tests/integration/resources/mcp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/sse/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/sse/client/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/sse/client/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/sse/client/main.py -------------------------------------------------------------------------------- /tests/integration/resources/mcp/sse/messenger_server/Dockerfile.mcp-server: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/sse/messenger_server/Dockerfile.mcp-server -------------------------------------------------------------------------------- /tests/integration/resources/mcp/sse/messenger_server/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/sse/messenger_server/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/sse/messenger_server/main.py -------------------------------------------------------------------------------- /tests/integration/resources/mcp/stdio/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/stdio/client/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/stdio/client/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/stdio/client/main.py -------------------------------------------------------------------------------- /tests/integration/resources/mcp/stdio/client/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/stdio/client/pyproject.toml -------------------------------------------------------------------------------- /tests/integration/resources/mcp/stdio/messenger_server/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/stdio/messenger_server/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/stdio/messenger_server/main.py -------------------------------------------------------------------------------- /tests/integration/resources/mcp/stdio/messenger_server/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/stdio/messenger_server/pyproject.toml -------------------------------------------------------------------------------- /tests/integration/resources/mcp/stdio/messenger_server/uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/stdio/messenger_server/uv.lock -------------------------------------------------------------------------------- /tests/integration/resources/mcp/streamable/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/streamable/client/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/streamable/client/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/streamable/client/main.py -------------------------------------------------------------------------------- /tests/integration/resources/mcp/streamable/messenger_server/Dockerfile.mcp-server: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/streamable/messenger_server/Dockerfile.mcp-server -------------------------------------------------------------------------------- /tests/integration/resources/mcp/streamable/messenger_server/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/mcp/streamable/messenger_server/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/resources/mcp/streamable/messenger_server/main.py -------------------------------------------------------------------------------- /tests/integration/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/integration/utils.py -------------------------------------------------------------------------------- /tests/test-client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/test-client.py -------------------------------------------------------------------------------- /tests/unit_tests/common/test_authorization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/unit_tests/common/test_authorization.py -------------------------------------------------------------------------------- /tests/unit_tests/converters/test_anthropic_to_invariant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/unit_tests/converters/test_anthropic_to_invariant.py -------------------------------------------------------------------------------- /tests/unit_tests/converters/test_gemini_to_invariant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/tests/unit_tests/converters/test_gemini_to_invariant.py -------------------------------------------------------------------------------- /tests/unit_tests/requirements.txt: -------------------------------------------------------------------------------- 1 | fastapi 2 | httpx -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invariantlabs-ai/invariant-gateway/HEAD/uv.lock --------------------------------------------------------------------------------