@stackone/defender 0.4.3 → 0.4.5

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.
package/README.md CHANGED
@@ -18,8 +18,9 @@ import { createPromptDefense } from '@stackone/defender';
18
18
 
19
19
  // Create defense with Tier 1 (patterns) + Tier 2 (ML classifier)
20
20
  // blockHighRisk: true enables the allowed/blocked decision
21
+ // Tier 1 (patterns) + Tier 2 (ML classifier) are both on by default.
22
+ // blockHighRisk: true enables the allowed/blocked decision.
21
23
  const defense = createPromptDefense({
22
- enableTier2: true,
23
24
  blockHighRisk: true,
24
25
  useDefaultToolRules: true, // Enable built-in per-tool base risk and field-handling rules (risky-field overrides always apply)
25
26
  });
@@ -105,9 +106,10 @@ Create a defense instance.
105
106
  ```typescript
106
107
  const defense = createPromptDefense({
107
108
  enableTier1: true, // Pattern detection (default: true)
108
- enableTier2: true, // ML classification (default: false)
109
+ enableTier2: true, // ML classification (default: true) — set false to disable
109
110
  blockHighRisk: true, // Block high/critical content (default: false)
110
111
  useDefaultToolRules: true, // Enable built-in per-tool base risk and field-handling rules (default: false)
112
+ tier2Fields: ['subject', 'body', 'snippet'], // Scope Tier 2 to specific fields (default: all fields)
111
113
  defaultRiskLevel: 'medium',
112
114
  });
113
115
  ```
@@ -164,14 +166,13 @@ console.log(result.matches); // [{ pattern: '...', severity: 'high', ... }
164
166
  ONNX mode auto-loads the bundled model on first `defendToolResult()` call. Use `warmupTier2()` at startup to avoid first-call latency:
165
167
 
166
168
  ```typescript
167
- // ONNX mode (default) — optional warmup to pre-load at startup
168
- const defense = createPromptDefense({ enableTier2: true });
169
+ // ONNX mode (default) — Tier 2 is on by default, warmup is optional
170
+ const defense = createPromptDefense();
169
171
  await defense.warmupTier2(); // optional, avoids ~1-2s first-call latency
170
172
 
171
173
  // MLP mode (legacy) — requires loading weights explicitly
172
174
  import { createPromptDefense, MLP_WEIGHTS } from '@stackone/defender';
173
175
  const mlpDefense = createPromptDefense({
174
- enableTier2: true,
175
176
  tier2Config: { mode: 'mlp' },
176
177
  });
177
178
  mlpDefense.loadTier2Weights(MLP_WEIGHTS);
@@ -187,7 +188,6 @@ import { generateText, tool } from 'ai';
187
188
  import { createPromptDefense } from '@stackone/defender';
188
189
 
189
190
  const defense = createPromptDefense({
190
- enableTier2: true,
191
191
  blockHighRisk: true,
192
192
  useDefaultToolRules: true,
193
193
  });