@o11y-one/api-agentic 0.0.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.
@@ -0,0 +1,4292 @@
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
3
+ import type { AgenticEvaluationCapabilitiesV1, AgentTraceListFilterV1, CompletenessStateV1, CostAmountV1, EvaluationFreshnessV1, EvaluationOperationDimensionV1, EvaluationRateDimensionNoteV1, EvaluationTokenAccountingV1, MetricAvailabilityV1, PrincipalRefV1, ProviderUsageRecordV1, RecoveryActionV1 } from "./evaluation_pb.js";
4
+ import type { AgentRunGroupingConfidenceV1, AgentRunGroupingV1, ConfirmAgentRunGroupingRequestSchema, ConfirmAgentRunGroupingResponseSchema, ConversationCompletenessStateV1, ConversationCompletenessV1, GroupingRedirectV1 } from "./agent_run_pb.js";
5
+ import type { ArtifactLinkConflictPostureV1, ArtifactLinkFallbackReasonV1, ArtifactLinkSourceKindV1, ArtifactLinkStatusV1, ArtifactLinkV1, ArtifactRelationV1, ArtifactResolverPostureV1, ArtifactRoleV1, ArtifactTypeV1, EvidenceAnchorV1, LinkExternalArtifactRequestSchema, LinkExternalArtifactResponseSchema } from "./artifact_pb.js";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+ /**
8
+ * Describes the file o11y_one/agentic/v1/trace_view.proto.
9
+ */
10
+ export declare const file_o11y_one_agentic_v1_trace_view: GenFile;
11
+ /**
12
+ * The population this surface reads, declared rather than described.
13
+ *
14
+ * `DECISION:960` gave the Operations tab a frozen list of dimensions it refuses
15
+ * to break down by, and `EVALUATION_OPERATION_DIMENSION_V1_TELEMETRY_SPAN` is
16
+ * the seventh. That is not a row predicate — the Operations tab does not filter
17
+ * telemetry spans out of a costing query, it declines to offer a telemetry-span
18
+ * breakdown at all. This surface answers exactly that refused dimension, and it
19
+ * carries the SAME enum value rather than a second spelling of the word, so
20
+ * that the two surfaces cannot drift into disagreeing about their shared edge.
21
+ *
22
+ * @generated from message o11y_one.agentic.v1.TraceSpanPopulationBoundaryV1
23
+ */
24
+ export type TraceSpanPopulationBoundaryV1 = Message<"o11y_one.agentic.v1.TraceSpanPopulationBoundaryV1"> & {
25
+ /**
26
+ * @generated from field: o11y_one.agentic.v1.EvaluationOperationDimensionV1 dimension = 1;
27
+ */
28
+ dimension: EvaluationOperationDimensionV1;
29
+ /**
30
+ * `trace_scoped_telemetry_spans_only`. A constant rather than a literal at
31
+ * the construction site, so a second scope cannot appear by typo.
32
+ *
33
+ * @generated from field: string scope_code = 2;
34
+ */
35
+ scopeCode: string;
36
+ /**
37
+ * The hard cap. Published so a client can plan against it rather than
38
+ * discover it by being refused.
39
+ *
40
+ * @generated from field: uint32 max_spans = 3;
41
+ */
42
+ maxSpans: number;
43
+ };
44
+ /**
45
+ * Describes the message o11y_one.agentic.v1.TraceSpanPopulationBoundaryV1.
46
+ * Use `create(TraceSpanPopulationBoundaryV1Schema)` to create a new message.
47
+ */
48
+ export declare const TraceSpanPopulationBoundaryV1Schema: GenMessage<TraceSpanPopulationBoundaryV1>;
49
+ /**
50
+ * The window actually read, and whether it is the window that was asked for.
51
+ *
52
+ * The §4 invariant is "clamped windows say so in-band". `ListSessions` clamps
53
+ * to 720h silently and the only record of it is a fixture case name; this
54
+ * surface publishes the clamp, because a client rendering "no spans" must be
55
+ * able to tell "your window was narrowed" from "there is nothing there".
56
+ *
57
+ * @generated from message o11y_one.agentic.v1.TraceWindowV1
58
+ */
59
+ export type TraceWindowV1 = Message<"o11y_one.agentic.v1.TraceWindowV1"> & {
60
+ /**
61
+ * @generated from field: google.protobuf.Timestamp start = 1;
62
+ */
63
+ start?: Timestamp | undefined;
64
+ /**
65
+ * @generated from field: google.protobuf.Timestamp end = 2;
66
+ */
67
+ end?: Timestamp | undefined;
68
+ /**
69
+ * @generated from field: bool clamped = 3;
70
+ */
71
+ clamped: boolean;
72
+ /**
73
+ * Set only when `clamped` is true.
74
+ *
75
+ * @generated from field: optional string clamp_reason_code = 4;
76
+ */
77
+ clampReasonCode?: string | undefined;
78
+ };
79
+ /**
80
+ * Describes the message o11y_one.agentic.v1.TraceWindowV1.
81
+ * Use `create(TraceWindowV1Schema)` to create a new message.
82
+ */
83
+ export declare const TraceWindowV1Schema: GenMessage<TraceWindowV1>;
84
+ /**
85
+ * @generated from message o11y_one.agentic.v1.TraceReadRefusalV1
86
+ */
87
+ export type TraceReadRefusalV1 = Message<"o11y_one.agentic.v1.TraceReadRefusalV1"> & {
88
+ /**
89
+ * @generated from field: o11y_one.agentic.v1.TraceReadRefusalKindV1 kind = 1;
90
+ */
91
+ kind: TraceReadRefusalKindV1;
92
+ /**
93
+ * A typed slug rather than prose, because a client renders or groups by it.
94
+ *
95
+ * @generated from field: string reason_code = 2;
96
+ */
97
+ reasonCode: string;
98
+ /**
99
+ * @generated from field: string detail = 3;
100
+ */
101
+ detail: string;
102
+ /**
103
+ * @generated from field: o11y_one.agentic.v1.RecoveryActionV1 recovery_action = 4;
104
+ */
105
+ recoveryAction: RecoveryActionV1;
106
+ /**
107
+ * On a cap breach this is honestly `cap + 1` and means "at least this many":
108
+ * the scan deliberately stopped counting, and a fabricated exact total would
109
+ * be a number nobody measured.
110
+ *
111
+ * @generated from field: uint32 observed_span_count = 5;
112
+ */
113
+ observedSpanCount: number;
114
+ /**
115
+ * @generated from field: uint32 cap = 6;
116
+ */
117
+ cap: number;
118
+ };
119
+ /**
120
+ * Describes the message o11y_one.agentic.v1.TraceReadRefusalV1.
121
+ * Use `create(TraceReadRefusalV1Schema)` to create a new message.
122
+ */
123
+ export declare const TraceReadRefusalV1Schema: GenMessage<TraceReadRefusalV1>;
124
+ /**
125
+ * How many spans failed with one category.
126
+ *
127
+ * @generated from message o11y_one.agentic.v1.TraceFaultCategoryCountV1
128
+ */
129
+ export type TraceFaultCategoryCountV1 = Message<"o11y_one.agentic.v1.TraceFaultCategoryCountV1"> & {
130
+ /**
131
+ * @generated from field: o11y_one.agentic.v1.TraceFaultCategoryV1 category = 1;
132
+ */
133
+ category: TraceFaultCategoryV1;
134
+ /**
135
+ * @generated from field: uint32 span_count = 2;
136
+ */
137
+ spanCount: number;
138
+ };
139
+ /**
140
+ * Describes the message o11y_one.agentic.v1.TraceFaultCategoryCountV1.
141
+ * Use `create(TraceFaultCategoryCountV1Schema)` to create a new message.
142
+ */
143
+ export declare const TraceFaultCategoryCountV1Schema: GenMessage<TraceFaultCategoryCountV1>;
144
+ /**
145
+ * How many spans reported one status. Over the WHOLE member set, not only the
146
+ * failures — a step whose spans are 40 OK and 2 UNSET is telling a reader
147
+ * something an error count cannot.
148
+ *
149
+ * @generated from message o11y_one.agentic.v1.TraceFaultStatusCountV1
150
+ */
151
+ export type TraceFaultStatusCountV1 = Message<"o11y_one.agentic.v1.TraceFaultStatusCountV1"> & {
152
+ /**
153
+ * @generated from field: o11y_one.agentic.v1.TraceSpanStatusV1 status = 1;
154
+ */
155
+ status: TraceSpanStatusV1;
156
+ /**
157
+ * @generated from field: uint32 span_count = 2;
158
+ */
159
+ spanCount: number;
160
+ };
161
+ /**
162
+ * Describes the message o11y_one.agentic.v1.TraceFaultStatusCountV1.
163
+ * Use `create(TraceFaultStatusCountV1Schema)` to create a new message.
164
+ */
165
+ export declare const TraceFaultStatusCountV1Schema: GenMessage<TraceFaultStatusCountV1>;
166
+ /**
167
+ * The composition of a failure count (wave 35, lane B).
168
+ *
169
+ * Rides both `TraceStepSummaryV1` and `TraceOperationGroupV1`: a fault
170
+ * breakdown per turn and per operation group is the same arithmetic over a
171
+ * different member set, and two messages would be two places for that rule to
172
+ * drift.
173
+ *
174
+ * It deliberately does NOT restate `failure_count` — that number is already on
175
+ * both parents, and a breakdown carrying its own copy is one edit away from
176
+ * disagreeing with the count printed beside it. Everything here is the
177
+ * composition OF that count, plus the two exception facts a boolean per span
178
+ * could not aggregate.
179
+ *
180
+ * There is no `timeout_count` field either. A timeout is
181
+ * `category_counts[TIMEOUT]`, and minting a second spelling of one fact on one
182
+ * message is how two renderings of one screen come to disagree.
183
+ *
184
+ * @generated from message o11y_one.agentic.v1.TraceFaultBreakdownV1
185
+ */
186
+ export type TraceFaultBreakdownV1 = Message<"o11y_one.agentic.v1.TraceFaultBreakdownV1"> & {
187
+ /**
188
+ * Spans that recorded at least one exception event, failing or not.
189
+ *
190
+ * @generated from field: uint32 exception_event_span_count = 1;
191
+ */
192
+ exceptionEventSpanCount: number;
193
+ /**
194
+ * The SUM of the spans' `exception_count` columns — how many exceptions were
195
+ * recorded, not how many spans recorded one. A span that threw four times is
196
+ * four here and one above.
197
+ *
198
+ * @generated from field: uint32 exception_event_count = 2;
199
+ */
200
+ exceptionEventCount: number;
201
+ /**
202
+ * NOT_OBSERVED with `span_plane_states_no_exception_count` when NO member
203
+ * carried the column at all. Distinct from every member carrying zero, which
204
+ * is an honest zero and reports AVAILABLE.
205
+ *
206
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 exception_event_count_availability = 3;
207
+ */
208
+ exceptionEventCountAvailability?: MetricAvailabilityV1 | undefined;
209
+ /**
210
+ * Spans that recorded an exception and did NOT fail — the WARN attention
211
+ * kind, counted here so the step strip and the needs-attention set agree by
212
+ * construction rather than by coincidence.
213
+ *
214
+ * @generated from field: uint32 warned_span_count = 4;
215
+ */
216
+ warnedSpanCount: number;
217
+ /**
218
+ * Over the FAILING members only, descending by count then by enum value.
219
+ * Sums to the `failure_count` on the parent message; a failing span whose
220
+ * category column is null counts as `UNCLASSIFIED`.
221
+ *
222
+ * @generated from field: repeated o11y_one.agentic.v1.TraceFaultCategoryCountV1 category_counts = 5;
223
+ */
224
+ categoryCounts: TraceFaultCategoryCountV1[];
225
+ /**
226
+ * Over ALL members, ascending by enum value. Sums to the member count.
227
+ *
228
+ * @generated from field: repeated o11y_one.agentic.v1.TraceFaultStatusCountV1 status_counts = 6;
229
+ */
230
+ statusCounts: TraceFaultStatusCountV1[];
231
+ /**
232
+ * Failing members over all members, in basis points.
233
+ *
234
+ * Read this convention carefully, because it is NOT the one
235
+ * `wall_time_share_basis_points` uses. That share deliberately does not
236
+ * normalise to 10000, so that concurrency stays visible. This one is a true
237
+ * fraction of its own population and is always in [0, 10000].
238
+ *
239
+ * @generated from field: optional uint32 fault_share_basis_points = 7;
240
+ */
241
+ faultShareBasisPoints?: number | undefined;
242
+ /**
243
+ * NOT_OBSERVED with `population_carries_no_spans` when the member set is
244
+ * empty. An empty population has no fault share; it does not have a zero one.
245
+ *
246
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 fault_share_availability = 8;
247
+ */
248
+ faultShareAvailability?: MetricAvailabilityV1 | undefined;
249
+ };
250
+ /**
251
+ * Describes the message o11y_one.agentic.v1.TraceFaultBreakdownV1.
252
+ * Use `create(TraceFaultBreakdownV1Schema)` to create a new message.
253
+ */
254
+ export declare const TraceFaultBreakdownV1Schema: GenMessage<TraceFaultBreakdownV1>;
255
+ /**
256
+ * The first thing that went wrong in a turn.
257
+ *
258
+ * The failing member with the earliest start, span id ascending as the
259
+ * tiebreak — the same order this whole surface pages by, so "first" means the
260
+ * same thing here as it does everywhere else.
261
+ *
262
+ * @generated from message o11y_one.agentic.v1.TraceFirstFailureV1
263
+ */
264
+ export type TraceFirstFailureV1 = Message<"o11y_one.agentic.v1.TraceFirstFailureV1"> & {
265
+ /**
266
+ * @generated from field: string span_id = 1;
267
+ */
268
+ spanId: string;
269
+ /**
270
+ * @generated from field: string span_name = 2;
271
+ */
272
+ spanName: string;
273
+ /**
274
+ * @generated from field: o11y_one.agentic.v1.TraceFaultCategoryV1 category = 3;
275
+ */
276
+ category: TraceFaultCategoryV1;
277
+ /**
278
+ * @generated from field: google.protobuf.Timestamp started_at = 4;
279
+ */
280
+ startedAt?: Timestamp | undefined;
281
+ /**
282
+ * @generated from field: int64 duration_micros = 5;
283
+ */
284
+ durationMicros: bigint;
285
+ /**
286
+ * @generated from field: optional string error_type = 6;
287
+ */
288
+ errorType?: string | undefined;
289
+ /**
290
+ * @generated from field: optional string error_message = 7;
291
+ */
292
+ errorMessage?: string | undefined;
293
+ };
294
+ /**
295
+ * Describes the message o11y_one.agentic.v1.TraceFirstFailureV1.
296
+ * Use `create(TraceFirstFailureV1Schema)` to create a new message.
297
+ */
298
+ export declare const TraceFirstFailureV1Schema: GenMessage<TraceFirstFailureV1>;
299
+ /**
300
+ * The list row an estimate was priced from, and the date it was read.
301
+ *
302
+ * This message exists so the client's tooltip can say a true sentence:
303
+ * *"estimated from the provider's pricing list, as of <rate_checked_at>"*. A
304
+ * cost with no rate identity beside it is a number nobody can check.
305
+ *
306
+ * What it deliberately does NOT carry is a provider. `ProviderUsageRecordV1` on
307
+ * the span beside it sets `provider = UNSPECIFIED` on purpose (NN5): a span
308
+ * names its provider, when it names one at all, in free text, and mapping that
309
+ * onto this build's closed enum would put a provider-attributed fact on the
310
+ * wire the provider never stated. The estimate does not need one — the SPAN
311
+ * states its own model id, and that string is matched to a registry row by
312
+ * EXACT model id. The rate identity is a row, not an attribution.
313
+ *
314
+ * @generated from message o11y_one.agentic.v1.TraceSpanRateBasisV1
315
+ */
316
+ export type TraceSpanRateBasisV1 = Message<"o11y_one.agentic.v1.TraceSpanRateBasisV1"> & {
317
+ /**
318
+ * The model id the span itself stated (response model first — the model that
319
+ * served is the model billed), matched to a registry row by exact equality.
320
+ *
321
+ * @generated from field: string model_id = 1;
322
+ */
323
+ modelId: string;
324
+ /**
325
+ * The registry's version and table-wide review date.
326
+ *
327
+ * @generated from field: string registry_version = 2;
328
+ */
329
+ registryVersion: string;
330
+ /**
331
+ * @generated from field: string registry_effective_date = 3;
332
+ */
333
+ registryEffectiveDate: string;
334
+ /**
335
+ * THIS ROW's own as-of date — when these numbers were last read off the
336
+ * provider's page. Per-row rather than table-wide, which is the whole point
337
+ * of increment E1-5: a table-wide date claims every row was reviewed on one
338
+ * day. THIS is the date the tooltip renders.
339
+ *
340
+ * @generated from field: string rate_checked_at = 4;
341
+ */
342
+ rateCheckedAt: string;
343
+ /**
344
+ * The age at which the registry calls itself stale, in days.
345
+ *
346
+ * The THRESHOLD and no verdict, and that is the same ruling `capability.rs`
347
+ * made for the rate-freshness posture (increment E1-6, narrowed by wave 25):
348
+ * a staleness state is `observed_at - effective_date`, which changes every
349
+ * midnight, and this message rides responses the fixture corpus asserts byte
350
+ * for byte. A verdict here would turn the corpus red on one future calendar
351
+ * day with no code change. So this publishes the compiled-in facts — which
352
+ * table, which row, when a human last re-read it, and the rule's threshold —
353
+ * and lets the client, which has its own clock, apply the rule. The eval
354
+ * side's frozen verdict still lives where a verdict belongs: on
355
+ * `EvaluationPricingSourceV1`, computed at the single instant a pricing pass
356
+ * reads, and sealed into an immutable manifest.
357
+ *
358
+ * @generated from field: uint32 staleness_threshold_days = 5;
359
+ */
360
+ stalenessThresholdDays: number;
361
+ /**
362
+ * The two dimensions this estimate actually priced. Absent means the row
363
+ * publishes no price for that dimension, never a zero price.
364
+ *
365
+ * @generated from field: optional int64 input_micros_per_million_tokens = 6;
366
+ */
367
+ inputMicrosPerMillionTokens?: bigint | undefined;
368
+ /**
369
+ * @generated from field: optional int64 output_micros_per_million_tokens = 7;
370
+ */
371
+ outputMicrosPerMillionTokens?: bigint | undefined;
372
+ /**
373
+ * The same accounting block the span's usage record carries, and it says the
374
+ * same thing: `provider_accounting_unknown`. It is the field that explains
375
+ * the dimension notes below — with no provider named, this build cannot know
376
+ * whether the span's input tokens already contain its cache tokens, and the
377
+ * two providers it ships answer that question OPPOSITELY.
378
+ *
379
+ * @generated from field: o11y_one.agentic.v1.EvaluationTokenAccountingV1 token_accounting = 8;
380
+ */
381
+ tokenAccounting?: EvaluationTokenAccountingV1 | undefined;
382
+ /**
383
+ * One note per dimension this estimate declined to price, with the reason.
384
+ * An estimate that names what it left out is arguable; one that silently
385
+ * double-counts a cache is not. Reuses the eval side's note type rather than
386
+ * twinning it.
387
+ *
388
+ * @generated from field: repeated o11y_one.agentic.v1.EvaluationRateDimensionNoteV1 dimension_notes = 9;
389
+ */
390
+ dimensionNotes: EvaluationRateDimensionNoteV1[];
391
+ };
392
+ /**
393
+ * Describes the message o11y_one.agentic.v1.TraceSpanRateBasisV1.
394
+ * Use `create(TraceSpanRateBasisV1Schema)` to create a new message.
395
+ */
396
+ export declare const TraceSpanRateBasisV1Schema: GenMessage<TraceSpanRateBasisV1>;
397
+ /**
398
+ * Level 4b. One span's cost, with its provenance stated (wave 35, lane B).
399
+ *
400
+ * HARD BOUNDARY, stated on the wire because it is the property that makes this
401
+ * message safe to ship: this number is DISPLAY PLANE ONLY. It enters no
402
+ * economics ledger, no projection, no invoice surface and no run manifest; it
403
+ * is never summed with evaluation economics; and it is never what the provider
404
+ * billed. The eval side's costs are frozen into immutable manifests and
405
+ * reserved against budgets. This one is read off a telemetry span at render
406
+ * time and is gone when the window closes.
407
+ *
408
+ * @generated from message o11y_one.agentic.v1.TraceSpanCostV1
409
+ */
410
+ export type TraceSpanCostV1 = Message<"o11y_one.agentic.v1.TraceSpanCostV1"> & {
411
+ /**
412
+ * @generated from field: o11y_one.agentic.v1.TraceSpanCostProvenanceV1 provenance = 1;
413
+ */
414
+ provenance: TraceSpanCostProvenanceV1;
415
+ /**
416
+ * Integer micros, in the currency named beside it. Absent whenever the
417
+ * availability is not AVAILABLE — a cost this build could not determine is
418
+ * absent, never zero.
419
+ *
420
+ * @generated from field: optional o11y_one.agentic.v1.CostAmountV1 amount = 2;
421
+ */
422
+ amount?: CostAmountV1 | undefined;
423
+ /**
424
+ * The span's own spelling of its cost attribute, byte for byte, whenever the
425
+ * span carried one — INCLUDING when it did not parse as a number. The
426
+ * verbatim string is evidence; the micros beside it are a scale of that
427
+ * evidence, and if the two ever disagree the string is the one that is true.
428
+ *
429
+ * @generated from field: optional string client_stated_amount_verbatim = 3;
430
+ */
431
+ clientStatedAmountVerbatim?: string | undefined;
432
+ /**
433
+ * Set only for LIST_RATE_ESTIMATE.
434
+ *
435
+ * @generated from field: optional o11y_one.agentic.v1.TraceSpanRateBasisV1 rate_basis = 4;
436
+ */
437
+ rateBasis?: TraceSpanRateBasisV1 | undefined;
438
+ /**
439
+ * Why there is no amount, when there is none. One of:
440
+ * `span_states_no_cost_and_no_token_usage`,
441
+ * `span_states_no_input_output_token_split`, `span_states_no_model_id`,
442
+ * `no_list_rate_for_span_model`, `span_cost_attribute_is_not_a_number`,
443
+ * `residual_attributes_not_presented_by_plane`.
444
+ *
445
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 5;
446
+ */
447
+ availability?: MetricAvailabilityV1 | undefined;
448
+ /**
449
+ * Whether the currency of this amount is a stated fact.
450
+ *
451
+ * `gen_ai.usage.cost` is a bare number: OTel gives it no currency companion
452
+ * and this build recognises none. So a CLIENT_STATED amount reports
453
+ * NOT_OBSERVED with `span_states_cost_without_currency` and an empty
454
+ * `currency_code`, rather than being stamped "USD" by a server that was never
455
+ * told. A LIST_RATE_ESTIMATE reports AVAILABLE: the registry denominates its
456
+ * own rows.
457
+ *
458
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 currency_availability = 6;
459
+ */
460
+ currencyAvailability?: MetricAvailabilityV1 | undefined;
461
+ };
462
+ /**
463
+ * Describes the message o11y_one.agentic.v1.TraceSpanCostV1.
464
+ * Use `create(TraceSpanCostV1Schema)` to create a new message.
465
+ */
466
+ export declare const TraceSpanCostV1Schema: GenMessage<TraceSpanCostV1>;
467
+ /**
468
+ * A group's cost, and what it is made of.
469
+ *
470
+ * Rides `TraceOperationGroupV1` and nothing else. A group is the same operation
471
+ * against the same target ×N, which is the one place a sum answers a question a
472
+ * person actually asks. There is deliberately NO step-level and NO trace-level
473
+ * total: a trace-wide money total is a bill-shaped object, and a bill-shaped
474
+ * object on a telemetry read model is how a display-plane estimate ends up
475
+ * quoted at somebody. A client that wants one can add these up in front of a
476
+ * person who can see what they are adding.
477
+ *
478
+ * @generated from message o11y_one.agentic.v1.TraceSpanCostRollupV1
479
+ */
480
+ export type TraceSpanCostRollupV1 = Message<"o11y_one.agentic.v1.TraceSpanCostRollupV1"> & {
481
+ /**
482
+ * Present only when at least one member carries an amount. Never a zero
483
+ * standing in for "nothing here was costed".
484
+ *
485
+ * @generated from field: optional o11y_one.agentic.v1.CostAmountV1 total = 1;
486
+ */
487
+ total?: CostAmountV1 | undefined;
488
+ /**
489
+ * NOT_OBSERVED with `no_span_in_group_carries_cost` when no member had one.
490
+ * AVAILABLE with reason `rollup_mixes_unstated_currency` when the total
491
+ * includes a client-stated member whose currency the span never stated — in
492
+ * which case `total.currency_code` is empty, because the sum is denominated
493
+ * in at least one currency nobody named.
494
+ *
495
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 2;
496
+ */
497
+ availability?: MetricAvailabilityV1 | undefined;
498
+ /**
499
+ * @generated from field: uint32 client_stated_span_count = 3;
500
+ */
501
+ clientStatedSpanCount: number;
502
+ /**
503
+ * @generated from field: uint32 list_rate_estimate_span_count = 4;
504
+ */
505
+ listRateEstimateSpanCount: number;
506
+ /**
507
+ * @generated from field: uint32 uncosted_span_count = 5;
508
+ */
509
+ uncostedSpanCount: number;
510
+ /**
511
+ * True when the total adds a stated number to an estimated one. Such a total
512
+ * is a different kind of number from either of its parts and must not render
513
+ * as though it were one of them.
514
+ *
515
+ * @generated from field: bool mixes_stated_and_estimated = 6;
516
+ */
517
+ mixesStatedAndEstimated: boolean;
518
+ };
519
+ /**
520
+ * Describes the message o11y_one.agentic.v1.TraceSpanCostRollupV1.
521
+ * Use `create(TraceSpanCostRollupV1Schema)` to create a new message.
522
+ */
523
+ export declare const TraceSpanCostRollupV1Schema: GenMessage<TraceSpanCostRollupV1>;
524
+ /**
525
+ * One member of a group that is slower than its group's p95.
526
+ *
527
+ * @generated from message o11y_one.agentic.v1.TraceSpanOutlierV1
528
+ */
529
+ export type TraceSpanOutlierV1 = Message<"o11y_one.agentic.v1.TraceSpanOutlierV1"> & {
530
+ /**
531
+ * @generated from field: string span_id = 1;
532
+ */
533
+ spanId: string;
534
+ /**
535
+ * @generated from field: string span_name = 2;
536
+ */
537
+ spanName: string;
538
+ /**
539
+ * @generated from field: int64 duration_micros = 3;
540
+ */
541
+ durationMicros: bigint;
542
+ };
543
+ /**
544
+ * Describes the message o11y_one.agentic.v1.TraceSpanOutlierV1.
545
+ * Use `create(TraceSpanOutlierV1Schema)` to create a new message.
546
+ */
547
+ export declare const TraceSpanOutlierV1Schema: GenMessage<TraceSpanOutlierV1>;
548
+ /**
549
+ * Level 2. Operations of one kind against one target, collapsed.
550
+ *
551
+ * @generated from message o11y_one.agentic.v1.TraceOperationGroupV1
552
+ */
553
+ export type TraceOperationGroupV1 = Message<"o11y_one.agentic.v1.TraceOperationGroupV1"> & {
554
+ /**
555
+ * @generated from field: o11y_one.agentic.v1.TraceOperationKindV1 kind = 1;
556
+ */
557
+ kind: TraceOperationKindV1;
558
+ /**
559
+ * The most specific identifier the span carries for its kind: the tool name
560
+ * or MCP method for TOOL, the response then request model for LLM,
561
+ * `db.system.name` for DB, `http.route` then `url.path` for HTTP, the service
562
+ * name then the span name otherwise. Never empty — an empty group key would
563
+ * collapse unlike operations into one row.
564
+ *
565
+ * @generated from field: string target = 2;
566
+ */
567
+ target: string;
568
+ /**
569
+ * The design's "×N collapse count".
570
+ *
571
+ * @generated from field: uint32 collapsed_count = 3;
572
+ */
573
+ collapsedCount: number;
574
+ /**
575
+ * @generated from field: uint32 failure_count = 4;
576
+ */
577
+ failureCount: number;
578
+ /**
579
+ * The design's "Σ duration": the SUM of member durations, which for
580
+ * concurrent members exceeds wall time. Named `total_duration` and not
581
+ * `wall_time` for exactly that reason.
582
+ *
583
+ * @generated from field: int64 total_duration_micros = 5;
584
+ */
585
+ totalDurationMicros: bigint;
586
+ /**
587
+ * Nearest rank: sort ascending, take index `ceil(0.95 * n) - 1`.
588
+ *
589
+ * Absent for a group smaller than `min_group_size_for_percentile`, because a
590
+ * p95 over four samples is the maximum wearing a percentile's name — and the
591
+ * maximum of a one-member group is that member, which would make every single
592
+ * call an "outlier".
593
+ *
594
+ * @generated from field: optional int64 p95_duration_micros = 6;
595
+ */
596
+ p95DurationMicros?: bigint | undefined;
597
+ /**
598
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 p95_availability = 7;
599
+ */
600
+ p95Availability?: MetricAvailabilityV1 | undefined;
601
+ /**
602
+ * Members strictly slower than p95, slowest first, capped. Empty whenever
603
+ * p95 is absent.
604
+ *
605
+ * @generated from field: repeated o11y_one.agentic.v1.TraceSpanOutlierV1 outliers = 8;
606
+ */
607
+ outliers: TraceSpanOutlierV1[];
608
+ /**
609
+ * How many further outliers the cap dropped. A full outlier list is never
610
+ * read as a complete one.
611
+ *
612
+ * @generated from field: uint32 omitted_outlier_count = 9;
613
+ */
614
+ omittedOutlierCount: number;
615
+ /**
616
+ * Wave 35. The composition of `failure_count` above: which categories, which
617
+ * statuses, how many exceptions.
618
+ *
619
+ * @generated from field: o11y_one.agentic.v1.TraceFaultBreakdownV1 faults = 10;
620
+ */
621
+ faults?: TraceFaultBreakdownV1 | undefined;
622
+ /**
623
+ * Wave 35. What these ×N calls cost, and how that number was arrived at.
624
+ *
625
+ * @generated from field: o11y_one.agentic.v1.TraceSpanCostRollupV1 cost = 11;
626
+ */
627
+ cost?: TraceSpanCostRollupV1 | undefined;
628
+ };
629
+ /**
630
+ * Describes the message o11y_one.agentic.v1.TraceOperationGroupV1.
631
+ * Use `create(TraceOperationGroupV1Schema)` to create a new message.
632
+ */
633
+ export declare const TraceOperationGroupV1Schema: GenMessage<TraceOperationGroupV1>;
634
+ /**
635
+ * Level 1. One agent turn.
636
+ *
637
+ * A step is a span carrying `gen_ai.agent.name` no ancestor of which carries
638
+ * one; every other span attributes to its nearest such ancestor. There is no
639
+ * `invoke_agent` operation-name convention in this build, so keying on one
640
+ * would be keying on something nothing emits.
641
+ *
642
+ * @generated from message o11y_one.agentic.v1.TraceStepSummaryV1
643
+ */
644
+ export type TraceStepSummaryV1 = Message<"o11y_one.agentic.v1.TraceStepSummaryV1"> & {
645
+ /**
646
+ * The turn's own span id. A step IS a span; it does not get a synthetic id.
647
+ *
648
+ * @generated from field: string step_id = 1;
649
+ */
650
+ stepId: string;
651
+ /**
652
+ * @generated from field: string step_name = 2;
653
+ */
654
+ stepName: string;
655
+ /**
656
+ * @generated from field: optional string agent_name = 3;
657
+ */
658
+ agentName?: string | undefined;
659
+ /**
660
+ * @generated from field: optional string agent_id = 4;
661
+ */
662
+ agentId?: string | undefined;
663
+ /**
664
+ * @generated from field: google.protobuf.Timestamp started_at = 5;
665
+ */
666
+ startedAt?: Timestamp | undefined;
667
+ /**
668
+ * @generated from field: google.protobuf.Timestamp ended_at = 6;
669
+ */
670
+ endedAt?: Timestamp | undefined;
671
+ /**
672
+ * @generated from field: int64 wall_time_micros = 7;
673
+ */
674
+ wallTimeMicros: bigint;
675
+ /**
676
+ * Basis points of the trace's wall time, so two clients render the same
677
+ * number. Shares deliberately DO NOT sum to 10000 when steps overlap or when
678
+ * spans are unattributed: a normalised share would hide concurrency, which is
679
+ * the fact a waterfall exists to show.
680
+ *
681
+ * @generated from field: optional uint32 wall_time_share_basis_points = 8;
682
+ */
683
+ wallTimeShareBasisPoints?: number | undefined;
684
+ /**
685
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 wall_time_share_availability = 9;
686
+ */
687
+ wallTimeShareAvailability?: MetricAvailabilityV1 | undefined;
688
+ /**
689
+ * Spans attributed to this step, excluding the step span itself.
690
+ *
691
+ * @generated from field: uint32 operation_count = 10;
692
+ */
693
+ operationCount: number;
694
+ /**
695
+ * Failing spans attributed to this step, INCLUDING the step span itself if it
696
+ * failed — a turn that failed is a failure of that turn.
697
+ *
698
+ * @generated from field: uint32 failure_count = 11;
699
+ */
700
+ failureCount: number;
701
+ /**
702
+ * @generated from field: repeated o11y_one.agentic.v1.TraceOperationGroupV1 operation_groups = 12;
703
+ */
704
+ operationGroups: TraceOperationGroupV1[];
705
+ /**
706
+ * @generated from field: uint32 omitted_operation_group_count = 13;
707
+ */
708
+ omittedOperationGroupCount: number;
709
+ /**
710
+ * Wave 35. The composition of `failure_count` above, over this turn's spans
711
+ * INCLUDING the turn's own span — the same member set the count uses, for the
712
+ * same reason: a turn that failed is a failure of that turn.
713
+ *
714
+ * @generated from field: o11y_one.agentic.v1.TraceFaultBreakdownV1 faults = 14;
715
+ */
716
+ faults?: TraceFaultBreakdownV1 | undefined;
717
+ /**
718
+ * Wave 35. The earliest failure in this turn. Absent when the turn had none —
719
+ * absent, not a zero-valued pointer at a span that did not fail.
720
+ *
721
+ * @generated from field: optional o11y_one.agentic.v1.TraceFirstFailureV1 first_failure = 15;
722
+ */
723
+ firstFailure?: TraceFirstFailureV1 | undefined;
724
+ /**
725
+ * S2. What this turn cost, over the SAME member set `failure_count` and
726
+ * `faults` use — the turn's spans INCLUDING the turn's own span, because a
727
+ * turn's money is the money of that turn. It is therefore NOT the sum of
728
+ * `operation_groups`' rollups whenever the turn's own span carries a cost:
729
+ * the groups exclude that span, for the same reason `operation_count` does.
730
+ *
731
+ * Same type as a group's rollup, so `mixes_stated_and_estimated` and the
732
+ * unstated-currency reason ride the turn total too: a total that adds a
733
+ * client's own figure to a list-rate estimate is labelled, not hidden.
734
+ *
735
+ * @generated from field: o11y_one.agentic.v1.TraceSpanCostRollupV1 cost = 16;
736
+ */
737
+ cost?: TraceSpanCostRollupV1 | undefined;
738
+ };
739
+ /**
740
+ * Describes the message o11y_one.agentic.v1.TraceStepSummaryV1.
741
+ * Use `create(TraceStepSummaryV1Schema)` to create a new message.
742
+ */
743
+ export declare const TraceStepSummaryV1Schema: GenMessage<TraceStepSummaryV1>;
744
+ /**
745
+ * @generated from message o11y_one.agentic.v1.TraceCriticalPathStepV1
746
+ */
747
+ export type TraceCriticalPathStepV1 = Message<"o11y_one.agentic.v1.TraceCriticalPathStepV1"> & {
748
+ /**
749
+ * @generated from field: string span_id = 1;
750
+ */
751
+ spanId: string;
752
+ /**
753
+ * @generated from field: string span_name = 2;
754
+ */
755
+ spanName: string;
756
+ /**
757
+ * @generated from field: o11y_one.agentic.v1.TraceOperationKindV1 kind = 3;
758
+ */
759
+ kind: TraceOperationKindV1;
760
+ /**
761
+ * @generated from field: int64 duration_micros = 4;
762
+ */
763
+ durationMicros: bigint;
764
+ /**
765
+ * Duration minus the UNION of the children's intervals, so a span with two
766
+ * concurrent children is not charged twice. This is the number that says
767
+ * which link is spending time rather than merely containing it.
768
+ *
769
+ * @generated from field: int64 self_duration_micros = 5;
770
+ */
771
+ selfDurationMicros: bigint;
772
+ /**
773
+ * @generated from field: uint32 depth = 6;
774
+ */
775
+ depth: number;
776
+ /**
777
+ * @generated from field: optional string step_id = 7;
778
+ */
779
+ stepId?: string | undefined;
780
+ };
781
+ /**
782
+ * Describes the message o11y_one.agentic.v1.TraceCriticalPathStepV1.
783
+ * Use `create(TraceCriticalPathStepV1Schema)` to create a new message.
784
+ */
785
+ export declare const TraceCriticalPathStepV1Schema: GenMessage<TraceCriticalPathStepV1>;
786
+ /**
787
+ * Level 5a. The chain that determines the trace's wall time.
788
+ *
789
+ * @generated from message o11y_one.agentic.v1.TraceCriticalPathV1
790
+ */
791
+ export type TraceCriticalPathV1 = Message<"o11y_one.agentic.v1.TraceCriticalPathV1"> & {
792
+ /**
793
+ * @generated from field: repeated o11y_one.agentic.v1.TraceCriticalPathStepV1 steps = 1;
794
+ */
795
+ steps: TraceCriticalPathStepV1[];
796
+ /**
797
+ * The ROOT's duration, not the sum of the chain — a sum would double-count
798
+ * every nesting level.
799
+ *
800
+ * @generated from field: int64 total_duration_micros = 2;
801
+ */
802
+ totalDurationMicros: bigint;
803
+ /**
804
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 3;
805
+ */
806
+ availability?: MetricAvailabilityV1 | undefined;
807
+ /**
808
+ * Which definition produced this path. A client that renders "the critical
809
+ * path" without knowing the definition cannot compare two builds, and a later
810
+ * change of definition should be a fixture diff a reviewer sees.
811
+ *
812
+ * `latest_finishing_child_chain_v1`: from the root, repeatedly descend to the
813
+ * child whose end time is latest; ties by longer duration, then by span id
814
+ * ascending, so the answer is deterministic.
815
+ *
816
+ * @generated from field: string method_code = 4;
817
+ */
818
+ methodCode: string;
819
+ };
820
+ /**
821
+ * Describes the message o11y_one.agentic.v1.TraceCriticalPathV1.
822
+ * Use `create(TraceCriticalPathV1Schema)` to create a new message.
823
+ */
824
+ export declare const TraceCriticalPathV1Schema: GenMessage<TraceCriticalPathV1>;
825
+ /**
826
+ * @generated from message o11y_one.agentic.v1.TraceAttentionItemV1
827
+ */
828
+ export type TraceAttentionItemV1 = Message<"o11y_one.agentic.v1.TraceAttentionItemV1"> & {
829
+ /**
830
+ * @generated from field: string span_id = 1;
831
+ */
832
+ spanId: string;
833
+ /**
834
+ * @generated from field: string span_name = 2;
835
+ */
836
+ spanName: string;
837
+ /**
838
+ * @generated from field: o11y_one.agentic.v1.TraceAttentionKindV1 kind = 3;
839
+ */
840
+ kind: TraceAttentionKindV1;
841
+ /**
842
+ * @generated from field: string reason_code = 4;
843
+ */
844
+ reasonCode: string;
845
+ /**
846
+ * @generated from field: optional string detail = 5;
847
+ */
848
+ detail?: string | undefined;
849
+ /**
850
+ * @generated from field: int64 duration_micros = 6;
851
+ */
852
+ durationMicros: bigint;
853
+ /**
854
+ * @generated from field: optional string step_id = 7;
855
+ */
856
+ stepId?: string | undefined;
857
+ };
858
+ /**
859
+ * Describes the message o11y_one.agentic.v1.TraceAttentionItemV1.
860
+ * Use `create(TraceAttentionItemV1Schema)` to create a new message.
861
+ */
862
+ export declare const TraceAttentionItemV1Schema: GenMessage<TraceAttentionItemV1>;
863
+ /**
864
+ * Level 5b. What "Highlight errors" filters over, computed here so it is not a
865
+ * client scan.
866
+ *
867
+ * @generated from message o11y_one.agentic.v1.TraceNeedsAttentionSetV1
868
+ */
869
+ export type TraceNeedsAttentionSetV1 = Message<"o11y_one.agentic.v1.TraceNeedsAttentionSetV1"> & {
870
+ /**
871
+ * Sorted ERROR, then WARN, then SLOW_OUTLIER; within a kind by duration
872
+ * descending, then span id.
873
+ *
874
+ * @generated from field: repeated o11y_one.agentic.v1.TraceAttentionItemV1 items = 1;
875
+ */
876
+ items: TraceAttentionItemV1[];
877
+ /**
878
+ * The three counts are over the WHOLE population, not over the capped list
879
+ * above, so a client that renders "1,204 errors" while showing 200 of them is
880
+ * telling the truth on both numbers.
881
+ *
882
+ * @generated from field: uint32 error_count = 2;
883
+ */
884
+ errorCount: number;
885
+ /**
886
+ * @generated from field: uint32 warn_count = 3;
887
+ */
888
+ warnCount: number;
889
+ /**
890
+ * @generated from field: uint32 slow_outlier_count = 4;
891
+ */
892
+ slowOutlierCount: number;
893
+ /**
894
+ * @generated from field: uint32 omitted_item_count = 5;
895
+ */
896
+ omittedItemCount: number;
897
+ };
898
+ /**
899
+ * Describes the message o11y_one.agentic.v1.TraceNeedsAttentionSetV1.
900
+ * Use `create(TraceNeedsAttentionSetV1Schema)` to create a new message.
901
+ */
902
+ export declare const TraceNeedsAttentionSetV1Schema: GenMessage<TraceNeedsAttentionSetV1>;
903
+ /**
904
+ * @generated from message o11y_one.agentic.v1.AgentTraceHeaderV1
905
+ */
906
+ export type AgentTraceHeaderV1 = Message<"o11y_one.agentic.v1.AgentTraceHeaderV1"> & {
907
+ /**
908
+ * @generated from field: string trace_id = 1;
909
+ */
910
+ traceId: string;
911
+ /**
912
+ * @generated from field: google.protobuf.Timestamp started_at = 2;
913
+ */
914
+ startedAt?: Timestamp | undefined;
915
+ /**
916
+ * @generated from field: google.protobuf.Timestamp ended_at = 3;
917
+ */
918
+ endedAt?: Timestamp | undefined;
919
+ /**
920
+ * @generated from field: int64 wall_time_micros = 4;
921
+ */
922
+ wallTimeMicros: bigint;
923
+ /**
924
+ * @generated from field: uint32 span_count = 5;
925
+ */
926
+ spanCount: number;
927
+ /**
928
+ * @generated from field: uint32 step_count = 6;
929
+ */
930
+ stepCount: number;
931
+ /**
932
+ * Spans with no agent-turn ancestor. Never silently folded into a
933
+ * neighbouring step.
934
+ *
935
+ * @generated from field: uint32 unattributed_span_count = 7;
936
+ */
937
+ unattributedSpanCount: number;
938
+ /**
939
+ * AVAILABLE when at least one agent turn was found — including when the
940
+ * count of anything under it is honestly zero. NOT_OBSERVED with
941
+ * `trace_carries_no_agent_turn_spans` when the trace's spans carry no
942
+ * `gen_ai.agent.name` at all, which is a different fact from a trace whose
943
+ * turns did nothing.
944
+ *
945
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 step_availability = 8;
946
+ */
947
+ stepAvailability?: MetricAvailabilityV1 | undefined;
948
+ /**
949
+ * S2. What the whole trace cost, over EVERY span in the population — the
950
+ * turns, their operations, and the spans that attribute to no turn. Over the
951
+ * whole population rather than over the steps because a trace whose LLM calls
952
+ * carry no `gen_ai.agent.name` has no steps at all, and a money total that
953
+ * read zero there would be reporting the absence of turns as the absence of
954
+ * spend.
955
+ *
956
+ * Same type as a step's and a group's rollup, so the composition counts, the
957
+ * `mixes_stated_and_estimated` flag and the unstated-currency reason ride the
958
+ * trace total too. A partial-provenance total is labelled, not hidden.
959
+ *
960
+ * @generated from field: o11y_one.agentic.v1.TraceSpanCostRollupV1 cost = 9;
961
+ */
962
+ cost?: TraceSpanCostRollupV1 | undefined;
963
+ /**
964
+ * S3. Spans that exist only because an earlier attempt failed: members of an
965
+ * inferred retry chain whose `attempt_index` is greater than one. An honest
966
+ * zero — the population was read and no chain was found — which is why it is
967
+ * a count here and an absence on the span.
968
+ *
969
+ * @generated from field: uint32 retried_span_count = 10;
970
+ */
971
+ retriedSpanCount: number;
972
+ };
973
+ /**
974
+ * Describes the message o11y_one.agentic.v1.AgentTraceHeaderV1.
975
+ * Use `create(AgentTraceHeaderV1Schema)` to create a new message.
976
+ */
977
+ export declare const AgentTraceHeaderV1Schema: GenMessage<AgentTraceHeaderV1>;
978
+ /**
979
+ * A span's input and output as this build actually holds them: storage
980
+ * references, not bodies.
981
+ *
982
+ * Present so the absence is legible rather than implied. Turning one of these
983
+ * into a payload is the Phase 5 "Extraction Preview" plane — redaction before
984
+ * preview, dedupe fingerprints, leakage signals — and the capability
985
+ * `trace_span_content_hydration` says it is UNAVAILABLE.
986
+ *
987
+ * @generated from message o11y_one.agentic.v1.TraceSpanContentRefV1
988
+ */
989
+ export type TraceSpanContentRefV1 = Message<"o11y_one.agentic.v1.TraceSpanContentRefV1"> & {
990
+ /**
991
+ * `input`, `output`, `tool_arguments`, `tool_result`, `retrieval_documents`,
992
+ * `reasoning`.
993
+ *
994
+ * @generated from field: string content_class = 1;
995
+ */
996
+ contentClass: string;
997
+ /**
998
+ * @generated from field: string storage_uri = 2;
999
+ */
1000
+ storageUri: string;
1001
+ };
1002
+ /**
1003
+ * Describes the message o11y_one.agentic.v1.TraceSpanContentRefV1.
1004
+ * Use `create(TraceSpanContentRefV1Schema)` to create a new message.
1005
+ */
1006
+ export declare const TraceSpanContentRefV1Schema: GenMessage<TraceSpanContentRefV1>;
1007
+ /**
1008
+ * S3. One span's place in a retry chain.
1009
+ *
1010
+ * INFERRED, and the capability says so. Nothing in this build marks a span as a
1011
+ * retry of another: no `retry`, `resend` or `attempt` key reaches a typed
1012
+ * column, and span links arrive at the lake with their ATTRIBUTES DROPPED, so
1013
+ * OTel's own relational mechanism cannot say WHY it links. What is left is the
1014
+ * shape — one parent, one name, one kind, one target, non-overlapping in time,
1015
+ * every attempt but the last in error — and `trace_view_retry_chain` publishes
1016
+ * `retry_chain_inference = 1` so a client renders this as a reading of the
1017
+ * trace rather than as something the caller reported.
1018
+ *
1019
+ * Absent on a span that is in no chain. Never a one-attempt chain, and never a
1020
+ * zero standing in for "this call was made once".
1021
+ *
1022
+ * @generated from message o11y_one.agentic.v1.TraceSpanRetryV1
1023
+ */
1024
+ export type TraceSpanRetryV1 = Message<"o11y_one.agentic.v1.TraceSpanRetryV1"> & {
1025
+ /**
1026
+ * The parent span id, the operation kind, the span name and the target,
1027
+ * joined. It is the grouping key itself, so two spans carry one id exactly
1028
+ * when they are in one chain. Deterministic, so two reads of one trace name
1029
+ * the chain identically and a fixture is byte-stable. The kind and the target
1030
+ * are in it because two sibling groups can share a name and differ only in
1031
+ * the kind, or only in the model or tool they called. Key by it; it is not
1032
+ * meant to be parsed.
1033
+ *
1034
+ * @generated from field: string chain_id = 1;
1035
+ */
1036
+ chainId: string;
1037
+ /**
1038
+ * 1-based. The first attempt is attempt 1, not a retry of anything.
1039
+ *
1040
+ * @generated from field: uint32 attempt_index = 2;
1041
+ */
1042
+ attemptIndex: number;
1043
+ /**
1044
+ * Attempts in this chain, including the one that finally succeeded. A chain
1045
+ * whose last attempt also failed is a chain that never succeeded, and this
1046
+ * count does not say which — `status` on each member does.
1047
+ *
1048
+ * @generated from field: uint32 attempt_count = 3;
1049
+ */
1050
+ attemptCount: number;
1051
+ };
1052
+ /**
1053
+ * Describes the message o11y_one.agentic.v1.TraceSpanRetryV1.
1054
+ * Use `create(TraceSpanRetryV1Schema)` to create a new message.
1055
+ */
1056
+ export declare const TraceSpanRetryV1Schema: GenMessage<TraceSpanRetryV1>;
1057
+ /**
1058
+ * Level 3. One raw span row.
1059
+ *
1060
+ * @generated from message o11y_one.agentic.v1.TraceSpanV1
1061
+ */
1062
+ export type TraceSpanV1 = Message<"o11y_one.agentic.v1.TraceSpanV1"> & {
1063
+ /**
1064
+ * @generated from field: string span_id = 1;
1065
+ */
1066
+ spanId: string;
1067
+ /**
1068
+ * @generated from field: optional string parent_span_id = 2;
1069
+ */
1070
+ parentSpanId?: string | undefined;
1071
+ /**
1072
+ * The agent turn this span attributes to. Absent for an unattributed span.
1073
+ *
1074
+ * @generated from field: optional string step_id = 3;
1075
+ */
1076
+ stepId?: string | undefined;
1077
+ /**
1078
+ * @generated from field: string name = 4;
1079
+ */
1080
+ name: string;
1081
+ /**
1082
+ * @generated from field: o11y_one.agentic.v1.TraceOperationKindV1 kind = 5;
1083
+ */
1084
+ kind: TraceOperationKindV1;
1085
+ /**
1086
+ * @generated from field: string target = 6;
1087
+ */
1088
+ target: string;
1089
+ /**
1090
+ * @generated from field: optional string service_name = 7;
1091
+ */
1092
+ serviceName?: string | undefined;
1093
+ /**
1094
+ * @generated from field: google.protobuf.Timestamp started_at = 8;
1095
+ */
1096
+ startedAt?: Timestamp | undefined;
1097
+ /**
1098
+ * @generated from field: google.protobuf.Timestamp ended_at = 9;
1099
+ */
1100
+ endedAt?: Timestamp | undefined;
1101
+ /**
1102
+ * @generated from field: int64 duration_micros = 10;
1103
+ */
1104
+ durationMicros: bigint;
1105
+ /**
1106
+ * @generated from field: o11y_one.agentic.v1.TraceSpanStatusV1 status = 11;
1107
+ */
1108
+ status: TraceSpanStatusV1;
1109
+ /**
1110
+ * @generated from field: bool is_error = 12;
1111
+ */
1112
+ isError: boolean;
1113
+ /**
1114
+ * @generated from field: optional string error_type = 13;
1115
+ */
1116
+ errorType?: string | undefined;
1117
+ /**
1118
+ * @generated from field: optional string error_message = 14;
1119
+ */
1120
+ errorMessage?: string | undefined;
1121
+ /**
1122
+ * @generated from field: bool has_exception_event = 15;
1123
+ */
1124
+ hasExceptionEvent: boolean;
1125
+ /**
1126
+ * Level 4. The span's usage object, preserved under the EVAL SIDE'S contract:
1127
+ * the same `ProviderUsageRecordV1` type, the same 48-field / 96-byte-path /
1128
+ * 64-byte-text / 4096-byte bounds, and the same rule that breaching any bound
1129
+ * refuses the WHOLE record rather than truncating it. Those four numbers are
1130
+ * imported from the eval side rather than restated here, because a second
1131
+ * copy of them is a future disagreement.
1132
+ *
1133
+ * What CANNOT be reused is a provider body, and the record says so rather
1134
+ * than letting a reader assume the stronger claim: the ingest pipeline
1135
+ * normalises a provider's `usage` object into OTel-spelled columns before
1136
+ * this surface sees a span, so `availability.provenance` is
1137
+ * `otel_span_gen_ai_usage_attributes`. The record is verbatim with respect to
1138
+ * the SPAN — every scalar leaf it carries, in the span's own spelling, sorted
1139
+ * by path — and is not verbatim with respect to the provider.
1140
+ *
1141
+ * @generated from field: o11y_one.agentic.v1.ProviderUsageRecordV1 verbatim_usage = 16;
1142
+ */
1143
+ verbatimUsage?: ProviderUsageRecordV1 | undefined;
1144
+ /**
1145
+ * NOT_SUPPORTED with `non_streaming_provider_client`: this build's provider
1146
+ * client does not stream, so there is no first-token instant to record. An
1147
+ * availability, never a zero.
1148
+ *
1149
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 time_to_first_token_availability = 17;
1150
+ */
1151
+ timeToFirstTokenAvailability?: MetricAvailabilityV1 | undefined;
1152
+ /**
1153
+ * @generated from field: repeated o11y_one.agentic.v1.TraceSpanContentRefV1 content_refs = 18;
1154
+ */
1155
+ contentRefs: TraceSpanContentRefV1[];
1156
+ /**
1157
+ * Level 4b (wave 35). What this span cost, and where that number came from:
1158
+ * the client's own instrumented figure, an estimate off the provider's
1159
+ * published list price, or a typed absence. Display plane only — see
1160
+ * `TraceSpanCostV1`.
1161
+ *
1162
+ * @generated from field: o11y_one.agentic.v1.TraceSpanCostV1 cost = 19;
1163
+ */
1164
+ cost?: TraceSpanCostV1 | undefined;
1165
+ /**
1166
+ * S3. Where this span sits in an inferred retry chain, or absent when it sits
1167
+ * in none. See `TraceSpanRetryV1` for what "inferred" buys and costs.
1168
+ *
1169
+ * @generated from field: optional o11y_one.agentic.v1.TraceSpanRetryV1 retry = 20;
1170
+ */
1171
+ retry?: TraceSpanRetryV1 | undefined;
1172
+ };
1173
+ /**
1174
+ * Describes the message o11y_one.agentic.v1.TraceSpanV1.
1175
+ * Use `create(TraceSpanV1Schema)` to create a new message.
1176
+ */
1177
+ export declare const TraceSpanV1Schema: GenMessage<TraceSpanV1>;
1178
+ /**
1179
+ * @generated from message o11y_one.agentic.v1.GetAgentTraceDetailRequest
1180
+ */
1181
+ export type GetAgentTraceDetailRequest = Message<"o11y_one.agentic.v1.GetAgentTraceDetailRequest"> & {
1182
+ /**
1183
+ * Lowercase hex, as `SessionV1.trace_ids` spells it.
1184
+ *
1185
+ * @generated from field: string trace_id = 1;
1186
+ */
1187
+ traceId: string;
1188
+ /**
1189
+ * Unset means the recent-24h default; a range wider than the maximum is
1190
+ * clamped, and the clamp is reported in-band.
1191
+ *
1192
+ * @generated from field: optional google.protobuf.Timestamp start = 2;
1193
+ */
1194
+ start?: Timestamp | undefined;
1195
+ /**
1196
+ * @generated from field: optional google.protobuf.Timestamp end = 3;
1197
+ */
1198
+ end?: Timestamp | undefined;
1199
+ };
1200
+ /**
1201
+ * Describes the message o11y_one.agentic.v1.GetAgentTraceDetailRequest.
1202
+ * Use `create(GetAgentTraceDetailRequestSchema)` to create a new message.
1203
+ */
1204
+ export declare const GetAgentTraceDetailRequestSchema: GenMessage<GetAgentTraceDetailRequest>;
1205
+ /**
1206
+ * Levels 1, 2 and 5, folded from ONE bounded span scan.
1207
+ *
1208
+ * It embeds no span page: a detail that carried one would grow without bound as
1209
+ * a trace filled. It is `SELECTED_DETAIL`, not a page.
1210
+ *
1211
+ * @generated from message o11y_one.agentic.v1.GetAgentTraceDetailResponse
1212
+ */
1213
+ export type GetAgentTraceDetailResponse = Message<"o11y_one.agentic.v1.GetAgentTraceDetailResponse"> & {
1214
+ /**
1215
+ * @generated from field: o11y_one.agentic.v1.AgentTraceHeaderV1 header = 1;
1216
+ */
1217
+ header?: AgentTraceHeaderV1 | undefined;
1218
+ /**
1219
+ * @generated from field: repeated o11y_one.agentic.v1.TraceStepSummaryV1 steps = 2;
1220
+ */
1221
+ steps: TraceStepSummaryV1[];
1222
+ /**
1223
+ * @generated from field: o11y_one.agentic.v1.TraceCriticalPathV1 critical_path = 3;
1224
+ */
1225
+ criticalPath?: TraceCriticalPathV1 | undefined;
1226
+ /**
1227
+ * @generated from field: o11y_one.agentic.v1.TraceNeedsAttentionSetV1 needs_attention = 4;
1228
+ */
1229
+ needsAttention?: TraceNeedsAttentionSetV1 | undefined;
1230
+ /**
1231
+ * @generated from field: o11y_one.agentic.v1.TraceSpanPopulationBoundaryV1 boundary = 5;
1232
+ */
1233
+ boundary?: TraceSpanPopulationBoundaryV1 | undefined;
1234
+ /**
1235
+ * @generated from field: o11y_one.agentic.v1.TraceWindowV1 window = 6;
1236
+ */
1237
+ window?: TraceWindowV1 | undefined;
1238
+ /**
1239
+ * @generated from field: o11y_one.agentic.v1.EvaluationFreshnessV1 freshness = 7;
1240
+ */
1241
+ freshness?: EvaluationFreshnessV1 | undefined;
1242
+ /**
1243
+ * @generated from field: o11y_one.agentic.v1.AgenticEvaluationCapabilitiesV1 capabilities = 8;
1244
+ */
1245
+ capabilities?: AgenticEvaluationCapabilitiesV1 | undefined;
1246
+ /**
1247
+ * Set when the read refused. When set, every field above it carries its
1248
+ * zero/empty value and none of them is an answer.
1249
+ *
1250
+ * @generated from field: optional o11y_one.agentic.v1.TraceReadRefusalV1 refusal = 9;
1251
+ */
1252
+ refusal?: TraceReadRefusalV1 | undefined;
1253
+ };
1254
+ /**
1255
+ * Describes the message o11y_one.agentic.v1.GetAgentTraceDetailResponse.
1256
+ * Use `create(GetAgentTraceDetailResponseSchema)` to create a new message.
1257
+ */
1258
+ export declare const GetAgentTraceDetailResponseSchema: GenMessage<GetAgentTraceDetailResponse>;
1259
+ /**
1260
+ * @generated from message o11y_one.agentic.v1.ListAgentTraceSpansRequest
1261
+ */
1262
+ export type ListAgentTraceSpansRequest = Message<"o11y_one.agentic.v1.ListAgentTraceSpansRequest"> & {
1263
+ /**
1264
+ * @generated from field: string trace_id = 1;
1265
+ */
1266
+ traceId: string;
1267
+ /**
1268
+ * @generated from field: optional google.protobuf.Timestamp start = 2;
1269
+ */
1270
+ start?: Timestamp | undefined;
1271
+ /**
1272
+ * @generated from field: optional google.protobuf.Timestamp end = 3;
1273
+ */
1274
+ end?: Timestamp | undefined;
1275
+ /**
1276
+ * Defaulted and capped; see the `trace_view_span_page` capability limits.
1277
+ *
1278
+ * @generated from field: optional uint32 limit = 4;
1279
+ */
1280
+ limit?: number | undefined;
1281
+ /**
1282
+ * @generated from field: optional uint32 offset = 5;
1283
+ */
1284
+ offset?: number | undefined;
1285
+ /**
1286
+ * Server-side filters. "Highlight errors" is this field, which is the whole
1287
+ * point of level 5 being server-computed: the client does not scan.
1288
+ *
1289
+ * @generated from field: optional string step_id = 6;
1290
+ */
1291
+ stepId?: string | undefined;
1292
+ /**
1293
+ * @generated from field: optional o11y_one.agentic.v1.TraceAttentionKindV1 attention_filter = 7;
1294
+ */
1295
+ attentionFilter?: TraceAttentionKindV1 | undefined;
1296
+ };
1297
+ /**
1298
+ * Describes the message o11y_one.agentic.v1.ListAgentTraceSpansRequest.
1299
+ * Use `create(ListAgentTraceSpansRequestSchema)` to create a new message.
1300
+ */
1301
+ export declare const ListAgentTraceSpansRequestSchema: GenMessage<ListAgentTraceSpansRequest>;
1302
+ /**
1303
+ * Levels 3 and 4.
1304
+ *
1305
+ * @generated from message o11y_one.agentic.v1.ListAgentTraceSpansResponse
1306
+ */
1307
+ export type ListAgentTraceSpansResponse = Message<"o11y_one.agentic.v1.ListAgentTraceSpansResponse"> & {
1308
+ /**
1309
+ * Ordered by start time ascending, span id ascending as tiebreak — a
1310
+ * server-fixed order, which is what makes an offset over it stable.
1311
+ *
1312
+ * @generated from field: repeated o11y_one.agentic.v1.TraceSpanV1 spans = 1;
1313
+ */
1314
+ spans: TraceSpanV1[];
1315
+ /**
1316
+ * Over the FILTERED population, not the page. A client asking for the error
1317
+ * spans of a 10,000-span trace gets the error spans, a page of them, and the
1318
+ * true total.
1319
+ *
1320
+ * @generated from field: uint32 total_matching_span_count = 2;
1321
+ */
1322
+ totalMatchingSpanCount: number;
1323
+ /**
1324
+ * @generated from field: bool has_more = 3;
1325
+ */
1326
+ hasMore: boolean;
1327
+ /**
1328
+ * @generated from field: o11y_one.agentic.v1.TraceSpanPopulationBoundaryV1 boundary = 4;
1329
+ */
1330
+ boundary?: TraceSpanPopulationBoundaryV1 | undefined;
1331
+ /**
1332
+ * @generated from field: o11y_one.agentic.v1.TraceWindowV1 window = 5;
1333
+ */
1334
+ window?: TraceWindowV1 | undefined;
1335
+ /**
1336
+ * @generated from field: o11y_one.agentic.v1.EvaluationFreshnessV1 freshness = 6;
1337
+ */
1338
+ freshness?: EvaluationFreshnessV1 | undefined;
1339
+ /**
1340
+ * @generated from field: optional o11y_one.agentic.v1.TraceReadRefusalV1 refusal = 7;
1341
+ */
1342
+ refusal?: TraceReadRefusalV1 | undefined;
1343
+ };
1344
+ /**
1345
+ * Describes the message o11y_one.agentic.v1.ListAgentTraceSpansResponse.
1346
+ * Use `create(ListAgentTraceSpansResponseSchema)` to create a new message.
1347
+ */
1348
+ export declare const ListAgentTraceSpansResponseSchema: GenMessage<ListAgentTraceSpansResponse>;
1349
+ /**
1350
+ * @generated from message o11y_one.agentic.v1.AgentRunOutcomeInputV1
1351
+ */
1352
+ export type AgentRunOutcomeInputV1 = Message<"o11y_one.agentic.v1.AgentRunOutcomeInputV1"> & {
1353
+ /**
1354
+ * @generated from field: o11y_one.agentic.v1.AgentRunOutcomeInputKindV1 kind = 1;
1355
+ */
1356
+ kind: AgentRunOutcomeInputKindV1;
1357
+ /**
1358
+ * What this input saw. Zero is an honest zero here: the input WAS consulted.
1359
+ *
1360
+ * @generated from field: uint32 observed_count = 2;
1361
+ */
1362
+ observedCount: number;
1363
+ /**
1364
+ * Exactly one input in the list carries `true` — the rung that decided.
1365
+ *
1366
+ * @generated from field: bool contributed = 3;
1367
+ */
1368
+ contributed: boolean;
1369
+ };
1370
+ /**
1371
+ * Describes the message o11y_one.agentic.v1.AgentRunOutcomeInputV1.
1372
+ * Use `create(AgentRunOutcomeInputV1Schema)` to create a new message.
1373
+ */
1374
+ export declare const AgentRunOutcomeInputV1Schema: GenMessage<AgentRunOutcomeInputV1>;
1375
+ /**
1376
+ * The verdict, its inputs, and the name of the rule that produced it.
1377
+ *
1378
+ * @generated from message o11y_one.agentic.v1.AgentRunOutcomeAssessmentV1
1379
+ */
1380
+ export type AgentRunOutcomeAssessmentV1 = Message<"o11y_one.agentic.v1.AgentRunOutcomeAssessmentV1"> & {
1381
+ /**
1382
+ * @generated from field: o11y_one.agentic.v1.AgentRunOutcomeV1 outcome = 1;
1383
+ */
1384
+ outcome: AgentRunOutcomeV1;
1385
+ /**
1386
+ * Every input in precedence order, decided one included.
1387
+ *
1388
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunOutcomeInputV1 inputs = 2;
1389
+ */
1390
+ inputs: AgentRunOutcomeInputV1[];
1391
+ /**
1392
+ * `agent_run_outcome_v1`. The same discipline `TraceCriticalPathV1.method_code`
1393
+ * applies: a header word computed by an unnamed rule is a word nobody can
1394
+ * argue with, and a later change of rule should be a fixture diff a reviewer
1395
+ * sees.
1396
+ *
1397
+ * @generated from field: string method_code = 3;
1398
+ */
1399
+ methodCode: string;
1400
+ /**
1401
+ * Set only for `_UNKNOWN`: `conversation_still_open` or
1402
+ * `no_member_span_reports_a_status`. Absent on every other verdict, because a
1403
+ * reason attached to `_SUCCEEDED` invites a reader to treat it as the answer.
1404
+ *
1405
+ * @generated from field: optional string outcome_unknown_reason_code = 4;
1406
+ */
1407
+ outcomeUnknownReasonCode?: string | undefined;
1408
+ };
1409
+ /**
1410
+ * Describes the message o11y_one.agentic.v1.AgentRunOutcomeAssessmentV1.
1411
+ * Use `create(AgentRunOutcomeAssessmentV1Schema)` to create a new message.
1412
+ */
1413
+ export declare const AgentRunOutcomeAssessmentV1Schema: GenMessage<AgentRunOutcomeAssessmentV1>;
1414
+ /**
1415
+ * One line of the run's spend.
1416
+ *
1417
+ * THERE IS NO RUN-LEVEL MONEY TOTAL ANYWHERE ON THIS SURFACE, and its absence is
1418
+ * the design. A run-wide figure is a bill-shaped object, and a bill-shaped object
1419
+ * on a telemetry read model is how a display-plane estimate ends up quoted at
1420
+ * somebody. `PLAN:1683` says "cost line ITEMS"; a client that wants a total adds
1421
+ * these in front of the reader, where the reader can see what is being added and
1422
+ * that some of it is estimated.
1423
+ *
1424
+ * @generated from message o11y_one.agentic.v1.AgentRunCostLineItemV1
1425
+ */
1426
+ export type AgentRunCostLineItemV1 = Message<"o11y_one.agentic.v1.AgentRunCostLineItemV1"> & {
1427
+ /**
1428
+ * @generated from field: o11y_one.agentic.v1.TraceOperationKindV1 kind = 1;
1429
+ */
1430
+ kind: TraceOperationKindV1;
1431
+ /**
1432
+ * The same second key `TraceOperationGroupV1` uses — model id for an LLM line,
1433
+ * tool name for a tool line — so a reader who has learned the vocabulary on the
1434
+ * trace surface does not learn a second one here.
1435
+ *
1436
+ * @generated from field: string target = 2;
1437
+ */
1438
+ target: string;
1439
+ /**
1440
+ * @generated from field: uint32 span_count = 3;
1441
+ */
1442
+ spanCount: number;
1443
+ /**
1444
+ * The trace surface's own rollup, over this bucket's members. Same arithmetic,
1445
+ * a third mount point.
1446
+ *
1447
+ * @generated from field: o11y_one.agentic.v1.TraceSpanCostRollupV1 rollup = 4;
1448
+ */
1449
+ rollup?: TraceSpanCostRollupV1 | undefined;
1450
+ };
1451
+ /**
1452
+ * Describes the message o11y_one.agentic.v1.AgentRunCostLineItemV1.
1453
+ * Use `create(AgentRunCostLineItemV1Schema)` to create a new message.
1454
+ */
1455
+ export declare const AgentRunCostLineItemV1Schema: GenMessage<AgentRunCostLineItemV1>;
1456
+ /**
1457
+ * The run's token totals, with the accounting basis attached.
1458
+ *
1459
+ * Every field is optional and an absent field is NOT a zero: a provider that
1460
+ * never reported a cache dimension and a provider whose cache never hit must not
1461
+ * arrive as the same number.
1462
+ *
1463
+ * @generated from message o11y_one.agentic.v1.AgentRunUsageTotalsV1
1464
+ */
1465
+ export type AgentRunUsageTotalsV1 = Message<"o11y_one.agentic.v1.AgentRunUsageTotalsV1"> & {
1466
+ /**
1467
+ * @generated from field: optional int64 input_tokens = 1;
1468
+ */
1469
+ inputTokens?: bigint | undefined;
1470
+ /**
1471
+ * @generated from field: optional int64 output_tokens = 2;
1472
+ */
1473
+ outputTokens?: bigint | undefined;
1474
+ /**
1475
+ * @generated from field: optional int64 total_tokens = 3;
1476
+ */
1477
+ totalTokens?: bigint | undefined;
1478
+ /**
1479
+ * @generated from field: optional int64 cache_read_input_tokens = 4;
1480
+ */
1481
+ cacheReadInputTokens?: bigint | undefined;
1482
+ /**
1483
+ * @generated from field: optional int64 cache_creation_input_tokens = 5;
1484
+ */
1485
+ cacheCreationInputTokens?: bigint | undefined;
1486
+ /**
1487
+ * @generated from field: optional int64 reasoning_tokens = 6;
1488
+ */
1489
+ reasoningTokens?: bigint | undefined;
1490
+ /**
1491
+ * How many member spans contributed. Zero means the totals are absent, not
1492
+ * that the run used no tokens.
1493
+ *
1494
+ * @generated from field: uint32 contributing_span_count = 7;
1495
+ */
1496
+ contributingSpanCount: number;
1497
+ /**
1498
+ * NOT_OBSERVED / `no_member_span_carries_token_usage` when nothing contributed.
1499
+ *
1500
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 8;
1501
+ */
1502
+ availability?: MetricAvailabilityV1 | undefined;
1503
+ /**
1504
+ * `provider_accounting_unknown` — the span plane's basis, restated here
1505
+ * because a SUM of six columns is only honest with its basis beside it.
1506
+ *
1507
+ * @generated from field: o11y_one.agentic.v1.EvaluationTokenAccountingV1 token_accounting = 9;
1508
+ */
1509
+ tokenAccounting?: EvaluationTokenAccountingV1 | undefined;
1510
+ };
1511
+ /**
1512
+ * Describes the message o11y_one.agentic.v1.AgentRunUsageTotalsV1.
1513
+ * Use `create(AgentRunUsageTotalsV1Schema)` to create a new message.
1514
+ */
1515
+ export declare const AgentRunUsageTotalsV1Schema: GenMessage<AgentRunUsageTotalsV1>;
1516
+ /**
1517
+ * What the score planes say about this run.
1518
+ *
1519
+ * Counts and a worst verdict, never rows: the rows live on the eval and workflow
1520
+ * planes and are reached by a pivot. A summary that embedded them would be a
1521
+ * page in a `SUMMARY`'s clothing (`A2` §2.1 rule 1).
1522
+ *
1523
+ * @generated from message o11y_one.agentic.v1.AgentRunScorePostureV1
1524
+ */
1525
+ export type AgentRunScorePostureV1 = Message<"o11y_one.agentic.v1.AgentRunScorePostureV1"> & {
1526
+ /**
1527
+ * `eval_scores` rows anchored to a member trace.
1528
+ *
1529
+ * @generated from field: uint32 score_count = 1;
1530
+ */
1531
+ scoreCount: number;
1532
+ /**
1533
+ * @generated from field: uint32 scored_member_trace_count = 2;
1534
+ */
1535
+ scoredMemberTraceCount: number;
1536
+ /**
1537
+ * @generated from field: optional double worst_score_value = 3;
1538
+ */
1539
+ worstScoreValue?: number | undefined;
1540
+ /**
1541
+ * Production-rule verdicts over this run's member traces (wave 39).
1542
+ *
1543
+ * @generated from field: uint32 failing_rule_verdict_count = 4;
1544
+ */
1545
+ failingRuleVerdictCount: number;
1546
+ /**
1547
+ * @generated from field: uint32 passing_rule_verdict_count = 5;
1548
+ */
1549
+ passingRuleVerdictCount: number;
1550
+ /**
1551
+ * A scorer that could not produce a verdict. NEVER counted as a failing
1552
+ * verdict: a scorer that crashed has not judged the run.
1553
+ *
1554
+ * @generated from field: uint32 rule_scorer_failure_count = 6;
1555
+ */
1556
+ ruleScorerFailureCount: number;
1557
+ /**
1558
+ * NOT_OBSERVED / `no_score_plane_row_for_any_member_trace` when both planes are
1559
+ * silent. Silence is not a pass.
1560
+ *
1561
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 7;
1562
+ */
1563
+ availability?: MetricAvailabilityV1 | undefined;
1564
+ };
1565
+ /**
1566
+ * Describes the message o11y_one.agentic.v1.AgentRunScorePostureV1.
1567
+ * Use `create(AgentRunScorePostureV1Schema)` to create a new message.
1568
+ */
1569
+ export declare const AgentRunScorePostureV1Schema: GenMessage<AgentRunScorePostureV1>;
1570
+ /**
1571
+ * The dimensions `PLAN:1683` names and `PLAN:1685` filters on.
1572
+ *
1573
+ * `distinct_count > 1` is not an error — a conversation can legitimately cross
1574
+ * deployments — but it is a fact the reader must be able to see, so the count
1575
+ * rides the value instead of one member silently winning.
1576
+ *
1577
+ * @generated from message o11y_one.agentic.v1.AgentRunDimensionV1
1578
+ */
1579
+ export type AgentRunDimensionV1 = Message<"o11y_one.agentic.v1.AgentRunDimensionV1"> & {
1580
+ /**
1581
+ * @generated from field: optional string value = 1;
1582
+ */
1583
+ value?: string | undefined;
1584
+ /**
1585
+ * @generated from field: uint32 distinct_count = 2;
1586
+ */
1587
+ distinctCount: number;
1588
+ /**
1589
+ * Two different absences, and a reader acts on them differently:
1590
+ * `span_plane_presents_no_run_dimension_columns` is an instrumentation
1591
+ * question for us, `no_member_span_states_this_dimension` is one for them.
1592
+ *
1593
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 3;
1594
+ */
1595
+ availability?: MetricAvailabilityV1 | undefined;
1596
+ };
1597
+ /**
1598
+ * Describes the message o11y_one.agentic.v1.AgentRunDimensionV1.
1599
+ * Use `create(AgentRunDimensionV1Schema)` to create a new message.
1600
+ */
1601
+ export declare const AgentRunDimensionV1Schema: GenMessage<AgentRunDimensionV1>;
1602
+ /**
1603
+ * `PLAN:1683`'s "prompt/model/tool/retrieval versions".
1604
+ *
1605
+ * @generated from message o11y_one.agentic.v1.AgentRunVersionContextV1
1606
+ */
1607
+ export type AgentRunVersionContextV1 = Message<"o11y_one.agentic.v1.AgentRunVersionContextV1"> & {
1608
+ /**
1609
+ * @generated from field: o11y_one.agentic.v1.AgentRunDimensionV1 prompt_version = 1;
1610
+ */
1611
+ promptVersion?: AgentRunDimensionV1 | undefined;
1612
+ /**
1613
+ * @generated from field: o11y_one.agentic.v1.AgentRunDimensionV1 model_version = 2;
1614
+ */
1615
+ modelVersion?: AgentRunDimensionV1 | undefined;
1616
+ /**
1617
+ * @generated from field: o11y_one.agentic.v1.AgentRunDimensionV1 tool_version = 3;
1618
+ */
1619
+ toolVersion?: AgentRunDimensionV1 | undefined;
1620
+ /**
1621
+ * ALWAYS NOT_SUPPORTED / `no_retrieval_version_attribute_in_build`. There is no
1622
+ * retrieval-version attribute anywhere in this build; `o11y.prompt.version` and
1623
+ * `o11y.tool.version` exist and are folded. A version filled from the
1624
+ * nearest-looking attribute would be a version nobody stated.
1625
+ *
1626
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 retrieval_version_availability = 4;
1627
+ */
1628
+ retrievalVersionAvailability?: MetricAvailabilityV1 | undefined;
1629
+ };
1630
+ /**
1631
+ * Describes the message o11y_one.agentic.v1.AgentRunVersionContextV1.
1632
+ * Use `create(AgentRunVersionContextV1Schema)` to create a new message.
1633
+ */
1634
+ export declare const AgentRunVersionContextV1Schema: GenMessage<AgentRunVersionContextV1>;
1635
+ /**
1636
+ * `PLAN:1683`'s "release context".
1637
+ *
1638
+ * The link is transitive and the response says so rather than implying a
1639
+ * relation the planes do not carry: a release names a `release_key`, a release
1640
+ * BLOCK names the same key and an execution, and an execution names a trace.
1641
+ *
1642
+ * @generated from message o11y_one.agentic.v1.AgentRunReleaseContextV1
1643
+ */
1644
+ export type AgentRunReleaseContextV1 = Message<"o11y_one.agentic.v1.AgentRunReleaseContextV1"> & {
1645
+ /**
1646
+ * Release keys reached from this run's member traces, bounded.
1647
+ *
1648
+ * @generated from field: repeated string release_keys = 1;
1649
+ */
1650
+ releaseKeys: string[];
1651
+ /**
1652
+ * @generated from field: uint32 release_count = 2;
1653
+ */
1654
+ releaseCount: number;
1655
+ /**
1656
+ * Blocks in `active` or `indeterminate` over those keys.
1657
+ *
1658
+ * @generated from field: uint32 active_release_block_count = 3;
1659
+ */
1660
+ activeReleaseBlockCount: number;
1661
+ /**
1662
+ * NOT_OBSERVED / `no_release_plane_row_for_any_member_trace` when nothing links.
1663
+ *
1664
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 4;
1665
+ */
1666
+ availability?: MetricAvailabilityV1 | undefined;
1667
+ };
1668
+ /**
1669
+ * Describes the message o11y_one.agentic.v1.AgentRunReleaseContextV1.
1670
+ * Use `create(AgentRunReleaseContextV1Schema)` to create a new message.
1671
+ */
1672
+ export declare const AgentRunReleaseContextV1Schema: GenMessage<AgentRunReleaseContextV1>;
1673
+ /**
1674
+ * @generated from message o11y_one.agentic.v1.AgentRunCoverageReferenceV1
1675
+ */
1676
+ export type AgentRunCoverageReferenceV1 = Message<"o11y_one.agentic.v1.AgentRunCoverageReferenceV1"> & {
1677
+ /**
1678
+ * `dataset_item`, `dataset_proposed_case`, `evaluation_run`.
1679
+ *
1680
+ * @generated from field: string reference_kind = 1;
1681
+ */
1682
+ referenceKind: string;
1683
+ /**
1684
+ * @generated from field: string reference_id = 2;
1685
+ */
1686
+ referenceId: string;
1687
+ /**
1688
+ * The member trace that produced the link, so a reader can see WHICH part of
1689
+ * the run is covered rather than only that some of it is.
1690
+ *
1691
+ * @generated from field: optional string member_trace_id = 3;
1692
+ */
1693
+ memberTraceId?: string | undefined;
1694
+ };
1695
+ /**
1696
+ * Describes the message o11y_one.agentic.v1.AgentRunCoverageReferenceV1.
1697
+ * Use `create(AgentRunCoverageReferenceV1Schema)` to create a new message.
1698
+ */
1699
+ export declare const AgentRunCoverageReferenceV1Schema: GenMessage<AgentRunCoverageReferenceV1>;
1700
+ /**
1701
+ * @generated from message o11y_one.agentic.v1.AgentRunEvaluationCoverageV1
1702
+ */
1703
+ export type AgentRunEvaluationCoverageV1 = Message<"o11y_one.agentic.v1.AgentRunEvaluationCoverageV1"> & {
1704
+ /**
1705
+ * @generated from field: o11y_one.agentic.v1.AgentRunCoverageVerdictV1 verdict = 1;
1706
+ */
1707
+ verdict: AgentRunCoverageVerdictV1;
1708
+ /**
1709
+ * At most `max_coverage_references` (A2 J2.4 states ten). The count is over the
1710
+ * whole population; the list is capped, and `omitted_reference_count` says so.
1711
+ *
1712
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunCoverageReferenceV1 references = 2;
1713
+ */
1714
+ references: AgentRunCoverageReferenceV1[];
1715
+ /**
1716
+ * @generated from field: uint32 covering_reference_count = 3;
1717
+ */
1718
+ coveringReferenceCount: number;
1719
+ /**
1720
+ * @generated from field: uint32 omitted_reference_count = 4;
1721
+ */
1722
+ omittedReferenceCount: number;
1723
+ /**
1724
+ * Set for `_UNKNOWN` only. `provisional_grouping_cannot_claim_lineage` is the
1725
+ * common one and is the `0b P7-10` matrix speaking: a group of unknown
1726
+ * membership has no lineage claim to make, so this build declines to make one
1727
+ * rather than making a weak one.
1728
+ *
1729
+ * @generated from field: optional string unknown_reason_code = 5;
1730
+ */
1731
+ unknownReasonCode?: string | undefined;
1732
+ /**
1733
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 6;
1734
+ */
1735
+ availability?: MetricAvailabilityV1 | undefined;
1736
+ };
1737
+ /**
1738
+ * Describes the message o11y_one.agentic.v1.AgentRunEvaluationCoverageV1.
1739
+ * Use `create(AgentRunEvaluationCoverageV1Schema)` to create a new message.
1740
+ */
1741
+ export declare const AgentRunEvaluationCoverageV1Schema: GenMessage<AgentRunEvaluationCoverageV1>;
1742
+ /**
1743
+ * `PLAN:1684`'s instrumentation completeness, as facts rather than a grade.
1744
+ *
1745
+ * @generated from message o11y_one.agentic.v1.AgentRunInstrumentationCompletenessV1
1746
+ */
1747
+ export type AgentRunInstrumentationCompletenessV1 = Message<"o11y_one.agentic.v1.AgentRunInstrumentationCompletenessV1"> & {
1748
+ /**
1749
+ * @generated from field: o11y_one.agentic.v1.CompletenessStateV1 state = 1;
1750
+ */
1751
+ state: CompletenessStateV1;
1752
+ /**
1753
+ * Member spans attributable to no agent turn. A real gap; never folded into a
1754
+ * neighbouring turn.
1755
+ *
1756
+ * @generated from field: uint32 unattributed_span_count = 2;
1757
+ */
1758
+ unattributedSpanCount: number;
1759
+ /**
1760
+ * Members whose span population exceeded the cap and were refused whole.
1761
+ *
1762
+ * @generated from field: uint32 refused_member_trace_count = 3;
1763
+ */
1764
+ refusedMemberTraceCount: number;
1765
+ /**
1766
+ * `cap + 1` on the worst refused member: AT LEAST this many, never an exact
1767
+ * total. Render it as "10 000+".
1768
+ *
1769
+ * @generated from field: optional uint32 refused_member_observed_span_count = 4;
1770
+ */
1771
+ refusedMemberObservedSpanCount?: number | undefined;
1772
+ /**
1773
+ * Members not read because the run exceeds this build's fold ceiling.
1774
+ *
1775
+ * @generated from field: uint32 unread_member_trace_count = 5;
1776
+ */
1777
+ unreadMemberTraceCount: number;
1778
+ /**
1779
+ * The counters this build cannot produce, each with its reason. They are
1780
+ * NOT_SUPPORTED forever until the build gains the signal, and they are here
1781
+ * rather than as five zeros because a zero handoff count on a run that handed
1782
+ * off is worse than no number at all.
1783
+ *
1784
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 retry_count_availability = 6;
1785
+ */
1786
+ retryCountAvailability?: MetricAvailabilityV1 | undefined;
1787
+ /**
1788
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 handoff_count_availability = 7;
1789
+ */
1790
+ handoffCountAvailability?: MetricAvailabilityV1 | undefined;
1791
+ /**
1792
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 guardrail_count_availability = 8;
1793
+ */
1794
+ guardrailCountAvailability?: MetricAvailabilityV1 | undefined;
1795
+ /**
1796
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 memory_operation_count_availability = 9;
1797
+ */
1798
+ memoryOperationCountAvailability?: MetricAvailabilityV1 | undefined;
1799
+ /**
1800
+ * Always NOT_SUPPORTED / `non_streaming_provider_client` — wave 32's code,
1801
+ * reused rather than re-minted.
1802
+ *
1803
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 time_to_first_token_availability = 10;
1804
+ */
1805
+ timeToFirstTokenAvailability?: MetricAvailabilityV1 | undefined;
1806
+ /**
1807
+ * Whether every count on the row is a total rather than a lower bound.
1808
+ * AVAILABLE, or NOT_OBSERVED naming the refusal or the ceiling.
1809
+ *
1810
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 counts_availability = 11;
1811
+ */
1812
+ countsAvailability?: MetricAvailabilityV1 | undefined;
1813
+ };
1814
+ /**
1815
+ * Describes the message o11y_one.agentic.v1.AgentRunInstrumentationCompletenessV1.
1816
+ * Use `create(AgentRunInstrumentationCompletenessV1Schema)` to create a new message.
1817
+ */
1818
+ export declare const AgentRunInstrumentationCompletenessV1Schema: GenMessage<AgentRunInstrumentationCompletenessV1>;
1819
+ /**
1820
+ * The `PLAN:1683` field set, served from the maintained projection (`P7-14`).
1821
+ *
1822
+ * EVERY FIELD HERE IS A COLUMN, not a join performed while the page is built.
1823
+ * `PLAN:1687` forbids scanning and hydrating models, tools, scores, releases and
1824
+ * evidence per row, and the way this build keeps that promise is that the read
1825
+ * path holds no query engine and issues no per-row statement — see the
1826
+ * `agent_run_index` capability's `list_span_scans` limit, which is zero.
1827
+ *
1828
+ * @generated from message o11y_one.agentic.v1.AgentRunSummaryV1
1829
+ */
1830
+ export type AgentRunSummaryV1 = Message<"o11y_one.agentic.v1.AgentRunSummaryV1"> & {
1831
+ /**
1832
+ * @generated from field: string agent_run_id = 1;
1833
+ */
1834
+ agentRunId: string;
1835
+ /**
1836
+ * Lane A's spine, carried verbatim: state, confidence, the confidence INPUTS
1837
+ * (`P7-3`), revision, bounds, and the redirect when the id was stale.
1838
+ *
1839
+ * @generated from field: o11y_one.agentic.v1.AgentRunGroupingV1 grouping = 2;
1840
+ */
1841
+ grouping?: AgentRunGroupingV1 | undefined;
1842
+ /**
1843
+ * @generated from field: o11y_one.agentic.v1.ConversationCompletenessV1 completeness = 3;
1844
+ */
1845
+ completeness?: ConversationCompletenessV1 | undefined;
1846
+ /**
1847
+ * @generated from field: o11y_one.agentic.v1.AgentRunOutcomeAssessmentV1 outcome = 4;
1848
+ */
1849
+ outcome?: AgentRunOutcomeAssessmentV1 | undefined;
1850
+ /**
1851
+ * @generated from field: google.protobuf.Timestamp started_at = 5;
1852
+ */
1853
+ startedAt?: Timestamp | undefined;
1854
+ /**
1855
+ * @generated from field: google.protobuf.Timestamp ended_at = 6;
1856
+ */
1857
+ endedAt?: Timestamp | undefined;
1858
+ /**
1859
+ * The keyset's sort key. A late span advances it and the run RE-SURFACES at the
1860
+ * head of the list; `P7-16`'s watermark rule is what makes that legible rather
1861
+ * than a reshuffle.
1862
+ *
1863
+ * @generated from field: google.protobuf.Timestamp last_seen_at = 7;
1864
+ */
1865
+ lastSeenAt?: Timestamp | undefined;
1866
+ /**
1867
+ * @generated from field: uint32 trace_count = 8;
1868
+ */
1869
+ traceCount: number;
1870
+ /**
1871
+ * @generated from field: uint32 folded_trace_count = 9;
1872
+ */
1873
+ foldedTraceCount: number;
1874
+ /**
1875
+ * @generated from field: uint32 span_count = 10;
1876
+ */
1877
+ spanCount: number;
1878
+ /**
1879
+ * Σ of the members' own OTel event counts. Absent when the scanned schema did
1880
+ * not present the column.
1881
+ *
1882
+ * @generated from field: optional int64 span_event_count = 11;
1883
+ */
1884
+ spanEventCount?: bigint | undefined;
1885
+ /**
1886
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 span_event_count_availability = 12;
1887
+ */
1888
+ spanEventCountAvailability?: MetricAvailabilityV1 | undefined;
1889
+ /**
1890
+ * @generated from field: uint32 agent_count = 13;
1891
+ */
1892
+ agentCount: number;
1893
+ /**
1894
+ * @generated from field: uint32 model_count = 14;
1895
+ */
1896
+ modelCount: number;
1897
+ /**
1898
+ * @generated from field: uint32 tool_count = 15;
1899
+ */
1900
+ toolCount: number;
1901
+ /**
1902
+ * @generated from field: uint32 retrieval_span_count = 16;
1903
+ */
1904
+ retrievalSpanCount: number;
1905
+ /**
1906
+ * @generated from field: uint32 mcp_span_count = 17;
1907
+ */
1908
+ mcpSpanCount: number;
1909
+ /**
1910
+ * @generated from field: uint32 hard_failure_count = 18;
1911
+ */
1912
+ hardFailureCount: number;
1913
+ /**
1914
+ * Spans that recorded a fault WITHOUT failing. Wave 35 found this is zero by
1915
+ * construction in today's ingest (`classify_error` ORs the exception into
1916
+ * `is_error`); the field is computed correctly and kept, on the same argument
1917
+ * wave 35 gave for keeping `warned_span_count`.
1918
+ *
1919
+ * @generated from field: uint32 degraded_failure_count = 19;
1920
+ */
1921
+ degradedFailureCount: number;
1922
+ /**
1923
+ * @generated from field: o11y_one.agentic.v1.TraceFaultBreakdownV1 faults = 20;
1924
+ */
1925
+ faults?: TraceFaultBreakdownV1 | undefined;
1926
+ /**
1927
+ * @generated from field: optional o11y_one.agentic.v1.TraceFirstFailureV1 first_failure = 21;
1928
+ */
1929
+ firstFailure?: TraceFirstFailureV1 | undefined;
1930
+ /**
1931
+ * The MAXIMUM of the members' own critical paths, not a new chain definition.
1932
+ *
1933
+ * @generated from field: optional int64 critical_path_latency_micros = 22;
1934
+ */
1935
+ criticalPathLatencyMicros?: bigint | undefined;
1936
+ /**
1937
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 critical_path_availability = 23;
1938
+ */
1939
+ criticalPathAvailability?: MetricAvailabilityV1 | undefined;
1940
+ /**
1941
+ * `latest_finishing_child_chain_v1` — the trace surface's code, because it is
1942
+ * the trace surface's derivation.
1943
+ *
1944
+ * @generated from field: string critical_path_method_code = 24;
1945
+ */
1946
+ criticalPathMethodCode: string;
1947
+ /**
1948
+ * Which member produced it, so the number is followable.
1949
+ *
1950
+ * @generated from field: optional string critical_path_trace_id = 25;
1951
+ */
1952
+ criticalPathTraceId?: string | undefined;
1953
+ /**
1954
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunCostLineItemV1 cost_line_items = 26;
1955
+ */
1956
+ costLineItems: AgentRunCostLineItemV1[];
1957
+ /**
1958
+ * @generated from field: uint32 omitted_cost_line_item_count = 27;
1959
+ */
1960
+ omittedCostLineItemCount: number;
1961
+ /**
1962
+ * @generated from field: o11y_one.agentic.v1.AgentRunUsageTotalsV1 usage = 28;
1963
+ */
1964
+ usage?: AgentRunUsageTotalsV1 | undefined;
1965
+ /**
1966
+ * @generated from field: o11y_one.agentic.v1.AgentRunScorePostureV1 score_posture = 29;
1967
+ */
1968
+ scorePosture?: AgentRunScorePostureV1 | undefined;
1969
+ /**
1970
+ * @generated from field: o11y_one.agentic.v1.AgentRunDimensionV1 customer = 30;
1971
+ */
1972
+ customer?: AgentRunDimensionV1 | undefined;
1973
+ /**
1974
+ * @generated from field: o11y_one.agentic.v1.AgentRunDimensionV1 deployment = 31;
1975
+ */
1976
+ deployment?: AgentRunDimensionV1 | undefined;
1977
+ /**
1978
+ * @generated from field: o11y_one.agentic.v1.AgentRunVersionContextV1 versions = 32;
1979
+ */
1980
+ versions?: AgentRunVersionContextV1 | undefined;
1981
+ /**
1982
+ * @generated from field: o11y_one.agentic.v1.AgentRunReleaseContextV1 release_context = 33;
1983
+ */
1984
+ releaseContext?: AgentRunReleaseContextV1 | undefined;
1985
+ /**
1986
+ * @generated from field: o11y_one.agentic.v1.AgentRunInstrumentationCompletenessV1 instrumentation = 34;
1987
+ */
1988
+ instrumentation?: AgentRunInstrumentationCompletenessV1 | undefined;
1989
+ /**
1990
+ * The projection's own version and the watermark the fold read through.
1991
+ *
1992
+ * @generated from field: uint64 projection_version = 35;
1993
+ */
1994
+ projectionVersion: bigint;
1995
+ /**
1996
+ * @generated from field: optional string facts_watermark = 36;
1997
+ */
1998
+ factsWatermark?: string | undefined;
1999
+ /**
2000
+ * @generated from field: google.protobuf.Timestamp refreshed_at = 37;
2001
+ */
2002
+ refreshedAt?: Timestamp | undefined;
2003
+ /**
2004
+ * @generated from field: o11y_one.agentic.v1.EvaluationFreshnessV1 freshness = 38;
2005
+ */
2006
+ freshness?: EvaluationFreshnessV1 | undefined;
2007
+ };
2008
+ /**
2009
+ * Describes the message o11y_one.agentic.v1.AgentRunSummaryV1.
2010
+ * Use `create(AgentRunSummaryV1Schema)` to create a new message.
2011
+ */
2012
+ export declare const AgentRunSummaryV1Schema: GenMessage<AgentRunSummaryV1>;
2013
+ /**
2014
+ * `PLAN:1685` — the filters Production > Agent runs needs.
2015
+ *
2016
+ * @generated from message o11y_one.agentic.v1.AgentRunListFilterV1
2017
+ */
2018
+ export type AgentRunListFilterV1 = Message<"o11y_one.agentic.v1.AgentRunListFilterV1"> & {
2019
+ /**
2020
+ * @generated from field: optional string customer_id = 1;
2021
+ */
2022
+ customerId?: string | undefined;
2023
+ /**
2024
+ * @generated from field: optional string deployment_id = 2;
2025
+ */
2026
+ deploymentId?: string | undefined;
2027
+ /**
2028
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunOutcomeV1 outcomes = 3;
2029
+ */
2030
+ outcomes: AgentRunOutcomeV1[];
2031
+ /**
2032
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunGroupingConfidenceV1 grouping_confidences = 4;
2033
+ */
2034
+ groupingConfidences: AgentRunGroupingConfidenceV1[];
2035
+ /**
2036
+ * @generated from field: repeated o11y_one.agentic.v1.ConversationCompletenessStateV1 completeness_states = 5;
2037
+ */
2038
+ completenessStates: ConversationCompletenessStateV1[];
2039
+ /**
2040
+ * @generated from field: repeated o11y_one.agentic.v1.CompletenessStateV1 instrumentation_states = 6;
2041
+ */
2042
+ instrumentationStates: CompletenessStateV1[];
2043
+ /**
2044
+ * @generated from field: optional string prompt_version = 7;
2045
+ */
2046
+ promptVersion?: string | undefined;
2047
+ /**
2048
+ * @generated from field: optional string model_version = 8;
2049
+ */
2050
+ modelVersion?: string | undefined;
2051
+ /**
2052
+ * @generated from field: optional string tool_version = 9;
2053
+ */
2054
+ toolVersion?: string | undefined;
2055
+ /**
2056
+ * `P7-4`/`B1-4`: identity-less traces appear as single-trace runs and are
2057
+ * INCLUDED by default. Setting this hides them and the response then reports
2058
+ * `hidden_ungrouped_run_count` — R8's rule, satisfied by construction rather
2059
+ * than by a default the caller has to discover.
2060
+ *
2061
+ * @generated from field: bool exclude_ungrouped = 10;
2062
+ */
2063
+ excludeUngrouped: boolean;
2064
+ };
2065
+ /**
2066
+ * Describes the message o11y_one.agentic.v1.AgentRunListFilterV1.
2067
+ * Use `create(AgentRunListFilterV1Schema)` to create a new message.
2068
+ */
2069
+ export declare const AgentRunListFilterV1Schema: GenMessage<AgentRunListFilterV1>;
2070
+ /**
2071
+ * @generated from message o11y_one.agentic.v1.ListAgentRunsRequest
2072
+ */
2073
+ export type ListAgentRunsRequest = Message<"o11y_one.agentic.v1.ListAgentRunsRequest"> & {
2074
+ /**
2075
+ * @generated from field: optional google.protobuf.Timestamp start = 1;
2076
+ */
2077
+ start?: Timestamp | undefined;
2078
+ /**
2079
+ * @generated from field: optional google.protobuf.Timestamp end = 2;
2080
+ */
2081
+ end?: Timestamp | undefined;
2082
+ /**
2083
+ * @generated from field: o11y_one.agentic.v1.AgentRunListFilterV1 filter = 3;
2084
+ */
2085
+ filter?: AgentRunListFilterV1 | undefined;
2086
+ /**
2087
+ * @generated from field: optional uint32 limit = 4;
2088
+ */
2089
+ limit?: number | undefined;
2090
+ /**
2091
+ * Opaque keyset cursor over `(last_seen_at DESC, agent_run_id DESC)`, bound to
2092
+ * a facts watermark. Never an offset.
2093
+ *
2094
+ * @generated from field: optional string page_token = 5;
2095
+ */
2096
+ pageToken?: string | undefined;
2097
+ };
2098
+ /**
2099
+ * Describes the message o11y_one.agentic.v1.ListAgentRunsRequest.
2100
+ * Use `create(ListAgentRunsRequestSchema)` to create a new message.
2101
+ */
2102
+ export declare const ListAgentRunsRequestSchema: GenMessage<ListAgentRunsRequest>;
2103
+ /**
2104
+ * @generated from message o11y_one.agentic.v1.ListAgentRunsResponse
2105
+ */
2106
+ export type ListAgentRunsResponse = Message<"o11y_one.agentic.v1.ListAgentRunsResponse"> & {
2107
+ /**
2108
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunSummaryV1 runs = 1;
2109
+ */
2110
+ runs: AgentRunSummaryV1[];
2111
+ /**
2112
+ * @generated from field: optional string next_page_token = 2;
2113
+ */
2114
+ nextPageToken?: string | undefined;
2115
+ /**
2116
+ * @generated from field: bool has_more = 3;
2117
+ */
2118
+ hasMore: boolean;
2119
+ /**
2120
+ * How many `_UNGROUPED` runs the filter removed. Present whenever
2121
+ * `exclude_ungrouped` was set, INCLUDING when it is zero: an empty list is
2122
+ * never evidence of none (R8).
2123
+ *
2124
+ * @generated from field: optional uint32 hidden_ungrouped_run_count = 4;
2125
+ */
2126
+ hiddenUngroupedRunCount?: number | undefined;
2127
+ /**
2128
+ * Clamped IN BAND, with the reason. The `ListSessions` silent clamp is the
2129
+ * defect this field exists not to repeat.
2130
+ *
2131
+ * @generated from field: o11y_one.agentic.v1.TraceWindowV1 window = 5;
2132
+ */
2133
+ window?: TraceWindowV1 | undefined;
2134
+ /**
2135
+ * The population the projection was built from, declared.
2136
+ *
2137
+ * @generated from field: o11y_one.agentic.v1.TraceSpanPopulationBoundaryV1 boundary = 6;
2138
+ */
2139
+ boundary?: TraceSpanPopulationBoundaryV1 | undefined;
2140
+ /**
2141
+ * `keyset_last_seen_desc_late_data_resurfaces_at_head_v1`. Named on the wire
2142
+ * because "stable under late data" means something specific here and a client
2143
+ * that guesses will guess "nothing moves".
2144
+ *
2145
+ * @generated from field: string cursor_semantics_code = 7;
2146
+ */
2147
+ cursorSemanticsCode: string;
2148
+ /**
2149
+ * @generated from field: o11y_one.agentic.v1.EvaluationFreshnessV1 freshness = 8;
2150
+ */
2151
+ freshness?: EvaluationFreshnessV1 | undefined;
2152
+ /**
2153
+ * @generated from field: o11y_one.agentic.v1.AgenticEvaluationCapabilitiesV1 capabilities = 9;
2154
+ */
2155
+ capabilities?: AgenticEvaluationCapabilitiesV1 | undefined;
2156
+ /**
2157
+ * @generated from field: optional o11y_one.agentic.v1.TraceReadRefusalV1 refusal = 10;
2158
+ */
2159
+ refusal?: TraceReadRefusalV1 | undefined;
2160
+ };
2161
+ /**
2162
+ * Describes the message o11y_one.agentic.v1.ListAgentRunsResponse.
2163
+ * Use `create(ListAgentRunsResponseSchema)` to create a new message.
2164
+ */
2165
+ export declare const ListAgentRunsResponseSchema: GenMessage<ListAgentRunsResponse>;
2166
+ /**
2167
+ * @generated from message o11y_one.agentic.v1.GetAgentRunRequest
2168
+ */
2169
+ export type GetAgentRunRequest = Message<"o11y_one.agentic.v1.GetAgentRunRequest"> & {
2170
+ /**
2171
+ * A stale (`_MERGED_AWAY` / `_SPLIT_AWAY` / `_REDIRECTED`) id is answered with
2172
+ * the canonical run plus `summary.grouping.redirect`, never `NOT_FOUND`
2173
+ * (`P7-6`). A run in another tenant IS `NOT_FOUND`, and the two are different
2174
+ * answers on purpose.
2175
+ *
2176
+ * @generated from field: string agent_run_id = 1;
2177
+ */
2178
+ agentRunId: string;
2179
+ };
2180
+ /**
2181
+ * Describes the message o11y_one.agentic.v1.GetAgentRunRequest.
2182
+ * Use `create(GetAgentRunRequestSchema)` to create a new message.
2183
+ */
2184
+ export declare const GetAgentRunRequestSchema: GenMessage<GetAgentRunRequest>;
2185
+ /**
2186
+ * @generated from message o11y_one.agentic.v1.GetAgentRunResponse
2187
+ */
2188
+ export type GetAgentRunResponse = Message<"o11y_one.agentic.v1.GetAgentRunResponse"> & {
2189
+ /**
2190
+ * @generated from field: o11y_one.agentic.v1.AgentRunSummaryV1 summary = 1;
2191
+ */
2192
+ summary?: AgentRunSummaryV1 | undefined;
2193
+ /**
2194
+ * J2 step 7. On the DETAIL only — putting it on every list row would be the
2195
+ * per-row hydration `PLAN:1687` forbids, even though the value is a stored
2196
+ * column, because the payload would then grow with the page.
2197
+ *
2198
+ * @generated from field: o11y_one.agentic.v1.AgentRunEvaluationCoverageV1 evaluation_coverage = 2;
2199
+ */
2200
+ evaluationCoverage?: AgentRunEvaluationCoverageV1 | undefined;
2201
+ /**
2202
+ * @generated from field: o11y_one.agentic.v1.TraceWindowV1 window = 3;
2203
+ */
2204
+ window?: TraceWindowV1 | undefined;
2205
+ /**
2206
+ * @generated from field: o11y_one.agentic.v1.TraceSpanPopulationBoundaryV1 boundary = 4;
2207
+ */
2208
+ boundary?: TraceSpanPopulationBoundaryV1 | undefined;
2209
+ /**
2210
+ * @generated from field: o11y_one.agentic.v1.EvaluationFreshnessV1 freshness = 5;
2211
+ */
2212
+ freshness?: EvaluationFreshnessV1 | undefined;
2213
+ /**
2214
+ * @generated from field: o11y_one.agentic.v1.AgenticEvaluationCapabilitiesV1 capabilities = 6;
2215
+ */
2216
+ capabilities?: AgenticEvaluationCapabilitiesV1 | undefined;
2217
+ /**
2218
+ * @generated from field: optional o11y_one.agentic.v1.TraceReadRefusalV1 refusal = 7;
2219
+ */
2220
+ refusal?: TraceReadRefusalV1 | undefined;
2221
+ };
2222
+ /**
2223
+ * Describes the message o11y_one.agentic.v1.GetAgentRunResponse.
2224
+ * Use `create(GetAgentRunResponseSchema)` to create a new message.
2225
+ */
2226
+ export declare const GetAgentRunResponseSchema: GenMessage<GetAgentRunResponse>;
2227
+ /**
2228
+ * Which of `PLAN:1691`'s event families this build can actually produce.
2229
+ *
2230
+ * `kind` is a slug rather than `AgentRunEventKindV1` deliberately: the four
2231
+ * families with no ingest source have no enum arm, and giving them one so they
2232
+ * could be reported absent would be minting the very kinds this lane refuses to
2233
+ * invent.
2234
+ *
2235
+ * @generated from message o11y_one.agentic.v1.AgentRunEventKindCoverageV1
2236
+ */
2237
+ export type AgentRunEventKindCoverageV1 = Message<"o11y_one.agentic.v1.AgentRunEventKindCoverageV1"> & {
2238
+ /**
2239
+ * `model` | `tool` | `retrieval` | `downstream` | `error` | `generic` |
2240
+ * `handoff` | `memory` | `guardrail` | `retry`.
2241
+ *
2242
+ * @generated from field: string kind = 1;
2243
+ */
2244
+ kind: string;
2245
+ /**
2246
+ * AVAILABLE for the six; NOT_SUPPORTED with `no_handoff_attribute_ingested`,
2247
+ * `no_memory_attribute_ingested`, `no_guardrail_attribute_ingested` or
2248
+ * `span_plane_marks_no_retry_relationship` for the four.
2249
+ *
2250
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 2;
2251
+ */
2252
+ availability?: MetricAvailabilityV1 | undefined;
2253
+ };
2254
+ /**
2255
+ * Describes the message o11y_one.agentic.v1.AgentRunEventKindCoverageV1.
2256
+ * Use `create(AgentRunEventKindCoverageV1Schema)` to create a new message.
2257
+ */
2258
+ export declare const AgentRunEventKindCoverageV1Schema: GenMessage<AgentRunEventKindCoverageV1>;
2259
+ /**
2260
+ * Which of `AL-1`'s five source kinds this build can actually receive a link
2261
+ * from.
2262
+ *
2263
+ * This is how a client tells "this run has no artifacts" from "this build could
2264
+ * not have seen one" — NN11's rule that a refusal is observable, applied to an
2265
+ * absence.
2266
+ *
2267
+ * @generated from message o11y_one.agentic.v1.AgentRunArtifactSourceCoverageV1
2268
+ */
2269
+ export type AgentRunArtifactSourceCoverageV1 = Message<"o11y_one.agentic.v1.AgentRunArtifactSourceCoverageV1"> & {
2270
+ /**
2271
+ * @generated from field: o11y_one.agentic.v1.ArtifactLinkSourceKindV1 source_kind = 1;
2272
+ */
2273
+ sourceKind: ArtifactLinkSourceKindV1;
2274
+ /**
2275
+ * AVAILABLE for `FALLBACK_RPC` and `BACKFILL`. NOT_SUPPORTED with
2276
+ * `span_event_path_not_ingested`, `span_attribute_path_not_projected` or
2277
+ * `correlated_log_path_not_shipped` for the three telemetry paths, none of
2278
+ * which has an ingest path in this build.
2279
+ *
2280
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 2;
2281
+ */
2282
+ availability?: MetricAvailabilityV1 | undefined;
2283
+ };
2284
+ /**
2285
+ * Describes the message o11y_one.agentic.v1.AgentRunArtifactSourceCoverageV1.
2286
+ * Use `create(AgentRunArtifactSourceCoverageV1Schema)` to create a new message.
2287
+ */
2288
+ export declare const AgentRunArtifactSourceCoverageV1Schema: GenMessage<AgentRunArtifactSourceCoverageV1>;
2289
+ /**
2290
+ * The deprecated-alias provenance channel (`PLAN:1695`).
2291
+ *
2292
+ * This is the ONLY place a legacy `o11y.*` string reaches a response. The public
2293
+ * typed field is the neutral one — semconv registry §4.4 establishes that the
2294
+ * response surface is already neutral, and this lane does not breach it.
2295
+ *
2296
+ * @generated from message o11y_one.agentic.v1.AgentRunEventAttributeProvenanceV1
2297
+ */
2298
+ export type AgentRunEventAttributeProvenanceV1 = Message<"o11y_one.agentic.v1.AgentRunEventAttributeProvenanceV1"> & {
2299
+ /**
2300
+ * The public, neutral field this resolves to.
2301
+ *
2302
+ * @generated from field: string canonical_field = 1;
2303
+ */
2304
+ canonicalField: string;
2305
+ /**
2306
+ * @generated from field: o11y_one.agentic.v1.AgentRunAttributeSourceV1 source = 2;
2307
+ */
2308
+ source: AgentRunAttributeSourceV1;
2309
+ /**
2310
+ * The deprecated spelling that contributed. Absent when none did.
2311
+ *
2312
+ * @generated from field: optional string legacy_name = 3;
2313
+ */
2314
+ legacyName?: string | undefined;
2315
+ /**
2316
+ * Set only on `_CONFLICT`: the value canonical precedence discarded, kept so
2317
+ * the disagreement is readable rather than merely counted.
2318
+ *
2319
+ * @generated from field: optional string discarded_legacy_value = 4;
2320
+ */
2321
+ discardedLegacyValue?: string | undefined;
2322
+ };
2323
+ /**
2324
+ * Describes the message o11y_one.agentic.v1.AgentRunEventAttributeProvenanceV1.
2325
+ * Use `create(AgentRunEventAttributeProvenanceV1Schema)` to create a new message.
2326
+ */
2327
+ export declare const AgentRunEventAttributeProvenanceV1Schema: GenMessage<AgentRunEventAttributeProvenanceV1>;
2328
+ /**
2329
+ * Per-event token usage, compact.
2330
+ *
2331
+ * The arithmetic is `span_usage`'s — the same six `gen_ai.usage.*` columns the
2332
+ * trace surface reads — projected to six integers rather than carried as a full
2333
+ * `ProviderUsageRecordV1`. Two hundred verbatim records would spend the page's
2334
+ * byte budget on a field a timeline row does not need; the VERBATIM record stays
2335
+ * available on `ListAgentTraceSpans`, which is the surface for it.
2336
+ *
2337
+ * @generated from message o11y_one.agentic.v1.AgentRunEventUsageV1
2338
+ */
2339
+ export type AgentRunEventUsageV1 = Message<"o11y_one.agentic.v1.AgentRunEventUsageV1"> & {
2340
+ /**
2341
+ * @generated from field: optional int64 input_tokens = 1;
2342
+ */
2343
+ inputTokens?: bigint | undefined;
2344
+ /**
2345
+ * @generated from field: optional int64 output_tokens = 2;
2346
+ */
2347
+ outputTokens?: bigint | undefined;
2348
+ /**
2349
+ * @generated from field: optional int64 total_tokens = 3;
2350
+ */
2351
+ totalTokens?: bigint | undefined;
2352
+ /**
2353
+ * @generated from field: optional int64 cache_read_input_tokens = 4;
2354
+ */
2355
+ cacheReadInputTokens?: bigint | undefined;
2356
+ /**
2357
+ * @generated from field: optional int64 cache_creation_input_tokens = 5;
2358
+ */
2359
+ cacheCreationInputTokens?: bigint | undefined;
2360
+ /**
2361
+ * @generated from field: optional int64 reasoning_tokens = 6;
2362
+ */
2363
+ reasoningTokens?: bigint | undefined;
2364
+ /**
2365
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 7;
2366
+ */
2367
+ availability?: MetricAvailabilityV1 | undefined;
2368
+ };
2369
+ /**
2370
+ * Describes the message o11y_one.agentic.v1.AgentRunEventUsageV1.
2371
+ * Use `create(AgentRunEventUsageV1Schema)` to create a new message.
2372
+ */
2373
+ export declare const AgentRunEventUsageV1Schema: GenMessage<AgentRunEventUsageV1>;
2374
+ /**
2375
+ * Generation settings and response identity, "where applicable" (`PLAN:1694`).
2376
+ *
2377
+ * Every field optional, because most spans are not model calls and a zero would
2378
+ * claim a temperature nobody set.
2379
+ *
2380
+ * @generated from message o11y_one.agentic.v1.AgentRunEventGenerationV1
2381
+ */
2382
+ export type AgentRunEventGenerationV1 = Message<"o11y_one.agentic.v1.AgentRunEventGenerationV1"> & {
2383
+ /**
2384
+ * @generated from field: optional string request_model = 1;
2385
+ */
2386
+ requestModel?: string | undefined;
2387
+ /**
2388
+ * @generated from field: optional string response_model = 2;
2389
+ */
2390
+ responseModel?: string | undefined;
2391
+ };
2392
+ /**
2393
+ * Describes the message o11y_one.agentic.v1.AgentRunEventGenerationV1.
2394
+ * Use `create(AgentRunEventGenerationV1Schema)` to create a new message.
2395
+ */
2396
+ export declare const AgentRunEventGenerationV1Schema: GenMessage<AgentRunEventGenerationV1>;
2397
+ /**
2398
+ * One lane of the timeline (`PLAN:1694`, `BP:756-766`).
2399
+ *
2400
+ * Discovered from `gen_ai.agent.id` / `gen_ai.agent.name` / `service.name` at
2401
+ * render time, never a fixed vocabulary: handoff doc 11 §8.1 records the
2402
+ * prototype's four-value lane TYPE as the specific trap here. Work with no agent
2403
+ * identity gets the `unattributed` lane rather than being dropped, so the lane
2404
+ * counts and the event count agree.
2405
+ *
2406
+ * @generated from message o11y_one.agentic.v1.AgentRunLaneV1
2407
+ */
2408
+ export type AgentRunLaneV1 = Message<"o11y_one.agentic.v1.AgentRunLaneV1"> & {
2409
+ /**
2410
+ * @generated from field: string lane_id = 1;
2411
+ */
2412
+ laneId: string;
2413
+ /**
2414
+ * @generated from field: optional string display_name = 2;
2415
+ */
2416
+ displayName?: string | undefined;
2417
+ /**
2418
+ * @generated from field: uint32 event_count = 3;
2419
+ */
2420
+ eventCount: number;
2421
+ };
2422
+ /**
2423
+ * Describes the message o11y_one.agentic.v1.AgentRunLaneV1.
2424
+ * Use `create(AgentRunLaneV1Schema)` to create a new message.
2425
+ */
2426
+ export declare const AgentRunLaneV1Schema: GenMessage<AgentRunLaneV1>;
2427
+ /**
2428
+ * A nested child of an event, summarised. Capped independently.
2429
+ *
2430
+ * @generated from message o11y_one.agentic.v1.AgentRunChildSummaryV1
2431
+ */
2432
+ export type AgentRunChildSummaryV1 = Message<"o11y_one.agentic.v1.AgentRunChildSummaryV1"> & {
2433
+ /**
2434
+ * @generated from field: string event_id = 1;
2435
+ */
2436
+ eventId: string;
2437
+ /**
2438
+ * @generated from field: string name = 2;
2439
+ */
2440
+ name: string;
2441
+ /**
2442
+ * @generated from field: o11y_one.agentic.v1.AgentRunEventKindV1 kind = 3;
2443
+ */
2444
+ kind: AgentRunEventKindV1;
2445
+ /**
2446
+ * @generated from field: int64 duration_micros = 4;
2447
+ */
2448
+ durationMicros: bigint;
2449
+ /**
2450
+ * @generated from field: bool is_error = 5;
2451
+ */
2452
+ isError: boolean;
2453
+ };
2454
+ /**
2455
+ * Describes the message o11y_one.agentic.v1.AgentRunChildSummaryV1.
2456
+ * Use `create(AgentRunChildSummaryV1Schema)` to create a new message.
2457
+ */
2458
+ export declare const AgentRunChildSummaryV1Schema: GenMessage<AgentRunChildSummaryV1>;
2459
+ /**
2460
+ * An artifact linked to this event, SUMMARISED (`PLAN:1703`).
2461
+ *
2462
+ * A summary, never content: `PLAN:1700` keeps large payloads behind the existing
2463
+ * artifact content APIs, and `AL-14` rule 1 forbids resolving anything while
2464
+ * building a page. `resolver_posture` is what the timeline shows instead — a
2465
+ * client can render "resolvable" without a single byte having been fetched.
2466
+ *
2467
+ * @generated from message o11y_one.agentic.v1.AgentRunArtifactSummaryV1
2468
+ */
2469
+ export type AgentRunArtifactSummaryV1 = Message<"o11y_one.agentic.v1.AgentRunArtifactSummaryV1"> & {
2470
+ /**
2471
+ * @generated from field: bytes link_id = 1;
2472
+ */
2473
+ linkId: Uint8Array;
2474
+ /**
2475
+ * @generated from field: string artifact_id = 2;
2476
+ */
2477
+ artifactId: string;
2478
+ /**
2479
+ * @generated from field: o11y_one.agentic.v1.ArtifactTypeV1 artifact_type = 3;
2480
+ */
2481
+ artifactType: ArtifactTypeV1;
2482
+ /**
2483
+ * @generated from field: o11y_one.agentic.v1.ArtifactRoleV1 role = 4;
2484
+ */
2485
+ role: ArtifactRoleV1;
2486
+ /**
2487
+ * @generated from field: o11y_one.agentic.v1.ArtifactRelationV1 relation = 5;
2488
+ */
2489
+ relation: ArtifactRelationV1;
2490
+ /**
2491
+ * The CURRENT status: the row's write-time status overlaid with the
2492
+ * append-only correction ledger. A revoked link is projected identically to an
2493
+ * accepted one apart from this field and its audit — `PLAN:1693`.
2494
+ *
2495
+ * @generated from field: o11y_one.agentic.v1.ArtifactLinkStatusV1 status = 6;
2496
+ */
2497
+ status: ArtifactLinkStatusV1;
2498
+ /**
2499
+ * @generated from field: o11y_one.agentic.v1.ArtifactLinkConflictPostureV1 conflict_posture = 7;
2500
+ */
2501
+ conflictPosture: ArtifactLinkConflictPostureV1;
2502
+ /**
2503
+ * `SM-13`. Posture, never resolution.
2504
+ *
2505
+ * @generated from field: o11y_one.agentic.v1.ArtifactResolverPostureV1 resolver_posture = 8;
2506
+ */
2507
+ resolverPosture: ArtifactResolverPostureV1;
2508
+ /**
2509
+ * `AL-1`: the ONLY thing that distinguishes the paths. The typed read model is
2510
+ * otherwise identical, which is exit `:1733`'s whole claim.
2511
+ *
2512
+ * @generated from field: o11y_one.agentic.v1.ArtifactLinkSourceKindV1 source_kind = 9;
2513
+ */
2514
+ sourceKind: ArtifactLinkSourceKindV1;
2515
+ /**
2516
+ * @generated from field: optional o11y_one.agentic.v1.ArtifactLinkFallbackReasonV1 fallback_reason = 10;
2517
+ */
2518
+ fallbackReason?: ArtifactLinkFallbackReasonV1 | undefined;
2519
+ /**
2520
+ * @generated from field: optional string media_type = 11;
2521
+ */
2522
+ mediaType?: string | undefined;
2523
+ /**
2524
+ * @generated from field: optional string filename = 12;
2525
+ */
2526
+ filename?: string | undefined;
2527
+ /**
2528
+ * @generated from field: optional string storage_system = 13;
2529
+ */
2530
+ storageSystem?: string | undefined;
2531
+ /**
2532
+ * @generated from field: optional string resolver_key = 14;
2533
+ */
2534
+ resolverKey?: string | undefined;
2535
+ /**
2536
+ * @generated from field: uint32 correction_sequence = 15;
2537
+ */
2538
+ correctionSequence: number;
2539
+ /**
2540
+ * `normalize::ArtifactLinkRejectionReason::as_str()`. Machine-groupable,
2541
+ * never prose — `PLAN:1692` requires rejected/unresolved diagnostics to be
2542
+ * preserved "without requiring raw-key parsing in the timeline".
2543
+ *
2544
+ * @generated from field: optional string rejection_reason_code = 16;
2545
+ */
2546
+ rejectionReasonCode?: string | undefined;
2547
+ /**
2548
+ * @generated from field: google.protobuf.Timestamp observed_at = 17;
2549
+ */
2550
+ observedAt?: Timestamp | undefined;
2551
+ /**
2552
+ * The anchor the link was made against, reusing the locked twelve-arm shape.
2553
+ *
2554
+ * @generated from field: o11y_one.agentic.v1.EvidenceAnchorV1 anchor = 18;
2555
+ */
2556
+ anchor?: EvidenceAnchorV1 | undefined;
2557
+ };
2558
+ /**
2559
+ * Describes the message o11y_one.agentic.v1.AgentRunArtifactSummaryV1.
2560
+ * Use `create(AgentRunArtifactSummaryV1Schema)` to create a new message.
2561
+ */
2562
+ export declare const AgentRunArtifactSummaryV1Schema: GenMessage<AgentRunArtifactSummaryV1>;
2563
+ /**
2564
+ * A link that did not become a usable artifact summary, and why.
2565
+ *
2566
+ * Grouped by reason code rather than listed per link, so a run with a thousand
2567
+ * malformed emissions costs the page a handful of rows instead of a thousand.
2568
+ *
2569
+ * @generated from message o11y_one.agentic.v1.AgentRunArtifactDiagnosticV1
2570
+ */
2571
+ export type AgentRunArtifactDiagnosticV1 = Message<"o11y_one.agentic.v1.AgentRunArtifactDiagnosticV1"> & {
2572
+ /**
2573
+ * @generated from field: string reason_code = 1;
2574
+ */
2575
+ reasonCode: string;
2576
+ /**
2577
+ * @generated from field: uint32 occurrence_count = 2;
2578
+ */
2579
+ occurrenceCount: number;
2580
+ };
2581
+ /**
2582
+ * Describes the message o11y_one.agentic.v1.AgentRunArtifactDiagnosticV1.
2583
+ * Use `create(AgentRunArtifactDiagnosticV1Schema)` to create a new message.
2584
+ */
2585
+ export declare const AgentRunArtifactDiagnosticV1Schema: GenMessage<AgentRunArtifactDiagnosticV1>;
2586
+ /**
2587
+ * What each nested family lost to its own cap (`PLAN:1698`).
2588
+ *
2589
+ * Per family, because the caps are INDEPENDENT: an event with six artifacts and
2590
+ * one child loses one artifact and no child. A single shared cap would make one
2591
+ * noisy family silence another.
2592
+ *
2593
+ * @generated from message o11y_one.agentic.v1.AgentRunNestedCapsV1
2594
+ */
2595
+ export type AgentRunNestedCapsV1 = Message<"o11y_one.agentic.v1.AgentRunNestedCapsV1"> & {
2596
+ /**
2597
+ * @generated from field: uint32 children_omitted = 1;
2598
+ */
2599
+ childrenOmitted: number;
2600
+ /**
2601
+ * @generated from field: uint32 artifacts_omitted = 2;
2602
+ */
2603
+ artifactsOmitted: number;
2604
+ /**
2605
+ * @generated from field: uint32 content_refs_omitted = 3;
2606
+ */
2607
+ contentRefsOmitted: number;
2608
+ /**
2609
+ * @generated from field: uint32 attribute_provenance_omitted = 4;
2610
+ */
2611
+ attributeProvenanceOmitted: number;
2612
+ };
2613
+ /**
2614
+ * Describes the message o11y_one.agentic.v1.AgentRunNestedCapsV1.
2615
+ * Use `create(AgentRunNestedCapsV1Schema)` to create a new message.
2616
+ */
2617
+ export declare const AgentRunNestedCapsV1Schema: GenMessage<AgentRunNestedCapsV1>;
2618
+ /**
2619
+ * One timeline event (`PLAN:1694`).
2620
+ *
2621
+ * @generated from message o11y_one.agentic.v1.AgentRunEventV1
2622
+ */
2623
+ export type AgentRunEventV1 = Message<"o11y_one.agentic.v1.AgentRunEventV1"> & {
2624
+ /**
2625
+ * `trace_id:span_id`. Stable across re-reads, unique across the run's member
2626
+ * traces, and the key `P7-16`'s upserts are applied by.
2627
+ *
2628
+ * @generated from field: string event_id = 1;
2629
+ */
2630
+ eventId: string;
2631
+ /**
2632
+ * @generated from field: o11y_one.agentic.v1.AgentRunEventDeliveryV1 delivery = 2;
2633
+ */
2634
+ delivery: AgentRunEventDeliveryV1;
2635
+ /**
2636
+ * @generated from field: string lane_id = 3;
2637
+ */
2638
+ laneId: string;
2639
+ /**
2640
+ * @generated from field: optional string agent_name = 4;
2641
+ */
2642
+ agentName?: string | undefined;
2643
+ /**
2644
+ * @generated from field: optional string agent_id = 5;
2645
+ */
2646
+ agentId?: string | undefined;
2647
+ /**
2648
+ * @generated from field: o11y_one.agentic.v1.AgentRunEventKindV1 kind = 6;
2649
+ */
2650
+ kind: AgentRunEventKindV1;
2651
+ /**
2652
+ * The trace viewer's own operation kind, carried so a client can render the
2653
+ * same icon on both surfaces.
2654
+ *
2655
+ * @generated from field: o11y_one.agentic.v1.TraceOperationKindV1 operation_kind = 7;
2656
+ */
2657
+ operationKind: TraceOperationKindV1;
2658
+ /**
2659
+ * The most specific identifier the event carries for its kind: tool name,
2660
+ * model id, route, data source. Never empty.
2661
+ *
2662
+ * @generated from field: string subject = 8;
2663
+ */
2664
+ subject: string;
2665
+ /**
2666
+ * @generated from field: string name = 9;
2667
+ */
2668
+ name: string;
2669
+ /**
2670
+ * @generated from field: string trace_id = 10;
2671
+ */
2672
+ traceId: string;
2673
+ /**
2674
+ * @generated from field: string span_id = 11;
2675
+ */
2676
+ spanId: string;
2677
+ /**
2678
+ * @generated from field: optional string parent_span_id = 12;
2679
+ */
2680
+ parentSpanId?: string | undefined;
2681
+ /**
2682
+ * The parent's `event_id`, when the parent is inside this run's population.
2683
+ * Absent when the parent started before the window — an honest absence rather
2684
+ * than a dangling reference.
2685
+ *
2686
+ * @generated from field: optional string parent_event_id = 13;
2687
+ */
2688
+ parentEventId?: string | undefined;
2689
+ /**
2690
+ * @generated from field: optional string step_id = 14;
2691
+ */
2692
+ stepId?: string | undefined;
2693
+ /**
2694
+ * From the RUN, not from the span: the span reader does not project
2695
+ * `gen_ai.conversation.id` today.
2696
+ *
2697
+ * @generated from field: optional string conversation_id = 15;
2698
+ */
2699
+ conversationId?: string | undefined;
2700
+ /**
2701
+ * NOT_SUPPORTED with `observation_id_not_projected_by_span_reader` until the
2702
+ * span projection carries `o11y.observation.id`. An availability, never an
2703
+ * empty string.
2704
+ *
2705
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 observation_id_availability = 16;
2706
+ */
2707
+ observationIdAvailability?: MetricAvailabilityV1 | undefined;
2708
+ /**
2709
+ * @generated from field: optional string observation_id = 17;
2710
+ */
2711
+ observationId?: string | undefined;
2712
+ /**
2713
+ * @generated from field: google.protobuf.Timestamp started_at = 18;
2714
+ */
2715
+ startedAt?: Timestamp | undefined;
2716
+ /**
2717
+ * @generated from field: google.protobuf.Timestamp ended_at = 19;
2718
+ */
2719
+ endedAt?: Timestamp | undefined;
2720
+ /**
2721
+ * @generated from field: int64 duration_micros = 20;
2722
+ */
2723
+ durationMicros: bigint;
2724
+ /**
2725
+ * @generated from field: o11y_one.agentic.v1.TraceSpanStatusV1 status = 21;
2726
+ */
2727
+ status: TraceSpanStatusV1;
2728
+ /**
2729
+ * @generated from field: bool is_error = 22;
2730
+ */
2731
+ isError: boolean;
2732
+ /**
2733
+ * @generated from field: bool has_exception_event = 23;
2734
+ */
2735
+ hasExceptionEvent: boolean;
2736
+ /**
2737
+ * @generated from field: optional o11y_one.agentic.v1.TraceFaultCategoryV1 fault_category = 24;
2738
+ */
2739
+ faultCategory?: TraceFaultCategoryV1 | undefined;
2740
+ /**
2741
+ * @generated from field: optional string error_type = 25;
2742
+ */
2743
+ errorType?: string | undefined;
2744
+ /**
2745
+ * @generated from field: optional string error_message = 26;
2746
+ */
2747
+ errorMessage?: string | undefined;
2748
+ /**
2749
+ * @generated from field: bool on_critical_path = 27;
2750
+ */
2751
+ onCriticalPath: boolean;
2752
+ /**
2753
+ * @generated from field: o11y_one.agentic.v1.AgentRunEventGenerationV1 generation = 28;
2754
+ */
2755
+ generation?: AgentRunEventGenerationV1 | undefined;
2756
+ /**
2757
+ * @generated from field: o11y_one.agentic.v1.AgentRunEventUsageV1 usage = 29;
2758
+ */
2759
+ usage?: AgentRunEventUsageV1 | undefined;
2760
+ /**
2761
+ * `span_cost::span_cost`, by import. A list-rate estimate with its provenance
2762
+ * attached, never a bill.
2763
+ *
2764
+ * @generated from field: o11y_one.agentic.v1.TraceSpanCostV1 cost = 30;
2765
+ */
2766
+ cost?: TraceSpanCostV1 | undefined;
2767
+ /**
2768
+ * References, never bodies (`PLAN:1700`). The `reasoning` class is a
2769
+ * provider-exposed SUMMARY reference and nothing else (NN27).
2770
+ *
2771
+ * @generated from field: repeated o11y_one.agentic.v1.TraceSpanContentRefV1 content_refs = 31;
2772
+ */
2773
+ contentRefs: TraceSpanContentRefV1[];
2774
+ /**
2775
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunEventAttributeProvenanceV1 attribute_provenance = 32;
2776
+ */
2777
+ attributeProvenance: AgentRunEventAttributeProvenanceV1[];
2778
+ /**
2779
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunChildSummaryV1 children = 33;
2780
+ */
2781
+ children: AgentRunChildSummaryV1[];
2782
+ /**
2783
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunArtifactSummaryV1 artifacts = 34;
2784
+ */
2785
+ artifacts: AgentRunArtifactSummaryV1[];
2786
+ /**
2787
+ * @generated from field: o11y_one.agentic.v1.AgentRunNestedCapsV1 nested_caps = 35;
2788
+ */
2789
+ nestedCaps?: AgentRunNestedCapsV1 | undefined;
2790
+ };
2791
+ /**
2792
+ * Describes the message o11y_one.agentic.v1.AgentRunEventV1.
2793
+ * Use `create(AgentRunEventV1Schema)` to create a new message.
2794
+ */
2795
+ export declare const AgentRunEventV1Schema: GenMessage<AgentRunEventV1>;
2796
+ /**
2797
+ * Whether the server actually filtered, and by how much (`PLAN:1696`).
2798
+ *
2799
+ * `0b P7-15`: server-side filters exist "only where they materially reduce
2800
+ * payload — a filter that returns 195 of 200 events is a client concern". The
2801
+ * rule is published as a number (`filter_materiality_retained_percent`) and the
2802
+ * verdict is on the wire, because a client that had to GUESS whether the server
2803
+ * filtered would filter defensively every time and the server's filter would buy
2804
+ * nothing.
2805
+ *
2806
+ * @generated from message o11y_one.agentic.v1.AgentRunTimelineModeEffectV1
2807
+ */
2808
+ export type AgentRunTimelineModeEffectV1 = Message<"o11y_one.agentic.v1.AgentRunTimelineModeEffectV1"> & {
2809
+ /**
2810
+ * @generated from field: o11y_one.agentic.v1.AgentRunTimelineModeV1 mode = 1;
2811
+ */
2812
+ mode: AgentRunTimelineModeV1;
2813
+ /**
2814
+ * @generated from field: bool applied = 2;
2815
+ */
2816
+ applied: boolean;
2817
+ /**
2818
+ * `mode_is_unfiltered` | `filter_not_material` |
2819
+ * `filter_materially_reduces_payload`.
2820
+ *
2821
+ * @generated from field: string reason_code = 3;
2822
+ */
2823
+ reasonCode: string;
2824
+ /**
2825
+ * @generated from field: uint32 population_count = 4;
2826
+ */
2827
+ populationCount: number;
2828
+ /**
2829
+ * What the mode keeps. Reported whether or not it was applied, so a client can
2830
+ * check the rule rather than trust it.
2831
+ *
2832
+ * @generated from field: uint32 retained_count = 5;
2833
+ */
2834
+ retainedCount: number;
2835
+ };
2836
+ /**
2837
+ * Describes the message o11y_one.agentic.v1.AgentRunTimelineModeEffectV1.
2838
+ * Use `create(AgentRunTimelineModeEffectV1Schema)` to create a new message.
2839
+ */
2840
+ export declare const AgentRunTimelineModeEffectV1Schema: GenMessage<AgentRunTimelineModeEffectV1>;
2841
+ /**
2842
+ * `0b P7-16`'s cursor.
2843
+ *
2844
+ * @generated from message o11y_one.agentic.v1.AgentRunTimelineCursorV1
2845
+ */
2846
+ export type AgentRunTimelineCursorV1 = Message<"o11y_one.agentic.v1.AgentRunTimelineCursorV1"> & {
2847
+ /**
2848
+ * Absent when the page exhausted the population.
2849
+ *
2850
+ * @generated from field: optional string next_page_token = 1;
2851
+ */
2852
+ nextPageToken?: string | undefined;
2853
+ /**
2854
+ * The prefix to re-emit was larger than this build re-emits, so the client
2855
+ * restarts from page 1. A typed escape, never a silent truncation.
2856
+ *
2857
+ * @generated from field: bool resync_required = 2;
2858
+ */
2859
+ resyncRequired: boolean;
2860
+ /**
2861
+ * Lane A's monotone projection version this page was built at.
2862
+ *
2863
+ * @generated from field: int64 projection_version = 3;
2864
+ */
2865
+ projectionVersion: bigint;
2866
+ /**
2867
+ * Set when the BYTE ceiling ended the page rather than the event count.
2868
+ * "200 events" and "as many as fit" are different answers and an operator
2869
+ * diagnosing a short page needs to know which one they got.
2870
+ *
2871
+ * @generated from field: bool stopped_on_byte_ceiling = 4;
2872
+ */
2873
+ stoppedOnByteCeiling: boolean;
2874
+ /**
2875
+ * How many events this cursor walks in total, AFTER the mode decision. The
2876
+ * denominator a client needs to know how many pages to expect — without it,
2877
+ * "is there more?" is answerable only by asking for more.
2878
+ *
2879
+ * @generated from field: uint32 total_event_count = 5;
2880
+ */
2881
+ totalEventCount: number;
2882
+ };
2883
+ /**
2884
+ * Describes the message o11y_one.agentic.v1.AgentRunTimelineCursorV1.
2885
+ * Use `create(AgentRunTimelineCursorV1Schema)` to create a new message.
2886
+ */
2887
+ export declare const AgentRunTimelineCursorV1Schema: GenMessage<AgentRunTimelineCursorV1>;
2888
+ /**
2889
+ * The cost-driving event of the run (J2 step 4).
2890
+ *
2891
+ * The single largest AVAILABLE per-event cost — not a sum. A sum would be the
2892
+ * run-level money total handoff doc 11 §8 refuses to publish.
2893
+ *
2894
+ * @generated from message o11y_one.agentic.v1.AgentRunTimelineCostDriverV1
2895
+ */
2896
+ export type AgentRunTimelineCostDriverV1 = Message<"o11y_one.agentic.v1.AgentRunTimelineCostDriverV1"> & {
2897
+ /**
2898
+ * @generated from field: optional string event_id = 1;
2899
+ */
2900
+ eventId?: string | undefined;
2901
+ /**
2902
+ * @generated from field: o11y_one.agentic.v1.TraceSpanCostV1 cost = 2;
2903
+ */
2904
+ cost?: TraceSpanCostV1 | undefined;
2905
+ /**
2906
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 availability = 3;
2907
+ */
2908
+ availability?: MetricAvailabilityV1 | undefined;
2909
+ };
2910
+ /**
2911
+ * Describes the message o11y_one.agentic.v1.AgentRunTimelineCostDriverV1.
2912
+ * Use `create(AgentRunTimelineCostDriverV1Schema)` to create a new message.
2913
+ */
2914
+ export declare const AgentRunTimelineCostDriverV1Schema: GenMessage<AgentRunTimelineCostDriverV1>;
2915
+ /**
2916
+ * @generated from message o11y_one.agentic.v1.ListAgentRunEventsRequest
2917
+ */
2918
+ export type ListAgentRunEventsRequest = Message<"o11y_one.agentic.v1.ListAgentRunEventsRequest"> & {
2919
+ /**
2920
+ * A non-`_CURRENT` id is not an error: it resolves to the canonical run and
2921
+ * the response carries the redirect (`P7-6`).
2922
+ *
2923
+ * @generated from field: string agent_run_id = 1;
2924
+ */
2925
+ agentRunId: string;
2926
+ /**
2927
+ * @generated from field: o11y_one.agentic.v1.AgentRunTimelineModeV1 mode = 2;
2928
+ */
2929
+ mode: AgentRunTimelineModeV1;
2930
+ /**
2931
+ * From a previous response. Bound to the run, the mode and the projection
2932
+ * version it was minted at; replayed against a different run or mode it is
2933
+ * refused rather than silently re-pointed.
2934
+ *
2935
+ * @generated from field: optional string page_token = 3;
2936
+ */
2937
+ pageToken?: string | undefined;
2938
+ /**
2939
+ * Clamped to the published maximum rather than refused, so a client that asks
2940
+ * for more gets the maximum and the capability tells it what that is.
2941
+ *
2942
+ * @generated from field: optional uint32 page_size = 4;
2943
+ */
2944
+ pageSize?: number | undefined;
2945
+ };
2946
+ /**
2947
+ * Describes the message o11y_one.agentic.v1.ListAgentRunEventsRequest.
2948
+ * Use `create(ListAgentRunEventsRequestSchema)` to create a new message.
2949
+ */
2950
+ export declare const ListAgentRunEventsRequestSchema: GenMessage<ListAgentRunEventsRequest>;
2951
+ /**
2952
+ * @generated from message o11y_one.agentic.v1.ListAgentRunEventsResponse
2953
+ */
2954
+ export type ListAgentRunEventsResponse = Message<"o11y_one.agentic.v1.ListAgentRunEventsResponse"> & {
2955
+ /**
2956
+ * The CANONICAL run id, which may differ from the one requested.
2957
+ *
2958
+ * @generated from field: string agent_run_id = 1;
2959
+ */
2960
+ agentRunId: string;
2961
+ /**
2962
+ * Present when the requested id was not `_CURRENT` (`P7-6`).
2963
+ *
2964
+ * @generated from field: optional o11y_one.agentic.v1.GroupingRedirectV1 redirect = 2;
2965
+ */
2966
+ redirect?: GroupingRedirectV1 | undefined;
2967
+ /**
2968
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunEventV1 events = 3;
2969
+ */
2970
+ events: AgentRunEventV1[];
2971
+ /**
2972
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunLaneV1 lanes = 4;
2973
+ */
2974
+ lanes: AgentRunLaneV1[];
2975
+ /**
2976
+ * @generated from field: o11y_one.agentic.v1.AgentRunTimelineModeEffectV1 mode_effect = 5;
2977
+ */
2978
+ modeEffect?: AgentRunTimelineModeEffectV1 | undefined;
2979
+ /**
2980
+ * @generated from field: o11y_one.agentic.v1.AgentRunTimelineCursorV1 cursor = 6;
2981
+ */
2982
+ cursor?: AgentRunTimelineCursorV1 | undefined;
2983
+ /**
2984
+ * `P7-13`: the timeline's "this conversation is done" affordance READS this
2985
+ * state. It computes no idle heuristic of its own, and there is no field here
2986
+ * that would let it.
2987
+ *
2988
+ * @generated from field: o11y_one.agentic.v1.ConversationCompletenessV1 completeness = 7;
2989
+ */
2990
+ completeness?: ConversationCompletenessV1 | undefined;
2991
+ /**
2992
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunEventKindCoverageV1 event_kind_coverage = 8;
2993
+ */
2994
+ eventKindCoverage: AgentRunEventKindCoverageV1[];
2995
+ /**
2996
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunArtifactSourceCoverageV1 artifact_source_coverage = 9;
2997
+ */
2998
+ artifactSourceCoverage: AgentRunArtifactSourceCoverageV1[];
2999
+ /**
3000
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunArtifactDiagnosticV1 artifact_diagnostics = 10;
3001
+ */
3002
+ artifactDiagnostics: AgentRunArtifactDiagnosticV1[];
3003
+ /**
3004
+ * NOT_SUPPORTED with `event_scoped_scores_not_projected`: no plane keys a
3005
+ * score to a single span today. An absence with a reason, not an empty list a
3006
+ * client would read as "unscored".
3007
+ *
3008
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 event_score_availability = 11;
3009
+ */
3010
+ eventScoreAvailability?: MetricAvailabilityV1 | undefined;
3011
+ /**
3012
+ * J2's "downstream trace unavailable", typed. NOT_SUPPORTED with
3013
+ * `span_links_reach_the_lake_without_attributes` — OTel's own relational
3014
+ * mechanism survives ingest with its attributes dropped, so a span link cannot
3015
+ * say WHY it links and a downstream reference cannot be built from it.
3016
+ *
3017
+ * @generated from field: o11y_one.agentic.v1.MetricAvailabilityV1 downstream_reference_availability = 12;
3018
+ */
3019
+ downstreamReferenceAvailability?: MetricAvailabilityV1 | undefined;
3020
+ /**
3021
+ * The earliest failure across the run's member traces (J2 step 4), reusing the
3022
+ * trace viewer's own shape and fold.
3023
+ *
3024
+ * @generated from field: optional o11y_one.agentic.v1.TraceFirstFailureV1 first_failure = 13;
3025
+ */
3026
+ firstFailure?: TraceFirstFailureV1 | undefined;
3027
+ /**
3028
+ * @generated from field: o11y_one.agentic.v1.AgentRunTimelineCostDriverV1 cost_driver = 14;
3029
+ */
3030
+ costDriver?: AgentRunTimelineCostDriverV1 | undefined;
3031
+ /**
3032
+ * @generated from field: o11y_one.agentic.v1.TraceWindowV1 window = 15;
3033
+ */
3034
+ window?: TraceWindowV1 | undefined;
3035
+ /**
3036
+ * @generated from field: o11y_one.agentic.v1.TraceSpanPopulationBoundaryV1 boundary = 16;
3037
+ */
3038
+ boundary?: TraceSpanPopulationBoundaryV1 | undefined;
3039
+ /**
3040
+ * @generated from field: o11y_one.agentic.v1.EvaluationFreshnessV1 freshness = 17;
3041
+ */
3042
+ freshness?: EvaluationFreshnessV1 | undefined;
3043
+ /**
3044
+ * @generated from field: o11y_one.agentic.v1.AgenticEvaluationCapabilitiesV1 capabilities = 18;
3045
+ */
3046
+ capabilities?: AgenticEvaluationCapabilitiesV1 | undefined;
3047
+ /**
3048
+ * A member trace over the span cap refuses the WHOLE timeline with the
3049
+ * observed count. A summary over part of a conversation is wrong rather than
3050
+ * partial.
3051
+ *
3052
+ * @generated from field: optional o11y_one.agentic.v1.TraceReadRefusalV1 refusal = 19;
3053
+ */
3054
+ refusal?: TraceReadRefusalV1 | undefined;
3055
+ /**
3056
+ * Artifacts linked to the RUN rather than to any one span.
3057
+ *
3058
+ * Separate from `AgentRunEventV1.artifacts` deliberately: a link whose anchor
3059
+ * is the run belongs to the run, and hanging it off the first event would put
3060
+ * a relationship on a span nobody linked. Capped like every nested family.
3061
+ *
3062
+ * @generated from field: repeated o11y_one.agentic.v1.AgentRunArtifactSummaryV1 run_artifacts = 20;
3063
+ */
3064
+ runArtifacts: AgentRunArtifactSummaryV1[];
3065
+ };
3066
+ /**
3067
+ * Describes the message o11y_one.agentic.v1.ListAgentRunEventsResponse.
3068
+ * Use `create(ListAgentRunEventsResponseSchema)` to create a new message.
3069
+ */
3070
+ export declare const ListAgentRunEventsResponseSchema: GenMessage<ListAgentRunEventsResponse>;
3071
+ /**
3072
+ * `PLAN:497` / `AL-8` / `SM-12`. An audited logical revocation: a tombstone in
3073
+ * the append-only correction ledger, never a delete of the immutable telemetry
3074
+ * that carried the link.
3075
+ *
3076
+ * @generated from message o11y_one.agentic.v1.RevokeExternalArtifactLinkRequest
3077
+ */
3078
+ export type RevokeExternalArtifactLinkRequest = Message<"o11y_one.agentic.v1.RevokeExternalArtifactLinkRequest"> & {
3079
+ /**
3080
+ * @generated from field: o11y_one.agentic.v1.PrincipalRefV1 principal = 1;
3081
+ */
3082
+ principal?: PrincipalRefV1 | undefined;
3083
+ /**
3084
+ * @generated from field: bytes link_id = 2;
3085
+ */
3086
+ linkId: Uint8Array;
3087
+ /**
3088
+ * Machine-groupable, never prose: "why were my links revoked?" has to be
3089
+ * answerable from a GROUP BY.
3090
+ *
3091
+ * @generated from field: string reason_code = 3;
3092
+ */
3093
+ reasonCode: string;
3094
+ /**
3095
+ * @generated from field: string idempotency_key = 4;
3096
+ */
3097
+ idempotencyKey: string;
3098
+ };
3099
+ /**
3100
+ * Describes the message o11y_one.agentic.v1.RevokeExternalArtifactLinkRequest.
3101
+ * Use `create(RevokeExternalArtifactLinkRequestSchema)` to create a new message.
3102
+ */
3103
+ export declare const RevokeExternalArtifactLinkRequestSchema: GenMessage<RevokeExternalArtifactLinkRequest>;
3104
+ /**
3105
+ * @generated from message o11y_one.agentic.v1.RevokeExternalArtifactLinkResponse
3106
+ */
3107
+ export type RevokeExternalArtifactLinkResponse = Message<"o11y_one.agentic.v1.RevokeExternalArtifactLinkResponse"> & {
3108
+ /**
3109
+ * The link as it now reads: `status = REVOKED`, everything else preserved.
3110
+ *
3111
+ * @generated from field: o11y_one.agentic.v1.ArtifactLinkV1 link = 1;
3112
+ */
3113
+ link?: ArtifactLinkV1 | undefined;
3114
+ /**
3115
+ * @generated from field: uint32 correction_sequence = 2;
3116
+ */
3117
+ correctionSequence: number;
3118
+ /**
3119
+ * @generated from field: optional string rejection_reason_code = 3;
3120
+ */
3121
+ rejectionReasonCode?: string | undefined;
3122
+ };
3123
+ /**
3124
+ * Describes the message o11y_one.agentic.v1.RevokeExternalArtifactLinkResponse.
3125
+ * Use `create(RevokeExternalArtifactLinkResponseSchema)` to create a new message.
3126
+ */
3127
+ export declare const RevokeExternalArtifactLinkResponseSchema: GenMessage<RevokeExternalArtifactLinkResponse>;
3128
+ /**
3129
+ * `PLAN:498` / `AL-14`. One resolve, one artifact, only after an explicit
3130
+ * selection. List and timeline reads return POSTURE and never invoke a resolver.
3131
+ *
3132
+ * @generated from message o11y_one.agentic.v1.ResolveExternalArtifactLinkRequest
3133
+ */
3134
+ export type ResolveExternalArtifactLinkRequest = Message<"o11y_one.agentic.v1.ResolveExternalArtifactLinkRequest"> & {
3135
+ /**
3136
+ * @generated from field: o11y_one.agentic.v1.PrincipalRefV1 principal = 1;
3137
+ */
3138
+ principal?: PrincipalRefV1 | undefined;
3139
+ /**
3140
+ * @generated from field: bytes link_id = 2;
3141
+ */
3142
+ linkId: Uint8Array;
3143
+ };
3144
+ /**
3145
+ * Describes the message o11y_one.agentic.v1.ResolveExternalArtifactLinkRequest.
3146
+ * Use `create(ResolveExternalArtifactLinkRequestSchema)` to create a new message.
3147
+ */
3148
+ export declare const ResolveExternalArtifactLinkRequestSchema: GenMessage<ResolveExternalArtifactLinkRequest>;
3149
+ /**
3150
+ * @generated from message o11y_one.agentic.v1.ResolveExternalArtifactLinkResponse
3151
+ */
3152
+ export type ResolveExternalArtifactLinkResponse = Message<"o11y_one.agentic.v1.ResolveExternalArtifactLinkResponse"> & {
3153
+ /**
3154
+ * The outcome posture. `SM-13`'s six values.
3155
+ *
3156
+ * @generated from field: o11y_one.agentic.v1.ArtifactResolverPostureV1 posture = 1;
3157
+ */
3158
+ posture: ArtifactResolverPostureV1;
3159
+ /**
3160
+ * `resolver_not_configured` | `resolver_executor_not_shipped` |
3161
+ * `resolver_denied_by_policy` | `link_not_found` | `link_revoked`.
3162
+ *
3163
+ * @generated from field: string reason_code = 2;
3164
+ */
3165
+ reasonCode: string;
3166
+ /**
3167
+ * Deliberately NOT a URL and NOT a credential. `AL-14` rule 3 and NN8: neither
3168
+ * is stored, and neither is returned. When a resolver executor ships, the
3169
+ * authorized content reference is what this grows — never a signed URL on a
3170
+ * read model.
3171
+ *
3172
+ * @generated from field: google.protobuf.Timestamp attempted_at = 3;
3173
+ */
3174
+ attemptedAt?: Timestamp | undefined;
3175
+ };
3176
+ /**
3177
+ * Describes the message o11y_one.agentic.v1.ResolveExternalArtifactLinkResponse.
3178
+ * Use `create(ResolveExternalArtifactLinkResponseSchema)` to create a new message.
3179
+ */
3180
+ export declare const ResolveExternalArtifactLinkResponseSchema: GenMessage<ResolveExternalArtifactLinkResponse>;
3181
+ /**
3182
+ * One trace, as the list renders it.
3183
+ *
3184
+ * The aggregate's own columns and nothing derived from a second plane.
3185
+ * `AgentRunScorePostureV1` is DELIBERATELY ABSENT: it is a read of `eval_scores`
3186
+ * and of the production-rule verdicts per trace, which is a third statement for
3187
+ * a column a list sorts by but cannot act on. `GetAgentRun` carries the posture
3188
+ * for the run a reader pivots to, which is where it is worth a read.
3189
+ *
3190
+ * @generated from message o11y_one.agentic.v1.AgentTraceRowV1
3191
+ */
3192
+ export type AgentTraceRowV1 = Message<"o11y_one.agentic.v1.AgentTraceRowV1"> & {
3193
+ /**
3194
+ * Lowercase hex, as `AgentTraceHeaderV1.trace_id` spells it.
3195
+ *
3196
+ * @generated from field: string trace_id = 1;
3197
+ */
3198
+ traceId: string;
3199
+ /**
3200
+ * MIN(start) and MAX(end) over this trace's spans in the window. Absent when
3201
+ * the plane carried no instant — zero is an absence, not the Unix epoch.
3202
+ *
3203
+ * @generated from field: google.protobuf.Timestamp started_at = 2;
3204
+ */
3205
+ startedAt?: Timestamp | undefined;
3206
+ /**
3207
+ * @generated from field: google.protobuf.Timestamp ended_at = 3;
3208
+ */
3209
+ endedAt?: Timestamp | undefined;
3210
+ /**
3211
+ * `ended_at - started_at`, not a sum of span durations: a trace's wall time is
3212
+ * its interval, and adding concurrent spans would over-count it.
3213
+ *
3214
+ * @generated from field: int64 wall_time_micros = 4;
3215
+ */
3216
+ wallTimeMicros: bigint;
3217
+ /**
3218
+ * @generated from field: uint32 span_count = 5;
3219
+ */
3220
+ spanCount: number;
3221
+ /**
3222
+ * Spans the ingest classifier marked failed. A trace with one is a trace the
3223
+ * `errors_only` filter keeps.
3224
+ *
3225
+ * @generated from field: uint32 error_count = 6;
3226
+ */
3227
+ errorCount: number;
3228
+ /**
3229
+ * Distinct agent, model and tool names — the same column rules
3230
+ * `agent_run/fold.rs` folds a RUN's counts from, so the two surfaces cannot
3231
+ * drift into disagreeing about what a tool is.
3232
+ *
3233
+ * @generated from field: uint32 agent_count = 7;
3234
+ */
3235
+ agentCount: number;
3236
+ /**
3237
+ * @generated from field: uint32 model_count = 8;
3238
+ */
3239
+ modelCount: number;
3240
+ /**
3241
+ * @generated from field: uint32 tool_count = 9;
3242
+ */
3243
+ toolCount: number;
3244
+ /**
3245
+ * The dimensions, with their distinct counts: a trace whose spans state two
3246
+ * deployments says so rather than letting one of them silently win.
3247
+ *
3248
+ * @generated from field: o11y_one.agentic.v1.AgentRunDimensionV1 customer = 10;
3249
+ */
3250
+ customer?: AgentRunDimensionV1 | undefined;
3251
+ /**
3252
+ * @generated from field: o11y_one.agentic.v1.AgentRunDimensionV1 deployment = 11;
3253
+ */
3254
+ deployment?: AgentRunDimensionV1 | undefined;
3255
+ /**
3256
+ * @generated from field: o11y_one.agentic.v1.AgentRunVersionContextV1 versions = 12;
3257
+ */
3258
+ versions?: AgentRunVersionContextV1 | undefined;
3259
+ /**
3260
+ * The run this trace is a member of, from `evaluation_agent_run_members`.
3261
+ * Absent means the grouping pass has not reached this trace, NEVER that the
3262
+ * trace belongs to no run.
3263
+ *
3264
+ * @generated from field: optional string agent_run_id = 13;
3265
+ */
3266
+ agentRunId?: string | undefined;
3267
+ };
3268
+ /**
3269
+ * Describes the message o11y_one.agentic.v1.AgentTraceRowV1.
3270
+ * Use `create(AgentTraceRowV1Schema)` to create a new message.
3271
+ */
3272
+ export declare const AgentTraceRowV1Schema: GenMessage<AgentTraceRowV1>;
3273
+ /**
3274
+ * @generated from message o11y_one.agentic.v1.ListAgentTracesRequest
3275
+ */
3276
+ export type ListAgentTracesRequest = Message<"o11y_one.agentic.v1.ListAgentTracesRequest"> & {
3277
+ /**
3278
+ * @generated from field: optional google.protobuf.Timestamp start = 1;
3279
+ */
3280
+ start?: Timestamp | undefined;
3281
+ /**
3282
+ * @generated from field: optional google.protobuf.Timestamp end = 2;
3283
+ */
3284
+ end?: Timestamp | undefined;
3285
+ /**
3286
+ * @generated from field: o11y_one.agentic.v1.AgentTraceListFilterV1 filter = 3;
3287
+ */
3288
+ filter?: AgentTraceListFilterV1 | undefined;
3289
+ /**
3290
+ * @generated from field: optional uint32 limit = 4;
3291
+ */
3292
+ limit?: number | undefined;
3293
+ /**
3294
+ * Opaque keyset cursor over `(started_at DESC, trace_id DESC)`. Never an
3295
+ * offset: an offset over a list whose rows move is a promise the span plane
3296
+ * cannot keep.
3297
+ *
3298
+ * @generated from field: optional string page_token = 5;
3299
+ */
3300
+ pageToken?: string | undefined;
3301
+ };
3302
+ /**
3303
+ * Describes the message o11y_one.agentic.v1.ListAgentTracesRequest.
3304
+ * Use `create(ListAgentTracesRequestSchema)` to create a new message.
3305
+ */
3306
+ export declare const ListAgentTracesRequestSchema: GenMessage<ListAgentTracesRequest>;
3307
+ /**
3308
+ * @generated from message o11y_one.agentic.v1.ListAgentTracesResponse
3309
+ */
3310
+ export type ListAgentTracesResponse = Message<"o11y_one.agentic.v1.ListAgentTracesResponse"> & {
3311
+ /**
3312
+ * @generated from field: repeated o11y_one.agentic.v1.AgentTraceRowV1 traces = 1;
3313
+ */
3314
+ traces: AgentTraceRowV1[];
3315
+ /**
3316
+ * @generated from field: optional string next_page_token = 2;
3317
+ */
3318
+ nextPageToken?: string | undefined;
3319
+ /**
3320
+ * @generated from field: bool has_more = 3;
3321
+ */
3322
+ hasMore: boolean;
3323
+ /**
3324
+ * Clamped IN BAND, with the reason, exactly as `ListAgentRuns` reports it.
3325
+ *
3326
+ * @generated from field: o11y_one.agentic.v1.TraceWindowV1 window = 4;
3327
+ */
3328
+ window?: TraceWindowV1 | undefined;
3329
+ /**
3330
+ * @generated from field: o11y_one.agentic.v1.TraceSpanPopulationBoundaryV1 boundary = 5;
3331
+ */
3332
+ boundary?: TraceSpanPopulationBoundaryV1 | undefined;
3333
+ /**
3334
+ * `keyset_started_desc_late_data_resurfaces_at_head_v1`. A trace whose first
3335
+ * span arrives late sorts by that span's instant, so it surfaces at the head
3336
+ * of a fresh first page rather than inside an older cursor's continuation.
3337
+ *
3338
+ * @generated from field: string cursor_semantics_code = 6;
3339
+ */
3340
+ cursorSemanticsCode: string;
3341
+ /**
3342
+ * @generated from field: o11y_one.agentic.v1.EvaluationFreshnessV1 freshness = 7;
3343
+ */
3344
+ freshness?: EvaluationFreshnessV1 | undefined;
3345
+ /**
3346
+ * @generated from field: o11y_one.agentic.v1.AgenticEvaluationCapabilitiesV1 capabilities = 8;
3347
+ */
3348
+ capabilities?: AgenticEvaluationCapabilitiesV1 | undefined;
3349
+ /**
3350
+ * @generated from field: optional o11y_one.agentic.v1.TraceReadRefusalV1 refusal = 9;
3351
+ */
3352
+ refusal?: TraceReadRefusalV1 | undefined;
3353
+ };
3354
+ /**
3355
+ * Describes the message o11y_one.agentic.v1.ListAgentTracesResponse.
3356
+ * Use `create(ListAgentTracesResponseSchema)` to create a new message.
3357
+ */
3358
+ export declare const ListAgentTracesResponseSchema: GenMessage<ListAgentTracesResponse>;
3359
+ /**
3360
+ * @generated from message o11y_one.agentic.v1.TraceInvestigationUnavailableReasonV1
3361
+ */
3362
+ export type TraceInvestigationUnavailableReasonV1 = Message<"o11y_one.agentic.v1.TraceInvestigationUnavailableReasonV1"> & {
3363
+ /**
3364
+ * @generated from field: string section = 1;
3365
+ */
3366
+ section: string;
3367
+ /**
3368
+ * @generated from field: string reason_code = 2;
3369
+ */
3370
+ reasonCode: string;
3371
+ /**
3372
+ * @generated from field: string message = 3;
3373
+ */
3374
+ message: string;
3375
+ /**
3376
+ * @generated from field: bool retryable = 4;
3377
+ */
3378
+ retryable: boolean;
3379
+ };
3380
+ /**
3381
+ * Describes the message o11y_one.agentic.v1.TraceInvestigationUnavailableReasonV1.
3382
+ * Use `create(TraceInvestigationUnavailableReasonV1Schema)` to create a new message.
3383
+ */
3384
+ export declare const TraceInvestigationUnavailableReasonV1Schema: GenMessage<TraceInvestigationUnavailableReasonV1>;
3385
+ /**
3386
+ * @generated from message o11y_one.agentic.v1.TraceInvestigationEvidenceLinkV1
3387
+ */
3388
+ export type TraceInvestigationEvidenceLinkV1 = Message<"o11y_one.agentic.v1.TraceInvestigationEvidenceLinkV1"> & {
3389
+ /**
3390
+ * @generated from field: string evidence_type = 1;
3391
+ */
3392
+ evidenceType: string;
3393
+ /**
3394
+ * @generated from field: string evidence_id = 2;
3395
+ */
3396
+ evidenceId: string;
3397
+ /**
3398
+ * @generated from field: optional string trace_id = 3;
3399
+ */
3400
+ traceId?: string | undefined;
3401
+ /**
3402
+ * @generated from field: optional string span_id = 4;
3403
+ */
3404
+ spanId?: string | undefined;
3405
+ /**
3406
+ * @generated from field: optional string label = 5;
3407
+ */
3408
+ label?: string | undefined;
3409
+ };
3410
+ /**
3411
+ * Describes the message o11y_one.agentic.v1.TraceInvestigationEvidenceLinkV1.
3412
+ * Use `create(TraceInvestigationEvidenceLinkV1Schema)` to create a new message.
3413
+ */
3414
+ export declare const TraceInvestigationEvidenceLinkV1Schema: GenMessage<TraceInvestigationEvidenceLinkV1>;
3415
+ /**
3416
+ * @generated from message o11y_one.agentic.v1.AgenticEvidenceGraphNodeV1
3417
+ */
3418
+ export type AgenticEvidenceGraphNodeV1 = Message<"o11y_one.agentic.v1.AgenticEvidenceGraphNodeV1"> & {
3419
+ /**
3420
+ * @generated from field: string node_id = 1;
3421
+ */
3422
+ nodeId: string;
3423
+ /**
3424
+ * @generated from field: string node_type = 2;
3425
+ */
3426
+ nodeType: string;
3427
+ /**
3428
+ * @generated from field: string label = 3;
3429
+ */
3430
+ label: string;
3431
+ /**
3432
+ * @generated from field: optional string status = 4;
3433
+ */
3434
+ status?: string | undefined;
3435
+ /**
3436
+ * Display-only facts about the node (a score's value, a run's grouping
3437
+ * state), serialised JSON. A string rather than `google.protobuf.Struct`
3438
+ * because the v2 contract carries no untyped document a service could branch
3439
+ * on (`PLAN:1895`); this one is rendered, never read back.
3440
+ *
3441
+ * @generated from field: string metadata_json = 7;
3442
+ */
3443
+ metadataJson: string;
3444
+ /**
3445
+ * @generated from field: repeated o11y_one.agentic.v1.TraceInvestigationEvidenceLinkV1 evidence_links = 6;
3446
+ */
3447
+ evidenceLinks: TraceInvestigationEvidenceLinkV1[];
3448
+ };
3449
+ /**
3450
+ * Describes the message o11y_one.agentic.v1.AgenticEvidenceGraphNodeV1.
3451
+ * Use `create(AgenticEvidenceGraphNodeV1Schema)` to create a new message.
3452
+ */
3453
+ export declare const AgenticEvidenceGraphNodeV1Schema: GenMessage<AgenticEvidenceGraphNodeV1>;
3454
+ /**
3455
+ * @generated from message o11y_one.agentic.v1.AgenticEvidenceGraphEdgeV1
3456
+ */
3457
+ export type AgenticEvidenceGraphEdgeV1 = Message<"o11y_one.agentic.v1.AgenticEvidenceGraphEdgeV1"> & {
3458
+ /**
3459
+ * @generated from field: string source_node_id = 1;
3460
+ */
3461
+ sourceNodeId: string;
3462
+ /**
3463
+ * @generated from field: string target_node_id = 2;
3464
+ */
3465
+ targetNodeId: string;
3466
+ /**
3467
+ * @generated from field: string relationship = 3;
3468
+ */
3469
+ relationship: string;
3470
+ };
3471
+ /**
3472
+ * Describes the message o11y_one.agentic.v1.AgenticEvidenceGraphEdgeV1.
3473
+ * Use `create(AgenticEvidenceGraphEdgeV1Schema)` to create a new message.
3474
+ */
3475
+ export declare const AgenticEvidenceGraphEdgeV1Schema: GenMessage<AgenticEvidenceGraphEdgeV1>;
3476
+ /**
3477
+ * @generated from message o11y_one.agentic.v1.AgenticEvidenceGraphV1
3478
+ */
3479
+ export type AgenticEvidenceGraphV1 = Message<"o11y_one.agentic.v1.AgenticEvidenceGraphV1"> & {
3480
+ /**
3481
+ * @generated from field: repeated o11y_one.agentic.v1.AgenticEvidenceGraphNodeV1 nodes = 1;
3482
+ */
3483
+ nodes: AgenticEvidenceGraphNodeV1[];
3484
+ /**
3485
+ * @generated from field: repeated o11y_one.agentic.v1.AgenticEvidenceGraphEdgeV1 edges = 2;
3486
+ */
3487
+ edges: AgenticEvidenceGraphEdgeV1[];
3488
+ /**
3489
+ * @generated from field: bool truncated = 3;
3490
+ */
3491
+ truncated: boolean;
3492
+ /**
3493
+ * @generated from field: repeated o11y_one.agentic.v1.TraceInvestigationUnavailableReasonV1 unavailable_reasons = 4;
3494
+ */
3495
+ unavailableReasons: TraceInvestigationUnavailableReasonV1[];
3496
+ };
3497
+ /**
3498
+ * Describes the message o11y_one.agentic.v1.AgenticEvidenceGraphV1.
3499
+ * Use `create(AgenticEvidenceGraphV1Schema)` to create a new message.
3500
+ */
3501
+ export declare const AgenticEvidenceGraphV1Schema: GenMessage<AgenticEvidenceGraphV1>;
3502
+ /**
3503
+ * The two arms that survive v1. Six die with it — session, dataset item, eval
3504
+ * job, experiment run item, release gate evaluation, annotation task — and
3505
+ * every one of them names a v1-only concept.
3506
+ *
3507
+ * @generated from message o11y_one.agentic.v1.GetAgentEvidenceGraphRequest
3508
+ */
3509
+ export type GetAgentEvidenceGraphRequest = Message<"o11y_one.agentic.v1.GetAgentEvidenceGraphRequest"> & {
3510
+ /**
3511
+ * @generated from oneof o11y_one.agentic.v1.GetAgentEvidenceGraphRequest.scope
3512
+ */
3513
+ scope: {
3514
+ /**
3515
+ * Lowercase hex, as `AgentTraceHeaderV1.trace_id` spells it.
3516
+ *
3517
+ * @generated from field: string trace_id = 1;
3518
+ */
3519
+ value: string;
3520
+ case: "traceId";
3521
+ } | {
3522
+ /**
3523
+ * A stale (`_MERGED_AWAY` / `_SPLIT_AWAY`) id resolves through the grouping
3524
+ * redirect and answers with the CANONICAL run, never `NOT_FOUND` (`P7-6`).
3525
+ *
3526
+ * @generated from field: string agent_run_id = 2;
3527
+ */
3528
+ value: string;
3529
+ case: "agentRunId";
3530
+ } | {
3531
+ case: undefined;
3532
+ value?: undefined;
3533
+ };
3534
+ /**
3535
+ * Default 64, clamped to 8..=512. The clamp is silent, exactly as the v1 verb
3536
+ * clamps it: a client that asked for 4,000 nodes gets 512 and no field says
3537
+ * so, and changing that is a contract change rather than a move.
3538
+ *
3539
+ * @generated from field: optional uint32 node_limit = 3;
3540
+ */
3541
+ nodeLimit?: number | undefined;
3542
+ };
3543
+ /**
3544
+ * Describes the message o11y_one.agentic.v1.GetAgentEvidenceGraphRequest.
3545
+ * Use `create(GetAgentEvidenceGraphRequestSchema)` to create a new message.
3546
+ */
3547
+ export declare const GetAgentEvidenceGraphRequestSchema: GenMessage<GetAgentEvidenceGraphRequest>;
3548
+ /**
3549
+ * @generated from message o11y_one.agentic.v1.GetAgentEvidenceGraphResponse
3550
+ */
3551
+ export type GetAgentEvidenceGraphResponse = Message<"o11y_one.agentic.v1.GetAgentEvidenceGraphResponse"> & {
3552
+ /**
3553
+ * @generated from field: o11y_one.agentic.v1.AgenticEvidenceGraphV1 graph = 1;
3554
+ */
3555
+ graph?: AgenticEvidenceGraphV1 | undefined;
3556
+ };
3557
+ /**
3558
+ * Describes the message o11y_one.agentic.v1.GetAgentEvidenceGraphResponse.
3559
+ * Use `create(GetAgentEvidenceGraphResponseSchema)` to create a new message.
3560
+ */
3561
+ export declare const GetAgentEvidenceGraphResponseSchema: GenMessage<GetAgentEvidenceGraphResponse>;
3562
+ /**
3563
+ * The design's five kinds, plus OTHER.
3564
+ *
3565
+ * OTHER is not a parse failure and not a sentinel: it means this build
3566
+ * classified the span and it is none of the five. A closed enum of exactly the
3567
+ * five would force every queue, worker and internal span into a category it
3568
+ * does not belong to, which is the conflation this track exists to prevent.
3569
+ *
3570
+ * Precedence is FIRST MATCH WINS in the order TOOL, RETRIEVAL, LLM, DB, HTTP,
3571
+ * OTHER, and it is stated because a span can satisfy two rules at once: an
3572
+ * LLM-categorised span that names a tool is a TOOL call, because grouping it
3573
+ * under LLM would hide the tool's own collapse count and p95 — the exact fact
3574
+ * level 2 exists to show.
3575
+ *
3576
+ * @generated from enum o11y_one.agentic.v1.TraceOperationKindV1
3577
+ */
3578
+ export declare enum TraceOperationKindV1 {
3579
+ /**
3580
+ * @generated from enum value: TRACE_OPERATION_KIND_V1_UNSPECIFIED = 0;
3581
+ */
3582
+ UNSPECIFIED = 0,
3583
+ /**
3584
+ * @generated from enum value: TRACE_OPERATION_KIND_V1_LLM = 1;
3585
+ */
3586
+ LLM = 1,
3587
+ /**
3588
+ * @generated from enum value: TRACE_OPERATION_KIND_V1_TOOL = 2;
3589
+ */
3590
+ TOOL = 2,
3591
+ /**
3592
+ * @generated from enum value: TRACE_OPERATION_KIND_V1_DB = 3;
3593
+ */
3594
+ DB = 3,
3595
+ /**
3596
+ * @generated from enum value: TRACE_OPERATION_KIND_V1_HTTP = 4;
3597
+ */
3598
+ HTTP = 4,
3599
+ /**
3600
+ * @generated from enum value: TRACE_OPERATION_KIND_V1_RETRIEVAL = 5;
3601
+ */
3602
+ RETRIEVAL = 5,
3603
+ /**
3604
+ * @generated from enum value: TRACE_OPERATION_KIND_V1_OTHER = 6;
3605
+ */
3606
+ OTHER = 6
3607
+ }
3608
+ /**
3609
+ * Describes the enum o11y_one.agentic.v1.TraceOperationKindV1.
3610
+ */
3611
+ export declare const TraceOperationKindV1Schema: GenEnum<TraceOperationKindV1>;
3612
+ /**
3613
+ * The span's own status. UNSET is OpenTelemetry's default and is a different
3614
+ * fact from OK: a span nobody set a status on has not been reported successful.
3615
+ *
3616
+ * @generated from enum o11y_one.agentic.v1.TraceSpanStatusV1
3617
+ */
3618
+ export declare enum TraceSpanStatusV1 {
3619
+ /**
3620
+ * @generated from enum value: TRACE_SPAN_STATUS_V1_UNSPECIFIED = 0;
3621
+ */
3622
+ UNSPECIFIED = 0,
3623
+ /**
3624
+ * @generated from enum value: TRACE_SPAN_STATUS_V1_UNSET = 1;
3625
+ */
3626
+ UNSET = 1,
3627
+ /**
3628
+ * @generated from enum value: TRACE_SPAN_STATUS_V1_OK = 2;
3629
+ */
3630
+ OK = 2,
3631
+ /**
3632
+ * @generated from enum value: TRACE_SPAN_STATUS_V1_ERROR = 3;
3633
+ */
3634
+ ERROR = 3
3635
+ }
3636
+ /**
3637
+ * Describes the enum o11y_one.agentic.v1.TraceSpanStatusV1.
3638
+ */
3639
+ export declare const TraceSpanStatusV1Schema: GenEnum<TraceSpanStatusV1>;
3640
+ /**
3641
+ * Why a span is in the needs-attention set. The design names exactly these
3642
+ * three — "errors, warns, slow outliers".
3643
+ *
3644
+ * @generated from enum o11y_one.agentic.v1.TraceAttentionKindV1
3645
+ */
3646
+ export declare enum TraceAttentionKindV1 {
3647
+ /**
3648
+ * @generated from enum value: TRACE_ATTENTION_KIND_V1_UNSPECIFIED = 0;
3649
+ */
3650
+ UNSPECIFIED = 0,
3651
+ /**
3652
+ * @generated from enum value: TRACE_ATTENTION_KIND_V1_ERROR = 1;
3653
+ */
3654
+ ERROR = 1,
3655
+ /**
3656
+ * A span that recorded an exception event and did NOT fail. This is exactly
3657
+ * the thing a person wants to see and no error filter shows.
3658
+ *
3659
+ * @generated from enum value: TRACE_ATTENTION_KIND_V1_WARN = 2;
3660
+ */
3661
+ WARN = 2,
3662
+ /**
3663
+ * @generated from enum value: TRACE_ATTENTION_KIND_V1_SLOW_OUTLIER = 3;
3664
+ */
3665
+ SLOW_OUTLIER = 3
3666
+ }
3667
+ /**
3668
+ * Describes the enum o11y_one.agentic.v1.TraceAttentionKindV1.
3669
+ */
3670
+ export declare const TraceAttentionKindV1Schema: GenEnum<TraceAttentionKindV1>;
3671
+ /**
3672
+ * How a span failed, in the lake's own vocabulary (wave 35, lane B).
3673
+ *
3674
+ * These are not new names. They are `transformation`'s `ErrorCategory` — the
3675
+ * thirteen arms of `transformation/src/classifier/error.rs`, written into the
3676
+ * `error_category` column at ingest by the classifier every span already goes
3677
+ * through. Restating them here as an enum rather than passing the column's
3678
+ * string through is what lets a client switch on a fault kind instead of
3679
+ * matching prose, and the ordering below is that file's own.
3680
+ *
3681
+ * The column is NULL for a span that did not fail, so a value here is always a
3682
+ * statement about a failure — with one exception, which is
3683
+ * `UNCLASSIFIED`: a span that failed and whose category the classifier could
3684
+ * not write. That is a different fact from `UNKNOWN`, which is the classifier
3685
+ * saying "I looked and none of the twelve fit", and collapsing the two would
3686
+ * hide how much of a trace's failure the classifier is actually reading.
3687
+ *
3688
+ * @generated from enum o11y_one.agentic.v1.TraceFaultCategoryV1
3689
+ */
3690
+ export declare enum TraceFaultCategoryV1 {
3691
+ /**
3692
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_UNSPECIFIED = 0;
3693
+ */
3694
+ UNSPECIFIED = 0,
3695
+ /**
3696
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_TIMEOUT = 1;
3697
+ */
3698
+ TIMEOUT = 1,
3699
+ /**
3700
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_AUTH = 2;
3701
+ */
3702
+ AUTH = 2,
3703
+ /**
3704
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_RATE_LIMIT = 3;
3705
+ */
3706
+ RATE_LIMIT = 3,
3707
+ /**
3708
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_NOT_FOUND = 4;
3709
+ */
3710
+ NOT_FOUND = 4,
3711
+ /**
3712
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_BAD_REQUEST = 5;
3713
+ */
3714
+ BAD_REQUEST = 5,
3715
+ /**
3716
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_CONFLICT = 6;
3717
+ */
3718
+ CONFLICT = 6,
3719
+ /**
3720
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_UNAVAILABLE = 7;
3721
+ */
3722
+ UNAVAILABLE = 7,
3723
+ /**
3724
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_DATA_LOSS = 8;
3725
+ */
3726
+ DATA_LOSS = 8,
3727
+ /**
3728
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_SERVER_ERROR = 9;
3729
+ */
3730
+ SERVER_ERROR = 9,
3731
+ /**
3732
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_NETWORK = 10;
3733
+ */
3734
+ NETWORK = 10,
3735
+ /**
3736
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_CLIENT_ERROR = 11;
3737
+ */
3738
+ CLIENT_ERROR = 11,
3739
+ /**
3740
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_APPLICATION = 12;
3741
+ */
3742
+ APPLICATION = 12,
3743
+ /**
3744
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_UNKNOWN = 13;
3745
+ */
3746
+ UNKNOWN = 13,
3747
+ /**
3748
+ * The span failed and carried no category. Never merged into UNKNOWN.
3749
+ *
3750
+ * @generated from enum value: TRACE_FAULT_CATEGORY_V1_UNCLASSIFIED = 14;
3751
+ */
3752
+ UNCLASSIFIED = 14
3753
+ }
3754
+ /**
3755
+ * Describes the enum o11y_one.agentic.v1.TraceFaultCategoryV1.
3756
+ */
3757
+ export declare const TraceFaultCategoryV1Schema: GenEnum<TraceFaultCategoryV1>;
3758
+ /**
3759
+ * Where a span's money came from. Two provenances, and neither is a bill.
3760
+ *
3761
+ * The operator's ruling of 2026-08-28: *"If client instrumented cost, use that,
3762
+ * else, use the stock provider rate"*. Both halves are on the wire as their own
3763
+ * value, because a number a customer's own code stated and a number this build
3764
+ * computed off a published list price are different evidence, and a client that
3765
+ * cannot tell them apart cannot say which one it is rendering.
3766
+ *
3767
+ * @generated from enum o11y_one.agentic.v1.TraceSpanCostProvenanceV1
3768
+ */
3769
+ export declare enum TraceSpanCostProvenanceV1 {
3770
+ /**
3771
+ * @generated from enum value: TRACE_SPAN_COST_PROVENANCE_V1_UNSPECIFIED = 0;
3772
+ */
3773
+ UNSPECIFIED = 0,
3774
+ /**
3775
+ * The span's own `gen_ai.usage.cost` attribute, surfaced VERBATIM. Never
3776
+ * recomputed, never reconciled against the tokens beside it: a client that
3777
+ * instrumented its own cost has stated a fact, and a server that "corrects"
3778
+ * it has replaced evidence with arithmetic.
3779
+ *
3780
+ * @generated from enum value: TRACE_SPAN_COST_PROVENANCE_V1_CLIENT_STATED = 1;
3781
+ */
3782
+ CLIENT_STATED = 1,
3783
+ /**
3784
+ * The span's observed tokens priced at the rate registry's CURRENT list row
3785
+ * for the model the span itself named. An estimate, explicitly — the client
3786
+ * renders it as "estimated from the provider's pricing list, as of <date>",
3787
+ * where the date is `TraceSpanRateBasisV1.rate_checked_at`. It is not a bill,
3788
+ * it is not what the provider charged, and it enters no ledger.
3789
+ *
3790
+ * @generated from enum value: TRACE_SPAN_COST_PROVENANCE_V1_LIST_RATE_ESTIMATE = 2;
3791
+ */
3792
+ LIST_RATE_ESTIMATE = 2
3793
+ }
3794
+ /**
3795
+ * Describes the enum o11y_one.agentic.v1.TraceSpanCostProvenanceV1.
3796
+ */
3797
+ export declare const TraceSpanCostProvenanceV1Schema: GenEnum<TraceSpanCostProvenanceV1>;
3798
+ /**
3799
+ * What a trace read can refuse with, and why each one is its own kind. A caller
3800
+ * told only "invalid argument" cannot act; each of these names a different next
3801
+ * step, and none of them is "we returned a partial answer". A cut trace is not
3802
+ * among them: it is served, and its critical path carries the availability.
3803
+ *
3804
+ * @generated from enum o11y_one.agentic.v1.TraceReadRefusalKindV1
3805
+ */
3806
+ export declare enum TraceReadRefusalKindV1 {
3807
+ /**
3808
+ * @generated from enum value: TRACE_READ_REFUSAL_KIND_V1_UNSPECIFIED = 0;
3809
+ */
3810
+ UNSPECIFIED = 0,
3811
+ /**
3812
+ * The window held no spans for this trace id. Distinct from the cap breach
3813
+ * below: "we looked and found none" is not "we looked and found too many".
3814
+ *
3815
+ * @generated from enum value: TRACE_READ_REFUSAL_KIND_V1_TRACE_NOT_FOUND = 1;
3816
+ */
3817
+ TRACE_NOT_FOUND = 1,
3818
+ /**
3819
+ * More spans than `TraceSpanPopulationBoundaryV1.max_spans`. Refused WHOLE:
3820
+ * a critical path computed over the first 10,000 spans of a 40,000-span
3821
+ * trace is not a partial critical path, it is a WRONG one, and a client
3822
+ * cannot tell.
3823
+ *
3824
+ * @generated from enum value: TRACE_READ_REFUSAL_KIND_V1_SPAN_POPULATION_EXCEEDS_CAP = 2;
3825
+ */
3826
+ SPAN_POPULATION_EXCEEDS_CAP = 2,
3827
+ /**
3828
+ * Deprecated: never constructed. The fold serves a cut trace and marks its
3829
+ * critical path NOT_OBSERVED with reason_code
3830
+ * trace_root_span_not_in_population; render that.
3831
+ *
3832
+ * @generated from enum value: TRACE_READ_REFUSAL_KIND_V1_TRACE_ROOT_NOT_IN_POPULATION = 3 [deprecated = true];
3833
+ * @deprecated
3834
+ */
3835
+ TRACE_ROOT_NOT_IN_POPULATION = 3,
3836
+ /**
3837
+ * The requested window ends before the oldest instant the span plane will
3838
+ * answer for. Distinct from `TRACE_NOT_FOUND` on purpose, and the distinction
3839
+ * is the whole typed-absence invariant: "we looked and found none" and "we do
3840
+ * not look that far back" are different facts, and only one of them is about
3841
+ * the caller's trace.
3842
+ *
3843
+ * @generated from enum value: TRACE_READ_REFUSAL_KIND_V1_WINDOW_OUTSIDE_RETAINED_LOOKBACK = 4;
3844
+ */
3845
+ WINDOW_OUTSIDE_RETAINED_LOOKBACK = 4,
3846
+ /**
3847
+ * The span plane declined to spend the memory the scan asked for, so the read
3848
+ * was refused BEFORE it ran: nothing about the trace is known — not that it is
3849
+ * large, not that it is absent, not that it is anything. Retry later, or ask
3850
+ * for a narrower window. Its own kind rather than an `INTERNAL`, because a
3851
+ * refusal a caller can retry and a failure a caller can only report are
3852
+ * different facts, and the first one spent eight of eight reads looking like
3853
+ * the second.
3854
+ *
3855
+ * @generated from enum value: TRACE_READ_REFUSAL_KIND_V1_READ_BUDGET_EXHAUSTED = 5;
3856
+ */
3857
+ READ_BUDGET_EXHAUSTED = 5
3858
+ }
3859
+ /**
3860
+ * Describes the enum o11y_one.agentic.v1.TraceReadRefusalKindV1.
3861
+ */
3862
+ export declare const TraceReadRefusalKindV1Schema: GenEnum<TraceReadRefusalKindV1>;
3863
+ /**
3864
+ * The first word on the agent-run header (`BP:755`).
3865
+ *
3866
+ * `PLAN:1683` asks for an "outcome" and neither the plan nor `0b` §4 defines the
3867
+ * vocabulary — handoff doc 11 §9 Q1 raises exactly that. This is the answer, and
3868
+ * its derivation is published as `agent_run_outcome_v1` in the capability set so
3869
+ * a reader can argue with the rule rather than only with the word.
3870
+ *
3871
+ * `_UNKNOWN` IS A VERDICT, NOT A NULL. It is what this build says when the
3872
+ * conversation is still `_OPEN` — a run in flight has not had an outcome yet —
3873
+ * and when no member span reported a status at all. `UNSET is not OK` on one
3874
+ * span; a whole run of them is not a successful run either.
3875
+ *
3876
+ * @generated from enum o11y_one.agentic.v1.AgentRunOutcomeV1
3877
+ */
3878
+ export declare enum AgentRunOutcomeV1 {
3879
+ /**
3880
+ * @generated from enum value: AGENT_RUN_OUTCOME_V1_UNSPECIFIED = 0;
3881
+ */
3882
+ UNSPECIFIED = 0,
3883
+ /**
3884
+ * Carries `outcome_unknown_reason_code`, always.
3885
+ *
3886
+ * @generated from enum value: AGENT_RUN_OUTCOME_V1_UNKNOWN = 1;
3887
+ */
3888
+ UNKNOWN = 1,
3889
+ /**
3890
+ * At least one member span reported OK, none failed, no rule judged it badly.
3891
+ *
3892
+ * @generated from enum value: AGENT_RUN_OUTCOME_V1_SUCCEEDED = 2;
3893
+ */
3894
+ SUCCEEDED = 2,
3895
+ /**
3896
+ * Something recorded a fault without failing (`warned_span_count > 0`).
3897
+ *
3898
+ * @generated from enum value: AGENT_RUN_OUTCOME_V1_DEGRADED = 3;
3899
+ */
3900
+ DEGRADED = 3,
3901
+ /**
3902
+ * A member span reported an error status.
3903
+ *
3904
+ * @generated from enum value: AGENT_RUN_OUTCOME_V1_FAILED = 4;
3905
+ */
3906
+ FAILED = 4,
3907
+ /**
3908
+ * A production rule (§6, wave 39) returned a failing verdict over this run's
3909
+ * work. It OUTRANKS `_FAILED`, deliberately: the span plane knows whether the
3910
+ * machinery worked and the rule plane knows whether the work was acceptable,
3911
+ * and J2's operator arrived holding the second question.
3912
+ *
3913
+ * @generated from enum value: AGENT_RUN_OUTCOME_V1_POLICY_FAILED = 5;
3914
+ */
3915
+ POLICY_FAILED = 5
3916
+ }
3917
+ /**
3918
+ * Describes the enum o11y_one.agentic.v1.AgentRunOutcomeV1.
3919
+ */
3920
+ export declare const AgentRunOutcomeV1Schema: GenEnum<AgentRunOutcomeV1>;
3921
+ /**
3922
+ * Which input the derivation consulted, so "why does it say Failed" is returned
3923
+ * data rather than a frontend heuristic — `0b P7-3`'s rule for grouping
3924
+ * confidence, applied to the field beside it.
3925
+ *
3926
+ * @generated from enum o11y_one.agentic.v1.AgentRunOutcomeInputKindV1
3927
+ */
3928
+ export declare enum AgentRunOutcomeInputKindV1 {
3929
+ /**
3930
+ * @generated from enum value: AGENT_RUN_OUTCOME_INPUT_KIND_V1_UNSPECIFIED = 0;
3931
+ */
3932
+ UNSPECIFIED = 0,
3933
+ /**
3934
+ * @generated from enum value: AGENT_RUN_OUTCOME_INPUT_KIND_V1_CONVERSATION_COMPLETENESS = 1;
3935
+ */
3936
+ CONVERSATION_COMPLETENESS = 1,
3937
+ /**
3938
+ * @generated from enum value: AGENT_RUN_OUTCOME_INPUT_KIND_V1_PRODUCTION_RULE_VERDICT = 2;
3939
+ */
3940
+ PRODUCTION_RULE_VERDICT = 2,
3941
+ /**
3942
+ * @generated from enum value: AGENT_RUN_OUTCOME_INPUT_KIND_V1_MEMBER_SPAN_FAILURE = 3;
3943
+ */
3944
+ MEMBER_SPAN_FAILURE = 3,
3945
+ /**
3946
+ * @generated from enum value: AGENT_RUN_OUTCOME_INPUT_KIND_V1_MEMBER_SPAN_WARNING = 4;
3947
+ */
3948
+ MEMBER_SPAN_WARNING = 4,
3949
+ /**
3950
+ * @generated from enum value: AGENT_RUN_OUTCOME_INPUT_KIND_V1_MEMBER_SPAN_STATUS = 5;
3951
+ */
3952
+ MEMBER_SPAN_STATUS = 5
3953
+ }
3954
+ /**
3955
+ * Describes the enum o11y_one.agentic.v1.AgentRunOutcomeInputKindV1.
3956
+ */
3957
+ export declare const AgentRunOutcomeInputKindV1Schema: GenEnum<AgentRunOutcomeInputKindV1>;
3958
+ /**
3959
+ * J2 step 7 — "is this failure already covered?" (`BP:482`, A2 gap `G21`).
3960
+ *
3961
+ * `_UNKNOWN` IS A REAL VERDICT AND NEVER MEANS "NOT COVERED". `0b` §4.5 says so
3962
+ * in as many words, and the distinction is the whole value of the block: telling
3963
+ * an operator "not covered" about a run whose lineage this build cannot resolve
3964
+ * would send them to write a duplicate dataset case.
3965
+ *
3966
+ * @generated from enum o11y_one.agentic.v1.AgentRunCoverageVerdictV1
3967
+ */
3968
+ export declare enum AgentRunCoverageVerdictV1 {
3969
+ /**
3970
+ * @generated from enum value: AGENT_RUN_COVERAGE_VERDICT_V1_UNSPECIFIED = 0;
3971
+ */
3972
+ UNSPECIFIED = 0,
3973
+ /**
3974
+ * The lineage plane was asked and cannot answer for this run. Carries a reason.
3975
+ *
3976
+ * @generated from enum value: AGENT_RUN_COVERAGE_VERDICT_V1_UNKNOWN = 1;
3977
+ */
3978
+ UNKNOWN = 1,
3979
+ /**
3980
+ * Asked, answered, and nothing references any member trace.
3981
+ *
3982
+ * @generated from enum value: AGENT_RUN_COVERAGE_VERDICT_V1_NOT_COVERED = 2;
3983
+ */
3984
+ NOT_COVERED = 2,
3985
+ /**
3986
+ * A dataset case or draft names a member trace as its source.
3987
+ *
3988
+ * @generated from enum value: AGENT_RUN_COVERAGE_VERDICT_V1_COVERED_BY_DATASET = 3;
3989
+ */
3990
+ COVERED_BY_DATASET = 3,
3991
+ /**
3992
+ * ...and an evaluation run pinned one of those case revisions.
3993
+ *
3994
+ * @generated from enum value: AGENT_RUN_COVERAGE_VERDICT_V1_COVERED_BY_EVALUATION = 4;
3995
+ */
3996
+ COVERED_BY_EVALUATION = 4
3997
+ }
3998
+ /**
3999
+ * Describes the enum o11y_one.agentic.v1.AgentRunCoverageVerdictV1.
4000
+ */
4001
+ export declare const AgentRunCoverageVerdictV1Schema: GenEnum<AgentRunCoverageVerdictV1>;
4002
+ /**
4003
+ * `0b P7-15`, FROZEN. Three modes, and raw trace is not one of them.
4004
+ *
4005
+ * @generated from enum o11y_one.agentic.v1.AgentRunTimelineModeV1
4006
+ */
4007
+ export declare enum AgentRunTimelineModeV1 {
4008
+ /**
4009
+ * @generated from enum value: AGENT_RUN_TIMELINE_MODE_V1_UNSPECIFIED = 0;
4010
+ */
4011
+ UNSPECIFIED = 0,
4012
+ /**
4013
+ * Semantic operations grouped by agent and task (`BP:772`). The unfiltered
4014
+ * timeline: this mode never filters server-side and says so.
4015
+ *
4016
+ * @generated from enum value: AGENT_RUN_TIMELINE_MODE_V1_SUMMARY = 1;
4017
+ */
4018
+ SUMMARY = 1,
4019
+ /**
4020
+ * Failed/degraded work PLUS causal parents (`BP:773`). A failed tool call
4021
+ * without the model turn that issued it is a leaf with no story.
4022
+ *
4023
+ * @generated from enum value: AGENT_RUN_TIMELINE_MODE_V1_FAILURES_ONLY = 2;
4024
+ */
4025
+ FAILURES_ONLY = 2,
4026
+ /**
4027
+ * The work determining end-to-end latency (`BP:774`), computed by the trace
4028
+ * viewer's own `latest_finishing_child_chain_v1` so "critical" means one
4029
+ * thing across this product.
4030
+ *
4031
+ * @generated from enum value: AGENT_RUN_TIMELINE_MODE_V1_CRITICAL_PATH = 3;
4032
+ */
4033
+ CRITICAL_PATH = 3
4034
+ }
4035
+ /**
4036
+ * Describes the enum o11y_one.agentic.v1.AgentRunTimelineModeV1.
4037
+ */
4038
+ export declare const AgentRunTimelineModeV1Schema: GenEnum<AgentRunTimelineModeV1>;
4039
+ /**
4040
+ * The six event families this build has an ingest source for.
4041
+ *
4042
+ * A failure is a STATE on an event, not a kind: an errored tool call is
4043
+ * `..._TOOL` with `is_error`, so "how many tool calls did this run make?" stays
4044
+ * answerable from the kind alone. `..._ERROR` is for a span whose only semantic
4045
+ * is that something broke.
4046
+ *
4047
+ * @generated from enum o11y_one.agentic.v1.AgentRunEventKindV1
4048
+ */
4049
+ export declare enum AgentRunEventKindV1 {
4050
+ /**
4051
+ * @generated from enum value: AGENT_RUN_EVENT_KIND_V1_UNSPECIFIED = 0;
4052
+ */
4053
+ UNSPECIFIED = 0,
4054
+ /**
4055
+ * @generated from enum value: AGENT_RUN_EVENT_KIND_V1_MODEL = 1;
4056
+ */
4057
+ MODEL = 1,
4058
+ /**
4059
+ * @generated from enum value: AGENT_RUN_EVENT_KIND_V1_TOOL = 2;
4060
+ */
4061
+ TOOL = 2,
4062
+ /**
4063
+ * @generated from enum value: AGENT_RUN_EVENT_KIND_V1_RETRIEVAL = 3;
4064
+ */
4065
+ RETRIEVAL = 3,
4066
+ /**
4067
+ * @generated from enum value: AGENT_RUN_EVENT_KIND_V1_DOWNSTREAM = 4;
4068
+ */
4069
+ DOWNSTREAM = 4,
4070
+ /**
4071
+ * @generated from enum value: AGENT_RUN_EVENT_KIND_V1_ERROR = 5;
4072
+ */
4073
+ ERROR = 5,
4074
+ /**
4075
+ * @generated from enum value: AGENT_RUN_EVENT_KIND_V1_GENERIC = 6;
4076
+ */
4077
+ GENERIC = 6
4078
+ }
4079
+ /**
4080
+ * Describes the enum o11y_one.agentic.v1.AgentRunEventKindV1.
4081
+ */
4082
+ export declare const AgentRunEventKindV1Schema: GenEnum<AgentRunEventKindV1>;
4083
+ /**
4084
+ * `0b P7-16`. How a client applies an event it just received.
4085
+ *
4086
+ * @generated from enum o11y_one.agentic.v1.AgentRunEventDeliveryV1
4087
+ */
4088
+ export declare enum AgentRunEventDeliveryV1 {
4089
+ /**
4090
+ * @generated from enum value: AGENT_RUN_EVENT_DELIVERY_V1_UNSPECIFIED = 0;
4091
+ */
4092
+ UNSPECIFIED = 0,
4093
+ /**
4094
+ * New, after the cursor's position.
4095
+ *
4096
+ * @generated from enum value: AGENT_RUN_EVENT_DELIVERY_V1_APPEND = 1;
4097
+ */
4098
+ APPEND = 1,
4099
+ /**
4100
+ * At or before the cursor's position, re-emitted because the watermark moved.
4101
+ * Keyed by `event_id`; apply idempotently. Never a page reshuffle.
4102
+ *
4103
+ * @generated from enum value: AGENT_RUN_EVENT_DELIVERY_V1_UPSERT = 2;
4104
+ */
4105
+ UPSERT = 2
4106
+ }
4107
+ /**
4108
+ * Describes the enum o11y_one.agentic.v1.AgentRunEventDeliveryV1.
4109
+ */
4110
+ export declare const AgentRunEventDeliveryV1Schema: GenEnum<AgentRunEventDeliveryV1>;
4111
+ /**
4112
+ * Which spelling produced a normalized attribute (`PLAN:1720`, semconv registry
4113
+ * §6.8). A verdict a client groups by, not a hint.
4114
+ *
4115
+ * @generated from enum o11y_one.agentic.v1.AgentRunAttributeSourceV1
4116
+ */
4117
+ export declare enum AgentRunAttributeSourceV1 {
4118
+ /**
4119
+ * @generated from enum value: AGENT_RUN_ATTRIBUTE_SOURCE_V1_UNSPECIFIED = 0;
4120
+ */
4121
+ UNSPECIFIED = 0,
4122
+ /**
4123
+ * @generated from enum value: AGENT_RUN_ATTRIBUTE_SOURCE_V1_CANONICAL = 1;
4124
+ */
4125
+ CANONICAL = 1,
4126
+ /**
4127
+ * The deprecated `o11y.*` spelling. Every span in this build, until the
4128
+ * registry's `1C-5` rename lands the canonical columns.
4129
+ *
4130
+ * @generated from enum value: AGENT_RUN_ATTRIBUTE_SOURCE_V1_LEGACY_ALIAS = 2;
4131
+ */
4132
+ LEGACY_ALIAS = 2,
4133
+ /**
4134
+ * @generated from enum value: AGENT_RUN_ATTRIBUTE_SOURCE_V1_BOTH_EQUAL = 3;
4135
+ */
4136
+ BOTH_EQUAL = 3,
4137
+ /**
4138
+ * Both spellings, different values. Canonical wins and both are recorded.
4139
+ *
4140
+ * @generated from enum value: AGENT_RUN_ATTRIBUTE_SOURCE_V1_CONFLICT = 4;
4141
+ */
4142
+ CONFLICT = 4
4143
+ }
4144
+ /**
4145
+ * Describes the enum o11y_one.agentic.v1.AgentRunAttributeSourceV1.
4146
+ */
4147
+ export declare const AgentRunAttributeSourceV1Schema: GenEnum<AgentRunAttributeSourceV1>;
4148
+ /**
4149
+ * The trace viewer's read plane.
4150
+ *
4151
+ * Served by the process that holds `UnifiedTelemetryQueryEngine`, because span
4152
+ * rows are reachable through nothing else. Two RPCs, one bounded span scan
4153
+ * each, so a screen costs two scans rather than five.
4154
+ *
4155
+ * @generated from service o11y_one.agentic.v1.AgenticTraceViewService
4156
+ */
4157
+ export declare const AgenticTraceViewService: GenService<{
4158
+ /**
4159
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.GetAgentTraceDetail
4160
+ */
4161
+ getAgentTraceDetail: {
4162
+ methodKind: "unary";
4163
+ input: typeof GetAgentTraceDetailRequestSchema;
4164
+ output: typeof GetAgentTraceDetailResponseSchema;
4165
+ };
4166
+ /**
4167
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.ListAgentTraceSpans
4168
+ */
4169
+ listAgentTraceSpans: {
4170
+ methodKind: "unary";
4171
+ input: typeof ListAgentTraceSpansRequestSchema;
4172
+ output: typeof ListAgentTraceSpansResponseSchema;
4173
+ };
4174
+ /**
4175
+ * ---- end wave 41 lane A ----
4176
+ *
4177
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.ConfirmAgentRunGrouping
4178
+ */
4179
+ confirmAgentRunGrouping: {
4180
+ methodKind: "unary";
4181
+ input: typeof ConfirmAgentRunGroupingRequestSchema;
4182
+ output: typeof ConfirmAgentRunGroupingResponseSchema;
4183
+ };
4184
+ /**
4185
+ * ---- wave 41 lane B: summary index ----
4186
+ *
4187
+ * The Production > Agent runs list and the run header (`PLAN:491`).
4188
+ *
4189
+ * Both are served from the MAINTAINED projection (`P7-14`, `PLAN:1687`) and
4190
+ * neither touches the query engine: the index pass on the preparation worker
4191
+ * does the scanning, and `agent_trace_span_scans_issued()` not moving across
4192
+ * these two calls is how that is proved rather than asserted.
4193
+ *
4194
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.ListAgentRuns
4195
+ */
4196
+ listAgentRuns: {
4197
+ methodKind: "unary";
4198
+ input: typeof ListAgentRunsRequestSchema;
4199
+ output: typeof ListAgentRunsResponseSchema;
4200
+ };
4201
+ /**
4202
+ * W-V1-1 (D2). The `/traces` list, in two reads. It sits beside
4203
+ * `ListAgentRuns` because the two are the same screen at two altitudes —
4204
+ * every trace, and the runs those traces group into.
4205
+ *
4206
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.ListAgentTraces
4207
+ */
4208
+ listAgentTraces: {
4209
+ methodKind: "unary";
4210
+ input: typeof ListAgentTracesRequestSchema;
4211
+ output: typeof ListAgentTracesResponseSchema;
4212
+ };
4213
+ /**
4214
+ * W-V1-1 (D3). The trace sheet's and the agent-run screen's evidence graph,
4215
+ * built by the SAME builders the v1 verb now calls: the two arms moved here
4216
+ * rather than being copied, so the two services cannot answer differently
4217
+ * for the same scope while both exist.
4218
+ *
4219
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.GetAgentEvidenceGraph
4220
+ */
4221
+ getAgentEvidenceGraph: {
4222
+ methodKind: "unary";
4223
+ input: typeof GetAgentEvidenceGraphRequestSchema;
4224
+ output: typeof GetAgentEvidenceGraphResponseSchema;
4225
+ };
4226
+ /**
4227
+ * ---- end wave 41 lane B ----
4228
+ *
4229
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.GetAgentRun
4230
+ */
4231
+ getAgentRun: {
4232
+ methodKind: "unary";
4233
+ input: typeof GetAgentRunRequestSchema;
4234
+ output: typeof GetAgentRunResponseSchema;
4235
+ };
4236
+ /**
4237
+ * ---- wave 41 lane C: timeline ----
4238
+ *
4239
+ * The conversation timeline (`PLAN:492`) and the three external-artifact verbs
4240
+ * (`PLAN:495`-`:498`).
4241
+ *
4242
+ * They live on this service for the reason the file header already gives: span
4243
+ * rows are reachable only through `UnifiedTelemetryQueryEngine`, and a read
4244
+ * model over spans is a query-engine read model or it is nothing. The three
4245
+ * verbs join them because the timeline is where an artifact link is READ, and
4246
+ * splitting the write of a link from the read of it across two services would
4247
+ * make "the RPC fallback produces the identical typed read model"
4248
+ * (exit `:1733`) a claim about two codebases instead of one.
4249
+ *
4250
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.ListAgentRunEvents
4251
+ */
4252
+ listAgentRunEvents: {
4253
+ methodKind: "unary";
4254
+ input: typeof ListAgentRunEventsRequestSchema;
4255
+ output: typeof ListAgentRunEventsResponseSchema;
4256
+ };
4257
+ /**
4258
+ * `AL-9`/`AL-10`: for unavailable instrumentation, backfill, correction or
4259
+ * revocation ONLY — never the normal instrumentation path. `MUTATION_ACK`
4260
+ * class, authorized principal, one audit row per call, rate-limited as a write
4261
+ * surface. Request and response are `artifact.proto`'s, which minted them and
4262
+ * left the surface to "the increment that wires it".
4263
+ *
4264
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.LinkExternalArtifact
4265
+ */
4266
+ linkExternalArtifact: {
4267
+ methodKind: "unary";
4268
+ input: typeof LinkExternalArtifactRequestSchema;
4269
+ output: typeof LinkExternalArtifactResponseSchema;
4270
+ };
4271
+ /**
4272
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.RevokeExternalArtifactLink
4273
+ */
4274
+ revokeExternalArtifactLink: {
4275
+ methodKind: "unary";
4276
+ input: typeof RevokeExternalArtifactLinkRequestSchema;
4277
+ output: typeof RevokeExternalArtifactLinkResponseSchema;
4278
+ };
4279
+ /**
4280
+ * `AL-14`: one authorized, explicitly selected artifact. There is no batch
4281
+ * resolve, because a batch resolve is a fan-out with a nicer name.
4282
+ *
4283
+ * ---- end wave 41 lane C ----
4284
+ *
4285
+ * @generated from rpc o11y_one.agentic.v1.AgenticTraceViewService.ResolveExternalArtifactLink
4286
+ */
4287
+ resolveExternalArtifactLink: {
4288
+ methodKind: "unary";
4289
+ input: typeof ResolveExternalArtifactLinkRequestSchema;
4290
+ output: typeof ResolveExternalArtifactLinkResponseSchema;
4291
+ };
4292
+ }>;