@fabricorg/experiments-api-protocol 0.1.5 → 0.1.7

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"]),
280
282
  suite: zod.z.string().min(1).max(240),
281
283
  status: TestRunStatus,
282
284
  startedAt: zod.z.string().datetime().nullable().optional(),
@@ -306,6 +308,355 @@ var TestRunListInput = zod.z.object({
306
308
  var TestRunListResponse = zod.z.object({
307
309
  runs: zod.z.array(TestRun.omit({ cases: true }))
308
310
  });
311
+ var HarnessOperatorDefinition = zod.z.object({
312
+ name: zod.z.enum(["quality-status", "srm-watcher", "analyst"]),
313
+ kind: zod.z.literal("job"),
314
+ description: zod.z.string(),
315
+ mutates: zod.z.boolean()
316
+ });
317
+ var HarnessOperatorListResponse = zod.z.array(HarnessOperatorDefinition);
318
+ var HarnessJobInput = zod.z.record(zod.z.unknown()).default({});
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() });
309
660
  var endpoints = {
310
661
  "tenants.me": {
311
662
  method: "GET",
@@ -618,6 +969,248 @@ var endpoints = {
618
969
  response: TestRun,
619
970
  mutates: false,
620
971
  requiresRole: "viewer"
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
+ },
1199
+ "harness.definitions": {
1200
+ method: "GET",
1201
+ path: "/v1/orgs/:orgId/harness/admin/agents",
1202
+ params: Empty,
1203
+ response: HarnessOperatorListResponse,
1204
+ mutates: false,
1205
+ requiresRole: "viewer"
1206
+ },
1207
+ "harness.invokeJob": {
1208
+ method: "POST",
1209
+ path: "/v1/orgs/:orgId/harness/jobs/:jobName",
1210
+ params: HarnessJobInput,
1211
+ response: HarnessJobResponse,
1212
+ mutates: true,
1213
+ requiresRole: "experimenter"
621
1214
  }
622
1215
  };
623
1216
  function buildPath(template, pathParams) {
@@ -641,9 +1234,12 @@ var ApiError = zod.z.object({
641
1234
  details: zod.z.record(zod.z.unknown()).optional()
642
1235
  });
643
1236
 
1237
+ exports.AddExamplesInput = AddExamplesInput;
1238
+ exports.AddExamplesResponse = AddExamplesResponse;
644
1239
  exports.AggregateInput = AggregateInput;
645
1240
  exports.AggregateResponse = AggregateResponse;
646
1241
  exports.AggregateRow = AggregateRow;
1242
+ exports.AnnotateSpanInput = AnnotateSpanInput;
647
1243
  exports.ApiError = ApiError;
648
1244
  exports.ApiKeyListResponse = ApiKeyListResponse;
649
1245
  exports.ApiKeySummary = ApiKeySummary;
@@ -654,31 +1250,77 @@ exports.AuditListResponse = AuditListResponse;
654
1250
  exports.CreateApiKeyInput = CreateApiKeyInput;
655
1251
  exports.CreateApiKeyResponse = CreateApiKeyResponse;
656
1252
  exports.CreateAuditExportInput = CreateAuditExportInput;
1253
+ exports.CreateDatasetInput = CreateDatasetInput;
1254
+ exports.CreateDatasetVersionInput = CreateDatasetVersionInput;
1255
+ exports.CreateEvalRunInput = CreateEvalRunInput;
657
1256
  exports.CreateExperimentInput = CreateExperimentInput;
658
1257
  exports.CreateExperimentResponse = CreateExperimentResponse;
1258
+ exports.CreateIngestTokenInput = CreateIngestTokenInput;
1259
+ exports.CreatePromptInput = CreatePromptInput;
1260
+ exports.CreatePromptVersionInput = CreatePromptVersionInput;
659
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;
660
1268
  exports.EdgePushResult = EdgePushResult;
661
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;
662
1280
  exports.ExperimentListResponse = ExperimentListResponse;
663
1281
  exports.ExperimentSummary = ExperimentSummary;
664
1282
  exports.FeatureListResponse = FeatureListResponse;
665
1283
  exports.FeatureRuleListResponse = FeatureRuleListResponse;
666
1284
  exports.GovernanceSettings = GovernanceSettings;
667
1285
  exports.GovernanceStatusResponse = GovernanceStatusResponse;
1286
+ exports.HarnessJobInput = HarnessJobInput;
1287
+ exports.HarnessJobResponse = HarnessJobResponse;
1288
+ exports.HarnessOperatorDefinition = HarnessOperatorDefinition;
1289
+ exports.HarnessOperatorListResponse = HarnessOperatorListResponse;
1290
+ exports.IngestTokenListResponse = IngestTokenListResponse;
1291
+ exports.IngestTokenSummary = IngestTokenSummary;
668
1292
  exports.InvokeActionInput = InvokeActionInput;
669
1293
  exports.InvokeActionResponse = InvokeActionResponse;
1294
+ exports.ListExamplesInput = ListExamplesInput;
1295
+ exports.ListExamplesResponse = ListExamplesResponse;
670
1296
  exports.ManifestKey = ManifestKey;
671
1297
  exports.ManifestKeysResponse = ManifestKeysResponse;
1298
+ exports.PlaygroundInvokeInput = PlaygroundInvokeInput;
1299
+ exports.PlaygroundInvokeResponse = PlaygroundInvokeResponse;
1300
+ exports.PlaygroundReplayInput = PlaygroundReplayInput;
672
1301
  exports.PreviewSignInput = PreviewSignInput;
673
1302
  exports.PreviewSignResponse = PreviewSignResponse;
674
1303
  exports.ProjectListResponse = ProjectListResponse;
675
1304
  exports.PromoteEnvironmentInput = PromoteEnvironmentInput;
676
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;
677
1312
  exports.PropertyListResponse = PropertyListResponse;
678
1313
  exports.PublicationListResponse = PublicationListResponse;
679
1314
  exports.PublishManifestResponse = PublishManifestResponse;
680
1315
  exports.QualityGateResult = QualityGateResult;
681
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;
682
1324
  exports.TenantSelf = TenantSelf;
683
1325
  exports.TestCaseResult = TestCaseResult;
684
1326
  exports.TestCaseStatus = TestCaseStatus;
@@ -688,7 +1330,13 @@ exports.TestRunListInput = TestRunListInput;
688
1330
  exports.TestRunListResponse = TestRunListResponse;
689
1331
  exports.TestRunStatus = TestRunStatus;
690
1332
  exports.TestRunSummary = TestRunSummary;
1333
+ exports.TraceDetail = TraceDetail;
1334
+ exports.TraceListInput = TraceListInput;
1335
+ exports.TraceListResponse = TraceListResponse;
1336
+ exports.TraceSummaryWire = TraceSummaryWire;
691
1337
  exports.UpdateGovernanceSettingsInput = UpdateGovernanceSettingsInput;
1338
+ exports.VariantEvalListResponse = VariantEvalListResponse;
1339
+ exports.VariantEvalWire = VariantEvalWire;
692
1340
  exports.buildPath = buildPath;
693
1341
  exports.endpoints = endpoints;
694
1342
  //# sourceMappingURL=index.cjs.map