@kortyx/telemetry-contracts 0.6.0 → 0.8.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.js CHANGED
@@ -19,8 +19,14 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/index.ts
20
20
  var index_exports = {};
21
21
  __export(index_exports, {
22
+ ClearScoreResponseSchema: () => ClearScoreResponseSchema,
23
+ ClearUserFeedbackRequestSchema: () => ClearUserFeedbackRequestSchema,
22
24
  EnsureWorkflowTopologyRequestSchema: () => EnsureWorkflowTopologyRequestSchema,
23
25
  EnsureWorkflowTopologyResponseSchema: () => EnsureWorkflowTopologyResponseSchema,
26
+ FEEDBACK_FILTERS: () => FEEDBACK_FILTERS,
27
+ FeedbackReasonSchema: () => FeedbackReasonSchema,
28
+ FeedbackSummarySchema: () => FeedbackSummarySchema,
29
+ ReviewVerdictSchema: () => ReviewVerdictSchema,
24
30
  STUDIO_TIME_RANGES: () => STUDIO_TIME_RANGES,
25
31
  StudioCatalogsResponseSchema: () => StudioCatalogsResponseSchema,
26
32
  StudioChangeResourceSchema: () => StudioChangeResourceSchema,
@@ -37,13 +43,17 @@ __export(index_exports, {
37
43
  StudioMetricSchema: () => StudioMetricSchema,
38
44
  StudioPricingSourceSchema: () => StudioPricingSourceSchema,
39
45
  StudioPricingStatusSchema: () => StudioPricingStatusSchema,
46
+ StudioReleaseDeploymentSchema: () => StudioReleaseDeploymentSchema,
40
47
  StudioReleaseSchema: () => StudioReleaseSchema,
41
48
  StudioReleaseVersionSchema: () => StudioReleaseVersionSchema,
42
49
  StudioResumeOutcomeSchema: () => StudioResumeOutcomeSchema,
50
+ StudioReviewRequestSchema: () => StudioReviewRequestSchema,
43
51
  StudioRunDetailResponseSchema: () => StudioRunDetailResponseSchema,
44
52
  StudioRunSchema: () => StudioRunSchema,
45
53
  StudioRunStatusSchema: () => StudioRunStatusSchema,
46
54
  StudioRunsResponseSchema: () => StudioRunsResponseSchema,
55
+ StudioScoreResponseSchema: () => StudioScoreResponseSchema,
56
+ StudioScoreSchema: () => StudioScoreSchema,
47
57
  StudioSessionDetailResponseSchema: () => StudioSessionDetailResponseSchema,
48
58
  StudioSessionSchema: () => StudioSessionSchema,
49
59
  StudioSessionsResponseSchema: () => StudioSessionsResponseSchema,
@@ -72,6 +82,7 @@ __export(index_exports, {
72
82
  TelemetryServiceSchema: () => TelemetryServiceSchema,
73
83
  TelemetryUnitPriceSchema: () => TelemetryUnitPriceSchema,
74
84
  TelemetryUsageItemSchema: () => TelemetryUsageItemSchema,
85
+ UserFeedbackRequestSchema: () => UserFeedbackRequestSchema,
75
86
  WorkflowTopologyCallSchema: () => WorkflowTopologyCallSchema,
76
87
  WorkflowTopologyEdgeSchema: () => WorkflowTopologyEdgeSchema,
77
88
  WorkflowTopologyNodeSchema: () => WorkflowTopologyNodeSchema,
@@ -80,30 +91,110 @@ __export(index_exports, {
80
91
  projectWorkflowCalls: () => projectWorkflowCalls,
81
92
  resolveStudioInterruptStatus: () => resolveStudioInterruptStatus,
82
93
  resolveStudioTimeRange: () => resolveStudioTimeRange,
83
- studioUpdateRunning: () => studioUpdateRunning
94
+ studioUpdateRunning: () => studioUpdateRunning,
95
+ summarizeUserFeedback: () => summarizeUserFeedback
84
96
  });
85
97
  module.exports = __toCommonJS(index_exports);
86
- var import_zod2 = require("zod");
98
+ var import_zod3 = require("zod");
87
99
 
88
- // src/studio-updates.ts
100
+ // src/scores.ts
89
101
  var import_zod = require("zod");
90
- var StudioReleaseVersionSchema = import_zod.z.string().regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/);
91
- var StudioReleaseSchema = import_zod.z.object({
92
- format: import_zod.z.literal(1),
93
- installer: import_zod.z.literal(1),
102
+ var FEEDBACK_FILTERS = ["positive", "negative", "unrated"];
103
+ var FeedbackSummarySchema = import_zod.z.object({
104
+ positive: import_zod.z.number().int().nonnegative(),
105
+ negative: import_zod.z.number().int().nonnegative()
106
+ }).strict();
107
+ var FeedbackReasonSchema = import_zod.z.enum([
108
+ "incorrect",
109
+ "irrelevant",
110
+ "incomplete",
111
+ "unsafe",
112
+ "other"
113
+ ]);
114
+ var ReviewVerdictSchema = import_zod.z.enum([
115
+ "correct",
116
+ "partially-correct",
117
+ "incorrect"
118
+ ]);
119
+ var runId = import_zod.z.string().trim().min(1).max(512);
120
+ var actorId = import_zod.z.string().trim().min(1).max(256);
121
+ var comment = import_zod.z.string().trim().max(4e3).nullable().optional();
122
+ var UserFeedbackRequestSchema = import_zod.z.object({
123
+ runId,
124
+ actorId,
125
+ value: import_zod.z.union([import_zod.z.literal(0), import_zod.z.literal(1)]),
126
+ reasons: import_zod.z.array(FeedbackReasonSchema).max(5).optional(),
127
+ comment
128
+ }).strict();
129
+ var ClearUserFeedbackRequestSchema = UserFeedbackRequestSchema.pick({
130
+ runId: true,
131
+ actorId: true
132
+ });
133
+ var StudioReviewRequestSchema = import_zod.z.object({ value: ReviewVerdictSchema, comment }).strict();
134
+ var BaseScoreSchema = import_zod.z.object({
135
+ id: import_zod.z.string().uuid(),
136
+ target: import_zod.z.object({ type: import_zod.z.literal("run"), runId }).strict(),
137
+ environment: import_zod.z.string().min(1),
138
+ name: import_zod.z.string().min(1),
139
+ source: import_zod.z.enum(["end-user", "human-review", "evaluator"]),
140
+ actorId,
141
+ reasons: import_zod.z.array(FeedbackReasonSchema),
142
+ comment: import_zod.z.string().nullable(),
143
+ createdAt: import_zod.z.string().datetime({ offset: true }),
144
+ updatedAt: import_zod.z.string().datetime({ offset: true })
145
+ }).strict();
146
+ var StudioScoreSchema = import_zod.z.discriminatedUnion("dataType", [
147
+ BaseScoreSchema.extend({
148
+ dataType: import_zod.z.literal("BOOLEAN"),
149
+ value: import_zod.z.union([import_zod.z.literal(0), import_zod.z.literal(1)])
150
+ }),
151
+ BaseScoreSchema.extend({
152
+ dataType: import_zod.z.literal("CATEGORICAL"),
153
+ value: import_zod.z.string()
154
+ }),
155
+ BaseScoreSchema.extend({
156
+ dataType: import_zod.z.literal("NUMERIC"),
157
+ value: import_zod.z.number().finite()
158
+ })
159
+ ]);
160
+ var StudioScoreResponseSchema = import_zod.z.object({ score: StudioScoreSchema }).strict();
161
+ var ClearScoreResponseSchema = import_zod.z.object({ ok: import_zod.z.literal(true) }).strict();
162
+ function summarizeUserFeedback(scores) {
163
+ const feedback = { positive: 0, negative: 0 };
164
+ for (const score of scores) {
165
+ if (score.source !== "end-user" || score.name !== "user-feedback" || score.dataType !== "BOOLEAN")
166
+ continue;
167
+ if (score.value === 1) feedback.positive += 1;
168
+ if (score.value === 0) feedback.negative += 1;
169
+ }
170
+ return feedback;
171
+ }
172
+
173
+ // src/studio-updates.ts
174
+ var import_zod2 = require("zod");
175
+ var StudioReleaseVersionSchema = import_zod2.z.string().regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/);
176
+ var StudioReleaseDeploymentSchema = import_zod2.z.object({
177
+ strategy: import_zod2.z.enum(["rolling", "recreate"])
178
+ });
179
+ var StudioReleaseSchema = import_zod2.z.object({
180
+ format: import_zod2.z.literal(1),
181
+ installer: import_zod2.z.literal(1),
94
182
  version: StudioReleaseVersionSchema,
95
- api: import_zod.z.string().regex(/^ghcr\.io\/kortyx-io\/kortyx-api@sha256:[a-f0-9]{64}$/),
96
- studio: import_zod.z.string().regex(/^ghcr\.io\/kortyx-io\/kortyx-studio@sha256:[a-f0-9]{64}$/)
183
+ api: import_zod2.z.string().regex(/^ghcr\.io\/kortyx-io\/kortyx-api@sha256:[a-f0-9]{64}$/),
184
+ studio: import_zod2.z.string().regex(/^ghcr\.io\/kortyx-io\/kortyx-studio@sha256:[a-f0-9]{64}$/),
185
+ deployment: StudioReleaseDeploymentSchema.default({
186
+ strategy: "recreate"
187
+ })
97
188
  });
98
- var StudioUpdateSettingsSchema = import_zod.z.object({
99
- automatic: import_zod.z.boolean(),
100
- hourUtc: import_zod.z.number().int().min(0).max(23)
189
+ var StudioUpdateSettingsSchema = import_zod2.z.object({
190
+ automatic: import_zod2.z.boolean(),
191
+ hourUtc: import_zod2.z.number().int().min(0).max(23)
101
192
  });
102
- var StudioUpdateOperationSchema = import_zod.z.object({
103
- id: import_zod.z.uuid(),
104
- from: import_zod.z.string(),
193
+ var StudioUpdateOperationSchema = import_zod2.z.object({
194
+ id: import_zod2.z.uuid(),
195
+ from: import_zod2.z.string(),
105
196
  release: StudioReleaseSchema,
106
- phase: import_zod.z.enum([
197
+ phase: import_zod2.z.enum([
107
198
  "starting",
108
199
  "pulling",
109
200
  "backup",
@@ -112,16 +203,16 @@ var StudioUpdateOperationSchema = import_zod.z.object({
112
203
  "succeeded",
113
204
  "failed"
114
205
  ]),
115
- startedAt: import_zod.z.iso.datetime(),
116
- updatedAt: import_zod.z.iso.datetime(),
117
- backup: import_zod.z.string().nullable(),
118
- messages: import_zod.z.array(import_zod.z.string()).max(100)
206
+ startedAt: import_zod2.z.iso.datetime(),
207
+ updatedAt: import_zod2.z.iso.datetime(),
208
+ backup: import_zod2.z.string().nullable(),
209
+ messages: import_zod2.z.array(import_zod2.z.string()).max(100)
119
210
  });
120
- var StudioUpdateStatusSchema = import_zod.z.object({
121
- current: import_zod.z.string().nullable(),
211
+ var StudioUpdateStatusSchema = import_zod2.z.object({
212
+ current: import_zod2.z.string().nullable(),
122
213
  available: StudioReleaseSchema.nullable(),
123
- checkedAt: import_zod.z.iso.datetime().nullable(),
124
- checkError: import_zod.z.string().nullable(),
214
+ checkedAt: import_zod2.z.iso.datetime().nullable(),
215
+ checkError: import_zod2.z.string().nullable(),
125
216
  settings: StudioUpdateSettingsSchema,
126
217
  operation: StudioUpdateOperationSchema.nullable()
127
218
  });
@@ -265,95 +356,95 @@ var TELEMETRY_EVENT_TYPES = [
265
356
  "session.forked",
266
357
  "session.rolled_back"
267
358
  ];
268
- var TelemetryServiceSchema = import_zod2.z.object({
269
- name: import_zod2.z.string().min(1),
270
- deploymentRef: import_zod2.z.string().min(1).optional()
271
- }).strict();
272
- var WorkflowTopologyNodeSchema = import_zod2.z.object({
273
- id: import_zod2.z.string().min(1),
274
- label: import_zod2.z.string().optional(),
275
- type: import_zod2.z.string().optional(),
276
- provider: import_zod2.z.string().optional(),
277
- model: import_zod2.z.string().optional(),
278
- metadata: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()).optional()
279
- }).strict();
280
- var WorkflowTopologyEdgeSchema = import_zod2.z.object({
281
- sourceNodeId: import_zod2.z.string().min(1),
282
- targetNodeId: import_zod2.z.string().min(1),
283
- condition: import_zod2.z.string().optional()
284
- }).strict();
285
- var WorkflowTopologyCallSchema = import_zod2.z.object({
286
- sourceNodeId: import_zod2.z.string().min(1),
287
- targetWorkflowId: import_zod2.z.string().min(1)
288
- }).strict();
289
- var WorkflowTopologyTransitionSchema = import_zod2.z.object({
290
- sourceNodeId: import_zod2.z.string().min(1).optional(),
291
- targetWorkflowId: import_zod2.z.string().min(1),
292
- condition: import_zod2.z.string().optional(),
293
- intent: import_zod2.z.string().optional(),
294
- kind: import_zod2.z.enum(["call", "handoff"]).optional()
295
- }).strict();
296
- var EnsureWorkflowTopologyRequestSchema = import_zod2.z.object({
297
- schemaVersion: import_zod2.z.literal(1),
298
- environment: import_zod2.z.string().min(1),
359
+ var TelemetryServiceSchema = import_zod3.z.object({
360
+ name: import_zod3.z.string().min(1),
361
+ deploymentRef: import_zod3.z.string().min(1).optional()
362
+ }).strict();
363
+ var WorkflowTopologyNodeSchema = import_zod3.z.object({
364
+ id: import_zod3.z.string().min(1),
365
+ label: import_zod3.z.string().optional(),
366
+ type: import_zod3.z.string().optional(),
367
+ provider: import_zod3.z.string().optional(),
368
+ model: import_zod3.z.string().optional(),
369
+ metadata: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()).optional()
370
+ }).strict();
371
+ var WorkflowTopologyEdgeSchema = import_zod3.z.object({
372
+ sourceNodeId: import_zod3.z.string().min(1),
373
+ targetNodeId: import_zod3.z.string().min(1),
374
+ condition: import_zod3.z.string().optional()
375
+ }).strict();
376
+ var WorkflowTopologyCallSchema = import_zod3.z.object({
377
+ sourceNodeId: import_zod3.z.string().min(1),
378
+ targetWorkflowId: import_zod3.z.string().min(1)
379
+ }).strict();
380
+ var WorkflowTopologyTransitionSchema = import_zod3.z.object({
381
+ sourceNodeId: import_zod3.z.string().min(1).optional(),
382
+ targetWorkflowId: import_zod3.z.string().min(1),
383
+ condition: import_zod3.z.string().optional(),
384
+ intent: import_zod3.z.string().optional(),
385
+ kind: import_zod3.z.enum(["call", "handoff"]).optional()
386
+ }).strict();
387
+ var EnsureWorkflowTopologyRequestSchema = import_zod3.z.object({
388
+ schemaVersion: import_zod3.z.literal(1),
389
+ environment: import_zod3.z.string().min(1),
299
390
  service: TelemetryServiceSchema,
300
- workflow: import_zod2.z.object({
301
- id: import_zod2.z.string().min(1),
302
- declaredVersion: import_zod2.z.string().min(1),
303
- description: import_zod2.z.string().optional(),
304
- tags: import_zod2.z.array(import_zod2.z.string()).optional(),
305
- topologyHash: import_zod2.z.string().regex(/^[a-f0-9]{64}$/),
306
- nodes: import_zod2.z.array(WorkflowTopologyNodeSchema),
307
- edges: import_zod2.z.array(WorkflowTopologyEdgeSchema),
308
- transitions: import_zod2.z.array(WorkflowTopologyTransitionSchema).optional(),
309
- calls: import_zod2.z.array(WorkflowTopologyCallSchema).optional()
391
+ workflow: import_zod3.z.object({
392
+ id: import_zod3.z.string().min(1),
393
+ declaredVersion: import_zod3.z.string().min(1),
394
+ description: import_zod3.z.string().optional(),
395
+ tags: import_zod3.z.array(import_zod3.z.string()).optional(),
396
+ topologyHash: import_zod3.z.string().regex(/^[a-f0-9]{64}$/),
397
+ nodes: import_zod3.z.array(WorkflowTopologyNodeSchema),
398
+ edges: import_zod3.z.array(WorkflowTopologyEdgeSchema),
399
+ transitions: import_zod3.z.array(WorkflowTopologyTransitionSchema).optional(),
400
+ calls: import_zod3.z.array(WorkflowTopologyCallSchema).optional()
310
401
  }).strict()
311
402
  }).strict();
312
- var EnsureWorkflowTopologyResponseSchema = import_zod2.z.object({ workflowRevisionId: import_zod2.z.string().min(1), created: import_zod2.z.boolean() }).strict();
313
- var TelemetryEventTypeSchema = import_zod2.z.enum(TELEMETRY_EVENT_TYPES);
314
- var TelemetryEventSchema = import_zod2.z.object({
315
- schemaVersion: import_zod2.z.literal(1),
316
- eventId: import_zod2.z.string().min(1),
317
- occurredAt: import_zod2.z.string().datetime({ offset: true }),
318
- environment: import_zod2.z.string().min(1),
403
+ var EnsureWorkflowTopologyResponseSchema = import_zod3.z.object({ workflowRevisionId: import_zod3.z.string().min(1), created: import_zod3.z.boolean() }).strict();
404
+ var TelemetryEventTypeSchema = import_zod3.z.enum(TELEMETRY_EVENT_TYPES);
405
+ var TelemetryEventSchema = import_zod3.z.object({
406
+ schemaVersion: import_zod3.z.literal(1),
407
+ eventId: import_zod3.z.string().min(1),
408
+ occurredAt: import_zod3.z.string().datetime({ offset: true }),
409
+ environment: import_zod3.z.string().min(1),
319
410
  service: TelemetryServiceSchema,
320
- correlation: import_zod2.z.object({
321
- invocationId: import_zod2.z.string().optional(),
322
- parentInvocationId: import_zod2.z.string().optional(),
323
- branchId: import_zod2.z.string().optional(),
324
- traceId: import_zod2.z.string().optional(),
325
- spanId: import_zod2.z.string().optional(),
326
- parentSpanId: import_zod2.z.string().optional(),
327
- runId: import_zod2.z.string().min(1),
328
- sessionId: import_zod2.z.string().optional(),
329
- workflowId: import_zod2.z.string().min(1),
330
- workflowRevisionId: import_zod2.z.string().optional(),
331
- topologyHash: import_zod2.z.string().regex(/^[a-f0-9]{64}$/).optional(),
332
- nodeId: import_zod2.z.string().optional()
411
+ correlation: import_zod3.z.object({
412
+ invocationId: import_zod3.z.string().optional(),
413
+ parentInvocationId: import_zod3.z.string().optional(),
414
+ branchId: import_zod3.z.string().optional(),
415
+ traceId: import_zod3.z.string().optional(),
416
+ spanId: import_zod3.z.string().optional(),
417
+ parentSpanId: import_zod3.z.string().optional(),
418
+ runId: import_zod3.z.string().min(1),
419
+ sessionId: import_zod3.z.string().optional(),
420
+ workflowId: import_zod3.z.string().min(1),
421
+ workflowRevisionId: import_zod3.z.string().optional(),
422
+ topologyHash: import_zod3.z.string().regex(/^[a-f0-9]{64}$/).optional(),
423
+ nodeId: import_zod3.z.string().optional()
333
424
  }).strict(),
334
- context: import_zod2.z.object({
335
- userId: import_zod2.z.string().optional(),
336
- tenantId: import_zod2.z.string().optional(),
337
- tags: import_zod2.z.array(import_zod2.z.string()).optional(),
338
- metadata: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()).optional()
425
+ context: import_zod3.z.object({
426
+ userId: import_zod3.z.string().optional(),
427
+ tenantId: import_zod3.z.string().optional(),
428
+ tags: import_zod3.z.array(import_zod3.z.string()).optional(),
429
+ metadata: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()).optional()
339
430
  }).strict().optional(),
340
431
  type: TelemetryEventTypeSchema,
341
- payload: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown())
432
+ payload: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown())
342
433
  }).strict();
343
- var TelemetryEventBatchSchema = import_zod2.z.object({ events: import_zod2.z.array(TelemetryEventSchema).min(1) }).strict();
344
- var TelemetryEventBatchResponseSchema = import_zod2.z.object({
345
- accepted: import_zod2.z.number().int().nonnegative(),
346
- inserted: import_zod2.z.number().int().nonnegative(),
347
- duplicates: import_zod2.z.number().int().nonnegative()
434
+ var TelemetryEventBatchSchema = import_zod3.z.object({ events: import_zod3.z.array(TelemetryEventSchema).min(1) }).strict();
435
+ var TelemetryEventBatchResponseSchema = import_zod3.z.object({
436
+ accepted: import_zod3.z.number().int().nonnegative(),
437
+ inserted: import_zod3.z.number().int().nonnegative(),
438
+ duplicates: import_zod3.z.number().int().nonnegative()
348
439
  }).strict();
349
- var TelemetryPricingSourceSchema = import_zod2.z.enum([
440
+ var TelemetryPricingSourceSchema = import_zod3.z.enum([
350
441
  "sdk",
351
442
  "provider",
352
443
  "custom",
353
444
  "project-rate-card",
354
445
  "default-rate-card"
355
446
  ]);
356
- var TelemetryPricingUnitSchema = import_zod2.z.enum([
447
+ var TelemetryPricingUnitSchema = import_zod3.z.enum([
357
448
  "token",
358
449
  "character",
359
450
  "request",
@@ -366,7 +457,7 @@ var TelemetryPricingUnitSchema = import_zod2.z.enum([
366
457
  "minute",
367
458
  "custom"
368
459
  ]);
369
- var TelemetryPricingUsageTypeSchema = import_zod2.z.enum([
460
+ var TelemetryPricingUsageTypeSchema = import_zod3.z.enum([
370
461
  "input",
371
462
  "output",
372
463
  "reasoning",
@@ -382,42 +473,42 @@ var TelemetryPricingUsageTypeSchema = import_zod2.z.enum([
382
473
  "request",
383
474
  "custom"
384
475
  ]);
385
- var TelemetryUsageItemSchema = import_zod2.z.object({
476
+ var TelemetryUsageItemSchema = import_zod3.z.object({
386
477
  usageType: TelemetryPricingUsageTypeSchema,
387
- quantity: import_zod2.z.number().nonnegative(),
478
+ quantity: import_zod3.z.number().nonnegative(),
388
479
  unit: TelemetryPricingUnitSchema,
389
- label: import_zod2.z.string().optional()
480
+ label: import_zod3.z.string().optional()
390
481
  }).strict();
391
- var TelemetryUnitPriceSchema = import_zod2.z.object({
482
+ var TelemetryUnitPriceSchema = import_zod3.z.object({
392
483
  usageType: TelemetryPricingUsageTypeSchema,
393
484
  unit: TelemetryPricingUnitSchema,
394
- unitQuantity: import_zod2.z.number().positive().default(1),
395
- priceMicros: import_zod2.z.number().int().nonnegative(),
396
- label: import_zod2.z.string().optional()
485
+ unitQuantity: import_zod3.z.number().positive().default(1),
486
+ priceMicros: import_zod3.z.number().int().nonnegative(),
487
+ label: import_zod3.z.string().optional()
397
488
  }).strict();
398
- var TelemetryPricingLineItemSchema = import_zod2.z.object({
489
+ var TelemetryPricingLineItemSchema = import_zod3.z.object({
399
490
  usageType: TelemetryPricingUsageTypeSchema,
400
- quantity: import_zod2.z.number().nonnegative(),
491
+ quantity: import_zod3.z.number().nonnegative(),
401
492
  unit: TelemetryPricingUnitSchema,
402
- unitQuantity: import_zod2.z.number().positive().default(1),
403
- unitPriceMicros: import_zod2.z.number().int().nonnegative().optional(),
404
- totalCostMicros: import_zod2.z.number().int().nonnegative().optional(),
405
- label: import_zod2.z.string().optional()
493
+ unitQuantity: import_zod3.z.number().positive().default(1),
494
+ unitPriceMicros: import_zod3.z.number().int().nonnegative().optional(),
495
+ totalCostMicros: import_zod3.z.number().int().nonnegative().optional(),
496
+ label: import_zod3.z.string().optional()
406
497
  }).strict().refine(
407
498
  (value) => value.totalCostMicros !== void 0 || value.unitPriceMicros !== void 0,
408
499
  "line item requires totalCostMicros or unitPriceMicros"
409
500
  );
410
- var TelemetryPricingHintSchema = import_zod2.z.object({
501
+ var TelemetryPricingHintSchema = import_zod3.z.object({
411
502
  source: TelemetryPricingSourceSchema.extract(["sdk", "provider", "custom"]),
412
- currency: import_zod2.z.string().min(3).max(12).default("USD"),
413
- actualCostMicros: import_zod2.z.number().int().nonnegative().optional(),
414
- lineItems: import_zod2.z.array(TelemetryPricingLineItemSchema).optional(),
415
- unitPrices: import_zod2.z.array(TelemetryUnitPriceSchema).optional(),
416
- usageItems: import_zod2.z.array(TelemetryUsageItemSchema).optional(),
417
- pricingRef: import_zod2.z.string().min(1).optional(),
418
- metadata: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()).optional()
419
- }).strict();
420
- var StudioRunStatusSchema = import_zod2.z.enum([
503
+ currency: import_zod3.z.string().min(3).max(12).default("USD"),
504
+ actualCostMicros: import_zod3.z.number().int().nonnegative().optional(),
505
+ lineItems: import_zod3.z.array(TelemetryPricingLineItemSchema).optional(),
506
+ unitPrices: import_zod3.z.array(TelemetryUnitPriceSchema).optional(),
507
+ usageItems: import_zod3.z.array(TelemetryUsageItemSchema).optional(),
508
+ pricingRef: import_zod3.z.string().min(1).optional(),
509
+ metadata: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()).optional()
510
+ }).strict();
511
+ var StudioRunStatusSchema = import_zod3.z.enum([
421
512
  "running",
422
513
  "completed",
423
514
  "interrupted",
@@ -433,16 +524,16 @@ var STUDIO_TIME_RANGES = [
433
524
  "All time",
434
525
  "Custom range"
435
526
  ];
436
- var StudioTimeRangeSchema = import_zod2.z.enum(STUDIO_TIME_RANGES);
437
- var StudioTimeRangeQuerySchema = import_zod2.z.object({
527
+ var StudioTimeRangeSchema = import_zod3.z.enum(STUDIO_TIME_RANGES);
528
+ var StudioTimeRangeQuerySchema = import_zod3.z.object({
438
529
  range: StudioTimeRangeSchema.optional(),
439
- startedAfter: import_zod2.z.string().optional(),
440
- startedBefore: import_zod2.z.string().optional()
530
+ startedAfter: import_zod3.z.string().optional(),
531
+ startedBefore: import_zod3.z.string().optional()
441
532
  }).strict();
442
- var StudioTimeRangeContextSchema = import_zod2.z.object({
533
+ var StudioTimeRangeContextSchema = import_zod3.z.object({
443
534
  range: StudioTimeRangeSchema,
444
- startedAfter: import_zod2.z.string().datetime({ offset: true }).nullable(),
445
- startedBefore: import_zod2.z.string().datetime({ offset: true }).nullable()
535
+ startedAfter: import_zod3.z.string().datetime({ offset: true }).nullable(),
536
+ startedBefore: import_zod3.z.string().datetime({ offset: true }).nullable()
446
537
  }).strict();
447
538
  var STUDIO_TIME_RANGE_MILLISECONDS = {
448
539
  "Last hour": 60 * 60 * 1e3,
@@ -516,7 +607,7 @@ var resolveStudioTimeRange = (input, now = /* @__PURE__ */ new Date()) => {
516
607
  }
517
608
  };
518
609
  };
519
- var StudioInterruptStatusSchema = import_zod2.z.enum([
610
+ var StudioInterruptStatusSchema = import_zod3.z.enum([
520
611
  "pending",
521
612
  "resolved",
522
613
  "expired",
@@ -529,313 +620,323 @@ var resolveStudioInterruptStatus = (input, now = Date.now()) => {
529
620
  const nowMs = typeof now === "number" ? now : now.getTime();
530
621
  return Number.isFinite(expiresAt) && Number.isFinite(nowMs) && expiresAt <= nowMs ? "expired" : input.status;
531
622
  };
532
- var StudioInterruptTypeSchema = import_zod2.z.enum([
623
+ var StudioInterruptTypeSchema = import_zod3.z.enum([
533
624
  "choice",
534
625
  "multi-choice",
535
626
  "text",
536
627
  "unknown"
537
628
  ]);
538
- var StudioInterruptInteractionModeSchema = import_zod2.z.enum([
629
+ var StudioInterruptInteractionModeSchema = import_zod3.z.enum([
539
630
  "static-options",
540
631
  "dynamic-picker",
541
632
  "freeform",
542
633
  "unknown"
543
634
  ]);
544
- var StudioInterruptOptionSchema = import_zod2.z.object({
545
- id: import_zod2.z.string().min(1),
546
- label: import_zod2.z.string().min(1),
547
- description: import_zod2.z.string().nullable()
635
+ var StudioInterruptOptionSchema = import_zod3.z.object({
636
+ id: import_zod3.z.string().min(1),
637
+ label: import_zod3.z.string().min(1),
638
+ description: import_zod3.z.string().nullable()
548
639
  }).strict();
549
- var StudioResumeOutcomeSchema = import_zod2.z.enum([
640
+ var StudioResumeOutcomeSchema = import_zod3.z.enum([
550
641
  "resumed",
551
642
  "resume failed",
552
643
  "expired before resume",
553
644
  "cancelled"
554
645
  ]);
555
- var StudioWorkflowHealthSchema = import_zod2.z.enum([
646
+ var StudioWorkflowHealthSchema = import_zod3.z.enum([
556
647
  "unknown",
557
648
  "healthy",
558
649
  "degraded",
559
650
  "failing",
560
651
  "idle"
561
652
  ]);
562
- var StudioPricingStatusSchema = import_zod2.z.enum([
653
+ var StudioPricingStatusSchema = import_zod3.z.enum([
563
654
  "priced",
564
655
  "unpriced",
565
656
  "unknown"
566
657
  ]);
567
658
  var StudioPricingSourceSchema = TelemetryPricingSourceSchema.nullable();
568
- var StudioChangeResourceSchema = import_zod2.z.enum([
659
+ var StudioChangeResourceSchema = import_zod3.z.enum([
569
660
  "runs",
570
661
  "sessions",
571
662
  "interrupts"
572
663
  ]);
573
- var StudioChangeSchema = import_zod2.z.object({
574
- schemaVersion: import_zod2.z.literal(1),
575
- changeId: import_zod2.z.string().min(1),
576
- emittedAt: import_zod2.z.string().datetime({ offset: true }),
577
- organizationId: import_zod2.z.string().min(1),
578
- projectId: import_zod2.z.string().min(1),
579
- resources: import_zod2.z.array(StudioChangeResourceSchema).min(1)
580
- }).strict();
581
- var StudioMetricSchema = import_zod2.z.object({
582
- runCount: import_zod2.z.number().int().nonnegative(),
583
- successRate: import_zod2.z.number().min(0).max(100).nullable(),
584
- errorRate: import_zod2.z.number().min(0).max(100).nullable(),
585
- retryCount: import_zod2.z.number().int().nonnegative().nullable(),
586
- interruptRate: import_zod2.z.number().min(0).max(100).nullable(),
587
- p50DurationMs: import_zod2.z.number().nonnegative().nullable(),
588
- p95DurationMs: import_zod2.z.number().nonnegative().nullable(),
589
- averageTokens: import_zod2.z.number().nonnegative().nullable(),
590
- averageCost: import_zod2.z.number().nonnegative().nullable(),
591
- currency: import_zod2.z.string().nullable()
592
- }).strict();
593
- var StudioRunSchema = import_zod2.z.object({
594
- id: import_zod2.z.string().min(1),
595
- callerNodeId: import_zod2.z.string().optional(),
596
- parentRunId: import_zod2.z.string().optional(),
597
- parentWorkflowId: import_zod2.z.string().optional(),
598
- invocationId: import_zod2.z.string().optional(),
599
- branchId: import_zod2.z.string().optional(),
600
- callId: import_zod2.z.string().optional(),
664
+ var StudioChangeSchema = import_zod3.z.object({
665
+ schemaVersion: import_zod3.z.literal(1),
666
+ changeId: import_zod3.z.string().min(1),
667
+ emittedAt: import_zod3.z.string().datetime({ offset: true }),
668
+ organizationId: import_zod3.z.string().min(1),
669
+ projectId: import_zod3.z.string().min(1),
670
+ resources: import_zod3.z.array(StudioChangeResourceSchema).min(1)
671
+ }).strict();
672
+ var StudioMetricSchema = import_zod3.z.object({
673
+ runCount: import_zod3.z.number().int().nonnegative(),
674
+ successRate: import_zod3.z.number().min(0).max(100).nullable(),
675
+ errorRate: import_zod3.z.number().min(0).max(100).nullable(),
676
+ retryCount: import_zod3.z.number().int().nonnegative().nullable(),
677
+ interruptRate: import_zod3.z.number().min(0).max(100).nullable(),
678
+ p50DurationMs: import_zod3.z.number().nonnegative().nullable(),
679
+ p95DurationMs: import_zod3.z.number().nonnegative().nullable(),
680
+ averageTokens: import_zod3.z.number().nonnegative().nullable(),
681
+ averageCost: import_zod3.z.number().nonnegative().nullable(),
682
+ currency: import_zod3.z.string().nullable()
683
+ }).strict();
684
+ var StudioRunSchema = import_zod3.z.object({
685
+ id: import_zod3.z.string().min(1),
686
+ feedback: FeedbackSummarySchema.optional(),
687
+ callerNodeId: import_zod3.z.string().optional(),
688
+ parentRunId: import_zod3.z.string().optional(),
689
+ parentWorkflowId: import_zod3.z.string().optional(),
690
+ invocationId: import_zod3.z.string().optional(),
691
+ branchId: import_zod3.z.string().optional(),
692
+ callId: import_zod3.z.string().optional(),
601
693
  status: StudioRunStatusSchema,
602
- startedAt: import_zod2.z.string().datetime({ offset: true }),
603
- endedAt: import_zod2.z.string().datetime({ offset: true }).nullable(),
604
- workflowId: import_zod2.z.string().min(1),
605
- workflowIds: import_zod2.z.array(import_zod2.z.string().min(1)),
606
- workflowRefs: import_zod2.z.array(
607
- import_zod2.z.object({
608
- workflowId: import_zod2.z.string().min(1),
609
- workflowRevisionId: import_zod2.z.string().nullable(),
610
- declaredVersion: import_zod2.z.string().nullable()
694
+ startedAt: import_zod3.z.string().datetime({ offset: true }),
695
+ endedAt: import_zod3.z.string().datetime({ offset: true }).nullable(),
696
+ workflowId: import_zod3.z.string().min(1),
697
+ workflowIds: import_zod3.z.array(import_zod3.z.string().min(1)),
698
+ workflowRefs: import_zod3.z.array(
699
+ import_zod3.z.object({
700
+ workflowId: import_zod3.z.string().min(1),
701
+ workflowRevisionId: import_zod3.z.string().nullable(),
702
+ declaredVersion: import_zod3.z.string().nullable()
611
703
  }).strict()
612
704
  ),
613
- workflowRevisionId: import_zod2.z.string().nullable(),
614
- declaredVersion: import_zod2.z.string().nullable(),
615
- transitionIds: import_zod2.z.array(import_zod2.z.string().min(1)),
616
- path: import_zod2.z.array(import_zod2.z.string()),
617
- sessionId: import_zod2.z.string().nullable(),
618
- provider: import_zod2.z.string().nullable(),
619
- model: import_zod2.z.string().nullable(),
620
- models: import_zod2.z.array(import_zod2.z.string()),
621
- durationMs: import_zod2.z.number().nonnegative().nullable(),
622
- tokens: import_zod2.z.number().int().nonnegative().nullable(),
623
- cost: import_zod2.z.number().nonnegative().nullable(),
705
+ workflowRevisionId: import_zod3.z.string().nullable(),
706
+ declaredVersion: import_zod3.z.string().nullable(),
707
+ transitionIds: import_zod3.z.array(import_zod3.z.string().min(1)),
708
+ path: import_zod3.z.array(import_zod3.z.string()),
709
+ sessionId: import_zod3.z.string().nullable(),
710
+ provider: import_zod3.z.string().nullable(),
711
+ model: import_zod3.z.string().nullable(),
712
+ models: import_zod3.z.array(import_zod3.z.string()),
713
+ durationMs: import_zod3.z.number().nonnegative().nullable(),
714
+ tokens: import_zod3.z.number().int().nonnegative().nullable(),
715
+ cost: import_zod3.z.number().nonnegative().nullable(),
624
716
  pricingStatus: StudioPricingStatusSchema,
625
717
  pricingSource: StudioPricingSourceSchema,
626
- currency: import_zod2.z.string().nullable(),
627
- result: import_zod2.z.string().nullable(),
628
- environment: import_zod2.z.string().min(1),
629
- userId: import_zod2.z.string().nullable(),
630
- tenantId: import_zod2.z.string().nullable(),
631
- hasTool: import_zod2.z.boolean(),
632
- hasRetry: import_zod2.z.boolean(),
633
- interruptNodeId: import_zod2.z.string().nullable(),
634
- interruptId: import_zod2.z.string().nullable().optional(),
718
+ currency: import_zod3.z.string().nullable(),
719
+ result: import_zod3.z.string().nullable(),
720
+ environment: import_zod3.z.string().min(1),
721
+ userId: import_zod3.z.string().nullable(),
722
+ tenantId: import_zod3.z.string().nullable(),
723
+ hasTool: import_zod3.z.boolean(),
724
+ hasRetry: import_zod3.z.boolean(),
725
+ interruptNodeId: import_zod3.z.string().nullable(),
726
+ interruptId: import_zod3.z.string().nullable().optional(),
635
727
  interruptStatus: StudioInterruptStatusSchema.nullable().optional(),
636
- interruptExpiresAt: import_zod2.z.string().datetime({ offset: true }).nullable().optional()
728
+ interruptExpiresAt: import_zod3.z.string().datetime({ offset: true }).nullable().optional()
637
729
  }).strict();
638
- var StudioSessionSchema = import_zod2.z.object({
639
- id: import_zod2.z.string().min(1),
730
+ var StudioSessionSchema = import_zod3.z.object({
731
+ id: import_zod3.z.string().min(1),
640
732
  status: StudioRunStatusSchema,
641
- lastActivityAt: import_zod2.z.string().datetime({ offset: true }),
642
- workflowIds: import_zod2.z.array(import_zod2.z.string()),
643
- workflowCount: import_zod2.z.number().int().nonnegative(),
644
- activeWorkflowId: import_zod2.z.string().nullable(),
645
- activeVersion: import_zod2.z.string().nullable(),
646
- userId: import_zod2.z.string().nullable(),
647
- tenantId: import_zod2.z.string().nullable(),
648
- runs: import_zod2.z.number().int().nonnegative(),
649
- succeeded: import_zod2.z.number().int().nonnegative(),
650
- failed: import_zod2.z.number().int().nonnegative(),
651
- interrupted: import_zod2.z.number().int().nonnegative(),
652
- checkpoints: import_zod2.z.number().int().nonnegative(),
653
- hasFork: import_zod2.z.boolean(),
654
- durationMs: import_zod2.z.number().nonnegative().nullable(),
655
- tokens: import_zod2.z.number().int().nonnegative().nullable(),
656
- cost: import_zod2.z.number().nonnegative().nullable(),
733
+ lastActivityAt: import_zod3.z.string().datetime({ offset: true }),
734
+ workflowIds: import_zod3.z.array(import_zod3.z.string()),
735
+ workflowCount: import_zod3.z.number().int().nonnegative(),
736
+ activeWorkflowId: import_zod3.z.string().nullable(),
737
+ activeVersion: import_zod3.z.string().nullable(),
738
+ userId: import_zod3.z.string().nullable(),
739
+ tenantId: import_zod3.z.string().nullable(),
740
+ runs: import_zod3.z.number().int().nonnegative(),
741
+ succeeded: import_zod3.z.number().int().nonnegative(),
742
+ failed: import_zod3.z.number().int().nonnegative(),
743
+ interrupted: import_zod3.z.number().int().nonnegative(),
744
+ checkpoints: import_zod3.z.number().int().nonnegative(),
745
+ hasFork: import_zod3.z.boolean(),
746
+ durationMs: import_zod3.z.number().nonnegative().nullable(),
747
+ tokens: import_zod3.z.number().int().nonnegative().nullable(),
748
+ cost: import_zod3.z.number().nonnegative().nullable(),
657
749
  pricingStatus: StudioPricingStatusSchema,
658
750
  pricingSource: StudioPricingSourceSchema,
659
- currency: import_zod2.z.string().nullable(),
660
- latestResult: import_zod2.z.string().nullable(),
661
- latestError: import_zod2.z.string().nullable(),
662
- pendingInterruptId: import_zod2.z.string().nullable(),
751
+ currency: import_zod3.z.string().nullable(),
752
+ latestResult: import_zod3.z.string().nullable(),
753
+ latestError: import_zod3.z.string().nullable(),
754
+ pendingInterruptId: import_zod3.z.string().nullable(),
663
755
  interruptStatus: StudioInterruptStatusSchema.nullable().optional(),
664
- interruptExpiresAt: import_zod2.z.string().datetime({ offset: true }).nullable().optional(),
665
- providers: import_zod2.z.array(import_zod2.z.string()),
666
- models: import_zod2.z.array(import_zod2.z.string()),
667
- tags: import_zod2.z.array(import_zod2.z.string()),
668
- environment: import_zod2.z.string().min(1)
669
- }).strict();
670
- var StudioInterruptSchema = import_zod2.z.object({
671
- afterResponseCompleted: import_zod2.z.boolean().optional(),
672
- id: import_zod2.z.string().min(1),
756
+ interruptExpiresAt: import_zod3.z.string().datetime({ offset: true }).nullable().optional(),
757
+ providers: import_zod3.z.array(import_zod3.z.string()),
758
+ models: import_zod3.z.array(import_zod3.z.string()),
759
+ tags: import_zod3.z.array(import_zod3.z.string()),
760
+ environment: import_zod3.z.string().min(1)
761
+ }).strict();
762
+ var StudioInterruptSchema = import_zod3.z.object({
763
+ afterResponseCompleted: import_zod3.z.boolean().optional(),
764
+ id: import_zod3.z.string().min(1),
673
765
  status: StudioInterruptStatusSchema,
674
766
  type: StudioInterruptTypeSchema,
675
767
  interactionMode: StudioInterruptInteractionModeSchema,
676
- schemaId: import_zod2.z.string().nullable(),
677
- schemaVersion: import_zod2.z.string().nullable(),
678
- createdAt: import_zod2.z.string().datetime({ offset: true }),
679
- resolvedAt: import_zod2.z.string().datetime({ offset: true }).nullable(),
680
- expiresAt: import_zod2.z.string().datetime({ offset: true }).nullable(),
681
- question: import_zod2.z.string().nullable(),
682
- contentCaptured: import_zod2.z.boolean(),
683
- optionCount: import_zod2.z.number().int().nonnegative().nullable(),
684
- options: import_zod2.z.array(StudioInterruptOptionSchema).nullable(),
685
- workflowId: import_zod2.z.string().min(1),
686
- nodeId: import_zod2.z.string().nullable(),
687
- sessionId: import_zod2.z.string().nullable(),
688
- userId: import_zod2.z.string().nullable(),
689
- tenantId: import_zod2.z.string().nullable(),
690
- response: import_zod2.z.string().nullable(),
691
- responseCaptured: import_zod2.z.boolean(),
768
+ schemaId: import_zod3.z.string().nullable(),
769
+ schemaVersion: import_zod3.z.string().nullable(),
770
+ createdAt: import_zod3.z.string().datetime({ offset: true }),
771
+ resolvedAt: import_zod3.z.string().datetime({ offset: true }).nullable(),
772
+ expiresAt: import_zod3.z.string().datetime({ offset: true }).nullable(),
773
+ question: import_zod3.z.string().nullable(),
774
+ contentCaptured: import_zod3.z.boolean(),
775
+ optionCount: import_zod3.z.number().int().nonnegative().nullable(),
776
+ options: import_zod3.z.array(StudioInterruptOptionSchema).nullable(),
777
+ workflowId: import_zod3.z.string().min(1),
778
+ nodeId: import_zod3.z.string().nullable(),
779
+ sessionId: import_zod3.z.string().nullable(),
780
+ userId: import_zod3.z.string().nullable(),
781
+ tenantId: import_zod3.z.string().nullable(),
782
+ response: import_zod3.z.string().nullable(),
783
+ responseCaptured: import_zod3.z.boolean(),
692
784
  resumeOutcome: StudioResumeOutcomeSchema.nullable(),
693
- resumeError: import_zod2.z.string().nullable(),
694
- runId: import_zod2.z.string().min(1),
695
- resumeToken: import_zod2.z.string().nullable(),
696
- resolvedBy: import_zod2.z.string().nullable(),
697
- environment: import_zod2.z.string().min(1)
698
- }).strict();
699
- var StudioDetailEventSchema = import_zod2.z.object({
700
- id: import_zod2.z.string().min(1),
785
+ resumeError: import_zod3.z.string().nullable(),
786
+ runId: import_zod3.z.string().min(1),
787
+ resumeToken: import_zod3.z.string().nullable(),
788
+ resolvedBy: import_zod3.z.string().nullable(),
789
+ environment: import_zod3.z.string().min(1)
790
+ }).strict();
791
+ var StudioDetailEventSchema = import_zod3.z.object({
792
+ id: import_zod3.z.string().min(1),
701
793
  type: TelemetryEventTypeSchema,
702
- occurredAt: import_zod2.z.string().datetime({ offset: true }),
703
- receivedAt: import_zod2.z.string().datetime({ offset: true }),
704
- environment: import_zod2.z.string().min(1),
705
- serviceName: import_zod2.z.string().min(1),
706
- deploymentRef: import_zod2.z.string().nullable(),
707
- traceId: import_zod2.z.string().nullable(),
708
- spanId: import_zod2.z.string().nullable(),
709
- parentSpanId: import_zod2.z.string().nullable(),
710
- runId: import_zod2.z.string().min(1),
711
- sessionId: import_zod2.z.string().nullable(),
712
- workflowId: import_zod2.z.string().min(1),
713
- workflowRevisionId: import_zod2.z.string().nullable(),
714
- nodeId: import_zod2.z.string().nullable(),
715
- userId: import_zod2.z.string().nullable(),
716
- tenantId: import_zod2.z.string().nullable(),
717
- tags: import_zod2.z.array(import_zod2.z.string()),
718
- metadata: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()).nullable(),
719
- payload: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown())
720
- }).strict();
721
- var StudioWorkflowNodeSchema = import_zod2.z.object({
722
- id: import_zod2.z.string().min(1),
723
- label: import_zod2.z.string(),
724
- type: import_zod2.z.string().nullable(),
725
- state: import_zod2.z.enum(["healthy", "warning", "failed", "interrupted", "retried"]).nullable(),
726
- provider: import_zod2.z.string().nullable(),
727
- model: import_zod2.z.string().nullable(),
794
+ occurredAt: import_zod3.z.string().datetime({ offset: true }),
795
+ receivedAt: import_zod3.z.string().datetime({ offset: true }),
796
+ environment: import_zod3.z.string().min(1),
797
+ serviceName: import_zod3.z.string().min(1),
798
+ deploymentRef: import_zod3.z.string().nullable(),
799
+ traceId: import_zod3.z.string().nullable(),
800
+ spanId: import_zod3.z.string().nullable(),
801
+ parentSpanId: import_zod3.z.string().nullable(),
802
+ runId: import_zod3.z.string().min(1),
803
+ sessionId: import_zod3.z.string().nullable(),
804
+ workflowId: import_zod3.z.string().min(1),
805
+ workflowRevisionId: import_zod3.z.string().nullable(),
806
+ nodeId: import_zod3.z.string().nullable(),
807
+ userId: import_zod3.z.string().nullable(),
808
+ tenantId: import_zod3.z.string().nullable(),
809
+ tags: import_zod3.z.array(import_zod3.z.string()),
810
+ metadata: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()).nullable(),
811
+ payload: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown())
812
+ }).strict();
813
+ var StudioWorkflowNodeSchema = import_zod3.z.object({
814
+ id: import_zod3.z.string().min(1),
815
+ label: import_zod3.z.string(),
816
+ type: import_zod3.z.string().nullable(),
817
+ state: import_zod3.z.enum(["healthy", "warning", "failed", "interrupted", "retried"]).nullable(),
818
+ provider: import_zod3.z.string().nullable(),
819
+ model: import_zod3.z.string().nullable(),
728
820
  metrics: StudioMetricSchema
729
821
  }).strict();
730
- var StudioWorkflowInternalEdgeSchema = import_zod2.z.object({
731
- id: import_zod2.z.string().min(1),
732
- source: import_zod2.z.string().min(1),
733
- target: import_zod2.z.string().min(1),
734
- condition: import_zod2.z.string().nullable()
735
- }).strict();
736
- var StudioWorkflowTransitionSchema = import_zod2.z.object({
737
- kind: import_zod2.z.enum(["call", "handoff"]).optional(),
738
- id: import_zod2.z.string().min(1),
739
- sourceWorkflowId: import_zod2.z.string().min(1),
740
- sourceNodeId: import_zod2.z.string().nullable(),
741
- targetWorkflowId: import_zod2.z.string().min(1),
742
- condition: import_zod2.z.string().nullable(),
743
- volume: import_zod2.z.number().int().nonnegative(),
744
- successRate: import_zod2.z.number().min(0).max(100).nullable(),
745
- medianDurationMs: import_zod2.z.number().nonnegative().nullable(),
746
- errorRate: import_zod2.z.number().min(0).max(100).nullable()
747
- }).strict();
748
- var StudioWorkflowSchema = import_zod2.z.object({
749
- id: import_zod2.z.string().min(1),
750
- name: import_zod2.z.string().min(1),
751
- description: import_zod2.z.string().nullable(),
752
- versions: import_zod2.z.array(import_zod2.z.string()),
753
- activeVersion: import_zod2.z.string().nullable(),
754
- activeRevisionId: import_zod2.z.string().nullable(),
822
+ var StudioWorkflowInternalEdgeSchema = import_zod3.z.object({
823
+ id: import_zod3.z.string().min(1),
824
+ source: import_zod3.z.string().min(1),
825
+ target: import_zod3.z.string().min(1),
826
+ condition: import_zod3.z.string().nullable()
827
+ }).strict();
828
+ var StudioWorkflowTransitionSchema = import_zod3.z.object({
829
+ kind: import_zod3.z.enum(["call", "handoff"]).optional(),
830
+ id: import_zod3.z.string().min(1),
831
+ sourceWorkflowId: import_zod3.z.string().min(1),
832
+ sourceNodeId: import_zod3.z.string().nullable(),
833
+ targetWorkflowId: import_zod3.z.string().min(1),
834
+ condition: import_zod3.z.string().nullable(),
835
+ volume: import_zod3.z.number().int().nonnegative(),
836
+ successRate: import_zod3.z.number().min(0).max(100).nullable(),
837
+ medianDurationMs: import_zod3.z.number().nonnegative().nullable(),
838
+ errorRate: import_zod3.z.number().min(0).max(100).nullable()
839
+ }).strict();
840
+ var StudioWorkflowSchema = import_zod3.z.object({
841
+ id: import_zod3.z.string().min(1),
842
+ name: import_zod3.z.string().min(1),
843
+ description: import_zod3.z.string().nullable(),
844
+ versions: import_zod3.z.array(import_zod3.z.string()),
845
+ activeVersion: import_zod3.z.string().nullable(),
846
+ activeRevisionId: import_zod3.z.string().nullable(),
755
847
  health: StudioWorkflowHealthSchema,
756
- tags: import_zod2.z.array(import_zod2.z.string()),
757
- lastActivityAt: import_zod2.z.string().datetime({ offset: true }).nullable(),
848
+ tags: import_zod3.z.array(import_zod3.z.string()),
849
+ lastActivityAt: import_zod3.z.string().datetime({ offset: true }).nullable(),
758
850
  metrics: StudioMetricSchema,
759
- nodes: import_zod2.z.array(StudioWorkflowNodeSchema),
760
- internalEdges: import_zod2.z.array(StudioWorkflowInternalEdgeSchema)
851
+ nodes: import_zod3.z.array(StudioWorkflowNodeSchema),
852
+ internalEdges: import_zod3.z.array(StudioWorkflowInternalEdgeSchema)
761
853
  }).strict();
762
- var StudioRunsResponseSchema = import_zod2.z.object({
763
- runs: import_zod2.z.array(StudioRunSchema),
764
- totalCount: import_zod2.z.number().int().nonnegative()
854
+ var StudioRunsResponseSchema = import_zod3.z.object({
855
+ runs: import_zod3.z.array(StudioRunSchema),
856
+ totalCount: import_zod3.z.number().int().nonnegative()
765
857
  }).strict();
766
- var StudioSessionsResponseSchema = import_zod2.z.object({
767
- sessions: import_zod2.z.array(StudioSessionSchema),
768
- totalCount: import_zod2.z.number().int().nonnegative()
858
+ var StudioSessionsResponseSchema = import_zod3.z.object({
859
+ sessions: import_zod3.z.array(StudioSessionSchema),
860
+ totalCount: import_zod3.z.number().int().nonnegative()
769
861
  }).strict();
770
- var StudioInterruptsResponseSchema = import_zod2.z.object({
771
- interrupts: import_zod2.z.array(StudioInterruptSchema),
772
- totalCount: import_zod2.z.number().int().nonnegative()
862
+ var StudioInterruptsResponseSchema = import_zod3.z.object({
863
+ interrupts: import_zod3.z.array(StudioInterruptSchema),
864
+ totalCount: import_zod3.z.number().int().nonnegative()
773
865
  }).strict();
774
- var StudioRunDetailResponseSchema = import_zod2.z.object({
866
+ var StudioRunDetailResponseSchema = import_zod3.z.object({
775
867
  run: StudioRunSchema,
776
- events: import_zod2.z.array(StudioDetailEventSchema),
868
+ scores: import_zod3.z.array(StudioScoreSchema).optional(),
869
+ canReview: import_zod3.z.boolean().optional(),
870
+ reviewActorId: import_zod3.z.string().optional(),
871
+ events: import_zod3.z.array(StudioDetailEventSchema),
777
872
  session: StudioSessionSchema.nullable(),
778
- interrupts: import_zod2.z.array(StudioInterruptSchema),
779
- updatedAt: import_zod2.z.string().datetime({ offset: true })
873
+ interrupts: import_zod3.z.array(StudioInterruptSchema),
874
+ updatedAt: import_zod3.z.string().datetime({ offset: true })
780
875
  }).strict();
781
- var StudioSessionDetailResponseSchema = import_zod2.z.object({
876
+ var StudioSessionDetailResponseSchema = import_zod3.z.object({
782
877
  session: StudioSessionSchema,
783
- runs: import_zod2.z.array(StudioRunSchema),
784
- events: import_zod2.z.array(StudioDetailEventSchema),
785
- interrupts: import_zod2.z.array(StudioInterruptSchema),
786
- updatedAt: import_zod2.z.string().datetime({ offset: true })
878
+ runs: import_zod3.z.array(StudioRunSchema),
879
+ events: import_zod3.z.array(StudioDetailEventSchema),
880
+ interrupts: import_zod3.z.array(StudioInterruptSchema),
881
+ updatedAt: import_zod3.z.string().datetime({ offset: true })
787
882
  }).strict();
788
- var StudioInterruptDetailResponseSchema = import_zod2.z.object({
883
+ var StudioInterruptDetailResponseSchema = import_zod3.z.object({
789
884
  interrupt: StudioInterruptSchema,
790
- events: import_zod2.z.array(StudioDetailEventSchema),
885
+ events: import_zod3.z.array(StudioDetailEventSchema),
791
886
  run: StudioRunSchema.nullable(),
792
887
  session: StudioSessionSchema.nullable(),
793
- updatedAt: import_zod2.z.string().datetime({ offset: true })
888
+ updatedAt: import_zod3.z.string().datetime({ offset: true })
794
889
  }).strict();
795
- var StudioWorkflowsResponseSchema = import_zod2.z.object({
796
- workflows: import_zod2.z.array(StudioWorkflowSchema),
797
- observedCalls: import_zod2.z.array(
890
+ var StudioWorkflowsResponseSchema = import_zod3.z.object({
891
+ workflows: import_zod3.z.array(StudioWorkflowSchema),
892
+ observedCalls: import_zod3.z.array(
798
893
  StudioWorkflowTransitionSchema.extend({
799
- runId: import_zod2.z.string(),
800
- invocationId: import_zod2.z.string(),
801
- branchId: import_zod2.z.string()
894
+ runId: import_zod3.z.string(),
895
+ invocationId: import_zod3.z.string(),
896
+ branchId: import_zod3.z.string()
802
897
  })
803
898
  ).optional(),
804
- transitions: import_zod2.z.array(StudioWorkflowTransitionSchema),
899
+ transitions: import_zod3.z.array(StudioWorkflowTransitionSchema),
805
900
  cohort: StudioTimeRangeContextSchema.extend({
806
- workflowId: import_zod2.z.string().nullable(),
807
- version: import_zod2.z.string().nullable()
901
+ workflowId: import_zod3.z.string().nullable(),
902
+ version: import_zod3.z.string().nullable()
808
903
  }).strict()
809
904
  }).strict();
810
- var StudioCatalogsResponseSchema = import_zod2.z.object({
811
- environments: import_zod2.z.array(import_zod2.z.string()),
812
- providers: import_zod2.z.array(import_zod2.z.string()),
813
- models: import_zod2.z.array(import_zod2.z.string()),
814
- workflows: import_zod2.z.array(import_zod2.z.string()),
815
- tags: import_zod2.z.array(import_zod2.z.string())
905
+ var StudioCatalogsResponseSchema = import_zod3.z.object({
906
+ environments: import_zod3.z.array(import_zod3.z.string()),
907
+ providers: import_zod3.z.array(import_zod3.z.string()),
908
+ models: import_zod3.z.array(import_zod3.z.string()),
909
+ workflows: import_zod3.z.array(import_zod3.z.string()),
910
+ tags: import_zod3.z.array(import_zod3.z.string())
816
911
  }).strict();
817
- var StudioContextResponseSchema = import_zod2.z.object({
818
- organization: import_zod2.z.object({
819
- name: import_zod2.z.string().min(1)
912
+ var StudioContextResponseSchema = import_zod3.z.object({
913
+ organization: import_zod3.z.object({
914
+ name: import_zod3.z.string().min(1)
820
915
  }).strict(),
821
- project: import_zod2.z.object({
822
- name: import_zod2.z.string().min(1)
916
+ project: import_zod3.z.object({
917
+ name: import_zod3.z.string().min(1)
823
918
  }).strict(),
824
- environments: import_zod2.z.array(import_zod2.z.string()),
825
- apiKey: import_zod2.z.object({
826
- mode: import_zod2.z.enum(["test", "live"]),
827
- scopes: import_zod2.z.array(import_zod2.z.string())
919
+ environments: import_zod3.z.array(import_zod3.z.string()),
920
+ apiKey: import_zod3.z.object({
921
+ mode: import_zod3.z.enum(["test", "live"]),
922
+ scopes: import_zod3.z.array(import_zod3.z.string())
828
923
  }).strict(),
829
- api: import_zod2.z.object({
830
- status: import_zod2.z.literal("ok"),
831
- service: import_zod2.z.literal("kortyx-api"),
832
- version: import_zod2.z.string().min(1)
924
+ api: import_zod3.z.object({
925
+ status: import_zod3.z.literal("ok"),
926
+ service: import_zod3.z.literal("kortyx-api"),
927
+ version: import_zod3.z.string().min(1)
833
928
  }).strict()
834
929
  }).strict();
835
930
  // Annotate the CommonJS export names for ESM import in node:
836
931
  0 && (module.exports = {
932
+ ClearScoreResponseSchema,
933
+ ClearUserFeedbackRequestSchema,
837
934
  EnsureWorkflowTopologyRequestSchema,
838
935
  EnsureWorkflowTopologyResponseSchema,
936
+ FEEDBACK_FILTERS,
937
+ FeedbackReasonSchema,
938
+ FeedbackSummarySchema,
939
+ ReviewVerdictSchema,
839
940
  STUDIO_TIME_RANGES,
840
941
  StudioCatalogsResponseSchema,
841
942
  StudioChangeResourceSchema,
@@ -852,13 +953,17 @@ var StudioContextResponseSchema = import_zod2.z.object({
852
953
  StudioMetricSchema,
853
954
  StudioPricingSourceSchema,
854
955
  StudioPricingStatusSchema,
956
+ StudioReleaseDeploymentSchema,
855
957
  StudioReleaseSchema,
856
958
  StudioReleaseVersionSchema,
857
959
  StudioResumeOutcomeSchema,
960
+ StudioReviewRequestSchema,
858
961
  StudioRunDetailResponseSchema,
859
962
  StudioRunSchema,
860
963
  StudioRunStatusSchema,
861
964
  StudioRunsResponseSchema,
965
+ StudioScoreResponseSchema,
966
+ StudioScoreSchema,
862
967
  StudioSessionDetailResponseSchema,
863
968
  StudioSessionSchema,
864
969
  StudioSessionsResponseSchema,
@@ -887,6 +992,7 @@ var StudioContextResponseSchema = import_zod2.z.object({
887
992
  TelemetryServiceSchema,
888
993
  TelemetryUnitPriceSchema,
889
994
  TelemetryUsageItemSchema,
995
+ UserFeedbackRequestSchema,
890
996
  WorkflowTopologyCallSchema,
891
997
  WorkflowTopologyEdgeSchema,
892
998
  WorkflowTopologyNodeSchema,
@@ -895,6 +1001,7 @@ var StudioContextResponseSchema = import_zod2.z.object({
895
1001
  projectWorkflowCalls,
896
1002
  resolveStudioInterruptStatus,
897
1003
  resolveStudioTimeRange,
898
- studioUpdateRunning
1004
+ studioUpdateRunning,
1005
+ summarizeUserFeedback
899
1006
  });
900
1007
  //# sourceMappingURL=index.js.map