Luca Beurer-Kellner
e18c6b5bdb
Add an option to add extra metadata that is pushed and passed to Guardrails during an MCP session ( #47 )
...
* use select() before readline
* support for setting static metadata for MCP sessions
* nest extra mcp metadata in metadata object
* unify session metadata
* extra metadata tests
* use empty object as parameters, if None
* list_tools as tool call
* offset indices in tests
* test: adjust addresses
* mcp: make error reporting configurable
* line logging
* log version
* verbose logging + loud exception failure
* add server and client name to policy get
* append trace even if not pushing
* port tools/list message support to SSE
* use python -m build
* adjust guardrail failure address
* support for blocking tools/list in SSE
* use error-based failure response format by default
* tools/list test
* don't list_tools in stdio connect
* flaky test: handle second possible result in anthropic streaming case
---------
Co-authored-by: knielsen404 <kristian@invariantlabs.ai >
2025-05-19 13:44:37 +02:00
Hemang
780e5f6ee7
Skip test_generate_content_with_image for gemini. Getting 500.
2025-05-16 14:33:00 +05:30
Hemang
876eb44c78
Make MCP stdio gateway fully async. With sync and async mixed behaviour for running background tasks we were running into issues.
2025-05-16 14:33:00 +05:30
Hemang Sarkar
a6c1124076
Update test_mcp.py
2025-05-15 15:00:31 +05:30
Hemang Sarkar
0ffde69391
Fix test_mcp_sse_with_gateway_hybrid_guardrails so that we don't rely on order of annotations.
2025-05-15 15:00:31 +05:30
Hemang Sarkar
fefc22eea0
Update test_mcp.py to include the transport parameter in the hybrid guardrails test.
2025-05-14 15:32:05 +02:00
Hemang
ed50670bef
Add MCP gateway tests with hybrid guardrails (both blocking and logging). Also refactor tests so that we can parameterize the transport type - stdio or sse.
2025-05-14 18:05:14 +05:30
Hemang
8eae198eb0
Add integration tests for MCP SSE via gateway with guardrails.
2025-05-14 14:21:48 +05:30
Hemang
e2e004b7b1
Move dockerfiles inside gateway/ and update main CLI script to be able to run build, up, down and logs on a local gateway server instance.
2025-05-14 14:21:48 +05:30
Hemang
dbab86e0ac
Fix broken tests.
2025-05-09 12:17:14 +05:30
Hemang
132eedab0a
Update tests_ci.yml so that the CI run fails even when unit tests fail.
2025-05-07 02:03:06 +05:30
Hemang
d057aa5c37
Add httpx as unit test dependencies.
2025-05-07 01:27:13 +05:30
Hemang
1f6e2ed7fb
Update streaming in anthropic route to handle chunks with incomplete events. Introduce an sse_buffer which keeps track of the current incomplete event from the last processed chunk.
2025-05-07 01:08:15 +05:30
Hemang
aec7808e3e
Fix broken integration tests.
2025-05-07 01:08:15 +05:30
Hemang
dc9ac9c3c6
Fix broken unit tests.
2025-05-07 01:08:15 +05:30
Hemang
88ba17a803
Move MCP testing stdio server and client into a separate folder.
2025-04-29 15:56:37 +05:30
Hemang
dbeb4bc660
Add blocking guardrails based test for MCP gateway.
2025-04-29 09:00:04 +02:00
Hemang
d877e5a1e6
Add logging guardrails based test for MCP gateway.
2025-04-29 09:00:04 +02:00
Hemang
d983b7431b
Add tests for MCP integration in gateway.
2025-04-29 09:00:04 +02:00
Hemang
5bf121bbda
Use pyproject.toml instead of requirements.txt and fix some broken tests.
2025-04-17 07:15:28 +02:00
Luca Beurer-Kellner
c4dd3f3b19
Allow to specify different API keys for the guardrailing service ( #36 )
...
* minor refactor for getting invariant api keys for guardrailing
* allow different guardrailing api key
* tests
* fix comment + import
* improved unauthorized handling
2025-04-03 12:15:30 +02:00
Luca Beurer-Kellner
e17b53b927
Extract guardrails from header if provided ( #33 )
...
* guardrails from header
* use in-file guardrails in client.py
* support case without request
* remove client script
* tests: guardrailing rule passed in header
* include checked guardrails in annotation extra metadata
* include guardrailing action
* update guardrail metadata
2025-04-03 08:56:15 +02:00
Marco Milanta
37005c03be
fix: add tests (and found bug)
2025-04-02 16:03:51 +02:00
Marco Milanta
7b6d77e0a5
feat: add litellm support
2025-04-02 15:22:39 +02:00
Hemang
f3a56e1e43
Add preguardrailing tests for guardrails pulled from explorer.
2025-04-02 13:40:52 +02:00
Hemang
55f0f741c0
Add tests for guardrails integration with explorer.
2025-04-02 13:40:52 +02:00
Hemang
eced3755b2
Refactor tests.
2025-04-02 13:40:52 +02:00
Hemang
750c83d3f8
Add calls to execute logging guardrails before pushing to explorer.
2025-04-02 13:40:52 +02:00
Hemang
050ec1ba58
Fetch guardrails from explorer. These have higher precedence than than the guardrails from file.
2025-04-02 13:40:52 +02:00
Luca Beurer-Kellner
7c0bb957fb
Pipelined Guardrails ( #32 )
...
* initial draft: pipelined guardrails
* documentation on stream instrumentation
* more comments
* fix: return earlier
* non-streaming case
* handle non-streaming case
* fix more cases
* simplify request instrumentation
* improve comments
* fix import issues
* extend tests for input guardrailing
* anthropic integration of pipelined and pre-guardrailing
* fix gemini streamed refusal
2025-03-31 14:13:58 +02:00
Hemang
4671c8b67e
Add tests for gemini guardrails integration.
2025-03-27 12:26:17 +01:00
Hemang
35cb889f1a
Update guardrails test after annotations ranges filtering.
2025-03-27 12:26:17 +01:00
Hemang
0a9cc244c8
Add tool_result type in the coverter test for Anthropic.
2025-03-21 00:56:52 +01:00
Hemang
ad49e688f0
Add tests for Anthropic guardrails.
2025-03-21 00:56:52 +01:00
Hemang
3df9e73249
Add some tests for the Anthropic conversion functions. Add support for system message in Anthropic. Rename some variables.
2025-03-21 00:56:52 +01:00
Hemang
22acb38131
Add tests for the guardrails integration for open_ai route.
2025-03-18 14:46:22 +01:00
Hemang
c4ecc01a59
Remove unnecessary playwright dependency for tests.
2025-03-13 10:12:55 +01:00
Hemang
6558f23604
Add unit tests and move the current integration tests into a separate directory.
2025-03-12 23:57:00 +01:00
Hemang
c9535e0a72
Fix test_chat_completion_with_tool_call_without_streaming.
2025-03-12 21:56:19 +01:00
Hemang
032d60e23e
Fix broken test test_chat_completion_with_image.
2025-03-12 21:41:28 +01:00
Hemang
300130e815
Fix broken tests.
2025-03-12 19:17:13 +01:00
Hemang
2fe0f55cb3
Don't block on push to explorer call for the routes.
2025-03-10 17:25:39 +01:00
Hemang
20f8a12032
Formatting changes.
2025-03-10 15:18:13 +01:00
Hemang
abbc80890d
Add tests with tool_calls for Gemini.
2025-03-10 15:18:13 +01:00
Hemang
fdc9da16c0
Add tests for some non tool_call cases for Gemini integration.
2025-03-10 15:18:13 +01:00
Hemang
7576f245bd
Add a converter module to house conversion from different LLM provider formats to Invariant API format.
2025-03-10 15:18:13 +01:00
Hemang Sarkar
adfabd5b12
Update the format where the user passes the invariant key in the llm provider key header. ( #18 )
2025-03-06 10:57:32 +01:00
Hemang
7008f73310
Rename proxy to gateway.
2025-03-05 14:35:39 +01:00
Zishan
79c934ef45
fix anthropic test
2025-02-27 10:30:33 +01:00
Hemang
1795fd4a23
Rename containers
2025-02-27 10:30:13 +01:00