@argosvix/sdk 0.2.0 → 0.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,50 @@ 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.1] - 2026-06-01
8
+
9
+ Pre-release adding the foundation for the **Pro+ plaintext content capture**
10
+ feature. The SDK can now optionally send prompt and completion bodies in
11
+ addition to metadata when the user explicitly opts in via dashboard consent.
12
+ The backend gate (`PLAINTEXT_STORAGE_ENABLED` env + per-account
13
+ `plaintext_storage_optin` column) is still closed by default, so this release
14
+ does not actually persist plaintext anywhere until the feature ships in
15
+ production.
16
+
17
+ ### Added
18
+ - `ArgosvixConfig.captureContent` (default `false`). When set to `true`, the
19
+ SDK extracts prompt / completion text from supported providers and forwards
20
+ them on the ingest payload. Without this flag, no plaintext is ever sent.
21
+ - `ArgosvixConfig.disablePiiRedaction` (default `false`). When `captureContent`
22
+ is `true`, the SDK runs a built-in PII redaction pass (email, credit card,
23
+ phone, マイナンバー, IPv4, IPv6) over the captured bodies before send.
24
+ Setting this flag disables the filter at the user's own risk.
25
+ - `LlmCallRecord.promptBody`, `completionBody`, and `toolCalls` fields populated
26
+ only when `captureContent` is `true`.
27
+ - New `redaction.ts` module with `redactPii()` and `redactToolCall()` helpers.
28
+ - Double safety net inside `Recorder.record()`: even if a wrapper accidentally
29
+ attaches `promptBody` while `captureContent` is `false`, the recorder strips
30
+ the field before buffering. This makes wrapper bugs non-leaky.
31
+
32
+ ### Provider coverage in this release
33
+ - OpenAI Chat Completions (non-stream success path): prompt body, completion
34
+ body, and tool calls captured.
35
+ - Anthropic Messages (non-stream success path): prompt body and completion body
36
+ captured (tool calls in a follow-up).
37
+ - OpenAI Responses, Mistral, Gemini (Legacy and New): metadata still recorded,
38
+ but `promptBody` / `completionBody` are omitted. A one-time `console.warn`
39
+ fires when `captureContent` is enabled to make this visible.
40
+ - All streaming paths across every provider: same as above. Coverage will
41
+ expand in `0.3.0-alpha.2+`.
42
+
43
+ ### Notes
44
+ - This is an `alpha` pre-release. Do not enable `captureContent` in production
45
+ until the corresponding dashboard opt-in UI ships and the legal documents
46
+ (v2.1) flip to production. See https://argosvix.com/ja/docs/plaintext for the
47
+ rollout status.
48
+ - Existing users who do not set `captureContent` are unaffected. The default
49
+ behavior — metadata-only ingest — is byte-identical to 0.2.0.
50
+
7
51
  ## [0.1.2] - 2026-05-22
8
52
 
9
53
  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`
@@ -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,CAiChF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE3D"}
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,CA6ChF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE3D"}
package/dist/client.js CHANGED
@@ -56,6 +56,20 @@ 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
+ if (provider === "openai" && isOpenAIResponsesLike(client)) {
66
+ warnUnsupportedCaptureProvider("openai (Responses API)");
67
+ }
68
+ if (provider === "mistral")
69
+ warnUnsupportedCaptureProvider("mistral");
70
+ if (provider === "gemini")
71
+ warnUnsupportedCaptureProvider("gemini");
72
+ }
59
73
  wrappedClients.set(client, recorder);
60
74
  return client;
61
75
  }
@@ -112,6 +126,136 @@ function buildTraceMeta(config) {
112
126
  meta.parentSpanId = config.parentSpanId;
113
127
  return meta;
114
128
  }
129
+ /**
130
+ * Pro+ 平文保存機能の SDK 側 opt-in 抽出 helper。
131
+ *
132
+ * captureContent が true のときに wrapper が呼んで、 provider 毎の
133
+ * request / response 形状から prompt / completion / tool calls を 文字列
134
+ * (および JSON 文字列)として抽出する。 PII redaction は Recorder 側で
135
+ * 一括して適用されるので、 ここでは生の文字列を返すのみ。
136
+ *
137
+ * v0.3.0-alpha.1 段階の対応 provider:
138
+ * - openai (Chat Completions) = 全項目対応
139
+ * - anthropic (Messages) = prompt + completion 対応(tool call は段階追加)
140
+ * - 他 provider と全 streaming 経路 = 未対応、 captureContent が true でも
141
+ * promptBody / completionBody は付与されない(段階4 以降で順次追加)。
142
+ * console.warn で明示する。
143
+ */
144
+ function extractOpenAIChatPromptBody(requestArgs) {
145
+ if (!Array.isArray(requestArgs.messages) || requestArgs.messages.length === 0) {
146
+ return undefined;
147
+ }
148
+ try {
149
+ return JSON.stringify(requestArgs.messages);
150
+ }
151
+ catch {
152
+ return undefined;
153
+ }
154
+ }
155
+ function extractOpenAIChatCompletionBody(response) {
156
+ if (!response || typeof response !== "object")
157
+ return undefined;
158
+ const choices = response.choices;
159
+ if (!Array.isArray(choices) || choices.length === 0)
160
+ return undefined;
161
+ const first = choices[0];
162
+ const content = first?.message?.content;
163
+ if (typeof content === "string")
164
+ return content;
165
+ // content が array (multi-modal の場合) の場合は JSON 文字列で carry
166
+ if (Array.isArray(content)) {
167
+ try {
168
+ return JSON.stringify(content);
169
+ }
170
+ catch {
171
+ return undefined;
172
+ }
173
+ }
174
+ return undefined;
175
+ }
176
+ function extractOpenAIChatToolCalls(response) {
177
+ if (!response || typeof response !== "object")
178
+ return undefined;
179
+ const choices = response.choices;
180
+ if (!Array.isArray(choices) || choices.length === 0)
181
+ return undefined;
182
+ const first = choices[0];
183
+ const toolCalls = first?.message?.tool_calls;
184
+ if (!Array.isArray(toolCalls) || toolCalls.length === 0)
185
+ return undefined;
186
+ const result = [];
187
+ for (const tc of toolCalls) {
188
+ if (!tc || typeof tc !== "object")
189
+ continue;
190
+ const fn = tc.function;
191
+ const name = typeof fn?.name === "string" ? fn.name : "unknown";
192
+ const args = typeof fn?.arguments === "string"
193
+ ? fn.arguments
194
+ : fn?.arguments !== undefined
195
+ ? safeStringify(fn.arguments)
196
+ : undefined;
197
+ result.push(args !== undefined ? { name, arguments: args } : { name });
198
+ }
199
+ return result.length > 0 ? result : undefined;
200
+ }
201
+ function extractAnthropicPromptBody(requestArgs) {
202
+ if (!Array.isArray(requestArgs.messages) || requestArgs.messages.length === 0) {
203
+ return undefined;
204
+ }
205
+ try {
206
+ return JSON.stringify(requestArgs.messages);
207
+ }
208
+ catch {
209
+ return undefined;
210
+ }
211
+ }
212
+ function extractAnthropicCompletionBody(response) {
213
+ if (!response || typeof response !== "object")
214
+ return undefined;
215
+ // Anthropic response shape = { content: [{ type: "text", text: "..." }, ...] }
216
+ const content = response.content;
217
+ if (Array.isArray(content)) {
218
+ const texts = [];
219
+ for (const block of content) {
220
+ if (block && typeof block === "object") {
221
+ const t = block.type;
222
+ const txt = block.text;
223
+ if (t === "text" && typeof txt === "string") {
224
+ texts.push(txt);
225
+ }
226
+ }
227
+ }
228
+ if (texts.length > 0)
229
+ return texts.join("\n");
230
+ // text block がなければ全 content を JSON 文字列として carry
231
+ try {
232
+ return JSON.stringify(content);
233
+ }
234
+ catch {
235
+ return undefined;
236
+ }
237
+ }
238
+ return undefined;
239
+ }
240
+ function safeStringify(value) {
241
+ try {
242
+ return JSON.stringify(value);
243
+ }
244
+ catch {
245
+ return undefined;
246
+ }
247
+ }
248
+ let captureContentWarnedProviders = null;
249
+ function warnUnsupportedCaptureProvider(label) {
250
+ if (captureContentWarnedProviders === null) {
251
+ captureContentWarnedProviders = new Set();
252
+ }
253
+ if (captureContentWarnedProviders.has(label))
254
+ return;
255
+ captureContentWarnedProviders.add(label);
256
+ // eslint-disable-next-line no-console
257
+ 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.`);
258
+ }
115
259
  function extractErrorDetails(err) {
116
260
  if (!err || typeof err !== "object")
117
261
  return undefined;
@@ -156,7 +300,7 @@ function wrapOpenAIChat(client, recorder, config) {
156
300
  const model = r.model || requestArgs.model || "unknown";
157
301
  const promptTokens = r.usage?.prompt_tokens ?? 0;
158
302
  const completionTokens = r.usage?.completion_tokens ?? 0;
159
- recorder.record({
303
+ const record = {
160
304
  id,
161
305
  provider: "openai",
162
306
  model,
@@ -169,7 +313,19 @@ function wrapOpenAIChat(client, recorder, config) {
169
313
  tags: { ...(config.tags ?? {}) },
170
314
  ...buildTraceMeta(config),
171
315
  requestMeta: buildOpenAIRequestMeta(requestArgs),
172
- });
316
+ };
317
+ if (config.captureContent === true) {
318
+ const promptBody = extractOpenAIChatPromptBody(requestArgs);
319
+ if (promptBody !== undefined)
320
+ record.promptBody = promptBody;
321
+ const completionBody = extractOpenAIChatCompletionBody(response);
322
+ if (completionBody !== undefined)
323
+ record.completionBody = completionBody;
324
+ const toolCalls = extractOpenAIChatToolCalls(response);
325
+ if (toolCalls !== undefined)
326
+ record.toolCalls = toolCalls;
327
+ }
328
+ recorder.record(record);
173
329
  return response;
174
330
  }
175
331
  catch (err) {
@@ -355,7 +511,7 @@ function wrapAnthropic(client, recorder, config) {
355
511
  const model = r.model || requestArgs.model || "unknown";
356
512
  const promptTokens = r.usage?.input_tokens ?? 0;
357
513
  const completionTokens = r.usage?.output_tokens ?? 0;
358
- recorder.record({
514
+ const record = {
359
515
  id,
360
516
  provider: "anthropic",
361
517
  model,
@@ -368,7 +524,16 @@ function wrapAnthropic(client, recorder, config) {
368
524
  tags: { ...(config.tags ?? {}) },
369
525
  ...buildTraceMeta(config),
370
526
  requestMeta: buildAnthropicRequestMeta(requestArgs),
371
- });
527
+ };
528
+ if (config.captureContent === true) {
529
+ const promptBody = extractAnthropicPromptBody(requestArgs);
530
+ if (promptBody !== undefined)
531
+ record.promptBody = promptBody;
532
+ const completionBody = extractAnthropicCompletionBody(response);
533
+ if (completionBody !== undefined)
534
+ record.completionBody = completionBody;
535
+ }
536
+ recorder.record(record);
372
537
  return response;
373
538
  }
374
539
  catch (err) {
@@ -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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"}
@@ -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.
@@ -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;AAEhE;;;;;;;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;IAuBnC;;;;;;;;;;;OAWG;IACG,KAAK,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAwBzB,OAAO;IA8DrB,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,iBAAiB,IAAI,IAAI;CAI1B"}
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
- this.buffer.push(record);
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
  }
@@ -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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"}
@@ -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. */
@@ -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;CACvB;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;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB"}
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.2.0",
3
+ "version": "0.3.0-alpha.1",
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",