@lockllm/sdk 1.2.0 → 1.3.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,82 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.0] - 2026-02-27
4
+
5
+ ### Added
6
+
7
+ #### Prompt Compression
8
+ Reduce token usage and costs by compressing prompts before sending them to AI providers. Three compression methods are available:
9
+
10
+ - **`toon`** (Free) - Converts JSON data to a compact notation format, achieving 30-60% token savings on structured data. Only activates when the prompt starts with `{` or `[` (pure JSON). Non-JSON input is returned unchanged.
11
+ - **`compact`** ($0.0001/use) - Advanced compression that intelligently reduces prompt length while preserving meaning. Works on any text type. Supports configurable compression rate (0.3-0.7, default 0.5).
12
+ - **`combined`** ($0.0001/use) - Applies TOON first, then runs Compact on the result for maximum token reduction. For non-JSON input, behaves identically to `compact`. Best when you want maximum compression.
13
+
14
+ Prompt compression is opt-in and disabled by default. Security scanning always runs on the original text before compression is applied.
15
+
16
+ **Proxy mode:**
17
+ ```typescript
18
+ // TOON - compress structured JSON prompts (free)
19
+ const openai = createOpenAI({
20
+ apiKey: process.env.LOCKLLM_API_KEY,
21
+ proxyOptions: {
22
+ compressionAction: 'toon'
23
+ }
24
+ });
25
+
26
+ // Compact - compress any text with configurable rate
27
+ const openai2 = createOpenAI({
28
+ apiKey: process.env.LOCKLLM_API_KEY,
29
+ proxyOptions: {
30
+ compressionAction: 'compact',
31
+ compressionRate: 0.4 // Lower = more aggressive compression (0.3-0.7, default: 0.5)
32
+ }
33
+ });
34
+
35
+ // Combined - TOON then Compact for maximum compression
36
+ const openai3 = createOpenAI({
37
+ apiKey: process.env.LOCKLLM_API_KEY,
38
+ proxyOptions: {
39
+ compressionAction: 'combined',
40
+ compressionRate: 0.5
41
+ }
42
+ });
43
+ ```
44
+
45
+ **Scan API:**
46
+ ```typescript
47
+ const result = await lockllm.scan(
48
+ { input: '{"users": [{"name": "Alice"}, {"name": "Bob"}]}' },
49
+ { compressionAction: 'combined', compressionRate: 0.5 }
50
+ );
51
+
52
+ if (result.compression_result) {
53
+ console.log(result.compression_result.method); // 'combined'
54
+ console.log(result.compression_result.compressed_input); // Compressed text
55
+ console.log(result.compression_result.compression_ratio); // e.g., 0.35
56
+ }
57
+ ```
58
+
59
+ #### Compression Response Metadata
60
+ Proxy responses now include compression metadata in response headers:
61
+ - `X-LockLLM-Compression-Method` - Compression method used (`toon`, `compact`, or `combined`)
62
+ - `X-LockLLM-Compression-Applied` - Whether compression was applied (`true` or `false`)
63
+ - `X-LockLLM-Compression-Ratio` - Ratio of compressed to original length (lower = better)
64
+
65
+ Parse these with `parseProxyMetadata()`:
66
+ ```typescript
67
+ const metadata = parseProxyMetadata(response.headers);
68
+ console.log(metadata.compression);
69
+ // { method: 'combined', applied: true, ratio: 0.35 }
70
+ ```
71
+
72
+ ### Notes
73
+ - Prompt compression is opt-in. Existing integrations continue to work without changes.
74
+ - All new types (`CompressionAction`, `CompressionResult`) are fully exported for TypeScript users.
75
+ - Security scanning always runs on the original (uncompressed) text for maximum protection.
76
+ - TOON compression is free. Compact and Combined cost $0.0001 per request.
77
+
78
+ ---
79
+
3
80
  ## [1.2.0] - 2026-02-21
4
81
 
5
82
  ### Added
@@ -134,14 +211,14 @@ const openai = createOpenAI({
134
211
  scanMode: 'combined',
135
212
  scanAction: 'block',
136
213
  policyAction: 'block',
137
- routeAction: 'auto', // Enable intelligent routing
214
+ routeAction: 'auto', // Enable smart routing
138
215
  cacheResponse: true, // Enable response caching
139
216
  cacheTTL: 3600 // Cache for 1 hour
140
217
  }
141
218
  });
142
219
  ```
143
220
 
144
- #### Intelligent Routing
221
+ #### Smart Routing
145
222
  Let LockLLM automatically select the best model for each request based on task type and complexity. Set `routeAction: 'auto'` to enable, or `routeAction: 'custom'` to use your own routing rules from the dashboard.
146
223
 
147
224
  #### Response Caching
package/README.md CHANGED
@@ -81,8 +81,9 @@ LockLLM provides production-ready AI security that integrates seamlessly into yo
81
81
  | **Custom Endpoints** | Configure custom URLs for any provider (self-hosted, Azure, private clouds) |
82
82
  | **Custom Content Policies** | Define your own content rules in the dashboard and enforce them automatically across all providers |
83
83
  | **AI Abuse Detection** | Detect bot-generated content, repetition attacks, and resource exhaustion from your end-users |
84
- | **Intelligent Routing** | Automatically select the optimal model for each request based on task type and complexity to save costs |
84
+ | **Smart Routing** | Automatically select the optimal model for each request based on task type and complexity to save costs |
85
85
  | **PII Detection & Redaction** | Detect and automatically redact emails, phone numbers, SSNs, credit cards, and other personal information before they reach AI providers |
86
+ | **Prompt Compression** | Reduce token usage with TOON (JSON-to-compact-notation, free), Compact (advanced compression, $0.0001/use), or Combined (TOON then Compact for maximum reduction, $0.0001/use) methods |
86
87
  | **Response Caching** | Cache identical LLM responses to reduce costs and latency on repeated queries |
87
88
  | **Enterprise Privacy** | Provider keys encrypted at rest, prompts never stored |
88
89
  | **Production Ready** | Battle-tested with automatic retries, timeouts, and error handling |
@@ -625,6 +626,8 @@ interface ScanOptions {
625
626
  policyAction?: 'block' | 'allow_with_warning'; // Custom policy behavior
626
627
  abuseAction?: 'block' | 'allow_with_warning'; // Abuse detection (opt-in)
627
628
  piiAction?: 'strip' | 'block' | 'allow_with_warning'; // PII detection (opt-in)
629
+ compressionAction?: 'toon' | 'compact' | 'combined'; // Prompt compression (opt-in)
630
+ compressionRate?: number; // Compact/combined compression rate (0.3-0.7)
628
631
  }
629
632
  ```
630
633
 
@@ -657,10 +660,20 @@ interface ScanResponse {
657
660
  scan_warning?: ScanWarning;
658
661
  // Present when abuse detection is enabled and abuse found
659
662
  abuse_warnings?: AbuseWarning;
660
- // Present when intelligent routing is enabled
663
+ // Present when smart routing is enabled
661
664
  routing?: { task_type: string; complexity: number; selected_model?: string; };
662
665
  // Present when PII detection is enabled
663
666
  pii_result?: PIIResult;
667
+ // Present when prompt compression is enabled
668
+ compression_result?: CompressionResult;
669
+ }
670
+
671
+ interface CompressionResult {
672
+ method: 'toon' | 'compact' | 'combined'; // Compression method used
673
+ compressed_input: string; // The compressed text
674
+ original_length: number; // Original text length
675
+ compressed_length: number; // Compressed text length
676
+ compression_ratio: number; // Ratio (compressed/original, lower = better)
664
677
  }
665
678
 
666
679
  interface PIIResult {
@@ -694,6 +707,8 @@ interface GenericClientConfig {
694
707
  policyAction?: 'block' | 'allow_with_warning';
695
708
  abuseAction?: 'block' | 'allow_with_warning' | null;
696
709
  piiAction?: 'strip' | 'block' | 'allow_with_warning' | null;
710
+ compressionAction?: 'toon' | 'compact' | 'combined' | null;
711
+ compressionRate?: number;
697
712
  routeAction?: 'disabled' | 'auto' | 'custom';
698
713
  sensitivity?: 'low' | 'medium' | 'high';
699
714
  cacheResponse?: boolean;
@@ -747,9 +762,10 @@ const headers = buildLockLLMHeaders({
747
762
  policyAction: 'allow_with_warning',
748
763
  abuseAction: 'block',
749
764
  piiAction: 'strip',
765
+ compressionAction: 'toon',
750
766
  routeAction: 'auto'
751
767
  });
752
- // Returns: { 'x-lockllm-scan-mode': 'combined', 'x-lockllm-pii-action': 'strip', ... }
768
+ // Returns: { 'x-lockllm-scan-mode': 'combined', 'x-lockllm-compression': 'toon', ... }
753
769
  ```
754
770
 
755
771
  **Parse proxy response metadata:**
@@ -764,6 +780,7 @@ console.log(metadata.scan_mode); // 'combined'
764
780
  console.log(metadata.cache_status); // 'HIT' or 'MISS'
765
781
  console.log(metadata.routing); // { task_type, complexity, selected_model, ... }
766
782
  console.log(metadata.pii_detected); // { detected, entity_types, entity_count, action }
783
+ console.log(metadata.compression); // { method, applied, ratio }
767
784
  ```
768
785
 
769
786
  ## Error Types
@@ -872,16 +889,16 @@ LockLLM uses a 10-tier progressive system based on monthly usage. Higher tiers u
872
889
 
873
890
  | Tier | Max RPM | Monthly Spending Requirement |
874
891
  |------|---------|----------------------------|
875
- | **Tier 1** (Free) | 30 RPM | $0 |
876
- | **Tier 2** | 50 RPM | $10/month |
877
- | **Tier 3** | 100 RPM | $50/month |
878
- | **Tier 4** | 200 RPM | $100/month |
879
- | **Tier 5** | 500 RPM | $250/month |
880
- | **Tier 6** | 1,000 RPM | $500/month |
881
- | **Tier 7** | 2,000 RPM | $1,000/month |
882
- | **Tier 8** | 5,000 RPM | $3,000/month |
883
- | **Tier 9** | 10,000 RPM | $5,000/month |
884
- | **Tier 10** | 20,000 RPM | $10,000/month |
892
+ | **Tier 1** (Free) | 300 RPM | $0 |
893
+ | **Tier 2** | 500 RPM | $10/month |
894
+ | **Tier 3** | 1,000 RPM | $50/month |
895
+ | **Tier 4** | 2,000 RPM | $100/month |
896
+ | **Tier 5** | 5,000 RPM | $250/month |
897
+ | **Tier 6** | 10,000 RPM | $500/month |
898
+ | **Tier 7** | 20,000 RPM | $1,000/month |
899
+ | **Tier 8** | 50,000 RPM | $3,000/month |
900
+ | **Tier 9** | 100,000 RPM | $5,000/month |
901
+ | **Tier 10** | 200,000 RPM | $10,000/month |
885
902
 
886
903
  See [pricing](https://www.lockllm.com/pricing) for full tier details and free monthly credits.
887
904
 
@@ -938,7 +955,8 @@ const result = await lockllm.scan(
938
955
  scanAction: 'block', // Block core injection attacks
939
956
  policyAction: 'allow_with_warning', // Allow but warn on policy violations
940
957
  abuseAction: 'block', // Enable abuse detection (opt-in)
941
- piiAction: 'strip' // Redact PII from input (opt-in)
958
+ piiAction: 'strip', // Redact PII from input (opt-in)
959
+ compressionAction: 'combined' // Compress prompts (opt-in: 'toon' | 'compact' | 'combined')
942
960
  }
943
961
  );
944
962
 
@@ -951,7 +969,9 @@ const openai = createOpenAI({
951
969
  policyAction: 'block', // Block policy violations
952
970
  abuseAction: 'allow_with_warning', // Detect abuse, don't block
953
971
  piiAction: 'strip', // Automatically redact PII
954
- routeAction: 'auto' // Enable intelligent routing
972
+ compressionAction: 'compact', // Compress prompts (free: 'toon', paid: 'compact' | 'combined')
973
+ compressionRate: 0.5, // Compression rate 0.3-0.7 (compact/combined only)
974
+ routeAction: 'auto' // Enable smart routing
955
975
  }
956
976
  });
957
977
  ```
@@ -971,7 +991,9 @@ const openai = createOpenAI({
971
991
  - `policyAction` - Controls custom policy violations: `'block'` | `'allow_with_warning'`
972
992
  - `abuseAction` - Controls abuse detection (opt-in): `'block'` | `'allow_with_warning'` | `null`
973
993
  - `piiAction` - Controls PII detection (opt-in): `'strip'` | `'block'` | `'allow_with_warning'` | `null`
974
- - `routeAction` - Controls intelligent routing: `'disabled'` | `'auto'` | `'custom'`
994
+ - `compressionAction` - Controls prompt compression (opt-in): `'toon'` | `'compact'` | `'combined'` | `null`
995
+ - `compressionRate` - Compression rate for compact/combined method: `0.3` - `0.7` (default: `0.5`)
996
+ - `routeAction` - Controls smart routing: `'disabled'` | `'auto'` | `'custom'`
975
997
 
976
998
  **Default Behavior (no headers):**
977
999
  - Scan Mode: `combined` (check both core + policies)
@@ -979,6 +1001,7 @@ const openai = createOpenAI({
979
1001
  - Policy Action: `allow_with_warning` (detect but don't block)
980
1002
  - Abuse Action: `null` (disabled, opt-in only)
981
1003
  - PII Action: `null` (disabled, opt-in only)
1004
+ - Compression Action: `null` (disabled, opt-in only)
982
1005
  - Route Action: `disabled` (no routing)
983
1006
 
984
1007
  See [examples/advanced-options.ts](examples/advanced-options.ts) for complete examples.
package/dist/index.d.ts CHANGED
@@ -8,8 +8,8 @@
8
8
  */
9
9
  export { LockLLM } from './client';
10
10
  export { LockLLMError, AuthenticationError, RateLimitError, PromptInjectionError, PolicyViolationError, AbuseDetectedError, PIIDetectedError, InsufficientCreditsError, UpstreamError, ConfigurationError, NetworkError, } from './errors';
11
- export type { LockLLMConfig, RequestOptions, Provider, ScanMode, ScanAction, RouteAction, PIIAction, ProxyRequestOptions, ProxyResponseMetadata, } from './types/common';
12
- export type { ScanRequest, ScanResponse, ScanOptions, Sensitivity, PolicyViolation, ScanWarning, AbuseWarning, PIIResult, } from './types/scan';
11
+ export type { LockLLMConfig, RequestOptions, Provider, ScanMode, ScanAction, RouteAction, PIIAction, CompressionAction, ProxyRequestOptions, ProxyResponseMetadata, } from './types/common';
12
+ export type { ScanRequest, ScanResponse, ScanOptions, Sensitivity, PolicyViolation, ScanWarning, AbuseWarning, PIIResult, CompressionResult, } from './types/scan';
13
13
  export type { ScanResult, LockLLMErrorData, PromptInjectionErrorData, PolicyViolationErrorData, AbuseDetectedErrorData, PIIDetectedErrorData, InsufficientCreditsErrorData, } from './types/errors';
14
14
  export type { ProviderName } from './types/providers';
15
15
  export { getProxyURL, getAllProxyURLs, getUniversalProxyURL } from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,YAAY,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGnG,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,YAAY,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGnG,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAC;AAsClB,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEnG,yCAAyC;AACzC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAC;AAwClB,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEnG,yCAAyC;AACzC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3E,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,IAAI,CACR,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC;CA2DzB"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3E,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,IAAI,CACR,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC;CAqEzB"}
package/dist/scan.js CHANGED
@@ -78,6 +78,14 @@ class ScanClient {
78
78
  if (options?.piiAction !== undefined && options?.piiAction !== null) {
79
79
  headers['x-lockllm-pii-action'] = options.piiAction;
80
80
  }
81
+ // Compression action: opt-in prompt compression (null/undefined means disabled)
82
+ if (options?.compressionAction !== undefined && options?.compressionAction !== null) {
83
+ headers['x-lockllm-compression'] = options.compressionAction;
84
+ }
85
+ // Compression rate for compact method
86
+ if (options?.compressionRate !== undefined) {
87
+ headers['x-lockllm-compression-rate'] = String(options.compressionRate);
88
+ }
81
89
  // Build request body
82
90
  const body = {
83
91
  input: request.input,
package/dist/scan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,OAAO,UAAU;IAGrB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,KAAK,CAAC,IAAI,CACR,OAAoB,EACpB,OAAqB;QAErB,kCAAkC;QAClC,MAAM,OAAO,GAA2B;YACtC,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;SAC5B,CAAC;QAEF,mBAAmB;QACnB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;QACzD,CAAC;QAED,eAAe;QACf,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAChE,CAAC;QAED,iCAAiC;QACjC,0DAA0D;QAC1D,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;QACxD,CAAC;QAED,2DAA2D;QAC3D,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;QAC5D,CAAC;QAED,uEAAuE;QACvE,IAAI,OAAO,EAAE,WAAW,KAAK,SAAS,IAAI,OAAO,EAAE,WAAW,KAAK,IAAI,EAAE,CAAC;YACxE,OAAO,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;QAC1D,CAAC;QAED,mEAAmE;QACnE,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,OAAO,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;YACpE,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QACtD,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,GAAwB;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CACnC,UAAU,EACV,IAAI,EACJ;YACE,OAAO;YACP,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CACF,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,OAAO,UAAU;IAGrB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,KAAK,CAAC,IAAI,CACR,OAAoB,EACpB,OAAqB;QAErB,kCAAkC;QAClC,MAAM,OAAO,GAA2B;YACtC,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;SAC5B,CAAC;QAEF,mBAAmB;QACnB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;QACzD,CAAC;QAED,eAAe;QACf,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAChE,CAAC;QAED,iCAAiC;QACjC,0DAA0D;QAC1D,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;QACxD,CAAC;QAED,2DAA2D;QAC3D,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;QAC5D,CAAC;QAED,uEAAuE;QACvE,IAAI,OAAO,EAAE,WAAW,KAAK,SAAS,IAAI,OAAO,EAAE,WAAW,KAAK,IAAI,EAAE,CAAC;YACxE,OAAO,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;QAC1D,CAAC;QAED,mEAAmE;QACnE,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,OAAO,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;YACpE,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QACtD,CAAC;QAED,gFAAgF;QAChF,IAAI,OAAO,EAAE,iBAAiB,KAAK,SAAS,IAAI,OAAO,EAAE,iBAAiB,KAAK,IAAI,EAAE,CAAC;YACpF,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAC/D,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,CAAC,4BAA4B,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC1E,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,GAAwB;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CACnC,UAAU,EACV,IAAI,EACJ;YACE,OAAO;YACP,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CACF,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
package/dist/scan.mjs CHANGED
@@ -75,6 +75,14 @@ export class ScanClient {
75
75
  if (options?.piiAction !== undefined && options?.piiAction !== null) {
76
76
  headers['x-lockllm-pii-action'] = options.piiAction;
77
77
  }
78
+ // Compression action: opt-in prompt compression (null/undefined means disabled)
79
+ if (options?.compressionAction !== undefined && options?.compressionAction !== null) {
80
+ headers['x-lockllm-compression'] = options.compressionAction;
81
+ }
82
+ // Compression rate for compact method
83
+ if (options?.compressionRate !== undefined) {
84
+ headers['x-lockllm-compression-rate'] = String(options.compressionRate);
85
+ }
78
86
  // Build request body
79
87
  const body = {
80
88
  input: request.input,
@@ -37,6 +37,8 @@ export type ScanAction = 'block' | 'allow_with_warning';
37
37
  export type RouteAction = 'disabled' | 'auto' | 'custom';
38
38
  /** PII detection action (opt-in) */
39
39
  export type PIIAction = 'strip' | 'block' | 'allow_with_warning';
40
+ /** Prompt compression method (opt-in) */
41
+ export type CompressionAction = 'toon' | 'compact' | 'combined';
40
42
  /** Proxy request options with advanced headers */
41
43
  export interface ProxyRequestOptions extends RequestOptions {
42
44
  /** Scan mode (default: combined) - Check both core security and custom policies */
@@ -47,7 +49,7 @@ export interface ProxyRequestOptions extends RequestOptions {
47
49
  policyAction?: ScanAction;
48
50
  /** Abuse detection action (opt-in, default: null) - When null, abuse detection is disabled */
49
51
  abuseAction?: ScanAction | null;
50
- /** Routing action (default: disabled) - No intelligent routing unless explicitly enabled */
52
+ /** Routing action (default: disabled) - No smart routing unless explicitly enabled */
51
53
  routeAction?: RouteAction;
52
54
  /** PII detection action (opt-in, default: null) - When null, PII detection is disabled */
53
55
  piiAction?: PIIAction | null;
@@ -57,6 +59,12 @@ export interface ProxyRequestOptions extends RequestOptions {
57
59
  cacheResponse?: boolean;
58
60
  /** Cache TTL in seconds (default: 3600) */
59
61
  cacheTTL?: number;
62
+ /** Prompt compression method (opt-in, default: null) - When null, compression is disabled.
63
+ * "toon" converts JSON to compact notation (free). "compact" uses advanced compression ($0.0001/use).
64
+ * "combined" applies TOON first then Compact for maximum compression ($0.0001/use). */
65
+ compressionAction?: CompressionAction | null;
66
+ /** Compression rate for compact method (0.3-0.7, default: 0.5) - Lower = more compression */
67
+ compressionRate?: number;
60
68
  }
61
69
  /** Response metadata from proxy */
62
70
  export interface ProxyResponseMetadata {
@@ -143,5 +151,11 @@ export interface ProxyResponseMetadata {
143
151
  policy_detail?: any;
144
152
  /** Decoded abuse detail (from base64 header) */
145
153
  abuse_detail?: any;
154
+ /** Compression metadata */
155
+ compression?: {
156
+ method: string;
157
+ applied: boolean;
158
+ ratio: number;
159
+ };
146
160
  }
147
161
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Scan API types
3
3
  */
4
- import type { PIIAction } from './common';
4
+ import type { PIIAction, CompressionAction } from './common';
5
5
  export type Sensitivity = 'low' | 'medium' | 'high';
6
6
  /** Scan mode determines which security checks are performed */
7
7
  export type ScanMode = 'normal' | 'policy_only' | 'combined';
@@ -17,6 +17,19 @@ export interface ScanRequest {
17
17
  /** Force chunking for large inputs */
18
18
  chunk?: boolean;
19
19
  }
20
+ /** Compression result */
21
+ export interface CompressionResult {
22
+ /** Compression method used */
23
+ method: 'toon' | 'compact' | 'combined';
24
+ /** Compressed text */
25
+ compressed_input: string;
26
+ /** Original text length */
27
+ original_length: number;
28
+ /** Compressed text length */
29
+ compressed_length: number;
30
+ /** Compression ratio (compressed/original, lower = better) */
31
+ compression_ratio: number;
32
+ }
20
33
  /** PII detection result */
21
34
  export interface PIIResult {
22
35
  /** Whether PII was detected */
@@ -38,6 +51,12 @@ export interface ScanOptions {
38
51
  abuseAction?: ScanAction | null;
39
52
  /** PII detection action (opt-in, default: null) - When null, PII detection is disabled */
40
53
  piiAction?: PIIAction | null;
54
+ /** Prompt compression method (opt-in, default: null) - When null, compression is disabled.
55
+ * "toon" converts JSON to compact notation (free). "compact" uses advanced compression ($0.0001/use).
56
+ * "combined" applies TOON first then Compact for maximum compression ($0.0001/use). */
57
+ compressionAction?: CompressionAction | null;
58
+ /** Compression rate for compact method (0.3-0.7, default: 0.5) - Lower = more compression */
59
+ compressionRate?: number;
41
60
  /** Custom headers to include in the request */
42
61
  headers?: Record<string, string>;
43
62
  /** Request timeout in milliseconds */
@@ -147,5 +166,7 @@ export interface ScanResponse {
147
166
  };
148
167
  /** PII detection result (present when PII detection is enabled) */
149
168
  pii_result?: PIIResult;
169
+ /** Compression result (present when compression is enabled) */
170
+ compression_result?: CompressionResult;
150
171
  }
151
172
  //# sourceMappingURL=scan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/types/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/types/scan.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import type { ProxyRequestOptions, ProxyResponseMetadata } from '../types/common
10
10
  * - Scan Action: allow_with_warning (detect threats but don't block)
11
11
  * - Policy Action: allow_with_warning (detect violations but don't block)
12
12
  * - Abuse Action: null (abuse detection disabled, opt-in only)
13
- * - Route Action: disabled (no intelligent routing)
13
+ * - Route Action: disabled (no smart routing)
14
14
  */
15
15
  export declare function buildLockLLMHeaders(options?: ProxyRequestOptions): Record<string, string>;
16
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-headers.d.ts","sourceRoot":"","sources":["../../src/utils/proxy-headers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAElF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiDzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,qBAAqB,CA0LnG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAOrD"}
1
+ {"version":3,"file":"proxy-headers.d.ts","sourceRoot":"","sources":["../../src/utils/proxy-headers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAElF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2DzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAuMnG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAOrD"}
@@ -14,7 +14,7 @@ exports.decodeDetailField = decodeDetailField;
14
14
  * - Scan Action: allow_with_warning (detect threats but don't block)
15
15
  * - Policy Action: allow_with_warning (detect violations but don't block)
16
16
  * - Abuse Action: null (abuse detection disabled, opt-in only)
17
- * - Route Action: disabled (no intelligent routing)
17
+ * - Route Action: disabled (no smart routing)
18
18
  */
19
19
  function buildLockLLMHeaders(options) {
20
20
  const headers = {};
@@ -34,7 +34,7 @@ function buildLockLLMHeaders(options) {
34
34
  if (options?.abuseAction !== undefined && options?.abuseAction !== null) {
35
35
  headers['x-lockllm-abuse-action'] = options.abuseAction;
36
36
  }
37
- // Route action header (controls intelligent routing)
37
+ // Route action header (controls smart routing)
38
38
  if (options?.routeAction) {
39
39
  headers['x-lockllm-route-action'] = options.routeAction;
40
40
  }
@@ -54,6 +54,14 @@ function buildLockLLMHeaders(options) {
54
54
  if (options?.cacheTTL !== undefined) {
55
55
  headers['x-lockllm-cache-ttl'] = String(options.cacheTTL);
56
56
  }
57
+ // Compression header (opt-in, null means disabled)
58
+ if (options?.compressionAction !== undefined && options?.compressionAction !== null) {
59
+ headers['x-lockllm-compression'] = options.compressionAction;
60
+ }
61
+ // Compression rate (compact method only, 0.3-0.7)
62
+ if (options?.compressionRate !== undefined) {
63
+ headers['x-lockllm-compression-rate'] = String(options.compressionRate);
64
+ }
57
65
  return headers;
58
66
  }
59
67
  /**
@@ -204,6 +212,17 @@ function parseProxyMetadata(headers) {
204
212
  if (balanceAfter) {
205
213
  metadata.balance_after = parseFloat(balanceAfter);
206
214
  }
215
+ // Parse compression metadata
216
+ const compressionMethod = getHeader('x-lockllm-compression-method');
217
+ if (compressionMethod) {
218
+ const compressionApplied = getHeader('x-lockllm-compression-applied');
219
+ const compressionRatio = getHeader('x-lockllm-compression-ratio');
220
+ metadata.compression = {
221
+ method: compressionMethod,
222
+ applied: compressionApplied === 'true',
223
+ ratio: compressionRatio ? parseFloat(compressionRatio) : 1.0,
224
+ };
225
+ }
207
226
  // Parse base64-encoded detail fields
208
227
  const scanDetail = getHeader('x-lockllm-scan-detail');
209
228
  if (scanDetail) {
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-headers.js","sourceRoot":"","sources":["../../src/utils/proxy-headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-headers.js","sourceRoot":"","sources":["../../src/utils/proxy-headers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,kEAAkE;IAClE,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IACpD,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IACxD,CAAC;IAED,0EAA0E;IAC1E,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAC5D,CAAC;IAED,oDAAoD;IACpD,IAAI,OAAO,EAAE,WAAW,KAAK,SAAS,IAAI,OAAO,EAAE,WAAW,KAAK,IAAI,EAAE,CAAC;QACxE,OAAO,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAC1D,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;QACzB,OAAO,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAC1D,CAAC;IAED,kDAAkD;IAClD,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,OAAO,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;QACpE,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;QACzB,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IACzD,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,EAAE,aAAa,KAAK,KAAK,EAAE,CAAC;QACrC,OAAO,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC;IAChD,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,mDAAmD;IACnD,IAAI,OAAO,EAAE,iBAAiB,KAAK,SAAS,IAAI,OAAO,EAAE,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACpF,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAC/D,CAAC;IAED,kDAAkD;IAClD,IAAI,OAAO,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,CAAC,4BAA4B,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAyC;IAC1E,MAAM,SAAS,GAAG,CAAC,IAAY,EAAiB,EAAE;QAChD,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;IAC9D,CAAC,CAAC;IAEF,MAAM,QAAQ,GAA0B;QACtC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE;QAC3C,OAAO,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK,MAAM;QAClD,IAAI,EAAE,SAAS,CAAC,gBAAgB,CAAC,KAAK,MAAM;QAC5C,SAAS,EAAG,SAAS,CAAC,aAAa,CAAS,IAAI,UAAU;QAC1D,YAAY,EAAG,SAAS,CAAC,wBAAwB,CAAS,IAAI,MAAM;QACpE,QAAQ,EAAE,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE;QAC/C,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,SAAS;KACjD,CAAC;IAEF,oBAAoB;IACpB,MAAM,WAAW,GAAG,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACvD,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;IACrC,CAAC;IAED,cAAc;IACd,MAAM,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,qBAAqB;IACrB,MAAM,WAAW,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACxD,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAElD,QAAQ,CAAC,YAAY,GAAG;YACtB,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,EAAE,MAAM,IAAI,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,cAAc,GAAG,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAC9D,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAErD,QAAQ,CAAC,eAAe,GAAG;YACzB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,EAAE,MAAM,IAAI,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,aAAa,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC5D,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAEnD,QAAQ,CAAC,cAAc,GAAG;YACxB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,EAAE,MAAM,IAAI,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,MAAM,WAAW,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAEpD,QAAQ,CAAC,YAAY,GAAG;YACtB,QAAQ,EAAE,WAAW,KAAK,MAAM;YAChC,YAAY,EAAE,QAAQ,IAAI,EAAE;YAC5B,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,EAAE,SAAS,IAAI,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAC1D,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAElE,MAAM,qBAAqB,GAAG,SAAS,CAAC,mCAAmC,CAAC,CAAC;QAC7E,MAAM,mBAAmB,GAAG,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzE,MAAM,oBAAoB,GAAG,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC3E,MAAM,qBAAqB,GAAG,SAAS,CAAC,mCAAmC,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,SAAS,CAAC,8BAA8B,CAAC,CAAC;QAEnE,QAAQ,CAAC,OAAO,GAAG;YACjB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ,IAAI,EAAE;YACzB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,cAAc,EAAE,aAAa,IAAI,EAAE;YACnC,cAAc,EAAE,aAAa,IAAI,EAAE;YACnC,iBAAiB,EAAE,gBAAgB,IAAI,EAAE;YACzC,cAAc,EAAE,aAAa,IAAI,EAAE;YACnC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,qBAAqB,EAAE,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,sBAAsB,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,kBAAkB,EAAE,gBAAgB,IAAI,EAAE;SAC3C,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,eAAe,GAAG,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAChE,IAAI,eAAe,EAAE,CAAC;QACpB,QAAQ,CAAC,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACvE,IAAI,kBAAkB,EAAE,CAAC;QACvB,QAAQ,CAAC,oBAAoB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAED,qBAAqB;IACrB,MAAM,WAAW,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,YAAY,GAAG,WAA6B,CAAC;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACpD,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAChE,IAAI,eAAe,EAAE,CAAC;QACpB,QAAQ,CAAC,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAC1D,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,6BAA6B;IAC7B,MAAM,iBAAiB,GAAG,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACpE,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,kBAAkB,GAAG,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAElE,QAAQ,CAAC,WAAW,GAAG;YACrB,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,kBAAkB,KAAK,MAAM;YACtC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG;SAC7D,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACtD,IAAI,UAAU,EAAE,CAAC;QACf,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC3D,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,CAAC,aAAa,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -9,7 +9,7 @@
9
9
  * - Scan Action: allow_with_warning (detect threats but don't block)
10
10
  * - Policy Action: allow_with_warning (detect violations but don't block)
11
11
  * - Abuse Action: null (abuse detection disabled, opt-in only)
12
- * - Route Action: disabled (no intelligent routing)
12
+ * - Route Action: disabled (no smart routing)
13
13
  */
14
14
  export function buildLockLLMHeaders(options) {
15
15
  const headers = {};
@@ -29,7 +29,7 @@ export function buildLockLLMHeaders(options) {
29
29
  if (options?.abuseAction !== undefined && options?.abuseAction !== null) {
30
30
  headers['x-lockllm-abuse-action'] = options.abuseAction;
31
31
  }
32
- // Route action header (controls intelligent routing)
32
+ // Route action header (controls smart routing)
33
33
  if (options?.routeAction) {
34
34
  headers['x-lockllm-route-action'] = options.routeAction;
35
35
  }
@@ -49,6 +49,14 @@ export function buildLockLLMHeaders(options) {
49
49
  if (options?.cacheTTL !== undefined) {
50
50
  headers['x-lockllm-cache-ttl'] = String(options.cacheTTL);
51
51
  }
52
+ // Compression header (opt-in, null means disabled)
53
+ if (options?.compressionAction !== undefined && options?.compressionAction !== null) {
54
+ headers['x-lockllm-compression'] = options.compressionAction;
55
+ }
56
+ // Compression rate (compact method only, 0.3-0.7)
57
+ if (options?.compressionRate !== undefined) {
58
+ headers['x-lockllm-compression-rate'] = String(options.compressionRate);
59
+ }
52
60
  return headers;
53
61
  }
54
62
  /**
@@ -199,6 +207,17 @@ export function parseProxyMetadata(headers) {
199
207
  if (balanceAfter) {
200
208
  metadata.balance_after = parseFloat(balanceAfter);
201
209
  }
210
+ // Parse compression metadata
211
+ const compressionMethod = getHeader('x-lockllm-compression-method');
212
+ if (compressionMethod) {
213
+ const compressionApplied = getHeader('x-lockllm-compression-applied');
214
+ const compressionRatio = getHeader('x-lockllm-compression-ratio');
215
+ metadata.compression = {
216
+ method: compressionMethod,
217
+ applied: compressionApplied === 'true',
218
+ ratio: compressionRatio ? parseFloat(compressionRatio) : 1.0,
219
+ };
220
+ }
202
221
  // Parse base64-encoded detail fields
203
222
  const scanDetail = getHeader('x-lockllm-scan-detail');
204
223
  if (scanDetail) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lockllm/sdk",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Enterprise-grade AI security SDK providing real-time protection against prompt injection, jailbreaks, and adversarial attacks. Drop-in replacement for OpenAI, Anthropic, and 17+ providers with zero code changes. Includes REST API, proxy mode, browser extension, and webhook support. Free BYOK model with unlimited scanning.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",