@argosvix/sdk 0.4.22-alpha.0 → 0.5.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/README.md +4 -9
- package/dist/aiSdkMiddleware.d.ts +36 -20
- package/dist/aiSdkMiddleware.d.ts.map +1 -1
- package/dist/aiSdkMiddleware.js +98 -31
- package/dist/aiSdkMiddleware.js.map +1 -1
- package/dist/approvals.d.ts +37 -29
- package/dist/approvals.d.ts.map +1 -1
- package/dist/approvals.js +24 -18
- package/dist/approvals.js.map +1 -1
- package/dist/budgetGate.d.ts +30 -24
- package/dist/budgetGate.d.ts.map +1 -1
- package/dist/budgetGate.js +118 -92
- package/dist/budgetGate.js.map +1 -1
- package/dist/client.d.ts +15 -10
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +271 -222
- package/dist/client.js.map +1 -1
- package/dist/context.d.ts +59 -48
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +72 -58
- package/dist/context.js.map +1 -1
- package/dist/flush.d.ts +6 -4
- package/dist/flush.d.ts.map +1 -1
- package/dist/flush.js +6 -4
- package/dist/flush.js.map +1 -1
- package/dist/ids.d.ts +3 -2
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +6 -5
- package/dist/ids.js.map +1 -1
- package/dist/langchainCallback.d.ts +14 -13
- package/dist/langchainCallback.d.ts.map +1 -1
- package/dist/langchainCallback.js +22 -17
- package/dist/langchainCallback.js.map +1 -1
- package/dist/policyScan.d.ts +29 -22
- package/dist/policyScan.d.ts.map +1 -1
- package/dist/policyScan.js +47 -38
- package/dist/policyScan.js.map +1 -1
- package/dist/pricing.d.ts +5 -5
- package/dist/pricing.d.ts.map +1 -1
- package/dist/pricing.js +24 -22
- package/dist/pricing.js.map +1 -1
- package/dist/prompts.d.ts +20 -17
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +21 -17
- package/dist/prompts.js.map +1 -1
- package/dist/query.d.ts +21 -21
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +14 -14
- package/dist/recorder.d.ts +39 -19
- package/dist/recorder.d.ts.map +1 -1
- package/dist/recorder.js +120 -69
- package/dist/recorder.js.map +1 -1
- package/dist/redaction.d.ts +35 -33
- package/dist/redaction.d.ts.map +1 -1
- package/dist/redaction.js +73 -64
- package/dist/redaction.js.map +1 -1
- package/dist/types.d.ts +131 -114
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +9 -9
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +9 -9
- package/dist/version.js.map +1 -1
- package/package.json +8 -2
package/dist/recorder.js
CHANGED
|
@@ -1,6 +1,32 @@
|
|
|
1
1
|
import { BudgetGate } from "./budgetGate.js";
|
|
2
2
|
import { hasAnyRedaction, mergeRedactionCounts, redactPii, redactPiiWithCounts, redactToolCall, } from "./redaction.js";
|
|
3
3
|
import { SDK_VERSION } from "./version.js";
|
|
4
|
+
/**
|
|
5
|
+
* Plaintext body limit for backend ingest (same value as
|
|
6
|
+
* MAX_PLAINTEXT_BODY_BYTES = 64 * 1024 in the backend's ingest handler). The
|
|
7
|
+
* backend checks `promptBody.length` (UTF-16 code unit count), so the SDK
|
|
8
|
+
* counts in the same unit (not UTF-8 bytes — the name says BYTES but the
|
|
9
|
+
* actual check is in code units).
|
|
10
|
+
*/
|
|
11
|
+
export const INGEST_MAX_BODY_UNITS = 64 * 1024;
|
|
12
|
+
/** Marker in the same format as the streaming capture (client.ts STREAM_TRUNCATED_MARKER). */
|
|
13
|
+
export const BODY_TRUNCATED_MARKER = "…[truncated]";
|
|
14
|
+
/**
|
|
15
|
+
* Truncate a body before sending. The backend rejects an over-limit record
|
|
16
|
+
* wholesale, so records with 64KB-256KB bodies used to disappear silently.
|
|
17
|
+
* Fit within the limit including the marker, and never split a surrogate pair
|
|
18
|
+
* at the cut point (do not send a broken lone surrogate).
|
|
19
|
+
*/
|
|
20
|
+
export function truncateBodyForIngest(text) {
|
|
21
|
+
if (text.length <= INGEST_MAX_BODY_UNITS)
|
|
22
|
+
return text;
|
|
23
|
+
let end = INGEST_MAX_BODY_UNITS - BODY_TRUNCATED_MARKER.length;
|
|
24
|
+
const code = text.charCodeAt(end - 1);
|
|
25
|
+
// If the char just before the cut point is a high surrogate, we are mid-pair — cut one unit earlier.
|
|
26
|
+
if (code >= 0xd800 && code <= 0xdbff)
|
|
27
|
+
end -= 1;
|
|
28
|
+
return text.slice(0, end) + BODY_TRUNCATED_MARKER;
|
|
29
|
+
}
|
|
4
30
|
/**
|
|
5
31
|
* Per-wrap() instance-based recorder.
|
|
6
32
|
* Avoids module-level global state to keep test isolation clean and to let
|
|
@@ -11,8 +37,8 @@ import { SDK_VERSION } from "./version.js";
|
|
|
11
37
|
*/
|
|
12
38
|
export class Recorder {
|
|
13
39
|
buffer = [];
|
|
14
|
-
//
|
|
15
|
-
//
|
|
40
|
+
// Parallel buffer for observations (non-LLM nodes emitted by withSpan). Sent
|
|
41
|
+
// alongside records through the same flush path, as observations[] in the ingest body.
|
|
16
42
|
obsBuffer = [];
|
|
17
43
|
config;
|
|
18
44
|
/**
|
|
@@ -23,15 +49,16 @@ export class Recorder {
|
|
|
23
49
|
*/
|
|
24
50
|
inFlightFlush = null;
|
|
25
51
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
52
|
+
* One-shot timer for periodic flushes (armed only when the buffer goes from
|
|
53
|
+
* empty to non-empty). A permanent setInterval is avoided because it blocks
|
|
54
|
+
* GC and a forgotten unref keeps the Node process alive. Cleared when a
|
|
55
|
+
* flush starts. On short-lived host runtimes (Workers/Edge) timer delivery
|
|
56
|
+
* is not guaranteed, so an explicit flushClient() remains required, as documented.
|
|
30
57
|
*/
|
|
31
58
|
idleFlushTimer = null;
|
|
32
59
|
/**
|
|
33
|
-
* Runtime
|
|
34
|
-
*
|
|
60
|
+
* Runtime budget gate (active only when config.budgetGate is opted in;
|
|
61
|
+
* otherwise a complete no-op). The wrapper awaits check() before each LLM call.
|
|
35
62
|
*/
|
|
36
63
|
budgetGate;
|
|
37
64
|
constructor(config = {}) {
|
|
@@ -39,8 +66,9 @@ export class Recorder {
|
|
|
39
66
|
this.budgetGate = new BudgetGate(config);
|
|
40
67
|
}
|
|
41
68
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
69
|
+
* While records sit in the buffer, schedule exactly one flush after
|
|
70
|
+
* flushIntervalMs. Does nothing if already scheduled, disabled, without an
|
|
71
|
+
* apiKey, or with an interval of 0.
|
|
44
72
|
*/
|
|
45
73
|
scheduleIdleFlush() {
|
|
46
74
|
if (this.idleFlushTimer != null)
|
|
@@ -57,37 +85,38 @@ export class Recorder {
|
|
|
57
85
|
void this.flush();
|
|
58
86
|
}
|
|
59
87
|
}, intervalMs);
|
|
60
|
-
// Node:
|
|
88
|
+
// Node: don't keep the process alive just for this timer. Workers/Edge have no unref.
|
|
61
89
|
timer.unref?.();
|
|
62
90
|
this.idleFlushTimer = timer;
|
|
63
91
|
}
|
|
64
92
|
catch {
|
|
65
|
-
// setTimeout
|
|
93
|
+
// Environments without setTimeout don't support periodic flush — they rely on an explicit flushClient().
|
|
66
94
|
}
|
|
67
95
|
}
|
|
68
|
-
/**
|
|
96
|
+
/** ObservationSink: whether this recorder can send observations (not when disabled or without an apiKey). */
|
|
69
97
|
get observationsEnabled() {
|
|
70
98
|
return !this.config.disabled && !!this.config.apiKey;
|
|
71
99
|
}
|
|
72
|
-
/**
|
|
100
|
+
/** ObservationSink: routing key (the api_key) used to prevent cross-account sends. */
|
|
73
101
|
get observationsRoutingKey() {
|
|
74
102
|
return this.config.apiKey;
|
|
75
103
|
}
|
|
76
104
|
record(record) {
|
|
77
105
|
if (this.config.disabled)
|
|
78
106
|
return;
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
//
|
|
107
|
+
// Observation is best-effort: never leak a synchronous throw from the
|
|
108
|
+
// recording path into the host app. In particular, when called from a
|
|
109
|
+
// stream wrapper's finally block, a throw here would propagate through the
|
|
110
|
+
// generator's .return() into the customer's break/abandon path, violating
|
|
111
|
+
// the public promise that recording never breaks the customer's app.
|
|
83
112
|
try {
|
|
84
|
-
// TTL
|
|
113
|
+
// Local spend adjustment within the TTL cache window (only added when budgetGate is opted in).
|
|
85
114
|
this.budgetGate.noteSpend(record.costUsd);
|
|
86
|
-
//
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
//
|
|
115
|
+
// SDK-side opt-in for the Pro+ plaintext storage feature. When
|
|
116
|
+
// captureContent is false (the default), the recorder reliably strips
|
|
117
|
+
// plaintext even if a wrapper mistakenly attached it (a second safety
|
|
118
|
+
// net against wrapper bugs). When captureContent is true, PII is
|
|
119
|
+
// automatically masked unless disablePiiRedaction is explicitly true.
|
|
91
120
|
const sanitized = this.sanitizeContent(record);
|
|
92
121
|
this.buffer.push(sanitized);
|
|
93
122
|
// Guard `process` access — some edge runtimes (Cloudflare Workers in
|
|
@@ -97,15 +126,16 @@ export class Recorder {
|
|
|
97
126
|
if (typeof process !== "undefined" &&
|
|
98
127
|
process.env != null &&
|
|
99
128
|
process.env["ARGOSVIX_DEBUG"] === "1") {
|
|
100
|
-
// sanitized(
|
|
101
|
-
// redaction
|
|
102
|
-
// disablePiiRedaction=true
|
|
129
|
+
// Log the sanitized payload (what is actually sent). Logging the raw
|
|
130
|
+
// record would leak pre-redaction PII / plaintext into the customer's
|
|
131
|
+
// logging infrastructure. With disablePiiRedaction=true the sanitized
|
|
132
|
+
// payload is also raw — that is the customer's explicit choice.
|
|
103
133
|
try {
|
|
104
134
|
// eslint-disable-next-line no-console
|
|
105
135
|
console.log("[argosvix]", JSON.stringify(sanitized));
|
|
106
136
|
}
|
|
107
137
|
catch {
|
|
108
|
-
//
|
|
138
|
+
// Even if stringify throws (circular references etc.), never break the host for the sake of a debug log.
|
|
109
139
|
}
|
|
110
140
|
}
|
|
111
141
|
const maxSize = this.config.bufferMaxSize ?? 100;
|
|
@@ -113,18 +143,20 @@ export class Recorder {
|
|
|
113
143
|
void this.flush();
|
|
114
144
|
}
|
|
115
145
|
else {
|
|
116
|
-
//
|
|
117
|
-
//
|
|
146
|
+
// Schedule a periodic flush when the buffer goes from empty to non-empty
|
|
147
|
+
// (prevents silent loss on low-traffic, long-lived Node processes where
|
|
148
|
+
// records never reach bufferMaxSize and vanish at shutdown).
|
|
118
149
|
this.scheduleIdleFlush();
|
|
119
150
|
}
|
|
120
151
|
}
|
|
121
152
|
catch {
|
|
122
|
-
//
|
|
153
|
+
// Observation must not break the host app. Swallow exceptions from the recording path.
|
|
123
154
|
}
|
|
124
155
|
}
|
|
125
|
-
/**
|
|
126
|
-
* error
|
|
127
|
-
*
|
|
156
|
+
/** Buffer an observation (a typed node emitted by withSpan).
|
|
157
|
+
* The error field is auto-collected from exception messages and can contain
|
|
158
|
+
* prompt fragments / PII / secrets, so like records it goes through
|
|
159
|
+
* redaction (opt-out possible) plus a length cap before sending. */
|
|
128
160
|
recordObservation(obs) {
|
|
129
161
|
if (this.config.disabled)
|
|
130
162
|
return;
|
|
@@ -140,7 +172,7 @@ export class Recorder {
|
|
|
140
172
|
void this.flush();
|
|
141
173
|
}
|
|
142
174
|
else {
|
|
143
|
-
// record()
|
|
175
|
+
// As in record(), schedule a periodic flush so even low-traffic buffers are sent within a bounded time.
|
|
144
176
|
this.scheduleIdleFlush();
|
|
145
177
|
}
|
|
146
178
|
}
|
|
@@ -157,7 +189,7 @@ export class Recorder {
|
|
|
157
189
|
* both await the same promise instead of racing.
|
|
158
190
|
*/
|
|
159
191
|
async flush() {
|
|
160
|
-
//
|
|
192
|
+
// Cancel any scheduled idle flush timer (this flush sweeps the buffer, so a second firing is unnecessary).
|
|
161
193
|
if (this.idleFlushTimer != null) {
|
|
162
194
|
clearTimeout(this.idleFlushTimer);
|
|
163
195
|
this.idleFlushTimer = null;
|
|
@@ -193,9 +225,9 @@ export class Recorder {
|
|
|
193
225
|
}
|
|
194
226
|
const endpoint = this.config.endpoint ?? "https://ingest.argosvix.com/v1/ingest";
|
|
195
227
|
const attempts = this.config.flushRetryAttempts ?? 2;
|
|
196
|
-
//
|
|
197
|
-
//
|
|
198
|
-
//
|
|
228
|
+
// Send X-Project-Id as an ingest header: when config.projectId is set the
|
|
229
|
+
// backend associates the records with that project; when unset the backend
|
|
230
|
+
// falls back to the account's default project.
|
|
199
231
|
const headers = {
|
|
200
232
|
"Content-Type": "application/json",
|
|
201
233
|
Authorization: `Bearer ${this.config.apiKey}`,
|
|
@@ -208,7 +240,7 @@ export class Recorder {
|
|
|
208
240
|
const res = await fetch(endpoint, {
|
|
209
241
|
method: "POST",
|
|
210
242
|
headers,
|
|
211
|
-
//
|
|
243
|
+
// If there are observations, send them in the same POST (when empty, send records only, as before).
|
|
212
244
|
body: JSON.stringify(observations.length > 0 ? { records, observations } : { records }),
|
|
213
245
|
});
|
|
214
246
|
if (res.ok) {
|
|
@@ -229,8 +261,9 @@ export class Recorder {
|
|
|
229
261
|
await new Promise((r) => setTimeout(r, 200 * (i + 1)));
|
|
230
262
|
continue;
|
|
231
263
|
}
|
|
232
|
-
// 429 =
|
|
233
|
-
//
|
|
264
|
+
// 429 = monthly quota reached. Because sends are fire-and-forget the app
|
|
265
|
+
// never sees this, and recording would silently stop at end of month —
|
|
266
|
+
// so warn explicitly, once (added 2026-07-03).
|
|
234
267
|
if (res.status === 429) {
|
|
235
268
|
warnQuotaExceededOnce();
|
|
236
269
|
return records;
|
|
@@ -252,20 +285,21 @@ export class Recorder {
|
|
|
252
285
|
return records;
|
|
253
286
|
}
|
|
254
287
|
/**
|
|
255
|
-
*
|
|
256
|
-
*
|
|
288
|
+
* Process the record's plaintext fields (promptBody / completionBody /
|
|
289
|
+
* toolCalls) according to the captureContent / disablePiiRedaction combination:
|
|
257
290
|
*
|
|
258
|
-
* captureContent = false (default) →
|
|
259
|
-
* captureContent = true, disablePiiRedaction = false (default) → redaction
|
|
260
|
-
* captureContent = true, disablePiiRedaction = true →
|
|
291
|
+
* captureContent = false (default) → remove all plaintext fields
|
|
292
|
+
* captureContent = true, disablePiiRedaction = false (default) → apply redaction
|
|
293
|
+
* captureContent = true, disablePiiRedaction = true → pass through unmodified
|
|
261
294
|
*/
|
|
262
295
|
sanitizeContent(record) {
|
|
263
296
|
const capture = this.config.captureContent === true;
|
|
264
297
|
const disableRedaction = this.config.disablePiiRedaction === true;
|
|
265
|
-
//
|
|
266
|
-
//
|
|
267
|
-
//
|
|
268
|
-
//
|
|
298
|
+
// The error field is metadata that is always sent to the backend regardless
|
|
299
|
+
// of captureContent, and provider error messages can contain prompt
|
|
300
|
+
// fragments / PII / secrets. So as long as redaction is enabled, redact the
|
|
301
|
+
// error even with captureContent OFF (a previous implementation only
|
|
302
|
+
// processed promptBody/completionBody/toolCalls and let error pass through untouched).
|
|
269
303
|
const redactedError = !disableRedaction && typeof record.error === "string"
|
|
270
304
|
? redactPii(record.error)
|
|
271
305
|
: undefined;
|
|
@@ -285,25 +319,41 @@ export class Recorder {
|
|
|
285
319
|
return stripped;
|
|
286
320
|
}
|
|
287
321
|
if (disableRedaction) {
|
|
288
|
-
//
|
|
289
|
-
//
|
|
290
|
-
|
|
322
|
+
// Capture ON + redaction OFF = pass through unmodified (the user explicitly
|
|
323
|
+
// opted out). The error field stays raw under the same policy. However,
|
|
324
|
+
// exceeding the backend's 64KB limit rejects the whole record (silent
|
|
325
|
+
// loss), so body truncation is still applied even with redaction OFF.
|
|
326
|
+
const p = record.promptBody !== undefined
|
|
327
|
+
? truncateBodyForIngest(record.promptBody)
|
|
328
|
+
: undefined;
|
|
329
|
+
const c = record.completionBody !== undefined
|
|
330
|
+
? truncateBodyForIngest(record.completionBody)
|
|
331
|
+
: undefined;
|
|
332
|
+
if (p === record.promptBody && c === record.completionBody)
|
|
333
|
+
return record;
|
|
334
|
+
const untouched = { ...record };
|
|
335
|
+
if (p !== undefined)
|
|
336
|
+
untouched.promptBody = p;
|
|
337
|
+
if (c !== undefined)
|
|
338
|
+
untouched.completionBody = c;
|
|
339
|
+
return untouched;
|
|
291
340
|
}
|
|
292
341
|
const out = { ...record };
|
|
293
342
|
if (redactedError !== undefined)
|
|
294
343
|
out.error = redactedError;
|
|
295
|
-
//
|
|
296
|
-
// piiRedacted + redactionMetadata
|
|
297
|
-
//
|
|
344
|
+
// Aggregate each field's redaction result and counts, and attach
|
|
345
|
+
// piiRedacted + redactionMetadata to the record. This feeds the backend's
|
|
346
|
+
// llm_calls.pii_redacted and redaction_metadata columns.
|
|
298
347
|
let totalCounts = {};
|
|
299
348
|
if (record.promptBody !== undefined) {
|
|
300
349
|
const r = redactPiiWithCounts(record.promptBody);
|
|
301
|
-
|
|
350
|
+
// Truncate after redaction (replacement changes the length, so judge by the final sent length).
|
|
351
|
+
out.promptBody = truncateBodyForIngest(r.text);
|
|
302
352
|
totalCounts = mergeRedactionCounts(totalCounts, r.counts);
|
|
303
353
|
}
|
|
304
354
|
if (record.completionBody !== undefined) {
|
|
305
355
|
const r = redactPiiWithCounts(record.completionBody);
|
|
306
|
-
out.completionBody = r.text;
|
|
356
|
+
out.completionBody = truncateBodyForIngest(r.text);
|
|
307
357
|
totalCounts = mergeRedactionCounts(totalCounts, r.counts);
|
|
308
358
|
}
|
|
309
359
|
if (record.toolCalls !== undefined) {
|
|
@@ -322,17 +372,18 @@ export class Recorder {
|
|
|
322
372
|
}
|
|
323
373
|
if (hasAnyRedaction(totalCounts)) {
|
|
324
374
|
out.piiRedacted = true;
|
|
325
|
-
//
|
|
326
|
-
//
|
|
327
|
-
//
|
|
328
|
-
//
|
|
329
|
-
//
|
|
375
|
+
// Embed the SDK version in the redactor identifier so the dashboard and
|
|
376
|
+
// backend can audit which SDK version performed the redaction (e.g. to
|
|
377
|
+
// trace cases where an older SDK missed patterns introduced after its
|
|
378
|
+
// release, such as new gTLDs). From a data-minimization standpoint the
|
|
379
|
+
// SDK version is not PII, so this is unproblematic.
|
|
330
380
|
out.redactionMetadata = { ...totalCounts, redactor: `argosvix-sdk@${SDK_VERSION}` };
|
|
331
381
|
}
|
|
332
382
|
else {
|
|
333
|
-
//
|
|
334
|
-
// piiRedacted = false
|
|
335
|
-
//
|
|
383
|
+
// To let the backend distinguish "redaction ran but found nothing", we
|
|
384
|
+
// could set piiRedacted = false here. For compatibility with existing
|
|
385
|
+
// records we leave it unset (undefined), which the backend interprets as
|
|
386
|
+
// a null fallback.
|
|
336
387
|
}
|
|
337
388
|
return out;
|
|
338
389
|
}
|
|
@@ -348,7 +399,7 @@ export class Recorder {
|
|
|
348
399
|
this.inFlightFlush = null;
|
|
349
400
|
}
|
|
350
401
|
}
|
|
351
|
-
// 429(
|
|
402
|
+
// Warn-once for 429 (monthly quota reached). Repeating on every flush would pollute logs, so once per process.
|
|
352
403
|
let quotaWarned = false;
|
|
353
404
|
function warnQuotaExceededOnce() {
|
|
354
405
|
if (quotaWarned)
|
|
@@ -358,7 +409,7 @@ function warnQuotaExceededOnce() {
|
|
|
358
409
|
console.warn("[argosvix] monthly quota exceeded — new records are being rejected until the next billing month. " +
|
|
359
410
|
"Check usage at https://dashboard.argosvix.com/settings/billing");
|
|
360
411
|
}
|
|
361
|
-
/**
|
|
412
|
+
/** Test-only: resets the warn-once flag. */
|
|
362
413
|
export function _resetQuotaWarn() {
|
|
363
414
|
quotaWarned = false;
|
|
364
415
|
}
|
package/dist/recorder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"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"}
|
package/dist/redaction.d.ts
CHANGED
|
@@ -1,58 +1,60 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Plaintext PII redaction for the captureContent opt-in path.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Helper that automatically masks email addresses / credit card numbers /
|
|
5
|
+
* phone numbers / Japanese My Number / IP addresses before prompt and
|
|
6
|
+
* completion bodies are sent verbatim under the Pro+ plaintext storage
|
|
7
|
+
* feature's SDK-side opt-in.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
14
|
-
* -
|
|
15
|
-
*
|
|
9
|
+
* Design policy:
|
|
10
|
+
* - False-positive tolerant, false negatives strictly avoided (over-masking
|
|
11
|
+
* is OK; missing PII is not). This function always runs unless the user
|
|
12
|
+
* explicitly disables it with disablePiiRedaction:true.
|
|
13
|
+
* - Pure function with no side effects. Same input always yields same output.
|
|
14
|
+
* - An empty string or null / undefined input is returned as-is.
|
|
15
|
+
* - Non-string input (objects etc.) is stringified with String() before
|
|
16
|
+
* replacement; the original type is not preserved — a string is returned.
|
|
16
17
|
*
|
|
17
|
-
*
|
|
18
|
-
* -
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
18
|
+
* Known limitations:
|
|
19
|
+
* - International phone number formats are too diverse to cover fully.
|
|
20
|
+
* Conservative patterns focus on the major Japanese forms
|
|
21
|
+
* (+81-XX-XXXX-XXXX / 090-XXXX-XXXX etc.) and the North American
|
|
22
|
+
* (123) 456-7890 form.
|
|
23
|
+
* - Credit card numbers are not Luhn-checked (false-positive tolerant).
|
|
24
|
+
* Any run of 13-19 digits (including space and hyphen separators) is
|
|
25
|
+
* replaced uniformly.
|
|
26
|
+
* - My Number is 12 digits. Where it collides with the credit card pattern,
|
|
27
|
+
* the 12-digit run may match the CC pattern first — either way both get
|
|
28
|
+
* replaced, so there is no PII-leak risk (only the masking category may
|
|
29
|
+
* be inaccurate).
|
|
27
30
|
*/
|
|
28
31
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* { [type]: count } shape で 入る。
|
|
32
|
+
* Redaction type tag: the category recorded in redaction_metadata. Stored in
|
|
33
|
+
* the backend's redaction_metadata JSON in the shape { [type]: count }.
|
|
32
34
|
*/
|
|
33
35
|
export type RedactionType = "email" | "creditCard" | "myNumber" | "phone" | "ipv4" | "ipv6";
|
|
34
36
|
export type RedactionCounts = Partial<Record<RedactionType, number>>;
|
|
35
37
|
export declare function redactPii(input: string | null | undefined): string;
|
|
36
38
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* SDK
|
|
39
|
+
* Perform the same redaction while simultaneously counting how many
|
|
40
|
+
* replacements occurred per type. Feeds the backend redaction_metadata JSON
|
|
41
|
+
* and the SDK-side "did this contain PII" decision (the piiRedacted boolean).
|
|
40
42
|
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
+
* Counts are taken via match, then the replacement is applied. The regexes use
|
|
44
|
+
* the g flag, so running them twice has no side effects.
|
|
43
45
|
*/
|
|
44
46
|
export declare function redactPiiWithCounts(input: string | null | undefined): {
|
|
45
47
|
text: string;
|
|
46
48
|
counts: RedactionCounts;
|
|
47
49
|
};
|
|
48
50
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
+
* Helper that sums the counts from multiple redaction results (prompt /
|
|
52
|
+
* completion / each tool call).
|
|
51
53
|
*/
|
|
52
54
|
export declare function mergeRedactionCounts(base: RedactionCounts, addition: RedactionCounts): RedactionCounts;
|
|
53
55
|
/**
|
|
54
|
-
*
|
|
55
|
-
* piiRedacted boolean field
|
|
56
|
+
* Whether the counts object contains at least one redaction.
|
|
57
|
+
* The basis for the piiRedacted boolean field.
|
|
56
58
|
*/
|
|
57
59
|
export declare function hasAnyRedaction(counts: RedactionCounts): boolean;
|
|
58
60
|
/**
|
package/dist/redaction.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAuEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,YAAY,GACZ,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAsBrE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAYlE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAa3C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,eAAe,GACxB,eAAe,CAMjB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAKhE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAWxD"}
|