@kortyx/telemetry-contracts 0.8.0 → 0.10.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/CHANGELOG.md +14 -0
- package/dist/index.d.ts +299 -2
- package/dist/index.js +487 -362
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -60,6 +60,7 @@ __export(index_exports, {
|
|
|
60
60
|
StudioTimeRangeContextSchema: () => StudioTimeRangeContextSchema,
|
|
61
61
|
StudioTimeRangeQuerySchema: () => StudioTimeRangeQuerySchema,
|
|
62
62
|
StudioTimeRangeSchema: () => StudioTimeRangeSchema,
|
|
63
|
+
StudioToolSchema: () => StudioToolSchema,
|
|
63
64
|
StudioUpdateOperationSchema: () => StudioUpdateOperationSchema,
|
|
64
65
|
StudioUpdateSettingsSchema: () => StudioUpdateSettingsSchema,
|
|
65
66
|
StudioUpdateStatusSchema: () => StudioUpdateStatusSchema,
|
|
@@ -82,7 +83,11 @@ __export(index_exports, {
|
|
|
82
83
|
TelemetryServiceSchema: () => TelemetryServiceSchema,
|
|
83
84
|
TelemetryUnitPriceSchema: () => TelemetryUnitPriceSchema,
|
|
84
85
|
TelemetryUsageItemSchema: () => TelemetryUsageItemSchema,
|
|
86
|
+
ToolDiscoverySchema: () => ToolDiscoverySchema,
|
|
87
|
+
ToolObservationSchema: () => ToolObservationSchema,
|
|
88
|
+
ToolOutcomeSchema: () => ToolOutcomeSchema,
|
|
85
89
|
UserFeedbackRequestSchema: () => UserFeedbackRequestSchema,
|
|
90
|
+
WorkflowToolSchema: () => WorkflowToolSchema,
|
|
86
91
|
WorkflowTopologyCallSchema: () => WorkflowTopologyCallSchema,
|
|
87
92
|
WorkflowTopologyEdgeSchema: () => WorkflowTopologyEdgeSchema,
|
|
88
93
|
WorkflowTopologyNodeSchema: () => WorkflowTopologyNodeSchema,
|
|
@@ -95,7 +100,7 @@ __export(index_exports, {
|
|
|
95
100
|
summarizeUserFeedback: () => summarizeUserFeedback
|
|
96
101
|
});
|
|
97
102
|
module.exports = __toCommonJS(index_exports);
|
|
98
|
-
var
|
|
103
|
+
var import_zod4 = require("zod");
|
|
99
104
|
|
|
100
105
|
// src/scores.ts
|
|
101
106
|
var import_zod = require("zod");
|
|
@@ -170,31 +175,94 @@ function summarizeUserFeedback(scores) {
|
|
|
170
175
|
return feedback;
|
|
171
176
|
}
|
|
172
177
|
|
|
173
|
-
// src/
|
|
178
|
+
// src/tools.ts
|
|
174
179
|
var import_zod2 = require("zod");
|
|
175
|
-
var
|
|
176
|
-
|
|
177
|
-
|
|
180
|
+
var ToolOutcomeSchema = import_zod2.z.enum([
|
|
181
|
+
"success",
|
|
182
|
+
"denied",
|
|
183
|
+
"fault",
|
|
184
|
+
"cancelled"
|
|
185
|
+
]);
|
|
186
|
+
var ToolObservationSchema = import_zod2.z.object({
|
|
187
|
+
version: import_zod2.z.literal(1),
|
|
188
|
+
name: import_zod2.z.string().min(1).max(256),
|
|
189
|
+
toolCallId: import_zod2.z.string().min(1),
|
|
190
|
+
attemptId: import_zod2.z.string().min(1),
|
|
191
|
+
callingMode: import_zod2.z.enum(["direct", "model"]),
|
|
192
|
+
executed: import_zod2.z.boolean(),
|
|
193
|
+
outcome: ToolOutcomeSchema.optional(),
|
|
194
|
+
denialCode: import_zod2.z.string().regex(/^[A-Z][A-Z0-9_]{0,63}$/).optional(),
|
|
195
|
+
errorType: import_zod2.z.string().max(256).optional(),
|
|
196
|
+
errorMessage: import_zod2.z.string().max(8192).optional(),
|
|
197
|
+
durationMs: import_zod2.z.number().finite().nonnegative().optional(),
|
|
198
|
+
workflowId: import_zod2.z.string().optional(),
|
|
199
|
+
nodeId: import_zod2.z.string().optional(),
|
|
200
|
+
workflowRevisionId: import_zod2.z.string().optional(),
|
|
201
|
+
runId: import_zod2.z.string().optional(),
|
|
202
|
+
invocationId: import_zod2.z.string().optional(),
|
|
203
|
+
parentInvocationId: import_zod2.z.string().optional(),
|
|
204
|
+
branchId: import_zod2.z.string().optional(),
|
|
205
|
+
observationKind: import_zod2.z.enum(["reused", "waiting"]).optional(),
|
|
206
|
+
suspended: import_zod2.z.boolean().optional(),
|
|
207
|
+
source: import_zod2.z.object({
|
|
208
|
+
runId: import_zod2.z.string().optional(),
|
|
209
|
+
invocationId: import_zod2.z.string().optional(),
|
|
210
|
+
branchId: import_zod2.z.string().optional(),
|
|
211
|
+
toolCallId: import_zod2.z.string(),
|
|
212
|
+
attemptId: import_zod2.z.string()
|
|
213
|
+
}).strict().optional()
|
|
214
|
+
});
|
|
215
|
+
var WorkflowToolSchema = import_zod2.z.object({
|
|
216
|
+
name: import_zod2.z.string().min(1).max(256),
|
|
217
|
+
description: import_zod2.z.string().max(4096).optional(),
|
|
218
|
+
callingMode: import_zod2.z.enum(["direct", "model"]),
|
|
219
|
+
provenance: import_zod2.z.enum(["source", "observed"]),
|
|
220
|
+
inputFields: import_zod2.z.array(
|
|
221
|
+
import_zod2.z.object({ name: import_zod2.z.string(), type: import_zod2.z.string(), required: import_zod2.z.boolean() }).strict()
|
|
222
|
+
).optional()
|
|
223
|
+
}).strict();
|
|
224
|
+
var ToolDiscoverySchema = import_zod2.z.object({
|
|
225
|
+
status: import_zod2.z.enum(["complete", "unresolved"]),
|
|
226
|
+
publishedAt: import_zod2.z.string().datetime().optional(),
|
|
227
|
+
warnings: import_zod2.z.array(import_zod2.z.string()).optional()
|
|
228
|
+
}).strict();
|
|
229
|
+
var StudioToolSchema = WorkflowToolSchema.extend({
|
|
230
|
+
callingMode: import_zod2.z.enum(["direct", "model", "unknown"]),
|
|
231
|
+
calls: import_zod2.z.number().nonnegative(),
|
|
232
|
+
replays: import_zod2.z.number().nonnegative(),
|
|
233
|
+
successes: import_zod2.z.number().nonnegative(),
|
|
234
|
+
denials: import_zod2.z.number().nonnegative(),
|
|
235
|
+
faults: import_zod2.z.number().nonnegative(),
|
|
236
|
+
cancellations: import_zod2.z.number().nonnegative(),
|
|
237
|
+
p50DurationMs: import_zod2.z.number().nonnegative().nullable(),
|
|
238
|
+
p95DurationMs: import_zod2.z.number().nonnegative().nullable()
|
|
239
|
+
}).strict();
|
|
240
|
+
|
|
241
|
+
// src/studio-updates.ts
|
|
242
|
+
var import_zod3 = require("zod");
|
|
243
|
+
var StudioReleaseVersionSchema = import_zod3.z.string().regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/);
|
|
244
|
+
var StudioReleaseDeploymentSchema = import_zod3.z.object({
|
|
245
|
+
strategy: import_zod3.z.enum(["rolling", "recreate"])
|
|
178
246
|
});
|
|
179
|
-
var StudioReleaseSchema =
|
|
180
|
-
format:
|
|
181
|
-
installer:
|
|
247
|
+
var StudioReleaseSchema = import_zod3.z.object({
|
|
248
|
+
format: import_zod3.z.literal(1),
|
|
249
|
+
installer: import_zod3.z.literal(1),
|
|
182
250
|
version: StudioReleaseVersionSchema,
|
|
183
|
-
api:
|
|
184
|
-
studio:
|
|
251
|
+
api: import_zod3.z.string().regex(/^ghcr\.io\/kortyx-io\/kortyx-api@sha256:[a-f0-9]{64}$/),
|
|
252
|
+
studio: import_zod3.z.string().regex(/^ghcr\.io\/kortyx-io\/kortyx-studio@sha256:[a-f0-9]{64}$/),
|
|
185
253
|
deployment: StudioReleaseDeploymentSchema.default({
|
|
186
254
|
strategy: "recreate"
|
|
187
255
|
})
|
|
188
256
|
});
|
|
189
|
-
var StudioUpdateSettingsSchema =
|
|
190
|
-
automatic:
|
|
191
|
-
hourUtc:
|
|
257
|
+
var StudioUpdateSettingsSchema = import_zod3.z.object({
|
|
258
|
+
automatic: import_zod3.z.boolean(),
|
|
259
|
+
hourUtc: import_zod3.z.number().int().min(0).max(23)
|
|
192
260
|
});
|
|
193
|
-
var StudioUpdateOperationSchema =
|
|
194
|
-
id:
|
|
195
|
-
from:
|
|
261
|
+
var StudioUpdateOperationSchema = import_zod3.z.object({
|
|
262
|
+
id: import_zod3.z.uuid(),
|
|
263
|
+
from: import_zod3.z.string(),
|
|
196
264
|
release: StudioReleaseSchema,
|
|
197
|
-
phase:
|
|
265
|
+
phase: import_zod3.z.enum([
|
|
198
266
|
"starting",
|
|
199
267
|
"pulling",
|
|
200
268
|
"backup",
|
|
@@ -203,16 +271,16 @@ var StudioUpdateOperationSchema = import_zod2.z.object({
|
|
|
203
271
|
"succeeded",
|
|
204
272
|
"failed"
|
|
205
273
|
]),
|
|
206
|
-
startedAt:
|
|
207
|
-
updatedAt:
|
|
208
|
-
backup:
|
|
209
|
-
messages:
|
|
274
|
+
startedAt: import_zod3.z.iso.datetime(),
|
|
275
|
+
updatedAt: import_zod3.z.iso.datetime(),
|
|
276
|
+
backup: import_zod3.z.string().nullable(),
|
|
277
|
+
messages: import_zod3.z.array(import_zod3.z.string()).max(100)
|
|
210
278
|
});
|
|
211
|
-
var StudioUpdateStatusSchema =
|
|
212
|
-
current:
|
|
279
|
+
var StudioUpdateStatusSchema = import_zod3.z.object({
|
|
280
|
+
current: import_zod3.z.string().nullable(),
|
|
213
281
|
available: StudioReleaseSchema.nullable(),
|
|
214
|
-
checkedAt:
|
|
215
|
-
checkError:
|
|
282
|
+
checkedAt: import_zod3.z.iso.datetime().nullable(),
|
|
283
|
+
checkError: import_zod3.z.string().nullable(),
|
|
216
284
|
settings: StudioUpdateSettingsSchema,
|
|
217
285
|
operation: StudioUpdateOperationSchema.nullable()
|
|
218
286
|
});
|
|
@@ -333,10 +401,16 @@ var TELEMETRY_EVENT_TYPES = [
|
|
|
333
401
|
"span.started",
|
|
334
402
|
"span.ended",
|
|
335
403
|
"span.failed",
|
|
404
|
+
"error.reported",
|
|
336
405
|
"generation.completed",
|
|
337
406
|
"tool.started",
|
|
338
407
|
"tool.completed",
|
|
339
408
|
"tool.failed",
|
|
409
|
+
"tool.denied",
|
|
410
|
+
"tool.cancelled",
|
|
411
|
+
"tool.reused",
|
|
412
|
+
"tool.waiting",
|
|
413
|
+
"tool.suspended",
|
|
340
414
|
"response.completed",
|
|
341
415
|
"interrupt.created",
|
|
342
416
|
"interrupt.resolved",
|
|
@@ -356,95 +430,138 @@ var TELEMETRY_EVENT_TYPES = [
|
|
|
356
430
|
"session.forked",
|
|
357
431
|
"session.rolled_back"
|
|
358
432
|
];
|
|
359
|
-
var TelemetryServiceSchema =
|
|
360
|
-
name:
|
|
361
|
-
deploymentRef:
|
|
362
|
-
}).strict();
|
|
363
|
-
var WorkflowTopologyNodeSchema =
|
|
364
|
-
id:
|
|
365
|
-
label:
|
|
366
|
-
type:
|
|
367
|
-
provider:
|
|
368
|
-
model:
|
|
369
|
-
metadata:
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
433
|
+
var TelemetryServiceSchema = import_zod4.z.object({
|
|
434
|
+
name: import_zod4.z.string().min(1),
|
|
435
|
+
deploymentRef: import_zod4.z.string().min(1).optional()
|
|
436
|
+
}).strict();
|
|
437
|
+
var WorkflowTopologyNodeSchema = import_zod4.z.object({
|
|
438
|
+
id: import_zod4.z.string().min(1),
|
|
439
|
+
label: import_zod4.z.string().optional(),
|
|
440
|
+
type: import_zod4.z.string().optional(),
|
|
441
|
+
provider: import_zod4.z.string().optional(),
|
|
442
|
+
model: import_zod4.z.string().optional(),
|
|
443
|
+
metadata: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).optional(),
|
|
444
|
+
tools: import_zod4.z.array(WorkflowToolSchema).optional(),
|
|
445
|
+
toolDiscovery: ToolDiscoverySchema.optional()
|
|
446
|
+
}).strict();
|
|
447
|
+
var WorkflowTopologyEdgeSchema = import_zod4.z.object({
|
|
448
|
+
sourceNodeId: import_zod4.z.string().min(1),
|
|
449
|
+
targetNodeId: import_zod4.z.string().min(1),
|
|
450
|
+
condition: import_zod4.z.string().optional()
|
|
451
|
+
}).strict();
|
|
452
|
+
var WorkflowTopologyCallSchema = import_zod4.z.object({
|
|
453
|
+
sourceNodeId: import_zod4.z.string().min(1),
|
|
454
|
+
targetWorkflowId: import_zod4.z.string().min(1)
|
|
455
|
+
}).strict();
|
|
456
|
+
var WorkflowTopologyTransitionSchema = import_zod4.z.object({
|
|
457
|
+
sourceNodeId: import_zod4.z.string().min(1).optional(),
|
|
458
|
+
targetWorkflowId: import_zod4.z.string().min(1),
|
|
459
|
+
condition: import_zod4.z.string().optional(),
|
|
460
|
+
intent: import_zod4.z.string().optional(),
|
|
461
|
+
kind: import_zod4.z.enum(["call", "handoff"]).optional()
|
|
462
|
+
}).strict();
|
|
463
|
+
var EnsureWorkflowTopologyRequestSchema = import_zod4.z.object({
|
|
464
|
+
schemaVersion: import_zod4.z.literal(1),
|
|
465
|
+
environment: import_zod4.z.string().min(1),
|
|
390
466
|
service: TelemetryServiceSchema,
|
|
391
|
-
workflow:
|
|
392
|
-
id:
|
|
393
|
-
declaredVersion:
|
|
394
|
-
description:
|
|
395
|
-
tags:
|
|
396
|
-
topologyHash:
|
|
397
|
-
nodes:
|
|
398
|
-
edges:
|
|
399
|
-
transitions:
|
|
400
|
-
calls:
|
|
467
|
+
workflow: import_zod4.z.object({
|
|
468
|
+
id: import_zod4.z.string().min(1),
|
|
469
|
+
declaredVersion: import_zod4.z.string().min(1),
|
|
470
|
+
description: import_zod4.z.string().optional(),
|
|
471
|
+
tags: import_zod4.z.array(import_zod4.z.string()).optional(),
|
|
472
|
+
topologyHash: import_zod4.z.string().regex(/^[a-f0-9]{64}$/),
|
|
473
|
+
nodes: import_zod4.z.array(WorkflowTopologyNodeSchema),
|
|
474
|
+
edges: import_zod4.z.array(WorkflowTopologyEdgeSchema),
|
|
475
|
+
transitions: import_zod4.z.array(WorkflowTopologyTransitionSchema).optional(),
|
|
476
|
+
calls: import_zod4.z.array(WorkflowTopologyCallSchema).optional()
|
|
401
477
|
}).strict()
|
|
402
478
|
}).strict();
|
|
403
|
-
var EnsureWorkflowTopologyResponseSchema =
|
|
404
|
-
var TelemetryEventTypeSchema =
|
|
405
|
-
var TelemetryEventSchema =
|
|
406
|
-
schemaVersion:
|
|
407
|
-
eventId:
|
|
408
|
-
occurredAt:
|
|
409
|
-
environment:
|
|
479
|
+
var EnsureWorkflowTopologyResponseSchema = import_zod4.z.object({ workflowRevisionId: import_zod4.z.string().min(1), created: import_zod4.z.boolean() }).strict();
|
|
480
|
+
var TelemetryEventTypeSchema = import_zod4.z.enum(TELEMETRY_EVENT_TYPES);
|
|
481
|
+
var TelemetryEventSchema = import_zod4.z.object({
|
|
482
|
+
schemaVersion: import_zod4.z.literal(1),
|
|
483
|
+
eventId: import_zod4.z.string().min(1),
|
|
484
|
+
occurredAt: import_zod4.z.string().datetime({ offset: true }),
|
|
485
|
+
environment: import_zod4.z.string().min(1),
|
|
410
486
|
service: TelemetryServiceSchema,
|
|
411
|
-
correlation:
|
|
412
|
-
invocationId:
|
|
413
|
-
parentInvocationId:
|
|
414
|
-
branchId:
|
|
415
|
-
traceId:
|
|
416
|
-
spanId:
|
|
417
|
-
parentSpanId:
|
|
418
|
-
runId:
|
|
419
|
-
sessionId:
|
|
420
|
-
workflowId:
|
|
421
|
-
workflowRevisionId:
|
|
422
|
-
topologyHash:
|
|
423
|
-
nodeId:
|
|
487
|
+
correlation: import_zod4.z.object({
|
|
488
|
+
invocationId: import_zod4.z.string().optional(),
|
|
489
|
+
parentInvocationId: import_zod4.z.string().optional(),
|
|
490
|
+
branchId: import_zod4.z.string().optional(),
|
|
491
|
+
traceId: import_zod4.z.string().optional(),
|
|
492
|
+
spanId: import_zod4.z.string().optional(),
|
|
493
|
+
parentSpanId: import_zod4.z.string().optional(),
|
|
494
|
+
runId: import_zod4.z.string().min(1),
|
|
495
|
+
sessionId: import_zod4.z.string().optional(),
|
|
496
|
+
workflowId: import_zod4.z.string().min(1),
|
|
497
|
+
workflowRevisionId: import_zod4.z.string().optional(),
|
|
498
|
+
topologyHash: import_zod4.z.string().regex(/^[a-f0-9]{64}$/).optional(),
|
|
499
|
+
nodeId: import_zod4.z.string().optional()
|
|
424
500
|
}).strict(),
|
|
425
|
-
context:
|
|
426
|
-
userId:
|
|
427
|
-
tenantId:
|
|
428
|
-
tags:
|
|
429
|
-
metadata:
|
|
501
|
+
context: import_zod4.z.object({
|
|
502
|
+
userId: import_zod4.z.string().optional(),
|
|
503
|
+
tenantId: import_zod4.z.string().optional(),
|
|
504
|
+
tags: import_zod4.z.array(import_zod4.z.string()).optional(),
|
|
505
|
+
metadata: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).optional()
|
|
430
506
|
}).strict().optional(),
|
|
431
507
|
type: TelemetryEventTypeSchema,
|
|
432
|
-
payload:
|
|
433
|
-
}).strict()
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
508
|
+
payload: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown())
|
|
509
|
+
}).strict().superRefine((event, ctx) => {
|
|
510
|
+
if (!event.type.startsWith("tool.")) return;
|
|
511
|
+
const canonical = event.payload.version === 1 || [
|
|
512
|
+
"tool.denied",
|
|
513
|
+
"tool.cancelled",
|
|
514
|
+
"tool.reused",
|
|
515
|
+
"tool.waiting",
|
|
516
|
+
"tool.suspended"
|
|
517
|
+
].includes(event.type);
|
|
518
|
+
if (!canonical) return;
|
|
519
|
+
const parsed = ToolObservationSchema.strict().safeParse(event.payload);
|
|
520
|
+
if (!parsed.success)
|
|
521
|
+
for (const issue of parsed.error.issues)
|
|
522
|
+
ctx.addIssue({ ...issue, path: ["payload", ...issue.path] });
|
|
523
|
+
else {
|
|
524
|
+
if ((parsed.data.errorType !== void 0 || parsed.data.errorMessage !== void 0) && parsed.data.outcome !== "fault")
|
|
525
|
+
ctx.addIssue({
|
|
526
|
+
code: "custom",
|
|
527
|
+
path: ["payload"],
|
|
528
|
+
message: "Error diagnostics require a fault outcome."
|
|
529
|
+
});
|
|
530
|
+
const terminalOutcomes = {
|
|
531
|
+
"tool.completed": "success",
|
|
532
|
+
"tool.failed": "fault",
|
|
533
|
+
"tool.denied": "denied",
|
|
534
|
+
"tool.cancelled": "cancelled"
|
|
535
|
+
};
|
|
536
|
+
const expected = terminalOutcomes[event.type];
|
|
537
|
+
if (expected && parsed.data.outcome !== expected)
|
|
538
|
+
ctx.addIssue({
|
|
539
|
+
code: "custom",
|
|
540
|
+
path: ["payload", "outcome"],
|
|
541
|
+
message: "Outcome must match the tool event type."
|
|
542
|
+
});
|
|
543
|
+
if (event.type === "tool.reused" && (parsed.data.executed || !parsed.data.source))
|
|
544
|
+
ctx.addIssue({
|
|
545
|
+
code: "custom",
|
|
546
|
+
path: ["payload"],
|
|
547
|
+
message: "Reuse must be unexecuted and reference its source."
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
});
|
|
551
|
+
var TelemetryEventBatchSchema = import_zod4.z.object({ events: import_zod4.z.array(TelemetryEventSchema).min(1) }).strict();
|
|
552
|
+
var TelemetryEventBatchResponseSchema = import_zod4.z.object({
|
|
553
|
+
accepted: import_zod4.z.number().int().nonnegative(),
|
|
554
|
+
inserted: import_zod4.z.number().int().nonnegative(),
|
|
555
|
+
duplicates: import_zod4.z.number().int().nonnegative()
|
|
439
556
|
}).strict();
|
|
440
|
-
var TelemetryPricingSourceSchema =
|
|
557
|
+
var TelemetryPricingSourceSchema = import_zod4.z.enum([
|
|
441
558
|
"sdk",
|
|
442
559
|
"provider",
|
|
443
560
|
"custom",
|
|
444
561
|
"project-rate-card",
|
|
445
562
|
"default-rate-card"
|
|
446
563
|
]);
|
|
447
|
-
var TelemetryPricingUnitSchema =
|
|
564
|
+
var TelemetryPricingUnitSchema = import_zod4.z.enum([
|
|
448
565
|
"token",
|
|
449
566
|
"character",
|
|
450
567
|
"request",
|
|
@@ -457,7 +574,7 @@ var TelemetryPricingUnitSchema = import_zod3.z.enum([
|
|
|
457
574
|
"minute",
|
|
458
575
|
"custom"
|
|
459
576
|
]);
|
|
460
|
-
var TelemetryPricingUsageTypeSchema =
|
|
577
|
+
var TelemetryPricingUsageTypeSchema = import_zod4.z.enum([
|
|
461
578
|
"input",
|
|
462
579
|
"output",
|
|
463
580
|
"reasoning",
|
|
@@ -473,42 +590,42 @@ var TelemetryPricingUsageTypeSchema = import_zod3.z.enum([
|
|
|
473
590
|
"request",
|
|
474
591
|
"custom"
|
|
475
592
|
]);
|
|
476
|
-
var TelemetryUsageItemSchema =
|
|
593
|
+
var TelemetryUsageItemSchema = import_zod4.z.object({
|
|
477
594
|
usageType: TelemetryPricingUsageTypeSchema,
|
|
478
|
-
quantity:
|
|
595
|
+
quantity: import_zod4.z.number().nonnegative(),
|
|
479
596
|
unit: TelemetryPricingUnitSchema,
|
|
480
|
-
label:
|
|
597
|
+
label: import_zod4.z.string().optional()
|
|
481
598
|
}).strict();
|
|
482
|
-
var TelemetryUnitPriceSchema =
|
|
599
|
+
var TelemetryUnitPriceSchema = import_zod4.z.object({
|
|
483
600
|
usageType: TelemetryPricingUsageTypeSchema,
|
|
484
601
|
unit: TelemetryPricingUnitSchema,
|
|
485
|
-
unitQuantity:
|
|
486
|
-
priceMicros:
|
|
487
|
-
label:
|
|
602
|
+
unitQuantity: import_zod4.z.number().positive().default(1),
|
|
603
|
+
priceMicros: import_zod4.z.number().int().nonnegative(),
|
|
604
|
+
label: import_zod4.z.string().optional()
|
|
488
605
|
}).strict();
|
|
489
|
-
var TelemetryPricingLineItemSchema =
|
|
606
|
+
var TelemetryPricingLineItemSchema = import_zod4.z.object({
|
|
490
607
|
usageType: TelemetryPricingUsageTypeSchema,
|
|
491
|
-
quantity:
|
|
608
|
+
quantity: import_zod4.z.number().nonnegative(),
|
|
492
609
|
unit: TelemetryPricingUnitSchema,
|
|
493
|
-
unitQuantity:
|
|
494
|
-
unitPriceMicros:
|
|
495
|
-
totalCostMicros:
|
|
496
|
-
label:
|
|
610
|
+
unitQuantity: import_zod4.z.number().positive().default(1),
|
|
611
|
+
unitPriceMicros: import_zod4.z.number().int().nonnegative().optional(),
|
|
612
|
+
totalCostMicros: import_zod4.z.number().int().nonnegative().optional(),
|
|
613
|
+
label: import_zod4.z.string().optional()
|
|
497
614
|
}).strict().refine(
|
|
498
615
|
(value) => value.totalCostMicros !== void 0 || value.unitPriceMicros !== void 0,
|
|
499
616
|
"line item requires totalCostMicros or unitPriceMicros"
|
|
500
617
|
);
|
|
501
|
-
var TelemetryPricingHintSchema =
|
|
618
|
+
var TelemetryPricingHintSchema = import_zod4.z.object({
|
|
502
619
|
source: TelemetryPricingSourceSchema.extract(["sdk", "provider", "custom"]),
|
|
503
|
-
currency:
|
|
504
|
-
actualCostMicros:
|
|
505
|
-
lineItems:
|
|
506
|
-
unitPrices:
|
|
507
|
-
usageItems:
|
|
508
|
-
pricingRef:
|
|
509
|
-
metadata:
|
|
510
|
-
}).strict();
|
|
511
|
-
var StudioRunStatusSchema =
|
|
620
|
+
currency: import_zod4.z.string().min(3).max(12).default("USD"),
|
|
621
|
+
actualCostMicros: import_zod4.z.number().int().nonnegative().optional(),
|
|
622
|
+
lineItems: import_zod4.z.array(TelemetryPricingLineItemSchema).optional(),
|
|
623
|
+
unitPrices: import_zod4.z.array(TelemetryUnitPriceSchema).optional(),
|
|
624
|
+
usageItems: import_zod4.z.array(TelemetryUsageItemSchema).optional(),
|
|
625
|
+
pricingRef: import_zod4.z.string().min(1).optional(),
|
|
626
|
+
metadata: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).optional()
|
|
627
|
+
}).strict();
|
|
628
|
+
var StudioRunStatusSchema = import_zod4.z.enum([
|
|
512
629
|
"running",
|
|
513
630
|
"completed",
|
|
514
631
|
"interrupted",
|
|
@@ -524,16 +641,16 @@ var STUDIO_TIME_RANGES = [
|
|
|
524
641
|
"All time",
|
|
525
642
|
"Custom range"
|
|
526
643
|
];
|
|
527
|
-
var StudioTimeRangeSchema =
|
|
528
|
-
var StudioTimeRangeQuerySchema =
|
|
644
|
+
var StudioTimeRangeSchema = import_zod4.z.enum(STUDIO_TIME_RANGES);
|
|
645
|
+
var StudioTimeRangeQuerySchema = import_zod4.z.object({
|
|
529
646
|
range: StudioTimeRangeSchema.optional(),
|
|
530
|
-
startedAfter:
|
|
531
|
-
startedBefore:
|
|
647
|
+
startedAfter: import_zod4.z.string().optional(),
|
|
648
|
+
startedBefore: import_zod4.z.string().optional()
|
|
532
649
|
}).strict();
|
|
533
|
-
var StudioTimeRangeContextSchema =
|
|
650
|
+
var StudioTimeRangeContextSchema = import_zod4.z.object({
|
|
534
651
|
range: StudioTimeRangeSchema,
|
|
535
|
-
startedAfter:
|
|
536
|
-
startedBefore:
|
|
652
|
+
startedAfter: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
653
|
+
startedBefore: import_zod4.z.string().datetime({ offset: true }).nullable()
|
|
537
654
|
}).strict();
|
|
538
655
|
var STUDIO_TIME_RANGE_MILLISECONDS = {
|
|
539
656
|
"Last hour": 60 * 60 * 1e3,
|
|
@@ -607,7 +724,7 @@ var resolveStudioTimeRange = (input, now = /* @__PURE__ */ new Date()) => {
|
|
|
607
724
|
}
|
|
608
725
|
};
|
|
609
726
|
};
|
|
610
|
-
var StudioInterruptStatusSchema =
|
|
727
|
+
var StudioInterruptStatusSchema = import_zod4.z.enum([
|
|
611
728
|
"pending",
|
|
612
729
|
"resolved",
|
|
613
730
|
"expired",
|
|
@@ -620,311 +737,314 @@ var resolveStudioInterruptStatus = (input, now = Date.now()) => {
|
|
|
620
737
|
const nowMs = typeof now === "number" ? now : now.getTime();
|
|
621
738
|
return Number.isFinite(expiresAt) && Number.isFinite(nowMs) && expiresAt <= nowMs ? "expired" : input.status;
|
|
622
739
|
};
|
|
623
|
-
var StudioInterruptTypeSchema =
|
|
740
|
+
var StudioInterruptTypeSchema = import_zod4.z.enum([
|
|
624
741
|
"choice",
|
|
625
742
|
"multi-choice",
|
|
626
743
|
"text",
|
|
627
744
|
"unknown"
|
|
628
745
|
]);
|
|
629
|
-
var StudioInterruptInteractionModeSchema =
|
|
746
|
+
var StudioInterruptInteractionModeSchema = import_zod4.z.enum([
|
|
630
747
|
"static-options",
|
|
631
748
|
"dynamic-picker",
|
|
632
749
|
"freeform",
|
|
633
750
|
"unknown"
|
|
634
751
|
]);
|
|
635
|
-
var StudioInterruptOptionSchema =
|
|
636
|
-
id:
|
|
637
|
-
label:
|
|
638
|
-
description:
|
|
752
|
+
var StudioInterruptOptionSchema = import_zod4.z.object({
|
|
753
|
+
id: import_zod4.z.string().min(1),
|
|
754
|
+
label: import_zod4.z.string().min(1),
|
|
755
|
+
description: import_zod4.z.string().nullable()
|
|
639
756
|
}).strict();
|
|
640
|
-
var StudioResumeOutcomeSchema =
|
|
757
|
+
var StudioResumeOutcomeSchema = import_zod4.z.enum([
|
|
641
758
|
"resumed",
|
|
642
759
|
"resume failed",
|
|
643
760
|
"expired before resume",
|
|
644
761
|
"cancelled"
|
|
645
762
|
]);
|
|
646
|
-
var StudioWorkflowHealthSchema =
|
|
763
|
+
var StudioWorkflowHealthSchema = import_zod4.z.enum([
|
|
647
764
|
"unknown",
|
|
648
765
|
"healthy",
|
|
649
766
|
"degraded",
|
|
650
767
|
"failing",
|
|
651
768
|
"idle"
|
|
652
769
|
]);
|
|
653
|
-
var StudioPricingStatusSchema =
|
|
770
|
+
var StudioPricingStatusSchema = import_zod4.z.enum([
|
|
654
771
|
"priced",
|
|
655
772
|
"unpriced",
|
|
656
773
|
"unknown"
|
|
657
774
|
]);
|
|
658
775
|
var StudioPricingSourceSchema = TelemetryPricingSourceSchema.nullable();
|
|
659
|
-
var StudioChangeResourceSchema =
|
|
776
|
+
var StudioChangeResourceSchema = import_zod4.z.enum([
|
|
777
|
+
"workflows",
|
|
660
778
|
"runs",
|
|
661
779
|
"sessions",
|
|
662
780
|
"interrupts"
|
|
663
781
|
]);
|
|
664
|
-
var StudioChangeSchema =
|
|
665
|
-
schemaVersion:
|
|
666
|
-
changeId:
|
|
667
|
-
emittedAt:
|
|
668
|
-
organizationId:
|
|
669
|
-
projectId:
|
|
670
|
-
resources:
|
|
671
|
-
}).strict();
|
|
672
|
-
var StudioMetricSchema =
|
|
673
|
-
runCount:
|
|
674
|
-
successRate:
|
|
675
|
-
errorRate:
|
|
676
|
-
retryCount:
|
|
677
|
-
interruptRate:
|
|
678
|
-
p50DurationMs:
|
|
679
|
-
p95DurationMs:
|
|
680
|
-
averageTokens:
|
|
681
|
-
averageCost:
|
|
682
|
-
currency:
|
|
683
|
-
}).strict();
|
|
684
|
-
var StudioRunSchema =
|
|
685
|
-
id:
|
|
782
|
+
var StudioChangeSchema = import_zod4.z.object({
|
|
783
|
+
schemaVersion: import_zod4.z.literal(1),
|
|
784
|
+
changeId: import_zod4.z.string().min(1),
|
|
785
|
+
emittedAt: import_zod4.z.string().datetime({ offset: true }),
|
|
786
|
+
organizationId: import_zod4.z.string().min(1),
|
|
787
|
+
projectId: import_zod4.z.string().min(1),
|
|
788
|
+
resources: import_zod4.z.array(StudioChangeResourceSchema).min(1)
|
|
789
|
+
}).strict();
|
|
790
|
+
var StudioMetricSchema = import_zod4.z.object({
|
|
791
|
+
runCount: import_zod4.z.number().int().nonnegative(),
|
|
792
|
+
successRate: import_zod4.z.number().min(0).max(100).nullable(),
|
|
793
|
+
errorRate: import_zod4.z.number().min(0).max(100).nullable(),
|
|
794
|
+
retryCount: import_zod4.z.number().int().nonnegative().nullable(),
|
|
795
|
+
interruptRate: import_zod4.z.number().min(0).max(100).nullable(),
|
|
796
|
+
p50DurationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
797
|
+
p95DurationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
798
|
+
averageTokens: import_zod4.z.number().nonnegative().nullable(),
|
|
799
|
+
averageCost: import_zod4.z.number().nonnegative().nullable(),
|
|
800
|
+
currency: import_zod4.z.string().nullable()
|
|
801
|
+
}).strict();
|
|
802
|
+
var StudioRunSchema = import_zod4.z.object({
|
|
803
|
+
id: import_zod4.z.string().min(1),
|
|
686
804
|
feedback: FeedbackSummarySchema.optional(),
|
|
687
|
-
callerNodeId:
|
|
688
|
-
parentRunId:
|
|
689
|
-
parentWorkflowId:
|
|
690
|
-
invocationId:
|
|
691
|
-
branchId:
|
|
692
|
-
callId:
|
|
805
|
+
callerNodeId: import_zod4.z.string().optional(),
|
|
806
|
+
parentRunId: import_zod4.z.string().optional(),
|
|
807
|
+
parentWorkflowId: import_zod4.z.string().optional(),
|
|
808
|
+
invocationId: import_zod4.z.string().optional(),
|
|
809
|
+
branchId: import_zod4.z.string().optional(),
|
|
810
|
+
callId: import_zod4.z.string().optional(),
|
|
693
811
|
status: StudioRunStatusSchema,
|
|
694
|
-
startedAt:
|
|
695
|
-
endedAt:
|
|
696
|
-
workflowId:
|
|
697
|
-
workflowIds:
|
|
698
|
-
workflowRefs:
|
|
699
|
-
|
|
700
|
-
workflowId:
|
|
701
|
-
workflowRevisionId:
|
|
702
|
-
declaredVersion:
|
|
812
|
+
startedAt: import_zod4.z.string().datetime({ offset: true }),
|
|
813
|
+
endedAt: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
814
|
+
workflowId: import_zod4.z.string().min(1),
|
|
815
|
+
workflowIds: import_zod4.z.array(import_zod4.z.string().min(1)),
|
|
816
|
+
workflowRefs: import_zod4.z.array(
|
|
817
|
+
import_zod4.z.object({
|
|
818
|
+
workflowId: import_zod4.z.string().min(1),
|
|
819
|
+
workflowRevisionId: import_zod4.z.string().nullable(),
|
|
820
|
+
declaredVersion: import_zod4.z.string().nullable()
|
|
703
821
|
}).strict()
|
|
704
822
|
),
|
|
705
|
-
workflowRevisionId:
|
|
706
|
-
declaredVersion:
|
|
707
|
-
transitionIds:
|
|
708
|
-
path:
|
|
709
|
-
sessionId:
|
|
710
|
-
provider:
|
|
711
|
-
model:
|
|
712
|
-
models:
|
|
713
|
-
durationMs:
|
|
714
|
-
tokens:
|
|
715
|
-
cost:
|
|
823
|
+
workflowRevisionId: import_zod4.z.string().nullable(),
|
|
824
|
+
declaredVersion: import_zod4.z.string().nullable(),
|
|
825
|
+
transitionIds: import_zod4.z.array(import_zod4.z.string().min(1)),
|
|
826
|
+
path: import_zod4.z.array(import_zod4.z.string()),
|
|
827
|
+
sessionId: import_zod4.z.string().nullable(),
|
|
828
|
+
provider: import_zod4.z.string().nullable(),
|
|
829
|
+
model: import_zod4.z.string().nullable(),
|
|
830
|
+
models: import_zod4.z.array(import_zod4.z.string()),
|
|
831
|
+
durationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
832
|
+
tokens: import_zod4.z.number().int().nonnegative().nullable(),
|
|
833
|
+
cost: import_zod4.z.number().nonnegative().nullable(),
|
|
716
834
|
pricingStatus: StudioPricingStatusSchema,
|
|
717
835
|
pricingSource: StudioPricingSourceSchema,
|
|
718
|
-
currency:
|
|
719
|
-
result:
|
|
720
|
-
environment:
|
|
721
|
-
userId:
|
|
722
|
-
tenantId:
|
|
723
|
-
hasTool:
|
|
724
|
-
hasRetry:
|
|
725
|
-
interruptNodeId:
|
|
726
|
-
interruptId:
|
|
836
|
+
currency: import_zod4.z.string().nullable(),
|
|
837
|
+
result: import_zod4.z.string().nullable(),
|
|
838
|
+
environment: import_zod4.z.string().min(1),
|
|
839
|
+
userId: import_zod4.z.string().nullable(),
|
|
840
|
+
tenantId: import_zod4.z.string().nullable(),
|
|
841
|
+
hasTool: import_zod4.z.boolean(),
|
|
842
|
+
hasRetry: import_zod4.z.boolean(),
|
|
843
|
+
interruptNodeId: import_zod4.z.string().nullable(),
|
|
844
|
+
interruptId: import_zod4.z.string().nullable().optional(),
|
|
727
845
|
interruptStatus: StudioInterruptStatusSchema.nullable().optional(),
|
|
728
|
-
interruptExpiresAt:
|
|
846
|
+
interruptExpiresAt: import_zod4.z.string().datetime({ offset: true }).nullable().optional()
|
|
729
847
|
}).strict();
|
|
730
|
-
var StudioSessionSchema =
|
|
731
|
-
id:
|
|
848
|
+
var StudioSessionSchema = import_zod4.z.object({
|
|
849
|
+
id: import_zod4.z.string().min(1),
|
|
732
850
|
status: StudioRunStatusSchema,
|
|
733
|
-
lastActivityAt:
|
|
734
|
-
workflowIds:
|
|
735
|
-
workflowCount:
|
|
736
|
-
activeWorkflowId:
|
|
737
|
-
activeVersion:
|
|
738
|
-
userId:
|
|
739
|
-
tenantId:
|
|
740
|
-
runs:
|
|
741
|
-
succeeded:
|
|
742
|
-
failed:
|
|
743
|
-
interrupted:
|
|
744
|
-
checkpoints:
|
|
745
|
-
hasFork:
|
|
746
|
-
durationMs:
|
|
747
|
-
tokens:
|
|
748
|
-
cost:
|
|
851
|
+
lastActivityAt: import_zod4.z.string().datetime({ offset: true }),
|
|
852
|
+
workflowIds: import_zod4.z.array(import_zod4.z.string()),
|
|
853
|
+
workflowCount: import_zod4.z.number().int().nonnegative(),
|
|
854
|
+
activeWorkflowId: import_zod4.z.string().nullable(),
|
|
855
|
+
activeVersion: import_zod4.z.string().nullable(),
|
|
856
|
+
userId: import_zod4.z.string().nullable(),
|
|
857
|
+
tenantId: import_zod4.z.string().nullable(),
|
|
858
|
+
runs: import_zod4.z.number().int().nonnegative(),
|
|
859
|
+
succeeded: import_zod4.z.number().int().nonnegative(),
|
|
860
|
+
failed: import_zod4.z.number().int().nonnegative(),
|
|
861
|
+
interrupted: import_zod4.z.number().int().nonnegative(),
|
|
862
|
+
checkpoints: import_zod4.z.number().int().nonnegative(),
|
|
863
|
+
hasFork: import_zod4.z.boolean(),
|
|
864
|
+
durationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
865
|
+
tokens: import_zod4.z.number().int().nonnegative().nullable(),
|
|
866
|
+
cost: import_zod4.z.number().nonnegative().nullable(),
|
|
749
867
|
pricingStatus: StudioPricingStatusSchema,
|
|
750
868
|
pricingSource: StudioPricingSourceSchema,
|
|
751
|
-
currency:
|
|
752
|
-
latestResult:
|
|
753
|
-
latestError:
|
|
754
|
-
pendingInterruptId:
|
|
869
|
+
currency: import_zod4.z.string().nullable(),
|
|
870
|
+
latestResult: import_zod4.z.string().nullable(),
|
|
871
|
+
latestError: import_zod4.z.string().nullable(),
|
|
872
|
+
pendingInterruptId: import_zod4.z.string().nullable(),
|
|
755
873
|
interruptStatus: StudioInterruptStatusSchema.nullable().optional(),
|
|
756
|
-
interruptExpiresAt:
|
|
757
|
-
providers:
|
|
758
|
-
models:
|
|
759
|
-
tags:
|
|
760
|
-
environment:
|
|
761
|
-
}).strict();
|
|
762
|
-
var StudioInterruptSchema =
|
|
763
|
-
afterResponseCompleted:
|
|
764
|
-
id:
|
|
874
|
+
interruptExpiresAt: import_zod4.z.string().datetime({ offset: true }).nullable().optional(),
|
|
875
|
+
providers: import_zod4.z.array(import_zod4.z.string()),
|
|
876
|
+
models: import_zod4.z.array(import_zod4.z.string()),
|
|
877
|
+
tags: import_zod4.z.array(import_zod4.z.string()),
|
|
878
|
+
environment: import_zod4.z.string().min(1)
|
|
879
|
+
}).strict();
|
|
880
|
+
var StudioInterruptSchema = import_zod4.z.object({
|
|
881
|
+
afterResponseCompleted: import_zod4.z.boolean().optional(),
|
|
882
|
+
id: import_zod4.z.string().min(1),
|
|
765
883
|
status: StudioInterruptStatusSchema,
|
|
766
884
|
type: StudioInterruptTypeSchema,
|
|
767
885
|
interactionMode: StudioInterruptInteractionModeSchema,
|
|
768
|
-
schemaId:
|
|
769
|
-
schemaVersion:
|
|
770
|
-
createdAt:
|
|
771
|
-
resolvedAt:
|
|
772
|
-
expiresAt:
|
|
773
|
-
question:
|
|
774
|
-
contentCaptured:
|
|
775
|
-
optionCount:
|
|
776
|
-
options:
|
|
777
|
-
workflowId:
|
|
778
|
-
nodeId:
|
|
779
|
-
sessionId:
|
|
780
|
-
userId:
|
|
781
|
-
tenantId:
|
|
782
|
-
response:
|
|
783
|
-
responseCaptured:
|
|
886
|
+
schemaId: import_zod4.z.string().nullable(),
|
|
887
|
+
schemaVersion: import_zod4.z.string().nullable(),
|
|
888
|
+
createdAt: import_zod4.z.string().datetime({ offset: true }),
|
|
889
|
+
resolvedAt: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
890
|
+
expiresAt: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
891
|
+
question: import_zod4.z.string().nullable(),
|
|
892
|
+
contentCaptured: import_zod4.z.boolean(),
|
|
893
|
+
optionCount: import_zod4.z.number().int().nonnegative().nullable(),
|
|
894
|
+
options: import_zod4.z.array(StudioInterruptOptionSchema).nullable(),
|
|
895
|
+
workflowId: import_zod4.z.string().min(1),
|
|
896
|
+
nodeId: import_zod4.z.string().nullable(),
|
|
897
|
+
sessionId: import_zod4.z.string().nullable(),
|
|
898
|
+
userId: import_zod4.z.string().nullable(),
|
|
899
|
+
tenantId: import_zod4.z.string().nullable(),
|
|
900
|
+
response: import_zod4.z.string().nullable(),
|
|
901
|
+
responseCaptured: import_zod4.z.boolean(),
|
|
784
902
|
resumeOutcome: StudioResumeOutcomeSchema.nullable(),
|
|
785
|
-
resumeError:
|
|
786
|
-
runId:
|
|
787
|
-
resumeToken:
|
|
788
|
-
resolvedBy:
|
|
789
|
-
environment:
|
|
790
|
-
}).strict();
|
|
791
|
-
var StudioDetailEventSchema =
|
|
792
|
-
id:
|
|
903
|
+
resumeError: import_zod4.z.string().nullable(),
|
|
904
|
+
runId: import_zod4.z.string().min(1),
|
|
905
|
+
resumeToken: import_zod4.z.string().nullable(),
|
|
906
|
+
resolvedBy: import_zod4.z.string().nullable(),
|
|
907
|
+
environment: import_zod4.z.string().min(1)
|
|
908
|
+
}).strict();
|
|
909
|
+
var StudioDetailEventSchema = import_zod4.z.object({
|
|
910
|
+
id: import_zod4.z.string().min(1),
|
|
793
911
|
type: TelemetryEventTypeSchema,
|
|
794
|
-
occurredAt:
|
|
795
|
-
receivedAt:
|
|
796
|
-
environment:
|
|
797
|
-
serviceName:
|
|
798
|
-
deploymentRef:
|
|
799
|
-
traceId:
|
|
800
|
-
spanId:
|
|
801
|
-
parentSpanId:
|
|
802
|
-
runId:
|
|
803
|
-
sessionId:
|
|
804
|
-
workflowId:
|
|
805
|
-
workflowRevisionId:
|
|
806
|
-
nodeId:
|
|
807
|
-
userId:
|
|
808
|
-
tenantId:
|
|
809
|
-
tags:
|
|
810
|
-
metadata:
|
|
811
|
-
payload:
|
|
812
|
-
}).strict();
|
|
813
|
-
var StudioWorkflowNodeSchema =
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
912
|
+
occurredAt: import_zod4.z.string().datetime({ offset: true }),
|
|
913
|
+
receivedAt: import_zod4.z.string().datetime({ offset: true }),
|
|
914
|
+
environment: import_zod4.z.string().min(1),
|
|
915
|
+
serviceName: import_zod4.z.string().min(1),
|
|
916
|
+
deploymentRef: import_zod4.z.string().nullable(),
|
|
917
|
+
traceId: import_zod4.z.string().nullable(),
|
|
918
|
+
spanId: import_zod4.z.string().nullable(),
|
|
919
|
+
parentSpanId: import_zod4.z.string().nullable(),
|
|
920
|
+
runId: import_zod4.z.string().min(1),
|
|
921
|
+
sessionId: import_zod4.z.string().nullable(),
|
|
922
|
+
workflowId: import_zod4.z.string().min(1),
|
|
923
|
+
workflowRevisionId: import_zod4.z.string().nullable(),
|
|
924
|
+
nodeId: import_zod4.z.string().nullable(),
|
|
925
|
+
userId: import_zod4.z.string().nullable(),
|
|
926
|
+
tenantId: import_zod4.z.string().nullable(),
|
|
927
|
+
tags: import_zod4.z.array(import_zod4.z.string()),
|
|
928
|
+
metadata: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).nullable(),
|
|
929
|
+
payload: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown())
|
|
930
|
+
}).strict();
|
|
931
|
+
var StudioWorkflowNodeSchema = import_zod4.z.object({
|
|
932
|
+
tools: import_zod4.z.array(StudioToolSchema).optional(),
|
|
933
|
+
toolDiscovery: ToolDiscoverySchema.optional(),
|
|
934
|
+
id: import_zod4.z.string().min(1),
|
|
935
|
+
label: import_zod4.z.string(),
|
|
936
|
+
type: import_zod4.z.string().nullable(),
|
|
937
|
+
state: import_zod4.z.enum(["healthy", "warning", "failed", "interrupted", "retried"]).nullable(),
|
|
938
|
+
provider: import_zod4.z.string().nullable(),
|
|
939
|
+
model: import_zod4.z.string().nullable(),
|
|
820
940
|
metrics: StudioMetricSchema
|
|
821
941
|
}).strict();
|
|
822
|
-
var StudioWorkflowInternalEdgeSchema =
|
|
823
|
-
id:
|
|
824
|
-
source:
|
|
825
|
-
target:
|
|
826
|
-
condition:
|
|
827
|
-
}).strict();
|
|
828
|
-
var StudioWorkflowTransitionSchema =
|
|
829
|
-
kind:
|
|
830
|
-
id:
|
|
831
|
-
sourceWorkflowId:
|
|
832
|
-
sourceNodeId:
|
|
833
|
-
targetWorkflowId:
|
|
834
|
-
condition:
|
|
835
|
-
volume:
|
|
836
|
-
successRate:
|
|
837
|
-
medianDurationMs:
|
|
838
|
-
errorRate:
|
|
839
|
-
}).strict();
|
|
840
|
-
var StudioWorkflowSchema =
|
|
841
|
-
id:
|
|
842
|
-
name:
|
|
843
|
-
description:
|
|
844
|
-
versions:
|
|
845
|
-
activeVersion:
|
|
846
|
-
activeRevisionId:
|
|
942
|
+
var StudioWorkflowInternalEdgeSchema = import_zod4.z.object({
|
|
943
|
+
id: import_zod4.z.string().min(1),
|
|
944
|
+
source: import_zod4.z.string().min(1),
|
|
945
|
+
target: import_zod4.z.string().min(1),
|
|
946
|
+
condition: import_zod4.z.string().nullable()
|
|
947
|
+
}).strict();
|
|
948
|
+
var StudioWorkflowTransitionSchema = import_zod4.z.object({
|
|
949
|
+
kind: import_zod4.z.enum(["call", "handoff"]).optional(),
|
|
950
|
+
id: import_zod4.z.string().min(1),
|
|
951
|
+
sourceWorkflowId: import_zod4.z.string().min(1),
|
|
952
|
+
sourceNodeId: import_zod4.z.string().nullable(),
|
|
953
|
+
targetWorkflowId: import_zod4.z.string().min(1),
|
|
954
|
+
condition: import_zod4.z.string().nullable(),
|
|
955
|
+
volume: import_zod4.z.number().int().nonnegative(),
|
|
956
|
+
successRate: import_zod4.z.number().min(0).max(100).nullable(),
|
|
957
|
+
medianDurationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
958
|
+
errorRate: import_zod4.z.number().min(0).max(100).nullable()
|
|
959
|
+
}).strict();
|
|
960
|
+
var StudioWorkflowSchema = import_zod4.z.object({
|
|
961
|
+
id: import_zod4.z.string().min(1),
|
|
962
|
+
name: import_zod4.z.string().min(1),
|
|
963
|
+
description: import_zod4.z.string().nullable(),
|
|
964
|
+
versions: import_zod4.z.array(import_zod4.z.string()),
|
|
965
|
+
activeVersion: import_zod4.z.string().nullable(),
|
|
966
|
+
activeRevisionId: import_zod4.z.string().nullable(),
|
|
847
967
|
health: StudioWorkflowHealthSchema,
|
|
848
|
-
tags:
|
|
849
|
-
lastActivityAt:
|
|
968
|
+
tags: import_zod4.z.array(import_zod4.z.string()),
|
|
969
|
+
lastActivityAt: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
850
970
|
metrics: StudioMetricSchema,
|
|
851
|
-
nodes:
|
|
852
|
-
internalEdges:
|
|
971
|
+
nodes: import_zod4.z.array(StudioWorkflowNodeSchema),
|
|
972
|
+
internalEdges: import_zod4.z.array(StudioWorkflowInternalEdgeSchema)
|
|
853
973
|
}).strict();
|
|
854
|
-
var StudioRunsResponseSchema =
|
|
855
|
-
runs:
|
|
856
|
-
totalCount:
|
|
974
|
+
var StudioRunsResponseSchema = import_zod4.z.object({
|
|
975
|
+
runs: import_zod4.z.array(StudioRunSchema),
|
|
976
|
+
totalCount: import_zod4.z.number().int().nonnegative()
|
|
857
977
|
}).strict();
|
|
858
|
-
var StudioSessionsResponseSchema =
|
|
859
|
-
sessions:
|
|
860
|
-
totalCount:
|
|
978
|
+
var StudioSessionsResponseSchema = import_zod4.z.object({
|
|
979
|
+
sessions: import_zod4.z.array(StudioSessionSchema),
|
|
980
|
+
totalCount: import_zod4.z.number().int().nonnegative()
|
|
861
981
|
}).strict();
|
|
862
|
-
var StudioInterruptsResponseSchema =
|
|
863
|
-
interrupts:
|
|
864
|
-
totalCount:
|
|
982
|
+
var StudioInterruptsResponseSchema = import_zod4.z.object({
|
|
983
|
+
interrupts: import_zod4.z.array(StudioInterruptSchema),
|
|
984
|
+
totalCount: import_zod4.z.number().int().nonnegative()
|
|
865
985
|
}).strict();
|
|
866
|
-
var StudioRunDetailResponseSchema =
|
|
986
|
+
var StudioRunDetailResponseSchema = import_zod4.z.object({
|
|
867
987
|
run: StudioRunSchema,
|
|
868
|
-
scores:
|
|
869
|
-
canReview:
|
|
870
|
-
reviewActorId:
|
|
871
|
-
events:
|
|
988
|
+
scores: import_zod4.z.array(StudioScoreSchema).optional(),
|
|
989
|
+
canReview: import_zod4.z.boolean().optional(),
|
|
990
|
+
reviewActorId: import_zod4.z.string().optional(),
|
|
991
|
+
events: import_zod4.z.array(StudioDetailEventSchema),
|
|
872
992
|
session: StudioSessionSchema.nullable(),
|
|
873
|
-
interrupts:
|
|
874
|
-
updatedAt:
|
|
993
|
+
interrupts: import_zod4.z.array(StudioInterruptSchema),
|
|
994
|
+
updatedAt: import_zod4.z.string().datetime({ offset: true })
|
|
875
995
|
}).strict();
|
|
876
|
-
var StudioSessionDetailResponseSchema =
|
|
996
|
+
var StudioSessionDetailResponseSchema = import_zod4.z.object({
|
|
877
997
|
session: StudioSessionSchema,
|
|
878
|
-
runs:
|
|
879
|
-
events:
|
|
880
|
-
interrupts:
|
|
881
|
-
updatedAt:
|
|
998
|
+
runs: import_zod4.z.array(StudioRunSchema),
|
|
999
|
+
events: import_zod4.z.array(StudioDetailEventSchema),
|
|
1000
|
+
interrupts: import_zod4.z.array(StudioInterruptSchema),
|
|
1001
|
+
updatedAt: import_zod4.z.string().datetime({ offset: true })
|
|
882
1002
|
}).strict();
|
|
883
|
-
var StudioInterruptDetailResponseSchema =
|
|
1003
|
+
var StudioInterruptDetailResponseSchema = import_zod4.z.object({
|
|
884
1004
|
interrupt: StudioInterruptSchema,
|
|
885
|
-
events:
|
|
1005
|
+
events: import_zod4.z.array(StudioDetailEventSchema),
|
|
886
1006
|
run: StudioRunSchema.nullable(),
|
|
887
1007
|
session: StudioSessionSchema.nullable(),
|
|
888
|
-
updatedAt:
|
|
1008
|
+
updatedAt: import_zod4.z.string().datetime({ offset: true })
|
|
889
1009
|
}).strict();
|
|
890
|
-
var StudioWorkflowsResponseSchema =
|
|
891
|
-
workflows:
|
|
892
|
-
observedCalls:
|
|
1010
|
+
var StudioWorkflowsResponseSchema = import_zod4.z.object({
|
|
1011
|
+
workflows: import_zod4.z.array(StudioWorkflowSchema),
|
|
1012
|
+
observedCalls: import_zod4.z.array(
|
|
893
1013
|
StudioWorkflowTransitionSchema.extend({
|
|
894
|
-
runId:
|
|
895
|
-
invocationId:
|
|
896
|
-
branchId:
|
|
1014
|
+
runId: import_zod4.z.string(),
|
|
1015
|
+
invocationId: import_zod4.z.string(),
|
|
1016
|
+
branchId: import_zod4.z.string()
|
|
897
1017
|
})
|
|
898
1018
|
).optional(),
|
|
899
|
-
transitions:
|
|
1019
|
+
transitions: import_zod4.z.array(StudioWorkflowTransitionSchema),
|
|
900
1020
|
cohort: StudioTimeRangeContextSchema.extend({
|
|
901
|
-
workflowId:
|
|
902
|
-
version:
|
|
1021
|
+
workflowId: import_zod4.z.string().nullable(),
|
|
1022
|
+
version: import_zod4.z.string().nullable()
|
|
903
1023
|
}).strict()
|
|
904
1024
|
}).strict();
|
|
905
|
-
var StudioCatalogsResponseSchema =
|
|
906
|
-
environments:
|
|
907
|
-
providers:
|
|
908
|
-
models:
|
|
909
|
-
workflows:
|
|
910
|
-
tags:
|
|
1025
|
+
var StudioCatalogsResponseSchema = import_zod4.z.object({
|
|
1026
|
+
environments: import_zod4.z.array(import_zod4.z.string()),
|
|
1027
|
+
providers: import_zod4.z.array(import_zod4.z.string()),
|
|
1028
|
+
models: import_zod4.z.array(import_zod4.z.string()),
|
|
1029
|
+
workflows: import_zod4.z.array(import_zod4.z.string()),
|
|
1030
|
+
tags: import_zod4.z.array(import_zod4.z.string())
|
|
911
1031
|
}).strict();
|
|
912
|
-
var StudioContextResponseSchema =
|
|
913
|
-
organization:
|
|
914
|
-
name:
|
|
1032
|
+
var StudioContextResponseSchema = import_zod4.z.object({
|
|
1033
|
+
organization: import_zod4.z.object({
|
|
1034
|
+
name: import_zod4.z.string().min(1)
|
|
915
1035
|
}).strict(),
|
|
916
|
-
project:
|
|
917
|
-
name:
|
|
1036
|
+
project: import_zod4.z.object({
|
|
1037
|
+
name: import_zod4.z.string().min(1)
|
|
918
1038
|
}).strict(),
|
|
919
|
-
environments:
|
|
920
|
-
apiKey:
|
|
921
|
-
mode:
|
|
922
|
-
scopes:
|
|
1039
|
+
environments: import_zod4.z.array(import_zod4.z.string()),
|
|
1040
|
+
apiKey: import_zod4.z.object({
|
|
1041
|
+
mode: import_zod4.z.enum(["test", "live"]),
|
|
1042
|
+
scopes: import_zod4.z.array(import_zod4.z.string())
|
|
923
1043
|
}).strict(),
|
|
924
|
-
api:
|
|
925
|
-
status:
|
|
926
|
-
service:
|
|
927
|
-
version:
|
|
1044
|
+
api: import_zod4.z.object({
|
|
1045
|
+
status: import_zod4.z.literal("ok"),
|
|
1046
|
+
service: import_zod4.z.literal("kortyx-api"),
|
|
1047
|
+
version: import_zod4.z.string().min(1)
|
|
928
1048
|
}).strict()
|
|
929
1049
|
}).strict();
|
|
930
1050
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -970,6 +1090,7 @@ var StudioContextResponseSchema = import_zod3.z.object({
|
|
|
970
1090
|
StudioTimeRangeContextSchema,
|
|
971
1091
|
StudioTimeRangeQuerySchema,
|
|
972
1092
|
StudioTimeRangeSchema,
|
|
1093
|
+
StudioToolSchema,
|
|
973
1094
|
StudioUpdateOperationSchema,
|
|
974
1095
|
StudioUpdateSettingsSchema,
|
|
975
1096
|
StudioUpdateStatusSchema,
|
|
@@ -992,7 +1113,11 @@ var StudioContextResponseSchema = import_zod3.z.object({
|
|
|
992
1113
|
TelemetryServiceSchema,
|
|
993
1114
|
TelemetryUnitPriceSchema,
|
|
994
1115
|
TelemetryUsageItemSchema,
|
|
1116
|
+
ToolDiscoverySchema,
|
|
1117
|
+
ToolObservationSchema,
|
|
1118
|
+
ToolOutcomeSchema,
|
|
995
1119
|
UserFeedbackRequestSchema,
|
|
1120
|
+
WorkflowToolSchema,
|
|
996
1121
|
WorkflowTopologyCallSchema,
|
|
997
1122
|
WorkflowTopologyEdgeSchema,
|
|
998
1123
|
WorkflowTopologyNodeSchema,
|