modelrig 0.10.0 → 0.11.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
@@ -15,6 +15,54 @@ in `docs/ModelRig/development-rules.md`; enforced by `release-parity.test.ts`).
15
15
 
16
16
  ## [Unreleased]
17
17
 
18
+ ## [0.11.0] — 2026-10-20
19
+
20
+ **`rig.recordCall()` — record a provider call ModelRig did not dispatch**
21
+ (OBS-1, acceptance ruling M12). When a call has to stay a direct provider call,
22
+ report it after it returns: `rig.recordCall({ provider, model, usage, servedTier?,
23
+ requestedTier?, latencyMs, ttfbMs?, failureClass?, webSearchCalls?, stepKey?, tags?,
24
+ providerRequestId?, finishReason? })` → `{ inferenceId, callId, costEstimateUsd,
25
+ pricingMissing }`. One row, built by the raw lane's own helpers: priced at list
26
+ for the SERVED tier (flex included), `route = provider/model`, `routeVersion 0`,
27
+ inside `run.scope`/`run.start` a ground-truth step joined by `inference_id` and
28
+ `run_id` stamped; `webSearchCalls` writes the separate `rung:"search"` cost row.
29
+ The row carries `tags.lane = "external"` and `tags.key_ownership = "byok"`
30
+ (SDK-owned, a caller tag cannot override them) and `meta.provenance =
31
+ "caller-reported"` (new optional `AttemptMetaV1` key, exported type
32
+ `AttemptProvenance`; additive, no version bump). Any non-empty provider is
33
+ accepted; an unpriced provider/model records $0 with `pricingMissing`.
34
+ Synchronous and never throws: invalid input warns once per rule with a fix and
35
+ returns `inferenceId: null`. Token counts and `latencyMs`/`ttfbMs` are rounded
36
+ to integers and clamped (tokens ≤ `Number.MAX_SAFE_INTEGER`, ms ≤ 2³¹−1); a
37
+ `provider/model` longer than 200 characters is refused (ingest would drop it). Types `RecordCallInput`, `RecordCallResult`,
38
+ `RecordCallUsage`. Docs: `not-captured.md` → *Calls your code makes itself:
39
+ record them*; `instrumentation.md`.
40
+
41
+ **Raw-lane rows are BYOK by construction.** Every `rig.runRaw` /
42
+ `rig.runRawStream` row (and its native-search cost row) now carries
43
+ `tags.key_ownership = "byok"`, SDK-owned and stamped last beside `lane: "raw"`
44
+ — the raw lane only ever dispatches on the caller's own provider key. Before
45
+ 0.11.0 a raw call made in your own process carried no `key_ownership` tag;
46
+ the control plane now classifies `lane: "raw"` rows as BYOK on the lane. This
47
+ applies to every window settled from this release on; no customer usage window
48
+ had been settled before it.
49
+
50
+ **One lane classifier.** `isRoutedLane(lane)` (false for `"raw"` and
51
+ `"external"`), `callLaneOf(lane)` (`routes` | `raw` | `external`), `RAW_LANE`,
52
+ `EXTERNAL_LANE`, `RECORDED_BADGE`, `RECORDED_TOOLTIP` and the `CallLane` type are
53
+ exported — the same test the server rollups, `/coverage` (`computeCoverage`)
54
+ and the console use, so a recorded or raw call never enters ladder,
55
+ conformance or coverage-rung math. Docs: `not-captured.md`.
56
+
57
+ **`modelrig doctor` edge cases (QA N14).** A value that is not a `rig_sk_` key
58
+ at all (a deployment or provider token) is a usage error — "not a rig_sk_ key —
59
+ doctor checks customer API keys", exit 2 — and a `rig_sk_` key that is
60
+ truncated or padded fails with "malformed key"; neither is ever sent over the
61
+ wire (`PreflightResult.status` gains `"not_rig_key"` and `"malformed_key"`). A 2xx whoami whose body is
62
+ not JSON, or that names no org, is now a failure (exit 1, no ✓, says why) — it
63
+ used to print `(unknown org) ✓`. The first-flush "exporting to org" line no
64
+ longer prints `«?»`/`(?)` placeholders.
65
+
18
66
  ## [0.10.0] — 2026-10-19
19
67
 
20
68
  **Behaviour change (raw lane) — migration note.** A `rig.runRaw` call on Gemini
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-cli.d.ts","sourceRoot":"","sources":["../src/doctor-cli.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B;oEACgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuD5E"}
1
+ {"version":3,"file":"doctor-cli.d.ts","sourceRoot":"","sources":["../src/doctor-cli.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B;oEACgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwD5E"}
@@ -63,5 +63,6 @@ async function runDoctorCli(opts = {}) {
63
63
  return 0;
64
64
  }
65
65
  console.error(result.line);
66
- return 1;
66
+ // L6 NIT-6: the wrong kind of secret is a usage error (exit 2), not a failed check.
67
+ return result.status === "not_rig_key" ? 2 : 1;
67
68
  }
@@ -18,11 +18,20 @@ export interface WhoamiResponse {
18
18
  }
19
19
  export interface PreflightResult {
20
20
  readonly ok: boolean;
21
- /** HTTP status, or "network_error" when the request never completed. */
22
- readonly status: number | "network_error";
21
+ /** HTTP status; "network_error" when the request never completed;
22
+ * "malformed_key" when the key failed the local shape check and NOTHING was
23
+ * sent (QA N14); "not_rig_key" when the value is not a `rig_sk_` key at all
24
+ * (e.g. a deployment token) — doctor checks customer API keys only, so it
25
+ * is a usage error, never called "malformed", and nothing is sent (L6 NIT-6).
26
+ * A 2xx whose body names no org is `ok: false` with its HTTP status — it
27
+ * confirmed nothing. */
28
+ readonly status: number | "network_error" | "malformed_key" | "not_rig_key";
23
29
  /** One human line, ready to print or log. */
24
30
  readonly line: string;
25
31
  readonly whoami?: WhoamiResponse;
32
+ /** The org's display name — present exactly when `ok` (a 2xx that names no
33
+ * org is not ok, QA N14). */
34
+ readonly orgName?: string;
26
35
  }
27
36
  /**
28
37
  * Ask the configured api-mode sink who the key is. Returns null when there is
@@ -40,6 +49,9 @@ export declare function whoamiPreflight(ingestUrl: string, apiKey: string, fetch
40
49
  /** Abort the request (e.g. `AbortSignal.timeout(ms)`) — the sink passes one so
41
50
  * a hanging whoami can never hold the process open. An abort is a network_error. */
42
51
  signal?: AbortSignal): Promise<PreflightResult>;
52
+ /** The display name of a whoami org (name, else id, else slug), or null when
53
+ * the server named none — never a placeholder glyph (QA N14). */
54
+ export declare function orgDisplayName(org: WhoamiResponse["org"]): string | null;
43
55
  /** The org slug a successful preflight resolved, or null when unknown. */
44
56
  export declare function resolvedOrgSlug(result: PreflightResult): string | null;
45
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-preflight.d.ts","sourceRoot":"","sources":["../src/doctor-preflight.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;qFACqF;AACrF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/F,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACvF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC;IAC1C,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAIjC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,KAAa;AAC7B;oFACoF;AACpF,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC,CA6C1B;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7F"}
1
+ {"version":3,"file":"doctor-preflight.d.ts","sourceRoot":"","sources":["../src/doctor-preflight.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;qFACqF;AACrF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/F,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACvF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB;;;;;;4BAMwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,CAAC;IAC5E,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC;iCAC6B;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAIjC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,KAAa;AAC7B;oFACoF;AACpF,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC,CA4F1B;AAED;iEACiE;AACjE,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAMxE;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7F"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runAuthPreflight = runAuthPreflight;
4
4
  exports.whoamiPreflight = whoamiPreflight;
5
+ exports.orgDisplayName = orgDisplayName;
5
6
  exports.resolvedOrgSlug = resolvedOrgSlug;
6
7
  exports.expectedOrgMismatch = expectedOrgMismatch;
7
8
  /**
@@ -51,6 +52,29 @@ async function whoamiPreflight(ingestUrl, apiKey, fetchFn = fetch,
51
52
  signal) {
52
53
  const base = new URL(ingestUrl).origin;
53
54
  const redacted = (0, api_key_format_1.redactApiKey)(apiKey);
55
+ // L6 NIT-6: a value that is not a rig_sk_ key at all (a deployment or other
56
+ // service token) is not "malformed" — it is the wrong kind of secret. Never
57
+ // sent over the wire.
58
+ // (Surrounding whitespace/quotes are a malformed rig_sk_ key, handled below.)
59
+ if (!apiKey.trim().replace(/^["']/, "").startsWith(api_key_format_1.API_KEY_PREFIX)) {
60
+ return {
61
+ ok: false,
62
+ status: "not_rig_key",
63
+ line: `[modelrig] not a ${api_key_format_1.API_KEY_PREFIX} key — doctor checks customer API keys. MODELRIG_API_KEY holds a ` +
64
+ `different kind of secret, so nothing was sent. Set it to the ${api_key_format_1.API_KEY_PREFIX} key minted at ` +
65
+ "app.modelrig.ai → Keys.",
66
+ };
67
+ }
68
+ // QA N14: a rig_sk_ key that fails the local shape check is never sent over the wire.
69
+ if (!(0, api_key_format_1.looksLikeApiKey)(apiKey)) {
70
+ return {
71
+ ok: false,
72
+ status: "malformed_key",
73
+ line: `[modelrig] malformed key — MODELRIG_API_KEY starts like a ${api_key_format_1.API_KEY_PREFIX} key but is truncated or ` +
74
+ "carries stray characters/whitespace, so nothing was sent to the server. Copy the full key from " +
75
+ "app.modelrig.ai → Keys and set it without quotes.",
76
+ };
77
+ }
54
78
  try {
55
79
  const res = await fetchFn(`${base}/v1/whoami`, {
56
80
  headers: { authorization: `Bearer ${apiKey}` },
@@ -73,15 +97,35 @@ signal) {
73
97
  };
74
98
  }
75
99
  const who = (await res.json().catch(() => null));
76
- const org = who?.org ?? null;
77
- const orgLabel = org !== null && org !== undefined ? `«${org.name ?? org.id ?? "?"}»` : "(unknown org)";
78
- const posture = who?.posture?.telemetry;
100
+ // QA N14: a 2xx that does not NAME an org confirmed nothing — never a ✓.
101
+ if (who === null || typeof who !== "object") {
102
+ return {
103
+ ok: false,
104
+ status: res.status,
105
+ line: `[modelrig] whoami ${res.status} at ${base} returned a body that is not JSON — could not confirm ` +
106
+ `key ${redacted}'s org. Check that the ingest URL points at a ModelRig server, then retry \`modelrig doctor\`.`,
107
+ };
108
+ }
109
+ const orgLabel = orgDisplayName(who.org);
110
+ if (orgLabel === null) {
111
+ return {
112
+ ok: false,
113
+ status: res.status,
114
+ line: `[modelrig] whoami ${res.status} at ${base} named no org for key ${redacted} — could not confirm ` +
115
+ "where telemetry lands. The server may predate whoami's org field; retry `modelrig doctor`, " +
116
+ "or check the key at app.modelrig.ai → Keys.",
117
+ whoami: who,
118
+ };
119
+ }
120
+ const orgLabelQuoted = `«${orgLabel}»`;
121
+ const posture = who.posture?.telemetry;
79
122
  const postureLabel = typeof posture === "string" ? `, telemetry: ${posture}` : "";
80
123
  return {
81
124
  ok: true,
82
125
  status: res.status,
83
- line: `[modelrig] key ${redacted} → org ${orgLabel} ✓ (ingest ${base}${postureLabel})`,
84
- ...(who !== null ? { whoami: who } : {}),
126
+ line: `[modelrig] key ${redacted} → org ${orgLabelQuoted} ✓ (ingest ${base}${postureLabel})`,
127
+ whoami: who,
128
+ orgName: orgLabel,
85
129
  };
86
130
  }
87
131
  catch (err) {
@@ -93,6 +137,17 @@ signal) {
93
137
  };
94
138
  }
95
139
  }
140
+ /** The display name of a whoami org (name, else id, else slug), or null when
141
+ * the server named none — never a placeholder glyph (QA N14). */
142
+ function orgDisplayName(org) {
143
+ if (org === null || org === undefined || typeof org !== "object")
144
+ return null;
145
+ for (const v of [org.name, org.id, org.slug]) {
146
+ if (typeof v === "string" && v.trim() !== "")
147
+ return v;
148
+ }
149
+ return null;
150
+ }
96
151
  /** The org slug a successful preflight resolved, or null when unknown. */
97
152
  function resolvedOrgSlug(result) {
98
153
  const slug = result.whoami?.org?.slug;
@@ -1 +1 @@
1
- {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/feedback/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;+EAK+E;AAC/E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,MAAM,EAAE,SAAS,QAAQ,EAAE,GAC1B,aAAa,EAAE,CAqFjB"}
1
+ {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/feedback/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGjE,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;+EAK+E;AAC/E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,MAAM,EAAE,SAAS,QAAQ,EAAE,GAC1B,aAAa,EAAE,CA2FjB"}
@@ -15,6 +15,7 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.RUNG1_MIN_GRADES = void 0;
17
17
  exports.computeCoverage = computeCoverage;
18
+ const lanes_1 = require("../telemetry/lanes");
18
19
  exports.RUNG1_MIN_GRADES = 10;
19
20
  /** Attribution: a grade joins a route via its inference-subject id, or via its
20
21
  * run-subject (episode) id matching a row's run_id tag. Unmatched grades attach
@@ -31,14 +32,20 @@ function computeCoverage(rows, grades) {
31
32
  // view): bake-off replays are candidate-variant experiments, not the
32
33
  // route's production serving — counting them skews conformance/repair
33
34
  // rates with losing variants that never served a real request.
35
+ // OBS-1 L6 MUST-1: coverage is ROUTE readiness — raw passthroughs and
36
+ // recorded calls (`tags.lane` raw / external) walked no route and never
37
+ // contribute samples, conformance or a rung.
34
38
  let replayTagged = false;
39
+ let unrouted = false;
35
40
  try {
36
- replayTagged = JSON.parse(row.tagsJson).replay !== undefined;
41
+ const tags = JSON.parse(row.tagsJson);
42
+ replayTagged = tags.replay !== undefined;
43
+ unrouted = !(0, lanes_1.isRoutedLane)(tags.lane);
37
44
  }
38
45
  catch {
39
46
  replayTagged = false;
40
47
  }
41
- if (replayTagged)
48
+ if (replayTagged || unrouted)
42
49
  continue;
43
50
  const agg = byRoute.get(row.route) ?? {
44
51
  samples: 0,
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@ import type { ServeabilityWarning } from "./routes/serveability";
13
13
  import { type ToolRegistry } from "./prompts/tools-register";
14
14
  import type { RunStreamHandle, RunStreamOptions } from "./run/stream";
15
15
  import type { RawRunInput } from "./run/raw";
16
+ import { type RecordCallInput, type RecordCallResult } from "./run/record-call";
16
17
  import type { CapabilityLookup } from "./run/resolve";
17
18
  import { type ArtifactNamespace } from "./artifacts";
18
19
  import type { ExporterStats } from "./telemetry/exporter";
@@ -51,6 +52,8 @@ export interface Rig {
51
52
  /** Streaming variant of runRaw() — true token streaming, NO terminal-validation
52
53
  * event (the raw lane has no schema; the streamed bytes are the answer). */
53
54
  runRawStream(input: RawRunInput): RunStreamHandle;
55
+ /** OBS-1: record a provider call YOUR code made (ModelRig did not dispatch it) — one `lane=external` row, synchronous, never throws. See `run/record-call.ts`. */
56
+ recordCall(input: RecordCallInput): RecordCallResult;
54
57
  /** Attach a GRADE to a subject (inference/run/artifact) — the unified judgment
55
58
  * primitive (R1) and the SOLE judgment write API; `score` 0–1, verdict DERIVED. */
56
59
  grade(subject: GradeSubject, opts: GradeOpts): GradeRow;
@@ -128,7 +131,7 @@ export type { RigConfig, ApiExportConfig, DirectExportConfig } from "./config";
128
131
  export { stampBatch, foreignOrgGrades, INGEST_PATH, INGEST_PROTOCOL_VERSION, INGEST_PROTOCOL_VERSION_V1, DEFAULT_INGEST_URL } from "./telemetry/ingest-protocol";
129
132
  export type { IngestBatch, IngestOutcome, TableWrite, Tenancy, WireInference, WireEnvelope, WireRoute, WireRun, WireStep, WireArtifact, WireArtifactEdge, WireGrade, WireEvalCase, WireManifest, } from "./telemetry/ingest-protocol";
130
133
  export { summarizeAttemptMeta, isMetaSafeString, sanitizeMetaForWire, renderRequestForHash, reservedTagNearMisses, resolvePipelineSha, RESERVED_TAG_KEYS } from "./telemetry/attempt-meta";
131
- export type { AttemptMetaV1, RunMetaV1, FinishReason, ContextBucket, EgressReceiptV1, AttemptMetaInputs, AttemptMetaSource, ReservedTagKey, PromptDelivery } from "./telemetry/attempt-meta";
134
+ export type { AttemptMetaV1, RunMetaV1, FinishReason, ContextBucket, EgressReceiptV1, AttemptMetaInputs, AttemptMetaSource, ReservedTagKey, PromptDelivery, AttemptProvenance } from "./telemetry/attempt-meta";
132
135
  export { createTelemetryExporter } from "./telemetry/exporter";
133
136
  export type { Exporter, ExporterConfig, ExporterStats, ExportedRouteMirror } from "./telemetry/exporter";
134
137
  export { createApiSink, createDirectSink, SinkSendError } from "./telemetry/sinks";
@@ -179,6 +182,9 @@ export type { ResolvedRouteBundle } from "./routes/resolved-bundle";
179
182
  export type { ApiCallConfigFetcherConfig, CallConfigFetcher, CallConfigMode, CallConfigPin, CallConfigResolver, CallConfigResolverConfig, CallConfigSampling, CallConfigSource, ResolvedCallConfig, CallConfigExperiment, ExperimentArm, DrawArmOptions, ResolvedForRun } from "./routes/call-config";
180
183
  export { runRaw, runRawStream } from "./run/raw";
181
184
  export type { RawRunInput, RawRunDeps } from "./run/raw";
185
+ export type { RecordCallInput, RecordCallResult, RecordCallUsage } from "./run/record-call";
186
+ export { isRoutedLane, callLaneOf, RAW_LANE, EXTERNAL_LANE, RECORDED_BADGE, RECORDED_TOOLTIP } from "./telemetry/lanes";
187
+ export type { CallLane } from "./telemetry/lanes";
182
188
  export { requireRoutesDir, rawOnlyRouteFailure, RAW_ONLY_FIX_HINT } from "./run/rawonly";
183
189
  export type { ToolDefinition, ToolChoice, ToolCall, AdapterStreamEvent } from "./types/provider";
184
190
  export { PROVIDER_IDS, ALL_CAPABILITY_FLAGS } from "./types/provider";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -25,11 +25,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.redactApiKey = exports.looksLikeApiKey = exports.hashApiKeySecret = exports.API_KEY_SECRET_BYTES = exports.API_KEY_SCOPES = exports.API_KEY_PREFIX = exports.resolveArtifactsConfig = exports.createToolRegistry = exports.SlotResolutionError = exports.assemblePrompt = exports.createEmbeddedPrompts = exports.createPromptResolver = exports.parseServedPrompt = exports.createPromptCache = exports.createApiPromptFetcher = exports.promptTemplateSha = exports.normalizeManifest = exports.parseAuthoringDoc = exports.assertValidManifest = exports.validateManifest = exports.resolveOtlpConfig = exports.parseOtlpHeaders = exports.decodeOtlpProtobufTraces = exports.looksLikeLogsPayload = exports.normalizeOtlpTraces = exports.startOtlpEmitterIfConfigured = exports.createOtlpEmitter = exports.TRACEPARENT_TAG = exports.parseTraceparent = exports.buildExportTraceRequest = exports.inferenceToSpan = exports.SEMCONV_VERSION = exports.SinkSendError = exports.createDirectSink = exports.createApiSink = exports.createTelemetryExporter = exports.RESERVED_TAG_KEYS = exports.resolvePipelineSha = exports.reservedTagNearMisses = exports.renderRequestForHash = exports.sanitizeMetaForWire = exports.isMetaSafeString = exports.summarizeAttemptMeta = exports.DEFAULT_INGEST_URL = exports.INGEST_PROTOCOL_VERSION_V1 = exports.INGEST_PROTOCOL_VERSION = exports.INGEST_PATH = exports.foreignOrgGrades = exports.stampBatch = exports.loadConfigFromEnv = void 0;
28
- exports.computeProposal = exports.mirrorBakeoff = exports.runBakeoff = exports.replayVariant = exports.openTelemetryStore = exports.openCaptureStore = exports.SSE_DONE = exports.MODELRIG_REQUEST_HEADERS = exports.MODELRIG_HEADERS = exports.GATEWAY_PROTOCOL_VERSION = exports.MODELS_PATH = exports.CHAT_COMPLETIONS_PATH = exports.classifyLane = exports.ALL_CAPABILITY_FLAGS = exports.PROVIDER_IDS = exports.RAW_ONLY_FIX_HINT = exports.rawOnlyRouteFailure = exports.requireRoutesDir = exports.runRawStream = exports.runRaw = exports.resolveCallConfigForRun = exports.hashUnitKey = exports.armName = exports.drawArm = exports.narrowExperiment = exports.pinFromResolved = exports.parseCallConfig = exports.narrowCallConfigPin = exports.getCallConfig = exports.createCallConfigResolver = exports.createApiCallConfigFetcher = exports.applyCallConfig = exports.assertMirrorSafe = exports.hashResolvedBundle = exports.resolveRouteBundle = exports.bundleFromResolved = exports.runStream = exports.evalCaseCaptureStore = exports.selectEvalCaseCaptures = exports.runBakeoffFromEvalCases = exports.extractEvidenceQuotes = exports.groundednessScore = exports.resolveDeterministicQuality = exports.fieldAccuracy = exports.exactMatch = exports.KEY_SHAPED_PREFIXES = exports.containsKeyShapedString = exports.scrubSecrets = exports.hasScope = exports.parseScopes = void 0;
29
- exports.servedDestinations = exports.DEFAULT_DESTINATION = exports.DESTINATIONS = exports.GEMINI_THINKING_CAPABLE_MODELS = exports.createGeminiAdapter = exports.PROVIDER_KEY_ENV = exports.serveabilityWarnings = exports.checkServeability = exports.writeRouteDraft = exports.buildRouteDraft = exports.splitModelKey = exports.seedCandidates = exports.loadRegistryRows = exports.signatureFor = exports.PROVIDER_SIGNATURES = exports.readObjectLiteral = exports.findCallSitesInText = exports.scanRepoForCallSites = exports.capabilitiesFor = exports.routeNameFor = exports.buildMigrationMarkdown = exports.runInit = exports.renderConfigErrorForTerminal = exports.describeConfigFailure = exports.teachConfigError = exports.classifyConfigProblem = exports.CONFIG_TEACHING = exports.mergeLoadedRoutes = exports.loadRoutesWithExtra = exports.loadRoutes = exports.RouteConfigError = exports.renderFailureForTerminal = exports.teach = exports.FAILURE_TEACHING = exports.isRigFailure = exports.RigFailureError = exports.extractCitations = exports.createTavilySearchProvider = exports.sampleQuality = exports.pairedRegret = exports.wilson95 = exports.aggregateVariantMetrics = exports.OUTPUT_MAX_BYTES = exports.retentionExpiry = exports.truncateOutput = exports.selectArmsToKeep = exports.buildBakeoffSamples = exports.createBakeoffSamplesClient = exports.deriveSwapDirection = exports.bakeoffEvidence = void 0;
30
- exports.PROPOSAL_TTL_DAYS = exports.regretBreachTriggerHash = exports.upgradeTriggerHash = exports.manualChallengerTriggerHash = exports.triggerHash = exports.evaluateEvents = exports.RUNG1_MIN_GRADES = exports.computeCoverage = exports.computeParity = exports.factsUnderCredential = exports.factsFor = exports.PROBE_FRESHNESS_SLO_DAYS = exports.stalenessSentence = exports.probeFreshness = exports.callNotesFor = exports.evaluateChallengerEligibility = exports.requirementPredicates = exports.PREDICATE_GLOSS = exports.ALL_CAPABILITY_PREDICATES = exports.explainEmptySelection = exports.hasCapability = exports.selectModels = exports.parseCapabilityQuery = exports.capabilityFactsFromEntry = exports.loadRegistryFacts = exports.fingerprintSchema = exports.loadManifest = exports.SNAPSHOT_BASIS = exports.describePricingV2 = exports.tierRates = exports.synthesizeFromFlat = exports.seededCachePolicyProviders = exports.getCachePolicy = exports.DEFAULT_CACHE_HYSTERESIS = exports.classifyCacheVerdict = exports.effectiveInputRate = exports.estimateCostUsd = exports.getPricingV2 = exports.getPricing = exports.resolveCandidates = exports.OPENAI_COMPAT_HOSTS = exports.shapeFireworksModelId = exports.classifyCompatFailure = exports.buildOpenAICompatParams = exports.createOpenAICompatAdapter = exports.createGrokAdapter = exports.createAnthropicAdapter = exports.createDeepSeekAdapter = exports.createOpenAIAdapter = exports.destinationSupported = void 0;
31
- exports.RESERVED_DIMENSION_NAMES = exports.METRIC_COLUMNS = exports.DIMENSION_COLUMNS = exports.sinceIsoFor = exports.savedQueryById = exports.SAVED_QUERIES = exports.ANALYTICS_SCAN_CAP = exports.selectableColumnsAreMetaSafe = exports.planAnalyticsRead = exports.evaluateAnalyticsQuery = exports.describeAnalyticsSchema = exports.parseQuery = exports.QueryGrammarError = exports.compileQuery = exports.writePriorsCells = exports.aggregatePairwiseFromTelemetry = exports.aggregatePriors = exports.DEFAULT_WATCH_MONTHLY_USD = exports.watchEnvelopeKey = exports.reserveWatchBudget = exports.WATCH_STATE_KEY = exports.createFileWatchStateStore = exports.createControlPlaneWatchStateStore = exports.createWatchStateStore = exports.saveWatchState = exports.loadWatchState = exports.computeWatchEvents = exports.buildPriceUniverse = exports.runWatchCycle = exports.DEFAULT_MONITOR_CONFIG = exports.createMonitorReads = exports.rollupConformRate = exports.evaluateConformDegradation = exports.runMonitorCycle = exports.assertTransition = exports.createProposalsClient = exports.MONITOR_SOURCE_PREFIX = exports.MONITOR_CYCLE_MARKER = exports.REGRET_MONITOR_MARGIN = exports.REGRET_MONITOR_MIN_N = exports.REGRET_MONITOR_BASELINE_DAYS = exports.REGRET_MONITOR_WINDOW_DAYS = exports.createRegretMonitorReads = exports.regretMonitorConfig = exports.cyclePointFromArtifact = exports.aggregateRegretBand = exports.evaluateRegretDrift = exports.runRegretMonitorCycle = exports.evaluateUpgradeOpportunities = exports.explainCacheContext = void 0;
32
- exports.computeOdometer = exports.createSwapsClient = exports.executeSwap = exports.trialVariantName = exports.buildDeclareTrialChange = exports.buildRestoreYaml = exports.buildSwapChange = exports.runTelemetryQuery = void 0;
28
+ exports.SSE_DONE = exports.MODELRIG_REQUEST_HEADERS = exports.MODELRIG_HEADERS = exports.GATEWAY_PROTOCOL_VERSION = exports.MODELS_PATH = exports.CHAT_COMPLETIONS_PATH = exports.classifyLane = exports.ALL_CAPABILITY_FLAGS = exports.PROVIDER_IDS = exports.RAW_ONLY_FIX_HINT = exports.rawOnlyRouteFailure = exports.requireRoutesDir = exports.RECORDED_TOOLTIP = exports.RECORDED_BADGE = exports.EXTERNAL_LANE = exports.RAW_LANE = exports.callLaneOf = exports.isRoutedLane = exports.runRawStream = exports.runRaw = exports.resolveCallConfigForRun = exports.hashUnitKey = exports.armName = exports.drawArm = exports.narrowExperiment = exports.pinFromResolved = exports.parseCallConfig = exports.narrowCallConfigPin = exports.getCallConfig = exports.createCallConfigResolver = exports.createApiCallConfigFetcher = exports.applyCallConfig = exports.assertMirrorSafe = exports.hashResolvedBundle = exports.resolveRouteBundle = exports.bundleFromResolved = exports.runStream = exports.evalCaseCaptureStore = exports.selectEvalCaseCaptures = exports.runBakeoffFromEvalCases = exports.extractEvidenceQuotes = exports.groundednessScore = exports.resolveDeterministicQuality = exports.fieldAccuracy = exports.exactMatch = exports.KEY_SHAPED_PREFIXES = exports.containsKeyShapedString = exports.scrubSecrets = exports.hasScope = exports.parseScopes = void 0;
29
+ exports.serveabilityWarnings = exports.checkServeability = exports.writeRouteDraft = exports.buildRouteDraft = exports.splitModelKey = exports.seedCandidates = exports.loadRegistryRows = exports.signatureFor = exports.PROVIDER_SIGNATURES = exports.readObjectLiteral = exports.findCallSitesInText = exports.scanRepoForCallSites = exports.capabilitiesFor = exports.routeNameFor = exports.buildMigrationMarkdown = exports.runInit = exports.renderConfigErrorForTerminal = exports.describeConfigFailure = exports.teachConfigError = exports.classifyConfigProblem = exports.CONFIG_TEACHING = exports.mergeLoadedRoutes = exports.loadRoutesWithExtra = exports.loadRoutes = exports.RouteConfigError = exports.renderFailureForTerminal = exports.teach = exports.FAILURE_TEACHING = exports.isRigFailure = exports.RigFailureError = exports.extractCitations = exports.createTavilySearchProvider = exports.sampleQuality = exports.pairedRegret = exports.wilson95 = exports.aggregateVariantMetrics = exports.OUTPUT_MAX_BYTES = exports.retentionExpiry = exports.truncateOutput = exports.selectArmsToKeep = exports.buildBakeoffSamples = exports.createBakeoffSamplesClient = exports.deriveSwapDirection = exports.bakeoffEvidence = exports.computeProposal = exports.mirrorBakeoff = exports.runBakeoff = exports.replayVariant = exports.openTelemetryStore = exports.openCaptureStore = void 0;
30
+ exports.RUNG1_MIN_GRADES = exports.computeCoverage = exports.computeParity = exports.factsUnderCredential = exports.factsFor = exports.PROBE_FRESHNESS_SLO_DAYS = exports.stalenessSentence = exports.probeFreshness = exports.callNotesFor = exports.evaluateChallengerEligibility = exports.requirementPredicates = exports.PREDICATE_GLOSS = exports.ALL_CAPABILITY_PREDICATES = exports.explainEmptySelection = exports.hasCapability = exports.selectModels = exports.parseCapabilityQuery = exports.capabilityFactsFromEntry = exports.loadRegistryFacts = exports.fingerprintSchema = exports.loadManifest = exports.SNAPSHOT_BASIS = exports.describePricingV2 = exports.tierRates = exports.synthesizeFromFlat = exports.seededCachePolicyProviders = exports.getCachePolicy = exports.DEFAULT_CACHE_HYSTERESIS = exports.classifyCacheVerdict = exports.effectiveInputRate = exports.estimateCostUsd = exports.getPricingV2 = exports.getPricing = exports.resolveCandidates = exports.OPENAI_COMPAT_HOSTS = exports.shapeFireworksModelId = exports.classifyCompatFailure = exports.buildOpenAICompatParams = exports.createOpenAICompatAdapter = exports.createGrokAdapter = exports.createAnthropicAdapter = exports.createDeepSeekAdapter = exports.createOpenAIAdapter = exports.destinationSupported = exports.servedDestinations = exports.DEFAULT_DESTINATION = exports.DESTINATIONS = exports.GEMINI_THINKING_CAPABLE_MODELS = exports.createGeminiAdapter = exports.PROVIDER_KEY_ENV = void 0;
31
+ exports.ANALYTICS_SCAN_CAP = exports.selectableColumnsAreMetaSafe = exports.planAnalyticsRead = exports.evaluateAnalyticsQuery = exports.describeAnalyticsSchema = exports.parseQuery = exports.QueryGrammarError = exports.compileQuery = exports.writePriorsCells = exports.aggregatePairwiseFromTelemetry = exports.aggregatePriors = exports.DEFAULT_WATCH_MONTHLY_USD = exports.watchEnvelopeKey = exports.reserveWatchBudget = exports.WATCH_STATE_KEY = exports.createFileWatchStateStore = exports.createControlPlaneWatchStateStore = exports.createWatchStateStore = exports.saveWatchState = exports.loadWatchState = exports.computeWatchEvents = exports.buildPriceUniverse = exports.runWatchCycle = exports.DEFAULT_MONITOR_CONFIG = exports.createMonitorReads = exports.rollupConformRate = exports.evaluateConformDegradation = exports.runMonitorCycle = exports.assertTransition = exports.createProposalsClient = exports.MONITOR_SOURCE_PREFIX = exports.MONITOR_CYCLE_MARKER = exports.REGRET_MONITOR_MARGIN = exports.REGRET_MONITOR_MIN_N = exports.REGRET_MONITOR_BASELINE_DAYS = exports.REGRET_MONITOR_WINDOW_DAYS = exports.createRegretMonitorReads = exports.regretMonitorConfig = exports.cyclePointFromArtifact = exports.aggregateRegretBand = exports.evaluateRegretDrift = exports.runRegretMonitorCycle = exports.evaluateUpgradeOpportunities = exports.explainCacheContext = exports.PROPOSAL_TTL_DAYS = exports.regretBreachTriggerHash = exports.upgradeTriggerHash = exports.manualChallengerTriggerHash = exports.triggerHash = exports.evaluateEvents = void 0;
32
+ exports.computeOdometer = exports.createSwapsClient = exports.executeSwap = exports.trialVariantName = exports.buildDeclareTrialChange = exports.buildRestoreYaml = exports.buildSwapChange = exports.runTelemetryQuery = exports.RESERVED_DIMENSION_NAMES = exports.METRIC_COLUMNS = exports.DIMENSION_COLUMNS = exports.sinceIsoFor = exports.savedQueryById = exports.SAVED_QUERIES = void 0;
33
33
  exports.createRig = createRig;
34
34
  const build_adapters_1 = require("./adapters/build-adapters");
35
35
  const config_1 = require("./config");
@@ -41,6 +41,7 @@ const tools_register_1 = require("./prompts/tools-register");
41
41
  const run_1 = require("./run/run");
42
42
  const stream_1 = require("./run/stream");
43
43
  const raw_1 = require("./run/raw");
44
+ const record_call_1 = require("./run/record-call");
44
45
  const node_path_1 = require("node:path");
45
46
  const node_os_1 = require("node:os");
46
47
  const grounding_1 = require("./run/grounding");
@@ -250,6 +251,7 @@ function createRig(config) {
250
251
  runRawStream(input) {
251
252
  return (0, raw_1.runRawStream)(rawDeps, input);
252
253
  },
254
+ recordCall: (input) => (0, record_call_1.recordCall)(rawDeps, input),
253
255
  grade: gradeApi.grade,
254
256
  replay(route, opts) {
255
257
  return (0, replay_1.replayVariant)(deps, captureStoreForReplay(), {
@@ -471,6 +473,13 @@ Object.defineProperty(exports, "resolveCallConfigForRun", { enumerable: true, ge
471
473
  var raw_2 = require("./run/raw");
472
474
  Object.defineProperty(exports, "runRaw", { enumerable: true, get: function () { return raw_2.runRaw; } });
473
475
  Object.defineProperty(exports, "runRawStream", { enumerable: true, get: function () { return raw_2.runRawStream; } });
476
+ var lanes_1 = require("./telemetry/lanes");
477
+ Object.defineProperty(exports, "isRoutedLane", { enumerable: true, get: function () { return lanes_1.isRoutedLane; } });
478
+ Object.defineProperty(exports, "callLaneOf", { enumerable: true, get: function () { return lanes_1.callLaneOf; } });
479
+ Object.defineProperty(exports, "RAW_LANE", { enumerable: true, get: function () { return lanes_1.RAW_LANE; } });
480
+ Object.defineProperty(exports, "EXTERNAL_LANE", { enumerable: true, get: function () { return lanes_1.EXTERNAL_LANE; } });
481
+ Object.defineProperty(exports, "RECORDED_BADGE", { enumerable: true, get: function () { return lanes_1.RECORDED_BADGE; } });
482
+ Object.defineProperty(exports, "RECORDED_TOOLTIP", { enumerable: true, get: function () { return lanes_1.RECORDED_TOOLTIP; } });
474
483
  // CE-8 runRaw-only (routesDir: null): the string-narrowing guard route-required
475
484
  // consumers (server, oracle) use, plus the teaching failure it throws.
476
485
  var rawonly_2 = require("./run/rawonly");
@@ -9,14 +9,50 @@
9
9
  * recorder — NO route/registry/capability-gate dependency.
10
10
  */
11
11
  import { type ActiveRunContext } from "../artifacts/run-context";
12
- import type { AdapterResult, ServiceTier } from "../types/provider";
13
- import type { RunResult } from "../types/route";
12
+ import type { AdapterResult, AdapterUsage, ProviderId, ServiceTier } from "../types/provider";
13
+ import type { RunResult, RunTags } from "../types/route";
14
+ import type { AttemptMetaV1 } from "../telemetry/attempt-meta";
15
+ import type { TelemetryRow, TelemetryStore } from "../types/telemetry";
14
16
  import type { RawRunDeps, RawRunInput } from "./raw";
15
17
  /** R1 — the teaching `fixHint` attached to a `timeout` failure on the raw lane:
16
18
  * it names the elapsed budget, the tier, that tier's advertised target, and the
17
19
  * two fixes (raise `timeoutMs`, or drop to `standard`). Built from
18
20
  * `RAW_TIMEOUT_DEFAULT_MS` so the default it quotes can never drift. */
19
21
  export declare function rawTimeoutFixHint(input: RawRunInput, tier: ServiceTier): string;
22
+ export interface RawRowParts {
23
+ readonly id: string;
24
+ readonly rawModelId: string;
25
+ /** A `ProviderId` on the raw lane; any non-empty string on a recorded call
26
+ * (OBS-1 `rig.recordCall` accepts providers ModelRig has no adapter for). */
27
+ readonly provider: ProviderId | string;
28
+ readonly model: string;
29
+ readonly usage?: AdapterUsage;
30
+ readonly costUsd: number;
31
+ readonly latencyMs: number;
32
+ /** CE-2 F2: the DECLARED service tier (default "standard"), reported truthfully
33
+ * on the row instead of the old hardcode. */
34
+ readonly requestedTier: ServiceTier;
35
+ /** OBS-1: the served tier when no `usage` is supplied — unused on the raw
36
+ * lane (absent ⇒ `usage.servedTier ?? "standard"`, byte-identical). */
37
+ readonly servedTier?: ServiceTier;
38
+ readonly failureClass: TelemetryRow["failureClass"];
39
+ readonly tags: RunTags;
40
+ readonly pricingMissing: boolean;
41
+ /** CE-1: the customer cache key applied to this raw dispatch, or null. */
42
+ readonly cacheKey?: string | null;
43
+ /** The per-call ladder key (spec §2.1 R0). The raw lane is a single-attempt,
44
+ * single-candidate dispatch: one call_id, attempt_seq 1, candidate_index 0. */
45
+ readonly callId: string;
46
+ /** WI-1 attempt envelope (spec §2) — built by the SAME producer the routed
47
+ * lane uses (lane parity), from the SAME rendered-request canonicalization. */
48
+ readonly meta?: AttemptMetaV1 | null;
49
+ }
50
+ /** Write the metered raw-lane telemetry row. Mirrors the run loop's minimal
51
+ * `recordSearchCostRow` shape: only load-bearing fields set, route = the
52
+ * `provider/model` handle the caller used, lane + key_ownership riding in
53
+ * `tags_json`. The exporter mirrors it on its normal cadence — no lane column,
54
+ * no schema change (telemetry map, 2026-08-10). */
55
+ export declare function recordRawRow(telemetry: TelemetryStore, p: RawRowParts): void;
20
56
  /** The active-run-context binding a raw call resolves ONCE at entry (the ALS
21
57
  * boundary — read synchronously before the stream generator defers), so
22
58
  * `finalizeRaw` can mirror the call into a ground-truth step (G1 spec §4). Null
@@ -34,7 +70,17 @@ export interface RawStepContext {
34
70
  * unconditionally, as the routed lane does. Fail-open: no context ⇒ null and no
35
71
  * step is ever recorded; the dispatch is byte-identical to pre-G1.
36
72
  */
37
- export declare function prepareRawStep(deps: RawRunDeps, input: RawRunInput): RawStepContext | null;
73
+ export declare function prepareRawStep(deps: Pick<RawRunDeps, "manifest">, input: {
74
+ readonly provider: string;
75
+ readonly model: string;
76
+ readonly stepKey?: string;
77
+ readonly tags?: RunTags;
78
+ }): RawStepContext | null;
79
+ /** G1: mirror one lane-B inference (raw, or an OBS-1 recorded call) into a
80
+ * ground-truth step — parity with the routed lane's record-attempt. No-op when
81
+ * no run context was captured at entry. Fail-open is handled inside
82
+ * `emitGroundTruthStep` (buffer errors are swallowed). */
83
+ export declare function emitRawStep(step: RawStepContext | null, task: string, inferenceId: string, failureClass: string | null): void;
38
84
  /**
39
85
  * Turn an `AdapterResult` into a RunResult, recording exactly one telemetry row.
40
86
  * Shared by the buffered and streaming paths so cost/telemetry are byte-identical.
@@ -1 +1 @@
1
- {"version":3,"file":"raw-finalize.d.ts","sourceRoot":"","sources":["../../src/run/raw-finalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,aAAa,EAGb,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAW,SAAS,EAAW,MAAM,gBAAgB,CAAC;AAKlE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAErD;;;wEAGwE;AACxE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAS/E;AA6ED;;;kFAGkF;AAClF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CAU1F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,GAAG,IAAI,GAC1B,SAAS,CA6JX"}
1
+ {"version":3,"file":"raw-finalize.d.ts","sourceRoot":"","sources":["../../src/run/raw-finalize.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,9 @@
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.rawTimeoutFixHint = rawTimeoutFixHint;
14
+ exports.recordRawRow = recordRawRow;
14
15
  exports.prepareRawStep = prepareRawStep;
16
+ exports.emitRawStep = emitRawStep;
15
17
  exports.finalizeRaw = finalizeRaw;
16
18
  const node_crypto_1 = require("node:crypto");
17
19
  const cost_1 = require("./cost");
@@ -55,7 +57,7 @@ function recordRawRow(telemetry, p) {
55
57
  provider: p.provider,
56
58
  model: p.model,
57
59
  requestedTier: p.requestedTier,
58
- servedTier: p.usage?.servedTier ?? "standard",
60
+ servedTier: p.usage?.servedTier ?? p.servedTier ?? "standard",
59
61
  tokensIn: p.usage?.tokensIn ?? 0,
60
62
  tokensOut: p.usage?.tokensOut ?? 0,
61
63
  tokensCached: p.usage?.tokensCached ?? 0,
@@ -106,6 +108,22 @@ function prepareRawStep(deps, input) {
106
108
  const stepKey = (0, run_context_1.resolveStepKey)(input.stepKey, input.tags?.step, () => runCtx.nextStepKey(rawModelId));
107
109
  return { runCtx, stepKey, startedAtIso: new Date().toISOString() };
108
110
  }
111
+ /** G1: mirror one lane-B inference (raw, or an OBS-1 recorded call) into a
112
+ * ground-truth step — parity with the routed lane's record-attempt. No-op when
113
+ * no run context was captured at entry. Fail-open is handled inside
114
+ * `emitGroundTruthStep` (buffer errors are swallowed). */
115
+ function emitRawStep(step, task, inferenceId, failureClass) {
116
+ if (step === null)
117
+ return;
118
+ step.runCtx.emitGroundTruthStep({
119
+ stepKey: step.stepKey,
120
+ task,
121
+ inferenceId,
122
+ startedAt: step.startedAtIso,
123
+ endedAt: new Date().toISOString(),
124
+ failureClass,
125
+ });
126
+ }
109
127
  /**
110
128
  * Turn an `AdapterResult` into a RunResult, recording exactly one telemetry row.
111
129
  * Shared by the buffered and streaming paths so cost/telemetry are byte-identical.
@@ -132,7 +150,17 @@ function finalizeRaw(deps, input, result, latencyMs, step) {
132
150
  // caller set none — spread FIRST so a caller value wins, and omitted entirely
133
151
  // outside a run context so the row stays byte-identical (parity with RC-1).
134
152
  const stepTag = step !== null ? { step: step.stepKey } : {};
135
- const tags = { ...stepTag, ...(0, run_context_1.withRunIdTag)(input.tags ?? {}, step?.runCtx ?? null), lane: "raw" };
153
+ // L6 (OBS-1 follow-up, architect ruling Q2): the raw lane dispatches ONLY on
154
+ // the caller's own provider key (`input.apiKey` — there is no managed-key path
155
+ // here; the hosted gateway resolves a BYOK vault key fail-closed), so every raw
156
+ // row is BYOK by construction. `key_ownership: "byok"` is SDK-owned and stamped
157
+ // LAST beside `lane`, so an in-process runRaw row can never settle as managed.
158
+ const tags = {
159
+ ...stepTag,
160
+ ...(0, run_context_1.withRunIdTag)(input.tags ?? {}, step?.runCtx ?? null),
161
+ key_ownership: "byok",
162
+ lane: "raw",
163
+ };
136
164
  // WI-1 (spec §2, §6.3 lane parity): the attempt envelope, built by the SAME
137
165
  // producer + rendered-request canonicalization the routed lane uses. R2: a
138
166
  // declared `responseSchema` joins the input_hash exactly as a route schema
@@ -154,18 +182,7 @@ function finalizeRaw(deps, input, result, latencyMs, step) {
154
182
  // G1: mirror this raw inference into a ground-truth step (parity with the
155
183
  // routed lane's record-attempt). task = tags.step ?? provider/model (spec F1).
156
184
  // Fail-open is handled inside emitGroundTruthStep (buffer errors are swallowed).
157
- const emitStep = (inferenceId, failureClass) => {
158
- if (step === null)
159
- return;
160
- step.runCtx.emitGroundTruthStep({
161
- stepKey: step.stepKey,
162
- task: input.tags?.step ?? rawModelId,
163
- inferenceId,
164
- startedAt: step.startedAtIso,
165
- endedAt: new Date().toISOString(),
166
- failureClass,
167
- });
168
- };
185
+ const emitStep = (inferenceId, failureClass) => emitRawStep(step, input.tags?.step ?? rawModelId, inferenceId, failureClass);
169
186
  if (!result.ok) {
170
187
  let costUsd = 0;
171
188
  let pricingMissing = false;
@@ -25,8 +25,9 @@ import type { TelemetryStore } from "../types/telemetry";
25
25
  * provider is the real dispatch provider so the surcharge is attributed to it. */
26
26
  export declare const NATIVE_WEB_SEARCH_MODEL = "web_search";
27
27
  export interface RawSearchCostArgs {
28
- /** The real dispatch provider (openai / grok) — the row's `provider`. */
29
- readonly provider: ProviderId;
28
+ /** The real dispatch provider (openai / grok) — the row's `provider`. An
29
+ * OBS-1 recorded call may name a provider ModelRig has no rate for (⇒ $0). */
30
+ readonly provider: ProviderId | string;
30
31
  /** The `provider/model` handle the caller used — the row's `route`. */
31
32
  readonly rawModelId: string;
32
33
  /** The effective tags already stamped on the primary raw row (lane:"raw",
@@ -1 +1 @@
1
- {"version":3,"file":"raw-search-cost.d.ts","sourceRoot":"","sources":["../../src/run/raw-search-cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIvE;;kFAEkF;AAClF,eAAO,MAAM,uBAAuB,eAAe,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;8EAC0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;kEAC8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAyC/F"}
1
+ {"version":3,"file":"raw-search-cost.d.ts","sourceRoot":"","sources":["../../src/run/raw-search-cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIvE;;kFAEkF;AAClF,eAAO,MAAM,uBAAuB,eAAe,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC;kFAC8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAAC;IACvC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;8EAC0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;kEAC8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CA0C/F"}