@fabricorg/experiments-api-protocol 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -276,7 +276,9 @@ var TestRunArtifact = zod.z.object({
276
276
  });
277
277
  var CreateTestRunInput = zod.z.object({
278
278
  externalId: zod.z.string().min(1).max(300).optional(),
279
- source: zod.z.enum(["bdd", "live-suite", "junit", "cli", "other"]),
279
+ // 'eval-run' rows are written by the API itself when an eval run concludes
280
+ // (Quality Center evidence for the evals suite) — never via testRuns.create.
281
+ source: zod.z.enum(["bdd", "live-suite", "junit", "cli", "other", "eval-run", "databricks-mlflow"]),
280
282
  suite: zod.z.string().min(1).max(240),
281
283
  status: TestRunStatus,
282
284
  startedAt: zod.z.string().datetime().nullable().optional(),
@@ -315,6 +317,346 @@ var HarnessOperatorDefinition = zod.z.object({
315
317
  var HarnessOperatorListResponse = zod.z.array(HarnessOperatorDefinition);
316
318
  var HarnessJobInput = zod.z.record(zod.z.unknown()).default({});
317
319
  var HarnessJobResponse = zod.z.record(zod.z.unknown());
320
+ var DatasetSummary = zod.z.object({
321
+ id: zod.z.string(),
322
+ name: zod.z.string(),
323
+ description: zod.z.string().optional(),
324
+ latestVersion: zod.z.number().int(),
325
+ exampleCount: zod.z.number().int(),
326
+ createdAtIso: zod.z.string().datetime(),
327
+ updatedAtIso: zod.z.string().datetime()
328
+ });
329
+ var DatasetListResponse = zod.z.object({ datasets: zod.z.array(DatasetSummary) });
330
+ var CreateDatasetInput = zod.z.object({
331
+ id: zod.z.string().min(2).max(64).regex(/^[a-z][a-z0-9-]*$/),
332
+ name: zod.z.string().min(1).max(120),
333
+ description: zod.z.string().max(2e3).optional()
334
+ });
335
+ var DatasetExampleWire = zod.z.object({
336
+ exampleId: zod.z.string().uuid(),
337
+ input: zod.z.unknown(),
338
+ expectedOutput: zod.z.unknown().optional(),
339
+ metadata: zod.z.record(zod.z.unknown()).default({}),
340
+ split: zod.z.enum(["train", "test", "validation"]).default("test")
341
+ });
342
+ var AddExamplesInput = zod.z.object({
343
+ examples: zod.z.array(DatasetExampleWire).min(1).max(1e3)
344
+ });
345
+ var AddExamplesResponse = zod.z.object({ added: zod.z.number().int() });
346
+ var ListExamplesInput = zod.z.object({
347
+ version: zod.z.coerce.number().int().min(1).optional(),
348
+ split: zod.z.enum(["train", "test", "validation"]).optional(),
349
+ limit: zod.z.coerce.number().int().min(1).max(500).default(100),
350
+ offset: zod.z.coerce.number().int().min(0).default(0)
351
+ });
352
+ var ListExamplesResponse = zod.z.object({
353
+ examples: zod.z.array(DatasetExampleWire),
354
+ total: zod.z.number().int()
355
+ });
356
+ var CreateDatasetVersionInput = zod.z.object({ note: zod.z.string().max(500).optional() });
357
+ var DatasetVersionWire = zod.z.object({
358
+ datasetId: zod.z.string(),
359
+ version: zod.z.number().int(),
360
+ exampleCount: zod.z.number().int(),
361
+ contentHash: zod.z.string(),
362
+ createdAtIso: zod.z.string().datetime(),
363
+ note: zod.z.string().optional()
364
+ });
365
+ var DatasetVersionListResponse = zod.z.object({
366
+ versions: zod.z.array(DatasetVersionWire)
367
+ });
368
+ var EvalRunTargetWire = zod.z.discriminatedUnion("kind", [
369
+ zod.z.object({ kind: zod.z.literal("dataset"), datasetId: zod.z.string(), version: zod.z.number().int().min(1) }),
370
+ zod.z.object({
371
+ kind: zod.z.literal("experiment"),
372
+ experimentId: zod.z.string(),
373
+ metricEventName: zod.z.string().optional()
374
+ })
375
+ ]);
376
+ var CreateEvalRunInput = zod.z.object({
377
+ target: EvalRunTargetWire,
378
+ evaluatorNames: zod.z.array(zod.z.string().min(1)).min(1).max(10),
379
+ maxJudgeTokens: zod.z.number().int().min(0).optional(),
380
+ /**
381
+ * Quality Center policy for binary evaluators: the run's companion
382
+ * fx.test_runs evidence row is `failed` when any binary evaluator's pass
383
+ * rate lands below this threshold, even if the run itself succeeded.
384
+ * Defaults server-side to 0.9.
385
+ */
386
+ passThreshold: zod.z.number().min(0).max(1).optional()
387
+ });
388
+ var EvalRunGenerationWire = zod.z.object({
389
+ promptId: zod.z.string(),
390
+ promptVersion: zod.z.number().int().min(1),
391
+ datasetId: zod.z.string(),
392
+ datasetVersion: zod.z.number().int().min(1),
393
+ maxExamples: zod.z.number().int().min(1)
394
+ });
395
+ var EvalRunSummary = zod.z.object({
396
+ runId: zod.z.string(),
397
+ target: EvalRunTargetWire,
398
+ generation: EvalRunGenerationWire.optional(),
399
+ evaluatorNames: zod.z.array(zod.z.string()),
400
+ status: zod.z.enum(["pending", "running", "succeeded", "failed", "cancelled"]),
401
+ scoredExamples: zod.z.number().int(),
402
+ totalExamples: zod.z.number().int(),
403
+ tokensSpent: zod.z.number().int(),
404
+ costUsd: zod.z.number().nullable(),
405
+ passThreshold: zod.z.number(),
406
+ createdAtIso: zod.z.string().datetime(),
407
+ startedAtIso: zod.z.string().datetime().optional(),
408
+ finishedAtIso: zod.z.string().datetime().optional(),
409
+ error: zod.z.string().optional()
410
+ });
411
+ var EvalRunListInput = zod.z.object({
412
+ limit: zod.z.coerce.number().int().min(1).max(200).default(50),
413
+ offset: zod.z.coerce.number().int().min(0).default(0),
414
+ status: zod.z.enum(["pending", "running", "succeeded", "failed", "cancelled"]).optional()
415
+ });
416
+ var EvalRunListResponse = zod.z.object({ runs: zod.z.array(EvalRunSummary) });
417
+ var EvaluatorAggregateWire = zod.z.object({
418
+ evaluatorName: zod.z.string(),
419
+ evaluatorVersion: zod.z.string(),
420
+ scored: zod.z.number().int(),
421
+ unscored: zod.z.number().int(),
422
+ meanScore: zod.z.number().nullable(),
423
+ passRate: zod.z.object({ rate: zod.z.number(), low: zod.z.number(), high: zod.z.number() }).nullable(),
424
+ labelCounts: zod.z.record(zod.z.number().int()),
425
+ totalTokens: zod.z.number().int(),
426
+ meanLatencyMs: zod.z.number().nullable()
427
+ });
428
+ var EvalRunDetail = zod.z.object({
429
+ run: EvalRunSummary,
430
+ aggregates: zod.z.array(EvaluatorAggregateWire)
431
+ });
432
+ var EvalScoreWire = zod.z.object({
433
+ itemId: zod.z.string(),
434
+ evaluatorName: zod.z.string(),
435
+ evaluatorVersion: zod.z.string(),
436
+ label: zod.z.string().nullable(),
437
+ score: zod.z.number().nullable(),
438
+ explanation: zod.z.string().nullable(),
439
+ latencyMs: zod.z.number()
440
+ });
441
+ var EvalScoreListInput = zod.z.object({
442
+ evaluatorName: zod.z.string().optional(),
443
+ limit: zod.z.coerce.number().int().min(1).max(500).default(100),
444
+ offset: zod.z.coerce.number().int().min(0).default(0)
445
+ });
446
+ var EvalScoreListResponse = zod.z.object({
447
+ scores: zod.z.array(EvalScoreWire),
448
+ total: zod.z.number().int()
449
+ });
450
+ var PromptMessageWire = zod.z.object({
451
+ role: zod.z.enum(["system", "user", "assistant"]),
452
+ content: zod.z.string().min(1).max(1e5)
453
+ });
454
+ var PromptTemplateWire = zod.z.object({
455
+ messages: zod.z.array(PromptMessageWire).min(1).max(50),
456
+ params: zod.z.object({
457
+ model: zod.z.string().max(256).optional(),
458
+ temperature: zod.z.number().min(0).max(2).optional(),
459
+ maxTokens: zod.z.number().int().min(1).max(2e5).optional(),
460
+ topP: zod.z.number().min(0).max(1).optional()
461
+ }).default({})
462
+ });
463
+ var PromptSummary = zod.z.object({
464
+ id: zod.z.string(),
465
+ name: zod.z.string(),
466
+ description: zod.z.string().optional(),
467
+ latestVersion: zod.z.number().int(),
468
+ createdAtIso: zod.z.string().datetime(),
469
+ updatedAtIso: zod.z.string().datetime()
470
+ });
471
+ var PromptListResponse = zod.z.object({ prompts: zod.z.array(PromptSummary) });
472
+ var CreatePromptInput = zod.z.object({
473
+ id: zod.z.string().min(2).max(64).regex(/^[a-z][a-z0-9-]*$/),
474
+ name: zod.z.string().min(1).max(120),
475
+ description: zod.z.string().max(2e3).optional()
476
+ });
477
+ var PromptVersionWire = zod.z.object({
478
+ promptId: zod.z.string(),
479
+ version: zod.z.number().int(),
480
+ template: PromptTemplateWire,
481
+ contentHash: zod.z.string(),
482
+ variables: zod.z.array(zod.z.string()),
483
+ createdAtIso: zod.z.string().datetime(),
484
+ note: zod.z.string().optional()
485
+ });
486
+ var CreatePromptVersionInput = zod.z.object({
487
+ template: PromptTemplateWire,
488
+ note: zod.z.string().max(500).optional()
489
+ });
490
+ var PromptVersionListResponse = zod.z.object({
491
+ versions: zod.z.array(PromptVersionWire)
492
+ });
493
+ var PlaygroundInvokeInput = zod.z.object({
494
+ /** Registry reference (promptId + optional version, defaulting to latest)... */
495
+ promptId: zod.z.string().optional(),
496
+ version: zod.z.number().int().min(1).optional(),
497
+ /** ...or an inline template (draft mode). Exactly one source is required. */
498
+ template: PromptTemplateWire.optional(),
499
+ variables: zod.z.record(zod.z.string()).default({})
500
+ });
501
+ var PlaygroundInvokeResponse = zod.z.object({
502
+ messages: zod.z.array(PromptMessageWire),
503
+ missingVariables: zod.z.array(zod.z.string()),
504
+ text: zod.z.string(),
505
+ inputTokens: zod.z.number().int(),
506
+ outputTokens: zod.z.number().int(),
507
+ latencyMs: zod.z.number(),
508
+ modelEndpoint: zod.z.string(),
509
+ /** Manifest cost of this invocation; null when the endpoint is unpriced. */
510
+ costUsd: zod.z.number().nullable()
511
+ });
512
+ var PlaygroundReplayInput = zod.z.object({
513
+ promptId: zod.z.string(),
514
+ version: zod.z.number().int().min(1),
515
+ datasetId: zod.z.string(),
516
+ datasetVersion: zod.z.number().int().min(1),
517
+ evaluatorNames: zod.z.array(zod.z.string().min(1)).min(1).max(10),
518
+ /** Shared budget: generation AND judge tokens both count against it. */
519
+ maxJudgeTokens: zod.z.number().int().min(0).optional(),
520
+ /** Cap on examples replayed through the model. */
521
+ maxExamples: zod.z.number().int().min(1).max(200).default(50)
522
+ });
523
+ var VariantEvalWire = zod.z.object({
524
+ variantKey: zod.z.string(),
525
+ evaluatorName: zod.z.string(),
526
+ evaluatorVersion: zod.z.string(),
527
+ scored: zod.z.number().int(),
528
+ unscored: zod.z.number().int(),
529
+ meanScore: zod.z.number().nullable(),
530
+ passCount: zod.z.number().int(),
531
+ binary: zod.z.boolean()
532
+ });
533
+ var VariantEvalListResponse = zod.z.object({ variants: zod.z.array(VariantEvalWire) });
534
+ var SpanKindWire = zod.z.enum([
535
+ "LLM",
536
+ "CHAIN",
537
+ "RETRIEVER",
538
+ "EMBEDDING",
539
+ "TOOL",
540
+ "AGENT",
541
+ "RERANKER",
542
+ "GUARDRAIL",
543
+ "EVALUATOR",
544
+ "UNKNOWN"
545
+ ]);
546
+ var TraceSummaryWire = zod.z.object({
547
+ traceId: zod.z.string(),
548
+ rootSpanName: zod.z.string(),
549
+ rootSpanKind: SpanKindWire,
550
+ sessionId: zod.z.string().nullable(),
551
+ experimentId: zod.z.string().nullable(),
552
+ variantKey: zod.z.string().nullable(),
553
+ startedAtIso: zod.z.string().datetime(),
554
+ durationMs: zod.z.number(),
555
+ spanCount: zod.z.number().int(),
556
+ errorCount: zod.z.number().int(),
557
+ totalInputTokens: zod.z.number().int(),
558
+ totalOutputTokens: zod.z.number().int()
559
+ });
560
+ var TraceListInput = zod.z.object({
561
+ experimentId: zod.z.string().optional(),
562
+ variantKey: zod.z.string().optional(),
563
+ sessionId: zod.z.string().optional(),
564
+ kind: SpanKindWire.optional(),
565
+ errorsOnly: zod.z.coerce.boolean().optional(),
566
+ fromIso: zod.z.string().datetime().optional(),
567
+ untilIso: zod.z.string().datetime().optional(),
568
+ limit: zod.z.coerce.number().int().min(1).max(200).default(50),
569
+ offset: zod.z.coerce.number().int().min(0).default(0)
570
+ });
571
+ var TraceListResponse = zod.z.object({
572
+ traces: zod.z.array(TraceSummaryWire),
573
+ total: zod.z.number().int()
574
+ });
575
+ var SessionTraceWire = TraceSummaryWire.extend({
576
+ rootInputValue: zod.z.string().nullable(),
577
+ rootOutputValue: zod.z.string().nullable()
578
+ });
579
+ var SessionDetailResponse = zod.z.object({
580
+ sessionId: zod.z.string(),
581
+ /** Conversation order: ascending by trace start time. */
582
+ traces: zod.z.array(SessionTraceWire)
583
+ });
584
+ var SpanWire = zod.z.object({
585
+ traceId: zod.z.string(),
586
+ spanId: zod.z.string(),
587
+ parentSpanId: zod.z.string().nullable(),
588
+ name: zod.z.string(),
589
+ kind: SpanKindWire,
590
+ startedAtIso: zod.z.string().datetime(),
591
+ durationMs: zod.z.number(),
592
+ status: zod.z.enum(["UNSET", "OK", "ERROR"]),
593
+ statusMessage: zod.z.string().nullable(),
594
+ sessionId: zod.z.string().nullable(),
595
+ experimentId: zod.z.string().nullable(),
596
+ variantKey: zod.z.string().nullable(),
597
+ inputValue: zod.z.string().nullable(),
598
+ outputValue: zod.z.string().nullable(),
599
+ inputTokens: zod.z.number().int().nullable(),
600
+ outputTokens: zod.z.number().int().nullable(),
601
+ modelName: zod.z.string().nullable(),
602
+ /** Ingest-time dollar cost from the model-cost manifest; null when unpriceable. */
603
+ costUsd: zod.z.number().nullable(),
604
+ attributes: zod.z.record(zod.z.unknown())
605
+ });
606
+ var SpanAnnotationWire = zod.z.object({
607
+ spanId: zod.z.string(),
608
+ annotator: zod.z.enum(["human", "llm"]),
609
+ /** Evaluator name for llm annotations; user id for human ones. */
610
+ annotatorId: zod.z.string(),
611
+ label: zod.z.string().nullable(),
612
+ score: zod.z.number().nullable(),
613
+ explanation: zod.z.string().nullable(),
614
+ createdAtIso: zod.z.string().datetime()
615
+ });
616
+ var TraceDetail = zod.z.object({
617
+ traceId: zod.z.string(),
618
+ spans: zod.z.array(SpanWire),
619
+ annotations: zod.z.array(SpanAnnotationWire)
620
+ });
621
+ var AnnotateSpanInput = zod.z.object({
622
+ spanId: zod.z.string(),
623
+ label: zod.z.string().max(64).optional(),
624
+ score: zod.z.number().min(0).max(1).optional(),
625
+ explanation: zod.z.string().max(1e4).optional()
626
+ });
627
+ var SpanAnalyticsInput = zod.z.object({
628
+ experimentId: zod.z.string().optional(),
629
+ variantKey: zod.z.string().optional(),
630
+ groupBy: zod.z.enum(["kind", "model"]).default("kind"),
631
+ fromIso: zod.z.string().datetime().optional(),
632
+ untilIso: zod.z.string().datetime().optional()
633
+ });
634
+ var SpanAnalyticsResponse = zod.z.object({
635
+ groups: zod.z.array(
636
+ zod.z.object({
637
+ groupKey: zod.z.string(),
638
+ spanCount: zod.z.number().int(),
639
+ errorCount: zod.z.number().int(),
640
+ meanDurationMs: zod.z.number().nullable(),
641
+ p95DurationMs: zod.z.number().nullable(),
642
+ totalInputTokens: zod.z.number().int(),
643
+ totalOutputTokens: zod.z.number().int(),
644
+ totalCostUsd: zod.z.number()
645
+ })
646
+ ),
647
+ traceCount: zod.z.number().int(),
648
+ /** Cost over the full filtered span set — NOT restricted by groupBy model. */
649
+ totalCostUsd: zod.z.number()
650
+ });
651
+ var IngestTokenSummary = zod.z.object({
652
+ tokenId: zod.z.string(),
653
+ label: zod.z.string(),
654
+ createdAtIso: zod.z.string().datetime(),
655
+ revokedAtIso: zod.z.string().datetime().nullable()
656
+ });
657
+ var IngestTokenListResponse = zod.z.object({ tokens: zod.z.array(IngestTokenSummary) });
658
+ var CreateIngestTokenInput = zod.z.object({ label: zod.z.string().min(1).max(120) });
659
+ var CreatedIngestToken = IngestTokenSummary.extend({ token: zod.z.string() });
318
660
  var endpoints = {
319
661
  "tenants.me": {
320
662
  method: "GET",
@@ -628,6 +970,232 @@ var endpoints = {
628
970
  mutates: false,
629
971
  requiresRole: "viewer"
630
972
  },
973
+ "datasets.list": {
974
+ method: "GET",
975
+ path: "/v1/orgs/:orgId/datasets",
976
+ params: Empty,
977
+ response: DatasetListResponse,
978
+ mutates: false,
979
+ requiresRole: "viewer"
980
+ },
981
+ "datasets.create": {
982
+ method: "POST",
983
+ path: "/v1/orgs/:orgId/datasets",
984
+ params: CreateDatasetInput,
985
+ response: DatasetSummary,
986
+ mutates: true,
987
+ requiresRole: "experimenter"
988
+ },
989
+ "datasets.get": {
990
+ method: "GET",
991
+ path: "/v1/orgs/:orgId/datasets/:datasetId",
992
+ params: Empty,
993
+ response: DatasetSummary,
994
+ mutates: false,
995
+ requiresRole: "viewer"
996
+ },
997
+ "datasets.addExamples": {
998
+ method: "POST",
999
+ path: "/v1/orgs/:orgId/datasets/:datasetId/examples",
1000
+ params: AddExamplesInput,
1001
+ response: AddExamplesResponse,
1002
+ mutates: true,
1003
+ requiresRole: "experimenter"
1004
+ },
1005
+ "datasets.listExamples": {
1006
+ method: "GET",
1007
+ path: "/v1/orgs/:orgId/datasets/:datasetId/examples",
1008
+ params: ListExamplesInput,
1009
+ response: ListExamplesResponse,
1010
+ mutates: false,
1011
+ requiresRole: "viewer"
1012
+ },
1013
+ "datasets.createVersion": {
1014
+ method: "POST",
1015
+ path: "/v1/orgs/:orgId/datasets/:datasetId/versions",
1016
+ params: CreateDatasetVersionInput,
1017
+ response: DatasetVersionWire,
1018
+ mutates: true,
1019
+ requiresRole: "experimenter"
1020
+ },
1021
+ "datasets.listVersions": {
1022
+ method: "GET",
1023
+ path: "/v1/orgs/:orgId/datasets/:datasetId/versions",
1024
+ params: Empty,
1025
+ response: DatasetVersionListResponse,
1026
+ mutates: false,
1027
+ requiresRole: "viewer"
1028
+ },
1029
+ "traces.list": {
1030
+ method: "GET",
1031
+ path: "/v1/orgs/:orgId/traces",
1032
+ params: TraceListInput,
1033
+ response: TraceListResponse,
1034
+ mutates: false,
1035
+ requiresRole: "viewer"
1036
+ },
1037
+ "traces.get": {
1038
+ method: "GET",
1039
+ path: "/v1/orgs/:orgId/traces/:traceId",
1040
+ params: Empty,
1041
+ response: TraceDetail,
1042
+ mutates: false,
1043
+ requiresRole: "viewer"
1044
+ },
1045
+ "traces.annotate": {
1046
+ method: "POST",
1047
+ path: "/v1/orgs/:orgId/traces/:traceId/annotations",
1048
+ params: AnnotateSpanInput,
1049
+ response: SpanAnnotationWire,
1050
+ mutates: true,
1051
+ requiresRole: "experimenter"
1052
+ },
1053
+ "traces.analytics": {
1054
+ method: "GET",
1055
+ path: "/v1/orgs/:orgId/traces/analytics",
1056
+ params: SpanAnalyticsInput,
1057
+ response: SpanAnalyticsResponse,
1058
+ mutates: false,
1059
+ requiresRole: "viewer"
1060
+ },
1061
+ "traces.session": {
1062
+ method: "GET",
1063
+ path: "/v1/orgs/:orgId/traces/sessions/:sessionId",
1064
+ params: Empty,
1065
+ response: SessionDetailResponse,
1066
+ mutates: false,
1067
+ requiresRole: "viewer"
1068
+ },
1069
+ "evals.createRun": {
1070
+ method: "POST",
1071
+ path: "/v1/orgs/:orgId/evals/runs",
1072
+ params: CreateEvalRunInput,
1073
+ response: EvalRunSummary,
1074
+ mutates: true,
1075
+ requiresRole: "experimenter"
1076
+ },
1077
+ "evals.listRuns": {
1078
+ method: "GET",
1079
+ path: "/v1/orgs/:orgId/evals/runs",
1080
+ params: EvalRunListInput,
1081
+ response: EvalRunListResponse,
1082
+ mutates: false,
1083
+ requiresRole: "viewer"
1084
+ },
1085
+ "evals.getRun": {
1086
+ method: "GET",
1087
+ path: "/v1/orgs/:orgId/evals/runs/:runId",
1088
+ params: Empty,
1089
+ response: EvalRunDetail,
1090
+ mutates: false,
1091
+ requiresRole: "viewer"
1092
+ },
1093
+ "evals.listScores": {
1094
+ method: "GET",
1095
+ path: "/v1/orgs/:orgId/evals/runs/:runId/scores",
1096
+ params: EvalScoreListInput,
1097
+ response: EvalScoreListResponse,
1098
+ mutates: false,
1099
+ requiresRole: "viewer"
1100
+ },
1101
+ "evals.cancelRun": {
1102
+ method: "POST",
1103
+ path: "/v1/orgs/:orgId/evals/runs/:runId/cancel",
1104
+ params: Empty,
1105
+ response: EvalRunSummary,
1106
+ mutates: true,
1107
+ requiresRole: "experimenter"
1108
+ },
1109
+ "evals.byVariant": {
1110
+ method: "GET",
1111
+ path: "/v1/orgs/:orgId/experiments/:experimentId/evals",
1112
+ params: Empty,
1113
+ response: VariantEvalListResponse,
1114
+ mutates: false,
1115
+ requiresRole: "viewer"
1116
+ },
1117
+ "ingestTokens.list": {
1118
+ method: "GET",
1119
+ path: "/v1/orgs/:orgId/ingest-tokens",
1120
+ params: Empty,
1121
+ response: IngestTokenListResponse,
1122
+ mutates: false,
1123
+ requiresRole: "admin"
1124
+ },
1125
+ "ingestTokens.create": {
1126
+ method: "POST",
1127
+ path: "/v1/orgs/:orgId/ingest-tokens",
1128
+ params: CreateIngestTokenInput,
1129
+ response: CreatedIngestToken,
1130
+ mutates: true,
1131
+ requiresRole: "admin"
1132
+ },
1133
+ "ingestTokens.revoke": {
1134
+ method: "POST",
1135
+ path: "/v1/orgs/:orgId/ingest-tokens/:tokenId/revoke",
1136
+ params: Empty,
1137
+ response: IngestTokenSummary,
1138
+ mutates: true,
1139
+ requiresRole: "admin"
1140
+ },
1141
+ "prompts.list": {
1142
+ method: "GET",
1143
+ path: "/v1/orgs/:orgId/prompts",
1144
+ params: Empty,
1145
+ response: PromptListResponse,
1146
+ mutates: false,
1147
+ requiresRole: "viewer"
1148
+ },
1149
+ "prompts.create": {
1150
+ method: "POST",
1151
+ path: "/v1/orgs/:orgId/prompts",
1152
+ params: CreatePromptInput,
1153
+ response: PromptSummary,
1154
+ mutates: true,
1155
+ requiresRole: "experimenter"
1156
+ },
1157
+ "prompts.get": {
1158
+ method: "GET",
1159
+ path: "/v1/orgs/:orgId/prompts/:promptId",
1160
+ params: Empty,
1161
+ response: PromptSummary,
1162
+ mutates: false,
1163
+ requiresRole: "viewer"
1164
+ },
1165
+ "prompts.createVersion": {
1166
+ method: "POST",
1167
+ path: "/v1/orgs/:orgId/prompts/:promptId/versions",
1168
+ params: CreatePromptVersionInput,
1169
+ response: PromptVersionWire,
1170
+ mutates: true,
1171
+ requiresRole: "experimenter"
1172
+ },
1173
+ "prompts.listVersions": {
1174
+ method: "GET",
1175
+ path: "/v1/orgs/:orgId/prompts/:promptId/versions",
1176
+ params: Empty,
1177
+ response: PromptVersionListResponse,
1178
+ mutates: false,
1179
+ requiresRole: "viewer"
1180
+ },
1181
+ "playground.invoke": {
1182
+ method: "POST",
1183
+ path: "/v1/orgs/:orgId/playground/invoke",
1184
+ params: PlaygroundInvokeInput,
1185
+ response: PlaygroundInvokeResponse,
1186
+ mutates: false,
1187
+ requiresRole: "experimenter"
1188
+ },
1189
+ // 202-style: replay only creates a pending eval run (durable via the
1190
+ // outbox); generation + judging happen in the executor, off the request.
1191
+ "playground.replay": {
1192
+ method: "POST",
1193
+ path: "/v1/orgs/:orgId/playground/replay",
1194
+ params: PlaygroundReplayInput,
1195
+ response: EvalRunSummary,
1196
+ mutates: true,
1197
+ requiresRole: "experimenter"
1198
+ },
631
1199
  "harness.definitions": {
632
1200
  method: "GET",
633
1201
  path: "/v1/orgs/:orgId/harness/admin/agents",
@@ -666,9 +1234,12 @@ var ApiError = zod.z.object({
666
1234
  details: zod.z.record(zod.z.unknown()).optional()
667
1235
  });
668
1236
 
1237
+ exports.AddExamplesInput = AddExamplesInput;
1238
+ exports.AddExamplesResponse = AddExamplesResponse;
669
1239
  exports.AggregateInput = AggregateInput;
670
1240
  exports.AggregateResponse = AggregateResponse;
671
1241
  exports.AggregateRow = AggregateRow;
1242
+ exports.AnnotateSpanInput = AnnotateSpanInput;
672
1243
  exports.ApiError = ApiError;
673
1244
  exports.ApiKeyListResponse = ApiKeyListResponse;
674
1245
  exports.ApiKeySummary = ApiKeySummary;
@@ -679,11 +1250,33 @@ exports.AuditListResponse = AuditListResponse;
679
1250
  exports.CreateApiKeyInput = CreateApiKeyInput;
680
1251
  exports.CreateApiKeyResponse = CreateApiKeyResponse;
681
1252
  exports.CreateAuditExportInput = CreateAuditExportInput;
1253
+ exports.CreateDatasetInput = CreateDatasetInput;
1254
+ exports.CreateDatasetVersionInput = CreateDatasetVersionInput;
1255
+ exports.CreateEvalRunInput = CreateEvalRunInput;
682
1256
  exports.CreateExperimentInput = CreateExperimentInput;
683
1257
  exports.CreateExperimentResponse = CreateExperimentResponse;
1258
+ exports.CreateIngestTokenInput = CreateIngestTokenInput;
1259
+ exports.CreatePromptInput = CreatePromptInput;
1260
+ exports.CreatePromptVersionInput = CreatePromptVersionInput;
684
1261
  exports.CreateTestRunInput = CreateTestRunInput;
1262
+ exports.CreatedIngestToken = CreatedIngestToken;
1263
+ exports.DatasetExampleWire = DatasetExampleWire;
1264
+ exports.DatasetListResponse = DatasetListResponse;
1265
+ exports.DatasetSummary = DatasetSummary;
1266
+ exports.DatasetVersionListResponse = DatasetVersionListResponse;
1267
+ exports.DatasetVersionWire = DatasetVersionWire;
685
1268
  exports.EdgePushResult = EdgePushResult;
686
1269
  exports.EnvironmentListResponse = EnvironmentListResponse;
1270
+ exports.EvalRunDetail = EvalRunDetail;
1271
+ exports.EvalRunGenerationWire = EvalRunGenerationWire;
1272
+ exports.EvalRunListInput = EvalRunListInput;
1273
+ exports.EvalRunListResponse = EvalRunListResponse;
1274
+ exports.EvalRunSummary = EvalRunSummary;
1275
+ exports.EvalRunTargetWire = EvalRunTargetWire;
1276
+ exports.EvalScoreListInput = EvalScoreListInput;
1277
+ exports.EvalScoreListResponse = EvalScoreListResponse;
1278
+ exports.EvalScoreWire = EvalScoreWire;
1279
+ exports.EvaluatorAggregateWire = EvaluatorAggregateWire;
687
1280
  exports.ExperimentListResponse = ExperimentListResponse;
688
1281
  exports.ExperimentSummary = ExperimentSummary;
689
1282
  exports.FeatureListResponse = FeatureListResponse;
@@ -694,20 +1287,40 @@ exports.HarnessJobInput = HarnessJobInput;
694
1287
  exports.HarnessJobResponse = HarnessJobResponse;
695
1288
  exports.HarnessOperatorDefinition = HarnessOperatorDefinition;
696
1289
  exports.HarnessOperatorListResponse = HarnessOperatorListResponse;
1290
+ exports.IngestTokenListResponse = IngestTokenListResponse;
1291
+ exports.IngestTokenSummary = IngestTokenSummary;
697
1292
  exports.InvokeActionInput = InvokeActionInput;
698
1293
  exports.InvokeActionResponse = InvokeActionResponse;
1294
+ exports.ListExamplesInput = ListExamplesInput;
1295
+ exports.ListExamplesResponse = ListExamplesResponse;
699
1296
  exports.ManifestKey = ManifestKey;
700
1297
  exports.ManifestKeysResponse = ManifestKeysResponse;
1298
+ exports.PlaygroundInvokeInput = PlaygroundInvokeInput;
1299
+ exports.PlaygroundInvokeResponse = PlaygroundInvokeResponse;
1300
+ exports.PlaygroundReplayInput = PlaygroundReplayInput;
701
1301
  exports.PreviewSignInput = PreviewSignInput;
702
1302
  exports.PreviewSignResponse = PreviewSignResponse;
703
1303
  exports.ProjectListResponse = ProjectListResponse;
704
1304
  exports.PromoteEnvironmentInput = PromoteEnvironmentInput;
705
1305
  exports.PromoteEnvironmentResponse = PromoteEnvironmentResponse;
1306
+ exports.PromptListResponse = PromptListResponse;
1307
+ exports.PromptMessageWire = PromptMessageWire;
1308
+ exports.PromptSummary = PromptSummary;
1309
+ exports.PromptTemplateWire = PromptTemplateWire;
1310
+ exports.PromptVersionListResponse = PromptVersionListResponse;
1311
+ exports.PromptVersionWire = PromptVersionWire;
706
1312
  exports.PropertyListResponse = PropertyListResponse;
707
1313
  exports.PublicationListResponse = PublicationListResponse;
708
1314
  exports.PublishManifestResponse = PublishManifestResponse;
709
1315
  exports.QualityGateResult = QualityGateResult;
710
1316
  exports.SamlConfig = SamlConfig;
1317
+ exports.SessionDetailResponse = SessionDetailResponse;
1318
+ exports.SessionTraceWire = SessionTraceWire;
1319
+ exports.SpanAnalyticsInput = SpanAnalyticsInput;
1320
+ exports.SpanAnalyticsResponse = SpanAnalyticsResponse;
1321
+ exports.SpanAnnotationWire = SpanAnnotationWire;
1322
+ exports.SpanKindWire = SpanKindWire;
1323
+ exports.SpanWire = SpanWire;
711
1324
  exports.TenantSelf = TenantSelf;
712
1325
  exports.TestCaseResult = TestCaseResult;
713
1326
  exports.TestCaseStatus = TestCaseStatus;
@@ -717,7 +1330,13 @@ exports.TestRunListInput = TestRunListInput;
717
1330
  exports.TestRunListResponse = TestRunListResponse;
718
1331
  exports.TestRunStatus = TestRunStatus;
719
1332
  exports.TestRunSummary = TestRunSummary;
1333
+ exports.TraceDetail = TraceDetail;
1334
+ exports.TraceListInput = TraceListInput;
1335
+ exports.TraceListResponse = TraceListResponse;
1336
+ exports.TraceSummaryWire = TraceSummaryWire;
720
1337
  exports.UpdateGovernanceSettingsInput = UpdateGovernanceSettingsInput;
1338
+ exports.VariantEvalListResponse = VariantEvalListResponse;
1339
+ exports.VariantEvalWire = VariantEvalWire;
721
1340
  exports.buildPath = buildPath;
722
1341
  exports.endpoints = endpoints;
723
1342
  //# sourceMappingURL=index.cjs.map