@shpitdev/convex-cliproxy-observability 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.2
4
+
5
+ - Return retryable HTTP 503 when a valid health record cannot be saved, instead of HTTP 400 that permanently quarantines the native exporter. Invalid health input is rejected before the backend write. Segment persistence failures continue to return 503.
6
+ - Native plugin/exporter binaries, capture schema, credentials and queued records are unchanged. Updating the receiver package does not require a CLIProxy restart.
7
+
8
+ ## 0.3.1
9
+
10
+ - `fromOpenRouterSpan` adds a BYOK call's `byokInferenceUsageCost` to OpenRouter's charge, so `cost.total` is the call's inference cost instead of OpenRouter's fee alone. A BYOK span without that cost now has `cost.kind: "unknown"`. The structural `OpenRouterSpanInput` accepts `isByok` and `byokInferenceUsageCost`.
11
+ - Native plugin/exporter source, native reported version (0.2.0), capture schema and ABI are unchanged. Updating the npm package does not require a native host upgrade.
12
+
3
13
  ## 0.3.0
4
14
 
5
15
  - `ModelCallV1` contract change: native CLIProxy calls now carry a derived `providerName`, which was always absent for them before. New optional fields are `providerProvenance` (`observed`, `derived_from_wire_format`, `derived_from_model` or `unavailable`), `costProvenance` (mirrors `cost.kind`) and `cacheCreationInputTokens`. Anthropic Messages `inputTokens` now counts an absent cache read or write as 0 instead of leaving input unknown, and usage measurements name `client_protocol_usage_v2`. Code that constructs `ModelCallV1` needs no new fields.
package/README.md CHANGED
@@ -54,7 +54,7 @@ Token fields use the OpenRouter names and unit (tokens per call): `inputTokens`,
54
54
 
55
55
  Every reported native count also stays in `usage` as a `UsageMeasurement` with its `nativeField`, `finality` and `semanticsVersion: "client_protocol_usage_v2"`.
56
56
 
57
- Cost is never estimated. Native calls keep `cost: { kind: "unknown" }` with `costProvenance: "unknown"`, because CLIProxy's client protocols report no price. `fromOpenRouterSpan` keeps OpenRouter's charge as a `proxy_reported` USD cost.
57
+ Cost is never estimated. Native calls keep `cost: { kind: "unknown" }` with `costProvenance: "unknown"`, because CLIProxy's client protocols report no price. `fromOpenRouterSpan` keeps OpenRouter's charge as a `proxy_reported` USD cost. On a BYOK call that charge is only OpenRouter's fee, so the adapter adds `byokInferenceUsageCost`, the inference billed to the caller's own provider key; a BYOK span without it has an `unknown` cost.
58
58
 
59
59
  `providerProvenance` and `costProvenance` are optional in `ModelCallV1`. Summaries projected by 0.3.0 or later store them. For older summaries, `getCall` and `pageRecentSummaries` derive them from the facts those summaries recorded. The same reads apply the current token rule to an older summary's final native counts, which adds `cacheCreationInputTokens` and counts absent Messages cache counts as 0. Stored rows are not rewritten.
60
60
 
@@ -65,7 +65,7 @@ Projected summaries of the real recordings measure 1,783 to 2,934 bytes. A strea
65
65
  - The OpenRouter component stores costs as bare numbers with no currency; `fromOpenRouterSpan` labels them USD. CLIProxy records no cost.
66
66
  - Provenance exists only in `ModelCallV1`. The OpenRouter component's own summaries carry neither provider nor cost provenance.
67
67
  - OpenRouter's `providerName` is the upstream it routed to, as OpenRouter names it (for example `OpenAI`). CLIProxy's is a lowercase API family or model-name guess. It is not authoritative until the native plugin records the selected auth's provider.
68
- - The OpenRouter recordings here carry no cache-write count, so `cacheCreationInputTokens` stays unset for OpenRouter calls. The structural `OpenRouterSpanInput` accepts it if a host supplies one.
68
+ - OpenRouter component summaries from 0.4.2 carry `cacheCreationInputTokens`, `isByok`, and `byokInferenceUsageCost`; the structural `OpenRouterSpanInput` accepts all three. Older summaries lack them, so their cache writes stay unset and a BYOK call's cost is its fee alone.
69
69
  - OpenRouter summaries expose input, output and total tokens; its cached and reasoning counts are only on full spans (`exportFullSpan`).
70
70
 
71
71
  ## Parser provenance
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -149,10 +149,11 @@ export async function handleCliproxyCaptureRequest(ctx, request, options) {
149
149
  candidate.schemaVersion !== 1 ||
150
150
  candidate.destinationId !== options.destinationId ||
151
151
  !options.instanceIds.includes(candidate.instanceId) ||
152
+ typeof candidate.pluginBootId !== "string" ||
152
153
  !/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$/.test(candidate.pluginBootId) ||
153
154
  candidate.precommitCoverage !== "unknown_before_local_commit")
154
155
  return new Response("invalid health scope", { status: 403 });
155
- const result = await ctx.runMutation(options.client.component.ingest.recordHealth, {
156
+ const args = {
156
157
  destinationId: options.destinationId,
157
158
  instanceId: candidate.instanceId,
158
159
  pluginBootId: candidate.pluginBootId,
@@ -164,13 +165,34 @@ export async function handleCliproxyCaptureRequest(ctx, request, options) {
164
165
  scopeConflictsTotal: candidate.scopeConflictsTotal,
165
166
  expiredScopesTotal: candidate.expiredScopesTotal,
166
167
  activeCalls: candidate.activeCalls,
167
- });
168
- return Response.json({
169
- ...result,
170
- digest: await sha256(raw),
171
- destinationId: options.destinationId,
172
- deploymentId: options.deploymentId,
173
- });
168
+ };
169
+ if (typeof args.startedAt !== "string" ||
170
+ typeof args.observedAt !== "string" ||
171
+ !Number.isFinite(Date.parse(args.startedAt)) ||
172
+ !Number.isFinite(Date.parse(args.observedAt)) ||
173
+ ![
174
+ args.observationsTotal,
175
+ args.droppedObservationsTotal,
176
+ args.lostControlObservationsTotal,
177
+ args.scopeConflictsTotal,
178
+ args.expiredScopesTotal,
179
+ args.activeCalls,
180
+ ].every((value) => Number.isSafeInteger(value) && value >= 0) ||
181
+ new TextEncoder().encode(JSON.stringify(args)).byteLength > 4096)
182
+ return new Response("invalid health record", { status: 400 });
183
+ // Backend failures must remain retryable; the exporter quarantines 4xx.
184
+ try {
185
+ const result = await ctx.runMutation(options.client.component.ingest.recordHealth, args);
186
+ return Response.json({
187
+ ...result,
188
+ digest: await sha256(raw),
189
+ destinationId: options.destinationId,
190
+ deploymentId: options.deploymentId,
191
+ });
192
+ }
193
+ catch {
194
+ return new Response("capture temporarily unavailable", { status: 503 });
195
+ }
174
196
  }
175
197
  parsed = await validateSegment(raw, options);
176
198
  }
@@ -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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"}
@@ -135,6 +135,9 @@ export type OpenRouterSpanInput = {
135
135
  receivedAt: number;
136
136
  totalCost?: number;
137
137
  openrouterUsageCost?: number;
138
+ isByok?: boolean;
139
+ /** What a BYOK call's inference cost on the caller's own provider key, as OpenRouter reports it. */
140
+ byokInferenceUsageCost?: number;
138
141
  traceId?: string;
139
142
  spanId?: string;
140
143
  parentSpanId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model-call/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model-call/index.ts"],"names":[],"mappings":"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"}
@@ -74,9 +74,13 @@ export function fromOpenRouterSpan(span) {
74
74
  semanticsVersion: "stored_openrouter_span_v1",
75
75
  });
76
76
  }
77
+ const isCost = (value) => typeof value === "number" && Number.isFinite(value) && value >= 0;
77
78
  const reported = span.totalCost ?? span.openrouterUsageCost;
78
- const cost = typeof reported === "number" && Number.isFinite(reported) && reported >= 0
79
- ? { kind: "proxy_reported", currency: "USD", total: String(reported) }
79
+ // A BYOK charge is only OpenRouter's fee: the provider bills the inference to the caller's own
80
+ // key. Without that inference cost the call's cost is unknown, not the fee alone.
81
+ const inference = span.isByok === true ? span.byokInferenceUsageCost : 0;
82
+ const cost = isCost(reported) && isCost(inference)
83
+ ? { kind: "proxy_reported", currency: "USD", total: String(reported + inference) }
80
84
  : { kind: "unknown" };
81
85
  return {
82
86
  schemaVersion: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model-call/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model-call/index.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.3.0",
4
+ "version": "0.3.2",
5
5
  "author": "Anand Pant",
6
6
  "license": "Apache-2.0",
7
7
  "repository": "github:anandpant/convex-components",
package/src/client.ts CHANGED
@@ -204,11 +204,12 @@ export async function handleCliproxyCaptureRequest(
204
204
  candidate.schemaVersion !== 1 ||
205
205
  candidate.destinationId !== options.destinationId ||
206
206
  !options.instanceIds.includes(candidate.instanceId) ||
207
+ typeof candidate.pluginBootId !== "string" ||
207
208
  !/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$/.test(candidate.pluginBootId) ||
208
209
  candidate.precommitCoverage !== "unknown_before_local_commit"
209
210
  )
210
211
  return new Response("invalid health scope", { status: 403 });
211
- const result = await ctx.runMutation(options.client.component.ingest.recordHealth, {
212
+ const args = {
212
213
  destinationId: options.destinationId,
213
214
  instanceId: candidate.instanceId,
214
215
  pluginBootId: candidate.pluginBootId,
@@ -220,13 +221,35 @@ export async function handleCliproxyCaptureRequest(
220
221
  scopeConflictsTotal: candidate.scopeConflictsTotal,
221
222
  expiredScopesTotal: candidate.expiredScopesTotal,
222
223
  activeCalls: candidate.activeCalls,
223
- });
224
- return Response.json({
225
- ...result,
226
- digest: await sha256(raw),
227
- destinationId: options.destinationId,
228
- deploymentId: options.deploymentId,
229
- });
224
+ };
225
+ if (
226
+ typeof args.startedAt !== "string" ||
227
+ typeof args.observedAt !== "string" ||
228
+ !Number.isFinite(Date.parse(args.startedAt)) ||
229
+ !Number.isFinite(Date.parse(args.observedAt)) ||
230
+ ![
231
+ args.observationsTotal,
232
+ args.droppedObservationsTotal,
233
+ args.lostControlObservationsTotal,
234
+ args.scopeConflictsTotal,
235
+ args.expiredScopesTotal,
236
+ args.activeCalls,
237
+ ].every((value) => Number.isSafeInteger(value) && value >= 0) ||
238
+ new TextEncoder().encode(JSON.stringify(args)).byteLength > 4096
239
+ )
240
+ return new Response("invalid health record", { status: 400 });
241
+ // Backend failures must remain retryable; the exporter quarantines 4xx.
242
+ try {
243
+ const result = await ctx.runMutation(options.client.component.ingest.recordHealth, args);
244
+ return Response.json({
245
+ ...result,
246
+ digest: await sha256(raw),
247
+ destinationId: options.destinationId,
248
+ deploymentId: options.deploymentId,
249
+ });
250
+ } catch {
251
+ return new Response("capture temporarily unavailable", { status: 503 });
252
+ }
230
253
  }
231
254
  parsed = await validateSegment(raw, options);
232
255
  } catch (error) {
@@ -190,6 +190,9 @@ export type OpenRouterSpanInput = {
190
190
  receivedAt: number;
191
191
  totalCost?: number;
192
192
  openrouterUsageCost?: number;
193
+ isByok?: boolean;
194
+ /** What a BYOK call's inference cost on the caller's own provider key, as OpenRouter reports it. */
195
+ byokInferenceUsageCost?: number;
193
196
  traceId?: string;
194
197
  spanId?: string;
195
198
  parentSpanId?: string;
@@ -242,10 +245,15 @@ export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
242
245
  semanticsVersion: "stored_openrouter_span_v1",
243
246
  });
244
247
  }
248
+ const isCost = (value: unknown): value is number =>
249
+ typeof value === "number" && Number.isFinite(value) && value >= 0;
245
250
  const reported = span.totalCost ?? span.openrouterUsageCost;
251
+ // A BYOK charge is only OpenRouter's fee: the provider bills the inference to the caller's own
252
+ // key. Without that inference cost the call's cost is unknown, not the fee alone.
253
+ const inference = span.isByok === true ? span.byokInferenceUsageCost : 0;
246
254
  const cost: ModelCallCost =
247
- typeof reported === "number" && Number.isFinite(reported) && reported >= 0
248
- ? { kind: "proxy_reported", currency: "USD", total: String(reported) }
255
+ isCost(reported) && isCost(inference)
256
+ ? { kind: "proxy_reported", currency: "USD", total: String(reported + inference) }
249
257
  : { kind: "unknown" };
250
258
  return {
251
259
  schemaVersion: 1,