@kortyx/telemetry-contracts 0.8.0 → 0.9.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 +7 -0
- package/dist/index.d.ts +292 -2
- package/dist/index.js +486 -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
|
});
|
|
@@ -337,6 +405,11 @@ var TELEMETRY_EVENT_TYPES = [
|
|
|
337
405
|
"tool.started",
|
|
338
406
|
"tool.completed",
|
|
339
407
|
"tool.failed",
|
|
408
|
+
"tool.denied",
|
|
409
|
+
"tool.cancelled",
|
|
410
|
+
"tool.reused",
|
|
411
|
+
"tool.waiting",
|
|
412
|
+
"tool.suspended",
|
|
340
413
|
"response.completed",
|
|
341
414
|
"interrupt.created",
|
|
342
415
|
"interrupt.resolved",
|
|
@@ -356,95 +429,138 @@ var TELEMETRY_EVENT_TYPES = [
|
|
|
356
429
|
"session.forked",
|
|
357
430
|
"session.rolled_back"
|
|
358
431
|
];
|
|
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
|
-
|
|
432
|
+
var TelemetryServiceSchema = import_zod4.z.object({
|
|
433
|
+
name: import_zod4.z.string().min(1),
|
|
434
|
+
deploymentRef: import_zod4.z.string().min(1).optional()
|
|
435
|
+
}).strict();
|
|
436
|
+
var WorkflowTopologyNodeSchema = import_zod4.z.object({
|
|
437
|
+
id: import_zod4.z.string().min(1),
|
|
438
|
+
label: import_zod4.z.string().optional(),
|
|
439
|
+
type: import_zod4.z.string().optional(),
|
|
440
|
+
provider: import_zod4.z.string().optional(),
|
|
441
|
+
model: import_zod4.z.string().optional(),
|
|
442
|
+
metadata: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).optional(),
|
|
443
|
+
tools: import_zod4.z.array(WorkflowToolSchema).optional(),
|
|
444
|
+
toolDiscovery: ToolDiscoverySchema.optional()
|
|
445
|
+
}).strict();
|
|
446
|
+
var WorkflowTopologyEdgeSchema = import_zod4.z.object({
|
|
447
|
+
sourceNodeId: import_zod4.z.string().min(1),
|
|
448
|
+
targetNodeId: import_zod4.z.string().min(1),
|
|
449
|
+
condition: import_zod4.z.string().optional()
|
|
450
|
+
}).strict();
|
|
451
|
+
var WorkflowTopologyCallSchema = import_zod4.z.object({
|
|
452
|
+
sourceNodeId: import_zod4.z.string().min(1),
|
|
453
|
+
targetWorkflowId: import_zod4.z.string().min(1)
|
|
454
|
+
}).strict();
|
|
455
|
+
var WorkflowTopologyTransitionSchema = import_zod4.z.object({
|
|
456
|
+
sourceNodeId: import_zod4.z.string().min(1).optional(),
|
|
457
|
+
targetWorkflowId: import_zod4.z.string().min(1),
|
|
458
|
+
condition: import_zod4.z.string().optional(),
|
|
459
|
+
intent: import_zod4.z.string().optional(),
|
|
460
|
+
kind: import_zod4.z.enum(["call", "handoff"]).optional()
|
|
461
|
+
}).strict();
|
|
462
|
+
var EnsureWorkflowTopologyRequestSchema = import_zod4.z.object({
|
|
463
|
+
schemaVersion: import_zod4.z.literal(1),
|
|
464
|
+
environment: import_zod4.z.string().min(1),
|
|
390
465
|
service: TelemetryServiceSchema,
|
|
391
|
-
workflow:
|
|
392
|
-
id:
|
|
393
|
-
declaredVersion:
|
|
394
|
-
description:
|
|
395
|
-
tags:
|
|
396
|
-
topologyHash:
|
|
397
|
-
nodes:
|
|
398
|
-
edges:
|
|
399
|
-
transitions:
|
|
400
|
-
calls:
|
|
466
|
+
workflow: import_zod4.z.object({
|
|
467
|
+
id: import_zod4.z.string().min(1),
|
|
468
|
+
declaredVersion: import_zod4.z.string().min(1),
|
|
469
|
+
description: import_zod4.z.string().optional(),
|
|
470
|
+
tags: import_zod4.z.array(import_zod4.z.string()).optional(),
|
|
471
|
+
topologyHash: import_zod4.z.string().regex(/^[a-f0-9]{64}$/),
|
|
472
|
+
nodes: import_zod4.z.array(WorkflowTopologyNodeSchema),
|
|
473
|
+
edges: import_zod4.z.array(WorkflowTopologyEdgeSchema),
|
|
474
|
+
transitions: import_zod4.z.array(WorkflowTopologyTransitionSchema).optional(),
|
|
475
|
+
calls: import_zod4.z.array(WorkflowTopologyCallSchema).optional()
|
|
401
476
|
}).strict()
|
|
402
477
|
}).strict();
|
|
403
|
-
var EnsureWorkflowTopologyResponseSchema =
|
|
404
|
-
var TelemetryEventTypeSchema =
|
|
405
|
-
var TelemetryEventSchema =
|
|
406
|
-
schemaVersion:
|
|
407
|
-
eventId:
|
|
408
|
-
occurredAt:
|
|
409
|
-
environment:
|
|
478
|
+
var EnsureWorkflowTopologyResponseSchema = import_zod4.z.object({ workflowRevisionId: import_zod4.z.string().min(1), created: import_zod4.z.boolean() }).strict();
|
|
479
|
+
var TelemetryEventTypeSchema = import_zod4.z.enum(TELEMETRY_EVENT_TYPES);
|
|
480
|
+
var TelemetryEventSchema = import_zod4.z.object({
|
|
481
|
+
schemaVersion: import_zod4.z.literal(1),
|
|
482
|
+
eventId: import_zod4.z.string().min(1),
|
|
483
|
+
occurredAt: import_zod4.z.string().datetime({ offset: true }),
|
|
484
|
+
environment: import_zod4.z.string().min(1),
|
|
410
485
|
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:
|
|
486
|
+
correlation: import_zod4.z.object({
|
|
487
|
+
invocationId: import_zod4.z.string().optional(),
|
|
488
|
+
parentInvocationId: import_zod4.z.string().optional(),
|
|
489
|
+
branchId: import_zod4.z.string().optional(),
|
|
490
|
+
traceId: import_zod4.z.string().optional(),
|
|
491
|
+
spanId: import_zod4.z.string().optional(),
|
|
492
|
+
parentSpanId: import_zod4.z.string().optional(),
|
|
493
|
+
runId: import_zod4.z.string().min(1),
|
|
494
|
+
sessionId: import_zod4.z.string().optional(),
|
|
495
|
+
workflowId: import_zod4.z.string().min(1),
|
|
496
|
+
workflowRevisionId: import_zod4.z.string().optional(),
|
|
497
|
+
topologyHash: import_zod4.z.string().regex(/^[a-f0-9]{64}$/).optional(),
|
|
498
|
+
nodeId: import_zod4.z.string().optional()
|
|
424
499
|
}).strict(),
|
|
425
|
-
context:
|
|
426
|
-
userId:
|
|
427
|
-
tenantId:
|
|
428
|
-
tags:
|
|
429
|
-
metadata:
|
|
500
|
+
context: import_zod4.z.object({
|
|
501
|
+
userId: import_zod4.z.string().optional(),
|
|
502
|
+
tenantId: import_zod4.z.string().optional(),
|
|
503
|
+
tags: import_zod4.z.array(import_zod4.z.string()).optional(),
|
|
504
|
+
metadata: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).optional()
|
|
430
505
|
}).strict().optional(),
|
|
431
506
|
type: TelemetryEventTypeSchema,
|
|
432
|
-
payload:
|
|
433
|
-
}).strict()
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
507
|
+
payload: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown())
|
|
508
|
+
}).strict().superRefine((event, ctx) => {
|
|
509
|
+
if (!event.type.startsWith("tool.")) return;
|
|
510
|
+
const canonical = event.payload.version === 1 || [
|
|
511
|
+
"tool.denied",
|
|
512
|
+
"tool.cancelled",
|
|
513
|
+
"tool.reused",
|
|
514
|
+
"tool.waiting",
|
|
515
|
+
"tool.suspended"
|
|
516
|
+
].includes(event.type);
|
|
517
|
+
if (!canonical) return;
|
|
518
|
+
const parsed = ToolObservationSchema.strict().safeParse(event.payload);
|
|
519
|
+
if (!parsed.success)
|
|
520
|
+
for (const issue of parsed.error.issues)
|
|
521
|
+
ctx.addIssue({ ...issue, path: ["payload", ...issue.path] });
|
|
522
|
+
else {
|
|
523
|
+
if ((parsed.data.errorType !== void 0 || parsed.data.errorMessage !== void 0) && parsed.data.outcome !== "fault")
|
|
524
|
+
ctx.addIssue({
|
|
525
|
+
code: "custom",
|
|
526
|
+
path: ["payload"],
|
|
527
|
+
message: "Error diagnostics require a fault outcome."
|
|
528
|
+
});
|
|
529
|
+
const terminalOutcomes = {
|
|
530
|
+
"tool.completed": "success",
|
|
531
|
+
"tool.failed": "fault",
|
|
532
|
+
"tool.denied": "denied",
|
|
533
|
+
"tool.cancelled": "cancelled"
|
|
534
|
+
};
|
|
535
|
+
const expected = terminalOutcomes[event.type];
|
|
536
|
+
if (expected && parsed.data.outcome !== expected)
|
|
537
|
+
ctx.addIssue({
|
|
538
|
+
code: "custom",
|
|
539
|
+
path: ["payload", "outcome"],
|
|
540
|
+
message: "Outcome must match the tool event type."
|
|
541
|
+
});
|
|
542
|
+
if (event.type === "tool.reused" && (parsed.data.executed || !parsed.data.source))
|
|
543
|
+
ctx.addIssue({
|
|
544
|
+
code: "custom",
|
|
545
|
+
path: ["payload"],
|
|
546
|
+
message: "Reuse must be unexecuted and reference its source."
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
});
|
|
550
|
+
var TelemetryEventBatchSchema = import_zod4.z.object({ events: import_zod4.z.array(TelemetryEventSchema).min(1) }).strict();
|
|
551
|
+
var TelemetryEventBatchResponseSchema = import_zod4.z.object({
|
|
552
|
+
accepted: import_zod4.z.number().int().nonnegative(),
|
|
553
|
+
inserted: import_zod4.z.number().int().nonnegative(),
|
|
554
|
+
duplicates: import_zod4.z.number().int().nonnegative()
|
|
439
555
|
}).strict();
|
|
440
|
-
var TelemetryPricingSourceSchema =
|
|
556
|
+
var TelemetryPricingSourceSchema = import_zod4.z.enum([
|
|
441
557
|
"sdk",
|
|
442
558
|
"provider",
|
|
443
559
|
"custom",
|
|
444
560
|
"project-rate-card",
|
|
445
561
|
"default-rate-card"
|
|
446
562
|
]);
|
|
447
|
-
var TelemetryPricingUnitSchema =
|
|
563
|
+
var TelemetryPricingUnitSchema = import_zod4.z.enum([
|
|
448
564
|
"token",
|
|
449
565
|
"character",
|
|
450
566
|
"request",
|
|
@@ -457,7 +573,7 @@ var TelemetryPricingUnitSchema = import_zod3.z.enum([
|
|
|
457
573
|
"minute",
|
|
458
574
|
"custom"
|
|
459
575
|
]);
|
|
460
|
-
var TelemetryPricingUsageTypeSchema =
|
|
576
|
+
var TelemetryPricingUsageTypeSchema = import_zod4.z.enum([
|
|
461
577
|
"input",
|
|
462
578
|
"output",
|
|
463
579
|
"reasoning",
|
|
@@ -473,42 +589,42 @@ var TelemetryPricingUsageTypeSchema = import_zod3.z.enum([
|
|
|
473
589
|
"request",
|
|
474
590
|
"custom"
|
|
475
591
|
]);
|
|
476
|
-
var TelemetryUsageItemSchema =
|
|
592
|
+
var TelemetryUsageItemSchema = import_zod4.z.object({
|
|
477
593
|
usageType: TelemetryPricingUsageTypeSchema,
|
|
478
|
-
quantity:
|
|
594
|
+
quantity: import_zod4.z.number().nonnegative(),
|
|
479
595
|
unit: TelemetryPricingUnitSchema,
|
|
480
|
-
label:
|
|
596
|
+
label: import_zod4.z.string().optional()
|
|
481
597
|
}).strict();
|
|
482
|
-
var TelemetryUnitPriceSchema =
|
|
598
|
+
var TelemetryUnitPriceSchema = import_zod4.z.object({
|
|
483
599
|
usageType: TelemetryPricingUsageTypeSchema,
|
|
484
600
|
unit: TelemetryPricingUnitSchema,
|
|
485
|
-
unitQuantity:
|
|
486
|
-
priceMicros:
|
|
487
|
-
label:
|
|
601
|
+
unitQuantity: import_zod4.z.number().positive().default(1),
|
|
602
|
+
priceMicros: import_zod4.z.number().int().nonnegative(),
|
|
603
|
+
label: import_zod4.z.string().optional()
|
|
488
604
|
}).strict();
|
|
489
|
-
var TelemetryPricingLineItemSchema =
|
|
605
|
+
var TelemetryPricingLineItemSchema = import_zod4.z.object({
|
|
490
606
|
usageType: TelemetryPricingUsageTypeSchema,
|
|
491
|
-
quantity:
|
|
607
|
+
quantity: import_zod4.z.number().nonnegative(),
|
|
492
608
|
unit: TelemetryPricingUnitSchema,
|
|
493
|
-
unitQuantity:
|
|
494
|
-
unitPriceMicros:
|
|
495
|
-
totalCostMicros:
|
|
496
|
-
label:
|
|
609
|
+
unitQuantity: import_zod4.z.number().positive().default(1),
|
|
610
|
+
unitPriceMicros: import_zod4.z.number().int().nonnegative().optional(),
|
|
611
|
+
totalCostMicros: import_zod4.z.number().int().nonnegative().optional(),
|
|
612
|
+
label: import_zod4.z.string().optional()
|
|
497
613
|
}).strict().refine(
|
|
498
614
|
(value) => value.totalCostMicros !== void 0 || value.unitPriceMicros !== void 0,
|
|
499
615
|
"line item requires totalCostMicros or unitPriceMicros"
|
|
500
616
|
);
|
|
501
|
-
var TelemetryPricingHintSchema =
|
|
617
|
+
var TelemetryPricingHintSchema = import_zod4.z.object({
|
|
502
618
|
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 =
|
|
619
|
+
currency: import_zod4.z.string().min(3).max(12).default("USD"),
|
|
620
|
+
actualCostMicros: import_zod4.z.number().int().nonnegative().optional(),
|
|
621
|
+
lineItems: import_zod4.z.array(TelemetryPricingLineItemSchema).optional(),
|
|
622
|
+
unitPrices: import_zod4.z.array(TelemetryUnitPriceSchema).optional(),
|
|
623
|
+
usageItems: import_zod4.z.array(TelemetryUsageItemSchema).optional(),
|
|
624
|
+
pricingRef: import_zod4.z.string().min(1).optional(),
|
|
625
|
+
metadata: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).optional()
|
|
626
|
+
}).strict();
|
|
627
|
+
var StudioRunStatusSchema = import_zod4.z.enum([
|
|
512
628
|
"running",
|
|
513
629
|
"completed",
|
|
514
630
|
"interrupted",
|
|
@@ -524,16 +640,16 @@ var STUDIO_TIME_RANGES = [
|
|
|
524
640
|
"All time",
|
|
525
641
|
"Custom range"
|
|
526
642
|
];
|
|
527
|
-
var StudioTimeRangeSchema =
|
|
528
|
-
var StudioTimeRangeQuerySchema =
|
|
643
|
+
var StudioTimeRangeSchema = import_zod4.z.enum(STUDIO_TIME_RANGES);
|
|
644
|
+
var StudioTimeRangeQuerySchema = import_zod4.z.object({
|
|
529
645
|
range: StudioTimeRangeSchema.optional(),
|
|
530
|
-
startedAfter:
|
|
531
|
-
startedBefore:
|
|
646
|
+
startedAfter: import_zod4.z.string().optional(),
|
|
647
|
+
startedBefore: import_zod4.z.string().optional()
|
|
532
648
|
}).strict();
|
|
533
|
-
var StudioTimeRangeContextSchema =
|
|
649
|
+
var StudioTimeRangeContextSchema = import_zod4.z.object({
|
|
534
650
|
range: StudioTimeRangeSchema,
|
|
535
|
-
startedAfter:
|
|
536
|
-
startedBefore:
|
|
651
|
+
startedAfter: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
652
|
+
startedBefore: import_zod4.z.string().datetime({ offset: true }).nullable()
|
|
537
653
|
}).strict();
|
|
538
654
|
var STUDIO_TIME_RANGE_MILLISECONDS = {
|
|
539
655
|
"Last hour": 60 * 60 * 1e3,
|
|
@@ -607,7 +723,7 @@ var resolveStudioTimeRange = (input, now = /* @__PURE__ */ new Date()) => {
|
|
|
607
723
|
}
|
|
608
724
|
};
|
|
609
725
|
};
|
|
610
|
-
var StudioInterruptStatusSchema =
|
|
726
|
+
var StudioInterruptStatusSchema = import_zod4.z.enum([
|
|
611
727
|
"pending",
|
|
612
728
|
"resolved",
|
|
613
729
|
"expired",
|
|
@@ -620,311 +736,314 @@ var resolveStudioInterruptStatus = (input, now = Date.now()) => {
|
|
|
620
736
|
const nowMs = typeof now === "number" ? now : now.getTime();
|
|
621
737
|
return Number.isFinite(expiresAt) && Number.isFinite(nowMs) && expiresAt <= nowMs ? "expired" : input.status;
|
|
622
738
|
};
|
|
623
|
-
var StudioInterruptTypeSchema =
|
|
739
|
+
var StudioInterruptTypeSchema = import_zod4.z.enum([
|
|
624
740
|
"choice",
|
|
625
741
|
"multi-choice",
|
|
626
742
|
"text",
|
|
627
743
|
"unknown"
|
|
628
744
|
]);
|
|
629
|
-
var StudioInterruptInteractionModeSchema =
|
|
745
|
+
var StudioInterruptInteractionModeSchema = import_zod4.z.enum([
|
|
630
746
|
"static-options",
|
|
631
747
|
"dynamic-picker",
|
|
632
748
|
"freeform",
|
|
633
749
|
"unknown"
|
|
634
750
|
]);
|
|
635
|
-
var StudioInterruptOptionSchema =
|
|
636
|
-
id:
|
|
637
|
-
label:
|
|
638
|
-
description:
|
|
751
|
+
var StudioInterruptOptionSchema = import_zod4.z.object({
|
|
752
|
+
id: import_zod4.z.string().min(1),
|
|
753
|
+
label: import_zod4.z.string().min(1),
|
|
754
|
+
description: import_zod4.z.string().nullable()
|
|
639
755
|
}).strict();
|
|
640
|
-
var StudioResumeOutcomeSchema =
|
|
756
|
+
var StudioResumeOutcomeSchema = import_zod4.z.enum([
|
|
641
757
|
"resumed",
|
|
642
758
|
"resume failed",
|
|
643
759
|
"expired before resume",
|
|
644
760
|
"cancelled"
|
|
645
761
|
]);
|
|
646
|
-
var StudioWorkflowHealthSchema =
|
|
762
|
+
var StudioWorkflowHealthSchema = import_zod4.z.enum([
|
|
647
763
|
"unknown",
|
|
648
764
|
"healthy",
|
|
649
765
|
"degraded",
|
|
650
766
|
"failing",
|
|
651
767
|
"idle"
|
|
652
768
|
]);
|
|
653
|
-
var StudioPricingStatusSchema =
|
|
769
|
+
var StudioPricingStatusSchema = import_zod4.z.enum([
|
|
654
770
|
"priced",
|
|
655
771
|
"unpriced",
|
|
656
772
|
"unknown"
|
|
657
773
|
]);
|
|
658
774
|
var StudioPricingSourceSchema = TelemetryPricingSourceSchema.nullable();
|
|
659
|
-
var StudioChangeResourceSchema =
|
|
775
|
+
var StudioChangeResourceSchema = import_zod4.z.enum([
|
|
776
|
+
"workflows",
|
|
660
777
|
"runs",
|
|
661
778
|
"sessions",
|
|
662
779
|
"interrupts"
|
|
663
780
|
]);
|
|
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:
|
|
781
|
+
var StudioChangeSchema = import_zod4.z.object({
|
|
782
|
+
schemaVersion: import_zod4.z.literal(1),
|
|
783
|
+
changeId: import_zod4.z.string().min(1),
|
|
784
|
+
emittedAt: import_zod4.z.string().datetime({ offset: true }),
|
|
785
|
+
organizationId: import_zod4.z.string().min(1),
|
|
786
|
+
projectId: import_zod4.z.string().min(1),
|
|
787
|
+
resources: import_zod4.z.array(StudioChangeResourceSchema).min(1)
|
|
788
|
+
}).strict();
|
|
789
|
+
var StudioMetricSchema = import_zod4.z.object({
|
|
790
|
+
runCount: import_zod4.z.number().int().nonnegative(),
|
|
791
|
+
successRate: import_zod4.z.number().min(0).max(100).nullable(),
|
|
792
|
+
errorRate: import_zod4.z.number().min(0).max(100).nullable(),
|
|
793
|
+
retryCount: import_zod4.z.number().int().nonnegative().nullable(),
|
|
794
|
+
interruptRate: import_zod4.z.number().min(0).max(100).nullable(),
|
|
795
|
+
p50DurationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
796
|
+
p95DurationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
797
|
+
averageTokens: import_zod4.z.number().nonnegative().nullable(),
|
|
798
|
+
averageCost: import_zod4.z.number().nonnegative().nullable(),
|
|
799
|
+
currency: import_zod4.z.string().nullable()
|
|
800
|
+
}).strict();
|
|
801
|
+
var StudioRunSchema = import_zod4.z.object({
|
|
802
|
+
id: import_zod4.z.string().min(1),
|
|
686
803
|
feedback: FeedbackSummarySchema.optional(),
|
|
687
|
-
callerNodeId:
|
|
688
|
-
parentRunId:
|
|
689
|
-
parentWorkflowId:
|
|
690
|
-
invocationId:
|
|
691
|
-
branchId:
|
|
692
|
-
callId:
|
|
804
|
+
callerNodeId: import_zod4.z.string().optional(),
|
|
805
|
+
parentRunId: import_zod4.z.string().optional(),
|
|
806
|
+
parentWorkflowId: import_zod4.z.string().optional(),
|
|
807
|
+
invocationId: import_zod4.z.string().optional(),
|
|
808
|
+
branchId: import_zod4.z.string().optional(),
|
|
809
|
+
callId: import_zod4.z.string().optional(),
|
|
693
810
|
status: StudioRunStatusSchema,
|
|
694
|
-
startedAt:
|
|
695
|
-
endedAt:
|
|
696
|
-
workflowId:
|
|
697
|
-
workflowIds:
|
|
698
|
-
workflowRefs:
|
|
699
|
-
|
|
700
|
-
workflowId:
|
|
701
|
-
workflowRevisionId:
|
|
702
|
-
declaredVersion:
|
|
811
|
+
startedAt: import_zod4.z.string().datetime({ offset: true }),
|
|
812
|
+
endedAt: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
813
|
+
workflowId: import_zod4.z.string().min(1),
|
|
814
|
+
workflowIds: import_zod4.z.array(import_zod4.z.string().min(1)),
|
|
815
|
+
workflowRefs: import_zod4.z.array(
|
|
816
|
+
import_zod4.z.object({
|
|
817
|
+
workflowId: import_zod4.z.string().min(1),
|
|
818
|
+
workflowRevisionId: import_zod4.z.string().nullable(),
|
|
819
|
+
declaredVersion: import_zod4.z.string().nullable()
|
|
703
820
|
}).strict()
|
|
704
821
|
),
|
|
705
|
-
workflowRevisionId:
|
|
706
|
-
declaredVersion:
|
|
707
|
-
transitionIds:
|
|
708
|
-
path:
|
|
709
|
-
sessionId:
|
|
710
|
-
provider:
|
|
711
|
-
model:
|
|
712
|
-
models:
|
|
713
|
-
durationMs:
|
|
714
|
-
tokens:
|
|
715
|
-
cost:
|
|
822
|
+
workflowRevisionId: import_zod4.z.string().nullable(),
|
|
823
|
+
declaredVersion: import_zod4.z.string().nullable(),
|
|
824
|
+
transitionIds: import_zod4.z.array(import_zod4.z.string().min(1)),
|
|
825
|
+
path: import_zod4.z.array(import_zod4.z.string()),
|
|
826
|
+
sessionId: import_zod4.z.string().nullable(),
|
|
827
|
+
provider: import_zod4.z.string().nullable(),
|
|
828
|
+
model: import_zod4.z.string().nullable(),
|
|
829
|
+
models: import_zod4.z.array(import_zod4.z.string()),
|
|
830
|
+
durationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
831
|
+
tokens: import_zod4.z.number().int().nonnegative().nullable(),
|
|
832
|
+
cost: import_zod4.z.number().nonnegative().nullable(),
|
|
716
833
|
pricingStatus: StudioPricingStatusSchema,
|
|
717
834
|
pricingSource: StudioPricingSourceSchema,
|
|
718
|
-
currency:
|
|
719
|
-
result:
|
|
720
|
-
environment:
|
|
721
|
-
userId:
|
|
722
|
-
tenantId:
|
|
723
|
-
hasTool:
|
|
724
|
-
hasRetry:
|
|
725
|
-
interruptNodeId:
|
|
726
|
-
interruptId:
|
|
835
|
+
currency: import_zod4.z.string().nullable(),
|
|
836
|
+
result: import_zod4.z.string().nullable(),
|
|
837
|
+
environment: import_zod4.z.string().min(1),
|
|
838
|
+
userId: import_zod4.z.string().nullable(),
|
|
839
|
+
tenantId: import_zod4.z.string().nullable(),
|
|
840
|
+
hasTool: import_zod4.z.boolean(),
|
|
841
|
+
hasRetry: import_zod4.z.boolean(),
|
|
842
|
+
interruptNodeId: import_zod4.z.string().nullable(),
|
|
843
|
+
interruptId: import_zod4.z.string().nullable().optional(),
|
|
727
844
|
interruptStatus: StudioInterruptStatusSchema.nullable().optional(),
|
|
728
|
-
interruptExpiresAt:
|
|
845
|
+
interruptExpiresAt: import_zod4.z.string().datetime({ offset: true }).nullable().optional()
|
|
729
846
|
}).strict();
|
|
730
|
-
var StudioSessionSchema =
|
|
731
|
-
id:
|
|
847
|
+
var StudioSessionSchema = import_zod4.z.object({
|
|
848
|
+
id: import_zod4.z.string().min(1),
|
|
732
849
|
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:
|
|
850
|
+
lastActivityAt: import_zod4.z.string().datetime({ offset: true }),
|
|
851
|
+
workflowIds: import_zod4.z.array(import_zod4.z.string()),
|
|
852
|
+
workflowCount: import_zod4.z.number().int().nonnegative(),
|
|
853
|
+
activeWorkflowId: import_zod4.z.string().nullable(),
|
|
854
|
+
activeVersion: import_zod4.z.string().nullable(),
|
|
855
|
+
userId: import_zod4.z.string().nullable(),
|
|
856
|
+
tenantId: import_zod4.z.string().nullable(),
|
|
857
|
+
runs: import_zod4.z.number().int().nonnegative(),
|
|
858
|
+
succeeded: import_zod4.z.number().int().nonnegative(),
|
|
859
|
+
failed: import_zod4.z.number().int().nonnegative(),
|
|
860
|
+
interrupted: import_zod4.z.number().int().nonnegative(),
|
|
861
|
+
checkpoints: import_zod4.z.number().int().nonnegative(),
|
|
862
|
+
hasFork: import_zod4.z.boolean(),
|
|
863
|
+
durationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
864
|
+
tokens: import_zod4.z.number().int().nonnegative().nullable(),
|
|
865
|
+
cost: import_zod4.z.number().nonnegative().nullable(),
|
|
749
866
|
pricingStatus: StudioPricingStatusSchema,
|
|
750
867
|
pricingSource: StudioPricingSourceSchema,
|
|
751
|
-
currency:
|
|
752
|
-
latestResult:
|
|
753
|
-
latestError:
|
|
754
|
-
pendingInterruptId:
|
|
868
|
+
currency: import_zod4.z.string().nullable(),
|
|
869
|
+
latestResult: import_zod4.z.string().nullable(),
|
|
870
|
+
latestError: import_zod4.z.string().nullable(),
|
|
871
|
+
pendingInterruptId: import_zod4.z.string().nullable(),
|
|
755
872
|
interruptStatus: StudioInterruptStatusSchema.nullable().optional(),
|
|
756
|
-
interruptExpiresAt:
|
|
757
|
-
providers:
|
|
758
|
-
models:
|
|
759
|
-
tags:
|
|
760
|
-
environment:
|
|
761
|
-
}).strict();
|
|
762
|
-
var StudioInterruptSchema =
|
|
763
|
-
afterResponseCompleted:
|
|
764
|
-
id:
|
|
873
|
+
interruptExpiresAt: import_zod4.z.string().datetime({ offset: true }).nullable().optional(),
|
|
874
|
+
providers: import_zod4.z.array(import_zod4.z.string()),
|
|
875
|
+
models: import_zod4.z.array(import_zod4.z.string()),
|
|
876
|
+
tags: import_zod4.z.array(import_zod4.z.string()),
|
|
877
|
+
environment: import_zod4.z.string().min(1)
|
|
878
|
+
}).strict();
|
|
879
|
+
var StudioInterruptSchema = import_zod4.z.object({
|
|
880
|
+
afterResponseCompleted: import_zod4.z.boolean().optional(),
|
|
881
|
+
id: import_zod4.z.string().min(1),
|
|
765
882
|
status: StudioInterruptStatusSchema,
|
|
766
883
|
type: StudioInterruptTypeSchema,
|
|
767
884
|
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:
|
|
885
|
+
schemaId: import_zod4.z.string().nullable(),
|
|
886
|
+
schemaVersion: import_zod4.z.string().nullable(),
|
|
887
|
+
createdAt: import_zod4.z.string().datetime({ offset: true }),
|
|
888
|
+
resolvedAt: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
889
|
+
expiresAt: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
890
|
+
question: import_zod4.z.string().nullable(),
|
|
891
|
+
contentCaptured: import_zod4.z.boolean(),
|
|
892
|
+
optionCount: import_zod4.z.number().int().nonnegative().nullable(),
|
|
893
|
+
options: import_zod4.z.array(StudioInterruptOptionSchema).nullable(),
|
|
894
|
+
workflowId: import_zod4.z.string().min(1),
|
|
895
|
+
nodeId: import_zod4.z.string().nullable(),
|
|
896
|
+
sessionId: import_zod4.z.string().nullable(),
|
|
897
|
+
userId: import_zod4.z.string().nullable(),
|
|
898
|
+
tenantId: import_zod4.z.string().nullable(),
|
|
899
|
+
response: import_zod4.z.string().nullable(),
|
|
900
|
+
responseCaptured: import_zod4.z.boolean(),
|
|
784
901
|
resumeOutcome: StudioResumeOutcomeSchema.nullable(),
|
|
785
|
-
resumeError:
|
|
786
|
-
runId:
|
|
787
|
-
resumeToken:
|
|
788
|
-
resolvedBy:
|
|
789
|
-
environment:
|
|
790
|
-
}).strict();
|
|
791
|
-
var StudioDetailEventSchema =
|
|
792
|
-
id:
|
|
902
|
+
resumeError: import_zod4.z.string().nullable(),
|
|
903
|
+
runId: import_zod4.z.string().min(1),
|
|
904
|
+
resumeToken: import_zod4.z.string().nullable(),
|
|
905
|
+
resolvedBy: import_zod4.z.string().nullable(),
|
|
906
|
+
environment: import_zod4.z.string().min(1)
|
|
907
|
+
}).strict();
|
|
908
|
+
var StudioDetailEventSchema = import_zod4.z.object({
|
|
909
|
+
id: import_zod4.z.string().min(1),
|
|
793
910
|
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
|
-
|
|
911
|
+
occurredAt: import_zod4.z.string().datetime({ offset: true }),
|
|
912
|
+
receivedAt: import_zod4.z.string().datetime({ offset: true }),
|
|
913
|
+
environment: import_zod4.z.string().min(1),
|
|
914
|
+
serviceName: import_zod4.z.string().min(1),
|
|
915
|
+
deploymentRef: import_zod4.z.string().nullable(),
|
|
916
|
+
traceId: import_zod4.z.string().nullable(),
|
|
917
|
+
spanId: import_zod4.z.string().nullable(),
|
|
918
|
+
parentSpanId: import_zod4.z.string().nullable(),
|
|
919
|
+
runId: import_zod4.z.string().min(1),
|
|
920
|
+
sessionId: import_zod4.z.string().nullable(),
|
|
921
|
+
workflowId: import_zod4.z.string().min(1),
|
|
922
|
+
workflowRevisionId: import_zod4.z.string().nullable(),
|
|
923
|
+
nodeId: import_zod4.z.string().nullable(),
|
|
924
|
+
userId: import_zod4.z.string().nullable(),
|
|
925
|
+
tenantId: import_zod4.z.string().nullable(),
|
|
926
|
+
tags: import_zod4.z.array(import_zod4.z.string()),
|
|
927
|
+
metadata: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).nullable(),
|
|
928
|
+
payload: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown())
|
|
929
|
+
}).strict();
|
|
930
|
+
var StudioWorkflowNodeSchema = import_zod4.z.object({
|
|
931
|
+
tools: import_zod4.z.array(StudioToolSchema).optional(),
|
|
932
|
+
toolDiscovery: ToolDiscoverySchema.optional(),
|
|
933
|
+
id: import_zod4.z.string().min(1),
|
|
934
|
+
label: import_zod4.z.string(),
|
|
935
|
+
type: import_zod4.z.string().nullable(),
|
|
936
|
+
state: import_zod4.z.enum(["healthy", "warning", "failed", "interrupted", "retried"]).nullable(),
|
|
937
|
+
provider: import_zod4.z.string().nullable(),
|
|
938
|
+
model: import_zod4.z.string().nullable(),
|
|
820
939
|
metrics: StudioMetricSchema
|
|
821
940
|
}).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:
|
|
941
|
+
var StudioWorkflowInternalEdgeSchema = import_zod4.z.object({
|
|
942
|
+
id: import_zod4.z.string().min(1),
|
|
943
|
+
source: import_zod4.z.string().min(1),
|
|
944
|
+
target: import_zod4.z.string().min(1),
|
|
945
|
+
condition: import_zod4.z.string().nullable()
|
|
946
|
+
}).strict();
|
|
947
|
+
var StudioWorkflowTransitionSchema = import_zod4.z.object({
|
|
948
|
+
kind: import_zod4.z.enum(["call", "handoff"]).optional(),
|
|
949
|
+
id: import_zod4.z.string().min(1),
|
|
950
|
+
sourceWorkflowId: import_zod4.z.string().min(1),
|
|
951
|
+
sourceNodeId: import_zod4.z.string().nullable(),
|
|
952
|
+
targetWorkflowId: import_zod4.z.string().min(1),
|
|
953
|
+
condition: import_zod4.z.string().nullable(),
|
|
954
|
+
volume: import_zod4.z.number().int().nonnegative(),
|
|
955
|
+
successRate: import_zod4.z.number().min(0).max(100).nullable(),
|
|
956
|
+
medianDurationMs: import_zod4.z.number().nonnegative().nullable(),
|
|
957
|
+
errorRate: import_zod4.z.number().min(0).max(100).nullable()
|
|
958
|
+
}).strict();
|
|
959
|
+
var StudioWorkflowSchema = import_zod4.z.object({
|
|
960
|
+
id: import_zod4.z.string().min(1),
|
|
961
|
+
name: import_zod4.z.string().min(1),
|
|
962
|
+
description: import_zod4.z.string().nullable(),
|
|
963
|
+
versions: import_zod4.z.array(import_zod4.z.string()),
|
|
964
|
+
activeVersion: import_zod4.z.string().nullable(),
|
|
965
|
+
activeRevisionId: import_zod4.z.string().nullable(),
|
|
847
966
|
health: StudioWorkflowHealthSchema,
|
|
848
|
-
tags:
|
|
849
|
-
lastActivityAt:
|
|
967
|
+
tags: import_zod4.z.array(import_zod4.z.string()),
|
|
968
|
+
lastActivityAt: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
850
969
|
metrics: StudioMetricSchema,
|
|
851
|
-
nodes:
|
|
852
|
-
internalEdges:
|
|
970
|
+
nodes: import_zod4.z.array(StudioWorkflowNodeSchema),
|
|
971
|
+
internalEdges: import_zod4.z.array(StudioWorkflowInternalEdgeSchema)
|
|
853
972
|
}).strict();
|
|
854
|
-
var StudioRunsResponseSchema =
|
|
855
|
-
runs:
|
|
856
|
-
totalCount:
|
|
973
|
+
var StudioRunsResponseSchema = import_zod4.z.object({
|
|
974
|
+
runs: import_zod4.z.array(StudioRunSchema),
|
|
975
|
+
totalCount: import_zod4.z.number().int().nonnegative()
|
|
857
976
|
}).strict();
|
|
858
|
-
var StudioSessionsResponseSchema =
|
|
859
|
-
sessions:
|
|
860
|
-
totalCount:
|
|
977
|
+
var StudioSessionsResponseSchema = import_zod4.z.object({
|
|
978
|
+
sessions: import_zod4.z.array(StudioSessionSchema),
|
|
979
|
+
totalCount: import_zod4.z.number().int().nonnegative()
|
|
861
980
|
}).strict();
|
|
862
|
-
var StudioInterruptsResponseSchema =
|
|
863
|
-
interrupts:
|
|
864
|
-
totalCount:
|
|
981
|
+
var StudioInterruptsResponseSchema = import_zod4.z.object({
|
|
982
|
+
interrupts: import_zod4.z.array(StudioInterruptSchema),
|
|
983
|
+
totalCount: import_zod4.z.number().int().nonnegative()
|
|
865
984
|
}).strict();
|
|
866
|
-
var StudioRunDetailResponseSchema =
|
|
985
|
+
var StudioRunDetailResponseSchema = import_zod4.z.object({
|
|
867
986
|
run: StudioRunSchema,
|
|
868
|
-
scores:
|
|
869
|
-
canReview:
|
|
870
|
-
reviewActorId:
|
|
871
|
-
events:
|
|
987
|
+
scores: import_zod4.z.array(StudioScoreSchema).optional(),
|
|
988
|
+
canReview: import_zod4.z.boolean().optional(),
|
|
989
|
+
reviewActorId: import_zod4.z.string().optional(),
|
|
990
|
+
events: import_zod4.z.array(StudioDetailEventSchema),
|
|
872
991
|
session: StudioSessionSchema.nullable(),
|
|
873
|
-
interrupts:
|
|
874
|
-
updatedAt:
|
|
992
|
+
interrupts: import_zod4.z.array(StudioInterruptSchema),
|
|
993
|
+
updatedAt: import_zod4.z.string().datetime({ offset: true })
|
|
875
994
|
}).strict();
|
|
876
|
-
var StudioSessionDetailResponseSchema =
|
|
995
|
+
var StudioSessionDetailResponseSchema = import_zod4.z.object({
|
|
877
996
|
session: StudioSessionSchema,
|
|
878
|
-
runs:
|
|
879
|
-
events:
|
|
880
|
-
interrupts:
|
|
881
|
-
updatedAt:
|
|
997
|
+
runs: import_zod4.z.array(StudioRunSchema),
|
|
998
|
+
events: import_zod4.z.array(StudioDetailEventSchema),
|
|
999
|
+
interrupts: import_zod4.z.array(StudioInterruptSchema),
|
|
1000
|
+
updatedAt: import_zod4.z.string().datetime({ offset: true })
|
|
882
1001
|
}).strict();
|
|
883
|
-
var StudioInterruptDetailResponseSchema =
|
|
1002
|
+
var StudioInterruptDetailResponseSchema = import_zod4.z.object({
|
|
884
1003
|
interrupt: StudioInterruptSchema,
|
|
885
|
-
events:
|
|
1004
|
+
events: import_zod4.z.array(StudioDetailEventSchema),
|
|
886
1005
|
run: StudioRunSchema.nullable(),
|
|
887
1006
|
session: StudioSessionSchema.nullable(),
|
|
888
|
-
updatedAt:
|
|
1007
|
+
updatedAt: import_zod4.z.string().datetime({ offset: true })
|
|
889
1008
|
}).strict();
|
|
890
|
-
var StudioWorkflowsResponseSchema =
|
|
891
|
-
workflows:
|
|
892
|
-
observedCalls:
|
|
1009
|
+
var StudioWorkflowsResponseSchema = import_zod4.z.object({
|
|
1010
|
+
workflows: import_zod4.z.array(StudioWorkflowSchema),
|
|
1011
|
+
observedCalls: import_zod4.z.array(
|
|
893
1012
|
StudioWorkflowTransitionSchema.extend({
|
|
894
|
-
runId:
|
|
895
|
-
invocationId:
|
|
896
|
-
branchId:
|
|
1013
|
+
runId: import_zod4.z.string(),
|
|
1014
|
+
invocationId: import_zod4.z.string(),
|
|
1015
|
+
branchId: import_zod4.z.string()
|
|
897
1016
|
})
|
|
898
1017
|
).optional(),
|
|
899
|
-
transitions:
|
|
1018
|
+
transitions: import_zod4.z.array(StudioWorkflowTransitionSchema),
|
|
900
1019
|
cohort: StudioTimeRangeContextSchema.extend({
|
|
901
|
-
workflowId:
|
|
902
|
-
version:
|
|
1020
|
+
workflowId: import_zod4.z.string().nullable(),
|
|
1021
|
+
version: import_zod4.z.string().nullable()
|
|
903
1022
|
}).strict()
|
|
904
1023
|
}).strict();
|
|
905
|
-
var StudioCatalogsResponseSchema =
|
|
906
|
-
environments:
|
|
907
|
-
providers:
|
|
908
|
-
models:
|
|
909
|
-
workflows:
|
|
910
|
-
tags:
|
|
1024
|
+
var StudioCatalogsResponseSchema = import_zod4.z.object({
|
|
1025
|
+
environments: import_zod4.z.array(import_zod4.z.string()),
|
|
1026
|
+
providers: import_zod4.z.array(import_zod4.z.string()),
|
|
1027
|
+
models: import_zod4.z.array(import_zod4.z.string()),
|
|
1028
|
+
workflows: import_zod4.z.array(import_zod4.z.string()),
|
|
1029
|
+
tags: import_zod4.z.array(import_zod4.z.string())
|
|
911
1030
|
}).strict();
|
|
912
|
-
var StudioContextResponseSchema =
|
|
913
|
-
organization:
|
|
914
|
-
name:
|
|
1031
|
+
var StudioContextResponseSchema = import_zod4.z.object({
|
|
1032
|
+
organization: import_zod4.z.object({
|
|
1033
|
+
name: import_zod4.z.string().min(1)
|
|
915
1034
|
}).strict(),
|
|
916
|
-
project:
|
|
917
|
-
name:
|
|
1035
|
+
project: import_zod4.z.object({
|
|
1036
|
+
name: import_zod4.z.string().min(1)
|
|
918
1037
|
}).strict(),
|
|
919
|
-
environments:
|
|
920
|
-
apiKey:
|
|
921
|
-
mode:
|
|
922
|
-
scopes:
|
|
1038
|
+
environments: import_zod4.z.array(import_zod4.z.string()),
|
|
1039
|
+
apiKey: import_zod4.z.object({
|
|
1040
|
+
mode: import_zod4.z.enum(["test", "live"]),
|
|
1041
|
+
scopes: import_zod4.z.array(import_zod4.z.string())
|
|
923
1042
|
}).strict(),
|
|
924
|
-
api:
|
|
925
|
-
status:
|
|
926
|
-
service:
|
|
927
|
-
version:
|
|
1043
|
+
api: import_zod4.z.object({
|
|
1044
|
+
status: import_zod4.z.literal("ok"),
|
|
1045
|
+
service: import_zod4.z.literal("kortyx-api"),
|
|
1046
|
+
version: import_zod4.z.string().min(1)
|
|
928
1047
|
}).strict()
|
|
929
1048
|
}).strict();
|
|
930
1049
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -970,6 +1089,7 @@ var StudioContextResponseSchema = import_zod3.z.object({
|
|
|
970
1089
|
StudioTimeRangeContextSchema,
|
|
971
1090
|
StudioTimeRangeQuerySchema,
|
|
972
1091
|
StudioTimeRangeSchema,
|
|
1092
|
+
StudioToolSchema,
|
|
973
1093
|
StudioUpdateOperationSchema,
|
|
974
1094
|
StudioUpdateSettingsSchema,
|
|
975
1095
|
StudioUpdateStatusSchema,
|
|
@@ -992,7 +1112,11 @@ var StudioContextResponseSchema = import_zod3.z.object({
|
|
|
992
1112
|
TelemetryServiceSchema,
|
|
993
1113
|
TelemetryUnitPriceSchema,
|
|
994
1114
|
TelemetryUsageItemSchema,
|
|
1115
|
+
ToolDiscoverySchema,
|
|
1116
|
+
ToolObservationSchema,
|
|
1117
|
+
ToolOutcomeSchema,
|
|
995
1118
|
UserFeedbackRequestSchema,
|
|
1119
|
+
WorkflowToolSchema,
|
|
996
1120
|
WorkflowTopologyCallSchema,
|
|
997
1121
|
WorkflowTopologyEdgeSchema,
|
|
998
1122
|
WorkflowTopologyNodeSchema,
|