Sous-chemins (Tree-Shakeable)
Importez chaque guard individuellement depuis son propre sous-chemin. Cela élimine le code inutilisé de votre bundle final — essentiel pour les environnements d'exécution Edge et les fonctions serverless.
Sous-chemins Disponibles
// Importez chaque guard indépendamment
import { redactPII, detectPII } from '@edwinfom/ai-guard/pii';
import { detectInjection } from '@edwinfom/ai-guard/injection';
import { createCanaryToken, checkCanaryLeak } from '@edwinfom/ai-guard/canary';
import { analyzeContent } from '@edwinfom/ai-guard/content';
import { checkGrounding } from '@edwinfom/ai-guard/hallucination';
import { buildUsage, calculateCost } from '@edwinfom/ai-guard/budget';
import { enforceSchema } from '@edwinfom/ai-guard/schema';Comparaison de la Taille du Bundle
| Import | Taille du bundle |
|---|---|
import { Guardian } from '@edwinfom/ai-guard' |
~28 KB (tous les guards) |
import { redactPII } from '@edwinfom/ai-guard/pii' |
~6.2 KB |
import { detectInjection } from '@edwinfom/ai-guard/injection' |
~4.8 KB |
import { buildUsage } from '@edwinfom/ai-guard/budget' |
~1.9 KB |
Exemple d'Environnement d'Exécution Edge (Edge Runtime)
Pour Vercel Edge ou Cloudflare Workers, où la taille du bundle est critique :
// edge/validate-prompt/route.ts
import { detectInjection } from '@edwinfom/ai-guard/injection';
import { redactPII } from '@edwinfom/ai-guard/pii';
export const runtime = 'edge';
export async function POST(req: Request) {
const { prompt } = await req.json();
// Seulement PII + injection — bundle minimal
const injection = detectInjection(prompt, { sensitivity: 'high' });
if (injection.detected) {
return Response.json({ error: 'Bloqué' }, { status: 400 });
}
const clean = redactPII(prompt, { targets: ['email', 'phone'] });
// Transférer au LLM...
}Alias de Chemin (Path Aliases) TypeScript
Chaque sous-chemin est entièrement typé. Ajoutez ceci à votre fichier tsconfig.json si vous utilisez des alias de chemin personnalisés :
{
"compilerOptions": {
"paths": {
"@edwinfom/ai-guard/*": ["./node_modules/@edwinfom/ai-guard/dist/*"]
}
}
}Remarques
- Tous les sous-chemins sont uniquement compatibles ESM
- Chaque sous-chemin n'a aucune dépendance croisée avec les autres sous-chemins
- L'export principal
@edwinfom/ai-guardréexporte tout par commodité zodest une dépendance peer facultative — uniquement nécessaire pour l'application de schémas