├── .dockerignore ├── .env.example ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── NOTICE ├── README.md ├── docker-compose.yml ├── docs └── POLICIES.md ├── examples ├── README.md ├── javascript │ ├── openai_proxy.js │ ├── package-lock.json │ ├── package.json │ └── safeguard.js └── python │ ├── openai_proxy.py │ ├── requirements.txt │ └── safeguard.py ├── poetry.lock ├── policies.yaml ├── pyproject.toml ├── pytest.ini ├── src ├── __init__.py ├── core │ ├── __init__.py │ ├── config.py │ ├── constants.py │ ├── logging.py │ ├── shutdown.py │ ├── startup.py │ └── state.py ├── domain │ ├── transformers │ │ ├── __init__.py │ │ ├── base.py │ │ ├── classification.py │ │ └── ner.py │ └── validators │ │ ├── __init__.py │ │ ├── context.py │ │ ├── ner │ │ ├── __init__.py │ │ └── main.py │ │ ├── pii_leakage │ │ ├── __init__.py │ │ └── main.py │ │ ├── prompt_leakage │ │ ├── __init__.py │ │ └── main.py │ │ ├── toxicity │ │ ├── __init__.py │ │ └── main.py │ │ ├── types.py │ │ └── validate.py ├── exceptions │ ├── __init__.py │ ├── base.py │ ├── exceptions.py │ ├── handlers.py │ └── http.py ├── main.py ├── middleware │ ├── __init__.py │ ├── logging_middleware.py │ ├── metrics_middleware.py │ ├── registry.py │ ├── request_id_middleware.py │ ├── security_middleware.py │ └── timeout_middleware.py ├── presentation │ ├── dependencies │ │ ├── __init__.py │ │ └── main.py │ ├── proxy_utils.py │ └── routes │ │ ├── claude_proxy.py │ │ ├── gemini_proxy.py │ │ ├── health.py │ │ ├── openai_proxy.py │ │ └── safeguard.py ├── shared │ ├── __init__.py │ └── types.py └── utils │ ├── __init__.py │ └── utils.py └── tests ├── __init__.py ├── conftest.py ├── fixtures.py ├── integration ├── __init__.py ├── test_app.py ├── test_exception_handlers.py └── test_safeguard_route.py └── unit ├── __init__.py ├── test_classification_model.py ├── test_claude_proxy.py ├── test_config.py ├── test_content_validator.py ├── test_exceptions.py ├── test_gemini_proxy.py ├── test_gemini_proxy_helpers.py ├── test_health_routes.py ├── test_main_dependencies.py ├── test_middleware_logging.py ├── test_middleware_request_id.py ├── test_middleware_security.py ├── test_middleware_timeout.py ├── test_ner_model.py ├── test_ner_validators.py ├── test_openai_proxy.py ├── test_pii_leakage.py ├── test_prompt_leakage.py ├── test_proxy_utils.py ├── test_shutdown.py ├── test_startup.py ├── test_toxicity.py ├── test_transformer_base.py └── test_utils.py /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/LICENSE -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/NOTICE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docs/POLICIES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/docs/POLICIES.md -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/javascript/openai_proxy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/examples/javascript/openai_proxy.js -------------------------------------------------------------------------------- /examples/javascript/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/examples/javascript/package-lock.json -------------------------------------------------------------------------------- /examples/javascript/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/examples/javascript/package.json -------------------------------------------------------------------------------- /examples/javascript/safeguard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/examples/javascript/safeguard.js -------------------------------------------------------------------------------- /examples/python/openai_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/examples/python/openai_proxy.py -------------------------------------------------------------------------------- /examples/python/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/examples/python/requirements.txt -------------------------------------------------------------------------------- /examples/python/safeguard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/examples/python/safeguard.py -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/poetry.lock -------------------------------------------------------------------------------- /policies.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/policies.yaml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/pytest.ini -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/core/__init__.py -------------------------------------------------------------------------------- /src/core/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/core/config.py -------------------------------------------------------------------------------- /src/core/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/core/constants.py -------------------------------------------------------------------------------- /src/core/logging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/core/logging.py -------------------------------------------------------------------------------- /src/core/shutdown.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/core/shutdown.py -------------------------------------------------------------------------------- /src/core/startup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/core/startup.py -------------------------------------------------------------------------------- /src/core/state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/core/state.py -------------------------------------------------------------------------------- /src/domain/transformers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/transformers/__init__.py -------------------------------------------------------------------------------- /src/domain/transformers/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/transformers/base.py -------------------------------------------------------------------------------- /src/domain/transformers/classification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/transformers/classification.py -------------------------------------------------------------------------------- /src/domain/transformers/ner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/transformers/ner.py -------------------------------------------------------------------------------- /src/domain/validators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/__init__.py -------------------------------------------------------------------------------- /src/domain/validators/context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/context.py -------------------------------------------------------------------------------- /src/domain/validators/ner/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/ner/__init__.py -------------------------------------------------------------------------------- /src/domain/validators/ner/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/ner/main.py -------------------------------------------------------------------------------- /src/domain/validators/pii_leakage/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/pii_leakage/__init__.py -------------------------------------------------------------------------------- /src/domain/validators/pii_leakage/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/pii_leakage/main.py -------------------------------------------------------------------------------- /src/domain/validators/prompt_leakage/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/prompt_leakage/__init__.py -------------------------------------------------------------------------------- /src/domain/validators/prompt_leakage/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/prompt_leakage/main.py -------------------------------------------------------------------------------- /src/domain/validators/toxicity/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/toxicity/__init__.py -------------------------------------------------------------------------------- /src/domain/validators/toxicity/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/toxicity/main.py -------------------------------------------------------------------------------- /src/domain/validators/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/types.py -------------------------------------------------------------------------------- /src/domain/validators/validate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/domain/validators/validate.py -------------------------------------------------------------------------------- /src/exceptions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/exceptions/__init__.py -------------------------------------------------------------------------------- /src/exceptions/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/exceptions/base.py -------------------------------------------------------------------------------- /src/exceptions/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/exceptions/exceptions.py -------------------------------------------------------------------------------- /src/exceptions/handlers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/exceptions/handlers.py -------------------------------------------------------------------------------- /src/exceptions/http.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/exceptions/http.py -------------------------------------------------------------------------------- /src/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/main.py -------------------------------------------------------------------------------- /src/middleware/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/middleware/__init__.py -------------------------------------------------------------------------------- /src/middleware/logging_middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/middleware/logging_middleware.py -------------------------------------------------------------------------------- /src/middleware/metrics_middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/middleware/metrics_middleware.py -------------------------------------------------------------------------------- /src/middleware/registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/middleware/registry.py -------------------------------------------------------------------------------- /src/middleware/request_id_middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/middleware/request_id_middleware.py -------------------------------------------------------------------------------- /src/middleware/security_middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/middleware/security_middleware.py -------------------------------------------------------------------------------- /src/middleware/timeout_middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/middleware/timeout_middleware.py -------------------------------------------------------------------------------- /src/presentation/dependencies/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/presentation/dependencies/__init__.py -------------------------------------------------------------------------------- /src/presentation/dependencies/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/presentation/dependencies/main.py -------------------------------------------------------------------------------- /src/presentation/proxy_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/presentation/proxy_utils.py -------------------------------------------------------------------------------- /src/presentation/routes/claude_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/presentation/routes/claude_proxy.py -------------------------------------------------------------------------------- /src/presentation/routes/gemini_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/presentation/routes/gemini_proxy.py -------------------------------------------------------------------------------- /src/presentation/routes/health.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/presentation/routes/health.py -------------------------------------------------------------------------------- /src/presentation/routes/openai_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/presentation/routes/openai_proxy.py -------------------------------------------------------------------------------- /src/presentation/routes/safeguard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/presentation/routes/safeguard.py -------------------------------------------------------------------------------- /src/shared/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/shared/__init__.py -------------------------------------------------------------------------------- /src/shared/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/shared/types.py -------------------------------------------------------------------------------- /src/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/utils/__init__.py -------------------------------------------------------------------------------- /src/utils/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/src/utils/utils.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/fixtures.py -------------------------------------------------------------------------------- /tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/test_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/integration/test_app.py -------------------------------------------------------------------------------- /tests/integration/test_exception_handlers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/integration/test_exception_handlers.py -------------------------------------------------------------------------------- /tests/integration/test_safeguard_route.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/integration/test_safeguard_route.py -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/test_classification_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_classification_model.py -------------------------------------------------------------------------------- /tests/unit/test_claude_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_claude_proxy.py -------------------------------------------------------------------------------- /tests/unit/test_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_config.py -------------------------------------------------------------------------------- /tests/unit/test_content_validator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_content_validator.py -------------------------------------------------------------------------------- /tests/unit/test_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_exceptions.py -------------------------------------------------------------------------------- /tests/unit/test_gemini_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_gemini_proxy.py -------------------------------------------------------------------------------- /tests/unit/test_gemini_proxy_helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_gemini_proxy_helpers.py -------------------------------------------------------------------------------- /tests/unit/test_health_routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_health_routes.py -------------------------------------------------------------------------------- /tests/unit/test_main_dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_main_dependencies.py -------------------------------------------------------------------------------- /tests/unit/test_middleware_logging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_middleware_logging.py -------------------------------------------------------------------------------- /tests/unit/test_middleware_request_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_middleware_request_id.py -------------------------------------------------------------------------------- /tests/unit/test_middleware_security.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_middleware_security.py -------------------------------------------------------------------------------- /tests/unit/test_middleware_timeout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_middleware_timeout.py -------------------------------------------------------------------------------- /tests/unit/test_ner_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_ner_model.py -------------------------------------------------------------------------------- /tests/unit/test_ner_validators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_ner_validators.py -------------------------------------------------------------------------------- /tests/unit/test_openai_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_openai_proxy.py -------------------------------------------------------------------------------- /tests/unit/test_pii_leakage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_pii_leakage.py -------------------------------------------------------------------------------- /tests/unit/test_prompt_leakage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_prompt_leakage.py -------------------------------------------------------------------------------- /tests/unit/test_proxy_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_proxy_utils.py -------------------------------------------------------------------------------- /tests/unit/test_shutdown.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_shutdown.py -------------------------------------------------------------------------------- /tests/unit/test_startup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_startup.py -------------------------------------------------------------------------------- /tests/unit/test_toxicity.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_toxicity.py -------------------------------------------------------------------------------- /tests/unit/test_transformer_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_transformer_base.py -------------------------------------------------------------------------------- /tests/unit/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trylonai/gateway/HEAD/tests/unit/test_utils.py --------------------------------------------------------------------------------