@shpitdev/convex-cliproxy-observability 0.2.2 → 0.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/protocols/checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/protocols/checkpoint.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export type CliproxyProjection = {
20
20
  totalTokens?: number;
21
21
  reasoningTokens?: number;
22
22
  cachedInputTokens?: number;
23
+ cacheCreationInputTokens?: number;
23
24
  statusJson?: string;
24
25
  };
25
26
  metadata: RecordValue;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAC7F,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9E,YAAY,EAAE,eAAe,CAAC;IAC9B,aAAa,EAAE,eAAe,CAAC;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAC7F,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9E,YAAY,EAAE,eAAe,CAAC;IAC9B,aAAa,EAAE,eAAe,CAAC;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC"}
@@ -1,3 +1,21 @@
1
+ import { type TokenField } from "../model-call/index.js";
1
2
  import type { CliproxyProjection, RecordValue } from "./types.js";
3
+ /**
4
+ * The one token normalization rule, read from terminal native usage (`details.field` for
5
+ * nested counts). `first` takes the first listed field reported. `base` needs its field and
6
+ * adds each `plus` field, counting an absent one as 0. Input includes cache reads and writes,
7
+ * as OpenAI-style usage reports it. Anthropic reports them apart from `input_tokens` and omits
8
+ * them when no cache is used, as do CLIProxy's translators, so its input is the sum.
9
+ * `totalTokens` is only ever the reported `total_tokens`; Anthropic reports none and it is
10
+ * never summed. Nothing is manufactured from byte or text lengths.
11
+ */
12
+ declare const TOKEN_NORMALIZATION: Record<Exclude<CliproxyProjection["protocol"], "unknown">, Record<TokenField, {
13
+ first: readonly string[];
14
+ } | {
15
+ base: string;
16
+ plus: readonly string[];
17
+ }>>;
18
+ export declare function normalizeUsage(protocol: keyof typeof TOKEN_NORMALIZATION, reported: ReadonlyMap<string, number>): Partial<Record<TokenField, number>>;
2
19
  export declare function extractUsage(projection: CliproxyProjection, raw: RecordValue): void;
20
+ export {};
3
21
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/protocols/usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElE,wBAAgB,YAAY,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW,QAiC5E"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/protocols/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIlE;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,EAAE,MAAM,CAC/B,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,EAClD,MAAM,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAwC7F,CAAC;AACF,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,OAAO,mBAAmB,EAC1C,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAiBrC;AAYD,wBAAgB,YAAY,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW,QAK5E"}
@@ -1,27 +1,91 @@
1
- import { count, object } from "./values.js";
1
+ import { TOKEN_FIELDS } from "../model-call/index.js";
2
+ import { count } from "./values.js";
3
+ /** Names the rule below in each usage measurement. */
4
+ const USAGE_SEMANTICS = "client_protocol_usage_v2";
5
+ /**
6
+ * The one token normalization rule, read from terminal native usage (`details.field` for
7
+ * nested counts). `first` takes the first listed field reported. `base` needs its field and
8
+ * adds each `plus` field, counting an absent one as 0. Input includes cache reads and writes,
9
+ * as OpenAI-style usage reports it. Anthropic reports them apart from `input_tokens` and omits
10
+ * them when no cache is used, as do CLIProxy's translators, so its input is the sum.
11
+ * `totalTokens` is only ever the reported `total_tokens`; Anthropic reports none and it is
12
+ * never summed. Nothing is manufactured from byte or text lengths.
13
+ */
14
+ const TOKEN_NORMALIZATION = {
15
+ anthropic_messages: {
16
+ inputTokens: {
17
+ base: "input_tokens",
18
+ plus: ["cache_read_input_tokens", "cache_creation_input_tokens"],
19
+ },
20
+ outputTokens: { first: ["output_tokens"] },
21
+ totalTokens: { first: ["total_tokens"] },
22
+ reasoningTokens: { first: ["output_tokens_details.thinking_tokens"] },
23
+ cachedInputTokens: { first: ["cache_read_input_tokens"] },
24
+ cacheCreationInputTokens: { first: ["cache_creation_input_tokens"] },
25
+ },
26
+ responses: {
27
+ inputTokens: { first: ["input_tokens"] },
28
+ outputTokens: { first: ["output_tokens"] },
29
+ totalTokens: { first: ["total_tokens"] },
30
+ reasoningTokens: { first: ["output_tokens_details.reasoning_tokens"] },
31
+ cachedInputTokens: { first: ["input_tokens_details.cached_tokens"] },
32
+ cacheCreationInputTokens: {
33
+ first: [
34
+ "input_tokens_details.cache_write_tokens",
35
+ "input_tokens_details.cache_creation_tokens",
36
+ ],
37
+ },
38
+ },
39
+ chat_completions: {
40
+ inputTokens: { first: ["prompt_tokens"] },
41
+ outputTokens: { first: ["completion_tokens"] },
42
+ totalTokens: { first: ["total_tokens"] },
43
+ reasoningTokens: { first: ["completion_tokens_details.reasoning_tokens"] },
44
+ cachedInputTokens: { first: ["prompt_tokens_details.cached_tokens"] },
45
+ cacheCreationInputTokens: {
46
+ first: [
47
+ "prompt_tokens_details.cache_write_tokens",
48
+ "prompt_tokens_details.cached_creation_tokens",
49
+ "prompt_tokens_details.cache_creation_tokens",
50
+ ],
51
+ },
52
+ },
53
+ };
54
+ export function normalizeUsage(protocol, reported) {
55
+ const out = {};
56
+ for (const field of TOKEN_FIELDS) {
57
+ const rule = TOKEN_NORMALIZATION[protocol][field];
58
+ if ("first" in rule) {
59
+ out[field] = rule.first
60
+ .map((name) => reported.get(name))
61
+ .find((value) => value !== undefined);
62
+ continue;
63
+ }
64
+ const base = reported.get(rule.base);
65
+ out[field] =
66
+ base === undefined
67
+ ? undefined
68
+ : count(rule.plus.reduce((total, name) => total + (reported.get(name) ?? 0), base));
69
+ }
70
+ return out;
71
+ }
72
+ /** Native counts keyed as usage measurements name them. */
73
+ function reportedCounts(raw) {
74
+ const reported = new Map();
75
+ for (const [key, value] of Object.entries(raw)) {
76
+ if (count(value) !== undefined)
77
+ reported.set(key, value);
78
+ else if (value && typeof value === "object" && !Array.isArray(value))
79
+ for (const [field, nested] of Object.entries(value))
80
+ if (count(nested) !== undefined)
81
+ reported.set(`${key}.${field}`, nested);
82
+ }
83
+ return reported;
84
+ }
2
85
  export function extractUsage(projection, raw) {
3
- // Anthropic reports disjoint uncached/cache creation/cache read input counts.
4
- // Never manufacture totals, costs, or token counts from byte/text lengths.
5
86
  projection.metadata.usage = raw;
6
- const anthropic = projection.protocol === "anthropic_messages";
7
- const responses = projection.protocol === "responses";
8
- const nativeInput = count(raw.input_tokens);
9
- const cacheRead = count(raw.cache_read_input_tokens);
10
- const cacheCreated = count(raw.cache_creation_input_tokens);
11
- const anthropicInput = nativeInput !== undefined && cacheRead !== undefined && cacheCreated !== undefined
12
- ? count(nativeInput + cacheRead + cacheCreated)
13
- : undefined;
14
- Object.assign(projection.scalars, {
15
- inputTokens: anthropic ? anthropicInput : responses ? nativeInput : count(raw.prompt_tokens),
16
- outputTokens: count(raw[anthropic || responses ? "output_tokens" : "completion_tokens"]),
17
- totalTokens: count(raw.total_tokens),
18
- cachedInputTokens: count(anthropic
19
- ? raw.cache_read_input_tokens
20
- : object(raw[responses ? "input_tokens_details" : "prompt_tokens_details"]).cached_tokens),
21
- reasoningTokens: count(object(raw[anthropic || responses ? "output_tokens_details" : "completion_tokens_details"])[anthropic ? "thinking_tokens" : "reasoning_tokens"]),
22
- });
23
- projection.metadata.tokenSemantics = anthropic
24
- ? "input_is_sum_of_reported_input_cache_creation_cache_read; cached_input_is_cache_read; missing_components_mean_unknown; no_synthesized_total"
25
- : "input_includes_reported_cached_input; terminal_usage_snapshot";
87
+ projection.metadata.tokenSemantics = USAGE_SEMANTICS;
88
+ if (projection.protocol !== "unknown")
89
+ Object.assign(projection.scalars, normalizeUsage(projection.protocol, reportedCounts(raw)));
26
90
  }
27
91
  //# sourceMappingURL=usage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/protocols/usage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,UAAU,YAAY,CAAC,UAA8B,EAAE,GAAgB;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;IAChC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,KAAK,oBAAoB,CAAC;IAE/D,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,KAAK,WAAW,CAAC;IAEtD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC5D,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;QAChF,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE;QAChC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;QAC5F,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACxF,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,iBAAiB,EAAE,KAAK,CACtB,SAAS;YACP,CAAC,CAAC,GAAG,CAAC,uBAAuB;YAC7B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa,CAC5F;QACD,eAAe,EAAE,KAAK,CACpB,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CACzF,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CACnD,CACF;KACF,CAAC,CAAC;IACH,UAAU,CAAC,QAAQ,CAAC,cAAc,GAAG,SAAS;QAC5C,CAAC,CAAC,6IAA6I;QAC/I,CAAC,CAAC,+DAA+D,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/protocols/usage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shpitdev/convex-cliproxy-observability",
3
3
  "description": "Private stock CLIProxy capture, protocol projections, and bounded model-call reads.",
4
- "version": "0.2.2",
4
+ "version": "0.3.0",
5
5
  "author": "Anand Pant",
6
6
  "license": "Apache-2.0",
7
7
  "repository": "github:anandpant/convex-components",
package/src/client.ts CHANGED
@@ -8,7 +8,11 @@ import type {
8
8
  import type { ComponentApi } from "./component/_generated/component.js";
9
9
  import type { CaptureObservationV1 } from "./capture/index.js";
10
10
  import { MAX_ENVELOPE_BYTES, validateSegment, sha256 } from "./capture/index.js";
11
- import type { ModelCallV1, PrivateContentReference } from "./model-call/index.js";
11
+ import {
12
+ providerIdentity,
13
+ type ModelCallV1,
14
+ type PrivateContentReference,
15
+ } from "./model-call/index.js";
12
16
  import type { PrivateCaptureStorage } from "./content/index.js";
13
17
  import { nanoTime, protocolForRoute, PARSER_VERSION } from "./protocols/index.js";
14
18
  export * from "./model-call/index.js";
@@ -63,6 +67,7 @@ export function initialCall(
63
67
  callId: string,
64
68
  receivedAt: number,
65
69
  ): ModelCallV1 {
70
+ const requestModel = o.requestedModel?.slice(0, 256);
66
71
  return {
67
72
  schemaVersion: 1,
68
73
  source: "cliproxy",
@@ -78,7 +83,8 @@ export function initialCall(
78
83
  executionId: o.requestId,
79
84
  sourceTraceId: o.sourceTraceId,
80
85
  traceId: o.correlation?.traceId,
81
- requestModel: o.requestedModel?.slice(0, 256),
86
+ requestModel,
87
+ ...providerIdentity({ requestModel }),
82
88
  operation:
83
89
  o.route === "GET /v1/models"
84
90
  ? "discovery"
@@ -93,6 +99,7 @@ export function initialCall(
93
99
  correlationConflicts: o.correlationConflicts ?? [],
94
100
  usage: [],
95
101
  cost: { kind: "unknown" },
102
+ costProvenance: "unknown",
96
103
  attemptDetail: "unavailable",
97
104
  capture: {
98
105
  raw: "partial",
@@ -1,4 +1,5 @@
1
- import type { ModelCallV1 } from "../model-call/index.js";
1
+ import { providerIdentity, type ModelCallV1 } from "../model-call/index.js";
2
+ import { normalizeUsage } from "../protocols/usage.js";
2
3
  import { v } from "convex/values";
3
4
  import { query, type QueryCtx } from "./_generated/server.js";
4
5
  async function summaryView(
@@ -12,6 +13,28 @@ async function summaryView(
12
13
  },
13
14
  ) {
14
15
  const summary = JSON.parse(row.summaryJson) as ModelCallV1;
16
+ // Summaries projected before 0.3.0 lack these. Derive them from the facts they recorded,
17
+ // keeping any stored provider name as observed and applying the current token rule to
18
+ // their final native counts.
19
+ if (summary.providerProvenance === undefined) {
20
+ Object.assign(
21
+ summary,
22
+ providerIdentity({ ...summary, observedProvider: summary.providerName }),
23
+ );
24
+ summary.costProvenance = summary.cost.kind;
25
+ if (
26
+ summary.capture.usage === "complete" &&
27
+ summary.clientProtocol !== undefined &&
28
+ summary.clientProtocol !== "unknown"
29
+ )
30
+ Object.assign(
31
+ summary,
32
+ normalizeUsage(
33
+ summary.clientProtocol,
34
+ new Map(summary.usage.map((measurement) => [measurement.nativeField, measurement.value])),
35
+ ),
36
+ );
37
+ }
15
38
  if (summary.state === "in_progress" && row.terminalSequence === undefined) {
16
39
  const source = await ctx.db
17
40
  .query("sourceStatus")
@@ -33,6 +33,27 @@ export type PrivateContentReference = {
33
33
  byteLength: number;
34
34
  contentType: string;
35
35
  };
36
+ /**
37
+ * Where `providerName` came from. Only `observed` is recorded identity. A wire format
38
+ * names an API family, not a vendor account; a model name is a guess.
39
+ */
40
+ export type ProviderProvenance =
41
+ "observed" | "derived_from_wire_format" | "derived_from_model" | "unavailable";
42
+ export type ModelCallCost =
43
+ | { kind: "unknown" }
44
+ | { kind: "provider_billed" | "proxy_reported"; currency: string; total: string };
45
+ /** Who reported `cost`. Nothing estimates cost, so native CLIProxy calls stay `unknown`. */
46
+ export type CostProvenance = ModelCallCost["kind"];
47
+ /** Per-call token counts, named and counted as the OpenRouter component names them. */
48
+ export const TOKEN_FIELDS = [
49
+ "inputTokens",
50
+ "outputTokens",
51
+ "totalTokens",
52
+ "reasoningTokens",
53
+ "cachedInputTokens",
54
+ "cacheCreationInputTokens",
55
+ ] as const;
56
+ export type TokenField = (typeof TOKEN_FIELDS)[number];
36
57
  export type ModelCallV1 = {
37
58
  schemaVersion: 1;
38
59
  source: ModelCallSource;
@@ -58,8 +79,11 @@ export type ModelCallV1 = {
58
79
  executionModel?: string;
59
80
  selectedAuthId?: string;
60
81
  selectedAuthIndex?: string;
82
+ /** CLIProxy's upstream wire format (ToFormat) from the last after-auth event. */
61
83
  executionProtocol?: string;
62
84
  providerName?: string;
85
+ /** Stored from 0.3.0; reads derive it for older summaries. */
86
+ providerProvenance?: ProviderProvenance;
63
87
  streamed?: boolean;
64
88
  operation: "generation" | "token_count" | "discovery" | "unknown";
65
89
  tokenCount?: number;
@@ -82,10 +106,11 @@ export type ModelCallV1 = {
82
106
  totalTokens?: number;
83
107
  reasoningTokens?: number;
84
108
  cachedInputTokens?: number;
109
+ cacheCreationInputTokens?: number;
85
110
  usage: UsageMeasurement[];
86
- cost:
87
- | { kind: "unknown" }
88
- | { kind: "provider_billed" | "proxy_reported"; currency: string; total: string };
111
+ cost: ModelCallCost;
112
+ /** Mirrors `cost.kind`. Stored from 0.3.0; reads derive it for older summaries. */
113
+ costProvenance?: CostProvenance;
89
114
  attemptDetail: "unavailable";
90
115
  capture: {
91
116
  raw: EvidenceState;
@@ -108,6 +133,57 @@ export type ModelCallV1 = {
108
133
  };
109
134
  export type ModelCallSummaryV1 = ModelCallV1;
110
135
 
136
+ /**
137
+ * CLIProxy upstream wire formats (the after-auth ToFormat), by API family. A format names
138
+ * the protocol CLIProxy speaks upstream, not the vendor account behind it: `claude` also
139
+ * reaches other Anthropic-compatible hosts, and CLIProxy uses `codex` for xAI and Meta too.
140
+ */
141
+ export const PROVIDER_BY_WIRE_FORMAT: Readonly<Record<string, string>> = {
142
+ claude: "anthropic",
143
+ openai: "openai",
144
+ "openai-response": "openai",
145
+ codex: "openai",
146
+ gemini: "google",
147
+ "gemini-cli": "google",
148
+ antigravity: "google",
149
+ };
150
+ /** Requested-model prefixes: a guess from the model name. */
151
+ export const PROVIDER_BY_MODEL_PREFIX: ReadonlyArray<readonly [RegExp, string]> = [
152
+ [/^claude-/, "anthropic"],
153
+ [/^gpt-/, "openai"],
154
+ [/^o\d/, "openai"],
155
+ [/^codex/, "openai"],
156
+ [/^gemini-/, "google"],
157
+ ];
158
+ /**
159
+ * Provider identity from one call's recorded facts, never from time or call order: an
160
+ * observed provider, else the wire format's API family, else a guess from the requested
161
+ * model. An absent or unmapped wire format falls back to the model rule.
162
+ */
163
+ export function providerIdentity(
164
+ facts: Pick<ModelCallV1, "requestModel" | "executionProtocol"> & {
165
+ /** A provider named by the recording itself, such as an OpenRouter span. */
166
+ observedProvider?: string;
167
+ },
168
+ ): Pick<ModelCallV1, "providerName" | "providerProvenance"> {
169
+ if (facts.observedProvider)
170
+ return { providerName: facts.observedProvider, providerProvenance: "observed" };
171
+ if (
172
+ facts.executionProtocol !== undefined &&
173
+ Object.hasOwn(PROVIDER_BY_WIRE_FORMAT, facts.executionProtocol)
174
+ )
175
+ return {
176
+ providerName: PROVIDER_BY_WIRE_FORMAT[facts.executionProtocol],
177
+ providerProvenance: "derived_from_wire_format",
178
+ };
179
+ const providerName = PROVIDER_BY_MODEL_PREFIX.find(([prefix]) =>
180
+ prefix.test(facts.requestModel ?? ""),
181
+ )?.[1];
182
+ return providerName
183
+ ? { providerName, providerProvenance: "derived_from_model" }
184
+ : { providerName: undefined, providerProvenance: "unavailable" };
185
+ }
186
+
111
187
  /** Structural input: there is no runtime dependency on the OpenRouter component. */
112
188
  export type OpenRouterSpanInput = {
113
189
  _id: string;
@@ -139,6 +215,7 @@ export type OpenRouterSpanInput = {
139
215
  totalTokens?: number;
140
216
  reasoningTokens?: number;
141
217
  cachedInputTokens?: number;
218
+ cacheCreationInputTokens?: number;
142
219
  };
143
220
  export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
144
221
  const correlation: ExactCorrelation = {};
@@ -152,13 +229,7 @@ export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
152
229
  if (span[field] !== undefined) correlation[field] = span[field];
153
230
  }
154
231
  const usage: UsageMeasurement[] = [];
155
- for (const field of [
156
- "inputTokens",
157
- "outputTokens",
158
- "totalTokens",
159
- "reasoningTokens",
160
- "cachedInputTokens",
161
- ] as const) {
232
+ for (const field of TOKEN_FIELDS) {
162
233
  const value = span[field];
163
234
  if (value !== undefined && Number.isSafeInteger(value) && value >= 0)
164
235
  usage.push({
@@ -171,6 +242,11 @@ export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
171
242
  semanticsVersion: "stored_openrouter_span_v1",
172
243
  });
173
244
  }
245
+ const reported = span.totalCost ?? span.openrouterUsageCost;
246
+ const cost: ModelCallCost =
247
+ typeof reported === "number" && Number.isFinite(reported) && reported >= 0
248
+ ? { kind: "proxy_reported", currency: "USD", total: String(reported) }
249
+ : { kind: "unknown" };
174
250
  return {
175
251
  schemaVersion: 1,
176
252
  source: "openrouter",
@@ -183,7 +259,7 @@ export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
183
259
  parentSpanId: span.parentSpanId,
184
260
  requestModel: span.requestModel,
185
261
  responseModel: span.responseModel,
186
- providerName: span.providerName,
262
+ ...providerIdentity({ observedProvider: span.providerName }),
187
263
  streamed: span.streamed,
188
264
  operation: "generation",
189
265
  state: "unknown",
@@ -198,17 +274,10 @@ export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
198
274
  totalTokens: span.totalTokens,
199
275
  reasoningTokens: span.reasoningTokens,
200
276
  cachedInputTokens: span.cachedInputTokens,
277
+ cacheCreationInputTokens: span.cacheCreationInputTokens,
201
278
  usage,
202
- cost:
203
- typeof (span.totalCost ?? span.openrouterUsageCost) === "number" &&
204
- Number.isFinite(span.totalCost ?? span.openrouterUsageCost) &&
205
- (span.totalCost ?? span.openrouterUsageCost)! >= 0
206
- ? {
207
- kind: "proxy_reported",
208
- currency: "USD",
209
- total: String(span.totalCost ?? span.openrouterUsageCost),
210
- }
211
- : { kind: "unknown" },
279
+ cost,
280
+ costProvenance: cost.kind,
212
281
  attemptDetail: "unavailable",
213
282
  capture: {
214
283
  raw: "unavailable",
@@ -231,7 +300,9 @@ export function fromLegacyCliproxySpan(span: OpenRouterSpanInput): ModelCallV1 {
231
300
  callId: `cliproxy_legacy:${span._id}`,
232
301
  gateway: "cliproxy",
233
302
  providerName: undefined,
303
+ providerProvenance: "unavailable",
234
304
  timingSource: "unavailable",
235
305
  cost: { kind: "unknown" },
306
+ costProvenance: "unknown",
236
307
  };
237
308
  }
@@ -1,7 +1,9 @@
1
- import type {
2
- ModelCallV1,
3
- UsageMeasurement,
4
- PrivateContentReference,
1
+ import {
2
+ providerIdentity,
3
+ TOKEN_FIELDS,
4
+ type ModelCallV1,
5
+ type UsageMeasurement,
6
+ type PrivateContentReference,
5
7
  } from "../model-call/index.js";
6
8
  import type { CaptureObservationV1 } from "../capture/index.js";
7
9
  import { decodeBody } from "../capture/index.js";
@@ -52,6 +54,9 @@ function boundedUsage(value: unknown): RecordValue {
52
54
  const safe: RecordValue = {};
53
55
  for (const name of [
54
56
  "cached_tokens",
57
+ "cache_write_tokens",
58
+ "cached_creation_tokens",
59
+ "cache_creation_tokens",
55
60
  "reasoning_tokens",
56
61
  "thinking_tokens",
57
62
  "ephemeral_5m_input_tokens",
@@ -223,6 +228,8 @@ export function applyObservation(
223
228
  state.invalid = true;
224
229
  }
225
230
  }
231
+ // Derived read fields: reads fill them only for summaries projected before 0.3.0.
232
+ Object.assign(call, providerIdentity(call), { costProvenance: call.cost.kind });
226
233
  if (o.kind === "response" || o.kind === "stream_chunk" || o.kind === "completion") {
227
234
  if (call.timeToFirstByteMs === undefined && (o.observedBodyBytes ?? body.length) > 0)
228
235
  call.timeToFirstByteMs = o.offsetNs / 1e6;
@@ -341,14 +348,7 @@ export function applyObservation(
341
348
  }
342
349
  }
343
350
  call.usage = measurements;
344
- for (const field of [
345
- "inputTokens",
346
- "outputTokens",
347
- "totalTokens",
348
- "reasoningTokens",
349
- "cachedInputTokens",
350
- ] as const)
351
- call[field] = final ? projection.scalars[field] : undefined;
351
+ for (const field of TOKEN_FIELDS) call[field] = final ? projection.scalars[field] : undefined;
352
352
  }
353
353
  call.capture.lastObservedAt = o.observedAt;
354
354
  call.capture.projectedThroughSequence = o.sequence;
@@ -20,6 +20,7 @@ export type CliproxyProjection = {
20
20
  totalTokens?: number;
21
21
  reasoningTokens?: number;
22
22
  cachedInputTokens?: number;
23
+ cacheCreationInputTokens?: number;
23
24
  statusJson?: string;
24
25
  };
25
26
  metadata: RecordValue;