@ancplua/qyl-api-schema 0.5.13 → 0.5.15

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.
@@ -24,6 +24,9 @@
24
24
  "description": "Attribute value"
25
25
  }
26
26
  },
27
+ "unevaluatedProperties": {
28
+ "not": {}
29
+ },
27
30
  "description": "Key-value attribute pair following OTel conventions"
28
31
  },
29
32
  "Common.AttributeBytesValue": {
@@ -44,6 +47,9 @@
44
47
  "contentEncoding": "base64"
45
48
  }
46
49
  },
50
+ "unevaluatedProperties": {
51
+ "not": {}
52
+ },
47
53
  "description": "Base64 bytes projected by qyl without colliding with an ordinary string attribute."
48
54
  },
49
55
  "Common.AttributeKeyValueListValue": {
@@ -98,6 +104,9 @@
98
104
  "description": "List of key-value attributes"
99
105
  }
100
106
  },
107
+ "unevaluatedProperties": {
108
+ "not": {}
109
+ },
101
110
  "description": "Collection of attributes"
102
111
  },
103
112
  "Common.ByteSize": {
@@ -197,6 +206,9 @@
197
206
  "description": "Stable dependency category; never contains raw exception text"
198
207
  }
199
208
  },
209
+ "unevaluatedProperties": {
210
+ "not": {}
211
+ },
200
212
  "allOf": [
201
213
  {
202
214
  "$ref": "#/$defs/Common.Errors.ProblemDetails"
@@ -221,6 +233,9 @@
221
233
  "description": "The conflicting resource ID"
222
234
  }
223
235
  },
236
+ "unevaluatedProperties": {
237
+ "not": {}
238
+ },
224
239
  "allOf": [
225
240
  {
226
241
  "$ref": "#/$defs/Common.Errors.ProblemDetails"
@@ -245,6 +260,9 @@
245
260
  "description": "Required permission that is missing"
246
261
  }
247
262
  },
263
+ "unevaluatedProperties": {
264
+ "not": {}
265
+ },
248
266
  "allOf": [
249
267
  {
250
268
  "$ref": "#/$defs/Common.Errors.ProblemDetails"
@@ -269,6 +287,9 @@
269
287
  "description": "Error code for support reference"
270
288
  }
271
289
  },
290
+ "unevaluatedProperties": {
291
+ "not": {}
292
+ },
272
293
  "allOf": [
273
294
  {
274
295
  "$ref": "#/$defs/Common.Errors.ProblemDetails"
@@ -297,6 +318,9 @@
297
318
  "description": "The identifier that was not found"
298
319
  }
299
320
  },
321
+ "unevaluatedProperties": {
322
+ "not": {}
323
+ },
300
324
  "allOf": [
301
325
  {
302
326
  "$ref": "#/$defs/Common.Errors.ProblemDetails"
@@ -357,6 +381,9 @@
357
381
  ]
358
382
  }
359
383
  },
384
+ "unevaluatedProperties": {
385
+ "not": {}
386
+ },
360
387
  "allOf": [
361
388
  {
362
389
  "$ref": "#/$defs/Common.Errors.ProblemDetails"
@@ -386,6 +413,9 @@
386
413
  "description": "Reason for unavailability"
387
414
  }
388
415
  },
416
+ "unevaluatedProperties": {
417
+ "not": {}
418
+ },
389
419
  "allOf": [
390
420
  {
391
421
  "$ref": "#/$defs/Common.Errors.ProblemDetails"
@@ -406,6 +436,9 @@
406
436
  ]
407
437
  }
408
438
  },
439
+ "unevaluatedProperties": {
440
+ "not": {}
441
+ },
409
442
  "allOf": [
410
443
  {
411
444
  "$ref": "#/$defs/Common.Errors.ProblemDetails"
@@ -434,6 +467,9 @@
434
467
  "description": "List of validation errors"
435
468
  }
436
469
  },
470
+ "unevaluatedProperties": {
471
+ "not": {}
472
+ },
437
473
  "allOf": [
438
474
  {
439
475
  "$ref": "#/$defs/Common.Errors.ProblemDetails"
@@ -466,6 +502,9 @@
466
502
  "description": "The rejected value (if safe to include)"
467
503
  }
468
504
  },
505
+ "unevaluatedProperties": {
506
+ "not": {}
507
+ },
469
508
  "description": "Individual validation error detail"
470
509
  },
471
510
  "Common.HttpMethod": {
@@ -524,6 +563,9 @@
524
563
  "description": "Dropped attributes count"
525
564
  }
526
565
  },
566
+ "unevaluatedProperties": {
567
+ "not": {}
568
+ },
527
569
  "description": "Instrumentation scope identifying the library/component emitting telemetry"
528
570
  },
529
571
  "Common.IpAddress": {
@@ -575,6 +617,9 @@
575
617
  "description": "Filter expression"
576
618
  }
577
619
  },
620
+ "unevaluatedProperties": {
621
+ "not": {}
622
+ },
578
623
  "description": "Aggregation query parameters"
579
624
  },
580
625
  "Common.Pagination.CursorPaginationParams": {
@@ -602,6 +647,9 @@
602
647
  "default": "desc"
603
648
  }
604
649
  },
650
+ "unevaluatedProperties": {
651
+ "not": {}
652
+ },
605
653
  "description": "Cursor-based pagination parameters"
606
654
  },
607
655
  "Common.Pagination.OffsetPaginationParams": {
@@ -623,6 +671,9 @@
623
671
  "default": 100
624
672
  }
625
673
  },
674
+ "unevaluatedProperties": {
675
+ "not": {}
676
+ },
626
677
  "description": "Offset-based pagination parameters"
627
678
  },
628
679
  "Common.Pagination.SortOrder": {
@@ -658,6 +709,9 @@
658
709
  "default": 100
659
710
  }
660
711
  },
712
+ "unevaluatedProperties": {
713
+ "not": {}
714
+ },
661
715
  "description": "Streaming parameters for SSE endpoints"
662
716
  },
663
717
  "Common.Pagination.TimeBucket": {
@@ -695,6 +749,9 @@
695
749
  "default": 1000
696
750
  }
697
751
  },
752
+ "unevaluatedProperties": {
753
+ "not": {}
754
+ },
698
755
  "description": "Time-range based query parameters"
699
756
  },
700
757
  "Common.Percentage": {
@@ -860,9 +917,10 @@
860
917
  "error_rate",
861
918
  "average_latency_ms",
862
919
  "p95_latency_ms",
863
- "cost_attribution",
920
+ "catalog_token_estimate",
921
+ "candidate_status",
864
922
  "candidate_path",
865
- "validation_metric",
923
+ "validation_metrics",
866
924
  "residual_path",
867
925
  "evidence_signals",
868
926
  "missing_evidence",
@@ -929,49 +987,48 @@
929
987
  "p95_latency_ms": {
930
988
  "$ref": "#/$defs/Common.DurationMs"
931
989
  },
932
- "observed_cost_usd": {
990
+ "catalog_token_estimate": {
933
991
  "allOf": [
934
992
  {
935
- "$ref": "#/$defs/Common.CostUsd"
993
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenCostEstimate"
936
994
  }
937
995
  ],
938
- "description": "Provider-sourced cost attributable to this cluster, absent when attribution is not defensible."
939
- },
940
- "cost_per_call_usd": {
941
- "$ref": "#/$defs/Common.CostUsd"
942
- },
943
- "cost_attribution": {
944
- "$ref": "#/$defs/Cost.ProviderCostAttribution"
996
+ "description": "Outcome and, when calculated, detailed current-catalog token-and-request estimate for this cluster. Aggregate provider billing is never attributed to a cluster."
945
997
  },
946
- "spend_share": {
998
+ "measurable_coverage": {
947
999
  "allOf": [
948
1000
  {
949
1001
  "$ref": "#/$defs/Common.Ratio"
950
1002
  }
951
1003
  ],
952
- "description": "Fraction of attributable spend represented by this cluster."
1004
+ "description": "Fraction of calls with a task-specific correctness signal."
953
1005
  },
954
- "measurable_coverage": {
1006
+ "safe_deferral_coverage": {
955
1007
  "allOf": [
956
1008
  {
957
1009
  "$ref": "#/$defs/Common.Ratio"
958
1010
  }
959
1011
  ],
960
- "description": "Fraction of calls with a task-specific correctness signal."
1012
+ "description": "Fraction of calls proven safe to route to a residual path."
961
1013
  },
962
- "safe_deferral_coverage": {
1014
+ "candidate_status": {
963
1015
  "allOf": [
964
1016
  {
965
- "$ref": "#/$defs/Common.Ratio"
1017
+ "$ref": "#/$defs/Cost.GenAiEtlCandidateStatus"
966
1018
  }
967
1019
  ],
968
- "description": "Fraction of calls proven safe to route to a residual path."
1020
+ "description": "Evidence status qualifying the proposed candidate path."
969
1021
  },
970
1022
  "candidate_path": {
971
1023
  "$ref": "#/$defs/Cost.GenAiEtlCandidatePath"
972
1024
  },
973
- "validation_metric": {
974
- "$ref": "#/$defs/Cost.GenAiEtlValidationMetric"
1025
+ "validation_metrics": {
1026
+ "type": "array",
1027
+ "items": {
1028
+ "$ref": "#/$defs/Cost.GenAiEtlValidationMetric"
1029
+ },
1030
+ "minItems": 1,
1031
+ "description": "Task-specific metrics required to falsify the proposed replacement."
975
1032
  },
976
1033
  "residual_path": {
977
1034
  "$ref": "#/$defs/Cost.GenAiEtlResidualPath"
@@ -995,6 +1052,9 @@
995
1052
  }
996
1053
  }
997
1054
  },
1055
+ "unevaluatedProperties": {
1056
+ "not": {}
1057
+ },
998
1058
  "description": "Observed economics and evidence for one repeated GenAI workflow cluster."
999
1059
  },
1000
1060
  "Cost.GenAiEtlAuditEvaluationRequest": {
@@ -1012,6 +1072,9 @@
1012
1072
  "maxItems": 100
1013
1073
  }
1014
1074
  },
1075
+ "unevaluatedProperties": {
1076
+ "not": {}
1077
+ },
1015
1078
  "description": "Batch of cluster scenarios evaluated against one audit period."
1016
1079
  },
1017
1080
  "Cost.GenAiEtlAuditEvaluationResponse": {
@@ -1042,6 +1105,9 @@
1042
1105
  }
1043
1106
  }
1044
1107
  },
1108
+ "unevaluatedProperties": {
1109
+ "not": {}
1110
+ },
1045
1111
  "description": "Batch result for ETL replacement scenarios."
1046
1112
  },
1047
1113
  "Cost.GenAiEtlAuditReport": {
@@ -1051,7 +1117,8 @@
1051
1117
  "period_start",
1052
1118
  "period_end",
1053
1119
  "summary",
1054
- "cost_sources",
1120
+ "billing_sources",
1121
+ "catalog_sources",
1055
1122
  "clusters"
1056
1123
  ],
1057
1124
  "properties": {
@@ -1070,11 +1137,19 @@
1070
1137
  "summary": {
1071
1138
  "$ref": "#/$defs/Cost.GenAiEtlAuditSummary"
1072
1139
  },
1073
- "cost_sources": {
1140
+ "billing_sources": {
1074
1141
  "type": "array",
1075
1142
  "items": {
1076
- "$ref": "#/$defs/Cost.ProviderCostSource"
1077
- }
1143
+ "$ref": "#/$defs/Cost.ProviderBillingSource"
1144
+ },
1145
+ "description": "Provider-owned aggregate billing sources. These totals are not attributed to clusters or used as evaluation baselines."
1146
+ },
1147
+ "catalog_sources": {
1148
+ "type": "array",
1149
+ "items": {
1150
+ "$ref": "#/$defs/Cost.ModelCatalogSource"
1151
+ },
1152
+ "description": "Configured live model catalog sources and their current synchronization state."
1078
1153
  },
1079
1154
  "clusters": {
1080
1155
  "type": "array",
@@ -1083,6 +1158,9 @@
1083
1158
  }
1084
1159
  }
1085
1160
  },
1161
+ "unevaluatedProperties": {
1162
+ "not": {}
1163
+ },
1086
1164
  "description": "Trace-level ETL audit for a bounded period."
1087
1165
  },
1088
1166
  "Cost.GenAiEtlAuditSummary": {
@@ -1091,7 +1169,7 @@
1091
1169
  "total_calls",
1092
1170
  "total_input_tokens",
1093
1171
  "total_output_tokens",
1094
- "priced_call_coverage"
1172
+ "catalog_token_priced_call_coverage"
1095
1173
  ],
1096
1174
  "properties": {
1097
1175
  "total_calls": {
@@ -1103,29 +1181,29 @@
1103
1181
  "total_output_tokens": {
1104
1182
  "$ref": "#/$defs/Common.TokenCount"
1105
1183
  },
1106
- "attributed_cost_usd": {
1184
+ "estimated_catalog_token_cost_usd": {
1107
1185
  "allOf": [
1108
1186
  {
1109
1187
  "$ref": "#/$defs/Common.CostUsd"
1110
1188
  }
1111
1189
  ],
1112
- "description": "Provider-sourced cost attributable to the returned trace population."
1190
+ "description": "Counterfactual token and request cost of the full observed audit population before the cluster response limit is applied, using the current live catalog snapshot; this is not an official billed total or a historical price claim."
1113
1191
  },
1114
- "priced_call_coverage": {
1192
+ "catalog_token_priced_call_coverage": {
1115
1193
  "allOf": [
1116
1194
  {
1117
1195
  "$ref": "#/$defs/Common.Ratio"
1118
1196
  }
1119
1197
  ],
1120
- "description": "Fraction of calls covered by provider cost attribution."
1198
+ "description": "Fraction of observed calls covered by all-or-nothing calculated token-and-request estimates; missing pricing is not treated as zero."
1121
1199
  },
1122
- "economic_concentration": {
1200
+ "estimated_token_economic_concentration": {
1123
1201
  "allOf": [
1124
1202
  {
1125
1203
  "$ref": "#/$defs/Common.Ratio"
1126
1204
  }
1127
1205
  ],
1128
- "description": "Fraction of attributable spend represented by the returned top clusters."
1206
+ "description": "Returned top-cluster token-and-request estimate divided by estimated_catalog_token_cost_usd for the full observed audit population."
1129
1207
  },
1130
1208
  "measurable_coverage": {
1131
1209
  "allOf": [
@@ -1143,82 +1221,39 @@
1143
1221
  ],
1144
1222
  "description": "Fraction of calls proven safe to defer to a residual path."
1145
1223
  },
1146
- "candidate_etl_spend_share": {
1224
+ "candidate_etl_estimated_token_spend_share": {
1147
1225
  "allOf": [
1148
1226
  {
1149
1227
  "$ref": "#/$defs/Common.Ratio"
1150
1228
  }
1151
1229
  ],
1152
- "description": "Fraction of attributable spend attached to ETL-shaped candidates."
1230
+ "description": "Fraction of estimated current-catalog token-and-request spend attached to ETL-shaped candidates."
1153
1231
  }
1154
1232
  },
1233
+ "unevaluatedProperties": {
1234
+ "not": {}
1235
+ },
1155
1236
  "description": "Aggregate trace-level economics for the requested audit period."
1156
1237
  },
1157
- "Cost.GenAiEtlCalculationStatus": {
1158
- "type": "string",
1159
- "enum": [
1160
- "calculated",
1161
- "missing_frontier_cost"
1162
- ],
1163
- "description": "Whether the replaceable-value formula had a defensible baseline cost."
1164
- },
1165
- "Cost.GenAiEtlCandidatePath": {
1166
- "type": "string",
1167
- "enum": [
1168
- "exact_cache",
1169
- "deterministic_code",
1170
- "bounded_retrieval",
1171
- "small_classifier_extractor",
1172
- "smaller_generative_model",
1173
- "frontier_model",
1174
- "insufficient_evidence"
1175
- ],
1176
- "description": "Lowest-risk implementation class suggested by currently available evidence."
1177
- },
1178
- "Cost.GenAiEtlClusterEvaluation": {
1238
+ "Cost.GenAiEtlCalculatedClusterEvaluationBase": {
1179
1239
  "type": "object",
1180
1240
  "required": [
1181
- "cluster_id",
1182
1241
  "status",
1183
- "call_count",
1184
- "coverage",
1185
- "served_call_count",
1186
- "residual_call_count",
1187
- "frontier_cost_basis",
1188
- "alternative_cost_per_call_usd",
1189
- "period_maintenance_cost_usd",
1190
- "period_error_cost_usd"
1242
+ "frontier_cost_per_call_usd",
1243
+ "current_period_cost_usd",
1244
+ "gross_replaceable_value_usd",
1245
+ "net_replaceable_value_usd"
1191
1246
  ],
1192
1247
  "properties": {
1193
- "cluster_id": {
1194
- "type": "string"
1195
- },
1196
1248
  "status": {
1197
- "$ref": "#/$defs/Cost.GenAiEtlCalculationStatus"
1198
- },
1199
- "call_count": {
1200
- "$ref": "#/$defs/Common.Count"
1201
- },
1202
- "coverage": {
1203
- "$ref": "#/$defs/Common.Ratio"
1204
- },
1205
- "served_call_count": {
1206
- "type": "number",
1207
- "format": "double"
1208
- },
1209
- "residual_call_count": {
1210
- "type": "number",
1211
- "format": "double"
1249
+ "type": "string",
1250
+ "enum": [
1251
+ "calculated"
1252
+ ]
1212
1253
  },
1213
1254
  "frontier_cost_per_call_usd": {
1214
1255
  "$ref": "#/$defs/Common.CostUsd"
1215
1256
  },
1216
- "frontier_cost_basis": {
1217
- "$ref": "#/$defs/Cost.ProviderCostAttribution"
1218
- },
1219
- "alternative_cost_per_call_usd": {
1220
- "$ref": "#/$defs/Common.CostUsd"
1221
- },
1222
1257
  "current_period_cost_usd": {
1223
1258
  "$ref": "#/$defs/Common.CostUsd"
1224
1259
  },
@@ -1226,198 +1261,1477 @@
1226
1261
  "type": "number",
1227
1262
  "format": "double"
1228
1263
  },
1229
- "period_maintenance_cost_usd": {
1230
- "$ref": "#/$defs/Common.CostUsd"
1231
- },
1232
- "period_error_cost_usd": {
1233
- "$ref": "#/$defs/Common.CostUsd"
1234
- },
1235
1264
  "net_replaceable_value_usd": {
1236
1265
  "type": "number",
1237
1266
  "format": "double",
1238
1267
  "description": "Net period value; this may be negative when maintenance or error cost exceeds gross savings."
1239
1268
  }
1240
1269
  },
1241
- "description": "Result of replaceable_value = calls * coverage * (frontier - alternative) - maintenance - error."
1270
+ "allOf": [
1271
+ {
1272
+ "$ref": "#/$defs/Cost.GenAiEtlClusterEvaluationBase"
1273
+ }
1274
+ ]
1242
1275
  },
1243
- "Cost.GenAiEtlClusterScenario": {
1276
+ "Cost.GenAiEtlCandidatePath": {
1277
+ "type": "string",
1278
+ "enum": [
1279
+ "exact_cache",
1280
+ "deterministic_code",
1281
+ "bounded_retrieval",
1282
+ "small_classifier_extractor",
1283
+ "smaller_generative_model",
1284
+ "frontier_model",
1285
+ "insufficient_evidence"
1286
+ ],
1287
+ "description": "Lowest-risk implementation class suggested by currently available evidence."
1288
+ },
1289
+ "Cost.GenAiEtlCandidateStatus": {
1290
+ "type": "string",
1291
+ "enum": [
1292
+ "hypothesis_only",
1293
+ "insufficient_evidence"
1294
+ ],
1295
+ "description": "Evidence status of the proposed replacement path."
1296
+ },
1297
+ "Cost.GenAiEtlCatalogTokenAmbiguousModelEstimate": {
1244
1298
  "type": "object",
1245
1299
  "required": [
1246
- "cluster_id",
1247
- "coverage",
1248
- "alternative_cost_per_call_usd",
1249
- "period_maintenance_cost_usd",
1250
- "period_error_cost_usd"
1300
+ "status"
1251
1301
  ],
1252
1302
  "properties": {
1253
- "cluster_id": {
1254
- "type": "string"
1303
+ "status": {
1304
+ "type": "string",
1305
+ "enum": [
1306
+ "ambiguous_model"
1307
+ ]
1308
+ }
1309
+ },
1310
+ "unevaluatedProperties": {
1311
+ "not": {}
1312
+ },
1313
+ "allOf": [
1314
+ {
1315
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenEstimateFailureBase"
1316
+ }
1317
+ ]
1318
+ },
1319
+ "Cost.GenAiEtlCatalogTokenCalculatedEstimate": {
1320
+ "type": "object",
1321
+ "required": [
1322
+ "status",
1323
+ "estimated_catalog_token_cost_usd",
1324
+ "estimated_catalog_token_cost_per_call_usd",
1325
+ "provenance",
1326
+ "components"
1327
+ ],
1328
+ "properties": {
1329
+ "status": {
1330
+ "type": "string",
1331
+ "enum": [
1332
+ "calculated"
1333
+ ]
1255
1334
  },
1256
- "coverage": {
1335
+ "estimated_catalog_token_cost_usd": {
1257
1336
  "allOf": [
1258
1337
  {
1259
- "$ref": "#/$defs/Common.Ratio"
1338
+ "$ref": "#/$defs/Common.CostUsd"
1260
1339
  }
1261
1340
  ],
1262
- "description": "Fraction of cluster calls the replacement is expected to serve safely."
1341
+ "description": "Estimated token and request cost for the reported cluster period using the current catalog snapshot; this is counterfactual for historical periods and is not an official billed total."
1263
1342
  },
1264
- "frontier_cost_per_call_usd": {
1343
+ "estimated_catalog_token_cost_per_call_usd": {
1265
1344
  "allOf": [
1266
1345
  {
1267
1346
  "$ref": "#/$defs/Common.CostUsd"
1268
1347
  }
1269
1348
  ],
1270
- "description": "Explicit baseline cost per call. When absent, qyl uses provider-attributed cluster cost and otherwise fails closed."
1349
+ "description": "Estimated token and request cost per observed cluster call; this is not an official billed total."
1271
1350
  },
1272
- "alternative_cost_per_call_usd": {
1273
- "$ref": "#/$defs/Common.CostUsd"
1351
+ "provenance": {
1352
+ "allOf": [
1353
+ {
1354
+ "$ref": "#/$defs/Cost.ModelCatalogPriceProvenance"
1355
+ }
1356
+ ],
1357
+ "description": "Exact catalog snapshot and model-match evidence."
1274
1358
  },
1275
- "period_maintenance_cost_usd": {
1276
- "$ref": "#/$defs/Common.CostUsd"
1359
+ "components": {
1360
+ "type": "array",
1361
+ "items": {
1362
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateComponent"
1363
+ },
1364
+ "minItems": 1,
1365
+ "description": "Included token or request usage and rate contributions. Ordered source overrides carry conditional evidence; ordinary inclusive subtype replacements do not require it."
1277
1366
  },
1278
- "period_error_cost_usd": {
1279
- "$ref": "#/$defs/Common.CostUsd"
1367
+ "exclusions": {
1368
+ "type": "array",
1369
+ "items": {
1370
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateExclusion"
1371
+ },
1372
+ "minItems": 1,
1373
+ "description": "Meters or conditional adjustments explicitly omitted from this calculated estimate."
1280
1374
  }
1281
1375
  },
1282
- "description": "What-if assumptions for one workflow cluster over the requested period."
1283
- },
1284
- "Cost.GenAiEtlEvidenceSignal": {
1285
- "type": "string",
1286
- "enum": [
1287
- "workflow_identity",
1288
- "output_contract",
1289
- "provider_model",
1290
- "token_usage",
1291
- "provider_cost",
1292
- "recurring_schema",
1293
- "bounded_reference",
1294
- "task_metric",
1295
- "accepted_output_replay",
1296
- "downstream_fate",
1297
- "calibrated_confidence",
1298
- "shadow_comparison",
1299
- "fallback_policy"
1300
- ],
1301
- "description": "Observable evidence needed to promote an inferred replacement safely."
1302
- },
1303
- "Cost.GenAiEtlOutputContract": {
1304
- "type": "string",
1305
- "enum": [
1306
- "prose",
1307
- "label",
1308
- "span_list",
1309
- "record",
1310
- "vector",
1311
- "catalog_reference",
1312
- "number",
1313
- "boolean",
1314
- "unknown"
1315
- ],
1316
- "description": "Machine-readable output contract inferred for a workflow cluster."
1376
+ "unevaluatedProperties": {
1377
+ "not": {}
1378
+ },
1379
+ "description": "Calculated all-or-nothing current-catalog token and request estimate for a complete workflow cluster."
1317
1380
  },
1318
- "Cost.GenAiEtlPromotionGate": {
1381
+ "Cost.GenAiEtlCatalogTokenClusterEvaluation": {
1319
1382
  "type": "object",
1320
1383
  "required": [
1321
- "gate",
1322
- "state"
1384
+ "frontier_cost_basis",
1385
+ "catalog_provenance"
1323
1386
  ],
1324
1387
  "properties": {
1325
- "gate": {
1326
- "$ref": "#/$defs/Cost.GenAiEtlPromotionGateKind"
1327
- },
1328
- "state": {
1329
- "$ref": "#/$defs/Cost.GenAiEtlPromotionGateState"
1330
- },
1331
- "reason": {
1388
+ "frontier_cost_basis": {
1332
1389
  "type": "string",
1333
- "description": "Stable evidence code explaining the current gate state."
1334
- }
1335
- },
1390
+ "enum": [
1391
+ "catalog_token_estimate"
1392
+ ]
1393
+ },
1394
+ "catalog_provenance": {
1395
+ "allOf": [
1396
+ {
1397
+ "$ref": "#/$defs/Cost.ModelCatalogPriceProvenance"
1398
+ }
1399
+ ],
1400
+ "description": "Exact live-catalog snapshot and model-match evidence used for the calculated frontier cost."
1401
+ }
1402
+ },
1403
+ "unevaluatedProperties": {
1404
+ "not": {}
1405
+ },
1406
+ "allOf": [
1407
+ {
1408
+ "$ref": "#/$defs/Cost.GenAiEtlCalculatedClusterEvaluationBase"
1409
+ }
1410
+ ]
1411
+ },
1412
+ "Cost.GenAiEtlCatalogTokenConditionalPricingUnresolvableEstimate": {
1413
+ "type": "object",
1414
+ "required": [
1415
+ "status"
1416
+ ],
1417
+ "properties": {
1418
+ "status": {
1419
+ "type": "string",
1420
+ "enum": [
1421
+ "conditional_pricing_unresolvable"
1422
+ ]
1423
+ }
1424
+ },
1425
+ "unevaluatedProperties": {
1426
+ "not": {}
1427
+ },
1428
+ "allOf": [
1429
+ {
1430
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenEstimateFailureBase"
1431
+ }
1432
+ ]
1433
+ },
1434
+ "Cost.GenAiEtlCatalogTokenCostEstimate": {
1435
+ "oneOf": [
1436
+ {
1437
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenCalculatedEstimate"
1438
+ },
1439
+ {
1440
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenSourceUnavailableEstimate"
1441
+ },
1442
+ {
1443
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenStaleSourceEstimate"
1444
+ },
1445
+ {
1446
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenMissingModelIdentityEstimate"
1447
+ },
1448
+ {
1449
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenModelNotFoundEstimate"
1450
+ },
1451
+ {
1452
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenAmbiguousModelEstimate"
1453
+ },
1454
+ {
1455
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenIncompleteUsageEstimate"
1456
+ },
1457
+ {
1458
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenConditionalPricingUnresolvableEstimate"
1459
+ },
1460
+ {
1461
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenUnsupportedPricingEstimate"
1462
+ }
1463
+ ],
1464
+ "description": "All-or-nothing current-catalog token and request estimate. The status literal selects the complete calculated or fail-closed response shape."
1465
+ },
1466
+ "Cost.GenAiEtlCatalogTokenEstimateFailureBase": {
1467
+ "type": "object",
1468
+ "properties": {
1469
+ "exclusions": {
1470
+ "type": "array",
1471
+ "items": {
1472
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateExclusion"
1473
+ },
1474
+ "minItems": 1,
1475
+ "description": "Available meter or conditional evidence explaining why the cluster estimate failed closed."
1476
+ }
1477
+ }
1478
+ },
1479
+ "Cost.GenAiEtlCatalogTokenIncompleteUsageEstimate": {
1480
+ "type": "object",
1481
+ "required": [
1482
+ "status"
1483
+ ],
1484
+ "properties": {
1485
+ "status": {
1486
+ "type": "string",
1487
+ "enum": [
1488
+ "incomplete_usage"
1489
+ ]
1490
+ }
1491
+ },
1492
+ "unevaluatedProperties": {
1493
+ "not": {}
1494
+ },
1495
+ "allOf": [
1496
+ {
1497
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenEstimateFailureBase"
1498
+ }
1499
+ ]
1500
+ },
1501
+ "Cost.GenAiEtlCatalogTokenMissingModelIdentityEstimate": {
1502
+ "type": "object",
1503
+ "required": [
1504
+ "status"
1505
+ ],
1506
+ "properties": {
1507
+ "status": {
1508
+ "type": "string",
1509
+ "enum": [
1510
+ "missing_model_identity"
1511
+ ]
1512
+ }
1513
+ },
1514
+ "unevaluatedProperties": {
1515
+ "not": {}
1516
+ },
1517
+ "allOf": [
1518
+ {
1519
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenEstimateFailureBase"
1520
+ }
1521
+ ]
1522
+ },
1523
+ "Cost.GenAiEtlCatalogTokenModelNotFoundEstimate": {
1524
+ "type": "object",
1525
+ "required": [
1526
+ "status"
1527
+ ],
1528
+ "properties": {
1529
+ "status": {
1530
+ "type": "string",
1531
+ "enum": [
1532
+ "model_not_found"
1533
+ ]
1534
+ }
1535
+ },
1536
+ "unevaluatedProperties": {
1537
+ "not": {}
1538
+ },
1539
+ "allOf": [
1540
+ {
1541
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenEstimateFailureBase"
1542
+ }
1543
+ ]
1544
+ },
1545
+ "Cost.GenAiEtlCatalogTokenSourceUnavailableEstimate": {
1546
+ "type": "object",
1547
+ "required": [
1548
+ "status"
1549
+ ],
1550
+ "properties": {
1551
+ "status": {
1552
+ "type": "string",
1553
+ "enum": [
1554
+ "source_unavailable"
1555
+ ]
1556
+ }
1557
+ },
1558
+ "unevaluatedProperties": {
1559
+ "not": {}
1560
+ },
1561
+ "allOf": [
1562
+ {
1563
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenEstimateFailureBase"
1564
+ }
1565
+ ]
1566
+ },
1567
+ "Cost.GenAiEtlCatalogTokenStaleSourceEstimate": {
1568
+ "type": "object",
1569
+ "required": [
1570
+ "status"
1571
+ ],
1572
+ "properties": {
1573
+ "status": {
1574
+ "type": "string",
1575
+ "enum": [
1576
+ "stale_source"
1577
+ ]
1578
+ }
1579
+ },
1580
+ "unevaluatedProperties": {
1581
+ "not": {}
1582
+ },
1583
+ "allOf": [
1584
+ {
1585
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenEstimateFailureBase"
1586
+ }
1587
+ ]
1588
+ },
1589
+ "Cost.GenAiEtlCatalogTokenUnsupportedPricingEstimate": {
1590
+ "type": "object",
1591
+ "required": [
1592
+ "status"
1593
+ ],
1594
+ "properties": {
1595
+ "status": {
1596
+ "type": "string",
1597
+ "enum": [
1598
+ "unsupported_pricing"
1599
+ ]
1600
+ }
1601
+ },
1602
+ "unevaluatedProperties": {
1603
+ "not": {}
1604
+ },
1605
+ "allOf": [
1606
+ {
1607
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenEstimateFailureBase"
1608
+ }
1609
+ ]
1610
+ },
1611
+ "Cost.GenAiEtlClusterEvaluation": {
1612
+ "oneOf": [
1613
+ {
1614
+ "$ref": "#/$defs/Cost.GenAiEtlScenarioClusterEvaluation"
1615
+ },
1616
+ {
1617
+ "$ref": "#/$defs/Cost.GenAiEtlCatalogTokenClusterEvaluation"
1618
+ },
1619
+ {
1620
+ "$ref": "#/$defs/Cost.GenAiEtlUnavailableClusterEvaluation"
1621
+ }
1622
+ ],
1623
+ "description": "Result of replaceable_value = calls * coverage * (frontier - alternative) - maintenance - error. The frontier_cost_basis literal selects a complete calculated result or a fail-closed unavailable result."
1624
+ },
1625
+ "Cost.GenAiEtlClusterEvaluationBase": {
1626
+ "type": "object",
1627
+ "required": [
1628
+ "cluster_id",
1629
+ "call_count",
1630
+ "coverage",
1631
+ "served_call_count",
1632
+ "residual_call_count",
1633
+ "alternative_cost_per_call_usd",
1634
+ "period_maintenance_cost_usd",
1635
+ "period_error_cost_usd"
1636
+ ],
1637
+ "properties": {
1638
+ "cluster_id": {
1639
+ "type": "string"
1640
+ },
1641
+ "call_count": {
1642
+ "$ref": "#/$defs/Common.Count"
1643
+ },
1644
+ "coverage": {
1645
+ "$ref": "#/$defs/Common.Ratio"
1646
+ },
1647
+ "served_call_count": {
1648
+ "type": "number",
1649
+ "format": "double"
1650
+ },
1651
+ "residual_call_count": {
1652
+ "type": "number",
1653
+ "format": "double"
1654
+ },
1655
+ "alternative_cost_per_call_usd": {
1656
+ "$ref": "#/$defs/Common.CostUsd"
1657
+ },
1658
+ "period_maintenance_cost_usd": {
1659
+ "$ref": "#/$defs/Common.CostUsd"
1660
+ },
1661
+ "period_error_cost_usd": {
1662
+ "$ref": "#/$defs/Common.CostUsd"
1663
+ }
1664
+ }
1665
+ },
1666
+ "Cost.GenAiEtlClusterScenario": {
1667
+ "type": "object",
1668
+ "required": [
1669
+ "cluster_id",
1670
+ "coverage",
1671
+ "alternative_cost_per_call_usd",
1672
+ "period_maintenance_cost_usd",
1673
+ "period_error_cost_usd"
1674
+ ],
1675
+ "properties": {
1676
+ "cluster_id": {
1677
+ "type": "string"
1678
+ },
1679
+ "coverage": {
1680
+ "allOf": [
1681
+ {
1682
+ "$ref": "#/$defs/Common.Ratio"
1683
+ }
1684
+ ],
1685
+ "description": "Fraction of cluster calls the replacement is expected to serve safely."
1686
+ },
1687
+ "frontier_cost_per_call_usd": {
1688
+ "allOf": [
1689
+ {
1690
+ "$ref": "#/$defs/Common.CostUsd"
1691
+ }
1692
+ ],
1693
+ "description": "Explicit scenario baseline cost per call. It wins over a calculated catalog estimate; when both are absent, evaluation fails closed."
1694
+ },
1695
+ "alternative_cost_per_call_usd": {
1696
+ "$ref": "#/$defs/Common.CostUsd"
1697
+ },
1698
+ "period_maintenance_cost_usd": {
1699
+ "$ref": "#/$defs/Common.CostUsd"
1700
+ },
1701
+ "period_error_cost_usd": {
1702
+ "$ref": "#/$defs/Common.CostUsd"
1703
+ }
1704
+ },
1705
+ "unevaluatedProperties": {
1706
+ "not": {}
1707
+ },
1708
+ "description": "What-if assumptions for one workflow cluster over the requested period."
1709
+ },
1710
+ "Cost.GenAiEtlEvidenceSignal": {
1711
+ "type": "string",
1712
+ "enum": [
1713
+ "workflow_identity",
1714
+ "output_contract",
1715
+ "provider_model",
1716
+ "token_usage",
1717
+ "catalog_token_estimate",
1718
+ "recurring_schema",
1719
+ "bounded_reference",
1720
+ "task_metric",
1721
+ "accepted_output_replay",
1722
+ "downstream_fate",
1723
+ "calibrated_confidence",
1724
+ "shadow_comparison",
1725
+ "fallback_policy"
1726
+ ],
1727
+ "description": "Observable evidence needed to promote an inferred replacement safely."
1728
+ },
1729
+ "Cost.GenAiEtlFrontierCostBasis": {
1730
+ "type": "string",
1731
+ "enum": [
1732
+ "scenario",
1733
+ "catalog_token_estimate",
1734
+ "unavailable"
1735
+ ],
1736
+ "description": "Evidence basis for the frontier cost used in a replacement-value calculation."
1737
+ },
1738
+ "Cost.GenAiEtlOutputContract": {
1739
+ "type": "string",
1740
+ "enum": [
1741
+ "prose",
1742
+ "label",
1743
+ "span_list",
1744
+ "record",
1745
+ "vector",
1746
+ "catalog_reference",
1747
+ "number",
1748
+ "boolean",
1749
+ "unknown"
1750
+ ],
1751
+ "description": "Machine-readable output contract inferred for a workflow cluster."
1752
+ },
1753
+ "Cost.GenAiEtlPromotionGate": {
1754
+ "type": "object",
1755
+ "required": [
1756
+ "gate",
1757
+ "state"
1758
+ ],
1759
+ "properties": {
1760
+ "gate": {
1761
+ "$ref": "#/$defs/Cost.GenAiEtlPromotionGateKind"
1762
+ },
1763
+ "state": {
1764
+ "$ref": "#/$defs/Cost.GenAiEtlPromotionGateState"
1765
+ },
1766
+ "reason": {
1767
+ "type": "string",
1768
+ "description": "Stable evidence code explaining the current gate state."
1769
+ }
1770
+ },
1771
+ "unevaluatedProperties": {
1772
+ "not": {}
1773
+ },
1336
1774
  "description": "Promotion readiness for one gate."
1337
1775
  },
1338
- "Cost.GenAiEtlPromotionGateKind": {
1339
- "type": "string",
1340
- "enum": [
1341
- "contract_stability",
1342
- "offline_replay",
1343
- "calibrated_confidence",
1344
- "shadow_traffic",
1345
- "limited_serving",
1346
- "rollback_residual_policy"
1776
+ "Cost.GenAiEtlPromotionGateKind": {
1777
+ "type": "string",
1778
+ "enum": [
1779
+ "contract_stability",
1780
+ "offline_replay",
1781
+ "calibrated_confidence",
1782
+ "shadow_traffic",
1783
+ "limited_serving",
1784
+ "rollback_residual_policy"
1785
+ ],
1786
+ "description": "Promotion gate from replay through limited serving and rollback."
1787
+ },
1788
+ "Cost.GenAiEtlPromotionGateState": {
1789
+ "type": "string",
1790
+ "enum": [
1791
+ "passed",
1792
+ "failed",
1793
+ "not_evaluated",
1794
+ "blocked_missing_evidence"
1795
+ ],
1796
+ "description": "Evaluation state of a promotion gate."
1797
+ },
1798
+ "Cost.GenAiEtlResidualPath": {
1799
+ "type": "string",
1800
+ "enum": [
1801
+ "frontier_model",
1802
+ "human_review",
1803
+ "retry",
1804
+ "degraded_response",
1805
+ "none",
1806
+ "undetermined"
1807
+ ],
1808
+ "description": "Fallback used for requests outside a promoted replacement's safe coverage."
1809
+ },
1810
+ "Cost.GenAiEtlScenarioClusterEvaluation": {
1811
+ "type": "object",
1812
+ "required": [
1813
+ "frontier_cost_basis"
1814
+ ],
1815
+ "properties": {
1816
+ "frontier_cost_basis": {
1817
+ "type": "string",
1818
+ "enum": [
1819
+ "scenario"
1820
+ ]
1821
+ }
1822
+ },
1823
+ "unevaluatedProperties": {
1824
+ "not": {}
1825
+ },
1826
+ "allOf": [
1827
+ {
1828
+ "$ref": "#/$defs/Cost.GenAiEtlCalculatedClusterEvaluationBase"
1829
+ }
1830
+ ]
1831
+ },
1832
+ "Cost.GenAiEtlTaskFamily": {
1833
+ "type": "string",
1834
+ "enum": [
1835
+ "open_reasoning_generation",
1836
+ "classification",
1837
+ "sequence_labeling",
1838
+ "structured_extraction",
1839
+ "retrieval_entity_resolution",
1840
+ "similarity_clustering",
1841
+ "normalization_transformation",
1842
+ "numeric_analytical",
1843
+ "unknown"
1844
+ ],
1845
+ "description": "Task family inferred for a repeated GenAI workflow cluster."
1846
+ },
1847
+ "Cost.GenAiEtlUnavailableClusterEvaluation": {
1848
+ "type": "object",
1849
+ "required": [
1850
+ "status",
1851
+ "frontier_cost_basis"
1852
+ ],
1853
+ "properties": {
1854
+ "status": {
1855
+ "type": "string",
1856
+ "enum": [
1857
+ "missing_frontier_cost"
1858
+ ]
1859
+ },
1860
+ "frontier_cost_basis": {
1861
+ "type": "string",
1862
+ "enum": [
1863
+ "unavailable"
1864
+ ]
1865
+ }
1866
+ },
1867
+ "unevaluatedProperties": {
1868
+ "not": {}
1869
+ },
1870
+ "allOf": [
1871
+ {
1872
+ "$ref": "#/$defs/Cost.GenAiEtlClusterEvaluationBase"
1873
+ }
1874
+ ]
1875
+ },
1876
+ "Cost.GenAiEtlValidationMetric": {
1877
+ "type": "string",
1878
+ "enum": [
1879
+ "accuracy",
1880
+ "macro_f1",
1881
+ "calibration_error",
1882
+ "span_precision",
1883
+ "span_recall",
1884
+ "span_f1",
1885
+ "field_exact_match",
1886
+ "schema_validity",
1887
+ "match_accuracy",
1888
+ "recall_at_k",
1889
+ "mean_reciprocal_rank",
1890
+ "exact_match",
1891
+ "numeric_tolerance",
1892
+ "human_preference",
1893
+ "task_success",
1894
+ "unavailable"
1895
+ ],
1896
+ "description": "Task-specific metrics that can falsify a proposed replacement."
1897
+ },
1898
+ "Cost.ModelCatalogAdditiveSurchargeEvidence": {
1899
+ "type": "object",
1900
+ "required": [
1901
+ "rate_relation"
1902
+ ],
1903
+ "properties": {
1904
+ "rate_relation": {
1905
+ "type": "string",
1906
+ "enum": [
1907
+ "additive_surcharge"
1908
+ ]
1909
+ }
1910
+ },
1911
+ "unevaluatedProperties": {
1912
+ "not": {}
1913
+ }
1914
+ },
1915
+ "Cost.ModelCatalogBaseRateEvidence": {
1916
+ "type": "object",
1917
+ "required": [
1918
+ "rate_relation"
1919
+ ],
1920
+ "properties": {
1921
+ "rate_relation": {
1922
+ "type": "string",
1923
+ "enum": [
1924
+ "base_rate"
1925
+ ]
1926
+ }
1927
+ },
1928
+ "unevaluatedProperties": {
1929
+ "not": {}
1930
+ }
1931
+ },
1932
+ "Cost.ModelCatalogBillingMode": {
1933
+ "type": "string",
1934
+ "enum": [
1935
+ "per_unit",
1936
+ "per_request"
1937
+ ],
1938
+ "description": "How a catalog rate charges its measured quantity."
1939
+ },
1940
+ "Cost.ModelCatalogConditionalAdjustmentNotAppliedExclusion": {
1941
+ "type": "object",
1942
+ "required": [
1943
+ "reason"
1944
+ ],
1945
+ "properties": {
1946
+ "reason": {
1947
+ "type": "string",
1948
+ "enum": [
1949
+ "conditional_adjustment_not_applied"
1950
+ ]
1951
+ }
1952
+ },
1953
+ "unevaluatedProperties": {
1954
+ "not": {}
1955
+ },
1956
+ "allOf": [
1957
+ {
1958
+ "$ref": "#/$defs/Cost.ModelCatalogConditionalExclusionBase"
1959
+ }
1960
+ ]
1961
+ },
1962
+ "Cost.ModelCatalogConditionalExclusionBase": {
1963
+ "type": "object",
1964
+ "required": [
1965
+ "component",
1966
+ "usage_dimension",
1967
+ "unit",
1968
+ "source_billing_mode",
1969
+ "rate_evidence"
1970
+ ],
1971
+ "properties": {
1972
+ "component": {
1973
+ "type": "string"
1974
+ },
1975
+ "usage_dimension": {
1976
+ "type": "string"
1977
+ },
1978
+ "unit": {
1979
+ "type": "string"
1980
+ },
1981
+ "source_billing_mode": {
1982
+ "type": "string",
1983
+ "description": "Source-specific billing mode retained from the catalog or deterministically derived from the provider-defined meter."
1984
+ },
1985
+ "billing_mode": {
1986
+ "allOf": [
1987
+ {
1988
+ "$ref": "#/$defs/Cost.ModelCatalogBillingMode"
1989
+ }
1990
+ ],
1991
+ "description": "Normalized billing mode when qyl recognizes the conditional source meter; absent when the source meter has no supported normalization."
1992
+ },
1993
+ "rate_evidence": {
1994
+ "allOf": [
1995
+ {
1996
+ "$ref": "#/$defs/Cost.ModelCatalogPublishedReplacementEvidence"
1997
+ }
1998
+ ],
1999
+ "description": "The ordered source override that was not applied or was superseded."
2000
+ },
2001
+ "unit_price_usd": {
2002
+ "allOf": [
2003
+ {
2004
+ "$ref": "#/$defs/Common.CostUsd"
2005
+ }
2006
+ ],
2007
+ "description": "Catalog rate omitted from the estimate, when the source supplied one."
2008
+ }
2009
+ }
2010
+ },
2011
+ "Cost.ModelCatalogConditionalRateEvidence": {
2012
+ "type": "object",
2013
+ "required": [
2014
+ "source_order",
2015
+ "condition_usage_dimension",
2016
+ "exclusive_minimum_quantity",
2017
+ "observed_per_call_quantity"
2018
+ ],
2019
+ "properties": {
2020
+ "source_order": {
2021
+ "allOf": [
2022
+ {
2023
+ "$ref": "#/$defs/Cost.ModelCatalogSourceOrder"
2024
+ }
2025
+ ],
2026
+ "description": "One-based position of this override in the source response; later matching overrides win. Tier zero is reserved for the published base rate and is not a source override."
2027
+ },
2028
+ "condition_usage_dimension": {
2029
+ "type": "string",
2030
+ "description": "Observed per-call usage dimension evaluated by the source condition."
2031
+ },
2032
+ "exclusive_minimum_quantity": {
2033
+ "type": "number",
2034
+ "format": "double",
2035
+ "minimum": 0,
2036
+ "description": "Exclusive minimum quantity declared by the source condition."
2037
+ },
2038
+ "observed_per_call_quantity": {
2039
+ "type": "number",
2040
+ "format": "double",
2041
+ "minimum": 0,
2042
+ "description": "Observed per-call quantity compared with the exclusive minimum."
2043
+ }
2044
+ },
2045
+ "unevaluatedProperties": {
2046
+ "not": {}
2047
+ },
2048
+ "description": "Ordered evidence proving whether a conditional catalog override applied to an observed request quantity."
2049
+ },
2050
+ "Cost.ModelCatalogExclusionRateEvidence": {
2051
+ "oneOf": [
2052
+ {
2053
+ "$ref": "#/$defs/Cost.ModelCatalogBaseRateEvidence"
2054
+ },
2055
+ {
2056
+ "$ref": "#/$defs/Cost.ModelCatalogAdditiveSurchargeEvidence"
2057
+ },
2058
+ {
2059
+ "$ref": "#/$defs/Cost.ModelCatalogInclusiveReplacementEvidence"
2060
+ },
2061
+ {
2062
+ "$ref": "#/$defs/Cost.ModelCatalogPublishedReplacementEvidence"
2063
+ }
2064
+ ],
2065
+ "description": "Relation-specific evidence for a catalog rate omitted from a token-and-request estimate. The rate_relation literal selects the required target and ordered evidence shape."
2066
+ },
2067
+ "Cost.ModelCatalogInclusiveReplacementEvidence": {
2068
+ "type": "object",
2069
+ "required": [
2070
+ "rate_relation",
2071
+ "replaces_usage_dimension"
2072
+ ],
2073
+ "properties": {
2074
+ "rate_relation": {
2075
+ "type": "string",
2076
+ "enum": [
2077
+ "replaces_inclusive_base_rate"
2078
+ ]
2079
+ },
2080
+ "replaces_usage_dimension": {
2081
+ "type": "string",
2082
+ "description": "Inclusive base usage dimension replaced by this subtype rate."
2083
+ },
2084
+ "conditional_evidence": {
2085
+ "allOf": [
2086
+ {
2087
+ "$ref": "#/$defs/Cost.ModelCatalogConditionalRateEvidence"
2088
+ }
2089
+ ],
2090
+ "description": "Ordered evidence when a source override altered the selected subtype rate."
2091
+ }
2092
+ },
2093
+ "unevaluatedProperties": {
2094
+ "not": {}
2095
+ }
2096
+ },
2097
+ "Cost.ModelCatalogMatchKind": {
2098
+ "type": "string",
2099
+ "enum": [
2100
+ "exact_model_id",
2101
+ "exact_canonical_slug"
2102
+ ],
2103
+ "description": "Deterministic exact match used to resolve an observed model identity to a catalog record. Fuzzy, prefix, suffix, date, and alias matching are not permitted."
2104
+ },
2105
+ "Cost.ModelCatalogObservedIdentityBasis": {
2106
+ "type": "string",
2107
+ "enum": [
2108
+ "response_model",
2109
+ "request_model_fallback"
2110
+ ],
2111
+ "description": "Telemetry attribute used as the observed model identity for an exact catalog match."
2112
+ },
2113
+ "Cost.ModelCatalogOptionallyNormalizedBillingExclusionBase": {
2114
+ "type": "object",
2115
+ "properties": {
2116
+ "billing_mode": {
2117
+ "allOf": [
2118
+ {
2119
+ "$ref": "#/$defs/Cost.ModelCatalogBillingMode"
2120
+ }
2121
+ ],
2122
+ "description": "Normalized billing mode when qyl recognizes the source meter; absent when the source meter has no supported normalization."
2123
+ }
2124
+ },
2125
+ "allOf": [
2126
+ {
2127
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateExclusionBase"
2128
+ }
2129
+ ]
2130
+ },
2131
+ "Cost.ModelCatalogOutsideTokenScopeExclusion": {
2132
+ "type": "object",
2133
+ "required": [
2134
+ "reason"
2135
+ ],
2136
+ "properties": {
2137
+ "reason": {
2138
+ "type": "string",
2139
+ "enum": [
2140
+ "outside_token_estimate_scope"
2141
+ ]
2142
+ }
2143
+ },
2144
+ "unevaluatedProperties": {
2145
+ "not": {}
2146
+ },
2147
+ "allOf": [
2148
+ {
2149
+ "$ref": "#/$defs/Cost.ModelCatalogOptionallyNormalizedBillingExclusionBase"
2150
+ }
2151
+ ]
2152
+ },
2153
+ "Cost.ModelCatalogPriceProvenance": {
2154
+ "type": "object",
2155
+ "required": [
2156
+ "source_id",
2157
+ "source_endpoint",
2158
+ "snapshot_id",
2159
+ "price_model_id",
2160
+ "observed_model_id",
2161
+ "observed_model_identity_basis",
2162
+ "model_match_kind",
2163
+ "retrieved_at",
2164
+ "price_semantics"
2165
+ ],
2166
+ "properties": {
2167
+ "source_id": {
2168
+ "type": "string",
2169
+ "description": "Unique stable identifier of the configured catalog source."
2170
+ },
2171
+ "source_endpoint": {
2172
+ "allOf": [
2173
+ {
2174
+ "$ref": "#/$defs/Common.UrlString"
2175
+ }
2176
+ ],
2177
+ "description": "Configured API endpoint from which the catalog was retrieved."
2178
+ },
2179
+ "snapshot_id": {
2180
+ "type": "string",
2181
+ "description": "Content-addressed identifier of the exact catalog snapshot used for this estimate."
2182
+ },
2183
+ "price_model_id": {
2184
+ "type": "string",
2185
+ "description": "Exact model identifier selected from the source catalog."
2186
+ },
2187
+ "observed_model_id": {
2188
+ "type": "string",
2189
+ "description": "Exact observed telemetry value compared with the selected catalog record."
2190
+ },
2191
+ "observed_model_identity_basis": {
2192
+ "$ref": "#/$defs/Cost.ModelCatalogObservedIdentityBasis"
2193
+ },
2194
+ "model_match_kind": {
2195
+ "$ref": "#/$defs/Cost.ModelCatalogMatchKind"
2196
+ },
2197
+ "retrieved_at": {
2198
+ "type": "string",
2199
+ "format": "date-time",
2200
+ "description": "UTC time when the current catalog snapshot used for this counterfactual estimate was retrieved. For historical audit periods, this is not evidence of the price that applied historically."
2201
+ },
2202
+ "price_semantics": {
2203
+ "$ref": "#/$defs/Cost.ModelCatalogPriceSemantics"
2204
+ }
2205
+ },
2206
+ "unevaluatedProperties": {
2207
+ "not": {}
2208
+ },
2209
+ "description": "Provenance for the live catalog rates used to estimate one cluster."
2210
+ },
2211
+ "Cost.ModelCatalogPriceSemantics": {
2212
+ "type": "string",
2213
+ "enum": [
2214
+ "minimum_available_rate",
2215
+ "published_rate"
2216
+ ],
2217
+ "description": "How a live catalog rate was selected when estimating cluster cost."
2218
+ },
2219
+ "Cost.ModelCatalogPublishedReplacementEvidence": {
2220
+ "type": "object",
2221
+ "required": [
2222
+ "rate_relation",
2223
+ "replaces_usage_dimension",
2224
+ "conditional_evidence"
2225
+ ],
2226
+ "properties": {
2227
+ "rate_relation": {
2228
+ "type": "string",
2229
+ "enum": [
2230
+ "replaces_published_rate"
2231
+ ]
2232
+ },
2233
+ "replaces_usage_dimension": {
2234
+ "type": "string",
2235
+ "description": "Published usage dimension whose prior base, surcharge, or subtype rate was replaced."
2236
+ },
2237
+ "conditional_evidence": {
2238
+ "$ref": "#/$defs/Cost.ModelCatalogConditionalRateEvidence"
2239
+ }
2240
+ },
2241
+ "unevaluatedProperties": {
2242
+ "not": {}
2243
+ }
2244
+ },
2245
+ "Cost.ModelCatalogRateRelation": {
2246
+ "type": "string",
2247
+ "enum": [
2248
+ "base_rate",
2249
+ "additive_surcharge",
2250
+ "replaces_inclusive_base_rate",
2251
+ "replaces_published_rate"
2252
+ ],
2253
+ "description": "How a selected catalog rate relates to the source's published base rate for the same component."
2254
+ },
2255
+ "Cost.ModelCatalogSource": {
2256
+ "type": "object",
2257
+ "required": [
2258
+ "source_id",
2259
+ "priority",
2260
+ "status",
2261
+ "source_endpoint"
2262
+ ],
2263
+ "properties": {
2264
+ "source_id": {
2265
+ "type": "string",
2266
+ "description": "Unique stable identifier of the configured catalog source."
2267
+ },
2268
+ "priority": {
2269
+ "allOf": [
2270
+ {
2271
+ "$ref": "#/$defs/Common.Count"
2272
+ }
2273
+ ],
2274
+ "description": "Configured source priority used for deterministic selection when multiple current catalogs match. Zero is highest priority; lower values win."
2275
+ },
2276
+ "status": {
2277
+ "$ref": "#/$defs/Cost.ModelCatalogSourceStatus"
2278
+ },
2279
+ "price_semantics": {
2280
+ "allOf": [
2281
+ {
2282
+ "$ref": "#/$defs/Cost.ModelCatalogPriceSemantics"
2283
+ }
2284
+ ],
2285
+ "description": "Rate-selection semantics published by this source's active snapshot."
2286
+ },
2287
+ "source_endpoint": {
2288
+ "allOf": [
2289
+ {
2290
+ "$ref": "#/$defs/Common.UrlString"
2291
+ }
2292
+ ],
2293
+ "description": "Configured API endpoint used to fetch the live model catalog."
2294
+ },
2295
+ "last_attempt_at": {
2296
+ "type": "string",
2297
+ "format": "date-time",
2298
+ "description": "UTC time of the latest fetch attempt."
2299
+ },
2300
+ "last_verified_at": {
2301
+ "type": "string",
2302
+ "format": "date-time",
2303
+ "description": "UTC time when the source was last verified successfully, including a verification that retained unchanged content."
2304
+ },
2305
+ "retrieved_at": {
2306
+ "type": "string",
2307
+ "format": "date-time",
2308
+ "description": "UTC time when the content of the currently retained catalog snapshot was retrieved."
2309
+ },
2310
+ "active_snapshot_id": {
2311
+ "type": "string",
2312
+ "description": "Content-addressed identifier of the catalog snapshot currently used for estimates."
2313
+ },
2314
+ "model_count": {
2315
+ "allOf": [
2316
+ {
2317
+ "$ref": "#/$defs/Common.Count"
2318
+ }
2319
+ ],
2320
+ "description": "Number of model records in the active catalog snapshot."
2321
+ },
2322
+ "failure_category": {
2323
+ "type": "string",
2324
+ "description": "Stable, non-sensitive failure category for the last attempt."
2325
+ }
2326
+ },
2327
+ "unevaluatedProperties": {
2328
+ "not": {}
2329
+ },
2330
+ "description": "Synchronization metadata for one configurable live model catalog source."
2331
+ },
2332
+ "Cost.ModelCatalogSourceOrder": {
2333
+ "type": "integer",
2334
+ "format": "int64",
2335
+ "minimum": 1,
2336
+ "description": "One-based position of a conditional override in its source response."
2337
+ },
2338
+ "Cost.ModelCatalogSourceStatus": {
2339
+ "type": "string",
2340
+ "enum": [
2341
+ "unconfigured",
2342
+ "pending",
2343
+ "current",
2344
+ "stale",
2345
+ "sync_failed"
2346
+ ],
2347
+ "description": "Current synchronization state for a configured live model catalog."
2348
+ },
2349
+ "Cost.ModelCatalogSupersededOverrideExclusion": {
2350
+ "type": "object",
2351
+ "required": [
2352
+ "reason"
2353
+ ],
2354
+ "properties": {
2355
+ "reason": {
2356
+ "type": "string",
2357
+ "enum": [
2358
+ "superseded_by_later_override"
2359
+ ]
2360
+ }
2361
+ },
2362
+ "unevaluatedProperties": {
2363
+ "not": {}
2364
+ },
2365
+ "allOf": [
2366
+ {
2367
+ "$ref": "#/$defs/Cost.ModelCatalogConditionalExclusionBase"
2368
+ }
2369
+ ]
2370
+ },
2371
+ "Cost.ModelCatalogSupportedBillingExclusionBase": {
2372
+ "type": "object",
2373
+ "required": [
2374
+ "billing_mode"
2375
+ ],
2376
+ "properties": {
2377
+ "billing_mode": {
2378
+ "$ref": "#/$defs/Cost.ModelCatalogBillingMode"
2379
+ }
2380
+ },
2381
+ "allOf": [
2382
+ {
2383
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateExclusionBase"
2384
+ }
2385
+ ]
2386
+ },
2387
+ "Cost.ModelCatalogTokenAdditiveSurchargeComponent": {
2388
+ "type": "object",
2389
+ "required": [
2390
+ "rate_relation"
1347
2391
  ],
1348
- "description": "Promotion gate from replay through limited serving and rollback."
2392
+ "properties": {
2393
+ "rate_relation": {
2394
+ "type": "string",
2395
+ "enum": [
2396
+ "additive_surcharge"
2397
+ ]
2398
+ }
2399
+ },
2400
+ "unevaluatedProperties": {
2401
+ "not": {}
2402
+ },
2403
+ "allOf": [
2404
+ {
2405
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateComponentBase"
2406
+ }
2407
+ ]
1349
2408
  },
1350
- "Cost.GenAiEtlPromotionGateState": {
1351
- "type": "string",
1352
- "enum": [
1353
- "passed",
1354
- "failed",
1355
- "not_evaluated",
1356
- "blocked_missing_evidence"
2409
+ "Cost.ModelCatalogTokenBaseRateComponent": {
2410
+ "type": "object",
2411
+ "required": [
2412
+ "rate_relation"
1357
2413
  ],
1358
- "description": "Evaluation state of a promotion gate."
2414
+ "properties": {
2415
+ "rate_relation": {
2416
+ "type": "string",
2417
+ "enum": [
2418
+ "base_rate"
2419
+ ]
2420
+ }
2421
+ },
2422
+ "unevaluatedProperties": {
2423
+ "not": {}
2424
+ },
2425
+ "allOf": [
2426
+ {
2427
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateComponentBase"
2428
+ }
2429
+ ]
1359
2430
  },
1360
- "Cost.GenAiEtlResidualPath": {
1361
- "type": "string",
1362
- "enum": [
1363
- "frontier_model",
1364
- "human_review",
1365
- "retry",
1366
- "degraded_response",
1367
- "none",
1368
- "undetermined"
2431
+ "Cost.ModelCatalogTokenConditionalOverrideRateComponent": {
2432
+ "type": "object",
2433
+ "required": [
2434
+ "rate_relation",
2435
+ "replaces_usage_dimension",
2436
+ "conditional_evidence"
1369
2437
  ],
1370
- "description": "Fallback used for requests outside a promoted replacement's safe coverage."
2438
+ "properties": {
2439
+ "rate_relation": {
2440
+ "type": "string",
2441
+ "enum": [
2442
+ "replaces_published_rate"
2443
+ ]
2444
+ },
2445
+ "replaces_usage_dimension": {
2446
+ "type": "string",
2447
+ "description": "Published usage dimension whose prior base, surcharge, or subtype rate was replaced."
2448
+ },
2449
+ "conditional_evidence": {
2450
+ "$ref": "#/$defs/Cost.ModelCatalogConditionalRateEvidence"
2451
+ }
2452
+ },
2453
+ "unevaluatedProperties": {
2454
+ "not": {}
2455
+ },
2456
+ "allOf": [
2457
+ {
2458
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateComponentBase"
2459
+ }
2460
+ ]
1371
2461
  },
1372
- "Cost.GenAiEtlTaskFamily": {
1373
- "type": "string",
1374
- "enum": [
1375
- "open_reasoning_generation",
1376
- "classification",
1377
- "sequence_labeling",
1378
- "structured_extraction",
1379
- "retrieval_entity_resolution",
1380
- "similarity_clustering",
1381
- "normalization_transformation",
1382
- "numeric_analytical",
1383
- "unknown"
2462
+ "Cost.ModelCatalogTokenEstimateComponent": {
2463
+ "oneOf": [
2464
+ {
2465
+ "$ref": "#/$defs/Cost.ModelCatalogTokenBaseRateComponent"
2466
+ },
2467
+ {
2468
+ "$ref": "#/$defs/Cost.ModelCatalogTokenAdditiveSurchargeComponent"
2469
+ },
2470
+ {
2471
+ "$ref": "#/$defs/Cost.ModelCatalogTokenInclusiveReplacementRateComponent"
2472
+ },
2473
+ {
2474
+ "$ref": "#/$defs/Cost.ModelCatalogTokenConditionalOverrideRateComponent"
2475
+ }
1384
2476
  ],
1385
- "description": "Task family inferred for a repeated GenAI workflow cluster."
2477
+ "description": "One evidenced token or request component contributing to a current-catalog estimate. The rate_relation literal selects the required evidence shape."
1386
2478
  },
1387
- "Cost.GenAiEtlValidationMetric": {
2479
+ "Cost.ModelCatalogTokenEstimateComponentBase": {
2480
+ "type": "object",
2481
+ "required": [
2482
+ "component",
2483
+ "usage_dimension",
2484
+ "unit",
2485
+ "source_billing_mode",
2486
+ "billing_mode",
2487
+ "quantity",
2488
+ "unit_price_usd",
2489
+ "estimated_cost_usd"
2490
+ ],
2491
+ "properties": {
2492
+ "component": {
2493
+ "type": "string",
2494
+ "description": "Source-defined pricing component, such as prompt, completion, request, cache read, cache write, or internal reasoning."
2495
+ },
2496
+ "usage_dimension": {
2497
+ "type": "string",
2498
+ "description": "Qyl-observed usage dimension to which this rate was applied, such as input_tokens or output_tokens."
2499
+ },
2500
+ "unit": {
2501
+ "type": "string",
2502
+ "description": "Source-declared unit represented by the rate."
2503
+ },
2504
+ "source_billing_mode": {
2505
+ "type": "string",
2506
+ "description": "Source-specific billing mode retained from the catalog or deterministically derived from the provider-defined meter."
2507
+ },
2508
+ "billing_mode": {
2509
+ "$ref": "#/$defs/Cost.ModelCatalogBillingMode"
2510
+ },
2511
+ "quantity": {
2512
+ "type": "number",
2513
+ "format": "double",
2514
+ "minimum": 0,
2515
+ "description": "Measured quantity to which the catalog unit price was applied."
2516
+ },
2517
+ "unit_price_usd": {
2518
+ "allOf": [
2519
+ {
2520
+ "$ref": "#/$defs/Common.CostUsd"
2521
+ }
2522
+ ],
2523
+ "description": "Catalog price in USD per source-defined unit."
2524
+ },
2525
+ "estimated_cost_usd": {
2526
+ "allOf": [
2527
+ {
2528
+ "$ref": "#/$defs/Common.CostUsd"
2529
+ }
2530
+ ],
2531
+ "description": "Estimated USD contribution of this component for the reported cluster period."
2532
+ }
2533
+ },
2534
+ "description": "Fields shared by every included token or request pricing component."
2535
+ },
2536
+ "Cost.ModelCatalogTokenEstimateExclusion": {
2537
+ "oneOf": [
2538
+ {
2539
+ "$ref": "#/$defs/Cost.ModelCatalogUsageNotObservedExclusion"
2540
+ },
2541
+ {
2542
+ "$ref": "#/$defs/Cost.ModelCatalogConditionalAdjustmentNotAppliedExclusion"
2543
+ },
2544
+ {
2545
+ "$ref": "#/$defs/Cost.ModelCatalogSupersededOverrideExclusion"
2546
+ },
2547
+ {
2548
+ "$ref": "#/$defs/Cost.ModelCatalogOutsideTokenScopeExclusion"
2549
+ },
2550
+ {
2551
+ "$ref": "#/$defs/Cost.ModelCatalogUnsupportedUsageExclusion"
2552
+ },
2553
+ {
2554
+ "$ref": "#/$defs/Cost.ModelCatalogUnsupportedBillingExclusion"
2555
+ }
2556
+ ],
2557
+ "description": "Auditable catalog meter or conditional adjustment excluded from a token-and-request estimate. The reason literal selects the required evidence shape."
2558
+ },
2559
+ "Cost.ModelCatalogTokenEstimateExclusionBase": {
2560
+ "type": "object",
2561
+ "required": [
2562
+ "component",
2563
+ "usage_dimension",
2564
+ "unit",
2565
+ "source_billing_mode",
2566
+ "rate_evidence"
2567
+ ],
2568
+ "properties": {
2569
+ "component": {
2570
+ "type": "string"
2571
+ },
2572
+ "usage_dimension": {
2573
+ "type": "string"
2574
+ },
2575
+ "unit": {
2576
+ "type": "string"
2577
+ },
2578
+ "source_billing_mode": {
2579
+ "type": "string",
2580
+ "description": "Source-specific billing mode retained from the catalog or deterministically derived from the provider-defined meter, including unsupported modes."
2581
+ },
2582
+ "rate_evidence": {
2583
+ "allOf": [
2584
+ {
2585
+ "$ref": "#/$defs/Cost.ModelCatalogExclusionRateEvidence"
2586
+ }
2587
+ ],
2588
+ "description": "Relation, replacement target, and ordered override evidence for the omitted rate."
2589
+ },
2590
+ "unit_price_usd": {
2591
+ "allOf": [
2592
+ {
2593
+ "$ref": "#/$defs/Common.CostUsd"
2594
+ }
2595
+ ],
2596
+ "description": "Catalog rate omitted from the estimate, when the source supplied one."
2597
+ }
2598
+ },
2599
+ "description": "Fields shared by every catalog meter or conditional adjustment excluded from a token-and-request estimate."
2600
+ },
2601
+ "Cost.ModelCatalogTokenExclusionReason": {
1388
2602
  "type": "string",
1389
2603
  "enum": [
1390
- "accuracy",
1391
- "macro_f1",
1392
- "span_f1",
1393
- "field_exact_match",
1394
- "schema_validity",
1395
- "match_accuracy",
1396
- "recall_at_k",
1397
- "mean_reciprocal_rank",
1398
- "exact_match",
1399
- "numeric_tolerance",
1400
- "human_preference",
1401
- "task_success",
1402
- "unavailable"
2604
+ "usage_not_observed",
2605
+ "conditional_adjustment_not_applied",
2606
+ "superseded_by_later_override",
2607
+ "outside_token_estimate_scope",
2608
+ "unsupported_usage_dimension",
2609
+ "unsupported_billing_mode"
2610
+ ],
2611
+ "description": "Why a catalog meter or conditional adjustment was not included in a token-and-request estimate."
2612
+ },
2613
+ "Cost.ModelCatalogTokenInclusiveReplacementRateComponent": {
2614
+ "type": "object",
2615
+ "required": [
2616
+ "rate_relation",
2617
+ "replaces_usage_dimension"
2618
+ ],
2619
+ "properties": {
2620
+ "rate_relation": {
2621
+ "type": "string",
2622
+ "enum": [
2623
+ "replaces_inclusive_base_rate"
2624
+ ]
2625
+ },
2626
+ "replaces_usage_dimension": {
2627
+ "type": "string",
2628
+ "description": "Inclusive base usage dimension replaced by this subtype rate."
2629
+ },
2630
+ "conditional_evidence": {
2631
+ "allOf": [
2632
+ {
2633
+ "$ref": "#/$defs/Cost.ModelCatalogConditionalRateEvidence"
2634
+ }
2635
+ ],
2636
+ "description": "Ordered override evidence when the source conditionally altered this subtype rate."
2637
+ }
2638
+ },
2639
+ "unevaluatedProperties": {
2640
+ "not": {}
2641
+ },
2642
+ "allOf": [
2643
+ {
2644
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateComponentBase"
2645
+ }
2646
+ ]
2647
+ },
2648
+ "Cost.ModelCatalogUnsupportedBillingExclusion": {
2649
+ "type": "object",
2650
+ "required": [
2651
+ "reason"
2652
+ ],
2653
+ "properties": {
2654
+ "billing_mode": {
2655
+ "allOf": [
2656
+ {
2657
+ "$ref": "#/$defs/Cost.ModelCatalogBillingMode"
2658
+ }
2659
+ ],
2660
+ "description": "Normalized billing mode when the source mode has a partial known mapping; absent when no supported normalization exists."
2661
+ },
2662
+ "reason": {
2663
+ "type": "string",
2664
+ "enum": [
2665
+ "unsupported_billing_mode"
2666
+ ]
2667
+ }
2668
+ },
2669
+ "unevaluatedProperties": {
2670
+ "not": {}
2671
+ },
2672
+ "allOf": [
2673
+ {
2674
+ "$ref": "#/$defs/Cost.ModelCatalogTokenEstimateExclusionBase"
2675
+ }
2676
+ ]
2677
+ },
2678
+ "Cost.ModelCatalogUnsupportedUsageExclusion": {
2679
+ "type": "object",
2680
+ "required": [
2681
+ "reason"
2682
+ ],
2683
+ "properties": {
2684
+ "reason": {
2685
+ "type": "string",
2686
+ "enum": [
2687
+ "unsupported_usage_dimension"
2688
+ ]
2689
+ }
2690
+ },
2691
+ "unevaluatedProperties": {
2692
+ "not": {}
2693
+ },
2694
+ "allOf": [
2695
+ {
2696
+ "$ref": "#/$defs/Cost.ModelCatalogOptionallyNormalizedBillingExclusionBase"
2697
+ }
2698
+ ]
2699
+ },
2700
+ "Cost.ModelCatalogUsageNotObservedExclusion": {
2701
+ "type": "object",
2702
+ "required": [
2703
+ "reason"
1403
2704
  ],
1404
- "description": "Task-specific metric that can falsify a proposed replacement."
2705
+ "properties": {
2706
+ "reason": {
2707
+ "type": "string",
2708
+ "enum": [
2709
+ "usage_not_observed"
2710
+ ]
2711
+ }
2712
+ },
2713
+ "unevaluatedProperties": {
2714
+ "not": {}
2715
+ },
2716
+ "allOf": [
2717
+ {
2718
+ "$ref": "#/$defs/Cost.ModelCatalogSupportedBillingExclusionBase"
2719
+ }
2720
+ ]
1405
2721
  },
1406
- "Cost.ProviderCostAttribution": {
2722
+ "Cost.ProviderBillingAttribution": {
1407
2723
  "type": "string",
1408
2724
  "enum": [
1409
2725
  "provider_model_period",
1410
2726
  "provider_period",
1411
- "scenario",
1412
2727
  "unavailable"
1413
2728
  ],
1414
- "description": "Granularity at which a cost value can be attributed to telemetry."
2729
+ "description": "Granularity at which official provider-billed cost can be attributed to telemetry."
1415
2730
  },
1416
- "Cost.ProviderCostSource": {
2731
+ "Cost.ProviderBillingSource": {
1417
2732
  "type": "object",
1418
2733
  "required": [
1419
2734
  "provider",
1420
- "kind",
1421
2735
  "status",
1422
2736
  "source_endpoint",
1423
2737
  "attribution"
@@ -1427,21 +2741,13 @@
1427
2741
  "type": "string",
1428
2742
  "description": "Canonical GenAI provider or cloud billing system name."
1429
2743
  },
1430
- "kind": {
1431
- "allOf": [
1432
- {
1433
- "$ref": "#/$defs/Cost.ProviderCostSourceKind"
1434
- }
1435
- ],
1436
- "description": "Whether the API returned billed cost or a public catalog price."
1437
- },
1438
2744
  "status": {
1439
2745
  "allOf": [
1440
2746
  {
1441
- "$ref": "#/$defs/Cost.ProviderCostSourceStatus"
2747
+ "$ref": "#/$defs/Cost.ProviderBillingSourceStatus"
1442
2748
  }
1443
2749
  ],
1444
- "description": "Current synchronization and attribution state."
2750
+ "description": "Current billing synchronization state."
1445
2751
  },
1446
2752
  "source_endpoint": {
1447
2753
  "allOf": [
@@ -1454,7 +2760,7 @@
1454
2760
  "attribution": {
1455
2761
  "allOf": [
1456
2762
  {
1457
- "$ref": "#/$defs/Cost.ProviderCostAttribution"
2763
+ "$ref": "#/$defs/Cost.ProviderBillingAttribution"
1458
2764
  }
1459
2765
  ],
1460
2766
  "description": "Attribution granularity supported by this source response."
@@ -1472,12 +2778,12 @@
1472
2778
  "period_start": {
1473
2779
  "type": "string",
1474
2780
  "format": "date-time",
1475
- "description": "Start of the provider billing or catalog validity period."
2781
+ "description": "Start of the provider billing period."
1476
2782
  },
1477
2783
  "period_end": {
1478
2784
  "type": "string",
1479
2785
  "format": "date-time",
1480
- "description": "End of the provider billing or catalog validity period."
2786
+ "description": "End of the provider billing period."
1481
2787
  },
1482
2788
  "currency_code": {
1483
2789
  "type": "string",
@@ -1500,27 +2806,21 @@
1500
2806
  "description": "Stable, non-sensitive failure category for the last attempt."
1501
2807
  }
1502
2808
  },
1503
- "description": "Provenance for cost data fetched directly from a provider-owned API."
1504
- },
1505
- "Cost.ProviderCostSourceKind": {
1506
- "type": "string",
1507
- "enum": [
1508
- "actual_billed_cost",
1509
- "official_public_catalog"
1510
- ],
1511
- "description": "How a provider-owned API supplied a cost value."
2809
+ "unevaluatedProperties": {
2810
+ "not": {}
2811
+ },
2812
+ "description": "Provenance for billed cost data fetched directly from a provider-owned API."
1512
2813
  },
1513
- "Cost.ProviderCostSourceStatus": {
2814
+ "Cost.ProviderBillingSourceStatus": {
1514
2815
  "type": "string",
1515
2816
  "enum": [
1516
2817
  "unconfigured",
1517
2818
  "pending",
1518
2819
  "current",
1519
2820
  "stale",
1520
- "sync_failed",
1521
- "not_attributable"
2821
+ "sync_failed"
1522
2822
  ],
1523
- "description": "Current synchronization state for a provider-owned cost source."
2823
+ "description": "Current synchronization state for a provider-owned billing source."
1524
2824
  },
1525
2825
  "Domains.Observe.Session.DeviceType": {
1526
2826
  "type": "string",
@@ -1560,6 +2860,9 @@
1560
2860
  "description": "Previous session ID (for session continuity)"
1561
2861
  }
1562
2862
  },
2863
+ "unevaluatedProperties": {
2864
+ "not": {}
2865
+ },
1563
2866
  "description": "Session span/event attributes"
1564
2867
  },
1565
2868
  "Domains.Observe.Session.SessionClientInfo": {
@@ -1602,6 +2905,9 @@
1602
2905
  "description": "Browser version"
1603
2906
  }
1604
2907
  },
2908
+ "unevaluatedProperties": {
2909
+ "not": {}
2910
+ },
1605
2911
  "description": "Session client information"
1606
2912
  },
1607
2913
  "Domains.Observe.Session.SessionEntity": {
@@ -1708,6 +3014,9 @@
1708
3014
  "description": "GenAI usage summary"
1709
3015
  }
1710
3016
  },
3017
+ "unevaluatedProperties": {
3018
+ "not": {}
3019
+ },
1711
3020
  "description": "Complete session entity with aggregated data",
1712
3021
  "x-csharp-type": "SessionEntity"
1713
3022
  },
@@ -1749,6 +3058,9 @@
1749
3058
  "description": "Event domain"
1750
3059
  }
1751
3060
  },
3061
+ "unevaluatedProperties": {
3062
+ "not": {}
3063
+ },
1752
3064
  "description": "Session lifecycle event"
1753
3065
  },
1754
3066
  "Domains.Observe.Session.SessionEventName": {
@@ -1806,6 +3118,9 @@
1806
3118
  "description": "Providers used in session"
1807
3119
  }
1808
3120
  },
3121
+ "unevaluatedProperties": {
3122
+ "not": {}
3123
+ },
1809
3124
  "description": "Session GenAI usage summary"
1810
3125
  },
1811
3126
  "Domains.Observe.Session.SessionGeoInfo": {
@@ -1836,6 +3151,9 @@
1836
3151
  "description": "Timezone"
1837
3152
  }
1838
3153
  },
3154
+ "unevaluatedProperties": {
3155
+ "not": {}
3156
+ },
1839
3157
  "description": "Session geographic information"
1840
3158
  },
1841
3159
  "Domains.Observe.Session.SessionState": {
@@ -1906,6 +3224,9 @@
1906
3224
  "description": "Bounce rate (single-page sessions)"
1907
3225
  }
1908
3226
  },
3227
+ "unevaluatedProperties": {
3228
+ "not": {}
3229
+ },
1909
3230
  "description": "Aggregated session statistics"
1910
3231
  },
1911
3232
  "Health.HealthCheckEntry": {
@@ -1926,6 +3247,9 @@
1926
3247
  "format": "double"
1927
3248
  }
1928
3249
  },
3250
+ "unevaluatedProperties": {
3251
+ "not": {}
3252
+ },
1929
3253
  "description": "One named health-check result."
1930
3254
  },
1931
3255
  "Health.HealthReport": {
@@ -1950,6 +3274,9 @@
1950
3274
  }
1951
3275
  }
1952
3276
  },
3277
+ "unevaluatedProperties": {
3278
+ "not": {}
3279
+ },
1953
3280
  "description": "Readiness or liveness report returned by /health and /alive."
1954
3281
  },
1955
3282
  "Health.HealthStatus": {
@@ -1972,6 +3299,9 @@
1972
3299
  "default": 24
1973
3300
  }
1974
3301
  },
3302
+ "unevaluatedProperties": {
3303
+ "not": {}
3304
+ },
1975
3305
  "description": "Input for display_mcp_dashboard."
1976
3306
  },
1977
3307
  "Mcp.Tools.DisplayMcpDashboardOutput": {
@@ -1984,6 +3314,9 @@
1984
3314
  "$ref": "#/$defs/Mcp.Tools.McpDashboardStats"
1985
3315
  }
1986
3316
  },
3317
+ "unevaluatedProperties": {
3318
+ "not": {}
3319
+ },
1987
3320
  "description": "Structured output for display_mcp_dashboard."
1988
3321
  },
1989
3322
  "Mcp.Tools.DisplayTracesInput": {
@@ -2003,6 +3336,9 @@
2003
3336
  "default": 20
2004
3337
  }
2005
3338
  },
3339
+ "unevaluatedProperties": {
3340
+ "not": {}
3341
+ },
2006
3342
  "description": "Input for display_traces."
2007
3343
  },
2008
3344
  "Mcp.Tools.DisplayTracesOutput": {
@@ -2025,6 +3361,9 @@
2025
3361
  "$ref": "#/$defs/Mcp.Tools.McpDataMode"
2026
3362
  }
2027
3363
  },
3364
+ "unevaluatedProperties": {
3365
+ "not": {}
3366
+ },
2028
3367
  "description": "Structured output for display_traces."
2029
3368
  },
2030
3369
  "Mcp.Tools.FetchTelemetryInput": {
@@ -2064,6 +3403,9 @@
2064
3403
  "maximum": 168
2065
3404
  }
2066
3405
  },
3406
+ "unevaluatedProperties": {
3407
+ "not": {}
3408
+ },
2067
3409
  "description": "Input for the app-only fetch_telemetry tool."
2068
3410
  },
2069
3411
  "Mcp.Tools.FetchTelemetryOutput": {
@@ -2094,6 +3436,9 @@
2094
3436
  "$ref": "#/$defs/Mcp.Tools.McpDataMode"
2095
3437
  }
2096
3438
  },
3439
+ "unevaluatedProperties": {
3440
+ "not": {}
3441
+ },
2097
3442
  "description": "Structured output for the app-only fetch_telemetry tool."
2098
3443
  },
2099
3444
  "Mcp.Tools.FetchTelemetryView": {
@@ -2116,6 +3461,9 @@
2116
3461
  "$ref": "#/$defs/Common.TraceId"
2117
3462
  }
2118
3463
  },
3464
+ "unevaluatedProperties": {
3465
+ "not": {}
3466
+ },
2119
3467
  "description": "Input for get_trace."
2120
3468
  },
2121
3469
  "Mcp.Tools.GetTraceOutput": {
@@ -2132,6 +3480,9 @@
2132
3480
  "$ref": "#/$defs/Mcp.Tools.McpDataMode"
2133
3481
  }
2134
3482
  },
3483
+ "unevaluatedProperties": {
3484
+ "not": {}
3485
+ },
2135
3486
  "description": "Structured output for get_trace."
2136
3487
  },
2137
3488
  "Mcp.Tools.ListSessionsInput": {
@@ -2148,6 +3499,9 @@
2148
3499
  "type": "boolean"
2149
3500
  }
2150
3501
  },
3502
+ "unevaluatedProperties": {
3503
+ "not": {}
3504
+ },
2151
3505
  "description": "Input for list_sessions."
2152
3506
  },
2153
3507
  "Mcp.Tools.ListSessionsOutput": {
@@ -2167,6 +3521,9 @@
2167
3521
  "$ref": "#/$defs/Mcp.Tools.McpDataMode"
2168
3522
  }
2169
3523
  },
3524
+ "unevaluatedProperties": {
3525
+ "not": {}
3526
+ },
2170
3527
  "description": "Structured output for list_sessions."
2171
3528
  },
2172
3529
  "Mcp.Tools.ListTracesInput": {
@@ -2180,6 +3537,9 @@
2180
3537
  "default": 20
2181
3538
  }
2182
3539
  },
3540
+ "unevaluatedProperties": {
3541
+ "not": {}
3542
+ },
2183
3543
  "description": "Input for list_traces."
2184
3544
  },
2185
3545
  "Mcp.Tools.ListTracesOutput": {
@@ -2199,6 +3559,9 @@
2199
3559
  "$ref": "#/$defs/Mcp.Tools.McpDataMode"
2200
3560
  }
2201
3561
  },
3562
+ "unevaluatedProperties": {
3563
+ "not": {}
3564
+ },
2202
3565
  "description": "Structured output for list_traces."
2203
3566
  },
2204
3567
  "Mcp.Tools.McpDashboardBucket": {
@@ -2223,6 +3586,9 @@
2223
3586
  "format": "int32",
2224
3587
  "minimum": 0
2225
3588
  }
3589
+ },
3590
+ "unevaluatedProperties": {
3591
+ "not": {}
2226
3592
  }
2227
3593
  },
2228
3594
  "Mcp.Tools.McpDashboardStats": {
@@ -2288,6 +3654,9 @@
2288
3654
  "$ref": "#/$defs/Mcp.Tools.McpDataMode"
2289
3655
  }
2290
3656
  },
3657
+ "unevaluatedProperties": {
3658
+ "not": {}
3659
+ },
2291
3660
  "description": "Aggregate MCP traffic statistics shown by qyl.mcp."
2292
3661
  },
2293
3662
  "Mcp.Tools.McpDashboardTotals": {
@@ -2314,6 +3683,9 @@
2314
3683
  "minimum": 0,
2315
3684
  "maximum": 1
2316
3685
  }
3686
+ },
3687
+ "unevaluatedProperties": {
3688
+ "not": {}
2317
3689
  }
2318
3690
  },
2319
3691
  "Mcp.Tools.McpDashboardWindow": {
@@ -2337,6 +3709,9 @@
2337
3709
  "format": "double",
2338
3710
  "minimum": 0
2339
3711
  }
3712
+ },
3713
+ "unevaluatedProperties": {
3714
+ "not": {}
2340
3715
  }
2341
3716
  },
2342
3717
  "Mcp.Tools.McpDataMode": {
@@ -2362,6 +3737,9 @@
2362
3737
  "format": "int32",
2363
3738
  "minimum": 0
2364
3739
  }
3740
+ },
3741
+ "unevaluatedProperties": {
3742
+ "not": {}
2365
3743
  }
2366
3744
  },
2367
3745
  "Mcp.Tools.McpToolStats": {
@@ -2404,6 +3782,9 @@
2404
3782
  "format": "double",
2405
3783
  "minimum": 0
2406
3784
  }
3785
+ },
3786
+ "unevaluatedProperties": {
3787
+ "not": {}
2407
3788
  }
2408
3789
  },
2409
3790
  "Mcp.Tools.SearchLogsInput": {
@@ -2432,6 +3813,9 @@
2432
3813
  "default": 50
2433
3814
  }
2434
3815
  },
3816
+ "unevaluatedProperties": {
3817
+ "not": {}
3818
+ },
2435
3819
  "description": "Input for search_logs."
2436
3820
  },
2437
3821
  "Mcp.Tools.SearchLogsOutput": {
@@ -2451,12 +3835,14 @@
2451
3835
  "$ref": "#/$defs/Mcp.Tools.McpDataMode"
2452
3836
  }
2453
3837
  },
3838
+ "unevaluatedProperties": {
3839
+ "not": {}
3840
+ },
2454
3841
  "description": "Structured output for search_logs."
2455
3842
  },
2456
3843
  "OTel.Enums.AggregationTemporality": {
2457
3844
  "type": "number",
2458
3845
  "enum": [
2459
- 0,
2460
3846
  1,
2461
3847
  2
2462
3848
  ],
@@ -2642,177 +4028,578 @@
2642
4028
  ],
2643
4029
  "description": "Telemetry SDK language"
2644
4030
  },
2645
- "OTel.Logs.LogBody": {
4031
+ "OTel.Logs.LogBody": {
4032
+ "type": "object",
4033
+ "oneOf": [
4034
+ {
4035
+ "$ref": "#/$defs/OTel.Logs.LogBodyString"
4036
+ },
4037
+ {
4038
+ "$ref": "#/$defs/OTel.Logs.LogBodyKvList"
4039
+ },
4040
+ {
4041
+ "$ref": "#/$defs/OTel.Logs.LogBodyArray"
4042
+ },
4043
+ {
4044
+ "$ref": "#/$defs/OTel.Logs.LogBodyBytes"
4045
+ }
4046
+ ],
4047
+ "discriminator": {
4048
+ "propertyName": "kind",
4049
+ "mapping": {
4050
+ "stringBody": "#/components/schemas/OTel.Logs.LogBodyString",
4051
+ "kvListBody": "#/components/schemas/OTel.Logs.LogBodyKvList",
4052
+ "arrayBody": "#/components/schemas/OTel.Logs.LogBodyArray",
4053
+ "bytesBody": "#/components/schemas/OTel.Logs.LogBodyBytes"
4054
+ }
4055
+ },
4056
+ "description": "Log body content - can be string, structured, or bytes"
4057
+ },
4058
+ "OTel.Logs.LogBodyArray": {
4059
+ "type": "object",
4060
+ "required": [
4061
+ "array_value"
4062
+ ],
4063
+ "properties": {
4064
+ "array_value": {
4065
+ "type": "array",
4066
+ "items": {
4067
+ "$ref": "#/$defs/Common.AttributeValue"
4068
+ },
4069
+ "description": "Array of values"
4070
+ }
4071
+ },
4072
+ "unevaluatedProperties": {
4073
+ "not": {}
4074
+ },
4075
+ "description": "Array log body"
4076
+ },
4077
+ "OTel.Logs.LogBodyBytes": {
4078
+ "type": "object",
4079
+ "required": [
4080
+ "bytes_value"
4081
+ ],
4082
+ "properties": {
4083
+ "bytes_value": {
4084
+ "type": "string",
4085
+ "contentEncoding": "base64",
4086
+ "description": "Binary value (base64 encoded)"
4087
+ }
4088
+ },
4089
+ "unevaluatedProperties": {
4090
+ "not": {}
4091
+ },
4092
+ "description": "Binary log body"
4093
+ },
4094
+ "OTel.Logs.LogBodyKvList": {
4095
+ "type": "object",
4096
+ "required": [
4097
+ "kv_list_value"
4098
+ ],
4099
+ "properties": {
4100
+ "kv_list_value": {
4101
+ "type": "array",
4102
+ "items": {
4103
+ "$ref": "#/$defs/Common.Attribute"
4104
+ },
4105
+ "description": "Key-value pairs"
4106
+ }
4107
+ },
4108
+ "unevaluatedProperties": {
4109
+ "not": {}
4110
+ },
4111
+ "description": "Structured key-value log body"
4112
+ },
4113
+ "OTel.Logs.LogBodyString": {
4114
+ "type": "object",
4115
+ "required": [
4116
+ "string_value"
4117
+ ],
4118
+ "properties": {
4119
+ "string_value": {
4120
+ "type": "string",
4121
+ "description": "String value"
4122
+ }
4123
+ },
4124
+ "unevaluatedProperties": {
4125
+ "not": {}
4126
+ },
4127
+ "description": "String log body"
4128
+ },
4129
+ "OTel.Logs.LogRecord": {
4130
+ "type": "object",
4131
+ "required": [
4132
+ "time_unix_nano",
4133
+ "observed_time_unix_nano",
4134
+ "severity_number",
4135
+ "body",
4136
+ "resource"
4137
+ ],
4138
+ "properties": {
4139
+ "time_unix_nano": {
4140
+ "allOf": [
4141
+ {
4142
+ "$ref": "#/$defs/Common.UnixNanos"
4143
+ }
4144
+ ],
4145
+ "description": "Timestamp when the event occurred (nanoseconds since epoch)"
4146
+ },
4147
+ "observed_time_unix_nano": {
4148
+ "allOf": [
4149
+ {
4150
+ "$ref": "#/$defs/Common.UnixNanos"
4151
+ }
4152
+ ],
4153
+ "description": "Timestamp when the log was observed/collected (nanoseconds since epoch)"
4154
+ },
4155
+ "severity_number": {
4156
+ "allOf": [
4157
+ {
4158
+ "$ref": "#/$defs/OTel.Enums.SeverityNumber"
4159
+ }
4160
+ ],
4161
+ "description": "Severity number (1-24)"
4162
+ },
4163
+ "severity_text": {
4164
+ "allOf": [
4165
+ {
4166
+ "$ref": "#/$defs/OTel.Enums.SeverityText"
4167
+ }
4168
+ ],
4169
+ "description": "Severity text (DEBUG, INFO, WARN, ERROR, etc.)"
4170
+ },
4171
+ "body": {
4172
+ "allOf": [
4173
+ {
4174
+ "$ref": "#/$defs/OTel.Logs.LogBody"
4175
+ }
4176
+ ],
4177
+ "description": "Log body - the main content"
4178
+ },
4179
+ "attributes": {
4180
+ "type": "array",
4181
+ "items": {
4182
+ "$ref": "#/$defs/Common.Attribute"
4183
+ },
4184
+ "description": "Log attributes"
4185
+ },
4186
+ "dropped_attributes_count": {
4187
+ "allOf": [
4188
+ {
4189
+ "$ref": "#/$defs/Common.Count"
4190
+ }
4191
+ ],
4192
+ "description": "Dropped attributes count"
4193
+ },
4194
+ "flags": {
4195
+ "type": "integer",
4196
+ "format": "int32",
4197
+ "description": "Flags (trace flags)"
4198
+ },
4199
+ "trace_id": {
4200
+ "allOf": [
4201
+ {
4202
+ "$ref": "#/$defs/Common.TraceId"
4203
+ }
4204
+ ],
4205
+ "description": "Associated trace ID"
4206
+ },
4207
+ "span_id": {
4208
+ "allOf": [
4209
+ {
4210
+ "$ref": "#/$defs/Common.SpanId"
4211
+ }
4212
+ ],
4213
+ "description": "Associated span ID"
4214
+ },
4215
+ "resource": {
4216
+ "allOf": [
4217
+ {
4218
+ "$ref": "#/$defs/OTel.Resource.Resource"
4219
+ }
4220
+ ],
4221
+ "description": "Resource describing the entity that produced this log"
4222
+ },
4223
+ "instrumentation_scope": {
4224
+ "allOf": [
4225
+ {
4226
+ "$ref": "#/$defs/Common.InstrumentationScope"
4227
+ }
4228
+ ],
4229
+ "description": "Instrumentation scope"
4230
+ }
4231
+ },
4232
+ "unevaluatedProperties": {
4233
+ "not": {}
4234
+ },
4235
+ "description": "OpenTelemetry Log Record"
4236
+ },
4237
+ "OTel.Logs.LogTemplate": {
2646
4238
  "type": "object",
2647
- "oneOf": [
2648
- {
2649
- "$ref": "#/$defs/OTel.Logs.LogBodyString"
2650
- },
2651
- {
2652
- "$ref": "#/$defs/OTel.Logs.LogBodyKvList"
4239
+ "required": [
4240
+ "template",
4241
+ "parameters"
4242
+ ],
4243
+ "properties": {
4244
+ "template": {
4245
+ "type": "string",
4246
+ "description": "Template string with {placeholder} syntax"
2653
4247
  },
2654
- {
2655
- "$ref": "#/$defs/OTel.Logs.LogBodyArray"
4248
+ "parameters": {
4249
+ "type": "array",
4250
+ "items": {
4251
+ "$ref": "#/$defs/Common.Attribute"
4252
+ },
4253
+ "description": "Template parameters"
2656
4254
  },
2657
- {
2658
- "$ref": "#/$defs/OTel.Logs.LogBodyBytes"
4255
+ "rendered_message": {
4256
+ "type": "string",
4257
+ "description": "Rendered message"
2659
4258
  }
4259
+ },
4260
+ "unevaluatedProperties": {
4261
+ "not": {}
4262
+ },
4263
+ "description": "Log message template with placeholders"
4264
+ },
4265
+ "OTel.Metrics.ExponentialHistogramBuckets": {
4266
+ "type": "object",
4267
+ "required": [
4268
+ "offset",
4269
+ "bucket_counts"
2660
4270
  ],
2661
- "discriminator": {
2662
- "propertyName": "kind",
2663
- "mapping": {
2664
- "stringBody": "#/components/schemas/OTel.Logs.LogBodyString",
2665
- "kvListBody": "#/components/schemas/OTel.Logs.LogBodyKvList",
2666
- "arrayBody": "#/components/schemas/OTel.Logs.LogBodyArray",
2667
- "bytesBody": "#/components/schemas/OTel.Logs.LogBodyBytes"
4271
+ "properties": {
4272
+ "offset": {
4273
+ "type": "integer",
4274
+ "format": "int32",
4275
+ "description": "Index of the first bucket count."
4276
+ },
4277
+ "bucket_counts": {
4278
+ "type": "array",
4279
+ "items": {
4280
+ "$ref": "#/$defs/OTel.Metrics.MetricUInt64"
4281
+ }
2668
4282
  }
2669
4283
  },
2670
- "description": "Log body content - can be string, structured, or bytes"
4284
+ "unevaluatedProperties": {
4285
+ "not": {}
4286
+ },
4287
+ "description": "Bucket range used by an OTLP exponential histogram data point."
2671
4288
  },
2672
- "OTel.Logs.LogBodyArray": {
4289
+ "OTel.Metrics.ExponentialHistogramMetricPoint": {
2673
4290
  "type": "object",
2674
4291
  "required": [
2675
- "array_value"
4292
+ "type",
4293
+ "count",
4294
+ "scale",
4295
+ "zero_count",
4296
+ "zero_threshold",
4297
+ "positive",
4298
+ "negative",
4299
+ "aggregation_temporality"
2676
4300
  ],
2677
4301
  "properties": {
2678
- "array_value": {
4302
+ "type": {
4303
+ "type": "string",
4304
+ "enum": [
4305
+ "exponential_histogram"
4306
+ ]
4307
+ },
4308
+ "count": {
4309
+ "$ref": "#/$defs/OTel.Metrics.MetricUInt64"
4310
+ },
4311
+ "sum": {
4312
+ "type": "number",
4313
+ "format": "double"
4314
+ },
4315
+ "scale": {
4316
+ "type": "integer",
4317
+ "format": "int32"
4318
+ },
4319
+ "zero_count": {
4320
+ "$ref": "#/$defs/OTel.Metrics.MetricUInt64"
4321
+ },
4322
+ "zero_threshold": {
4323
+ "type": "number",
4324
+ "format": "double"
4325
+ },
4326
+ "positive": {
4327
+ "$ref": "#/$defs/OTel.Metrics.ExponentialHistogramBuckets"
4328
+ },
4329
+ "negative": {
4330
+ "$ref": "#/$defs/OTel.Metrics.ExponentialHistogramBuckets"
4331
+ },
4332
+ "min": {
4333
+ "type": "number",
4334
+ "format": "double"
4335
+ },
4336
+ "max": {
4337
+ "type": "number",
4338
+ "format": "double"
4339
+ },
4340
+ "aggregation_temporality": {
4341
+ "$ref": "#/$defs/OTel.Enums.AggregationTemporality"
4342
+ },
4343
+ "exemplars": {
2679
4344
  "type": "array",
2680
4345
  "items": {
2681
- "$ref": "#/$defs/Common.AttributeValue"
2682
- },
2683
- "description": "Array of values"
4346
+ "$ref": "#/$defs/OTel.Metrics.MetricExemplar"
4347
+ }
2684
4348
  }
2685
4349
  },
2686
- "description": "Array log body"
4350
+ "unevaluatedProperties": {
4351
+ "not": {}
4352
+ },
4353
+ "allOf": [
4354
+ {
4355
+ "$ref": "#/$defs/OTel.Metrics.MetricPointBase"
4356
+ }
4357
+ ],
4358
+ "description": "Base-2 exponential histogram measurement."
2687
4359
  },
2688
- "OTel.Logs.LogBodyBytes": {
4360
+ "OTel.Metrics.GaugeMetricPoint": {
2689
4361
  "type": "object",
2690
4362
  "required": [
2691
- "bytes_value"
4363
+ "type",
4364
+ "value"
2692
4365
  ],
2693
4366
  "properties": {
2694
- "bytes_value": {
4367
+ "type": {
2695
4368
  "type": "string",
2696
- "contentEncoding": "base64",
2697
- "description": "Binary value (base64 encoded)"
4369
+ "enum": [
4370
+ "gauge"
4371
+ ]
4372
+ },
4373
+ "value": {
4374
+ "$ref": "#/$defs/OTel.Metrics.MetricNumberValue"
4375
+ },
4376
+ "exemplars": {
4377
+ "type": "array",
4378
+ "items": {
4379
+ "$ref": "#/$defs/OTel.Metrics.MetricExemplar"
4380
+ }
2698
4381
  }
2699
4382
  },
2700
- "description": "Binary log body"
4383
+ "unevaluatedProperties": {
4384
+ "not": {}
4385
+ },
4386
+ "allOf": [
4387
+ {
4388
+ "$ref": "#/$defs/OTel.Metrics.MetricPointBase"
4389
+ }
4390
+ ],
4391
+ "description": "Instantaneous gauge measurement."
2701
4392
  },
2702
- "OTel.Logs.LogBodyKvList": {
4393
+ "OTel.Metrics.HistogramMetricPoint": {
2703
4394
  "type": "object",
2704
4395
  "required": [
2705
- "kv_list_value"
4396
+ "type",
4397
+ "count",
4398
+ "bucket_counts",
4399
+ "explicit_bounds",
4400
+ "aggregation_temporality"
2706
4401
  ],
2707
4402
  "properties": {
2708
- "kv_list_value": {
4403
+ "type": {
4404
+ "type": "string",
4405
+ "enum": [
4406
+ "histogram"
4407
+ ]
4408
+ },
4409
+ "count": {
4410
+ "$ref": "#/$defs/OTel.Metrics.MetricUInt64"
4411
+ },
4412
+ "sum": {
4413
+ "type": "number",
4414
+ "format": "double"
4415
+ },
4416
+ "bucket_counts": {
2709
4417
  "type": "array",
2710
4418
  "items": {
2711
- "$ref": "#/$defs/Common.Attribute"
2712
- },
2713
- "description": "Key-value pairs"
4419
+ "$ref": "#/$defs/OTel.Metrics.MetricUInt64"
4420
+ }
4421
+ },
4422
+ "explicit_bounds": {
4423
+ "type": "array",
4424
+ "items": {
4425
+ "type": "number",
4426
+ "format": "double"
4427
+ }
4428
+ },
4429
+ "min": {
4430
+ "type": "number",
4431
+ "format": "double"
4432
+ },
4433
+ "max": {
4434
+ "type": "number",
4435
+ "format": "double"
4436
+ },
4437
+ "aggregation_temporality": {
4438
+ "$ref": "#/$defs/OTel.Enums.AggregationTemporality"
4439
+ },
4440
+ "exemplars": {
4441
+ "type": "array",
4442
+ "items": {
4443
+ "$ref": "#/$defs/OTel.Metrics.MetricExemplar"
4444
+ }
2714
4445
  }
2715
4446
  },
2716
- "description": "Structured key-value log body"
4447
+ "unevaluatedProperties": {
4448
+ "not": {}
4449
+ },
4450
+ "allOf": [
4451
+ {
4452
+ "$ref": "#/$defs/OTel.Metrics.MetricPointBase"
4453
+ }
4454
+ ],
4455
+ "description": "Explicit-bucket histogram measurement."
2717
4456
  },
2718
- "OTel.Logs.LogBodyString": {
4457
+ "OTel.Metrics.MetricDoubleValue": {
2719
4458
  "type": "object",
2720
4459
  "required": [
2721
- "string_value"
4460
+ "as_double"
2722
4461
  ],
2723
4462
  "properties": {
2724
- "string_value": {
2725
- "type": "string",
2726
- "description": "String value"
4463
+ "as_double": {
4464
+ "type": "number",
4465
+ "format": "double"
2727
4466
  }
2728
4467
  },
2729
- "description": "String log body"
4468
+ "unevaluatedProperties": {
4469
+ "not": {}
4470
+ },
4471
+ "description": "A floating-point measurement value from an OTLP number data point or exemplar."
2730
4472
  },
2731
- "OTel.Logs.LogRecord": {
4473
+ "OTel.Metrics.MetricExemplar": {
2732
4474
  "type": "object",
2733
4475
  "required": [
2734
4476
  "time_unix_nano",
2735
- "observed_time_unix_nano",
2736
- "severity_number",
2737
- "body",
2738
- "resource"
4477
+ "value"
2739
4478
  ],
2740
4479
  "properties": {
2741
4480
  "time_unix_nano": {
2742
- "allOf": [
2743
- {
2744
- "$ref": "#/$defs/Common.UnixNanos"
2745
- }
2746
- ],
2747
- "description": "Timestamp when the event occurred (nanoseconds since epoch)"
4481
+ "$ref": "#/$defs/OTel.Metrics.MetricUnixNanos"
2748
4482
  },
2749
- "observed_time_unix_nano": {
2750
- "allOf": [
2751
- {
2752
- "$ref": "#/$defs/Common.UnixNanos"
2753
- }
2754
- ],
2755
- "description": "Timestamp when the log was observed/collected (nanoseconds since epoch)"
4483
+ "value": {
4484
+ "$ref": "#/$defs/OTel.Metrics.MetricNumberValue"
4485
+ },
4486
+ "span_id": {
4487
+ "$ref": "#/$defs/Common.SpanId"
4488
+ },
4489
+ "trace_id": {
4490
+ "$ref": "#/$defs/Common.TraceId"
4491
+ },
4492
+ "filtered_attributes": {
4493
+ "type": "array",
4494
+ "items": {
4495
+ "$ref": "#/$defs/Common.Attribute"
4496
+ }
4497
+ }
4498
+ },
4499
+ "unevaluatedProperties": {
4500
+ "not": {}
4501
+ },
4502
+ "description": "A sampled measurement linked to the trace or span active when it was recorded."
4503
+ },
4504
+ "OTel.Metrics.MetricInt64": {
4505
+ "type": "string",
4506
+ "format": "int64",
4507
+ "description": "An OTLP signed 64-bit metric integer encoded as a decimal JSON string.",
4508
+ "x-csharp-type": "long",
4509
+ "pattern": "^(0|-?[1-9][0-9]*)$",
4510
+ "maxLength": 20
4511
+ },
4512
+ "OTel.Metrics.MetricIntegerValue": {
4513
+ "type": "object",
4514
+ "required": [
4515
+ "as_int"
4516
+ ],
4517
+ "properties": {
4518
+ "as_int": {
4519
+ "$ref": "#/$defs/OTel.Metrics.MetricInt64"
4520
+ }
4521
+ },
4522
+ "unevaluatedProperties": {
4523
+ "not": {}
4524
+ },
4525
+ "description": "An integer measurement value from an OTLP number data point or exemplar."
4526
+ },
4527
+ "OTel.Metrics.MetricNumberValue": {
4528
+ "anyOf": [
4529
+ {
4530
+ "$ref": "#/$defs/OTel.Metrics.MetricIntegerValue"
4531
+ },
4532
+ {
4533
+ "$ref": "#/$defs/OTel.Metrics.MetricDoubleValue"
4534
+ }
4535
+ ],
4536
+ "description": "The exactly-one numeric value carried by an OTLP number data point or exemplar."
4537
+ },
4538
+ "OTel.Metrics.MetricPoint": {
4539
+ "anyOf": [
4540
+ {
4541
+ "$ref": "#/$defs/OTel.Metrics.GaugeMetricPoint"
4542
+ },
4543
+ {
4544
+ "$ref": "#/$defs/OTel.Metrics.SumMetricPoint"
4545
+ },
4546
+ {
4547
+ "$ref": "#/$defs/OTel.Metrics.HistogramMetricPoint"
4548
+ },
4549
+ {
4550
+ "$ref": "#/$defs/OTel.Metrics.ExponentialHistogramMetricPoint"
4551
+ },
4552
+ {
4553
+ "$ref": "#/$defs/OTel.Metrics.SummaryMetricPoint"
4554
+ }
4555
+ ],
4556
+ "description": "One persisted OTLP metric data point, discriminated by aggregation kind."
4557
+ },
4558
+ "OTel.Metrics.MetricPointBase": {
4559
+ "type": "object",
4560
+ "required": [
4561
+ "name",
4562
+ "start_time_unix_nano",
4563
+ "time_unix_nano",
4564
+ "flags",
4565
+ "resource"
4566
+ ],
4567
+ "properties": {
4568
+ "name": {
4569
+ "type": "string",
4570
+ "minLength": 1,
4571
+ "description": "Metric stream name."
2756
4572
  },
2757
- "severity_number": {
2758
- "allOf": [
2759
- {
2760
- "$ref": "#/$defs/OTel.Enums.SeverityNumber"
2761
- }
2762
- ],
2763
- "description": "Severity number (1-24)"
4573
+ "description": {
4574
+ "type": "string"
2764
4575
  },
2765
- "severity_text": {
2766
- "allOf": [
2767
- {
2768
- "$ref": "#/$defs/OTel.Enums.SeverityText"
2769
- }
2770
- ],
2771
- "description": "Severity text (DEBUG, INFO, WARN, ERROR, etc.)"
4576
+ "unit": {
4577
+ "type": "string"
2772
4578
  },
2773
- "body": {
2774
- "allOf": [
2775
- {
2776
- "$ref": "#/$defs/OTel.Logs.LogBody"
2777
- }
2778
- ],
2779
- "description": "Log body - the main content"
4579
+ "metadata": {
4580
+ "type": "array",
4581
+ "items": {
4582
+ "$ref": "#/$defs/Common.Attribute"
4583
+ },
4584
+ "description": "Non-identifying metadata attached to the OTLP metric descriptor."
2780
4585
  },
2781
4586
  "attributes": {
2782
4587
  "type": "array",
2783
4588
  "items": {
2784
4589
  "$ref": "#/$defs/Common.Attribute"
2785
4590
  },
2786
- "description": "Log attributes"
4591
+ "description": "Attributes identifying this metric time series."
2787
4592
  },
2788
- "dropped_attributes_count": {
2789
- "allOf": [
2790
- {
2791
- "$ref": "#/$defs/Common.Count"
2792
- }
2793
- ],
2794
- "description": "Dropped attributes count"
4593
+ "start_time_unix_nano": {
4594
+ "$ref": "#/$defs/OTel.Metrics.MetricStartUnixNanos"
4595
+ },
4596
+ "time_unix_nano": {
4597
+ "$ref": "#/$defs/OTel.Metrics.MetricUnixNanos"
2795
4598
  },
2796
4599
  "flags": {
2797
4600
  "type": "integer",
2798
- "format": "int32",
2799
- "description": "Flags (trace flags)"
2800
- },
2801
- "trace_id": {
2802
- "allOf": [
2803
- {
2804
- "$ref": "#/$defs/Common.TraceId"
2805
- }
2806
- ],
2807
- "description": "Associated trace ID"
2808
- },
2809
- "span_id": {
2810
- "allOf": [
2811
- {
2812
- "$ref": "#/$defs/Common.SpanId"
2813
- }
2814
- ],
2815
- "description": "Associated span ID"
4601
+ "format": "uint32",
4602
+ "description": "OTLP data-point flags preserved as an extensible bit field."
2816
4603
  },
2817
4604
  "resource": {
2818
4605
  "allOf": [
@@ -2820,43 +4607,147 @@
2820
4607
  "$ref": "#/$defs/OTel.Resource.Resource"
2821
4608
  }
2822
4609
  ],
2823
- "description": "Resource describing the entity that produced this log"
4610
+ "description": "Resource describing the entity that produced the metric."
4611
+ },
4612
+ "resource_schema_url": {
4613
+ "type": "string"
2824
4614
  },
2825
4615
  "instrumentation_scope": {
2826
- "allOf": [
2827
- {
2828
- "$ref": "#/$defs/Common.InstrumentationScope"
2829
- }
2830
- ],
2831
- "description": "Instrumentation scope"
4616
+ "$ref": "#/$defs/Common.InstrumentationScope"
4617
+ },
4618
+ "scope_schema_url": {
4619
+ "type": "string"
2832
4620
  }
2833
4621
  },
2834
- "description": "OpenTelemetry Log Record"
4622
+ "description": "Fields shared by every persisted OTLP metric data point."
2835
4623
  },
2836
- "OTel.Logs.LogTemplate": {
4624
+ "OTel.Metrics.MetricStartUnixNanos": {
4625
+ "type": "string",
4626
+ "format": "uint64",
4627
+ "description": "An optional OTLP metric start timestamp in Unix nanoseconds, encoded as a decimal JSON string.",
4628
+ "x-csharp-type": "ulong",
4629
+ "pattern": "^(0|[1-9][0-9]*)$",
4630
+ "maxLength": 20
4631
+ },
4632
+ "OTel.Metrics.MetricUInt64": {
4633
+ "type": "string",
4634
+ "format": "uint64",
4635
+ "description": "An OTLP unsigned 64-bit metric count encoded as a decimal JSON string.",
4636
+ "x-csharp-type": "ulong",
4637
+ "pattern": "^(0|[1-9][0-9]*)$",
4638
+ "maxLength": 20
4639
+ },
4640
+ "OTel.Metrics.MetricUnixNanos": {
4641
+ "type": "string",
4642
+ "format": "uint64",
4643
+ "description": "A non-zero OTLP metric or exemplar timestamp in Unix nanoseconds.",
4644
+ "x-csharp-type": "ulong",
4645
+ "pattern": "^[1-9][0-9]*$",
4646
+ "maxLength": 20
4647
+ },
4648
+ "OTel.Metrics.SumMetricPoint": {
2837
4649
  "type": "object",
2838
4650
  "required": [
2839
- "template",
2840
- "parameters"
4651
+ "type",
4652
+ "value",
4653
+ "aggregation_temporality",
4654
+ "is_monotonic"
2841
4655
  ],
2842
4656
  "properties": {
2843
- "template": {
4657
+ "type": {
2844
4658
  "type": "string",
2845
- "description": "Template string with {placeholder} syntax"
4659
+ "enum": [
4660
+ "sum"
4661
+ ]
2846
4662
  },
2847
- "parameters": {
4663
+ "value": {
4664
+ "$ref": "#/$defs/OTel.Metrics.MetricNumberValue"
4665
+ },
4666
+ "aggregation_temporality": {
4667
+ "$ref": "#/$defs/OTel.Enums.AggregationTemporality"
4668
+ },
4669
+ "is_monotonic": {
4670
+ "type": "boolean"
4671
+ },
4672
+ "exemplars": {
2848
4673
  "type": "array",
2849
4674
  "items": {
2850
- "$ref": "#/$defs/Common.Attribute"
2851
- },
2852
- "description": "Template parameters"
2853
- },
2854
- "rendered_message": {
4675
+ "$ref": "#/$defs/OTel.Metrics.MetricExemplar"
4676
+ }
4677
+ }
4678
+ },
4679
+ "unevaluatedProperties": {
4680
+ "not": {}
4681
+ },
4682
+ "allOf": [
4683
+ {
4684
+ "$ref": "#/$defs/OTel.Metrics.MetricPointBase"
4685
+ }
4686
+ ],
4687
+ "description": "Delta or cumulative sum measurement."
4688
+ },
4689
+ "OTel.Metrics.SummaryMetricPoint": {
4690
+ "type": "object",
4691
+ "required": [
4692
+ "type",
4693
+ "count",
4694
+ "sum",
4695
+ "quantile_values"
4696
+ ],
4697
+ "properties": {
4698
+ "type": {
2855
4699
  "type": "string",
2856
- "description": "Rendered message"
4700
+ "enum": [
4701
+ "summary"
4702
+ ]
4703
+ },
4704
+ "count": {
4705
+ "$ref": "#/$defs/OTel.Metrics.MetricUInt64"
4706
+ },
4707
+ "sum": {
4708
+ "type": "number",
4709
+ "format": "double"
4710
+ },
4711
+ "quantile_values": {
4712
+ "type": "array",
4713
+ "items": {
4714
+ "$ref": "#/$defs/OTel.Metrics.SummaryQuantileValue"
4715
+ }
2857
4716
  }
2858
4717
  },
2859
- "description": "Log message template with placeholders"
4718
+ "unevaluatedProperties": {
4719
+ "not": {}
4720
+ },
4721
+ "allOf": [
4722
+ {
4723
+ "$ref": "#/$defs/OTel.Metrics.MetricPointBase"
4724
+ }
4725
+ ],
4726
+ "description": "Pre-aggregated summary measurement."
4727
+ },
4728
+ "OTel.Metrics.SummaryQuantileValue": {
4729
+ "type": "object",
4730
+ "required": [
4731
+ "quantile",
4732
+ "value"
4733
+ ],
4734
+ "properties": {
4735
+ "quantile": {
4736
+ "type": "number",
4737
+ "format": "double",
4738
+ "minimum": 0,
4739
+ "maximum": 1
4740
+ },
4741
+ "value": {
4742
+ "type": "number",
4743
+ "format": "double",
4744
+ "minimum": 0
4745
+ }
4746
+ },
4747
+ "unevaluatedProperties": {
4748
+ "not": {}
4749
+ },
4750
+ "description": "A quantile and value reported by an OTLP summary data point."
2860
4751
  },
2861
4752
  "OTel.Profiles.Profile": {
2862
4753
  "type": "object",
@@ -3002,6 +4893,9 @@
3002
4893
  "description": "Stack table (ordered location sequences)"
3003
4894
  }
3004
4895
  },
4896
+ "unevaluatedProperties": {
4897
+ "not": {}
4898
+ },
3005
4899
  "description": "OpenTelemetry Profile representing a continuous profiling snapshot"
3006
4900
  },
3007
4901
  "OTel.Profiles.ProfileFunction": {
@@ -3028,6 +4922,9 @@
3028
4922
  "description": "First line number of the function in source"
3029
4923
  }
3030
4924
  },
4925
+ "unevaluatedProperties": {
4926
+ "not": {}
4927
+ },
3031
4928
  "description": "Function identity in a profiled binary"
3032
4929
  },
3033
4930
  "OTel.Profiles.ProfileLine": {
@@ -3049,6 +4946,9 @@
3049
4946
  "description": "Source column number"
3050
4947
  }
3051
4948
  },
4949
+ "unevaluatedProperties": {
4950
+ "not": {}
4951
+ },
3052
4952
  "description": "Source line within a location"
3053
4953
  },
3054
4954
  "OTel.Profiles.ProfileLink": {
@@ -3071,6 +4971,9 @@
3071
4971
  "description": "Linked span ID (8 bytes)"
3072
4972
  }
3073
4973
  },
4974
+ "unevaluatedProperties": {
4975
+ "not": {}
4976
+ },
3074
4977
  "description": "Cross-signal link from profile sample to trace/span"
3075
4978
  },
3076
4979
  "OTel.Profiles.ProfileLocation": {
@@ -3102,6 +5005,9 @@
3102
5005
  "description": "Attribute indices"
3103
5006
  }
3104
5007
  },
5008
+ "unevaluatedProperties": {
5009
+ "not": {}
5010
+ },
3105
5011
  "description": "Code location within a profiled binary"
3106
5012
  },
3107
5013
  "OTel.Profiles.ProfileMapping": {
@@ -3136,6 +5042,9 @@
3136
5042
  "description": "Attribute indices"
3137
5043
  }
3138
5044
  },
5045
+ "unevaluatedProperties": {
5046
+ "not": {}
5047
+ },
3139
5048
  "description": "Memory mapping for a loaded binary or shared library"
3140
5049
  },
3141
5050
  "OTel.Profiles.ProfileQueryFilters": {
@@ -3204,6 +5113,9 @@
3204
5113
  "description": "End of time range (exclusive, ISO 8601)"
3205
5114
  }
3206
5115
  },
5116
+ "unevaluatedProperties": {
5117
+ "not": {}
5118
+ },
3207
5119
  "description": "Filter parameters for querying profiles"
3208
5120
  },
3209
5121
  "OTel.Profiles.ProfileSample": {
@@ -3243,6 +5155,9 @@
3243
5155
  "description": "Timestamps for each value in nanoseconds since epoch"
3244
5156
  }
3245
5157
  },
5158
+ "unevaluatedProperties": {
5159
+ "not": {}
5160
+ },
3246
5161
  "description": "Individual profiling sample"
3247
5162
  },
3248
5163
  "OTel.Profiles.ProfileStack": {
@@ -3257,6 +5172,9 @@
3257
5172
  "description": "Location indices from leaf (index 0) to root"
3258
5173
  }
3259
5174
  },
5175
+ "unevaluatedProperties": {
5176
+ "not": {}
5177
+ },
3260
5178
  "description": "Ordered sequence of location indices forming a call stack"
3261
5179
  },
3262
5180
  "OTel.Profiles.ProfileStats": {
@@ -3310,6 +5228,9 @@
3310
5228
  "description": "Stats grouped by frame type"
3311
5229
  }
3312
5230
  },
5231
+ "unevaluatedProperties": {
5232
+ "not": {}
5233
+ },
3313
5234
  "description": "Aggregated profile statistics"
3314
5235
  },
3315
5236
  "OTel.Profiles.ProfileStatsByDimension": {
@@ -3347,6 +5268,9 @@
3347
5268
  "description": "Average duration in nanoseconds"
3348
5269
  }
3349
5270
  },
5271
+ "unevaluatedProperties": {
5272
+ "not": {}
5273
+ },
3350
5274
  "description": "Profile statistics for a specific dimension value"
3351
5275
  },
3352
5276
  "OTel.Profiles.ProfileValueType": {
@@ -3363,6 +5287,9 @@
3363
5287
  "description": "Unit string index into string table"
3364
5288
  }
3365
5289
  },
5290
+ "unevaluatedProperties": {
5291
+ "not": {}
5292
+ },
3366
5293
  "description": "Sample type descriptor (what was measured and in what unit)"
3367
5294
  },
3368
5295
  "OTel.Resource.CloudProvider": {
@@ -3600,6 +5527,9 @@
3600
5527
  "description": "Dropped attributes count"
3601
5528
  }
3602
5529
  },
5530
+ "unevaluatedProperties": {
5531
+ "not": {}
5532
+ },
3603
5533
  "description": "Resource describes the entity producing telemetry"
3604
5534
  },
3605
5535
  "OTel.Traces.Span": {
@@ -3751,6 +5681,9 @@
3751
5681
  "description": "Instrumentation scope"
3752
5682
  }
3753
5683
  },
5684
+ "unevaluatedProperties": {
5685
+ "not": {}
5686
+ },
3754
5687
  "description": "OpenTelemetry Span representing a single operation in a distributed trace"
3755
5688
  },
3756
5689
  "OTel.Traces.SpanEvent": {
@@ -3789,6 +5722,9 @@
3789
5722
  "description": "Dropped attributes count"
3790
5723
  }
3791
5724
  },
5725
+ "unevaluatedProperties": {
5726
+ "not": {}
5727
+ },
3792
5728
  "description": "Event occurring during a span's lifetime"
3793
5729
  },
3794
5730
  "OTel.Traces.SpanLink": {
@@ -3843,6 +5779,9 @@
3843
5779
  "description": "Link flags"
3844
5780
  }
3845
5781
  },
5782
+ "unevaluatedProperties": {
5783
+ "not": {}
5784
+ },
3846
5785
  "description": "Link to another span (e.g., batch processing)"
3847
5786
  },
3848
5787
  "OTel.Traces.SpanQueryFilters": {
@@ -3909,6 +5848,9 @@
3909
5848
  "description": "Filter by attribute key-value pair"
3910
5849
  }
3911
5850
  },
5851
+ "unevaluatedProperties": {
5852
+ "not": {}
5853
+ },
3912
5854
  "description": "Filter parameters for querying spans"
3913
5855
  },
3914
5856
  "OTel.Traces.SpanStats": {
@@ -4015,6 +5957,9 @@
4015
5957
  "description": "Stats grouped by operation name"
4016
5958
  }
4017
5959
  },
5960
+ "unevaluatedProperties": {
5961
+ "not": {}
5962
+ },
4018
5963
  "description": "Aggregated span statistics"
4019
5964
  },
4020
5965
  "OTel.Traces.SpanStatsByDimension": {
@@ -4052,6 +5997,9 @@
4052
5997
  "description": "Error rate for this dimension"
4053
5998
  }
4054
5999
  },
6000
+ "unevaluatedProperties": {
6001
+ "not": {}
6002
+ },
4055
6003
  "description": "Span statistics for a specific dimension value"
4056
6004
  },
4057
6005
  "OTel.Traces.SpanStatus": {
@@ -4073,6 +6021,9 @@
4073
6021
  "description": "Status message (only for ERROR status)"
4074
6022
  }
4075
6023
  },
6024
+ "unevaluatedProperties": {
6025
+ "not": {}
6026
+ },
4076
6027
  "description": "Span status"
4077
6028
  },
4078
6029
  "OTel.Traces.Trace": {
@@ -4089,6 +6040,9 @@
4089
6040
  "description": "All spans in this trace"
4090
6041
  }
4091
6042
  },
6043
+ "unevaluatedProperties": {
6044
+ "not": {}
6045
+ },
4092
6046
  "allOf": [
4093
6047
  {
4094
6048
  "$ref": "#/$defs/OTel.Traces.TraceSummary"
@@ -4183,6 +6137,9 @@
4183
6137
  "type": "string"
4184
6138
  }
4185
6139
  },
6140
+ "unevaluatedProperties": {
6141
+ "not": {}
6142
+ },
4186
6143
  "allOf": [
4187
6144
  {
4188
6145
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpContentMetadata"
@@ -4201,6 +6158,9 @@
4201
6158
  "contentEncoding": "base64"
4202
6159
  }
4203
6160
  },
6161
+ "unevaluatedProperties": {
6162
+ "not": {}
6163
+ },
4204
6164
  "allOf": [
4205
6165
  {
4206
6166
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpResourceContentMetadata"
@@ -4265,6 +6225,9 @@
4265
6225
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpResourceContent"
4266
6226
  }
4267
6227
  },
6228
+ "unevaluatedProperties": {
6229
+ "not": {}
6230
+ },
4268
6231
  "allOf": [
4269
6232
  {
4270
6233
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpContentMetadata"
@@ -4294,6 +6257,9 @@
4294
6257
  "type": "string"
4295
6258
  }
4296
6259
  },
6260
+ "unevaluatedProperties": {
6261
+ "not": {}
6262
+ },
4297
6263
  "description": "Icon metadata carried by MCP tools and resource links."
4298
6264
  },
4299
6265
  "Runner.Mcp.RunnerMcpImageContent": {
@@ -4318,6 +6284,9 @@
4318
6284
  "type": "string"
4319
6285
  }
4320
6286
  },
6287
+ "unevaluatedProperties": {
6288
+ "not": {}
6289
+ },
4321
6290
  "allOf": [
4322
6291
  {
4323
6292
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpContentMetadata"
@@ -4398,6 +6367,9 @@
4398
6367
  }
4399
6368
  }
4400
6369
  },
6370
+ "unevaluatedProperties": {
6371
+ "not": {}
6372
+ },
4401
6373
  "allOf": [
4402
6374
  {
4403
6375
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpContentMetadata"
@@ -4420,6 +6392,9 @@
4420
6392
  "unevaluatedProperties": {}
4421
6393
  }
4422
6394
  },
6395
+ "unevaluatedProperties": {
6396
+ "not": {}
6397
+ },
4423
6398
  "description": "Resource URI accepted by the runner's MCP projection."
4424
6399
  },
4425
6400
  "Runner.Mcp.RunnerMcpResourceReadResponse": {
@@ -4439,6 +6414,9 @@
4439
6414
  "unevaluatedProperties": {}
4440
6415
  }
4441
6416
  },
6417
+ "unevaluatedProperties": {
6418
+ "not": {}
6419
+ },
4442
6420
  "description": "Stable qyl projection of an MCP resources/read result."
4443
6421
  },
4444
6422
  "Runner.Mcp.RunnerMcpTask": {
@@ -4476,6 +6454,9 @@
4476
6454
  "format": "double"
4477
6455
  }
4478
6456
  },
6457
+ "unevaluatedProperties": {
6458
+ "not": {}
6459
+ },
4479
6460
  "description": "Task returned by an MCP task-augmented tool call. ttl and pollInterval are encoded as milliseconds."
4480
6461
  },
4481
6462
  "Runner.Mcp.RunnerMcpTaskMetadata": {
@@ -4486,6 +6467,9 @@
4486
6467
  "format": "double"
4487
6468
  }
4488
6469
  },
6470
+ "unevaluatedProperties": {
6471
+ "not": {}
6472
+ },
4489
6473
  "description": "Task-augmentation metadata accepted on an MCP tool call. ttl is encoded as milliseconds."
4490
6474
  },
4491
6475
  "Runner.Mcp.RunnerMcpTaskStatus": {
@@ -4516,6 +6500,9 @@
4516
6500
  "type": "string"
4517
6501
  }
4518
6502
  },
6503
+ "unevaluatedProperties": {
6504
+ "not": {}
6505
+ },
4519
6506
  "allOf": [
4520
6507
  {
4521
6508
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpContentMetadata"
@@ -4533,6 +6520,9 @@
4533
6520
  "type": "string"
4534
6521
  }
4535
6522
  },
6523
+ "unevaluatedProperties": {
6524
+ "not": {}
6525
+ },
4536
6526
  "allOf": [
4537
6527
  {
4538
6528
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpResourceContentMetadata"
@@ -4582,6 +6572,9 @@
4582
6572
  "unevaluatedProperties": {}
4583
6573
  }
4584
6574
  },
6575
+ "unevaluatedProperties": {
6576
+ "not": {}
6577
+ },
4585
6578
  "description": "Stable qyl projection of an MCP tool advertised by a runner resource."
4586
6579
  },
4587
6580
  "Runner.Mcp.RunnerMcpToolCallRequest": {
@@ -4605,6 +6598,9 @@
4605
6598
  "unevaluatedProperties": {}
4606
6599
  }
4607
6600
  },
6601
+ "unevaluatedProperties": {
6602
+ "not": {}
6603
+ },
4608
6604
  "description": "Tool call accepted by the runner's MCP projection."
4609
6605
  },
4610
6606
  "Runner.Mcp.RunnerMcpToolCallResponse": {
@@ -4635,6 +6631,9 @@
4635
6631
  "unevaluatedProperties": {}
4636
6632
  }
4637
6633
  },
6634
+ "unevaluatedProperties": {
6635
+ "not": {}
6636
+ },
4638
6637
  "description": "Stable qyl projection of an MCP tool-call result."
4639
6638
  },
4640
6639
  "Runner.Mcp.RunnerMcpToolExecution": {
@@ -4644,6 +6643,9 @@
4644
6643
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpToolTaskSupport"
4645
6644
  }
4646
6645
  },
6646
+ "unevaluatedProperties": {
6647
+ "not": {}
6648
+ },
4647
6649
  "description": "Execution metadata advertised for an MCP tool."
4648
6650
  },
4649
6651
  "Runner.Mcp.RunnerMcpToolResultContent": {
@@ -4677,6 +6679,9 @@
4677
6679
  "type": "boolean"
4678
6680
  }
4679
6681
  },
6682
+ "unevaluatedProperties": {
6683
+ "not": {}
6684
+ },
4680
6685
  "allOf": [
4681
6686
  {
4682
6687
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpContentMetadata"
@@ -4716,6 +6721,9 @@
4716
6721
  },
4717
6722
  "input": {}
4718
6723
  },
6724
+ "unevaluatedProperties": {
6725
+ "not": {}
6726
+ },
4719
6727
  "allOf": [
4720
6728
  {
4721
6729
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpContentMetadata"
@@ -4743,6 +6751,9 @@
4743
6751
  "unevaluatedProperties": {}
4744
6752
  }
4745
6753
  },
6754
+ "unevaluatedProperties": {
6755
+ "not": {}
6756
+ },
4746
6757
  "description": "MCP tools currently advertised by a runner resource."
4747
6758
  },
4748
6759
  "Runner.RunnerLogEvents": {
@@ -4766,6 +6777,9 @@
4766
6777
  "type": "string"
4767
6778
  }
4768
6779
  },
6780
+ "unevaluatedProperties": {
6781
+ "not": {}
6782
+ },
4769
6783
  "description": "One bounded child-process log line exposed by the runner."
4770
6784
  },
4771
6785
  "Runner.RunnerLogStream": {
@@ -4790,6 +6804,9 @@
4790
6804
  "type": "string"
4791
6805
  }
4792
6806
  },
6807
+ "unevaluatedProperties": {
6808
+ "not": {}
6809
+ },
4793
6810
  "description": "Identity reported by a connected MCP server during initialization."
4794
6811
  },
4795
6812
  "Runner.RunnerResourceEvents": {
@@ -4867,6 +6884,9 @@
4867
6884
  "minimum": 0
4868
6885
  }
4869
6886
  },
6887
+ "unevaluatedProperties": {
6888
+ "not": {}
6889
+ },
4870
6890
  "description": "Current client-visible state of one runner resource."
4871
6891
  },
4872
6892
  "Streaming.HeartbeatEvent": {
@@ -4887,6 +6907,9 @@
4887
6907
  "format": "date-time"
4888
6908
  }
4889
6909
  },
6910
+ "unevaluatedProperties": {
6911
+ "not": {}
6912
+ },
4890
6913
  "description": "Keep-alive event emitted while no new log is available."
4891
6914
  },
4892
6915
  "Streaming.LogEvents": {
@@ -4921,6 +6944,9 @@
4921
6944
  "format": "date-time"
4922
6945
  }
4923
6946
  },
6947
+ "unevaluatedProperties": {
6948
+ "not": {}
6949
+ },
4924
6950
  "description": "One log delivered by the collector's live stream."
4925
6951
  }
4926
6952
  }