promptguard-sdk 1.7.1 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +45 -21
  2. package/dist/auto.d.ts +9 -1
  3. package/dist/auto.d.ts.map +1 -1
  4. package/dist/auto.js +11 -3
  5. package/dist/auto.js.map +1 -1
  6. package/dist/client.d.ts +18 -0
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +39 -5
  9. package/dist/client.js.map +1 -1
  10. package/dist/generated/api-types.d.ts +251 -0
  11. package/dist/generated/api-types.d.ts.map +1 -0
  12. package/dist/generated/api-types.js +11 -0
  13. package/dist/generated/api-types.js.map +1 -0
  14. package/dist/guard.d.ts +33 -0
  15. package/dist/guard.d.ts.map +1 -1
  16. package/dist/guard.js +37 -7
  17. package/dist/guard.js.map +1 -1
  18. package/dist/index.d.ts +4 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +7 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/integrations/langchain.d.ts +6 -1
  23. package/dist/integrations/langchain.d.ts.map +1 -1
  24. package/dist/integrations/langchain.js +10 -4
  25. package/dist/integrations/langchain.js.map +1 -1
  26. package/dist/integrations/vercel-ai.d.ts +6 -1
  27. package/dist/integrations/vercel-ai.d.ts.map +1 -1
  28. package/dist/integrations/vercel-ai.js +10 -3
  29. package/dist/integrations/vercel-ai.js.map +1 -1
  30. package/dist/logger.d.ts +24 -0
  31. package/dist/logger.d.ts.map +1 -0
  32. package/dist/logger.js +56 -0
  33. package/dist/logger.js.map +1 -0
  34. package/dist/patches/base.d.ts.map +1 -1
  35. package/dist/patches/base.js +13 -3
  36. package/dist/patches/base.js.map +1 -1
  37. package/dist/resolve.d.ts.map +1 -1
  38. package/dist/resolve.js +2 -1
  39. package/dist/resolve.js.map +1 -1
  40. package/dist/version.d.ts +1 -1
  41. package/dist/version.js +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,251 @@
1
+ /**
2
+ * Auto-generated from OpenAPI spec (v1.0.0).
3
+ * DO NOT EDIT — regenerate with: npx ts-node scripts/generate-types-from-spec.ts
4
+ *
5
+ * These are type-only definitions. Custom client logic lives in src/guard.ts,
6
+ * src/client.ts, src/patches/, and src/integrations/ — those files are never
7
+ * modified by this generator.
8
+ */
9
+ /** Request to register a new agent identity. */
10
+ export interface AgentRegisterRequest {
11
+ agent_name: string;
12
+ allowed_tools?: Array<string> | unknown;
13
+ }
14
+ /** Response from agent registration — secret is shown only once. */
15
+ export interface AgentRegisterResponse {
16
+ agent_id: string;
17
+ agent_name: string;
18
+ agent_secret: string;
19
+ credential_prefix: string;
20
+ }
21
+ /** Response from credential rotation. */
22
+ export interface AgentRotateResponse {
23
+ agent_id: string;
24
+ new_secret: string;
25
+ credential_prefix: string;
26
+ old_credential_revoked: boolean;
27
+ }
28
+ /** Statistics for an agent */
29
+ export interface AgentStats {
30
+ agent_id: string;
31
+ total_tool_calls: number;
32
+ blocked_calls: number;
33
+ avg_risk_score: number;
34
+ active_sessions: number;
35
+ anomalies_detected: number;
36
+ }
37
+ /** Response containing the full API key for copy functionality */
38
+ export interface ApiKeyFullResponse {
39
+ id: string;
40
+ name: string;
41
+ prefix: string;
42
+ key: string;
43
+ }
44
+ export interface ApiKeyResponse {
45
+ id: string;
46
+ name: string;
47
+ prefix: string;
48
+ key?: string | unknown;
49
+ project_id: string | unknown;
50
+ project_name: string | unknown;
51
+ permissions: Array<string>;
52
+ is_active: boolean;
53
+ last_used_at: string | unknown;
54
+ expires_at?: string | unknown;
55
+ created_at: string;
56
+ }
57
+ export interface AuthErrorEnvelope {
58
+ error: ErrorDetail;
59
+ }
60
+ /** Request to run the autonomous red team agent. */
61
+ export interface AutonomousRequest {
62
+ budget?: number;
63
+ target_preset?: string;
64
+ enabled_detectors?: Array<string> | unknown;
65
+ }
66
+ export interface CreateApiKeyRequest {
67
+ /** API key name */
68
+ name: string;
69
+ project_id?: string | unknown;
70
+ permissions?: Array<string>;
71
+ expires_at?: string | unknown;
72
+ }
73
+ export interface CreateApiKeyResponse {
74
+ key: string;
75
+ id: string;
76
+ name: string;
77
+ prefix: string;
78
+ }
79
+ /** Request to validate a tool call */
80
+ export interface developer__agent__router__ToolCallRequest {
81
+ agent_id: string;
82
+ tool_name: string;
83
+ arguments: Record<string, unknown>;
84
+ session_id?: string | unknown;
85
+ }
86
+ /** Response from tool call validation */
87
+ export interface developer__agent__router__ToolCallResponse {
88
+ allowed: boolean;
89
+ risk_score: number;
90
+ risk_level: string;
91
+ reason: string;
92
+ warnings?: Array<string>;
93
+ blocked_reasons?: Array<string>;
94
+ }
95
+ export interface developer__projects__schemas__CreateProjectRequest {
96
+ name: string;
97
+ description?: string | unknown;
98
+ fail_mode?: string;
99
+ use_case?: string;
100
+ strictness_level?: string;
101
+ }
102
+ export interface developer__projects__schemas__ProjectResponse {
103
+ id: string;
104
+ name: string;
105
+ description: string | unknown;
106
+ fail_mode: string;
107
+ use_case: string;
108
+ strictness_level: string;
109
+ zero_retention?: boolean;
110
+ created_at: string;
111
+ }
112
+ export interface ErrorDetail {
113
+ /** Human-readable error description */
114
+ message: string;
115
+ /** Error category, e.g. 'authentication_error' */
116
+ type: string;
117
+ /** Machine-readable error code */
118
+ code: string;
119
+ }
120
+ /** Optional rich context from framework integrations. */
121
+ export interface GuardContext {
122
+ /** Framework name, e.g. 'langchain', 'crewai' */
123
+ framework?: string | unknown;
124
+ /** LangChain chain name or pipeline identifier */
125
+ chain_name?: string | unknown;
126
+ /** Agent identifier for multi-agent systems */
127
+ agent_id?: string | unknown;
128
+ /** Session identifier for multi-turn tracking */
129
+ session_id?: string | unknown;
130
+ /** Tool calls in this turn */
131
+ tool_calls?: Array<Record<string, unknown>> | unknown;
132
+ /** Arbitrary framework-specific metadata */
133
+ metadata?: Record<string, unknown> | unknown;
134
+ }
135
+ /** A single message in the conversation. */
136
+ export interface GuardMessage {
137
+ /** Message role: system, user, assistant, tool */
138
+ role: string;
139
+ /** Message text content */
140
+ content?: string;
141
+ }
142
+ /** Request body for the guard endpoint. */
143
+ export interface GuardRequest {
144
+ /** Messages to scan (OpenAI-style message array) */
145
+ messages: Array<GuardMessage>;
146
+ /** Scan direction: 'input' (pre-LLM) or 'output' (post-LLM) */
147
+ direction?: string;
148
+ /** Model being used (for logging) */
149
+ model?: string | unknown;
150
+ /** Optional framework context */
151
+ context?: GuardContext | unknown;
152
+ }
153
+ /** Response from the guard endpoint. */
154
+ export interface GuardResponse {
155
+ /** Policy decision: 'allow', 'block', or 'redact' */
156
+ decision: string;
157
+ /** Unique event identifier for tracking */
158
+ event_id: string;
159
+ /** Confidence score of the decision */
160
+ confidence: number;
161
+ /** Primary threat type detected */
162
+ threat_type?: string | unknown;
163
+ /** Redacted messages (only present when decision='redact') */
164
+ redacted_messages?: Array<GuardMessage> | unknown;
165
+ /** Detailed threat breakdown */
166
+ threats?: Array<ThreatDetail>;
167
+ /** Processing time in milliseconds */
168
+ latency_ms: number;
169
+ }
170
+ export interface HTTPValidationError {
171
+ detail?: Array<ValidationError>;
172
+ }
173
+ /** Request to run a red team test */
174
+ export interface internal__redteam__router__TestRequest {
175
+ custom_prompt?: string | unknown;
176
+ target_preset?: string;
177
+ }
178
+ /** Response from a red team test */
179
+ export interface internal__redteam__router__TestResponse {
180
+ test_name: string;
181
+ prompt: string;
182
+ decision: string;
183
+ reason: string;
184
+ threat_type: string | unknown;
185
+ confidence: number;
186
+ blocked: boolean;
187
+ details: Record<string, unknown>;
188
+ }
189
+ /** Summary of all red team tests */
190
+ export interface internal__redteam__router__TestSummary {
191
+ total_tests: number;
192
+ blocked: number;
193
+ allowed: number;
194
+ block_rate: number;
195
+ results: Array<internal__redteam__router__TestResponse>;
196
+ }
197
+ export interface QuotaErrorDetail {
198
+ message: string;
199
+ /** 'quota_exceeded' or 'spending_limit_exceeded' */
200
+ type: string;
201
+ /** 'monthly_quota_exceeded' or 'spending_limit_exceeded' */
202
+ code: string;
203
+ current_plan: string;
204
+ requests_used: number;
205
+ requests_limit: number;
206
+ upgrade_url: string;
207
+ retry_after?: number | unknown;
208
+ }
209
+ export interface QuotaErrorEnvelope {
210
+ error: QuotaErrorDetail;
211
+ }
212
+ export interface RedactRequest {
213
+ /** Text to redact */
214
+ content: string;
215
+ /** Specific PII types to redact (default: all) */
216
+ pii_types?: Array<string> | unknown;
217
+ }
218
+ export interface RedactResponse {
219
+ original: string;
220
+ redacted: string;
221
+ piiFound: Array<string>;
222
+ }
223
+ export interface ScanRequest {
224
+ /** Text to scan */
225
+ content: string;
226
+ /** Content type: 'prompt' or 'response' */
227
+ type?: string;
228
+ }
229
+ export interface ScanResponse {
230
+ blocked: boolean;
231
+ decision: string;
232
+ reason: string;
233
+ threatType?: string | unknown;
234
+ confidence: number;
235
+ eventId: string;
236
+ processingTimeMs: number;
237
+ }
238
+ /** Individual threat found during scanning. */
239
+ export interface ThreatDetail {
240
+ type: string;
241
+ confidence: number;
242
+ details: string;
243
+ }
244
+ export interface ValidationError {
245
+ loc: Array<string | number>;
246
+ msg: string;
247
+ type: string;
248
+ input?: unknown;
249
+ ctx?: Record<string, unknown>;
250
+ }
251
+ //# sourceMappingURL=api-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../src/generated/api-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Auto-generated from OpenAPI spec (v1.0.0).
4
+ * DO NOT EDIT — regenerate with: npx ts-node scripts/generate-types-from-spec.ts
5
+ *
6
+ * These are type-only definitions. Custom client logic lives in src/guard.ts,
7
+ * src/client.ts, src/patches/, and src/integrations/ — those files are never
8
+ * modified by this generator.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=api-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.js","sourceRoot":"","sources":["../../src/generated/api-types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
package/dist/guard.d.ts CHANGED
@@ -23,6 +23,12 @@ export interface GuardRequestBody {
23
23
  model?: string;
24
24
  context?: GuardContext;
25
25
  }
26
+ /** Options-object form for {@link GuardClient.scan}. */
27
+ export interface ScanOptions {
28
+ direction?: "input" | "output";
29
+ model?: string;
30
+ context?: GuardContext;
31
+ }
26
32
  export interface ThreatDetail {
27
33
  type: string;
28
34
  confidence: number;
@@ -53,7 +59,25 @@ export declare class GuardDecision {
53
59
  export declare class GuardApiError extends Error {
54
60
  readonly statusCode?: number;
55
61
  constructor(message: string, statusCode?: number);
62
+ /**
63
+ * A content-free description safe to write to logs.
64
+ *
65
+ * The `.message` of a {@link GuardApiError} may embed the raw Guard API
66
+ * response body (see {@link GuardClient.scan}), which can echo prompt
67
+ * content. Loggers must use this instead of `.message` so they never
68
+ * leak prompt content, response bodies, or the API key.
69
+ */
70
+ safeDescription(): string;
56
71
  }
72
+ /**
73
+ * Return a log-safe description for an error caught on the fail-open path.
74
+ *
75
+ * For a {@link GuardApiError} this emits only HTTP status + a static message
76
+ * (never the response body or prompt content). Any other error type is a real
77
+ * bug that the fail-open paths re-throw before reaching here, so we fall back
78
+ * to a generic label rather than risk logging arbitrary contents.
79
+ */
80
+ export declare function safeErrorLabel(err: unknown): string;
57
81
  export declare class PromptGuardBlockedError extends Error {
58
82
  readonly decision: GuardDecision;
59
83
  constructor(decision: GuardDecision);
@@ -74,7 +98,16 @@ export declare class GuardClient {
74
98
  *
75
99
  * Throws {@link GuardApiError} on network/API errors so the caller
76
100
  * can decide whether to fail open or closed.
101
+ *
102
+ * Two call styles are supported:
103
+ * ```ts
104
+ * // Options object (preferred, matches the rest of the SDK):
105
+ * await guard.scan(messages, { direction: "input", model: "gpt-5-nano" })
106
+ * // Positional (back-compat):
107
+ * await guard.scan(messages, "input", "gpt-5-nano")
108
+ * ```
77
109
  */
110
+ scan(messages: GuardMessage[], options?: ScanOptions): Promise<GuardDecision>;
78
111
  scan(messages: GuardMessage[], direction?: "input" | "output", model?: string, context?: GuardContext): Promise<GuardDecision>;
79
112
  }
80
113
  //# sourceMappingURL=guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAA;IAClC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAMD,qBAAa,aAAa;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;gBAEd,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAU5C,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;CACF;AAMD,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;gBAEhB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAKjD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;gBAEpB,QAAQ,EAAE,aAAa;CASpC;AAMD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;gBAEpB,MAAM,EAAE,iBAAiB;IAOrC,OAAO,CAAC,OAAO;IASf;;;;;OAKG;IACG,IAAI,CACR,QAAQ,EAAE,YAAY,EAAE,EACxB,SAAS,GAAE,OAAO,GAAG,QAAkB,EACvC,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,CAAC;CA8B1B"}
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAA;IAClC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAMD,qBAAa,aAAa;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;gBAEd,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAU5C,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;CACF;AAMD,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;gBAEhB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAMhD;;;;;;;OAOG;IACH,eAAe,IAAI,MAAM;CAK1B;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGnD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;gBAEpB,QAAQ,EAAE,aAAa;CASpC;AAMD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;gBAEpB,MAAM,EAAE,iBAAiB;IAOrC,OAAO,CAAC,OAAO;IASf;;;;;;;;;;;;;OAaG;IACG,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7E,IAAI,CACR,QAAQ,EAAE,YAAY,EAAE,EACxB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,EAC9B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,CAAC;CA6C1B"}
package/dist/guard.js CHANGED
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.GuardClient = exports.PromptGuardBlockedError = exports.GuardApiError = exports.GuardDecision = void 0;
11
+ exports.safeErrorLabel = safeErrorLabel;
11
12
  const resolve_1 = require("./resolve");
12
13
  const version_1 = require("./version");
13
14
  // ---------------------------------------------------------------------------
@@ -43,8 +44,34 @@ class GuardApiError extends Error {
43
44
  this.name = "GuardApiError";
44
45
  this.statusCode = statusCode;
45
46
  }
47
+ /**
48
+ * A content-free description safe to write to logs.
49
+ *
50
+ * The `.message` of a {@link GuardApiError} may embed the raw Guard API
51
+ * response body (see {@link GuardClient.scan}), which can echo prompt
52
+ * content. Loggers must use this instead of `.message` so they never
53
+ * leak prompt content, response bodies, or the API key.
54
+ */
55
+ safeDescription() {
56
+ return this.statusCode !== undefined
57
+ ? `Guard API error (HTTP ${this.statusCode})`
58
+ : "Guard API unreachable (network error)";
59
+ }
46
60
  }
47
61
  exports.GuardApiError = GuardApiError;
62
+ /**
63
+ * Return a log-safe description for an error caught on the fail-open path.
64
+ *
65
+ * For a {@link GuardApiError} this emits only HTTP status + a static message
66
+ * (never the response body or prompt content). Any other error type is a real
67
+ * bug that the fail-open paths re-throw before reaching here, so we fall back
68
+ * to a generic label rather than risk logging arbitrary contents.
69
+ */
70
+ function safeErrorLabel(err) {
71
+ if (err instanceof GuardApiError)
72
+ return err.safeDescription();
73
+ return "unexpected error";
74
+ }
48
75
  class PromptGuardBlockedError extends Error {
49
76
  constructor(decision) {
50
77
  const threat = decision.threatType ?? "policy_violation";
@@ -70,13 +97,16 @@ class GuardClient {
70
97
  "X-PromptGuard-Version": version_1.SDK_VERSION,
71
98
  };
72
99
  }
73
- /**
74
- * Scan messages via the Guard API.
75
- *
76
- * Throws {@link GuardApiError} on network/API errors so the caller
77
- * can decide whether to fail open or closed.
78
- */
79
- async scan(messages, direction = "input", model, context) {
100
+ async scan(messages, directionOrOptions = "input", model, context) {
101
+ let direction;
102
+ if (typeof directionOrOptions === "object") {
103
+ direction = directionOrOptions.direction ?? "input";
104
+ model = directionOrOptions.model;
105
+ context = directionOrOptions.context;
106
+ }
107
+ else {
108
+ direction = directionOrOptions;
109
+ }
80
110
  const payload = { messages, direction };
81
111
  if (model)
82
112
  payload.model = model;
package/dist/guard.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * @example
8
8
  * ```ts
9
9
  * import { init } from 'promptguard-sdk';
10
- * init({ apiKey: 'pg_xxx' });
10
+ * init({ apiKey: 'pg_live_xxx' });
11
11
  * // All LLM calls are now secured automatically.
12
12
  * ```
13
13
  *
@@ -15,7 +15,7 @@
15
15
  * @example
16
16
  * ```ts
17
17
  * import { PromptGuard } from 'promptguard-sdk';
18
- * const pg = new PromptGuard({ apiKey: 'pg_xxx' });
18
+ * const pg = new PromptGuard({ apiKey: 'pg_live_xxx' });
19
19
  * const response = await pg.chat.completions.create({ ... });
20
20
  * ```
21
21
  *
@@ -28,7 +28,8 @@
28
28
  */
29
29
  export { type InitOptions, init, shutdown } from "./auto";
30
30
  export { default, PromptGuard, PromptGuardError } from "./client";
31
- export { GuardApiError, GuardClient, type GuardClientConfig, type GuardContext, GuardDecision, type GuardMessage, type GuardRequestBody, type GuardResponseBody, PromptGuardBlockedError, type ThreatDetail, } from "./guard";
31
+ export { GuardApiError, GuardClient, type GuardClientConfig, type GuardContext, GuardDecision, type GuardMessage, type GuardRequestBody, type GuardResponseBody, PromptGuardBlockedError, type ScanOptions, type ThreatDetail, } from "./guard";
32
32
  export { PromptGuardCallbackHandler } from "./integrations/langchain";
33
33
  export { promptGuardMiddleware } from "./integrations/vercel-ai";
34
+ export { getLogLevel, type LogLevel, setLogLevel } from "./logger";
34
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEzD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEjE,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEzD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEjE,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,OAAO,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * @example
9
9
  * ```ts
10
10
  * import { init } from 'promptguard-sdk';
11
- * init({ apiKey: 'pg_xxx' });
11
+ * init({ apiKey: 'pg_live_xxx' });
12
12
  * // All LLM calls are now secured automatically.
13
13
  * ```
14
14
  *
@@ -16,7 +16,7 @@
16
16
  * @example
17
17
  * ```ts
18
18
  * import { PromptGuard } from 'promptguard-sdk';
19
- * const pg = new PromptGuard({ apiKey: 'pg_xxx' });
19
+ * const pg = new PromptGuard({ apiKey: 'pg_live_xxx' });
20
20
  * const response = await pg.chat.completions.create({ ... });
21
21
  * ```
22
22
  *
@@ -31,7 +31,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
31
31
  return (mod && mod.__esModule) ? mod : { "default": mod };
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.promptGuardMiddleware = exports.PromptGuardCallbackHandler = exports.PromptGuardBlockedError = exports.GuardDecision = exports.GuardClient = exports.GuardApiError = exports.PromptGuardError = exports.PromptGuard = exports.default = exports.shutdown = exports.init = void 0;
34
+ exports.setLogLevel = exports.getLogLevel = exports.promptGuardMiddleware = exports.PromptGuardCallbackHandler = exports.PromptGuardBlockedError = exports.GuardDecision = exports.GuardClient = exports.GuardApiError = exports.PromptGuardError = exports.PromptGuard = exports.default = exports.shutdown = exports.init = void 0;
35
35
  // Auto-instrumentation
36
36
  var auto_1 = require("./auto");
37
37
  Object.defineProperty(exports, "init", { enumerable: true, get: function () { return auto_1.init; } });
@@ -52,4 +52,8 @@ var langchain_1 = require("./integrations/langchain");
52
52
  Object.defineProperty(exports, "PromptGuardCallbackHandler", { enumerable: true, get: function () { return langchain_1.PromptGuardCallbackHandler; } });
53
53
  var vercel_ai_1 = require("./integrations/vercel-ai");
54
54
  Object.defineProperty(exports, "promptGuardMiddleware", { enumerable: true, get: function () { return vercel_ai_1.promptGuardMiddleware; } });
55
+ // Logging controls
56
+ var logger_1 = require("./logger");
57
+ Object.defineProperty(exports, "getLogLevel", { enumerable: true, get: function () { return logger_1.getLogLevel; } });
58
+ Object.defineProperty(exports, "setLogLevel", { enumerable: true, get: function () { return logger_1.setLogLevel; } });
55
59
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;;;;AAEH,uBAAuB;AACvB,+BAAyD;AAA9B,4FAAA,IAAI,OAAA;AAAE,gGAAA,QAAQ,OAAA;AACzC,eAAe;AACf,mCAAiE;AAAxD,kHAAA,OAAO,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAC/C,qCAAqC;AACrC,iCAWgB;AAVd,sGAAA,aAAa,OAAA;AACb,oGAAA,WAAW,OAAA;AAGX,sGAAA,aAAa,OAAA;AAIb,gHAAA,uBAAuB,OAAA;AAIzB,uDAAuD;AACvD,sDAAqE;AAA5D,uHAAA,0BAA0B,OAAA;AACnC,sDAAgE;AAAvD,kHAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;;;;AAEH,uBAAuB;AACvB,+BAAyD;AAA9B,4FAAA,IAAI,OAAA;AAAE,gGAAA,QAAQ,OAAA;AACzC,eAAe;AACf,mCAAiE;AAAxD,kHAAA,OAAO,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAC/C,qCAAqC;AACrC,iCAYgB;AAXd,sGAAA,aAAa,OAAA;AACb,oGAAA,WAAW,OAAA;AAGX,sGAAA,aAAa,OAAA;AAIb,gHAAA,uBAAuB,OAAA;AAIzB,uDAAuD;AACvD,sDAAqE;AAA5D,uHAAA,0BAA0B,OAAA;AACnC,sDAAgE;AAAvD,kHAAA,qBAAqB,OAAA;AAC9B,mBAAmB;AACnB,mCAAkE;AAAzD,qGAAA,WAAW,OAAA;AAAiB,qGAAA,WAAW,OAAA"}
@@ -9,7 +9,7 @@
9
9
  * ```ts
10
10
  * import { PromptGuardCallbackHandler } from 'promptguard-sdk/integrations/langchain';
11
11
  *
12
- * const handler = new PromptGuardCallbackHandler({ apiKey: 'pg_xxx' });
12
+ * const handler = new PromptGuardCallbackHandler({ apiKey: 'pg_live_xxx' });
13
13
  *
14
14
  * const llm = new ChatOpenAI({ callbacks: [handler] });
15
15
  * // or
@@ -17,10 +17,15 @@
17
17
  * ```
18
18
  */
19
19
  import { type GuardClientConfig } from "../guard";
20
+ import { type LogLevel } from "../logger";
20
21
  export interface PromptGuardCallbackOptions extends GuardClientConfig {
21
22
  mode?: "enforce" | "monitor";
22
23
  scanResponses?: boolean;
23
24
  failOpen?: boolean;
25
+ /** SDK log verbosity (default: `"warn"`). Set to `"silent"` to suppress logs. */
26
+ logLevel?: LogLevel;
27
+ /** Convenience shorthand for `logLevel: "silent"`. */
28
+ silent?: boolean;
24
29
  }
25
30
  export declare class PromptGuardCallbackHandler {
26
31
  readonly name = "promptguard";
@@ -1 +1 @@
1
- {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * ```ts
11
11
  * import { PromptGuardCallbackHandler } from 'promptguard-sdk/integrations/langchain';
12
12
  *
13
- * const handler = new PromptGuardCallbackHandler({ apiKey: 'pg_xxx' });
13
+ * const handler = new PromptGuardCallbackHandler({ apiKey: 'pg_live_xxx' });
14
14
  *
15
15
  * const llm = new ChatOpenAI({ callbacks: [handler] });
16
16
  * // or
@@ -20,6 +20,7 @@
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.PromptGuardCallbackHandler = void 0;
22
22
  const guard_1 = require("../guard");
23
+ const logger_1 = require("../logger");
23
24
  const resolve_1 = require("../resolve");
24
25
  // ---------------------------------------------------------------------------
25
26
  // Handler
@@ -29,6 +30,10 @@ class PromptGuardCallbackHandler {
29
30
  this.name = "promptguard";
30
31
  /** Chain context per run ID for richer threat detection. */
31
32
  this.chainContext = new Map();
33
+ if (options.silent)
34
+ (0, logger_1.setLogLevel)("silent");
35
+ else if (options.logLevel)
36
+ (0, logger_1.setLogLevel)(options.logLevel);
32
37
  const { apiKey, baseUrl } = (0, resolve_1.resolveCredentials)(options.apiKey, options.baseUrl);
33
38
  this.guard = new guard_1.GuardClient({ apiKey, baseUrl, timeout: options.timeout });
34
39
  this.mode = options.mode ?? "enforce";
@@ -119,9 +124,10 @@ class PromptGuardCallbackHandler {
119
124
  try {
120
125
  return await this.guard.scan(messages, direction, model, context);
121
126
  }
122
- catch {
127
+ catch (err) {
123
128
  if (!this.failOpen)
124
129
  throw new Error("Guard API unavailable");
130
+ logger_1.logger.warn(`Guard API unavailable, allowing ${direction} unscanned (failOpen=true): ${(0, guard_1.safeErrorLabel)(err)}`);
125
131
  return null;
126
132
  }
127
133
  }
@@ -131,10 +137,10 @@ class PromptGuardCallbackHandler {
131
137
  if (decision.blocked) {
132
138
  if (this.mode === "enforce")
133
139
  throw new guard_1.PromptGuardBlockedError(decision);
134
- console.warn(`[promptguard][monitor] would block: ${decision.threatType} (event=${decision.eventId}, run=${runId})`);
140
+ logger_1.logger.warn(`[monitor] would block: ${decision.threatType} (event=${decision.eventId}, run=${runId})`);
135
141
  }
136
142
  if (decision.redacted) {
137
- console.info(`[promptguard] redacted content (event=${decision.eventId}, run=${runId})`);
143
+ logger_1.logger.info(`redacted content (event=${decision.eventId}, run=${runId})`);
138
144
  }
139
145
  }
140
146
  buildContext(runId, parentRunId, component = "unknown", tags, metadata) {
@@ -1 +1 @@
1
- {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}