rehydra 0.6.2 → 0.6.4
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 +71 -301
- package/dist/ner/ner-model.d.ts.map +1 -1
- package/dist/ner/ner-model.js +146 -1
- package/dist/ner/ner-model.js.map +1 -1
- package/dist/opencode-plugin/plugin.d.ts +2 -1
- package/dist/opencode-plugin/plugin.d.ts.map +1 -1
- package/dist/opencode-plugin/plugin.js +14 -9
- package/dist/opencode-plugin/plugin.js.map +1 -1
- package/dist/opencode-plugin/types.d.ts +1 -1
- package/dist/opencode-plugin/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,343 +1,113 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://framerusercontent.com/images/NT4xWP34VHd2Wlrk197je5BUi4.png?scale-down-to=512" width="400" alt="Rehydra" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
On-device PII anonymization for AI workflows.<br/>
|
|
7
|
+
Detects, replaces, encrypts — and rehydrates back when needed.
|
|
8
|
+
</p>
|
|
4
9
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
<p align="center">
|
|
11
|
+
<a href="https://docs.rehydra.ai">Documentation</a> · <a href="https://github.com/rehydra-ai/rehydra-sdk/issues">Issues</a>
|
|
12
|
+
</p>
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
<p align="center">
|
|
15
|
+
<a href="https://www.npmjs.com/package/rehydra"><img src="https://img.shields.io/npm/v/rehydra?color=blue" alt="npm" /></a>
|
|
16
|
+
<a href="https://github.com/rehydra-ai/rehydra-sdk/blob/main/LICENSE"><img src="https://img.shields.io/github/license/rehydra-ai/rehydra-sdk" alt="license" /></a>
|
|
17
|
+
<a href="https://codecov.io/github/rehydra-ai/rehydra"><img src="https://codecov.io/github/rehydra-ai/rehydra/graph/badge.svg?token=WX5RI0ZZJG" alt="codecov" /></a>
|
|
18
|
+
</p>
|
|
10
19
|
|
|
11
|
-
|
|
12
|
-
npm
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**Works in Node.js, Bun, and browsers.** No data leaves your machine.
|
|
16
|
-
|
|
17
|
-
## OpenCode Plugin
|
|
18
|
-
|
|
19
|
-
Protect your coding agent from leaking secrets to LLM providers. Secrets from `.env` files are scrubbed before they leave your machine and restored before tools execute locally.
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
npm install @rehydra/opencode
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
```json
|
|
26
|
-
{ "plugin": ["@rehydra/opencode"] }
|
|
27
|
-
```
|
|
20
|
+
<p align="center">
|
|
21
|
+
<code>npm i rehydra</code> · <code>npm i <a href="packages/cli/">@rehydra/cli</a></code> · <code>npm i <a href="packages/opencode-plugin/">@rehydra/opencode</a></code>
|
|
22
|
+
</p>
|
|
28
23
|
|
|
29
|
-
|
|
24
|
+
---
|
|
30
25
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
npx @rehydra/cli anonymize "Email john@example.com about the meeting"
|
|
37
|
-
# Email <PII type="EMAIL" id="1"/> about the meeting
|
|
38
|
-
|
|
39
|
-
npx @rehydra/cli rehydrate --pii-map ./pii-map.json "Email <PII type=\"EMAIL\" id=\"1\"/> about the meeting"
|
|
40
|
-
# Email john@example.com about the meeting
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
See [@rehydra/cli](packages/cli/) for all commands.
|
|
26
|
+
<p align="center">
|
|
27
|
+
<img src="demo.gif" alt="Rehydra Demo" />
|
|
28
|
+
</p>
|
|
44
29
|
|
|
45
30
|
## Quick Start
|
|
46
31
|
|
|
47
32
|
```typescript
|
|
48
|
-
import {
|
|
33
|
+
import { anonymize } from 'rehydra';
|
|
49
34
|
|
|
50
|
-
const
|
|
51
|
-
const anonymizer = createAnonymizer({
|
|
52
|
-
ner: { mode: 'quantized' }, // ~280 MB model, auto-downloads on first use
|
|
53
|
-
keyProvider,
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
const result = await anonymizer.anonymize(
|
|
35
|
+
const { anonymizedText } = await anonymize(
|
|
57
36
|
'Email john.smith@acme-corp.com or call John at +41 79 123 45 67'
|
|
58
37
|
);
|
|
59
|
-
|
|
60
|
-
console.log(result.anonymizedText);
|
|
61
|
-
// "Email <PII type="EMAIL" id="1"/> or call <PII type="PERSON" id="2"/> at <PII type="PHONE" id="3"/>"
|
|
62
|
-
|
|
63
|
-
// Rehydrate after translation or other processing
|
|
64
|
-
const key = await keyProvider.getKey();
|
|
65
|
-
const piiMap = await decryptPIIMap(result.piiMap!, key);
|
|
66
|
-
const original = rehydrate(result.anonymizedText, piiMap);
|
|
67
|
-
// "Email john.smith@acme-corp.com or call John at +41 79 123 45 67"
|
|
68
|
-
|
|
69
|
-
await anonymizer.dispose();
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## LLM Proxy
|
|
73
|
-
|
|
74
|
-
Drop-in middleware that anonymizes prompts before they leave your machine and rehydrates responses. Works with OpenAI, Anthropic, and any OpenAI-compatible API.
|
|
75
|
-
|
|
76
|
-
### Wrap any fetch-based client
|
|
77
|
-
|
|
78
|
-
```typescript
|
|
79
|
-
import OpenAI from 'openai';
|
|
80
|
-
import { createRehydraFetch, InMemoryKeyProvider, InMemoryPIIStorageProvider } from 'rehydra';
|
|
81
|
-
|
|
82
|
-
const openai = new OpenAI({
|
|
83
|
-
fetch: createRehydraFetch({
|
|
84
|
-
anonymizer: { ner: { mode: 'quantized' } },
|
|
85
|
-
keyProvider: new InMemoryKeyProvider(),
|
|
86
|
-
piiStorageProvider: new InMemoryPIIStorageProvider(),
|
|
87
|
-
}),
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
// PII is anonymized before leaving your machine, response is rehydrated automatically
|
|
91
|
-
const response = await openai.chat.completions.create({
|
|
92
|
-
model: 'gpt-4o',
|
|
93
|
-
messages: [{ role: 'user', content: 'Draft a reply to john@example.com about the meeting' }],
|
|
94
|
-
});
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Or use wrapLLMClient for even less code
|
|
98
|
-
|
|
99
|
-
```typescript
|
|
100
|
-
import OpenAI from 'openai';
|
|
101
|
-
import { wrapLLMClient, InMemoryKeyProvider, InMemoryPIIStorageProvider } from 'rehydra';
|
|
102
|
-
|
|
103
|
-
const openai = wrapLLMClient(new OpenAI(), {
|
|
104
|
-
keyProvider: new InMemoryKeyProvider(),
|
|
105
|
-
piiStorageProvider: new InMemoryPIIStorageProvider(),
|
|
106
|
-
});
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Standalone proxy server
|
|
110
|
-
|
|
111
|
-
Point any LLM client at a local proxy — zero code changes needed:
|
|
112
|
-
|
|
113
|
-
```typescript
|
|
114
|
-
import { createRehydraProxyServer, InMemoryKeyProvider, InMemoryPIIStorageProvider } from 'rehydra';
|
|
115
|
-
|
|
116
|
-
const proxy = await createRehydraProxyServer({
|
|
117
|
-
port: 8080,
|
|
118
|
-
upstream: 'https://api.openai.com',
|
|
119
|
-
keyProvider: new InMemoryKeyProvider(),
|
|
120
|
-
piiStorageProvider: new InMemoryPIIStorageProvider(),
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
// Point your client at the proxy
|
|
124
|
-
const openai = new OpenAI({ baseURL: 'http://localhost:8080/v1' });
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Supports non-streaming and streaming (SSE) responses for both OpenAI and Anthropic APIs.
|
|
128
|
-
|
|
129
|
-
## Streaming
|
|
130
|
-
|
|
131
|
-
Process text chunk-by-chunk with constant memory. Works as a Node.js Transform stream.
|
|
132
|
-
|
|
133
|
-
```typescript
|
|
134
|
-
import { createReadStream, createWriteStream } from 'fs';
|
|
135
|
-
import { createAnonymizerStream, InMemoryKeyProvider } from 'rehydra';
|
|
136
|
-
|
|
137
|
-
const stream = await createAnonymizerStream({
|
|
138
|
-
anonymizer: { ner: { mode: 'quantized' } },
|
|
139
|
-
keyProvider: new InMemoryKeyProvider(),
|
|
140
|
-
sessionId: 'batch-job-001',
|
|
141
|
-
piiStorageProvider: storage,
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
createReadStream('input.txt').pipe(stream).pipe(createWriteStream('anonymized.txt'));
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### Low-latency mode for LLM token streams
|
|
148
|
-
|
|
149
|
-
Regex-only, smaller buffers, flushes aggressively — designed for real-time token streams:
|
|
150
|
-
|
|
151
|
-
```typescript
|
|
152
|
-
const stream = await createAnonymizerStream({
|
|
153
|
-
buffer: { lowLatency: true },
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
llmTokenStream.pipe(stream).on('data', (chunk) => {
|
|
157
|
-
ws.send(chunk.toString());
|
|
158
|
-
});
|
|
38
|
+
// → "Email <PII type="EMAIL" id="1"/> or call <PII type="PERSON" id="2"/> at <PII type="PHONE" id="3"/>"
|
|
159
39
|
```
|
|
160
40
|
|
|
161
|
-
|
|
41
|
+
Works in **Node.js**, **Bun**, and **browsers**. No data leaves your machine.
|
|
162
42
|
|
|
163
|
-
|
|
164
|
-
const session = anonymizer.session('chat-123');
|
|
165
|
-
const stream = await session.createStream();
|
|
166
|
-
input.pipe(stream).pipe(output);
|
|
167
|
-
```
|
|
43
|
+
## Features
|
|
168
44
|
|
|
169
|
-
|
|
45
|
+
- **Regex + NER detection** — emails, phones, IBANs, credit cards, names, orgs, locations, and more
|
|
46
|
+
- **LLM Proxy** — drop-in `fetch` wrapper or standalone proxy server for OpenAI, Anthropic, and compatible APIs
|
|
47
|
+
- **Streaming** — Transform stream with low-latency mode for real-time LLM token streams
|
|
48
|
+
- **Sessions** — consistent PII IDs across multi-message conversations with persistent storage
|
|
49
|
+
- **Encryption** — AES-256-GCM via Web Crypto API
|
|
50
|
+
- **Semantic enrichment** — optional gender/scope attributes for better machine translation
|
|
170
51
|
|
|
171
|
-
|
|
52
|
+
## Example: Full Round-Trip with NER and Sessions
|
|
172
53
|
|
|
173
54
|
```typescript
|
|
174
55
|
import {
|
|
175
56
|
createAnonymizer,
|
|
57
|
+
decryptPIIMap,
|
|
58
|
+
rehydrate,
|
|
176
59
|
InMemoryKeyProvider,
|
|
177
|
-
SQLitePIIStorageProvider,
|
|
60
|
+
SQLitePIIStorageProvider,
|
|
178
61
|
} from 'rehydra';
|
|
179
62
|
|
|
63
|
+
const keyProvider = new InMemoryKeyProvider();
|
|
180
64
|
const anonymizer = createAnonymizer({
|
|
181
|
-
ner: {
|
|
182
|
-
|
|
65
|
+
ner: {
|
|
66
|
+
mode: 'quantized', // ~280 MB model, auto-downloads on first use
|
|
67
|
+
caseFallback: true, // detect lowercase names like "tom"
|
|
68
|
+
thresholds: { PERSON: 0.8 }, // require higher confidence for names
|
|
69
|
+
onStatus: console.log, // log model download progress
|
|
70
|
+
},
|
|
71
|
+
semantic: { enabled: true }, // adds gender/scope attributes for MT
|
|
72
|
+
secrets: { enabled: true }, // detect API keys, JWTs, connection strings
|
|
73
|
+
keyProvider,
|
|
183
74
|
piiStorageProvider: new SQLitePIIStorageProvider('./pii.db'),
|
|
184
75
|
});
|
|
185
76
|
|
|
186
77
|
const session = anonymizer.session('chat-123');
|
|
187
78
|
|
|
188
|
-
// Message 1
|
|
189
|
-
await session.anonymize(
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
//
|
|
193
|
-
|
|
194
|
-
// → "CC: <PII type="EMAIL" id="1"/> and <PII type="EMAIL" id="2"/>"
|
|
195
|
-
|
|
196
|
-
// Rehydrate any message — auto-loads the PII map from storage
|
|
197
|
-
const original = await session.rehydrate(translatedText);
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
### Storage Providers
|
|
201
|
-
|
|
202
|
-
| Provider | Environment | Persistence |
|
|
203
|
-
|----------|-------------|-------------|
|
|
204
|
-
| `InMemoryPIIStorageProvider` | All | None (lost on restart) |
|
|
205
|
-
| `SQLitePIIStorageProvider` | Node.js, Bun | File-based (`better-sqlite3` on Node, `bun:sqlite` on Bun) |
|
|
206
|
-
| `IndexedDBPIIStorageProvider` | Browser | Browser storage |
|
|
207
|
-
|
|
208
|
-
## Supported PII Types
|
|
209
|
-
|
|
210
|
-
| Type | Detection | Notes |
|
|
211
|
-
|------|-----------|-------|
|
|
212
|
-
| `PERSON` | NER | Names, with optional `gender` attribute |
|
|
213
|
-
| `ORG` | NER | Organization names |
|
|
214
|
-
| `LOCATION` | NER | Places, with optional `scope` attribute (city/country/region) |
|
|
215
|
-
| `ADDRESS` | NER | Physical addresses |
|
|
216
|
-
| `DATE_OF_BIRTH` | NER | Dates of birth |
|
|
217
|
-
| `EMAIL` | Regex | Email addresses |
|
|
218
|
-
| `PHONE` | Regex | International phone numbers |
|
|
219
|
-
| `IBAN` | Regex + checksum | International Bank Account Numbers |
|
|
220
|
-
| `BIC_SWIFT` | Regex | Bank Identifier Codes |
|
|
221
|
-
| `CREDIT_CARD` | Regex + Luhn | Credit card numbers |
|
|
222
|
-
| `IP_ADDRESS` | Regex | IPv4 and IPv6 |
|
|
223
|
-
| `URL` | Regex | Web URLs |
|
|
224
|
-
| `CASE_ID` | Regex | Configurable case/ticket patterns |
|
|
225
|
-
| `CUSTOMER_ID` | Regex | Configurable customer ID patterns |
|
|
226
|
-
|
|
227
|
-
## Configuration
|
|
228
|
-
|
|
229
|
-
### NER Modes
|
|
230
|
-
|
|
231
|
-
| Mode | Size | Description |
|
|
232
|
-
|------|------|-------------|
|
|
233
|
-
| `'disabled'` | 0 | Regex only — no model download |
|
|
234
|
-
| `'quantized'` | ~280 MB | Recommended — good accuracy, smaller download |
|
|
235
|
-
| `'standard'` | ~1.1 GB | Best accuracy |
|
|
236
|
-
| `'custom'` | Varies | Bring your own ONNX model |
|
|
237
|
-
|
|
238
|
-
### Semantic Enrichment
|
|
239
|
-
|
|
240
|
-
Adds gender/scope attributes for better machine translation:
|
|
241
|
-
|
|
242
|
-
```typescript
|
|
243
|
-
const anonymizer = createAnonymizer({
|
|
244
|
-
ner: { mode: 'quantized' },
|
|
245
|
-
semantic: { enabled: true }, // Downloads ~12 MB of name/location data
|
|
246
|
-
});
|
|
247
|
-
|
|
248
|
-
// "Hello <PII type="PERSON" gender="female" id="1"/> from <PII type="LOCATION" scope="city" id="2"/>!"
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### Anonymization Policy
|
|
252
|
-
|
|
253
|
-
```typescript
|
|
254
|
-
const anonymizer = createAnonymizer({
|
|
255
|
-
ner: { mode: 'quantized' },
|
|
256
|
-
defaultPolicy: {
|
|
257
|
-
enabledTypes: new Set([PIIType.EMAIL, PIIType.PHONE, PIIType.PERSON]),
|
|
258
|
-
confidenceThresholds: new Map([[PIIType.PERSON, 0.8]]),
|
|
259
|
-
allowlistTerms: new Set(['Customer Service']),
|
|
260
|
-
enableLeakScan: true,
|
|
261
|
-
},
|
|
262
|
-
});
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### Anonymization Modes
|
|
266
|
-
|
|
267
|
-
```typescript
|
|
268
|
-
// Pseudonymize (default): reversible, returns encrypted PII map
|
|
269
|
-
const anonymizer = createAnonymizer({ mode: 'pseudonymize' });
|
|
270
|
-
|
|
271
|
-
// Anonymize: irreversible, no PII map returned
|
|
272
|
-
const anonymizer = createAnonymizer({ mode: 'anonymize' });
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
### Custom Recognizers
|
|
276
|
-
|
|
277
|
-
```typescript
|
|
278
|
-
import { createCustomIdRecognizer, PIIType } from 'rehydra';
|
|
279
|
-
|
|
280
|
-
const recognizer = createCustomIdRecognizer([{
|
|
281
|
-
name: 'Order Number',
|
|
282
|
-
pattern: /\bORD-[A-Z0-9]{8}\b/g,
|
|
283
|
-
type: PIIType.CASE_ID,
|
|
284
|
-
}]);
|
|
285
|
-
|
|
286
|
-
anonymizer.getRegistry().register(recognizer);
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
### GPU Acceleration
|
|
290
|
-
|
|
291
|
-
For high-throughput batch processing, use a remote inference server with GPU:
|
|
292
|
-
|
|
293
|
-
```typescript
|
|
294
|
-
const anonymizer = createAnonymizer({
|
|
295
|
-
ner: {
|
|
296
|
-
backend: 'inference-server',
|
|
297
|
-
inferenceServerUrl: 'http://localhost:8080',
|
|
298
|
-
},
|
|
299
|
-
});
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
## Encryption
|
|
79
|
+
// Message 1 — NER detects names and orgs, regex catches emails
|
|
80
|
+
const r1 = await session.anonymize(
|
|
81
|
+
'Tell John Smith at Acme Corp (john.smith@acme-corp.com) we accept the offer'
|
|
82
|
+
);
|
|
83
|
+
// → "Tell <PII type="PERSON" gender="male" id="1"/> at <PII type="ORG" id="2"/>
|
|
84
|
+
// (<PII type="EMAIL" id="3"/>) we accept the offer"
|
|
303
85
|
|
|
304
|
-
|
|
86
|
+
// Message 2 — same entities keep their IDs across messages
|
|
87
|
+
const r2 = await session.anonymize(
|
|
88
|
+
'CC john.smith@acme-corp.com and loop in admin@acme-corp.com'
|
|
89
|
+
);
|
|
90
|
+
// → "CC <PII type="EMAIL" id="3"/> and loop in <PII type="EMAIL" id="4"/>"
|
|
305
91
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
92
|
+
// Rehydrate any message — PII map is loaded from SQLite automatically
|
|
93
|
+
const original = await session.rehydrate(r2.anonymizedText);
|
|
94
|
+
// → "CC john.smith@acme-corp.com and loop in admin@acme-corp.com"
|
|
309
95
|
|
|
310
|
-
|
|
311
|
-
const keyProvider = new ConfigKeyProvider(process.env.PII_ENCRYPTION_KEY!);
|
|
96
|
+
await anonymizer.dispose();
|
|
312
97
|
```
|
|
313
98
|
|
|
314
|
-
##
|
|
99
|
+
## Packages
|
|
315
100
|
|
|
316
|
-
|
|
|
317
|
-
|
|
318
|
-
|
|
|
319
|
-
|
|
|
320
|
-
|
|
|
101
|
+
| Package | Description |
|
|
102
|
+
|---------|-------------|
|
|
103
|
+
| [`rehydra`](https://www.npmjs.com/package/rehydra) | Core SDK |
|
|
104
|
+
| [`@rehydra/cli`](packages/cli/) | Anonymize and rehydrate from the terminal |
|
|
105
|
+
| [`@rehydra/opencode`](packages/opencode-plugin/) | OpenCode plugin — scrubs secrets before they reach LLM providers |
|
|
321
106
|
|
|
322
|
-
|
|
107
|
+
## Documentation
|
|
323
108
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
```bash
|
|
327
|
-
npm install # Install dependencies
|
|
328
|
-
npm run build # Compile TypeScript
|
|
329
|
-
npm test # Run tests (watch mode)
|
|
330
|
-
npm run test:run # Run tests once
|
|
331
|
-
npm run lint # ESLint
|
|
332
|
-
npm run setup:ner # Pre-download NER model (~280 MB)
|
|
333
|
-
npm run benchmark # Run benchmarks
|
|
334
|
-
|
|
335
|
-
# Integration tests (require API keys)
|
|
336
|
-
npm run test:streaming # No API key needed
|
|
337
|
-
OPENAI_API_KEY=... npm run test:proxy:openai -- --ner # OpenAI with NER
|
|
338
|
-
ANTHROPIC_API_KEY=... npm run test:proxy:anthropic -- --ner # Anthropic with NER
|
|
339
|
-
```
|
|
109
|
+
For API reference, configuration, guides, and examples, visit **[docs.rehydra.ai](https://docs.rehydra.ai)**.
|
|
340
110
|
|
|
341
111
|
## License
|
|
342
112
|
|
|
343
|
-
MIT
|
|
113
|
+
[MIT](LICENSE)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ner-model.d.ts","sourceRoot":"","sources":["../../src/ner/ner-model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAcnE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,WAAW,EAAE,OAAO,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,4BAA4B;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAU7B,CAAC;AA8BF;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,cAAc;IAIlC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C3B;;;;OAIG;YACW,UAAU;IAwBxB;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;IAyDzB;;OAEG;YACW,YAAY;IAiE1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAqCrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAOzB;
|
|
1
|
+
{"version":3,"file":"ner-model.d.ts","sourceRoot":"","sources":["../../src/ner/ner-model.ts"],"names":[],"mappings":"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"}
|
package/dist/ner/ner-model.js
CHANGED
|
@@ -253,12 +253,157 @@ export class NERModel {
|
|
|
253
253
|
return Promise.resolve();
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* Common function words / stopwords that should stay lowercase during case
|
|
258
|
+
* fallback so the NER model can still use contrastive casing as a signal.
|
|
259
|
+
* Only lowercase words NOT in this set get capitalized.
|
|
260
|
+
*/
|
|
261
|
+
const CASE_FALLBACK_STOPWORDS = new Set([
|
|
262
|
+
// articles
|
|
263
|
+
"a", "an", "the",
|
|
264
|
+
// pronouns
|
|
265
|
+
"i", "me", "my", "mine", "myself",
|
|
266
|
+
"you", "your", "yours", "yourself",
|
|
267
|
+
"he", "him", "his", "himself",
|
|
268
|
+
"she", "her", "hers", "herself",
|
|
269
|
+
"it", "its", "itself",
|
|
270
|
+
"we", "us", "our", "ours", "ourselves",
|
|
271
|
+
"they", "them", "their", "theirs", "themselves",
|
|
272
|
+
"this", "that", "these", "those",
|
|
273
|
+
"who", "whom", "whose", "which", "what",
|
|
274
|
+
// prepositions
|
|
275
|
+
"in", "on", "at", "to", "for", "of", "with", "by", "from",
|
|
276
|
+
"up", "about", "into", "through", "during", "before", "after",
|
|
277
|
+
"above", "below", "between", "under", "over", "out", "off",
|
|
278
|
+
"against", "along", "around", "among", "without", "within",
|
|
279
|
+
// conjunctions
|
|
280
|
+
"and", "but", "or", "nor", "so", "yet", "both", "either",
|
|
281
|
+
"neither", "not", "than", "when", "while", "if", "then",
|
|
282
|
+
"because", "since", "although", "though", "unless", "until",
|
|
283
|
+
// common verbs / auxiliaries
|
|
284
|
+
"is", "am", "are", "was", "were", "be", "been", "being",
|
|
285
|
+
"have", "has", "had", "having",
|
|
286
|
+
"do", "does", "did", "doing",
|
|
287
|
+
"will", "would", "shall", "should",
|
|
288
|
+
"can", "could", "may", "might", "must",
|
|
289
|
+
"need", "dare", "ought",
|
|
290
|
+
"get", "got", "gets", "getting",
|
|
291
|
+
"let", "say", "said", "says",
|
|
292
|
+
"go", "goes", "went", "going", "gone",
|
|
293
|
+
"come", "comes", "came", "coming",
|
|
294
|
+
"make", "makes", "made", "making",
|
|
295
|
+
"take", "takes", "took", "taken", "taking",
|
|
296
|
+
"give", "gives", "gave", "given", "giving",
|
|
297
|
+
"tell", "tells", "told", "telling",
|
|
298
|
+
"know", "knows", "knew", "known", "knowing",
|
|
299
|
+
"think", "thinks", "thought", "thinking",
|
|
300
|
+
"see", "sees", "saw", "seen", "seeing",
|
|
301
|
+
"want", "wants", "wanted", "wanting",
|
|
302
|
+
"look", "looks", "looked", "looking",
|
|
303
|
+
"use", "uses", "used", "using",
|
|
304
|
+
"find", "finds", "found", "finding",
|
|
305
|
+
"put", "puts", "putting",
|
|
306
|
+
"try", "tries", "tried", "trying",
|
|
307
|
+
"ask", "asks", "asked", "asking",
|
|
308
|
+
"work", "works", "worked", "working",
|
|
309
|
+
"seem", "seems", "seemed", "seeming",
|
|
310
|
+
"feel", "feels", "felt", "feeling",
|
|
311
|
+
"leave", "leaves", "left", "leaving",
|
|
312
|
+
"call", "calls", "called", "calling",
|
|
313
|
+
"keep", "keeps", "kept", "keeping",
|
|
314
|
+
"set", "sets", "setting",
|
|
315
|
+
"show", "shows", "showed", "shown", "showing",
|
|
316
|
+
"turn", "turns", "turned", "turning",
|
|
317
|
+
"move", "moves", "moved", "moving",
|
|
318
|
+
"play", "plays", "played", "playing",
|
|
319
|
+
"run", "runs", "ran", "running",
|
|
320
|
+
"hold", "holds", "held", "holding",
|
|
321
|
+
"bring", "brings", "brought", "bringing",
|
|
322
|
+
"happen", "happens", "happened", "happening",
|
|
323
|
+
"write", "writes", "wrote", "written", "writing",
|
|
324
|
+
"sit", "sits", "sat", "sitting",
|
|
325
|
+
"stand", "stands", "stood", "standing",
|
|
326
|
+
"lose", "loses", "lost", "losing",
|
|
327
|
+
"pay", "pays", "paid", "paying",
|
|
328
|
+
"meet", "meets", "met", "meeting",
|
|
329
|
+
"send", "sends", "sent", "sending",
|
|
330
|
+
"read", "reads", "reading",
|
|
331
|
+
"spend", "spends", "spent", "spending",
|
|
332
|
+
"grow", "grows", "grew", "grown", "growing",
|
|
333
|
+
"open", "opens", "opened", "opening",
|
|
334
|
+
"walk", "walks", "walked", "walking",
|
|
335
|
+
"win", "wins", "won", "winning",
|
|
336
|
+
"teach", "teaches", "taught", "teaching",
|
|
337
|
+
"buy", "buys", "bought", "buying",
|
|
338
|
+
"speak", "speaks", "spoke", "spoken", "speaking",
|
|
339
|
+
// adverbs / misc
|
|
340
|
+
"now", "just", "also", "very", "often", "still", "already",
|
|
341
|
+
"how", "all", "each", "every", "any", "few", "more", "most",
|
|
342
|
+
"some", "such", "no", "only", "same", "other", "new", "old",
|
|
343
|
+
"right", "well", "back", "even", "too", "here", "there",
|
|
344
|
+
"where", "why", "again", "once", "never", "always",
|
|
345
|
+
"much", "many", "own", "quite", "really",
|
|
346
|
+
"way", "thing", "things", "part", "place", "case", "point",
|
|
347
|
+
"time", "times", "day", "days", "year", "years",
|
|
348
|
+
"man", "men", "woman", "women", "child", "children",
|
|
349
|
+
"world", "life", "hand", "long", "little", "big",
|
|
350
|
+
"good", "bad", "great", "small", "large", "high", "low",
|
|
351
|
+
"first", "last", "next", "bit", "lot", "kind", "sort",
|
|
352
|
+
"enough", "able", "away", "sure", "else",
|
|
353
|
+
// contractions / fragments
|
|
354
|
+
"don", "doesn", "didn", "won", "wouldn", "shouldn",
|
|
355
|
+
"couldn", "isn", "aren", "wasn", "weren", "hasn", "haven",
|
|
356
|
+
"hadn", "ll", "ve", "re", "nt",
|
|
357
|
+
// German stopwords (common in multilingual contexts)
|
|
358
|
+
"der", "die", "das", "ein", "eine", "einer",
|
|
359
|
+
"und", "oder", "aber", "denn", "weil",
|
|
360
|
+
"ist", "sind", "war", "waren", "bin", "bist",
|
|
361
|
+
"hat", "haben", "hatte", "hatten",
|
|
362
|
+
"wird", "werden", "wurde", "wurden",
|
|
363
|
+
"kann", "konnte", "soll", "sollte", "muss", "musste",
|
|
364
|
+
"nicht", "kein", "keine", "keiner",
|
|
365
|
+
"ich", "du", "er", "sie", "es", "wir", "ihr",
|
|
366
|
+
"mein", "dein", "sein", "unser", "euer",
|
|
367
|
+
"mir", "dir", "ihm", "uns", "euch", "ihnen",
|
|
368
|
+
"auf", "aus", "bei", "mit", "nach", "von", "zu", "vor",
|
|
369
|
+
"den", "dem", "des",
|
|
370
|
+
"als", "wie", "wenn", "dann", "doch", "noch", "schon",
|
|
371
|
+
"auch", "nur", "sehr", "mehr", "jetzt", "hier", "da",
|
|
372
|
+
"mal", "bitte", "etwas", "was", "wer", "wo",
|
|
373
|
+
"ja", "nein", "okay",
|
|
374
|
+
// French stopwords
|
|
375
|
+
"le", "la", "les", "un", "une", "des",
|
|
376
|
+
"et", "ou", "mais", "donc", "car",
|
|
377
|
+
"je", "tu", "il", "elle", "nous", "vous", "ils", "elles",
|
|
378
|
+
"mon", "ton", "son", "notre", "votre", "leur",
|
|
379
|
+
"ce", "cette", "ces",
|
|
380
|
+
"est", "sont", "suis", "es", "sommes",
|
|
381
|
+
"pas", "ne", "plus", "que", "qui",
|
|
382
|
+
"dans", "sur", "sous", "avec", "pour", "par", "entre",
|
|
383
|
+
"au", "aux", "du",
|
|
384
|
+
"tout", "tous", "bien", "peu", "trop",
|
|
385
|
+
// Spanish stopwords
|
|
386
|
+
"el", "los", "las", "uno", "una", "unos", "unas",
|
|
387
|
+
"yo", "nos", "su", "sus", "mi", "mis", "tu", "tus",
|
|
388
|
+
"es", "son", "fue", "era", "hay",
|
|
389
|
+
"en", "con", "sin", "sobre", "entre", "hacia",
|
|
390
|
+
"del", "al",
|
|
391
|
+
"no", "si", "muy", "mas", "menos",
|
|
392
|
+
"que", "como", "donde", "cuando", "porque",
|
|
393
|
+
]);
|
|
256
394
|
/**
|
|
257
395
|
* Capitalizes the first letter of each word for case-insensitive NER fallback.
|
|
396
|
+
* Only capitalizes words NOT in the stopword list, so the NER model retains
|
|
397
|
+
* contrastive casing signal (lowercase function words vs. capitalized candidates).
|
|
258
398
|
* Preserves string length so character offsets remain valid.
|
|
259
399
|
*/
|
|
260
400
|
function titleCaseWords(text) {
|
|
261
|
-
return text.replace(/\b[a-z]/g, (
|
|
401
|
+
return text.replace(/\b([a-z][a-z]*)/g, (word) => {
|
|
402
|
+
if (CASE_FALLBACK_STOPWORDS.has(word)) {
|
|
403
|
+
return word;
|
|
404
|
+
}
|
|
405
|
+
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
406
|
+
});
|
|
262
407
|
}
|
|
263
408
|
/**
|
|
264
409
|
* Softmax function for probability calculation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ner-model.js","sourceRoot":"","sources":["../../src/ner/ner-model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ner-model.js","sourceRoot":"","sources":["../../src/ner/ner-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/opencode-plugin/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/opencode-plugin/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAOpE;;;GAGG;AACH,UAAU,WAAW;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE;QACH,GAAG,CAAC,KAAK,EAAE;YACT,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;gBAC3C,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACjC,CAAC;SACH,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;AAErD,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAmCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CA8O1E;;AAED,wBAAqC"}
|
|
@@ -14,7 +14,7 @@ import { createAnonymizer } from "../core/anonymizer.js";
|
|
|
14
14
|
import { AnonymizerSessionImpl } from "../storage/session-base.js";
|
|
15
15
|
import { InMemoryPIIStorageProvider } from "../storage/in-memory.js";
|
|
16
16
|
import { InMemoryKeyProvider } from "../crypto/index.js";
|
|
17
|
-
import { createDefaultPolicy } from "../types/index.js";
|
|
17
|
+
import { createDefaultPolicy, SECRET_PII_TYPES } from "../types/index.js";
|
|
18
18
|
const REHYDRA_INSTRUCTION = `<rehydra>
|
|
19
19
|
Some values in this conversation have been replaced with PII placeholders like <PII type="..." id="..."/>. These are real values that have been masked for privacy during transit. They will be automatically rehydrated (replaced with the original values) before any command is executed locally.
|
|
20
20
|
IMPORTANT: Treat these placeholders exactly like real values. Do NOT try to resolve, decode, remove, or work around them. Use them as-is in commands, code, and tool calls. The rehydration layer handles the rest.
|
|
@@ -90,23 +90,28 @@ export function createRehydraPlugin(options) {
|
|
|
90
90
|
piiStorageProvider: piiStorage,
|
|
91
91
|
});
|
|
92
92
|
await anonymizer.initialize();
|
|
93
|
-
// Build policy with disabled types
|
|
93
|
+
// Build policy with disabled types (URL and IP_ADDRESS disabled by default)
|
|
94
|
+
const disableTypes = options?.disableTypes ?? ["URL", "IP_ADDRESS"];
|
|
94
95
|
let policy = options?.policy;
|
|
95
|
-
if (
|
|
96
|
+
if (disableTypes.length > 0) {
|
|
96
97
|
const base = createDefaultPolicy();
|
|
97
|
-
const disableSet = new Set(
|
|
98
|
-
const enabledTypes = new Set(base.enabledTypes);
|
|
98
|
+
const disableSet = new Set(disableTypes);
|
|
99
99
|
const regexEnabledTypes = new Set(base.regexEnabledTypes);
|
|
100
100
|
const nerEnabledTypes = new Set(base.nerEnabledTypes);
|
|
101
|
+
// createDefaultPolicy() excludes secret types (they're opt-in via
|
|
102
|
+
// AnonymizerConfig.secrets). Add them back so that passing this
|
|
103
|
+
// partial policy to mergePolicyWithBase doesn't accidentally drop
|
|
104
|
+
// the secret types the anonymizer added to its internal default.
|
|
105
|
+
for (const secretType of SECRET_PII_TYPES) {
|
|
106
|
+
regexEnabledTypes.add(secretType);
|
|
107
|
+
}
|
|
101
108
|
for (const t of disableSet) {
|
|
102
109
|
const piiType = t;
|
|
103
|
-
enabledTypes.delete(piiType);
|
|
104
110
|
regexEnabledTypes.delete(piiType);
|
|
105
111
|
nerEnabledTypes.delete(piiType);
|
|
106
112
|
}
|
|
107
113
|
policy = {
|
|
108
114
|
...policy,
|
|
109
|
-
enabledTypes,
|
|
110
115
|
regexEnabledTypes,
|
|
111
116
|
nerEnabledTypes,
|
|
112
117
|
};
|
|
@@ -114,7 +119,7 @@ export function createRehydraPlugin(options) {
|
|
|
114
119
|
log("info", "plugin initialized", {
|
|
115
120
|
envFiles: options?.envFiles,
|
|
116
121
|
redactValueCount: options?.redactValues?.length ?? 0,
|
|
117
|
-
disableTypes
|
|
122
|
+
disableTypes,
|
|
118
123
|
});
|
|
119
124
|
const locale = options?.locale;
|
|
120
125
|
// One session per OpenCode session, keyed by sessionID
|
|
@@ -230,5 +235,5 @@ export function createRehydraPlugin(options) {
|
|
|
230
235
|
};
|
|
231
236
|
};
|
|
232
237
|
}
|
|
233
|
-
export default createRehydraPlugin;
|
|
238
|
+
export default createRehydraPlugin();
|
|
234
239
|
//# sourceMappingURL=plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/opencode-plugin/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/opencode-plugin/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export interface RehydraPluginOptions {
|
|
|
16
16
|
redactValues?: string[];
|
|
17
17
|
/** Minimum value length to consider as a secret (default: 4) */
|
|
18
18
|
minValueLength?: number;
|
|
19
|
-
/** PII types to disable (
|
|
19
|
+
/** PII types to disable (default: ["URL", "IP_ADDRESS"]). Pass [] to enable all types. */
|
|
20
20
|
disableTypes?: PIITypeName[];
|
|
21
21
|
/** Locale hint for anonymization */
|
|
22
22
|
locale?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/opencode-plugin/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,GAAG,OAAO,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/opencode-plugin/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,GAAG,OAAO,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAE7B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uBAAuB;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEtC,wFAAwF;IACxF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B"}
|