@argosvix/sdk 0.4.3-alpha.2 → 0.4.5-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,39 @@ 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.4.5-alpha.0] - 2026-06-27
8
+
9
+ ### Added
10
+ - **Prompt-caching cost & savings tracking.** The wrapper now captures cached read/write
11
+ tokens from each provider and records the discounted cost plus the amount saved by
12
+ caching, across all OpenAI (chat non-stream/stream + Responses), Anthropic
13
+ (non-stream/stream), and Gemini (legacy + new, non-stream/stream) call paths. Mistral
14
+ has no prompt caching and is unaffected.
15
+ - New `LlmCallRecord` fields: `cachedReadTokens`, `cachedWriteTokens`, `cacheSavingsUsd`.
16
+ - New helper `calculateCostWithCache()`; `calculateCost()` delegates to it unchanged.
17
+ - Per-provider cache multipliers (read/write vs base input rate), verified against
18
+ official pricing on 2026-06-27: OpenAI 0.5/1.0, Anthropic 0.1/1.25 (5-min write TTL),
19
+ Gemini 0.1/1.0, Mistral 1.0/1.0. Provider conventions for whether `promptTokens`
20
+ includes cached tokens (OpenAI/Gemini: subset; Anthropic: separate) are handled.
21
+ - Known approximation: Anthropic 1-hour cache writes (200%) are billed at the 5-minute
22
+ rate (125%) since the token breakdown isn't carried; impact is small (writes are
23
+ one-time, reads dominate savings).
24
+
25
+ ## [0.4.4-alpha.0] - 2026-06-17
26
+
27
+ ### Added
28
+ - **Automatic end-user attribution** (`captureUserId`, default on): the wrapper reads
29
+ each provider's opaque end-user identifier and records it as the `userId` tag, so
30
+ per-user breakdowns in the dashboard (`/users`) work with zero extra config when the
31
+ app already passes one. Captured fields: OpenAI `safety_identifier`, Anthropic
32
+ `metadata.user_id`.
33
+ - The legacy OpenAI `user` field is intentionally **not** auto-captured (it commonly
34
+ holds PII such as email / raw IDs). Pass `tags.userId` explicitly to record it.
35
+ - An explicit `tags.userId` always wins; values are truncated to 256 chars; Gemini /
36
+ Mistral are no-ops (no native field). Set `captureUserId: false` to disable.
37
+ - The `userId` is resolved once at call entry and shared across success / error /
38
+ stream records, so reusing or mutating the request object mid-call cannot misattribute it.
39
+
7
40
  ## [0.4.1-alpha.1] - 2026-06-02
8
41
 
9
42
  ### Added
@@ -49,6 +49,11 @@ export interface ApprovalClientOptions {
49
49
  * を渡した場合は prefix を導出する。
50
50
  */
51
51
  endpoint?: string;
52
+ /**
53
+ * 承認を紐づける project (= X-Project-Id header で送信、 record の projectId と同方式)。
54
+ * 未指定は backend が account の default project に倒す (= 後方互換)。
55
+ */
56
+ projectId?: string;
52
57
  }
53
58
  export interface RequestApprovalParams extends ApprovalClientOptions {
54
59
  /** 操作の識別子 (= 1-128 文字、 [A-Za-z0-9._: -])。 例: "delete_user" */
@@ -1 +1 @@
1
- {"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW;CAK1D;AAED,MAAM,WAAW,qBAAqB;IACpC,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkDD,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,8CAA8C;AAC9C,wBAAsB,eAAe,CACnC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AAED,0BAA0B;AAC1B,wBAAsB,WAAW,CAC/B,MAAM,EAAE,qBAAqB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,oBAAoB,CAAC,CAS/B;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CA4B7C"}
1
+ {"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW;CAK1D;AAED,MAAM,WAAW,qBAAqB;IACpC,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmDD,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,8CAA8C;AAC9C,wBAAsB,eAAe,CACnC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AAED,0BAA0B;AAC1B,wBAAsB,WAAW,CAC/B,MAAM,EAAE,qBAAqB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,oBAAoB,CAAC,CAS/B;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CA4B7C"}
package/dist/approvals.js CHANGED
@@ -56,6 +56,7 @@ async function callApi(opts, path, init = {}) {
56
56
  headers: {
57
57
  Authorization: `Bearer ${opts.apiKey}`,
58
58
  ...(init.body !== undefined ? { "Content-Type": "application/json" } : {}),
59
+ ...(opts.projectId ? { "X-Project-Id": opts.projectId } : {}),
59
60
  },
60
61
  ...(init.body !== undefined ? { body: JSON.stringify(init.body) } : {}),
61
62
  signal: controller.signal,
@@ -1 +1 @@
1
- {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -21,4 +21,6 @@ import { Recorder } from "./recorder.js";
21
21
  */
22
22
  export declare function wrap<T extends object>(client: T, config?: ArgosvixConfig): T;
23
23
  export declare function getRecorder(client: object): Recorder | null;
24
+ /** Test-only: reset the M27 stream-helper warn-once flag. Do not call from production. */
25
+ export declare function __resetStreamHelperWarning(): void;
24
26
  //# sourceMappingURL=client.d.ts.map
@@ -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,CA2ChF;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,CA2ChF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE3D;AAoYD,0FAA0F;AAC1F,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
package/dist/client.js CHANGED
@@ -1,4 +1,4 @@
1
- import { calculateCost } from "./pricing.js";
1
+ import { calculateCost, calculateCostWithCache } from "./pricing.js";
2
2
  import { Recorder } from "./recorder.js";
3
3
  const wrappedClients = new WeakMap();
4
4
  const wrappedGeminiModels = new WeakSet();
@@ -126,6 +126,57 @@ function buildTraceMeta(config) {
126
126
  meta.sessionId = config.sessionId;
127
127
  return meta;
128
128
  }
129
+ /**
130
+ * エンドユーザー識別子の自動取得 (= 2026-06-17 user 提案、 Codex review 反映)。
131
+ * provider ごとに「opaque 前提で設計された専用項目」のみ読み取り、 userId タグ
132
+ * として集計に carry する:
133
+ * - OpenAI: safety_identifier (= OpenAI 推奨の安定識別子、 hash 推奨)
134
+ * - Anthropic: metadata.user_id (= 仕様上 PII 禁止・opaque 必須・256 文字以内)
135
+ * 旧 OpenAI `user` は PII (email / 生 ID) が入りやすく自動転送は同意外の漏洩に
136
+ * なりうるため、 自動取得の対象から外す (= 必要なら明示 tags.userId で carry)。
137
+ * provider を明示で分岐し、 Gemini / Mistral は常に no-op (= 別 provider の項目名
138
+ * を誤って拾わない)。 値は backend 上限に合わせ 256 文字に丸める。
139
+ */
140
+ function pickEndUserId(provider, requestArgs) {
141
+ if (!requestArgs || typeof requestArgs !== "object")
142
+ return undefined;
143
+ let cand;
144
+ if (provider === "openai") {
145
+ const r = requestArgs;
146
+ if (typeof r.safety_identifier === "string" && r.safety_identifier.length > 0) {
147
+ cand = r.safety_identifier;
148
+ }
149
+ }
150
+ else if (provider === "anthropic") {
151
+ const r = requestArgs;
152
+ if (r.metadata &&
153
+ typeof r.metadata === "object" &&
154
+ typeof r.metadata.user_id === "string" &&
155
+ r.metadata.user_id.length > 0) {
156
+ cand = r.metadata.user_id;
157
+ }
158
+ }
159
+ return typeof cand === "string" ? cand.slice(0, 256) : undefined;
160
+ }
161
+ /**
162
+ * record に乗せる tags を組み立てる。 config.tags を基底に、 captureUserId が
163
+ * 明示 false でない限り provider 専用項目から userId を補完する。 明示の
164
+ * config.tags.userId が既にあればそれを優先する (= 自動取得で上書きしない)。
165
+ *
166
+ * Codex HIGH 2 反映: 各 wrapper の入口で 1 回だけ呼び、 確定した tags を
167
+ * success / error / stream の全 record で共有する (= await 後に requestArgs を
168
+ * 読み直さない。 呼び出し元が request object を再利用・変更しても別ユーザーの
169
+ * userId で記録されない)。
170
+ */
171
+ function buildTags(config, provider, requestArgs) {
172
+ const tags = { ...(config.tags ?? {}) };
173
+ if (config.captureUserId !== false && tags.userId === undefined) {
174
+ const native = pickEndUserId(provider, requestArgs);
175
+ if (native !== undefined)
176
+ tags.userId = native;
177
+ }
178
+ return tags;
179
+ }
129
180
  /**
130
181
  * Pro+ 平文保存機能の SDK 側 opt-in 抽出 helper。
131
182
  *
@@ -366,25 +417,52 @@ function isOpenAIChatLike(client) {
366
417
  const c = client;
367
418
  return typeof c?.chat?.completions?.create === "function";
368
419
  }
420
+ /**
421
+ * audit round2 M27 = 高レベル streaming helper (Anthropic messages.stream() /
422
+ * OpenAI chat.completions.stream()) は wrap 対象外で budget/policy gate を素通りする。
423
+ * これらは同期戻り (event-emitter) で async gate を内部で安全に挟むのが難しいため、 ゲートを
424
+ * 使う設定のときだけ wrap 時に一度警告し、 .create({ stream: true }) (= gate される経路) への
425
+ * 切替を促す。 .create stream:true と Responses streaming は既に gate 済。
426
+ */
427
+ let warnedGateStreamHelper = false;
428
+ /** Test-only: reset the M27 stream-helper warn-once flag. Do not call from production. */
429
+ export function __resetStreamHelperWarning() {
430
+ warnedGateStreamHelper = false;
431
+ }
432
+ function warnIfGatedStreamHelper(config, hasStreamHelper, label) {
433
+ if (warnedGateStreamHelper || !hasStreamHelper)
434
+ return;
435
+ if (config.budgetGate !== true && config.policyGate !== true)
436
+ return;
437
+ warnedGateStreamHelper = true;
438
+ // eslint-disable-next-line no-console
439
+ console.warn(`[argosvix] ${label} bypasses the budget/policy gate (not wrapped). ` +
440
+ `Use .create({ stream: true }) for gated streaming. (audit M27)`);
441
+ }
369
442
  function wrapOpenAIChat(client, recorder, config) {
370
443
  const c = client;
371
444
  const originalCreate = c.chat.completions.create.bind(c.chat.completions);
445
+ warnIfGatedStreamHelper(config, typeof c.chat.completions.stream === "function", "openai chat.completions.stream()");
372
446
  c.chat.completions.create = async function (...args) {
373
447
  const start = Date.now();
374
448
  const requestArgs = args[0] || {};
449
+ const callTags = buildTags(config, "openai", requestArgs);
375
450
  const id = generateId();
376
451
  const isStream = requestArgs.stream === true;
377
452
  try {
378
453
  await recorder.budgetGate.check({ model: requestArgs.model, payload: requestArgs });
379
454
  const response = await originalCreate(...args);
380
455
  if (isStream) {
381
- return wrapOpenAIStream(response, recorder, requestArgs, start, id, config);
456
+ return wrapOpenAIStream(response, recorder, requestArgs, start, id, config, callTags);
382
457
  }
383
458
  const r = response;
384
459
  const latencyMs = Date.now() - start;
385
460
  const model = r.model || requestArgs.model || "unknown";
386
461
  const promptTokens = r.usage?.prompt_tokens ?? 0;
387
462
  const completionTokens = r.usage?.completion_tokens ?? 0;
463
+ // OpenAI: prompt_tokens は cached を含む合計。cached は内数。
464
+ const cachedReadTokens = r.usage?.prompt_tokens_details?.cached_tokens ?? 0;
465
+ const cost = calculateCostWithCache("openai", model, promptTokens, completionTokens, cachedReadTokens, 0);
388
466
  const record = {
389
467
  id,
390
468
  provider: "openai",
@@ -392,10 +470,12 @@ function wrapOpenAIChat(client, recorder, config) {
392
470
  promptTokens,
393
471
  completionTokens,
394
472
  totalTokens: r.usage?.total_tokens ?? promptTokens + completionTokens,
395
- costUsd: calculateCost("openai", model, promptTokens, completionTokens),
473
+ cachedReadTokens,
474
+ cacheSavingsUsd: cost.cacheSavingsUsd,
475
+ costUsd: cost.costUsd,
396
476
  latencyMs,
397
477
  timestamp: new Date().toISOString(),
398
- tags: { ...(config.tags ?? {}) },
478
+ tags: callTags,
399
479
  ...buildTraceMeta(config),
400
480
  requestMeta: buildOpenAIRequestMeta(requestArgs),
401
481
  };
@@ -425,7 +505,7 @@ function wrapOpenAIChat(client, recorder, config) {
425
505
  costUsd: 0,
426
506
  latencyMs: Date.now() - start,
427
507
  timestamp: new Date().toISOString(),
428
- tags: { ...(config.tags ?? {}) },
508
+ tags: callTags,
429
509
  ...buildTraceMeta(config),
430
510
  error: err instanceof Error ? err.message : String(err),
431
511
  ...(errorDetails ? { errorDetails } : {}),
@@ -435,10 +515,14 @@ function wrapOpenAIChat(client, recorder, config) {
435
515
  }
436
516
  };
437
517
  }
438
- async function* wrapOpenAIStream(stream, recorder, requestArgs, start, id, config) {
518
+ async function* wrapOpenAIStream(stream, recorder, requestArgs, start, id, config,
519
+ // Codex r2 HIGH: stream record の userId は generator 消費開始時ではなく
520
+ // wrapper 入口で確定した callTags を使う (= await 後の requestArgs 再読みを排除)。
521
+ callTags) {
439
522
  let finalModel = requestArgs.model || "unknown";
440
523
  let promptTokens = 0;
441
524
  let completionTokens = 0;
525
+ let cachedReadTokens = 0;
442
526
  let reportedTotal;
443
527
  try {
444
528
  for await (const chunk of stream) {
@@ -450,9 +534,13 @@ async function* wrapOpenAIStream(stream, recorder, requestArgs, start, id, confi
450
534
  if (typeof chunk.usage.total_tokens === "number") {
451
535
  reportedTotal = chunk.usage.total_tokens;
452
536
  }
537
+ if (typeof chunk.usage.prompt_tokens_details?.cached_tokens === "number") {
538
+ cachedReadTokens = chunk.usage.prompt_tokens_details.cached_tokens;
539
+ }
453
540
  }
454
541
  yield chunk;
455
542
  }
543
+ const streamCost = calculateCostWithCache("openai", finalModel, promptTokens, completionTokens, cachedReadTokens, 0);
456
544
  recorder.record({
457
545
  id,
458
546
  provider: "openai",
@@ -460,10 +548,12 @@ async function* wrapOpenAIStream(stream, recorder, requestArgs, start, id, confi
460
548
  promptTokens,
461
549
  completionTokens,
462
550
  totalTokens: reportedTotal ?? promptTokens + completionTokens,
463
- costUsd: calculateCost("openai", finalModel, promptTokens, completionTokens),
551
+ cachedReadTokens,
552
+ cacheSavingsUsd: streamCost.cacheSavingsUsd,
553
+ costUsd: streamCost.costUsd,
464
554
  latencyMs: Date.now() - start,
465
555
  timestamp: new Date().toISOString(),
466
- tags: { ...(config.tags ?? {}) },
556
+ tags: callTags,
467
557
  ...buildTraceMeta(config),
468
558
  requestMeta: buildOpenAIRequestMeta(requestArgs),
469
559
  });
@@ -480,7 +570,7 @@ async function* wrapOpenAIStream(stream, recorder, requestArgs, start, id, confi
480
570
  costUsd: calculateCost("openai", finalModel, promptTokens, completionTokens),
481
571
  latencyMs: Date.now() - start,
482
572
  timestamp: new Date().toISOString(),
483
- tags: { ...(config.tags ?? {}) },
573
+ tags: callTags,
484
574
  ...buildTraceMeta(config),
485
575
  error: err instanceof Error ? err.message : String(err),
486
576
  ...(errorDetails ? { errorDetails } : {}),
@@ -510,6 +600,7 @@ function wrapOpenAIResponses(client, recorder, config) {
510
600
  c.responses.create = async function (...args) {
511
601
  const start = Date.now();
512
602
  const requestArgs = args[0] || {};
603
+ const callTags = buildTags(config, "openai", requestArgs);
513
604
  const id = generateId();
514
605
  const isStream = requestArgs.stream === true;
515
606
  if (isStream) {
@@ -532,7 +623,7 @@ function wrapOpenAIResponses(client, recorder, config) {
532
623
  costUsd: 0,
533
624
  latencyMs: Date.now() - start,
534
625
  timestamp: new Date().toISOString(),
535
- tags: { ...(config.tags ?? {}) },
626
+ tags: callTags,
536
627
  ...buildTraceMeta(config),
537
628
  error: err instanceof Error ? err.message : String(err),
538
629
  requestMeta: buildResponsesRequestMeta(requestArgs),
@@ -548,6 +639,8 @@ function wrapOpenAIResponses(client, recorder, config) {
548
639
  const model = response.model || requestArgs.model || "unknown";
549
640
  const promptTokens = response.usage?.input_tokens ?? 0;
550
641
  const completionTokens = response.usage?.output_tokens ?? 0;
642
+ const cachedReadTokens = response.usage?.input_tokens_details?.cached_tokens ?? 0;
643
+ const cost = calculateCostWithCache("openai", model, promptTokens, completionTokens, cachedReadTokens, 0);
551
644
  const record = {
552
645
  id,
553
646
  provider: "openai",
@@ -555,10 +648,12 @@ function wrapOpenAIResponses(client, recorder, config) {
555
648
  promptTokens,
556
649
  completionTokens,
557
650
  totalTokens: response.usage?.total_tokens ?? promptTokens + completionTokens,
558
- costUsd: calculateCost("openai", model, promptTokens, completionTokens),
651
+ ...(cachedReadTokens > 0 ? { cachedReadTokens } : {}),
652
+ costUsd: cost.costUsd,
653
+ ...(cost.cacheSavingsUsd > 0 ? { cacheSavingsUsd: cost.cacheSavingsUsd } : {}),
559
654
  latencyMs,
560
655
  timestamp: new Date().toISOString(),
561
- tags: { ...(config.tags ?? {}) },
656
+ tags: callTags,
562
657
  ...buildTraceMeta(config),
563
658
  requestMeta: buildResponsesRequestMeta(requestArgs),
564
659
  };
@@ -588,7 +683,7 @@ function wrapOpenAIResponses(client, recorder, config) {
588
683
  costUsd: 0,
589
684
  latencyMs: Date.now() - start,
590
685
  timestamp: new Date().toISOString(),
591
- tags: { ...(config.tags ?? {}) },
686
+ tags: callTags,
592
687
  ...buildTraceMeta(config),
593
688
  error: err instanceof Error ? err.message : String(err),
594
689
  ...(errorDetails ? { errorDetails } : {}),
@@ -617,22 +712,29 @@ function isAnthropicLike(client) {
617
712
  function wrapAnthropic(client, recorder, config) {
618
713
  const c = client;
619
714
  const originalCreate = c.messages.create.bind(c.messages);
715
+ warnIfGatedStreamHelper(config, typeof c.messages.stream === "function", "anthropic messages.stream()");
620
716
  c.messages.create = async function (...args) {
621
717
  const start = Date.now();
622
718
  const requestArgs = args[0] || {};
719
+ const callTags = buildTags(config, "anthropic", requestArgs);
623
720
  const id = generateId();
624
721
  const isStream = requestArgs.stream === true;
625
722
  try {
626
723
  await recorder.budgetGate.check({ model: requestArgs.model, payload: requestArgs });
627
724
  const response = await originalCreate(...args);
628
725
  if (isStream) {
629
- return wrapAnthropicStream(response, recorder, requestArgs, start, id, config);
726
+ return wrapAnthropicStream(response, recorder, requestArgs, start, id, config, callTags);
630
727
  }
631
728
  const r = response;
632
729
  const latencyMs = Date.now() - start;
633
730
  const model = r.model || requestArgs.model || "unknown";
634
- const promptTokens = r.usage?.input_tokens ?? 0;
731
+ // Anthropic: input_tokens は「非キャッシュ input」。cache 読取/書込は別計上なので
732
+ // promptTokens(= input 合計)に足し戻す。
733
+ const cachedReadTokens = r.usage?.cache_read_input_tokens ?? 0;
734
+ const cachedWriteTokens = r.usage?.cache_creation_input_tokens ?? 0;
735
+ const promptTokens = (r.usage?.input_tokens ?? 0) + cachedReadTokens + cachedWriteTokens;
635
736
  const completionTokens = r.usage?.output_tokens ?? 0;
737
+ const cost = calculateCostWithCache("anthropic", model, promptTokens, completionTokens, cachedReadTokens, cachedWriteTokens);
636
738
  const record = {
637
739
  id,
638
740
  provider: "anthropic",
@@ -640,10 +742,13 @@ function wrapAnthropic(client, recorder, config) {
640
742
  promptTokens,
641
743
  completionTokens,
642
744
  totalTokens: promptTokens + completionTokens,
643
- costUsd: calculateCost("anthropic", model, promptTokens, completionTokens),
745
+ cachedReadTokens,
746
+ cachedWriteTokens,
747
+ cacheSavingsUsd: cost.cacheSavingsUsd,
748
+ costUsd: cost.costUsd,
644
749
  latencyMs,
645
750
  timestamp: new Date().toISOString(),
646
- tags: { ...(config.tags ?? {}) },
751
+ tags: callTags,
647
752
  ...buildTraceMeta(config),
648
753
  requestMeta: buildAnthropicRequestMeta(requestArgs),
649
754
  };
@@ -670,7 +775,7 @@ function wrapAnthropic(client, recorder, config) {
670
775
  costUsd: 0,
671
776
  latencyMs: Date.now() - start,
672
777
  timestamp: new Date().toISOString(),
673
- tags: { ...(config.tags ?? {}) },
778
+ tags: callTags,
674
779
  ...buildTraceMeta(config),
675
780
  error: err instanceof Error ? err.message : String(err),
676
781
  ...(errorDetails ? { errorDetails } : {}),
@@ -680,9 +785,12 @@ function wrapAnthropic(client, recorder, config) {
680
785
  }
681
786
  };
682
787
  }
683
- async function* wrapAnthropicStream(stream, recorder, requestArgs, start, id, config) {
788
+ async function* wrapAnthropicStream(stream, recorder, requestArgs, start, id, config, callTags) {
684
789
  let model = requestArgs.model || "unknown";
685
- let promptTokens = 0;
790
+ // Anthropic: input_tokens は「非キャッシュ input」。 cache 読取/書込は別計上。
791
+ let inputTokens = 0;
792
+ let cachedReadTokens = 0;
793
+ let cachedWriteTokens = 0;
686
794
  let completionTokens = 0;
687
795
  try {
688
796
  for await (const event of stream) {
@@ -690,7 +798,11 @@ async function* wrapAnthropicStream(stream, recorder, requestArgs, start, id, co
690
798
  if (event.message.model)
691
799
  model = event.message.model;
692
800
  if (event.message.usage) {
693
- promptTokens = event.message.usage.input_tokens ?? promptTokens;
801
+ inputTokens = event.message.usage.input_tokens ?? inputTokens;
802
+ cachedReadTokens =
803
+ event.message.usage.cache_read_input_tokens ?? cachedReadTokens;
804
+ cachedWriteTokens =
805
+ event.message.usage.cache_creation_input_tokens ?? cachedWriteTokens;
694
806
  completionTokens = event.message.usage.output_tokens ?? completionTokens;
695
807
  }
696
808
  }
@@ -699,6 +811,8 @@ async function* wrapAnthropicStream(stream, recorder, requestArgs, start, id, co
699
811
  }
700
812
  yield event;
701
813
  }
814
+ const promptTokens = inputTokens + cachedReadTokens + cachedWriteTokens;
815
+ const cost = calculateCostWithCache("anthropic", model, promptTokens, completionTokens, cachedReadTokens, cachedWriteTokens);
702
816
  recorder.record({
703
817
  id,
704
818
  provider: "anthropic",
@@ -706,16 +820,20 @@ async function* wrapAnthropicStream(stream, recorder, requestArgs, start, id, co
706
820
  promptTokens,
707
821
  completionTokens,
708
822
  totalTokens: promptTokens + completionTokens,
709
- costUsd: calculateCost("anthropic", model, promptTokens, completionTokens),
823
+ ...(cachedReadTokens > 0 ? { cachedReadTokens } : {}),
824
+ ...(cachedWriteTokens > 0 ? { cachedWriteTokens } : {}),
825
+ costUsd: cost.costUsd,
826
+ ...(cost.cacheSavingsUsd > 0 ? { cacheSavingsUsd: cost.cacheSavingsUsd } : {}),
710
827
  latencyMs: Date.now() - start,
711
828
  timestamp: new Date().toISOString(),
712
- tags: { ...(config.tags ?? {}) },
829
+ tags: callTags,
713
830
  ...buildTraceMeta(config),
714
831
  requestMeta: buildAnthropicRequestMeta(requestArgs),
715
832
  });
716
833
  }
717
834
  catch (err) {
718
835
  const errorDetails = extractErrorDetails(err);
836
+ const promptTokens = inputTokens + cachedReadTokens + cachedWriteTokens;
719
837
  recorder.record({
720
838
  id,
721
839
  provider: "anthropic",
@@ -726,7 +844,7 @@ async function* wrapAnthropicStream(stream, recorder, requestArgs, start, id, co
726
844
  costUsd: calculateCost("anthropic", model, promptTokens, completionTokens),
727
845
  latencyMs: Date.now() - start,
728
846
  timestamp: new Date().toISOString(),
729
- tags: { ...(config.tags ?? {}) },
847
+ tags: callTags,
730
848
  ...buildTraceMeta(config),
731
849
  error: err instanceof Error ? err.message : String(err),
732
850
  ...(errorDetails ? { errorDetails } : {}),
@@ -755,6 +873,7 @@ function wrapMistral(client, recorder, config) {
755
873
  c.chat.complete = async function (...args) {
756
874
  const start = Date.now();
757
875
  const requestArgs = args[0] || {};
876
+ const callTags = buildTags(config, "mistral", requestArgs);
758
877
  const id = generateId();
759
878
  try {
760
879
  await recorder.budgetGate.check({ model: requestArgs.model, payload: requestArgs });
@@ -773,7 +892,7 @@ function wrapMistral(client, recorder, config) {
773
892
  costUsd: calculateCost("mistral", model, promptTokens, completionTokens),
774
893
  latencyMs,
775
894
  timestamp: new Date().toISOString(),
776
- tags: { ...(config.tags ?? {}) },
895
+ tags: callTags,
777
896
  ...buildTraceMeta(config),
778
897
  requestMeta: buildMistralRequestMeta(requestArgs),
779
898
  });
@@ -791,7 +910,7 @@ function wrapMistral(client, recorder, config) {
791
910
  costUsd: 0,
792
911
  latencyMs: Date.now() - start,
793
912
  timestamp: new Date().toISOString(),
794
- tags: { ...(config.tags ?? {}) },
913
+ tags: callTags,
795
914
  ...buildTraceMeta(config),
796
915
  error: err instanceof Error ? err.message : String(err),
797
916
  ...(errorDetails ? { errorDetails } : {}),
@@ -805,11 +924,12 @@ function wrapMistral(client, recorder, config) {
805
924
  c.chat.stream = async function (...args) {
806
925
  const start = Date.now();
807
926
  const requestArgs = args[0] || {};
927
+ const callTags = buildTags(config, "mistral", requestArgs);
808
928
  const id = generateId();
809
929
  try {
810
930
  await recorder.budgetGate.check({ model: requestArgs.model, payload: requestArgs });
811
931
  const stream = (await originalStream(...args));
812
- return wrapMistralStream(stream, recorder, requestArgs, start, id, config);
932
+ return wrapMistralStream(stream, recorder, requestArgs, start, id, config, callTags);
813
933
  }
814
934
  catch (err) {
815
935
  // H-2: stream initialization error (= auth/validation/connection)
@@ -824,7 +944,7 @@ function wrapMistral(client, recorder, config) {
824
944
  costUsd: 0,
825
945
  latencyMs: Date.now() - start,
826
946
  timestamp: new Date().toISOString(),
827
- tags: { ...(config.tags ?? {}) },
947
+ tags: callTags,
828
948
  ...buildTraceMeta(config),
829
949
  error: err instanceof Error ? err.message : String(err),
830
950
  ...(errorDetails ? { errorDetails } : {}),
@@ -835,7 +955,7 @@ function wrapMistral(client, recorder, config) {
835
955
  };
836
956
  }
837
957
  }
838
- async function* wrapMistralStream(stream, recorder, requestArgs, start, id, config) {
958
+ async function* wrapMistralStream(stream, recorder, requestArgs, start, id, config, callTags) {
839
959
  let model = requestArgs.model || "unknown";
840
960
  let promptTokens = 0;
841
961
  let completionTokens = 0;
@@ -864,7 +984,7 @@ async function* wrapMistralStream(stream, recorder, requestArgs, start, id, conf
864
984
  costUsd: calculateCost("mistral", model, promptTokens, completionTokens),
865
985
  latencyMs: Date.now() - start,
866
986
  timestamp: new Date().toISOString(),
867
- tags: { ...(config.tags ?? {}) },
987
+ tags: callTags,
868
988
  ...buildTraceMeta(config),
869
989
  requestMeta: buildMistralRequestMeta(requestArgs),
870
990
  });
@@ -881,7 +1001,7 @@ async function* wrapMistralStream(stream, recorder, requestArgs, start, id, conf
881
1001
  costUsd: calculateCost("mistral", model, promptTokens, completionTokens),
882
1002
  latencyMs: Date.now() - start,
883
1003
  timestamp: new Date().toISOString(),
884
- tags: { ...(config.tags ?? {}) },
1004
+ tags: callTags,
885
1005
  ...buildTraceMeta(config),
886
1006
  error: err instanceof Error ? err.message : String(err),
887
1007
  ...(errorDetails ? { errorDetails } : {}),
@@ -924,12 +1044,15 @@ function wrapGeminiLegacyModel(model, modelName, recorder, config) {
924
1044
  const start = Date.now();
925
1045
  const id = generateId();
926
1046
  const requestArgs = args[0];
1047
+ const callTags = buildTags(config, "gemini", requestArgs);
927
1048
  try {
928
1049
  await recorder.budgetGate.check({ model: modelName, payload: requestArgs });
929
1050
  const result = (await originalGenerate(...args));
930
1051
  const usage = result.response?.usageMetadata;
931
1052
  const promptTokens = usage?.promptTokenCount ?? 0;
932
1053
  const completionTokens = usage?.candidatesTokenCount ?? 0;
1054
+ const cachedReadTokens = usage?.cachedContentTokenCount ?? 0;
1055
+ const cost = calculateCostWithCache("gemini", modelName, promptTokens, completionTokens, cachedReadTokens, 0);
933
1056
  recorder.record({
934
1057
  id,
935
1058
  provider: "gemini",
@@ -937,10 +1060,12 @@ function wrapGeminiLegacyModel(model, modelName, recorder, config) {
937
1060
  promptTokens,
938
1061
  completionTokens,
939
1062
  totalTokens: usage?.totalTokenCount ?? promptTokens + completionTokens,
940
- costUsd: calculateCost("gemini", modelName, promptTokens, completionTokens),
1063
+ ...(cachedReadTokens > 0 ? { cachedReadTokens } : {}),
1064
+ costUsd: cost.costUsd,
1065
+ ...(cost.cacheSavingsUsd > 0 ? { cacheSavingsUsd: cost.cacheSavingsUsd } : {}),
941
1066
  latencyMs: Date.now() - start,
942
1067
  timestamp: new Date().toISOString(),
943
- tags: { ...(config.tags ?? {}) },
1068
+ tags: callTags,
944
1069
  ...buildTraceMeta(config),
945
1070
  requestMeta: buildGeminiRequestMeta(requestArgs),
946
1071
  });
@@ -958,7 +1083,7 @@ function wrapGeminiLegacyModel(model, modelName, recorder, config) {
958
1083
  costUsd: 0,
959
1084
  latencyMs: Date.now() - start,
960
1085
  timestamp: new Date().toISOString(),
961
- tags: { ...(config.tags ?? {}) },
1086
+ tags: callTags,
962
1087
  ...buildTraceMeta(config),
963
1088
  error: err instanceof Error ? err.message : String(err),
964
1089
  ...(errorDetails ? { errorDetails } : {}),
@@ -973,6 +1098,7 @@ function wrapGeminiLegacyModel(model, modelName, recorder, config) {
973
1098
  const start = Date.now();
974
1099
  const id = generateId();
975
1100
  const requestArgs = args[0];
1101
+ const callTags = buildTags(config, "gemini", requestArgs);
976
1102
  try {
977
1103
  await recorder.budgetGate.check({ model: modelName, payload: requestArgs });
978
1104
  const result = (await originalStream(...args));
@@ -989,6 +1115,8 @@ function wrapGeminiLegacyModel(model, modelName, recorder, config) {
989
1115
  const usage = finalResponse?.usageMetadata;
990
1116
  const promptTokens = usage?.promptTokenCount ?? 0;
991
1117
  const completionTokens = usage?.candidatesTokenCount ?? 0;
1118
+ const cachedReadTokens = usage?.cachedContentTokenCount ?? 0;
1119
+ const cost = calculateCostWithCache("gemini", modelName, promptTokens, completionTokens, cachedReadTokens, 0);
992
1120
  recorder.record({
993
1121
  id,
994
1122
  provider: "gemini",
@@ -996,10 +1124,12 @@ function wrapGeminiLegacyModel(model, modelName, recorder, config) {
996
1124
  promptTokens,
997
1125
  completionTokens,
998
1126
  totalTokens: usage?.totalTokenCount ?? promptTokens + completionTokens,
999
- costUsd: calculateCost("gemini", modelName, promptTokens, completionTokens),
1127
+ ...(cachedReadTokens > 0 ? { cachedReadTokens } : {}),
1128
+ costUsd: cost.costUsd,
1129
+ ...(cost.cacheSavingsUsd > 0 ? { cacheSavingsUsd: cost.cacheSavingsUsd } : {}),
1000
1130
  latencyMs: Date.now() - start,
1001
1131
  timestamp: new Date().toISOString(),
1002
- tags: { ...(config.tags ?? {}) },
1132
+ tags: callTags,
1003
1133
  ...buildTraceMeta(config),
1004
1134
  requestMeta: buildGeminiRequestMeta(requestArgs),
1005
1135
  });
@@ -1016,7 +1146,7 @@ function wrapGeminiLegacyModel(model, modelName, recorder, config) {
1016
1146
  costUsd: 0,
1017
1147
  latencyMs: Date.now() - start,
1018
1148
  timestamp: new Date().toISOString(),
1019
- tags: { ...(config.tags ?? {}) },
1149
+ tags: callTags,
1020
1150
  ...buildTraceMeta(config),
1021
1151
  error: err instanceof Error ? err.message : String(err),
1022
1152
  ...(errorDetails ? { errorDetails } : {}),
@@ -1039,7 +1169,7 @@ function wrapGeminiLegacyModel(model, modelName, recorder, config) {
1039
1169
  costUsd: 0,
1040
1170
  latencyMs: Date.now() - start,
1041
1171
  timestamp: new Date().toISOString(),
1042
- tags: { ...(config.tags ?? {}) },
1172
+ tags: callTags,
1043
1173
  ...buildTraceMeta(config),
1044
1174
  error: err instanceof Error ? err.message : String(err),
1045
1175
  ...(errorDetails ? { errorDetails } : {}),
@@ -1061,6 +1191,7 @@ function wrapGeminiNew(client, recorder, config) {
1061
1191
  const start = Date.now();
1062
1192
  const id = generateId();
1063
1193
  const requestArgs = args[0] || {};
1194
+ const callTags = buildTags(config, "gemini", requestArgs);
1064
1195
  const modelName = requestArgs.model || "unknown";
1065
1196
  try {
1066
1197
  await recorder.budgetGate.check({ model: modelName, payload: requestArgs });
@@ -1068,6 +1199,8 @@ function wrapGeminiNew(client, recorder, config) {
1068
1199
  const usage = result.usageMetadata;
1069
1200
  const promptTokens = usage?.promptTokenCount ?? 0;
1070
1201
  const completionTokens = usage?.candidatesTokenCount ?? 0;
1202
+ const cachedReadTokens = usage?.cachedContentTokenCount ?? 0;
1203
+ const cost = calculateCostWithCache("gemini", modelName, promptTokens, completionTokens, cachedReadTokens, 0);
1071
1204
  recorder.record({
1072
1205
  id,
1073
1206
  provider: "gemini",
@@ -1075,10 +1208,12 @@ function wrapGeminiNew(client, recorder, config) {
1075
1208
  promptTokens,
1076
1209
  completionTokens,
1077
1210
  totalTokens: usage?.totalTokenCount ?? promptTokens + completionTokens,
1078
- costUsd: calculateCost("gemini", modelName, promptTokens, completionTokens),
1211
+ ...(cachedReadTokens > 0 ? { cachedReadTokens } : {}),
1212
+ costUsd: cost.costUsd,
1213
+ ...(cost.cacheSavingsUsd > 0 ? { cacheSavingsUsd: cost.cacheSavingsUsd } : {}),
1079
1214
  latencyMs: Date.now() - start,
1080
1215
  timestamp: new Date().toISOString(),
1081
- tags: { ...(config.tags ?? {}) },
1216
+ tags: callTags,
1082
1217
  ...buildTraceMeta(config),
1083
1218
  requestMeta: buildGeminiNewRequestMeta(requestArgs),
1084
1219
  });
@@ -1096,7 +1231,7 @@ function wrapGeminiNew(client, recorder, config) {
1096
1231
  costUsd: 0,
1097
1232
  latencyMs: Date.now() - start,
1098
1233
  timestamp: new Date().toISOString(),
1099
- tags: { ...(config.tags ?? {}) },
1234
+ tags: callTags,
1100
1235
  ...buildTraceMeta(config),
1101
1236
  error: err instanceof Error ? err.message : String(err),
1102
1237
  ...(errorDetails ? { errorDetails } : {}),
@@ -1111,6 +1246,7 @@ function wrapGeminiNew(client, recorder, config) {
1111
1246
  const start = Date.now();
1112
1247
  const id = generateId();
1113
1248
  const requestArgs = args[0] || {};
1249
+ const callTags = buildTags(config, "gemini", requestArgs);
1114
1250
  const modelName = requestArgs.model || "unknown";
1115
1251
  try {
1116
1252
  await recorder.budgetGate.check({ model: modelName, payload: requestArgs });
@@ -1126,6 +1262,8 @@ function wrapGeminiNew(client, recorder, config) {
1126
1262
  }
1127
1263
  const promptTokens = lastUsage?.promptTokenCount ?? 0;
1128
1264
  const completionTokens = lastUsage?.candidatesTokenCount ?? 0;
1265
+ const cachedReadTokens = lastUsage?.cachedContentTokenCount ?? 0;
1266
+ const cost = calculateCostWithCache("gemini", modelName, promptTokens, completionTokens, cachedReadTokens, 0);
1129
1267
  recorder.record({
1130
1268
  id,
1131
1269
  provider: "gemini",
@@ -1133,10 +1271,12 @@ function wrapGeminiNew(client, recorder, config) {
1133
1271
  promptTokens,
1134
1272
  completionTokens,
1135
1273
  totalTokens: lastUsage?.totalTokenCount ?? promptTokens + completionTokens,
1136
- costUsd: calculateCost("gemini", modelName, promptTokens, completionTokens),
1274
+ ...(cachedReadTokens > 0 ? { cachedReadTokens } : {}),
1275
+ costUsd: cost.costUsd,
1276
+ ...(cost.cacheSavingsUsd > 0 ? { cacheSavingsUsd: cost.cacheSavingsUsd } : {}),
1137
1277
  latencyMs: Date.now() - start,
1138
1278
  timestamp: new Date().toISOString(),
1139
- tags: { ...(config.tags ?? {}) },
1279
+ tags: callTags,
1140
1280
  ...buildTraceMeta(config),
1141
1281
  requestMeta: buildGeminiNewRequestMeta(requestArgs),
1142
1282
  });
@@ -1155,7 +1295,7 @@ function wrapGeminiNew(client, recorder, config) {
1155
1295
  costUsd: 0,
1156
1296
  latencyMs: Date.now() - start,
1157
1297
  timestamp: new Date().toISOString(),
1158
- tags: { ...(config.tags ?? {}) },
1298
+ tags: callTags,
1159
1299
  ...buildTraceMeta(config),
1160
1300
  error: err instanceof Error ? err.message : String(err),
1161
1301
  ...(errorDetails ? { errorDetails } : {}),
@@ -1177,7 +1317,7 @@ function wrapGeminiNew(client, recorder, config) {
1177
1317
  costUsd: 0,
1178
1318
  latencyMs: Date.now() - start,
1179
1319
  timestamp: new Date().toISOString(),
1180
- tags: { ...(config.tags ?? {}) },
1320
+ tags: callTags,
1181
1321
  ...buildTraceMeta(config),
1182
1322
  error: err instanceof Error ? err.message : String(err),
1183
1323
  ...(errorDetails ? { errorDetails } : {}),
@@ -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/pricing.d.ts CHANGED
@@ -17,6 +17,19 @@ export declare const PRICING: Record<Provider, Record<string, PricingEntry>>;
17
17
  * under-estimate. A separate "unknown model alert" path is planned before launch.
18
18
  */
19
19
  export declare function calculateCost(provider: Provider, model: string, promptTokens: number, completionTokens: number): number;
20
+ /**
21
+ * キャッシュトークンを考慮した USD コスト + キャッシュ削減額。
22
+ *
23
+ * promptTokens は「キャッシュ読取 + 書込を含む input 合計」。 内訳:
24
+ * uncached = promptTokens − cachedReadTokens − cachedWriteTokens(下限 0)
25
+ * cost = uncached×input + cachedRead×input×readMult + cachedWrite×input×writeMult + completion×output
26
+ * savings = cachedRead×input×(1 − readMult) ← 読取割引の価値(書込プレミアムは savings に含めない)
27
+ * 未知モデルは {0, 0}。
28
+ */
29
+ export declare function calculateCostWithCache(provider: Provider, model: string, promptTokens: number, completionTokens: number, cachedReadTokens: number, cachedWriteTokens: number): {
30
+ costUsd: number;
31
+ cacheSavingsUsd: number;
32
+ };
20
33
  /**
21
34
  * Strip resource-path prefixes from a model name so PRICING lookup succeeds.
22
35
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIzD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAuFlE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAiBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxD;AAYD,qFAAqF;AACrF,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIzD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAuFlE,CAAC;AAoBF;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,GACxB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CA2B9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxD;AAYD,qFAAqF;AACrF,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
package/dist/pricing.js CHANGED
@@ -97,6 +97,23 @@ export const PRICING = {
97
97
  "codestral": { inputPer1M: 0.2, outputPer1M: 0.6 },
98
98
  },
99
99
  };
100
+ /**
101
+ * プロバイダ別のプロンプトキャッシュ単価倍率(input 単価に対する比率)。
102
+ * read = キャッシュ読取(割引)/ write = キャッシュ書込(プレミアム、 Anthropic のみ)
103
+ * 公式 2026-06-27 verify(各 provider 公式 pricing):
104
+ * - OpenAI 自動キャッシュ = 読取 input の 50%、 書込課金なし
105
+ * - Anthropic 明示キャッシュ = 読取 10% / 書込 125%(5 分 TTL 既定)。
106
+ * ⚠ 1 時間 TTL の書込は 200% だが、 token 内訳列を持たないため既定の 5 分 = 125% で計上
107
+ * (= 1h キャッシュ利用時のみ書込コストを軽め計上。 詳細は pricing-update-runbook.md)
108
+ * - Gemini context cache = 読取 10%(2026-06 に 25%→10% へ改定、 公式 verify 済)
109
+ * - Mistral = キャッシュ課金なし
110
+ */
111
+ const CACHE_MULTIPLIERS = {
112
+ openai: { read: 0.5, write: 1.0 },
113
+ anthropic: { read: 0.1, write: 1.25 },
114
+ gemini: { read: 0.1, write: 1.0 },
115
+ mistral: { read: 1.0, write: 1.0 },
116
+ };
100
117
  /**
101
118
  * Calculate USD cost for a single LLM call.
102
119
  *
@@ -104,20 +121,42 @@ export const PRICING = {
104
121
  * under-estimate. A separate "unknown model alert" path is planned before launch.
105
122
  */
106
123
  export function calculateCost(provider, model, promptTokens, completionTokens) {
124
+ return calculateCostWithCache(provider, model, promptTokens, completionTokens, 0, 0)
125
+ .costUsd;
126
+ }
127
+ /**
128
+ * キャッシュトークンを考慮した USD コスト + キャッシュ削減額。
129
+ *
130
+ * promptTokens は「キャッシュ読取 + 書込を含む input 合計」。 内訳:
131
+ * uncached = promptTokens − cachedReadTokens − cachedWriteTokens(下限 0)
132
+ * cost = uncached×input + cachedRead×input×readMult + cachedWrite×input×writeMult + completion×output
133
+ * savings = cachedRead×input×(1 − readMult) ← 読取割引の価値(書込プレミアムは savings に含めない)
134
+ * 未知モデルは {0, 0}。
135
+ */
136
+ export function calculateCostWithCache(provider, model, promptTokens, completionTokens, cachedReadTokens, cachedWriteTokens) {
107
137
  const providerPricing = PRICING[provider];
108
138
  if (!providerPricing) {
109
139
  warnOnceUnknown(`${provider}:${model}`, `unknown provider "${provider}"`);
110
- return 0;
140
+ return { costUsd: 0, cacheSavingsUsd: 0 };
111
141
  }
112
142
  const normalized = normalizeModelName(model);
113
143
  const entry = matchPricingEntry(providerPricing, normalized);
114
144
  if (!entry) {
115
145
  warnOnceUnknown(`${provider}:${model}`, `unknown ${provider} model "${model}"`);
116
- return 0;
146
+ return { costUsd: 0, cacheSavingsUsd: 0 };
117
147
  }
118
- const inputCost = (promptTokens / 1_000_000) * entry.inputPer1M;
148
+ const mult = CACHE_MULTIPLIERS[provider];
149
+ const read = Math.max(0, cachedReadTokens);
150
+ const write = Math.max(0, cachedWriteTokens);
151
+ const uncached = Math.max(0, promptTokens - read - write);
152
+ const inRate = entry.inputPer1M / 1_000_000;
153
+ const inputCost = uncached * inRate + read * inRate * mult.read + write * inRate * mult.write;
119
154
  const outputCost = (completionTokens / 1_000_000) * entry.outputPer1M;
120
- return Math.round((inputCost + outputCost) * 1_000_000) / 1_000_000;
155
+ const cacheSavingsUsd = read * inRate * (1 - mult.read);
156
+ return {
157
+ costUsd: Math.round((inputCost + outputCost) * 1_000_000) / 1_000_000,
158
+ cacheSavingsUsd: Math.round(cacheSavingsUsd * 1_000_000) / 1_000_000,
159
+ };
121
160
  }
122
161
  /**
123
162
  * Strip resource-path prefixes from a model name so PRICING lookup succeeds.
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAmD;IACrE,MAAM,EAAE;QACN,SAAS,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACjD,SAAS,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACjD,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;QACtD,cAAc,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACtD,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QACxD,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;QACpD,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;QACpD,QAAQ,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QAChD,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;QACrD,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;KAClD;IACD,SAAS,EAAE;QACT,kBAAkB;QAClB,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QACzD,iBAAiB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QAC1D,4EAA4E;QAC5E,iBAAiB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACzD,iBAAiB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACzD,iBAAiB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACzD,iBAAiB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACzD,mBAAmB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QAC3D,mBAAmB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QAC3D,kBAAkB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACzD,sBAAsB;QACtB,0BAA0B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QACnE,iBAAiB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QAC1D,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QACjE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QACxD,0BAA0B,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QAClE,iBAAiB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACzD,oBAAoB;QACpB,0BAA0B,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QAClE,4BAA4B,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACpE,mBAAmB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QAC3D,yBAAyB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QAChE,2BAA2B,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QAClE,kBAAkB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACzD,kBAAkB;QAClB,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QACxD,iBAAiB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACzD,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;KAC1D;IACD,MAAM,EAAE;QACN,+DAA+D;QAC/D,kBAAkB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACzD,0FAA0F;QAC1F,gBAAgB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACxD,gBAAgB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACvD,0DAA0D;QAC1D,wFAAwF;QACxF,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QACzD,kBAAkB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACzD,kBAAkB;QAClB,kBAAkB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACzD,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;QACxD,qCAAqC;QACrC,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;QACxD,kBAAkB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;KAC5D;IACD,OAAO,EAAE;QACP,2EAA2E;QAC3E,8EAA8E;QAC9E,qDAAqD;QACrD,mDAAmD;QACnD,sBAAsB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QAC7D,uBAAuB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QAC9D,sBAAsB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QAC7D,qBAAqB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QAC5D,qBAAqB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QAC9D,sBAAsB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QAC7D,kBAAkB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACzD,cAAc;QACd,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QAC5D,mBAAmB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QAC1D,oBAAoB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QAC3D,wEAAwE;QACxE,eAAe,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACtD,eAAe,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACtD,gBAAgB,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACvD,cAAc,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACrD,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;QACvD,eAAe,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;QACtD,WAAW,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;KACnD;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAkB,EAClB,KAAa,EACb,YAAoB,EACpB,gBAAwB;IAExB,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,EAAE,qBAAqB,QAAQ,GAAG,CAAC,CAAC;QAC1E,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,eAAe,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,EAAE,WAAW,QAAQ,WAAW,KAAK,GAAG,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;IAChE,MAAM,UAAU,GAAG,CAAC,gBAAgB,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;IACtE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;AACtE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,OAAe;IACnD,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IACzC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,sCAAsC;IACtC,OAAO,CAAC,IAAI,CACV,cAAc,OAAO,8DAA8D;QACjF,kGAAkG,CACrG,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,sBAAsB;IACpC,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,eAA6C,EAC7C,KAAa;IAEb,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAE1D,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACtD,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;YAC1E,UAAU,GAAG,UAAU,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -6,6 +6,15 @@ export interface ArgosvixConfig {
6
6
  endpoint?: string;
7
7
  /** Tags attached to every record (e.g. service / env / userId). */
8
8
  tags?: Record<string, string>;
9
+ /**
10
+ * provider の opaque なエンドユーザー識別子 (OpenAI: safety_identifier、
11
+ * Anthropic: metadata.user_id) を自動で `userId` タグに carry するか。 既定 true。
12
+ * 既にこれらを provider へ渡しているアプリは設定ゼロで dashboard の per-user 集計
13
+ * (/users) が効く。 PII が入りやすい OpenAI 旧 `user` は対象外 (= 必要なら明示
14
+ * `tags.userId` で carry)。 明示の `tags.userId` があればそちらを優先 (= 上書き
15
+ * しない)。 自動取得を無効化したい場合のみ false を指定する。
16
+ */
17
+ captureUserId?: boolean;
9
18
  /** Disable record submission entirely (e.g. for local dev). Defaults to false. */
10
19
  disabled?: boolean;
11
20
  /** Buffer flush interval in milliseconds. Defaults to 5000. */
@@ -146,8 +155,14 @@ export interface LlmCallRecord {
146
155
  promptTokens: number;
147
156
  completionTokens: number;
148
157
  totalTokens: number;
158
+ /** プロンプトキャッシュ読取トークン(promptTokens の内数、割引課金)。なければ 0。 */
159
+ cachedReadTokens?: number;
160
+ /** プロンプトキャッシュ書込トークン(Anthropic のみ、プレミアム課金)。なければ 0。 */
161
+ cachedWriteTokens?: number;
149
162
  /** USD value with 6 decimal places (sufficient for GPT-4o input $5 / 1M tokens granularity). */
150
163
  costUsd: number;
164
+ /** キャッシュ読取で削減できた USD(キャッシュ無し input との差額)。なければ 0。 */
165
+ cacheSavingsUsd?: number;
151
166
  /** End-to-end call latency in milliseconds. */
152
167
  latencyMs: number;
153
168
  /** ISO 8601 UTC timestamp. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@argosvix/sdk",
3
- "version": "0.4.3-alpha.2",
3
+ "version": "0.4.5-alpha.0",
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",