Commit Graph

283 Commits

Author SHA1 Message Date
Hemang
645d73fc66 Add example MCP Client and Server fpr SSE based transport. 2025-05-09 11:34:06 +05:30
Hemang
edd9fd9a5c When tool_call is blocked in MCP Post method, add the error message to a pending error messages list. Create two queues in the MCP SSE Get endpoint which correspond to the MCP server events and these pending error messages. These two queues are merged to return events back to the client. 2025-05-09 11:05:33 +05:30
Hemang
794aae0326 Add MCP guardrailing for SSE. 2025-05-08 20:40:28 +05:30
Hemang
40ec6d2db2 Add MCP SSE server proxying in gateway. 2025-05-08 14:11:22 +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
e64a977d87 Properly propagate the integrations test and unit test exit code. 2025-05-06 20:10:45 +05:30
Luca Beurer-Kellner
86ec75ba2d use select() before readline (#45) 2025-05-06 16:07:50 +02:00
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
61c12a4340 Version 0.0.4 2025-04-24 15:48:36 +02:00
Hemang
52f5359d36 Add MCP client and server names in trace metadata for Explorer. 2025-04-24 15:48:36 +02:00
Hemang
7287065940 Improve on request reads from byte by byte to line by line. 2025-04-24 15:48:36 +02:00
knielsen404
55874d552e feat: append_and_push_trace uses configurable API URL 2025-04-23 13:08:57 +01:00
Kristian Nielsen
ed63a4b592 fix typo (#42) 2025-04-23 09:28:45 +01:00
Marco Milanta
da76fd516a next version 2025-04-17 15:01:40 +02:00
Marco Milanta
12932787b2 fix: print breaks claude
remove print statment
2025-04-17 15:00:34 +02:00
Marco Milanta
20d1e0afd4 fix: print breaks claude 2025-04-17 14:59:59 +02:00
Hemang Sarkar
2b9785de11 Update README.md 2025-04-17 10:05:28 +02:00
Hemang
45d384b7a3 Update README for mcp. 2025-04-17 09:54:26 +02:00
Hemang
8a83133edf Update the CLI script command. 2025-04-17 09:38:22 +02:00
Hemang
8cc72db6ba Add PyPi publish action. 2025-04-17 07:36:41 +02:00
Hemang
e8deb8feda Rename dataset-name flag for MCP to project-name and change CLI command to run mcp 2025-04-17 07:15:28 +02:00
Hemang
2c34205c4c Fix asyncio and threading. Dedupe annotations before pushing. Add README. 2025-04-17 07:15:28 +02:00
Hemang
f871e24473 Remove invariant-ai from deps. 2025-04-17 07:15:28 +02:00
Hemang
66c6dcb8f9 Add mcp.py 2025-04-17 07:15:28 +02:00
Hemang
15210997a7 Add the invariant-gateway CLI script. 2025-04-17 07:15:28 +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
6b6f33bde6 fix: don't hardcode preview 2025-04-04 10:38:14 +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
Hemang
760b739894 Correct user API GET call to fetch policies. 2025-04-03 00:02:19 +02:00
Hemang
6d3366b91b Add OPTIONS preflight support for routes. 2025-04-02 22:42:22 +02:00
Marco Milanta
8177094754 Merge pull request #35 from invariantlabs-ai/gemini/litellm-support
feat: add litellm explicit support
2025-04-02 16:29:59 +02:00
Marco Milanta
37005c03be fix: add tests (and found bug) 2025-04-02 16:03:51 +02:00
Marco Milanta
1ab651cd6a fix: update readme 2025-04-02 15:22:39 +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
9aef873a74 Correct header name before calling explorer to fetch guardrails. 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
Hemang
f45a973f51 Small formatting changes. 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