@argosvix/sdk 0.2.0 → 0.3.0-alpha.2
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 +73 -0
- package/README.md +102 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +265 -6
- package/dist/client.js.map +1 -1
- package/dist/recorder.d.ts +9 -0
- package/dist/recorder.d.ts.map +1 -1
- package/dist/recorder.js +49 -1
- package/dist/recorder.js.map +1 -1
- package/dist/redaction.d.ts +48 -0
- package/dist/redaction.d.ts.map +1 -0
- package/dist/redaction.js +111 -0
- package/dist/redaction.js.map +1 -0
- package/dist/types.d.ts +44 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,79 @@ All notable changes to `@argosvix/sdk` are documented in this file.
|
|
|
4
4
|
The format is loosely based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
5
5
|
and the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.3.0-alpha.2] - 2026-06-02
|
|
8
|
+
|
|
9
|
+
Pre-release extending Pro+ plaintext capture to **OpenAI Responses API**.
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- `wrapOpenAIResponses`: when `captureContent: true`, the SDK now extracts
|
|
13
|
+
`promptBody`, `completionBody`, and `toolCalls` from the OpenAI Responses
|
|
14
|
+
API response (non-stream success path). `input` is captured as-is when it
|
|
15
|
+
is a string, or JSON-stringified when it is an array (multi-modal /
|
|
16
|
+
structured input). `completionBody` prefers `response.output_text` when
|
|
17
|
+
present, falling back to joining every `output_text` item inside
|
|
18
|
+
`response.output[].content[]`. Tool calls are extracted from
|
|
19
|
+
`output[]` items of `type === "function_call"`.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- The one-time `console.warn` for unsupported providers no longer mentions
|
|
23
|
+
"openai (Responses API)" — that path is now first-class.
|
|
24
|
+
|
|
25
|
+
### Provider coverage in this release
|
|
26
|
+
- **New:** OpenAI Responses (non-stream success path): prompt body,
|
|
27
|
+
completion body, tool calls.
|
|
28
|
+
- Unchanged: OpenAI Chat Completions, Anthropic Messages.
|
|
29
|
+
- Still pending: Mistral, Gemini (Legacy / New), all streaming paths.
|
|
30
|
+
|
|
31
|
+
## [0.3.0-alpha.1] - 2026-06-01
|
|
32
|
+
|
|
33
|
+
Pre-release adding the **Pro+ plaintext content capture** feature. The SDK can
|
|
34
|
+
optionally send prompt and completion bodies in addition to metadata when the
|
|
35
|
+
user explicitly opts in via dashboard consent. The Argosvix backend is now
|
|
36
|
+
deployed with the storage feature enabled (`PLAINTEXT_STORAGE_ENABLED = true`
|
|
37
|
+
+ `PLAINTEXT_MASTER_KEY` secret seeded), so accounts that pass the dashboard
|
|
38
|
+
ConsentModal will have their captured bodies encrypted with AES-256-GCM and
|
|
39
|
+
stored in D1. The decrypt API (`GET /v1/calls/:id/plaintext`) and the
|
|
40
|
+
dashboard "Pro+ plaintext content" panel are also live, and every read
|
|
41
|
+
creates an entry in `plaintext_access_log` for auditing.
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
- `ArgosvixConfig.captureContent` (default `false`). When set to `true`, the
|
|
45
|
+
SDK extracts prompt / completion text from supported providers and forwards
|
|
46
|
+
them on the ingest payload. Without this flag, no plaintext is ever sent.
|
|
47
|
+
- `ArgosvixConfig.disablePiiRedaction` (default `false`). When `captureContent`
|
|
48
|
+
is `true`, the SDK runs a built-in PII redaction pass (email, credit card,
|
|
49
|
+
phone, マイナンバー, IPv4, IPv6) over the captured bodies before send.
|
|
50
|
+
Setting this flag disables the filter at the user's own risk.
|
|
51
|
+
- `LlmCallRecord.promptBody`, `completionBody`, and `toolCalls` fields populated
|
|
52
|
+
only when `captureContent` is `true`.
|
|
53
|
+
- New `redaction.ts` module with `redactPii()` and `redactToolCall()` helpers.
|
|
54
|
+
- Double safety net inside `Recorder.record()`: even if a wrapper accidentally
|
|
55
|
+
attaches `promptBody` while `captureContent` is `false`, the recorder strips
|
|
56
|
+
the field before buffering. This makes wrapper bugs non-leaky.
|
|
57
|
+
|
|
58
|
+
### Provider coverage in this release
|
|
59
|
+
- OpenAI Chat Completions (non-stream success path): prompt body, completion
|
|
60
|
+
body, and tool calls captured.
|
|
61
|
+
- Anthropic Messages (non-stream success path): prompt body and completion body
|
|
62
|
+
captured (tool calls in a follow-up).
|
|
63
|
+
- OpenAI Responses, Mistral, Gemini (Legacy and New): metadata still recorded,
|
|
64
|
+
but `promptBody` / `completionBody` are omitted. A one-time `console.warn`
|
|
65
|
+
fires when `captureContent` is enabled to make this visible.
|
|
66
|
+
- All streaming paths across every provider: same as above. Coverage will
|
|
67
|
+
expand in `0.3.0-alpha.2+`.
|
|
68
|
+
|
|
69
|
+
### Notes
|
|
70
|
+
- This is an `alpha` pre-release published under the `alpha` dist-tag. `npm
|
|
71
|
+
install @argosvix/sdk@alpha` to opt in. The `latest` dist-tag remains on
|
|
72
|
+
0.2.0 (metadata-only) until the Pro+ feature graduates to a stable release.
|
|
73
|
+
- The dashboard ConsentModal (2-page consent dialog with 5 checkboxes), the
|
|
74
|
+
per-account opt-in toggle, the legal documents (v2.1 with the new Article
|
|
75
|
+
4-2 governing plaintext storage), and the decrypt + display path in the
|
|
76
|
+
call detail screen are all live in production as of this release.
|
|
77
|
+
- Existing users who do not set `captureContent` are unaffected. The default
|
|
78
|
+
behavior — metadata-only ingest — is byte-identical to 0.2.0.
|
|
79
|
+
|
|
7
80
|
## [0.1.2] - 2026-05-22
|
|
8
81
|
|
|
9
82
|
Documentation-only release that aligns the npm README with global SaaS norms.
|
package/README.md
CHANGED
|
@@ -140,6 +140,108 @@ The [`examples/`](../../examples/) directory contains minimum-viable integration
|
|
|
140
140
|
- [`examples/lambda-gemini/`](../../examples/lambda-gemini/) — AWS Lambda with `@google/genai` (note: container-reuse semantics).
|
|
141
141
|
- [`examples/workers-anthropic/`](../../examples/workers-anthropic/) — Cloudflare Workers with the `flushClient` pattern.
|
|
142
142
|
|
|
143
|
+
## Alert webhooks
|
|
144
|
+
|
|
145
|
+
Argosvix can deliver alert notifications to any HTTPS endpoint of your choice (in addition to email and Slack). Configure a webhook channel from <https://dashboard.argosvix.com/en/alerts>; this section documents the public contract so you can implement a receiver.
|
|
146
|
+
|
|
147
|
+
### Delivery
|
|
148
|
+
|
|
149
|
+
- Method: `POST`
|
|
150
|
+
- Content-Type: `application/json`
|
|
151
|
+
- Timeout: 5 seconds (no retry — the next evaluator cycle will re-fire if the condition still holds)
|
|
152
|
+
- Redirects: disabled (`fetch redirect: "error"`)
|
|
153
|
+
- URL constraints: HTTPS only; private / loopback / link-local / cloud-metadata IPs and URLs with credentials are rejected at registration time
|
|
154
|
+
|
|
155
|
+
### Headers
|
|
156
|
+
|
|
157
|
+
| Header | Value |
|
|
158
|
+
|---|---|
|
|
159
|
+
| `User-Agent` | `Argosvix-Webhook/1.0` |
|
|
160
|
+
| `X-Argosvix-Event` | `alert.triggered` (only event type for now) |
|
|
161
|
+
| `X-Argosvix-Signature` | `sha256=<hex>` — present only when a signing secret is configured |
|
|
162
|
+
| `X-Argosvix-Timestamp` | ISO-8601 UTC — present only when a signing secret is configured |
|
|
163
|
+
|
|
164
|
+
### Payload
|
|
165
|
+
|
|
166
|
+
```jsonc
|
|
167
|
+
{
|
|
168
|
+
"alertId": "01HXZ...",
|
|
169
|
+
"name": "monthly cost > $50",
|
|
170
|
+
"alertType": "monthly_budget", // cost_threshold | error_rate | latency_degradation | monthly_budget
|
|
171
|
+
"thresholdValue": 50,
|
|
172
|
+
"observedValue": 64.20,
|
|
173
|
+
"windowMinutes": 60,
|
|
174
|
+
"windowDescription": "60 min",
|
|
175
|
+
"filterProvider": "openai", // or null
|
|
176
|
+
"filterModel": null, // or string
|
|
177
|
+
"comparison": "exceeded threshold",
|
|
178
|
+
"triggeredAt": "2026-05-25T10:23:45.678Z",
|
|
179
|
+
"dashboardUrl": "https://dashboard.argosvix.com/en/alerts?alertId=01HXZ..."
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
`thresholdValue` and `observedValue` units are USD for cost alerts, percent for `error_rate`, and milliseconds for `latency_degradation`. Schema is stable: new fields may be added (additive only); existing fields keep their names and semantics.
|
|
184
|
+
|
|
185
|
+
### Verifying the signature
|
|
186
|
+
|
|
187
|
+
When a signing secret is configured, the signature header is computed as:
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
X-Argosvix-Signature = "sha256=" + hex(HMAC_SHA256(secret, X-Argosvix-Timestamp + "." + body))
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Reject any request whose signature does not match (and optionally drop requests with a timestamp older than your replay window).
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
// Node 18+ — verifyArgosvixSignature.ts
|
|
197
|
+
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
198
|
+
|
|
199
|
+
export function verifyArgosvixSignature(
|
|
200
|
+
secret: string,
|
|
201
|
+
body: string, // raw request body string
|
|
202
|
+
signatureHeader: string, // "sha256=<hex>"
|
|
203
|
+
timestampHeader: string, // ISO-8601 string
|
|
204
|
+
maxAgeMs = 5 * 60 * 1000,
|
|
205
|
+
): boolean {
|
|
206
|
+
const ts = Date.parse(timestampHeader);
|
|
207
|
+
if (Number.isNaN(ts) || Math.abs(Date.now() - ts) > maxAgeMs) return false;
|
|
208
|
+
|
|
209
|
+
const expected = "sha256=" +
|
|
210
|
+
createHmac("sha256", secret).update(`${timestampHeader}.${body}`).digest("hex");
|
|
211
|
+
const a = Buffer.from(signatureHeader, "utf8");
|
|
212
|
+
const b = Buffer.from(expected, "utf8");
|
|
213
|
+
return a.length === b.length && timingSafeEqual(a, b);
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
```python
|
|
218
|
+
# Python 3 — verify_argosvix_signature.py
|
|
219
|
+
import hashlib, hmac, time
|
|
220
|
+
from datetime import datetime, timezone
|
|
221
|
+
|
|
222
|
+
def verify_argosvix_signature(secret: str, body: str,
|
|
223
|
+
signature_header: str, timestamp_header: str,
|
|
224
|
+
max_age_seconds: int = 300) -> bool:
|
|
225
|
+
try:
|
|
226
|
+
ts = datetime.fromisoformat(timestamp_header.replace("Z", "+00:00"))
|
|
227
|
+
except ValueError:
|
|
228
|
+
return False
|
|
229
|
+
if abs(time.time() - ts.timestamp()) > max_age_seconds:
|
|
230
|
+
return False
|
|
231
|
+
expected = "sha256=" + hmac.new(
|
|
232
|
+
secret.encode(), f"{timestamp_header}.{body}".encode(), hashlib.sha256
|
|
233
|
+
).hexdigest()
|
|
234
|
+
return hmac.compare_digest(signature_header, expected)
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Tag-key conventions
|
|
238
|
+
|
|
239
|
+
Tag keys used in queries (`channelTargets.webhook.url` request paths, dashboard filters, etc.) must match `^[A-Za-z0-9_](?:[A-Za-z0-9_-]{0,62}[A-Za-z0-9_])?$` — alphanumeric plus `_` `-`, no leading/trailing hyphen, 1–64 characters. Sticking to this in the SDK `tags: { ... }` map keeps every downstream filter / aggregation usable.
|
|
240
|
+
|
|
241
|
+
### Residual SSRF risk (DNS rebinding)
|
|
242
|
+
|
|
243
|
+
Hostname validation happens at registration and at delivery time, but Cloudflare Workers does not expose connect-level IP control, so an attacker-controlled DNS that flips a public name to an RFC1918 / metadata IP between checks can still bypass the policy. Treat webhook receivers as part of your trust boundary; do not host them inside private networks that your perimeter would otherwise protect.
|
|
244
|
+
|
|
143
245
|
## API
|
|
144
246
|
|
|
145
247
|
### `wrap<T>(client: T, config?: ArgosvixConfig): T`
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAE,cAAmB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAE,cAAmB,GAAG,CAAC,CA2ChF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE3D"}
|
package/dist/client.js
CHANGED
|
@@ -56,6 +56,18 @@ export function wrap(client, config = {}) {
|
|
|
56
56
|
break;
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
+
// 平文 capture が有効でも、未対応 provider / 経路では promptBody や
|
|
60
|
+
// completionBody が乗らないことを 1 回だけ console.warn で明示する。
|
|
61
|
+
// v0.3.0-alpha.1 対応 = openai (Chat Completions) と anthropic (Messages)
|
|
62
|
+
// の非ストリーミング success path のみ。 OpenAI Responses や Mistral、
|
|
63
|
+
// Gemini、 全 streaming 経路は段階追加。
|
|
64
|
+
if (config.captureContent === true) {
|
|
65
|
+
// v0.3.0-alpha.2 = OpenAI Responses API も対応済 (= 警告不要)
|
|
66
|
+
if (provider === "mistral")
|
|
67
|
+
warnUnsupportedCaptureProvider("mistral");
|
|
68
|
+
if (provider === "gemini")
|
|
69
|
+
warnUnsupportedCaptureProvider("gemini");
|
|
70
|
+
}
|
|
59
71
|
wrappedClients.set(client, recorder);
|
|
60
72
|
return client;
|
|
61
73
|
}
|
|
@@ -112,6 +124,220 @@ function buildTraceMeta(config) {
|
|
|
112
124
|
meta.parentSpanId = config.parentSpanId;
|
|
113
125
|
return meta;
|
|
114
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Pro+ 平文保存機能の SDK 側 opt-in 抽出 helper。
|
|
129
|
+
*
|
|
130
|
+
* captureContent が true のときに wrapper が呼んで、 provider 毎の
|
|
131
|
+
* request / response 形状から prompt / completion / tool calls を 文字列
|
|
132
|
+
* (および JSON 文字列)として抽出する。 PII redaction は Recorder 側で
|
|
133
|
+
* 一括して適用されるので、 ここでは生の文字列を返すのみ。
|
|
134
|
+
*
|
|
135
|
+
* v0.3.0-alpha.1 段階の対応 provider:
|
|
136
|
+
* - openai (Chat Completions) = 全項目対応
|
|
137
|
+
* - anthropic (Messages) = prompt + completion 対応(tool call は段階追加)
|
|
138
|
+
* - 他 provider と全 streaming 経路 = 未対応、 captureContent が true でも
|
|
139
|
+
* promptBody / completionBody は付与されない(段階4 以降で順次追加)。
|
|
140
|
+
* console.warn で明示する。
|
|
141
|
+
*/
|
|
142
|
+
function extractOpenAIChatPromptBody(requestArgs) {
|
|
143
|
+
if (!Array.isArray(requestArgs.messages) || requestArgs.messages.length === 0) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
return JSON.stringify(requestArgs.messages);
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
return undefined;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function extractOpenAIChatCompletionBody(response) {
|
|
154
|
+
if (!response || typeof response !== "object")
|
|
155
|
+
return undefined;
|
|
156
|
+
const choices = response.choices;
|
|
157
|
+
if (!Array.isArray(choices) || choices.length === 0)
|
|
158
|
+
return undefined;
|
|
159
|
+
const first = choices[0];
|
|
160
|
+
const content = first?.message?.content;
|
|
161
|
+
if (typeof content === "string")
|
|
162
|
+
return content;
|
|
163
|
+
// content が array (multi-modal の場合) の場合は JSON 文字列で carry
|
|
164
|
+
if (Array.isArray(content)) {
|
|
165
|
+
try {
|
|
166
|
+
return JSON.stringify(content);
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return undefined;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return undefined;
|
|
173
|
+
}
|
|
174
|
+
function extractOpenAIChatToolCalls(response) {
|
|
175
|
+
if (!response || typeof response !== "object")
|
|
176
|
+
return undefined;
|
|
177
|
+
const choices = response.choices;
|
|
178
|
+
if (!Array.isArray(choices) || choices.length === 0)
|
|
179
|
+
return undefined;
|
|
180
|
+
const first = choices[0];
|
|
181
|
+
const toolCalls = first?.message?.tool_calls;
|
|
182
|
+
if (!Array.isArray(toolCalls) || toolCalls.length === 0)
|
|
183
|
+
return undefined;
|
|
184
|
+
const result = [];
|
|
185
|
+
for (const tc of toolCalls) {
|
|
186
|
+
if (!tc || typeof tc !== "object")
|
|
187
|
+
continue;
|
|
188
|
+
const fn = tc.function;
|
|
189
|
+
const name = typeof fn?.name === "string" ? fn.name : "unknown";
|
|
190
|
+
const args = typeof fn?.arguments === "string"
|
|
191
|
+
? fn.arguments
|
|
192
|
+
: fn?.arguments !== undefined
|
|
193
|
+
? safeStringify(fn.arguments)
|
|
194
|
+
: undefined;
|
|
195
|
+
result.push(args !== undefined ? { name, arguments: args } : { name });
|
|
196
|
+
}
|
|
197
|
+
return result.length > 0 ? result : undefined;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* v0.3.0-alpha.2 段階9 拡張 = OpenAI Responses API の captureContent 抽出。
|
|
201
|
+
*
|
|
202
|
+
* - request.input は string (= 単純 prompt) or array (= multi-modal / structured)
|
|
203
|
+
* のどちらか。 string ならそのまま、 array なら JSON 文字列化して carry。
|
|
204
|
+
* - response.output_text (= aggregated text、 SDK 0.4.x で導入) を 第一候補、
|
|
205
|
+
* なければ response.output (= 配列) を walk して output_text type の text を join。
|
|
206
|
+
* - tool calls は response.output 内の type === "function_call" item から
|
|
207
|
+
* name + arguments を抽出。
|
|
208
|
+
*/
|
|
209
|
+
function extractOpenAIResponsesPromptBody(requestArgs) {
|
|
210
|
+
if (requestArgs.input === undefined || requestArgs.input === null)
|
|
211
|
+
return undefined;
|
|
212
|
+
if (typeof requestArgs.input === "string")
|
|
213
|
+
return requestArgs.input;
|
|
214
|
+
if (Array.isArray(requestArgs.input)) {
|
|
215
|
+
try {
|
|
216
|
+
return JSON.stringify(requestArgs.input);
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return undefined;
|
|
223
|
+
}
|
|
224
|
+
function extractOpenAIResponsesCompletionBody(response) {
|
|
225
|
+
if (!response || typeof response !== "object")
|
|
226
|
+
return undefined;
|
|
227
|
+
const r = response;
|
|
228
|
+
if (typeof r.output_text === "string")
|
|
229
|
+
return r.output_text;
|
|
230
|
+
if (Array.isArray(r.output)) {
|
|
231
|
+
const texts = [];
|
|
232
|
+
for (const item of r.output) {
|
|
233
|
+
if (!item || typeof item !== "object")
|
|
234
|
+
continue;
|
|
235
|
+
const content = item.content;
|
|
236
|
+
if (Array.isArray(content)) {
|
|
237
|
+
for (const c of content) {
|
|
238
|
+
if (c && typeof c === "object") {
|
|
239
|
+
const type = c.type;
|
|
240
|
+
const text = c.text;
|
|
241
|
+
if (type === "output_text" && typeof text === "string")
|
|
242
|
+
texts.push(text);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
if (texts.length > 0)
|
|
248
|
+
return texts.join("\n");
|
|
249
|
+
try {
|
|
250
|
+
return JSON.stringify(r.output);
|
|
251
|
+
}
|
|
252
|
+
catch {
|
|
253
|
+
return undefined;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return undefined;
|
|
257
|
+
}
|
|
258
|
+
function extractOpenAIResponsesToolCalls(response) {
|
|
259
|
+
if (!response || typeof response !== "object")
|
|
260
|
+
return undefined;
|
|
261
|
+
const output = response.output;
|
|
262
|
+
if (!Array.isArray(output))
|
|
263
|
+
return undefined;
|
|
264
|
+
const result = [];
|
|
265
|
+
for (const item of output) {
|
|
266
|
+
if (!item || typeof item !== "object")
|
|
267
|
+
continue;
|
|
268
|
+
const type = item.type;
|
|
269
|
+
if (type !== "function_call")
|
|
270
|
+
continue;
|
|
271
|
+
const name = item.name;
|
|
272
|
+
const args = item.arguments;
|
|
273
|
+
const nameStr = typeof name === "string" ? name : "unknown";
|
|
274
|
+
const argsStr = typeof args === "string"
|
|
275
|
+
? args
|
|
276
|
+
: args !== undefined
|
|
277
|
+
? safeStringify(args)
|
|
278
|
+
: undefined;
|
|
279
|
+
result.push(argsStr !== undefined ? { name: nameStr, arguments: argsStr } : { name: nameStr });
|
|
280
|
+
}
|
|
281
|
+
return result.length > 0 ? result : undefined;
|
|
282
|
+
}
|
|
283
|
+
function extractAnthropicPromptBody(requestArgs) {
|
|
284
|
+
if (!Array.isArray(requestArgs.messages) || requestArgs.messages.length === 0) {
|
|
285
|
+
return undefined;
|
|
286
|
+
}
|
|
287
|
+
try {
|
|
288
|
+
return JSON.stringify(requestArgs.messages);
|
|
289
|
+
}
|
|
290
|
+
catch {
|
|
291
|
+
return undefined;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
function extractAnthropicCompletionBody(response) {
|
|
295
|
+
if (!response || typeof response !== "object")
|
|
296
|
+
return undefined;
|
|
297
|
+
// Anthropic response shape = { content: [{ type: "text", text: "..." }, ...] }
|
|
298
|
+
const content = response.content;
|
|
299
|
+
if (Array.isArray(content)) {
|
|
300
|
+
const texts = [];
|
|
301
|
+
for (const block of content) {
|
|
302
|
+
if (block && typeof block === "object") {
|
|
303
|
+
const t = block.type;
|
|
304
|
+
const txt = block.text;
|
|
305
|
+
if (t === "text" && typeof txt === "string") {
|
|
306
|
+
texts.push(txt);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
if (texts.length > 0)
|
|
311
|
+
return texts.join("\n");
|
|
312
|
+
// text block がなければ全 content を JSON 文字列として carry
|
|
313
|
+
try {
|
|
314
|
+
return JSON.stringify(content);
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
return undefined;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
return undefined;
|
|
321
|
+
}
|
|
322
|
+
function safeStringify(value) {
|
|
323
|
+
try {
|
|
324
|
+
return JSON.stringify(value);
|
|
325
|
+
}
|
|
326
|
+
catch {
|
|
327
|
+
return undefined;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
let captureContentWarnedProviders = null;
|
|
331
|
+
function warnUnsupportedCaptureProvider(label) {
|
|
332
|
+
if (captureContentWarnedProviders === null) {
|
|
333
|
+
captureContentWarnedProviders = new Set();
|
|
334
|
+
}
|
|
335
|
+
if (captureContentWarnedProviders.has(label))
|
|
336
|
+
return;
|
|
337
|
+
captureContentWarnedProviders.add(label);
|
|
338
|
+
// eslint-disable-next-line no-console
|
|
339
|
+
console.warn(`[argosvix] captureContent is enabled but ${label} body extraction is not yet supported in this SDK version. Metadata is still recorded; plaintext is omitted. Coverage will expand in subsequent releases.`);
|
|
340
|
+
}
|
|
115
341
|
function extractErrorDetails(err) {
|
|
116
342
|
if (!err || typeof err !== "object")
|
|
117
343
|
return undefined;
|
|
@@ -156,7 +382,7 @@ function wrapOpenAIChat(client, recorder, config) {
|
|
|
156
382
|
const model = r.model || requestArgs.model || "unknown";
|
|
157
383
|
const promptTokens = r.usage?.prompt_tokens ?? 0;
|
|
158
384
|
const completionTokens = r.usage?.completion_tokens ?? 0;
|
|
159
|
-
|
|
385
|
+
const record = {
|
|
160
386
|
id,
|
|
161
387
|
provider: "openai",
|
|
162
388
|
model,
|
|
@@ -169,7 +395,19 @@ function wrapOpenAIChat(client, recorder, config) {
|
|
|
169
395
|
tags: { ...(config.tags ?? {}) },
|
|
170
396
|
...buildTraceMeta(config),
|
|
171
397
|
requestMeta: buildOpenAIRequestMeta(requestArgs),
|
|
172
|
-
}
|
|
398
|
+
};
|
|
399
|
+
if (config.captureContent === true) {
|
|
400
|
+
const promptBody = extractOpenAIChatPromptBody(requestArgs);
|
|
401
|
+
if (promptBody !== undefined)
|
|
402
|
+
record.promptBody = promptBody;
|
|
403
|
+
const completionBody = extractOpenAIChatCompletionBody(response);
|
|
404
|
+
if (completionBody !== undefined)
|
|
405
|
+
record.completionBody = completionBody;
|
|
406
|
+
const toolCalls = extractOpenAIChatToolCalls(response);
|
|
407
|
+
if (toolCalls !== undefined)
|
|
408
|
+
record.toolCalls = toolCalls;
|
|
409
|
+
}
|
|
410
|
+
recorder.record(record);
|
|
173
411
|
return response;
|
|
174
412
|
}
|
|
175
413
|
catch (err) {
|
|
@@ -283,7 +521,7 @@ function wrapOpenAIResponses(client, recorder, config) {
|
|
|
283
521
|
const model = response.model || requestArgs.model || "unknown";
|
|
284
522
|
const promptTokens = response.usage?.input_tokens ?? 0;
|
|
285
523
|
const completionTokens = response.usage?.output_tokens ?? 0;
|
|
286
|
-
|
|
524
|
+
const record = {
|
|
287
525
|
id,
|
|
288
526
|
provider: "openai",
|
|
289
527
|
model,
|
|
@@ -296,7 +534,19 @@ function wrapOpenAIResponses(client, recorder, config) {
|
|
|
296
534
|
tags: { ...(config.tags ?? {}) },
|
|
297
535
|
...buildTraceMeta(config),
|
|
298
536
|
requestMeta: buildResponsesRequestMeta(requestArgs),
|
|
299
|
-
}
|
|
537
|
+
};
|
|
538
|
+
if (config.captureContent === true) {
|
|
539
|
+
const promptBody = extractOpenAIResponsesPromptBody(requestArgs);
|
|
540
|
+
if (promptBody !== undefined)
|
|
541
|
+
record.promptBody = promptBody;
|
|
542
|
+
const completionBody = extractOpenAIResponsesCompletionBody(response);
|
|
543
|
+
if (completionBody !== undefined)
|
|
544
|
+
record.completionBody = completionBody;
|
|
545
|
+
const toolCalls = extractOpenAIResponsesToolCalls(response);
|
|
546
|
+
if (toolCalls !== undefined)
|
|
547
|
+
record.toolCalls = toolCalls;
|
|
548
|
+
}
|
|
549
|
+
recorder.record(record);
|
|
300
550
|
return response;
|
|
301
551
|
}
|
|
302
552
|
catch (err) {
|
|
@@ -355,7 +605,7 @@ function wrapAnthropic(client, recorder, config) {
|
|
|
355
605
|
const model = r.model || requestArgs.model || "unknown";
|
|
356
606
|
const promptTokens = r.usage?.input_tokens ?? 0;
|
|
357
607
|
const completionTokens = r.usage?.output_tokens ?? 0;
|
|
358
|
-
|
|
608
|
+
const record = {
|
|
359
609
|
id,
|
|
360
610
|
provider: "anthropic",
|
|
361
611
|
model,
|
|
@@ -368,7 +618,16 @@ function wrapAnthropic(client, recorder, config) {
|
|
|
368
618
|
tags: { ...(config.tags ?? {}) },
|
|
369
619
|
...buildTraceMeta(config),
|
|
370
620
|
requestMeta: buildAnthropicRequestMeta(requestArgs),
|
|
371
|
-
}
|
|
621
|
+
};
|
|
622
|
+
if (config.captureContent === true) {
|
|
623
|
+
const promptBody = extractAnthropicPromptBody(requestArgs);
|
|
624
|
+
if (promptBody !== undefined)
|
|
625
|
+
record.promptBody = promptBody;
|
|
626
|
+
const completionBody = extractAnthropicCompletionBody(response);
|
|
627
|
+
if (completionBody !== undefined)
|
|
628
|
+
record.completionBody = completionBody;
|
|
629
|
+
}
|
|
630
|
+
recorder.record(record);
|
|
372
631
|
return response;
|
|
373
632
|
}
|
|
374
633
|
catch (err) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/recorder.d.ts
CHANGED
|
@@ -33,6 +33,15 @@ export declare class Recorder {
|
|
|
33
33
|
*/
|
|
34
34
|
flush(): Promise<LlmCallRecord[]>;
|
|
35
35
|
private doFlush;
|
|
36
|
+
/**
|
|
37
|
+
* captureContent と disablePiiRedaction の組み合わせに応じて、record の
|
|
38
|
+
* 平文フィールド(promptBody / completionBody / toolCalls)を加工する。
|
|
39
|
+
*
|
|
40
|
+
* captureContent = false (default) → 全平文フィールドを削除
|
|
41
|
+
* captureContent = true, disablePiiRedaction = false (default) → redaction 適用
|
|
42
|
+
* captureContent = true, disablePiiRedaction = true → 無加工で carry
|
|
43
|
+
*/
|
|
44
|
+
private sanitizeContent;
|
|
36
45
|
getBufferSize(): number;
|
|
37
46
|
/**
|
|
38
47
|
* Test-only helper. Do not call from production code.
|
package/dist/recorder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhE;;;;;;;GAOG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAyC;gBAElD,MAAM,GAAE,cAAmB;IAIvC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IA6BnC;;;;;;;;;;;OAWG;IACG,KAAK,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAwBzB,OAAO;IA8DrB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAoCvB,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,iBAAiB,IAAI,IAAI;CAI1B"}
|
package/dist/recorder.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { redactPii, redactToolCall } from "./redaction.js";
|
|
1
2
|
/**
|
|
2
3
|
* Per-wrap() instance-based recorder.
|
|
3
4
|
* Avoids module-level global state to keep test isolation clean and to let
|
|
@@ -22,7 +23,13 @@ export class Recorder {
|
|
|
22
23
|
record(record) {
|
|
23
24
|
if (this.config.disabled)
|
|
24
25
|
return;
|
|
25
|
-
|
|
26
|
+
// Pro+ 平文保存機能の SDK 側 opt-in。 captureContent が false (default)
|
|
27
|
+
// のときは、 wrapper が誤って平文を乗せていても recorder で確実に剥がす
|
|
28
|
+
// (= 二重 safety net、 wrapper の bug 対策)。 captureContent が true の
|
|
29
|
+
// ときは、 disablePiiRedaction が明示的に true でない限り PII を自動
|
|
30
|
+
// マスキングする。
|
|
31
|
+
const sanitized = this.sanitizeContent(record);
|
|
32
|
+
this.buffer.push(sanitized);
|
|
26
33
|
// Guard `process` access — some edge runtimes (Cloudflare Workers in
|
|
27
34
|
// certain modes, Vercel Edge) do not expose a Node `process` global, and
|
|
28
35
|
// an unguarded `process.env[...]` reference would throw and break the
|
|
@@ -125,6 +132,47 @@ export class Recorder {
|
|
|
125
132
|
}
|
|
126
133
|
return records;
|
|
127
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* captureContent と disablePiiRedaction の組み合わせに応じて、record の
|
|
137
|
+
* 平文フィールド(promptBody / completionBody / toolCalls)を加工する。
|
|
138
|
+
*
|
|
139
|
+
* captureContent = false (default) → 全平文フィールドを削除
|
|
140
|
+
* captureContent = true, disablePiiRedaction = false (default) → redaction 適用
|
|
141
|
+
* captureContent = true, disablePiiRedaction = true → 無加工で carry
|
|
142
|
+
*/
|
|
143
|
+
sanitizeContent(record) {
|
|
144
|
+
const capture = this.config.captureContent === true;
|
|
145
|
+
if (!capture) {
|
|
146
|
+
if (record.promptBody === undefined &&
|
|
147
|
+
record.completionBody === undefined &&
|
|
148
|
+
record.toolCalls === undefined) {
|
|
149
|
+
return record;
|
|
150
|
+
}
|
|
151
|
+
const stripped = { ...record };
|
|
152
|
+
delete stripped.promptBody;
|
|
153
|
+
delete stripped.completionBody;
|
|
154
|
+
delete stripped.toolCalls;
|
|
155
|
+
return stripped;
|
|
156
|
+
}
|
|
157
|
+
const disableRedaction = this.config.disablePiiRedaction === true;
|
|
158
|
+
if (disableRedaction) {
|
|
159
|
+
// capture ON + redaction OFF = 無加工で carry。 既に wrapper で
|
|
160
|
+
// promptBody / completionBody / toolCalls が乗っていればそのまま、
|
|
161
|
+
// なければ undefined のままで record に含まれない。
|
|
162
|
+
return record;
|
|
163
|
+
}
|
|
164
|
+
const out = { ...record };
|
|
165
|
+
if (record.promptBody !== undefined) {
|
|
166
|
+
out.promptBody = redactPii(record.promptBody);
|
|
167
|
+
}
|
|
168
|
+
if (record.completionBody !== undefined) {
|
|
169
|
+
out.completionBody = redactPii(record.completionBody);
|
|
170
|
+
}
|
|
171
|
+
if (record.toolCalls !== undefined) {
|
|
172
|
+
out.toolCalls = record.toolCalls.map(redactToolCall);
|
|
173
|
+
}
|
|
174
|
+
return out;
|
|
175
|
+
}
|
|
128
176
|
getBufferSize() {
|
|
129
177
|
return this.buffer.length;
|
|
130
178
|
}
|
package/dist/recorder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plaintext PII redaction for the captureContent opt-in path.
|
|
3
|
+
*
|
|
4
|
+
* Argosvix v1.x = Pro+ 平文保存機能の SDK 側 opt-in 時に prompt / completion
|
|
5
|
+
* 本文をそのまま送信する前に、 メールアドレス / クレジットカード番号 /
|
|
6
|
+
* 電話番号 / マイナンバー / IP アドレスを自動マスキングするためのヘルパー。
|
|
7
|
+
*
|
|
8
|
+
* 設計方針:
|
|
9
|
+
* - false positive 寛容、false negative 厳禁(= 過剰マスクは OK、 PII の
|
|
10
|
+
* 見落としは NG)。 ユーザーが明示的に disablePiiRedaction:true で無効化
|
|
11
|
+
* しない限り、この関数が必ず通る
|
|
12
|
+
* - 関数は純関数で副作用なし。 同じ入力に対して常に同じ出力
|
|
13
|
+
* - 入力が空文字または null / undefined のときは入力をそのまま返す
|
|
14
|
+
* - 入力が文字列でない場合(オブジェクト等)は String() で文字列化してから
|
|
15
|
+
* 置換、 ただし元の型は保たず string を返す
|
|
16
|
+
*
|
|
17
|
+
* 既知の限界:
|
|
18
|
+
* - 国際電話番号は形式が多様で全カバーは不可能。 conservative パターンで
|
|
19
|
+
* +81-XX-XXXX-XXXX / 090-XXXX-XXXX 等の主要日本パターンと、 北米 (123)
|
|
20
|
+
* 456-7890 形式を中心にカバー
|
|
21
|
+
* - クレジットカード番号は Luhn check はしない(false positive 寛容)。
|
|
22
|
+
* 13-19 桁の連続数字列(スペースとハイフン区切り含む)を一律置換
|
|
23
|
+
* - マイナンバーは 12 桁数字。 クレジットカードと衝突する場合は 12 桁数字
|
|
24
|
+
* が先に CC パターンにマッチする可能性あり = 結果は両方とも置換される
|
|
25
|
+
* ので個人情報混入リスクとしては問題なし(マスキング種別が不正確に
|
|
26
|
+
* なるだけ)
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Apply PII redaction patterns to a plaintext string.
|
|
30
|
+
*
|
|
31
|
+
* @param input The raw text to redact. If empty / null / undefined, returns "" or the input.
|
|
32
|
+
* @returns The text with PII patterns replaced by [REDACTED_*] markers.
|
|
33
|
+
*/
|
|
34
|
+
export declare function redactPii(input: string | null | undefined): string;
|
|
35
|
+
/**
|
|
36
|
+
* Apply PII redaction recursively to a tool call's arguments and result fields.
|
|
37
|
+
* Used by Recorder to scrub structured tool call data before send.
|
|
38
|
+
*/
|
|
39
|
+
export declare function redactToolCall(call: {
|
|
40
|
+
name: string;
|
|
41
|
+
arguments?: string;
|
|
42
|
+
result?: string;
|
|
43
|
+
}): {
|
|
44
|
+
name: string;
|
|
45
|
+
arguments?: string;
|
|
46
|
+
result?: string;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=redaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiDH;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAYlE;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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plaintext PII redaction for the captureContent opt-in path.
|
|
3
|
+
*
|
|
4
|
+
* Argosvix v1.x = Pro+ 平文保存機能の SDK 側 opt-in 時に prompt / completion
|
|
5
|
+
* 本文をそのまま送信する前に、 メールアドレス / クレジットカード番号 /
|
|
6
|
+
* 電話番号 / マイナンバー / IP アドレスを自動マスキングするためのヘルパー。
|
|
7
|
+
*
|
|
8
|
+
* 設計方針:
|
|
9
|
+
* - false positive 寛容、false negative 厳禁(= 過剰マスクは OK、 PII の
|
|
10
|
+
* 見落としは NG)。 ユーザーが明示的に disablePiiRedaction:true で無効化
|
|
11
|
+
* しない限り、この関数が必ず通る
|
|
12
|
+
* - 関数は純関数で副作用なし。 同じ入力に対して常に同じ出力
|
|
13
|
+
* - 入力が空文字または null / undefined のときは入力をそのまま返す
|
|
14
|
+
* - 入力が文字列でない場合(オブジェクト等)は String() で文字列化してから
|
|
15
|
+
* 置換、 ただし元の型は保たず string を返す
|
|
16
|
+
*
|
|
17
|
+
* 既知の限界:
|
|
18
|
+
* - 国際電話番号は形式が多様で全カバーは不可能。 conservative パターンで
|
|
19
|
+
* +81-XX-XXXX-XXXX / 090-XXXX-XXXX 等の主要日本パターンと、 北米 (123)
|
|
20
|
+
* 456-7890 形式を中心にカバー
|
|
21
|
+
* - クレジットカード番号は Luhn check はしない(false positive 寛容)。
|
|
22
|
+
* 13-19 桁の連続数字列(スペースとハイフン区切り含む)を一律置換
|
|
23
|
+
* - マイナンバーは 12 桁数字。 クレジットカードと衝突する場合は 12 桁数字
|
|
24
|
+
* が先に CC パターンにマッチする可能性あり = 結果は両方とも置換される
|
|
25
|
+
* ので個人情報混入リスクとしては問題なし(マスキング種別が不正確に
|
|
26
|
+
* なるだけ)
|
|
27
|
+
*/
|
|
28
|
+
const PATTERNS = [
|
|
29
|
+
// Email = RFC 5322 ベース、 安全側に conservative
|
|
30
|
+
{
|
|
31
|
+
regex: /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g,
|
|
32
|
+
replacement: "[REDACTED_EMAIL]",
|
|
33
|
+
},
|
|
34
|
+
// Credit card (= 改行・空白を跨ぐ番号もカバー)。
|
|
35
|
+
// Codex Round 1 MEDIUM 修正 = 「\d sep \d sep ...」 構造で carry すると
|
|
36
|
+
// 最後の sep が次の \d を要求してしまい、 4111-1111-\n1111-1111 のような
|
|
37
|
+
// 改行を跨いだケースで match が切れる。 先頭 \d + 後続 (sep* \d) {12,18}
|
|
38
|
+
// で「区切りは複数連続可」 にして、 改行や複数空白も巻き込む。
|
|
39
|
+
{
|
|
40
|
+
regex: /\b\d(?:[ \t\r\n-]*\d){12,18}\b/g,
|
|
41
|
+
replacement: "[REDACTED_CC]",
|
|
42
|
+
},
|
|
43
|
+
// マイナンバー = 12 桁数字、 単語境界で区切る
|
|
44
|
+
// (上の CC パターンが先に走るので 12-13 桁の重複は CC で処理される)
|
|
45
|
+
{
|
|
46
|
+
regex: /\b\d{12}\b/g,
|
|
47
|
+
replacement: "[REDACTED_MYNUMBER]",
|
|
48
|
+
},
|
|
49
|
+
// 電話番号 = 主要国の代表パターン:
|
|
50
|
+
// - 日本 携帯: 090-XXXX-XXXX / 080-XXXX-XXXX / 070-XXXX-XXXX
|
|
51
|
+
// - 日本 固定: 03-XXXX-XXXX / 06-XXXX-XXXX 等
|
|
52
|
+
// - 国際: +81 90 XXXX XXXX / +1 (123) 456-7890
|
|
53
|
+
// - 全角ハイフンや中黒は対象外(英数前提)
|
|
54
|
+
{
|
|
55
|
+
regex: /\+?\d{1,3}[-.\s]?\(?\d{2,4}\)?[-.\s]?\d{2,4}[-.\s]?\d{3,4}/g,
|
|
56
|
+
replacement: "[REDACTED_PHONE]",
|
|
57
|
+
},
|
|
58
|
+
// IPv4 = 4 オクテット、 0-255 の範囲は厳密 check せず conservative
|
|
59
|
+
{
|
|
60
|
+
regex: /\b(?:\d{1,3}\.){3}\d{1,3}\b/g,
|
|
61
|
+
replacement: "[REDACTED_IPV4]",
|
|
62
|
+
},
|
|
63
|
+
// IPv6 (フル形 + 短縮形)。 Codex Round 1 MEDIUM 修正で `::1` などの
|
|
64
|
+
// 短縮表記を含めて拾えるよう、 各 hex group を 0-4 桁(= 空 group が
|
|
65
|
+
// 「::」 と一致)で carry し、 lookbehind / lookahead で 単語境界を担保。
|
|
66
|
+
// `(?:[0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{1,4}` で `::1` / `fe80::1234` /
|
|
67
|
+
// 通常 8 group の全パターンを束ねる(false positive 寛容、 false negative
|
|
68
|
+
// 厳禁の方針)。
|
|
69
|
+
{
|
|
70
|
+
regex: /(?<![\w:.])(?:[0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{1,4}(?![\w:.])/g,
|
|
71
|
+
replacement: "[REDACTED_IPV6]",
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
/**
|
|
75
|
+
* Apply PII redaction patterns to a plaintext string.
|
|
76
|
+
*
|
|
77
|
+
* @param input The raw text to redact. If empty / null / undefined, returns "" or the input.
|
|
78
|
+
* @returns The text with PII patterns replaced by [REDACTED_*] markers.
|
|
79
|
+
*/
|
|
80
|
+
export function redactPii(input) {
|
|
81
|
+
if (input == null)
|
|
82
|
+
return "";
|
|
83
|
+
if (typeof input !== "string") {
|
|
84
|
+
// Caller guarantee broken; coerce defensively rather than throw.
|
|
85
|
+
input = String(input);
|
|
86
|
+
}
|
|
87
|
+
if (input.length === 0)
|
|
88
|
+
return input;
|
|
89
|
+
let result = input;
|
|
90
|
+
for (const { regex, replacement } of PATTERNS) {
|
|
91
|
+
result = result.replace(regex, replacement);
|
|
92
|
+
}
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Apply PII redaction recursively to a tool call's arguments and result fields.
|
|
97
|
+
* Used by Recorder to scrub structured tool call data before send.
|
|
98
|
+
*/
|
|
99
|
+
export function redactToolCall(call) {
|
|
100
|
+
const out = {
|
|
101
|
+
name: call.name,
|
|
102
|
+
};
|
|
103
|
+
if (call.arguments !== undefined) {
|
|
104
|
+
out.arguments = redactPii(call.arguments);
|
|
105
|
+
}
|
|
106
|
+
if (call.result !== undefined) {
|
|
107
|
+
out.result = redactPii(call.result);
|
|
108
|
+
}
|
|
109
|
+
return out;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=redaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,QAAQ,GAAkD;IAC9D,0CAA0C;IAC1C;QACE,KAAK,EAAE,iDAAiD;QACxD,WAAW,EAAE,kBAAkB;KAChC;IACD,kCAAkC;IAClC,8DAA8D;IAC9D,sDAAsD;IACtD,sDAAsD;IACtD,kCAAkC;IAClC;QACE,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE,eAAe;KAC7B;IACD,4BAA4B;IAC5B,4CAA4C;IAC5C;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qBAAqB;KACnC;IACD,qBAAqB;IACrB,2DAA2D;IAC3D,2CAA2C;IAC3C,+CAA+C;IAC/C,0BAA0B;IAC1B;QACE,KAAK,EAAE,6DAA6D;QACpE,WAAW,EAAE,kBAAkB;KAChC;IACD,qDAAqD;IACrD;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE,iBAAiB;KAC/B;IACD,uDAAuD;IACvD,iDAAiD;IACjD,wDAAwD;IACxD,wEAAwE;IACxE,0DAA0D;IAC1D,UAAU;IACV;QACE,KAAK,EAAE,kEAAkE;QACzE,WAAW,EAAE,iBAAiB;KAC/B;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAgC;IACxD,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,iEAAiE;QACjE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC9C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAI9B;IACC,MAAM,GAAG,GAA0D;QACjE,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;IACF,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -46,6 +46,27 @@ export interface ArgosvixConfig {
|
|
|
46
46
|
* シンプル case を想定。
|
|
47
47
|
*/
|
|
48
48
|
parentSpanId?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Enable plaintext content capture (= Pro+ 平文保存機能の SDK 側 opt-in)。
|
|
51
|
+
* Default false。 true にすると、各 wrapper が prompt / completion 本文
|
|
52
|
+
* と tool call の引数・結果を抽出して record に乗せ、backend に送信する。
|
|
53
|
+
* backend 側で account.plaintext_storage_optin = 1 のときに限り暗号化保管
|
|
54
|
+
* される(env PLAINTEXT_STORAGE_ENABLED で全体 gate も併用)。
|
|
55
|
+
*
|
|
56
|
+
* このフラグを true にする前に、ダッシュボードの設定画面で平文保存機能を
|
|
57
|
+
* 有効化し、同意ダイアログでの明示同意を得ている必要がある。詳細は
|
|
58
|
+
* https://argosvix.com/ja/docs/plaintext を参照。
|
|
59
|
+
*/
|
|
60
|
+
captureContent?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Disable the built-in PII redaction filter that masks email / credit card /
|
|
63
|
+
* phone / マイナンバー / IP address before send. Default false (= redaction
|
|
64
|
+
* is ON)。 true にすると無加工で送信される — 個人情報混入のリスクは
|
|
65
|
+
* ユーザーが負う(利用規約 第4条の2 第7項)。
|
|
66
|
+
*
|
|
67
|
+
* captureContent が false のときは平文自体送らないので、本フラグは無効。
|
|
68
|
+
*/
|
|
69
|
+
disablePiiRedaction?: boolean;
|
|
49
70
|
}
|
|
50
71
|
export interface LlmCallRecord {
|
|
51
72
|
/** Unique call ID (ULID-compatible string). */
|
|
@@ -86,6 +107,29 @@ export interface LlmCallRecord {
|
|
|
86
107
|
traceId?: string;
|
|
87
108
|
spanId?: string;
|
|
88
109
|
parentSpanId?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Plaintext prompt body (= ArgosvixConfig.captureContent が true のときのみ
|
|
112
|
+
* 設定される)。 ユーザーが LLM API に送信したテキスト本文。 PII redaction
|
|
113
|
+
* が有効なら、メールアドレスやカード番号などが [REDACTED_*] に置換済み。
|
|
114
|
+
*/
|
|
115
|
+
promptBody?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Plaintext completion body (= ArgosvixConfig.captureContent が true の
|
|
118
|
+
* ときのみ設定される)。 LLM API からの応答テキスト本文。 PII redaction
|
|
119
|
+
* 適用済み。
|
|
120
|
+
*/
|
|
121
|
+
completionBody?: string;
|
|
122
|
+
/**
|
|
123
|
+
* Tool call (= function calling) の関数名と引数と結果。
|
|
124
|
+
* captureContent が true のときのみ設定される。 SDK が response の
|
|
125
|
+
* tool_calls / function_call フィールドから抽出する。 引数と結果は PII
|
|
126
|
+
* redaction 適用後の文字列(JSON 文字列の場合もある)。
|
|
127
|
+
*/
|
|
128
|
+
toolCalls?: Array<{
|
|
129
|
+
name: string;
|
|
130
|
+
arguments?: string;
|
|
131
|
+
result?: string;
|
|
132
|
+
}>;
|
|
89
133
|
}
|
|
90
134
|
export interface PricingEntry {
|
|
91
135
|
/** USD per 1M input tokens. */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,gGAAgG;IAChG,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,+MAA+M;IAC/M,WAAW,CAAC,EAAE;QACZ,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@argosvix/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-alpha.2",
|
|
4
4
|
"description": "Drop-in observability wrapper for OpenAI, Anthropic, Gemini, Mistral SDK clients. One-line wrap() = cost / latency / quality records.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"argosvix",
|
|
@@ -62,8 +62,7 @@
|
|
|
62
62
|
"openai": { "optional": true }
|
|
63
63
|
},
|
|
64
64
|
"publishConfig": {
|
|
65
|
-
"access": "public"
|
|
66
|
-
"tag": "alpha"
|
|
65
|
+
"access": "public"
|
|
67
66
|
},
|
|
68
67
|
"devDependencies": {
|
|
69
68
|
"@types/node": "^22.19.19",
|