Prism
Catch AI agent tool schema failures before they reach the provider.
The Problem
You write a tool for your AI agent. It works locally. Then it fails with a cryptic 400 error in production. No explanation. No hint. Just failure.
Prism catches these before they ever reach OpenAI or Anthropic.
Install
pip install prism-sdk
Quick Start
from prism.linter import lint_tool
def search_products(query: str, limit: int = 10, category=None): pass
issues = lint_tool(search_products) for issue in issues: print(f"[{issue['level']}] {issue['param']}: {issue['issue']}")
Output
[ERROR] limit: Has default '10' — OpenAI strict will reject this. [WARNING] category: No type annotation. Providers will reject this. [WARNING] function: No docstring. AI uses this as the tool description.
What It Catches
| Issue | Providers Affected |
|---|---|
| Default values not in required[] | OpenAI strict |
| Union types | OpenAI strict |
| Missing type annotations | All |
| Any type | OpenAI strict |
| Missing docstring | All |
Status
Early development. Built to solve a real problem. Issues and feedback welcome.
Metadata
Release files for prism-tool 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| prism_tool-0.1.0.tar.gz | 3.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prism_tool-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.2 kB
Release files / prism_tool-0.1.0.tar.gz
| Download URL | prism_tool-0.1.0.tar.gz |
|---|---|
| Size | 3.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
603ffe8f75fffff4b62b7139606378b1160a74a1abd4bc792d62f416b18b9237
|
|
BLAKE2b-256 checksum How to use checksums |
d1b5643d39ada50a76cefeb34882361cb87805a082a9c8027652eda4f05466eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / prism_tool-0.1.0-py3-none-any.whl
| Download URL | prism_tool-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb538ae16a35241f1102cebd132db9fc8d1c6beab73de6b4be30cc117711bccc
|
|
BLAKE2b-256 checksum How to use checksums |
fb1b35676851f34522ac16ef3b5f99f9995ddfb2f21688561c20b762963fd800
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|