@kortyx/telemetry-contracts 0.2.0 → 0.3.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 +163 -2
- package/dist/index.js +138 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.0](https://github.com/kortyx-io/kortyx/compare/telemetry-contracts-v0.2.0...telemetry-contracts-v0.3.0) (2026-09-09)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add resumable child workflows and Studio inspection ([#157](https://github.com/kortyx-io/kortyx/issues/157)) ([542ba29](https://github.com/kortyx-io/kortyx/commit/542ba29b3b57217e6e5d98c1b409bbec5ce3261f))
|
|
9
|
+
|
|
3
10
|
## [0.2.0](https://github.com/kortyx-io/kortyx/compare/telemetry-contracts-v0.1.0...telemetry-contracts-v0.2.0) (2026-08-02)
|
|
4
11
|
|
|
5
12
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
type StudioWorkflowCall = {
|
|
4
|
+
id: string;
|
|
5
|
+
invocationId: string;
|
|
6
|
+
branchId: string;
|
|
7
|
+
parentInvocationId: string | null;
|
|
8
|
+
callId: string;
|
|
9
|
+
callerNodeId: string;
|
|
10
|
+
callerNodeExecutionId: string;
|
|
11
|
+
sourceWorkflowId: string;
|
|
12
|
+
targetWorkflowId: string;
|
|
13
|
+
targetVersion: string | null;
|
|
14
|
+
status: "running" | "interrupted" | "completed" | "failed" | "incomplete" | "cancelled";
|
|
15
|
+
startedAt: string;
|
|
16
|
+
endedAt: string | null;
|
|
17
|
+
activeMs: number;
|
|
18
|
+
waitMs: number;
|
|
19
|
+
attempts: number;
|
|
20
|
+
reused: number;
|
|
21
|
+
inherited: boolean;
|
|
22
|
+
sourceRunId: string | null;
|
|
23
|
+
input?: unknown;
|
|
24
|
+
output?: unknown;
|
|
25
|
+
inputOmitted?: unknown;
|
|
26
|
+
outputOmitted?: unknown;
|
|
27
|
+
leaf: {
|
|
28
|
+
workflowId?: string;
|
|
29
|
+
nodeId?: string;
|
|
30
|
+
invocationId?: string;
|
|
31
|
+
} | null;
|
|
32
|
+
events: StudioDetailEvent[];
|
|
33
|
+
};
|
|
34
|
+
/** Logical calls are ordered by persisted sequence, independently within each branch. */
|
|
35
|
+
declare function projectWorkflowCalls(events: StudioDetailEvent[]): StudioWorkflowCall[];
|
|
36
|
+
|
|
37
|
+
declare const TELEMETRY_EVENT_TYPES: readonly ["span.started", "span.ended", "span.failed", "generation.completed", "tool.started", "tool.completed", "tool.failed", "interrupt.created", "interrupt.resolved", "interrupt.expired", "interrupt.cancelled", "run.cancelled", "workflow.transitioned", "workflow.call.started", "workflow.call.suspended", "workflow.call.resumed", "workflow.call.completed", "workflow.call.failed", "workflow.call.reused", "workflow.call.restored", "session.checkpointed", "session.forked", "session.rolled_back"];
|
|
4
38
|
declare const TelemetryServiceSchema: z.ZodObject<{
|
|
5
39
|
name: z.ZodString;
|
|
6
40
|
deploymentRef: z.ZodOptional<z.ZodString>;
|
|
@@ -18,11 +52,19 @@ declare const WorkflowTopologyEdgeSchema: z.ZodObject<{
|
|
|
18
52
|
targetNodeId: z.ZodString;
|
|
19
53
|
condition: z.ZodOptional<z.ZodString>;
|
|
20
54
|
}, z.core.$strict>;
|
|
55
|
+
declare const WorkflowTopologyCallSchema: z.ZodObject<{
|
|
56
|
+
sourceNodeId: z.ZodString;
|
|
57
|
+
targetWorkflowId: z.ZodString;
|
|
58
|
+
}, z.core.$strict>;
|
|
21
59
|
declare const WorkflowTopologyTransitionSchema: z.ZodObject<{
|
|
22
60
|
sourceNodeId: z.ZodOptional<z.ZodString>;
|
|
23
61
|
targetWorkflowId: z.ZodString;
|
|
24
62
|
condition: z.ZodOptional<z.ZodString>;
|
|
25
63
|
intent: z.ZodOptional<z.ZodString>;
|
|
64
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
65
|
+
call: "call";
|
|
66
|
+
handoff: "handoff";
|
|
67
|
+
}>>;
|
|
26
68
|
}, z.core.$strict>;
|
|
27
69
|
declare const EnsureWorkflowTopologyRequestSchema: z.ZodObject<{
|
|
28
70
|
schemaVersion: z.ZodLiteral<1>;
|
|
@@ -55,6 +97,14 @@ declare const EnsureWorkflowTopologyRequestSchema: z.ZodObject<{
|
|
|
55
97
|
targetWorkflowId: z.ZodString;
|
|
56
98
|
condition: z.ZodOptional<z.ZodString>;
|
|
57
99
|
intent: z.ZodOptional<z.ZodString>;
|
|
100
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
101
|
+
call: "call";
|
|
102
|
+
handoff: "handoff";
|
|
103
|
+
}>>;
|
|
104
|
+
}, z.core.$strict>>>;
|
|
105
|
+
calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
106
|
+
sourceNodeId: z.ZodString;
|
|
107
|
+
targetWorkflowId: z.ZodString;
|
|
58
108
|
}, z.core.$strict>>>;
|
|
59
109
|
}, z.core.$strict>;
|
|
60
110
|
}, z.core.$strict>;
|
|
@@ -76,6 +126,13 @@ declare const TelemetryEventTypeSchema: z.ZodEnum<{
|
|
|
76
126
|
"interrupt.cancelled": "interrupt.cancelled";
|
|
77
127
|
"run.cancelled": "run.cancelled";
|
|
78
128
|
"workflow.transitioned": "workflow.transitioned";
|
|
129
|
+
"workflow.call.started": "workflow.call.started";
|
|
130
|
+
"workflow.call.suspended": "workflow.call.suspended";
|
|
131
|
+
"workflow.call.resumed": "workflow.call.resumed";
|
|
132
|
+
"workflow.call.completed": "workflow.call.completed";
|
|
133
|
+
"workflow.call.failed": "workflow.call.failed";
|
|
134
|
+
"workflow.call.reused": "workflow.call.reused";
|
|
135
|
+
"workflow.call.restored": "workflow.call.restored";
|
|
79
136
|
"session.checkpointed": "session.checkpointed";
|
|
80
137
|
"session.forked": "session.forked";
|
|
81
138
|
"session.rolled_back": "session.rolled_back";
|
|
@@ -90,6 +147,9 @@ declare const TelemetryEventSchema: z.ZodObject<{
|
|
|
90
147
|
deploymentRef: z.ZodOptional<z.ZodString>;
|
|
91
148
|
}, z.core.$strict>;
|
|
92
149
|
correlation: z.ZodObject<{
|
|
150
|
+
invocationId: z.ZodOptional<z.ZodString>;
|
|
151
|
+
parentInvocationId: z.ZodOptional<z.ZodString>;
|
|
152
|
+
branchId: z.ZodOptional<z.ZodString>;
|
|
93
153
|
traceId: z.ZodOptional<z.ZodString>;
|
|
94
154
|
spanId: z.ZodOptional<z.ZodString>;
|
|
95
155
|
parentSpanId: z.ZodOptional<z.ZodString>;
|
|
@@ -120,6 +180,13 @@ declare const TelemetryEventSchema: z.ZodObject<{
|
|
|
120
180
|
"interrupt.cancelled": "interrupt.cancelled";
|
|
121
181
|
"run.cancelled": "run.cancelled";
|
|
122
182
|
"workflow.transitioned": "workflow.transitioned";
|
|
183
|
+
"workflow.call.started": "workflow.call.started";
|
|
184
|
+
"workflow.call.suspended": "workflow.call.suspended";
|
|
185
|
+
"workflow.call.resumed": "workflow.call.resumed";
|
|
186
|
+
"workflow.call.completed": "workflow.call.completed";
|
|
187
|
+
"workflow.call.failed": "workflow.call.failed";
|
|
188
|
+
"workflow.call.reused": "workflow.call.reused";
|
|
189
|
+
"workflow.call.restored": "workflow.call.restored";
|
|
123
190
|
"session.checkpointed": "session.checkpointed";
|
|
124
191
|
"session.forked": "session.forked";
|
|
125
192
|
"session.rolled_back": "session.rolled_back";
|
|
@@ -137,6 +204,9 @@ declare const TelemetryEventBatchSchema: z.ZodObject<{
|
|
|
137
204
|
deploymentRef: z.ZodOptional<z.ZodString>;
|
|
138
205
|
}, z.core.$strict>;
|
|
139
206
|
correlation: z.ZodObject<{
|
|
207
|
+
invocationId: z.ZodOptional<z.ZodString>;
|
|
208
|
+
parentInvocationId: z.ZodOptional<z.ZodString>;
|
|
209
|
+
branchId: z.ZodOptional<z.ZodString>;
|
|
140
210
|
traceId: z.ZodOptional<z.ZodString>;
|
|
141
211
|
spanId: z.ZodOptional<z.ZodString>;
|
|
142
212
|
parentSpanId: z.ZodOptional<z.ZodString>;
|
|
@@ -167,6 +237,13 @@ declare const TelemetryEventBatchSchema: z.ZodObject<{
|
|
|
167
237
|
"interrupt.cancelled": "interrupt.cancelled";
|
|
168
238
|
"run.cancelled": "run.cancelled";
|
|
169
239
|
"workflow.transitioned": "workflow.transitioned";
|
|
240
|
+
"workflow.call.started": "workflow.call.started";
|
|
241
|
+
"workflow.call.suspended": "workflow.call.suspended";
|
|
242
|
+
"workflow.call.resumed": "workflow.call.resumed";
|
|
243
|
+
"workflow.call.completed": "workflow.call.completed";
|
|
244
|
+
"workflow.call.failed": "workflow.call.failed";
|
|
245
|
+
"workflow.call.reused": "workflow.call.reused";
|
|
246
|
+
"workflow.call.restored": "workflow.call.restored";
|
|
170
247
|
"session.checkpointed": "session.checkpointed";
|
|
171
248
|
"session.forked": "session.forked";
|
|
172
249
|
"session.rolled_back": "session.rolled_back";
|
|
@@ -592,6 +669,12 @@ declare const StudioMetricSchema: z.ZodObject<{
|
|
|
592
669
|
}, z.core.$strict>;
|
|
593
670
|
declare const StudioRunSchema: z.ZodObject<{
|
|
594
671
|
id: z.ZodString;
|
|
672
|
+
callerNodeId: z.ZodOptional<z.ZodString>;
|
|
673
|
+
parentRunId: z.ZodOptional<z.ZodString>;
|
|
674
|
+
parentWorkflowId: z.ZodOptional<z.ZodString>;
|
|
675
|
+
invocationId: z.ZodOptional<z.ZodString>;
|
|
676
|
+
branchId: z.ZodOptional<z.ZodString>;
|
|
677
|
+
callId: z.ZodOptional<z.ZodString>;
|
|
595
678
|
status: z.ZodEnum<{
|
|
596
679
|
running: "running";
|
|
597
680
|
completed: "completed";
|
|
@@ -774,6 +857,13 @@ declare const StudioDetailEventSchema: z.ZodObject<{
|
|
|
774
857
|
"interrupt.cancelled": "interrupt.cancelled";
|
|
775
858
|
"run.cancelled": "run.cancelled";
|
|
776
859
|
"workflow.transitioned": "workflow.transitioned";
|
|
860
|
+
"workflow.call.started": "workflow.call.started";
|
|
861
|
+
"workflow.call.suspended": "workflow.call.suspended";
|
|
862
|
+
"workflow.call.resumed": "workflow.call.resumed";
|
|
863
|
+
"workflow.call.completed": "workflow.call.completed";
|
|
864
|
+
"workflow.call.failed": "workflow.call.failed";
|
|
865
|
+
"workflow.call.reused": "workflow.call.reused";
|
|
866
|
+
"workflow.call.restored": "workflow.call.restored";
|
|
777
867
|
"session.checkpointed": "session.checkpointed";
|
|
778
868
|
"session.forked": "session.forked";
|
|
779
869
|
"session.rolled_back": "session.rolled_back";
|
|
@@ -830,6 +920,10 @@ declare const StudioWorkflowInternalEdgeSchema: z.ZodObject<{
|
|
|
830
920
|
condition: z.ZodNullable<z.ZodString>;
|
|
831
921
|
}, z.core.$strict>;
|
|
832
922
|
declare const StudioWorkflowTransitionSchema: z.ZodObject<{
|
|
923
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
924
|
+
call: "call";
|
|
925
|
+
handoff: "handoff";
|
|
926
|
+
}>>;
|
|
833
927
|
id: z.ZodString;
|
|
834
928
|
sourceWorkflowId: z.ZodString;
|
|
835
929
|
sourceNodeId: z.ZodNullable<z.ZodString>;
|
|
@@ -904,6 +998,12 @@ declare const StudioWorkflowSchema: z.ZodObject<{
|
|
|
904
998
|
declare const StudioRunsResponseSchema: z.ZodObject<{
|
|
905
999
|
runs: z.ZodArray<z.ZodObject<{
|
|
906
1000
|
id: z.ZodString;
|
|
1001
|
+
callerNodeId: z.ZodOptional<z.ZodString>;
|
|
1002
|
+
parentRunId: z.ZodOptional<z.ZodString>;
|
|
1003
|
+
parentWorkflowId: z.ZodOptional<z.ZodString>;
|
|
1004
|
+
invocationId: z.ZodOptional<z.ZodString>;
|
|
1005
|
+
branchId: z.ZodOptional<z.ZodString>;
|
|
1006
|
+
callId: z.ZodOptional<z.ZodString>;
|
|
907
1007
|
status: z.ZodEnum<{
|
|
908
1008
|
running: "running";
|
|
909
1009
|
completed: "completed";
|
|
@@ -1081,6 +1181,12 @@ declare const StudioInterruptsResponseSchema: z.ZodObject<{
|
|
|
1081
1181
|
declare const StudioRunDetailResponseSchema: z.ZodObject<{
|
|
1082
1182
|
run: z.ZodObject<{
|
|
1083
1183
|
id: z.ZodString;
|
|
1184
|
+
callerNodeId: z.ZodOptional<z.ZodString>;
|
|
1185
|
+
parentRunId: z.ZodOptional<z.ZodString>;
|
|
1186
|
+
parentWorkflowId: z.ZodOptional<z.ZodString>;
|
|
1187
|
+
invocationId: z.ZodOptional<z.ZodString>;
|
|
1188
|
+
branchId: z.ZodOptional<z.ZodString>;
|
|
1189
|
+
callId: z.ZodOptional<z.ZodString>;
|
|
1084
1190
|
status: z.ZodEnum<{
|
|
1085
1191
|
running: "running";
|
|
1086
1192
|
completed: "completed";
|
|
@@ -1155,6 +1261,13 @@ declare const StudioRunDetailResponseSchema: z.ZodObject<{
|
|
|
1155
1261
|
"interrupt.cancelled": "interrupt.cancelled";
|
|
1156
1262
|
"run.cancelled": "run.cancelled";
|
|
1157
1263
|
"workflow.transitioned": "workflow.transitioned";
|
|
1264
|
+
"workflow.call.started": "workflow.call.started";
|
|
1265
|
+
"workflow.call.suspended": "workflow.call.suspended";
|
|
1266
|
+
"workflow.call.resumed": "workflow.call.resumed";
|
|
1267
|
+
"workflow.call.completed": "workflow.call.completed";
|
|
1268
|
+
"workflow.call.failed": "workflow.call.failed";
|
|
1269
|
+
"workflow.call.reused": "workflow.call.reused";
|
|
1270
|
+
"workflow.call.restored": "workflow.call.restored";
|
|
1158
1271
|
"session.checkpointed": "session.checkpointed";
|
|
1159
1272
|
"session.forked": "session.forked";
|
|
1160
1273
|
"session.rolled_back": "session.rolled_back";
|
|
@@ -1346,6 +1459,12 @@ declare const StudioSessionDetailResponseSchema: z.ZodObject<{
|
|
|
1346
1459
|
}, z.core.$strict>;
|
|
1347
1460
|
runs: z.ZodArray<z.ZodObject<{
|
|
1348
1461
|
id: z.ZodString;
|
|
1462
|
+
callerNodeId: z.ZodOptional<z.ZodString>;
|
|
1463
|
+
parentRunId: z.ZodOptional<z.ZodString>;
|
|
1464
|
+
parentWorkflowId: z.ZodOptional<z.ZodString>;
|
|
1465
|
+
invocationId: z.ZodOptional<z.ZodString>;
|
|
1466
|
+
branchId: z.ZodOptional<z.ZodString>;
|
|
1467
|
+
callId: z.ZodOptional<z.ZodString>;
|
|
1349
1468
|
status: z.ZodEnum<{
|
|
1350
1469
|
running: "running";
|
|
1351
1470
|
completed: "completed";
|
|
@@ -1420,6 +1539,13 @@ declare const StudioSessionDetailResponseSchema: z.ZodObject<{
|
|
|
1420
1539
|
"interrupt.cancelled": "interrupt.cancelled";
|
|
1421
1540
|
"run.cancelled": "run.cancelled";
|
|
1422
1541
|
"workflow.transitioned": "workflow.transitioned";
|
|
1542
|
+
"workflow.call.started": "workflow.call.started";
|
|
1543
|
+
"workflow.call.suspended": "workflow.call.suspended";
|
|
1544
|
+
"workflow.call.resumed": "workflow.call.resumed";
|
|
1545
|
+
"workflow.call.completed": "workflow.call.completed";
|
|
1546
|
+
"workflow.call.failed": "workflow.call.failed";
|
|
1547
|
+
"workflow.call.reused": "workflow.call.reused";
|
|
1548
|
+
"workflow.call.restored": "workflow.call.restored";
|
|
1423
1549
|
"session.checkpointed": "session.checkpointed";
|
|
1424
1550
|
"session.forked": "session.forked";
|
|
1425
1551
|
"session.rolled_back": "session.rolled_back";
|
|
@@ -1568,6 +1694,13 @@ declare const StudioInterruptDetailResponseSchema: z.ZodObject<{
|
|
|
1568
1694
|
"interrupt.cancelled": "interrupt.cancelled";
|
|
1569
1695
|
"run.cancelled": "run.cancelled";
|
|
1570
1696
|
"workflow.transitioned": "workflow.transitioned";
|
|
1697
|
+
"workflow.call.started": "workflow.call.started";
|
|
1698
|
+
"workflow.call.suspended": "workflow.call.suspended";
|
|
1699
|
+
"workflow.call.resumed": "workflow.call.resumed";
|
|
1700
|
+
"workflow.call.completed": "workflow.call.completed";
|
|
1701
|
+
"workflow.call.failed": "workflow.call.failed";
|
|
1702
|
+
"workflow.call.reused": "workflow.call.reused";
|
|
1703
|
+
"workflow.call.restored": "workflow.call.restored";
|
|
1571
1704
|
"session.checkpointed": "session.checkpointed";
|
|
1572
1705
|
"session.forked": "session.forked";
|
|
1573
1706
|
"session.rolled_back": "session.rolled_back";
|
|
@@ -1593,6 +1726,12 @@ declare const StudioInterruptDetailResponseSchema: z.ZodObject<{
|
|
|
1593
1726
|
}, z.core.$strict>>;
|
|
1594
1727
|
run: z.ZodNullable<z.ZodObject<{
|
|
1595
1728
|
id: z.ZodString;
|
|
1729
|
+
callerNodeId: z.ZodOptional<z.ZodString>;
|
|
1730
|
+
parentRunId: z.ZodOptional<z.ZodString>;
|
|
1731
|
+
parentWorkflowId: z.ZodOptional<z.ZodString>;
|
|
1732
|
+
invocationId: z.ZodOptional<z.ZodString>;
|
|
1733
|
+
branchId: z.ZodOptional<z.ZodString>;
|
|
1734
|
+
callId: z.ZodOptional<z.ZodString>;
|
|
1596
1735
|
status: z.ZodEnum<{
|
|
1597
1736
|
running: "running";
|
|
1598
1737
|
completed: "completed";
|
|
@@ -1770,7 +1909,29 @@ declare const StudioWorkflowsResponseSchema: z.ZodObject<{
|
|
|
1770
1909
|
condition: z.ZodNullable<z.ZodString>;
|
|
1771
1910
|
}, z.core.$strict>>;
|
|
1772
1911
|
}, z.core.$strict>>;
|
|
1912
|
+
observedCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1913
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
1914
|
+
call: "call";
|
|
1915
|
+
handoff: "handoff";
|
|
1916
|
+
}>>;
|
|
1917
|
+
id: z.ZodString;
|
|
1918
|
+
sourceWorkflowId: z.ZodString;
|
|
1919
|
+
sourceNodeId: z.ZodNullable<z.ZodString>;
|
|
1920
|
+
targetWorkflowId: z.ZodString;
|
|
1921
|
+
condition: z.ZodNullable<z.ZodString>;
|
|
1922
|
+
volume: z.ZodNumber;
|
|
1923
|
+
successRate: z.ZodNullable<z.ZodNumber>;
|
|
1924
|
+
medianDurationMs: z.ZodNullable<z.ZodNumber>;
|
|
1925
|
+
errorRate: z.ZodNullable<z.ZodNumber>;
|
|
1926
|
+
runId: z.ZodString;
|
|
1927
|
+
invocationId: z.ZodString;
|
|
1928
|
+
branchId: z.ZodString;
|
|
1929
|
+
}, z.core.$strict>>>;
|
|
1773
1930
|
transitions: z.ZodArray<z.ZodObject<{
|
|
1931
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
1932
|
+
call: "call";
|
|
1933
|
+
handoff: "handoff";
|
|
1934
|
+
}>>;
|
|
1774
1935
|
id: z.ZodString;
|
|
1775
1936
|
sourceWorkflowId: z.ZodString;
|
|
1776
1937
|
sourceNodeId: z.ZodNullable<z.ZodString>;
|
|
@@ -1856,4 +2017,4 @@ type StudioWorkflowsResponse = z.infer<typeof StudioWorkflowsResponseSchema>;
|
|
|
1856
2017
|
type StudioCatalogsResponse = z.infer<typeof StudioCatalogsResponseSchema>;
|
|
1857
2018
|
type StudioContextResponse = z.infer<typeof StudioContextResponseSchema>;
|
|
1858
2019
|
|
|
1859
|
-
export { type EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyRequestSchema, type EnsureWorkflowTopologyResponse, EnsureWorkflowTopologyResponseSchema, type KortyxTelemetryEvent, type KortyxTelemetryEventType, type KortyxTelemetryService, type KortyxWorkflowTopologyEdge, type KortyxWorkflowTopologyNode, type KortyxWorkflowTopologyTransition, STUDIO_TIME_RANGES, type StudioCatalogsResponse, StudioCatalogsResponseSchema, type StudioChange, type StudioChangeResource, StudioChangeResourceSchema, StudioChangeSchema, type StudioContextResponse, StudioContextResponseSchema, type StudioDetailEvent, StudioDetailEventSchema, type StudioInterrupt, type StudioInterruptDetailResponse, StudioInterruptDetailResponseSchema, type StudioInterruptInteractionMode, StudioInterruptInteractionModeSchema, type StudioInterruptOption, StudioInterruptOptionSchema, StudioInterruptSchema, type StudioInterruptStatus, StudioInterruptStatusSchema, type StudioInterruptType, StudioInterruptTypeSchema, type StudioInterruptsResponse, StudioInterruptsResponseSchema, type StudioMetric, StudioMetricSchema, type StudioPricingSource, StudioPricingSourceSchema, type StudioPricingStatus, StudioPricingStatusSchema, type StudioResumeOutcome, StudioResumeOutcomeSchema, type StudioRun, type StudioRunDetailResponse, StudioRunDetailResponseSchema, StudioRunSchema, type StudioRunStatus, StudioRunStatusSchema, type StudioRunsResponse, StudioRunsResponseSchema, type StudioSession, type StudioSessionDetailResponse, StudioSessionDetailResponseSchema, StudioSessionSchema, type StudioSessionsResponse, StudioSessionsResponseSchema, type StudioTimeRange, type StudioTimeRangeContext, StudioTimeRangeContextSchema, StudioTimeRangeQuerySchema, type StudioTimeRangeResolution, StudioTimeRangeSchema, type StudioWorkflow, type StudioWorkflowHealth, StudioWorkflowHealthSchema, type StudioWorkflowInternalEdge, StudioWorkflowInternalEdgeSchema, type StudioWorkflowNode, StudioWorkflowNodeSchema, StudioWorkflowSchema, type StudioWorkflowTransition, StudioWorkflowTransitionSchema, type StudioWorkflowsResponse, StudioWorkflowsResponseSchema, TELEMETRY_EVENT_TYPES, type TelemetryEventBatch, type TelemetryEventBatchResponse, TelemetryEventBatchResponseSchema, TelemetryEventBatchSchema, TelemetryEventSchema, TelemetryEventTypeSchema, type TelemetryPricingHint, TelemetryPricingHintSchema, type TelemetryPricingLineItem, TelemetryPricingLineItemSchema, type TelemetryPricingSource, TelemetryPricingSourceSchema, type TelemetryPricingUnit, TelemetryPricingUnitSchema, type TelemetryPricingUsageType, TelemetryPricingUsageTypeSchema, TelemetryServiceSchema, type TelemetryUnitPrice, TelemetryUnitPriceSchema, type TelemetryUsageItem, TelemetryUsageItemSchema, WorkflowTopologyEdgeSchema, WorkflowTopologyNodeSchema, WorkflowTopologyTransitionSchema, resolveStudioInterruptStatus, resolveStudioTimeRange };
|
|
2020
|
+
export { type EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyRequestSchema, type EnsureWorkflowTopologyResponse, EnsureWorkflowTopologyResponseSchema, type KortyxTelemetryEvent, type KortyxTelemetryEventType, type KortyxTelemetryService, type KortyxWorkflowTopologyEdge, type KortyxWorkflowTopologyNode, type KortyxWorkflowTopologyTransition, STUDIO_TIME_RANGES, type StudioCatalogsResponse, StudioCatalogsResponseSchema, type StudioChange, type StudioChangeResource, StudioChangeResourceSchema, StudioChangeSchema, type StudioContextResponse, StudioContextResponseSchema, type StudioDetailEvent, StudioDetailEventSchema, type StudioInterrupt, type StudioInterruptDetailResponse, StudioInterruptDetailResponseSchema, type StudioInterruptInteractionMode, StudioInterruptInteractionModeSchema, type StudioInterruptOption, StudioInterruptOptionSchema, StudioInterruptSchema, type StudioInterruptStatus, StudioInterruptStatusSchema, type StudioInterruptType, StudioInterruptTypeSchema, type StudioInterruptsResponse, StudioInterruptsResponseSchema, type StudioMetric, StudioMetricSchema, type StudioPricingSource, StudioPricingSourceSchema, type StudioPricingStatus, StudioPricingStatusSchema, type StudioResumeOutcome, StudioResumeOutcomeSchema, type StudioRun, type StudioRunDetailResponse, StudioRunDetailResponseSchema, StudioRunSchema, type StudioRunStatus, StudioRunStatusSchema, type StudioRunsResponse, StudioRunsResponseSchema, type StudioSession, type StudioSessionDetailResponse, StudioSessionDetailResponseSchema, StudioSessionSchema, type StudioSessionsResponse, StudioSessionsResponseSchema, type StudioTimeRange, type StudioTimeRangeContext, StudioTimeRangeContextSchema, StudioTimeRangeQuerySchema, type StudioTimeRangeResolution, StudioTimeRangeSchema, type StudioWorkflow, type StudioWorkflowCall, type StudioWorkflowHealth, StudioWorkflowHealthSchema, type StudioWorkflowInternalEdge, StudioWorkflowInternalEdgeSchema, type StudioWorkflowNode, StudioWorkflowNodeSchema, StudioWorkflowSchema, type StudioWorkflowTransition, StudioWorkflowTransitionSchema, type StudioWorkflowsResponse, StudioWorkflowsResponseSchema, TELEMETRY_EVENT_TYPES, type TelemetryEventBatch, type TelemetryEventBatchResponse, TelemetryEventBatchResponseSchema, TelemetryEventBatchSchema, TelemetryEventSchema, TelemetryEventTypeSchema, type TelemetryPricingHint, TelemetryPricingHintSchema, type TelemetryPricingLineItem, TelemetryPricingLineItemSchema, type TelemetryPricingSource, TelemetryPricingSourceSchema, type TelemetryPricingUnit, TelemetryPricingUnitSchema, type TelemetryPricingUsageType, TelemetryPricingUsageTypeSchema, TelemetryServiceSchema, type TelemetryUnitPrice, TelemetryUnitPriceSchema, type TelemetryUsageItem, TelemetryUsageItemSchema, WorkflowTopologyCallSchema, WorkflowTopologyEdgeSchema, WorkflowTopologyNodeSchema, WorkflowTopologyTransitionSchema, projectWorkflowCalls, resolveStudioInterruptStatus, resolveStudioTimeRange };
|
package/dist/index.js
CHANGED
|
@@ -67,14 +67,118 @@ __export(index_exports, {
|
|
|
67
67
|
TelemetryServiceSchema: () => TelemetryServiceSchema,
|
|
68
68
|
TelemetryUnitPriceSchema: () => TelemetryUnitPriceSchema,
|
|
69
69
|
TelemetryUsageItemSchema: () => TelemetryUsageItemSchema,
|
|
70
|
+
WorkflowTopologyCallSchema: () => WorkflowTopologyCallSchema,
|
|
70
71
|
WorkflowTopologyEdgeSchema: () => WorkflowTopologyEdgeSchema,
|
|
71
72
|
WorkflowTopologyNodeSchema: () => WorkflowTopologyNodeSchema,
|
|
72
73
|
WorkflowTopologyTransitionSchema: () => WorkflowTopologyTransitionSchema,
|
|
74
|
+
projectWorkflowCalls: () => projectWorkflowCalls,
|
|
73
75
|
resolveStudioInterruptStatus: () => resolveStudioInterruptStatus,
|
|
74
76
|
resolveStudioTimeRange: () => resolveStudioTimeRange
|
|
75
77
|
});
|
|
76
78
|
module.exports = __toCommonJS(index_exports);
|
|
77
79
|
var import_zod = require("zod");
|
|
80
|
+
|
|
81
|
+
// src/workflow-calls.ts
|
|
82
|
+
var str = (v, fallback = "") => typeof v === "string" ? v : fallback;
|
|
83
|
+
function projectWorkflowCalls(events) {
|
|
84
|
+
const groups = /* @__PURE__ */ new Map();
|
|
85
|
+
for (const event of events) {
|
|
86
|
+
if (!event.type.startsWith("workflow.call.") || !str(event.payload.invocationId) || !str(event.payload.targetWorkflowId))
|
|
87
|
+
continue;
|
|
88
|
+
const key = `${event.runId}:${str(event.payload.branchId, event.runId)}:${event.payload.invocationId}`;
|
|
89
|
+
const group = groups.get(key) ?? [];
|
|
90
|
+
if (!group.some((existing) => existing.id === event.id)) group.push(event);
|
|
91
|
+
groups.set(key, group);
|
|
92
|
+
}
|
|
93
|
+
return [...groups.entries()].map(([id, group]) => {
|
|
94
|
+
group.sort(
|
|
95
|
+
(a, b) => Number(a.payload.sequence ?? 0) - Number(b.payload.sequence ?? 0) || a.occurredAt.localeCompare(b.occurredAt) || a.id.localeCompare(b.id)
|
|
96
|
+
);
|
|
97
|
+
const first = group[0];
|
|
98
|
+
const p = first.payload;
|
|
99
|
+
const call = {
|
|
100
|
+
id,
|
|
101
|
+
invocationId: str(p.invocationId),
|
|
102
|
+
branchId: str(p.branchId, first.runId),
|
|
103
|
+
parentInvocationId: str(p.parentInvocationId) || null,
|
|
104
|
+
callId: str(p.callId),
|
|
105
|
+
callerNodeId: str(p.callerNodeId),
|
|
106
|
+
callerNodeExecutionId: str(p.callerNodeExecutionId),
|
|
107
|
+
sourceWorkflowId: str(p.sourceWorkflowId, first.workflowId),
|
|
108
|
+
targetWorkflowId: str(p.targetWorkflowId),
|
|
109
|
+
targetVersion: str(p.targetVersion) || null,
|
|
110
|
+
status: "incomplete",
|
|
111
|
+
startedAt: first.occurredAt,
|
|
112
|
+
endedAt: null,
|
|
113
|
+
activeMs: 0,
|
|
114
|
+
waitMs: 0,
|
|
115
|
+
attempts: 0,
|
|
116
|
+
reused: 0,
|
|
117
|
+
inherited: false,
|
|
118
|
+
sourceRunId: null,
|
|
119
|
+
leaf: null,
|
|
120
|
+
events: group
|
|
121
|
+
};
|
|
122
|
+
let active = null;
|
|
123
|
+
let waiting = null;
|
|
124
|
+
for (const event of group) {
|
|
125
|
+
const at = Date.parse(event.occurredAt);
|
|
126
|
+
const status = event.type.slice("workflow.call.".length);
|
|
127
|
+
for (const side of [
|
|
128
|
+
"input",
|
|
129
|
+
"output",
|
|
130
|
+
"inputOmitted",
|
|
131
|
+
"outputOmitted"
|
|
132
|
+
])
|
|
133
|
+
if (side in event.payload) call[side] = event.payload[side];
|
|
134
|
+
if (status === "restored") {
|
|
135
|
+
call.inherited = true;
|
|
136
|
+
call.sourceRunId = str(event.payload.sourceRunId) || null;
|
|
137
|
+
call.status = event.payload.status === "completed" ? "completed" : event.payload.status === "failed" ? "failed" : "interrupted";
|
|
138
|
+
if (call.status === "interrupted") waiting = at;
|
|
139
|
+
} else if (status === "started" || status === "resumed") {
|
|
140
|
+
if (waiting !== null) call.waitMs += Math.max(0, at - waiting);
|
|
141
|
+
waiting = null;
|
|
142
|
+
active = at;
|
|
143
|
+
call.attempts++;
|
|
144
|
+
call.status = "running";
|
|
145
|
+
call.endedAt = null;
|
|
146
|
+
} else if (status === "reused") {
|
|
147
|
+
call.reused++;
|
|
148
|
+
call.status = "completed";
|
|
149
|
+
} else if (status === "suspended" || status === "completed" || status === "failed") {
|
|
150
|
+
if (active !== null) call.activeMs += Math.max(0, at - active);
|
|
151
|
+
active = null;
|
|
152
|
+
call.status = status === "suspended" ? "interrupted" : status;
|
|
153
|
+
if (status === "suspended") {
|
|
154
|
+
waiting = at;
|
|
155
|
+
const leaf = event.payload.leaf;
|
|
156
|
+
if (leaf && typeof leaf === "object") {
|
|
157
|
+
const value = leaf;
|
|
158
|
+
call.leaf = {
|
|
159
|
+
workflowId: str(value.workflowId),
|
|
160
|
+
nodeId: str(value.nodeId),
|
|
161
|
+
invocationId: str(value.invocationId)
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
} else {
|
|
165
|
+
call.endedAt = event.occurredAt;
|
|
166
|
+
call.leaf = null;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const cancellation = events.find(
|
|
171
|
+
(event) => event.type === "run.cancelled" && event.runId === first.runId && (event.payload.branchId ?? event.runId) === call.branchId && event.occurredAt >= (group.at(-1)?.occurredAt ?? first.occurredAt)
|
|
172
|
+
);
|
|
173
|
+
if (cancellation && (call.status === "interrupted" || call.status === "running")) {
|
|
174
|
+
call.status = "cancelled";
|
|
175
|
+
call.endedAt = cancellation.occurredAt;
|
|
176
|
+
}
|
|
177
|
+
return call;
|
|
178
|
+
}).sort((a, b) => a.startedAt.localeCompare(b.startedAt));
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// src/index.ts
|
|
78
182
|
var TELEMETRY_EVENT_TYPES = [
|
|
79
183
|
"span.started",
|
|
80
184
|
"span.ended",
|
|
@@ -89,6 +193,13 @@ var TELEMETRY_EVENT_TYPES = [
|
|
|
89
193
|
"interrupt.cancelled",
|
|
90
194
|
"run.cancelled",
|
|
91
195
|
"workflow.transitioned",
|
|
196
|
+
"workflow.call.started",
|
|
197
|
+
"workflow.call.suspended",
|
|
198
|
+
"workflow.call.resumed",
|
|
199
|
+
"workflow.call.completed",
|
|
200
|
+
"workflow.call.failed",
|
|
201
|
+
"workflow.call.reused",
|
|
202
|
+
"workflow.call.restored",
|
|
92
203
|
"session.checkpointed",
|
|
93
204
|
"session.forked",
|
|
94
205
|
"session.rolled_back"
|
|
@@ -110,11 +221,16 @@ var WorkflowTopologyEdgeSchema = import_zod.z.object({
|
|
|
110
221
|
targetNodeId: import_zod.z.string().min(1),
|
|
111
222
|
condition: import_zod.z.string().optional()
|
|
112
223
|
}).strict();
|
|
224
|
+
var WorkflowTopologyCallSchema = import_zod.z.object({
|
|
225
|
+
sourceNodeId: import_zod.z.string().min(1),
|
|
226
|
+
targetWorkflowId: import_zod.z.string().min(1)
|
|
227
|
+
}).strict();
|
|
113
228
|
var WorkflowTopologyTransitionSchema = import_zod.z.object({
|
|
114
229
|
sourceNodeId: import_zod.z.string().min(1).optional(),
|
|
115
230
|
targetWorkflowId: import_zod.z.string().min(1),
|
|
116
231
|
condition: import_zod.z.string().optional(),
|
|
117
|
-
intent: import_zod.z.string().optional()
|
|
232
|
+
intent: import_zod.z.string().optional(),
|
|
233
|
+
kind: import_zod.z.enum(["call", "handoff"]).optional()
|
|
118
234
|
}).strict();
|
|
119
235
|
var EnsureWorkflowTopologyRequestSchema = import_zod.z.object({
|
|
120
236
|
schemaVersion: import_zod.z.literal(1),
|
|
@@ -128,7 +244,8 @@ var EnsureWorkflowTopologyRequestSchema = import_zod.z.object({
|
|
|
128
244
|
topologyHash: import_zod.z.string().regex(/^[a-f0-9]{64}$/),
|
|
129
245
|
nodes: import_zod.z.array(WorkflowTopologyNodeSchema),
|
|
130
246
|
edges: import_zod.z.array(WorkflowTopologyEdgeSchema),
|
|
131
|
-
transitions: import_zod.z.array(WorkflowTopologyTransitionSchema).optional()
|
|
247
|
+
transitions: import_zod.z.array(WorkflowTopologyTransitionSchema).optional(),
|
|
248
|
+
calls: import_zod.z.array(WorkflowTopologyCallSchema).optional()
|
|
132
249
|
}).strict()
|
|
133
250
|
}).strict();
|
|
134
251
|
var EnsureWorkflowTopologyResponseSchema = import_zod.z.object({ workflowRevisionId: import_zod.z.string().min(1), created: import_zod.z.boolean() }).strict();
|
|
@@ -140,6 +257,9 @@ var TelemetryEventSchema = import_zod.z.object({
|
|
|
140
257
|
environment: import_zod.z.string().min(1),
|
|
141
258
|
service: TelemetryServiceSchema,
|
|
142
259
|
correlation: import_zod.z.object({
|
|
260
|
+
invocationId: import_zod.z.string().optional(),
|
|
261
|
+
parentInvocationId: import_zod.z.string().optional(),
|
|
262
|
+
branchId: import_zod.z.string().optional(),
|
|
143
263
|
traceId: import_zod.z.string().optional(),
|
|
144
264
|
spanId: import_zod.z.string().optional(),
|
|
145
265
|
parentSpanId: import_zod.z.string().optional(),
|
|
@@ -411,6 +531,12 @@ var StudioMetricSchema = import_zod.z.object({
|
|
|
411
531
|
}).strict();
|
|
412
532
|
var StudioRunSchema = import_zod.z.object({
|
|
413
533
|
id: import_zod.z.string().min(1),
|
|
534
|
+
callerNodeId: import_zod.z.string().optional(),
|
|
535
|
+
parentRunId: import_zod.z.string().optional(),
|
|
536
|
+
parentWorkflowId: import_zod.z.string().optional(),
|
|
537
|
+
invocationId: import_zod.z.string().optional(),
|
|
538
|
+
branchId: import_zod.z.string().optional(),
|
|
539
|
+
callId: import_zod.z.string().optional(),
|
|
414
540
|
status: StudioRunStatusSchema,
|
|
415
541
|
startedAt: import_zod.z.string().datetime({ offset: true }),
|
|
416
542
|
endedAt: import_zod.z.string().datetime({ offset: true }).nullable(),
|
|
@@ -546,6 +672,7 @@ var StudioWorkflowInternalEdgeSchema = import_zod.z.object({
|
|
|
546
672
|
condition: import_zod.z.string().nullable()
|
|
547
673
|
}).strict();
|
|
548
674
|
var StudioWorkflowTransitionSchema = import_zod.z.object({
|
|
675
|
+
kind: import_zod.z.enum(["call", "handoff"]).optional(),
|
|
549
676
|
id: import_zod.z.string().min(1),
|
|
550
677
|
sourceWorkflowId: import_zod.z.string().min(1),
|
|
551
678
|
sourceNodeId: import_zod.z.string().nullable(),
|
|
@@ -605,6 +732,13 @@ var StudioInterruptDetailResponseSchema = import_zod.z.object({
|
|
|
605
732
|
}).strict();
|
|
606
733
|
var StudioWorkflowsResponseSchema = import_zod.z.object({
|
|
607
734
|
workflows: import_zod.z.array(StudioWorkflowSchema),
|
|
735
|
+
observedCalls: import_zod.z.array(
|
|
736
|
+
StudioWorkflowTransitionSchema.extend({
|
|
737
|
+
runId: import_zod.z.string(),
|
|
738
|
+
invocationId: import_zod.z.string(),
|
|
739
|
+
branchId: import_zod.z.string()
|
|
740
|
+
})
|
|
741
|
+
).optional(),
|
|
608
742
|
transitions: import_zod.z.array(StudioWorkflowTransitionSchema),
|
|
609
743
|
cohort: StudioTimeRangeContextSchema.extend({
|
|
610
744
|
workflowId: import_zod.z.string().nullable(),
|
|
@@ -686,9 +820,11 @@ var StudioContextResponseSchema = import_zod.z.object({
|
|
|
686
820
|
TelemetryServiceSchema,
|
|
687
821
|
TelemetryUnitPriceSchema,
|
|
688
822
|
TelemetryUsageItemSchema,
|
|
823
|
+
WorkflowTopologyCallSchema,
|
|
689
824
|
WorkflowTopologyEdgeSchema,
|
|
690
825
|
WorkflowTopologyNodeSchema,
|
|
691
826
|
WorkflowTopologyTransitionSchema,
|
|
827
|
+
projectWorkflowCalls,
|
|
692
828
|
resolveStudioInterruptStatus,
|
|
693
829
|
resolveStudioTimeRange
|
|
694
830
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { z } from \"zod\";\nexport const TELEMETRY_EVENT_TYPES = [\n \"span.started\",\n \"span.ended\",\n \"span.failed\",\n \"generation.completed\",\n \"tool.started\",\n \"tool.completed\",\n \"tool.failed\",\n \"interrupt.created\",\n \"interrupt.resolved\",\n \"interrupt.expired\",\n \"interrupt.cancelled\",\n \"run.cancelled\",\n \"workflow.transitioned\",\n \"session.checkpointed\",\n \"session.forked\",\n \"session.rolled_back\",\n] as const;\nexport const TelemetryServiceSchema = z\n .object({\n name: z.string().min(1),\n deploymentRef: z.string().min(1).optional(),\n })\n .strict();\nexport const WorkflowTopologyNodeSchema = z\n .object({\n id: z.string().min(1),\n label: z.string().optional(),\n type: z.string().optional(),\n provider: z.string().optional(),\n model: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .strict();\nexport const WorkflowTopologyEdgeSchema = z\n .object({\n sourceNodeId: z.string().min(1),\n targetNodeId: z.string().min(1),\n condition: z.string().optional(),\n })\n .strict();\nexport const WorkflowTopologyTransitionSchema = z\n .object({\n sourceNodeId: z.string().min(1).optional(),\n targetWorkflowId: z.string().min(1),\n condition: z.string().optional(),\n intent: z.string().optional(),\n })\n .strict();\nexport const EnsureWorkflowTopologyRequestSchema = z\n .object({\n schemaVersion: z.literal(1),\n environment: z.string().min(1),\n service: TelemetryServiceSchema,\n workflow: z\n .object({\n id: z.string().min(1),\n declaredVersion: z.string().min(1),\n description: z.string().optional(),\n tags: z.array(z.string()).optional(),\n topologyHash: z.string().regex(/^[a-f0-9]{64}$/),\n nodes: z.array(WorkflowTopologyNodeSchema),\n edges: z.array(WorkflowTopologyEdgeSchema),\n transitions: z.array(WorkflowTopologyTransitionSchema).optional(),\n })\n .strict(),\n })\n .strict();\nexport const EnsureWorkflowTopologyResponseSchema = z\n .object({ workflowRevisionId: z.string().min(1), created: z.boolean() })\n .strict();\nexport const TelemetryEventTypeSchema = z.enum(TELEMETRY_EVENT_TYPES);\nexport const TelemetryEventSchema = z\n .object({\n schemaVersion: z.literal(1),\n eventId: z.string().min(1),\n occurredAt: z.string().datetime({ offset: true }),\n environment: z.string().min(1),\n service: TelemetryServiceSchema,\n correlation: z\n .object({\n traceId: z.string().optional(),\n spanId: z.string().optional(),\n parentSpanId: z.string().optional(),\n runId: z.string().min(1),\n sessionId: z.string().optional(),\n workflowId: z.string().min(1),\n workflowRevisionId: z.string().optional(),\n topologyHash: z\n .string()\n .regex(/^[a-f0-9]{64}$/)\n .optional(),\n nodeId: z.string().optional(),\n })\n .strict(),\n context: z\n .object({\n userId: z.string().optional(),\n tenantId: z.string().optional(),\n tags: z.array(z.string()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .strict()\n .optional(),\n type: TelemetryEventTypeSchema,\n payload: z.record(z.string(), z.unknown()),\n })\n .strict();\nexport const TelemetryEventBatchSchema = z\n .object({ events: z.array(TelemetryEventSchema).min(1) })\n .strict();\nexport const TelemetryEventBatchResponseSchema = z\n .object({\n accepted: z.number().int().nonnegative(),\n inserted: z.number().int().nonnegative(),\n duplicates: z.number().int().nonnegative(),\n })\n .strict();\nexport const TelemetryPricingSourceSchema = z.enum([\n \"sdk\",\n \"provider\",\n \"custom\",\n \"project-rate-card\",\n \"default-rate-card\",\n]);\nexport const TelemetryPricingUnitSchema = z.enum([\n \"token\",\n \"character\",\n \"request\",\n \"image\",\n \"audio_second\",\n \"audio_minute\",\n \"video_second\",\n \"video_minute\",\n \"second\",\n \"minute\",\n \"custom\",\n]);\nexport const TelemetryPricingUsageTypeSchema = z.enum([\n \"input\",\n \"output\",\n \"reasoning\",\n \"cache_read\",\n \"cache_write\",\n \"embedding\",\n \"image_input\",\n \"image_output\",\n \"audio_input\",\n \"audio_output\",\n \"video_input\",\n \"video_output\",\n \"request\",\n \"custom\",\n]);\nexport const TelemetryUsageItemSchema = z\n .object({\n usageType: TelemetryPricingUsageTypeSchema,\n quantity: z.number().nonnegative(),\n unit: TelemetryPricingUnitSchema,\n label: z.string().optional(),\n })\n .strict();\nexport const TelemetryUnitPriceSchema = z\n .object({\n usageType: TelemetryPricingUsageTypeSchema,\n unit: TelemetryPricingUnitSchema,\n unitQuantity: z.number().positive().default(1),\n priceMicros: z.number().int().nonnegative(),\n label: z.string().optional(),\n })\n .strict();\nexport const TelemetryPricingLineItemSchema = z\n .object({\n usageType: TelemetryPricingUsageTypeSchema,\n quantity: z.number().nonnegative(),\n unit: TelemetryPricingUnitSchema,\n unitQuantity: z.number().positive().default(1),\n unitPriceMicros: z.number().int().nonnegative().optional(),\n totalCostMicros: z.number().int().nonnegative().optional(),\n label: z.string().optional(),\n })\n .strict()\n .refine(\n (value) =>\n value.totalCostMicros !== undefined ||\n value.unitPriceMicros !== undefined,\n \"line item requires totalCostMicros or unitPriceMicros\",\n );\nexport const TelemetryPricingHintSchema = z\n .object({\n source: TelemetryPricingSourceSchema.extract([\"sdk\", \"provider\", \"custom\"]),\n currency: z.string().min(3).max(12).default(\"USD\"),\n actualCostMicros: z.number().int().nonnegative().optional(),\n lineItems: z.array(TelemetryPricingLineItemSchema).optional(),\n unitPrices: z.array(TelemetryUnitPriceSchema).optional(),\n usageItems: z.array(TelemetryUsageItemSchema).optional(),\n pricingRef: z.string().min(1).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .strict();\nexport type KortyxTelemetryService = z.infer<typeof TelemetryServiceSchema>;\nexport type KortyxWorkflowTopologyNode = z.infer<\n typeof WorkflowTopologyNodeSchema\n>;\nexport type KortyxWorkflowTopologyEdge = z.infer<\n typeof WorkflowTopologyEdgeSchema\n>;\nexport type KortyxWorkflowTopologyTransition = z.infer<\n typeof WorkflowTopologyTransitionSchema\n>;\nexport type EnsureWorkflowTopologyRequest = z.infer<\n typeof EnsureWorkflowTopologyRequestSchema\n>;\nexport type EnsureWorkflowTopologyResponse = z.infer<\n typeof EnsureWorkflowTopologyResponseSchema\n>;\nexport type KortyxTelemetryEventType = z.infer<typeof TelemetryEventTypeSchema>;\nexport type KortyxTelemetryEvent = z.infer<typeof TelemetryEventSchema>;\nexport type TelemetryEventBatch = z.infer<typeof TelemetryEventBatchSchema>;\nexport type TelemetryEventBatchResponse = z.infer<\n typeof TelemetryEventBatchResponseSchema\n>;\nexport type TelemetryPricingSource = z.infer<\n typeof TelemetryPricingSourceSchema\n>;\nexport type TelemetryPricingUnit = z.infer<typeof TelemetryPricingUnitSchema>;\nexport type TelemetryPricingUsageType = z.infer<\n typeof TelemetryPricingUsageTypeSchema\n>;\nexport type TelemetryUsageItem = z.infer<typeof TelemetryUsageItemSchema>;\nexport type TelemetryUnitPrice = z.infer<typeof TelemetryUnitPriceSchema>;\nexport type TelemetryPricingLineItem = z.infer<\n typeof TelemetryPricingLineItemSchema\n>;\nexport type TelemetryPricingHint = z.infer<typeof TelemetryPricingHintSchema>;\n\nexport const StudioRunStatusSchema = z.enum([\n \"running\",\n \"completed\",\n \"interrupted\",\n \"incomplete\",\n \"failed\",\n \"cancelled\",\n]);\nexport const STUDIO_TIME_RANGES = [\n \"Last hour\",\n \"24 hours\",\n \"7 days\",\n \"30 days\",\n \"All time\",\n \"Custom range\",\n] as const;\nexport const StudioTimeRangeSchema = z.enum(STUDIO_TIME_RANGES);\nexport const StudioTimeRangeQuerySchema = z\n .object({\n range: StudioTimeRangeSchema.optional(),\n startedAfter: z.string().optional(),\n startedBefore: z.string().optional(),\n })\n .strict();\nexport const StudioTimeRangeContextSchema = z\n .object({\n range: StudioTimeRangeSchema,\n startedAfter: z.string().datetime({ offset: true }).nullable(),\n startedBefore: z.string().datetime({ offset: true }).nullable(),\n })\n .strict();\n\nexport type StudioTimeRangeResolution =\n | {\n ok: true;\n value: z.infer<typeof StudioTimeRangeContextSchema>;\n }\n | {\n ok: false;\n error: string;\n };\n\nconst STUDIO_TIME_RANGE_MILLISECONDS: Partial<\n Record<z.infer<typeof StudioTimeRangeSchema>, number>\n> = {\n \"Last hour\": 60 * 60 * 1_000,\n \"24 hours\": 24 * 60 * 60 * 1_000,\n \"7 days\": 7 * 24 * 60 * 60 * 1_000,\n \"30 days\": 30 * 24 * 60 * 60 * 1_000,\n};\n\nconst parseIsoBoundary = (\n value: string | undefined,\n label: string,\n): { ok: true; date: Date } | { ok: false; error: string } => {\n if (!value) {\n return { ok: false, error: `${label} is required for a custom range.` };\n }\n if (!/(?:Z|[+-]\\d{2}:\\d{2})$/.test(value)) {\n return {\n ok: false,\n error: `${label} must include an explicit UTC offset.`,\n };\n }\n const date = new Date(value);\n return Number.isFinite(date.getTime())\n ? { ok: true, date }\n : { ok: false, error: `${label} must be a valid ISO date and time.` };\n};\n\n/**\n * Resolves Studio time filters into absolute UTC boundaries.\n *\n * Relative presets are evaluated against `now`. Custom boundaries must be\n * complete ISO timestamps with an explicit offset and are normalized to UTC.\n */\nexport const resolveStudioTimeRange = (\n input: {\n range?: string | undefined;\n startedAfter?: string | undefined;\n startedBefore?: string | undefined;\n },\n now = new Date(),\n): StudioTimeRangeResolution => {\n const parsedRange = StudioTimeRangeSchema.safeParse(\n input.range || \"24 hours\",\n );\n if (!parsedRange.success) {\n return {\n ok: false,\n error: `Unknown time range \"${input.range}\".`,\n };\n }\n if (!Number.isFinite(now.getTime())) {\n return { ok: false, error: \"The time range reference date is invalid.\" };\n }\n const range = parsedRange.data;\n if (range === \"All time\") {\n return {\n ok: true,\n value: { range, startedAfter: null, startedBefore: null },\n };\n }\n if (range === \"Custom range\") {\n const after = parseIsoBoundary(input.startedAfter, \"Start time\");\n if (\"error\" in after) return { ok: false, error: after.error };\n const before = parseIsoBoundary(input.startedBefore, \"End time\");\n if (\"error\" in before) return { ok: false, error: before.error };\n if (after.date.getTime() >= before.date.getTime()) {\n return {\n ok: false,\n error: \"Start time must be before end time.\",\n };\n }\n return {\n ok: true,\n value: {\n range,\n startedAfter: after.date.toISOString(),\n startedBefore: before.date.toISOString(),\n },\n };\n }\n const duration = STUDIO_TIME_RANGE_MILLISECONDS[range];\n if (!duration) {\n return { ok: false, error: `Unknown time range \"${range}\".` };\n }\n return {\n ok: true,\n value: {\n range,\n startedAfter: new Date(now.getTime() - duration).toISOString(),\n startedBefore: now.toISOString(),\n },\n };\n};\nexport const StudioInterruptStatusSchema = z.enum([\n \"pending\",\n \"resolved\",\n \"expired\",\n \"failed\",\n \"cancelled\",\n]);\nexport const resolveStudioInterruptStatus = (\n input: {\n status: z.infer<typeof StudioInterruptStatusSchema>;\n expiresAt?: string | null | undefined;\n },\n now: Date | number = Date.now(),\n): z.infer<typeof StudioInterruptStatusSchema> => {\n if (input.status !== \"pending\" || !input.expiresAt) return input.status;\n const expiresAt = Date.parse(input.expiresAt);\n const nowMs = typeof now === \"number\" ? now : now.getTime();\n return Number.isFinite(expiresAt) &&\n Number.isFinite(nowMs) &&\n expiresAt <= nowMs\n ? \"expired\"\n : input.status;\n};\nexport const StudioInterruptTypeSchema = z.enum([\n \"choice\",\n \"multi-choice\",\n \"text\",\n \"unknown\",\n]);\nexport const StudioInterruptInteractionModeSchema = z.enum([\n \"static-options\",\n \"dynamic-picker\",\n \"freeform\",\n \"unknown\",\n]);\nexport const StudioInterruptOptionSchema = z\n .object({\n id: z.string().min(1),\n label: z.string().min(1),\n description: z.string().nullable(),\n })\n .strict();\nexport const StudioResumeOutcomeSchema = z.enum([\n \"resumed\",\n \"resume failed\",\n \"expired before resume\",\n \"cancelled\",\n]);\nexport const StudioWorkflowHealthSchema = z.enum([\n \"unknown\",\n \"healthy\",\n \"degraded\",\n \"failing\",\n \"idle\",\n]);\nexport const StudioPricingStatusSchema = z.enum([\n \"priced\",\n \"unpriced\",\n \"unknown\",\n]);\nexport const StudioPricingSourceSchema =\n TelemetryPricingSourceSchema.nullable();\nexport const StudioChangeResourceSchema = z.enum([\n \"runs\",\n \"sessions\",\n \"interrupts\",\n]);\nexport const StudioChangeSchema = z\n .object({\n schemaVersion: z.literal(1),\n changeId: z.string().min(1),\n emittedAt: z.string().datetime({ offset: true }),\n organizationId: z.string().min(1),\n projectId: z.string().min(1),\n resources: z.array(StudioChangeResourceSchema).min(1),\n })\n .strict();\nexport const StudioMetricSchema = z\n .object({\n runCount: z.number().int().nonnegative(),\n successRate: z.number().min(0).max(100).nullable(),\n errorRate: z.number().min(0).max(100).nullable(),\n retryCount: z.number().int().nonnegative().nullable(),\n interruptRate: z.number().min(0).max(100).nullable(),\n p50DurationMs: z.number().nonnegative().nullable(),\n p95DurationMs: z.number().nonnegative().nullable(),\n averageTokens: z.number().nonnegative().nullable(),\n averageCost: z.number().nonnegative().nullable(),\n currency: z.string().nullable(),\n })\n .strict();\nexport const StudioRunSchema = z\n .object({\n id: z.string().min(1),\n status: StudioRunStatusSchema,\n startedAt: z.string().datetime({ offset: true }),\n endedAt: z.string().datetime({ offset: true }).nullable(),\n workflowId: z.string().min(1),\n workflowIds: z.array(z.string().min(1)),\n workflowRefs: z.array(\n z\n .object({\n workflowId: z.string().min(1),\n workflowRevisionId: z.string().nullable(),\n declaredVersion: z.string().nullable(),\n })\n .strict(),\n ),\n workflowRevisionId: z.string().nullable(),\n declaredVersion: z.string().nullable(),\n transitionIds: z.array(z.string().min(1)),\n path: z.array(z.string()),\n sessionId: z.string().nullable(),\n provider: z.string().nullable(),\n model: z.string().nullable(),\n models: z.array(z.string()),\n durationMs: z.number().nonnegative().nullable(),\n tokens: z.number().int().nonnegative().nullable(),\n cost: z.number().nonnegative().nullable(),\n pricingStatus: StudioPricingStatusSchema,\n pricingSource: StudioPricingSourceSchema,\n currency: z.string().nullable(),\n result: z.string().nullable(),\n environment: z.string().min(1),\n userId: z.string().nullable(),\n tenantId: z.string().nullable(),\n hasTool: z.boolean(),\n hasRetry: z.boolean(),\n interruptNodeId: z.string().nullable(),\n interruptId: z.string().nullable().optional(),\n interruptStatus: StudioInterruptStatusSchema.nullable().optional(),\n interruptExpiresAt: z\n .string()\n .datetime({ offset: true })\n .nullable()\n .optional(),\n })\n .strict();\nexport const StudioSessionSchema = z\n .object({\n id: z.string().min(1),\n status: StudioRunStatusSchema,\n lastActivityAt: z.string().datetime({ offset: true }),\n workflowIds: z.array(z.string()),\n workflowCount: z.number().int().nonnegative(),\n activeWorkflowId: z.string().nullable(),\n activeVersion: z.string().nullable(),\n userId: z.string().nullable(),\n tenantId: z.string().nullable(),\n runs: z.number().int().nonnegative(),\n succeeded: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(),\n interrupted: z.number().int().nonnegative(),\n checkpoints: z.number().int().nonnegative(),\n hasFork: z.boolean(),\n durationMs: z.number().nonnegative().nullable(),\n tokens: z.number().int().nonnegative().nullable(),\n cost: z.number().nonnegative().nullable(),\n pricingStatus: StudioPricingStatusSchema,\n pricingSource: StudioPricingSourceSchema,\n currency: z.string().nullable(),\n latestResult: z.string().nullable(),\n latestError: z.string().nullable(),\n pendingInterruptId: z.string().nullable(),\n interruptStatus: StudioInterruptStatusSchema.nullable().optional(),\n interruptExpiresAt: z\n .string()\n .datetime({ offset: true })\n .nullable()\n .optional(),\n providers: z.array(z.string()),\n models: z.array(z.string()),\n tags: z.array(z.string()),\n environment: z.string().min(1),\n })\n .strict();\nexport const StudioInterruptSchema = z\n .object({\n id: z.string().min(1),\n status: StudioInterruptStatusSchema,\n type: StudioInterruptTypeSchema,\n interactionMode: StudioInterruptInteractionModeSchema,\n schemaId: z.string().nullable(),\n schemaVersion: z.string().nullable(),\n createdAt: z.string().datetime({ offset: true }),\n resolvedAt: z.string().datetime({ offset: true }).nullable(),\n expiresAt: z.string().datetime({ offset: true }).nullable(),\n question: z.string().nullable(),\n contentCaptured: z.boolean(),\n optionCount: z.number().int().nonnegative().nullable(),\n options: z.array(StudioInterruptOptionSchema).nullable(),\n workflowId: z.string().min(1),\n nodeId: z.string().nullable(),\n sessionId: z.string().nullable(),\n userId: z.string().nullable(),\n tenantId: z.string().nullable(),\n response: z.string().nullable(),\n responseCaptured: z.boolean(),\n resumeOutcome: StudioResumeOutcomeSchema.nullable(),\n resumeError: z.string().nullable(),\n runId: z.string().min(1),\n resumeToken: z.string().nullable(),\n resolvedBy: z.string().nullable(),\n environment: z.string().min(1),\n })\n .strict();\nexport const StudioDetailEventSchema = z\n .object({\n id: z.string().min(1),\n type: TelemetryEventTypeSchema,\n occurredAt: z.string().datetime({ offset: true }),\n receivedAt: z.string().datetime({ offset: true }),\n environment: z.string().min(1),\n serviceName: z.string().min(1),\n deploymentRef: z.string().nullable(),\n traceId: z.string().nullable(),\n spanId: z.string().nullable(),\n parentSpanId: z.string().nullable(),\n runId: z.string().min(1),\n sessionId: z.string().nullable(),\n workflowId: z.string().min(1),\n workflowRevisionId: z.string().nullable(),\n nodeId: z.string().nullable(),\n userId: z.string().nullable(),\n tenantId: z.string().nullable(),\n tags: z.array(z.string()),\n metadata: z.record(z.string(), z.unknown()).nullable(),\n payload: z.record(z.string(), z.unknown()),\n })\n .strict();\nexport const StudioWorkflowNodeSchema = z\n .object({\n id: z.string().min(1),\n label: z.string(),\n type: z.string().nullable(),\n state: z\n .enum([\"healthy\", \"warning\", \"failed\", \"interrupted\", \"retried\"])\n .nullable(),\n provider: z.string().nullable(),\n model: z.string().nullable(),\n metrics: StudioMetricSchema,\n })\n .strict();\nexport const StudioWorkflowInternalEdgeSchema = z\n .object({\n id: z.string().min(1),\n source: z.string().min(1),\n target: z.string().min(1),\n condition: z.string().nullable(),\n })\n .strict();\nexport const StudioWorkflowTransitionSchema = z\n .object({\n id: z.string().min(1),\n sourceWorkflowId: z.string().min(1),\n sourceNodeId: z.string().nullable(),\n targetWorkflowId: z.string().min(1),\n condition: z.string().nullable(),\n volume: z.number().int().nonnegative(),\n successRate: z.number().min(0).max(100).nullable(),\n medianDurationMs: z.number().nonnegative().nullable(),\n errorRate: z.number().min(0).max(100).nullable(),\n })\n .strict();\nexport const StudioWorkflowSchema = z\n .object({\n id: z.string().min(1),\n name: z.string().min(1),\n description: z.string().nullable(),\n versions: z.array(z.string()),\n activeVersion: z.string().nullable(),\n activeRevisionId: z.string().nullable(),\n health: StudioWorkflowHealthSchema,\n tags: z.array(z.string()),\n lastActivityAt: z.string().datetime({ offset: true }).nullable(),\n metrics: StudioMetricSchema,\n nodes: z.array(StudioWorkflowNodeSchema),\n internalEdges: z.array(StudioWorkflowInternalEdgeSchema),\n })\n .strict();\nexport const StudioRunsResponseSchema = z\n .object({\n runs: z.array(StudioRunSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strict();\nexport const StudioSessionsResponseSchema = z\n .object({\n sessions: z.array(StudioSessionSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strict();\nexport const StudioInterruptsResponseSchema = z\n .object({\n interrupts: z.array(StudioInterruptSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strict();\nexport const StudioRunDetailResponseSchema = z\n .object({\n run: StudioRunSchema,\n events: z.array(StudioDetailEventSchema),\n session: StudioSessionSchema.nullable(),\n interrupts: z.array(StudioInterruptSchema),\n updatedAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport const StudioSessionDetailResponseSchema = z\n .object({\n session: StudioSessionSchema,\n runs: z.array(StudioRunSchema),\n events: z.array(StudioDetailEventSchema),\n interrupts: z.array(StudioInterruptSchema),\n updatedAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport const StudioInterruptDetailResponseSchema = z\n .object({\n interrupt: StudioInterruptSchema,\n events: z.array(StudioDetailEventSchema),\n run: StudioRunSchema.nullable(),\n session: StudioSessionSchema.nullable(),\n updatedAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport const StudioWorkflowsResponseSchema = z\n .object({\n workflows: z.array(StudioWorkflowSchema),\n transitions: z.array(StudioWorkflowTransitionSchema),\n cohort: StudioTimeRangeContextSchema.extend({\n workflowId: z.string().nullable(),\n version: z.string().nullable(),\n }).strict(),\n })\n .strict();\nexport const StudioCatalogsResponseSchema = z\n .object({\n environments: z.array(z.string()),\n providers: z.array(z.string()),\n models: z.array(z.string()),\n workflows: z.array(z.string()),\n tags: z.array(z.string()),\n })\n .strict();\nexport const StudioContextResponseSchema = z\n .object({\n organization: z\n .object({\n name: z.string().min(1),\n })\n .strict(),\n project: z\n .object({\n name: z.string().min(1),\n })\n .strict(),\n environments: z.array(z.string()),\n apiKey: z\n .object({\n mode: z.enum([\"test\", \"live\"]),\n scopes: z.array(z.string()),\n })\n .strict(),\n api: z\n .object({\n status: z.literal(\"ok\"),\n service: z.literal(\"kortyx-api\"),\n version: z.string().min(1),\n })\n .strict(),\n })\n .strict();\nexport type StudioRunStatus = z.infer<typeof StudioRunStatusSchema>;\nexport type StudioTimeRange = z.infer<typeof StudioTimeRangeSchema>;\nexport type StudioTimeRangeContext = z.infer<\n typeof StudioTimeRangeContextSchema\n>;\nexport type StudioInterruptStatus = z.infer<typeof StudioInterruptStatusSchema>;\nexport type StudioInterruptType = z.infer<typeof StudioInterruptTypeSchema>;\nexport type StudioInterruptInteractionMode = z.infer<\n typeof StudioInterruptInteractionModeSchema\n>;\nexport type StudioInterruptOption = z.infer<typeof StudioInterruptOptionSchema>;\nexport type StudioResumeOutcome = z.infer<typeof StudioResumeOutcomeSchema>;\nexport type StudioWorkflowHealth = z.infer<typeof StudioWorkflowHealthSchema>;\nexport type StudioPricingStatus = z.infer<typeof StudioPricingStatusSchema>;\nexport type StudioPricingSource = z.infer<typeof StudioPricingSourceSchema>;\nexport type StudioChangeResource = z.infer<typeof StudioChangeResourceSchema>;\nexport type StudioChange = z.infer<typeof StudioChangeSchema>;\nexport type StudioMetric = z.infer<typeof StudioMetricSchema>;\nexport type StudioRun = z.infer<typeof StudioRunSchema>;\nexport type StudioSession = z.infer<typeof StudioSessionSchema>;\nexport type StudioInterrupt = z.infer<typeof StudioInterruptSchema>;\nexport type StudioWorkflowNode = z.infer<typeof StudioWorkflowNodeSchema>;\nexport type StudioWorkflowInternalEdge = z.infer<\n typeof StudioWorkflowInternalEdgeSchema\n>;\nexport type StudioWorkflowTransition = z.infer<\n typeof StudioWorkflowTransitionSchema\n>;\nexport type StudioWorkflow = z.infer<typeof StudioWorkflowSchema>;\nexport type StudioRunsResponse = z.infer<typeof StudioRunsResponseSchema>;\nexport type StudioSessionsResponse = z.infer<\n typeof StudioSessionsResponseSchema\n>;\nexport type StudioInterruptsResponse = z.infer<\n typeof StudioInterruptsResponseSchema\n>;\nexport type StudioDetailEvent = z.infer<typeof StudioDetailEventSchema>;\nexport type StudioRunDetailResponse = z.infer<\n typeof StudioRunDetailResponseSchema\n>;\nexport type StudioSessionDetailResponse = z.infer<\n typeof StudioSessionDetailResponseSchema\n>;\nexport type StudioInterruptDetailResponse = z.infer<\n typeof StudioInterruptDetailResponseSchema\n>;\nexport type StudioWorkflowsResponse = z.infer<\n typeof StudioWorkflowsResponseSchema\n>;\nexport type StudioCatalogsResponse = z.infer<\n typeof StudioCatalogsResponseSchema\n>;\nexport type StudioContextResponse = z.infer<typeof StudioContextResponseSchema>;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/workflow-calls.ts"],"sourcesContent":["import { z } from \"zod\";\nexport const TELEMETRY_EVENT_TYPES = [\n \"span.started\",\n \"span.ended\",\n \"span.failed\",\n \"generation.completed\",\n \"tool.started\",\n \"tool.completed\",\n \"tool.failed\",\n \"interrupt.created\",\n \"interrupt.resolved\",\n \"interrupt.expired\",\n \"interrupt.cancelled\",\n \"run.cancelled\",\n \"workflow.transitioned\",\n \"workflow.call.started\",\n \"workflow.call.suspended\",\n \"workflow.call.resumed\",\n \"workflow.call.completed\",\n \"workflow.call.failed\",\n \"workflow.call.reused\",\n \"workflow.call.restored\",\n\n \"session.checkpointed\",\n \"session.forked\",\n \"session.rolled_back\",\n] as const;\nexport const TelemetryServiceSchema = z\n .object({\n name: z.string().min(1),\n deploymentRef: z.string().min(1).optional(),\n })\n .strict();\nexport const WorkflowTopologyNodeSchema = z\n .object({\n id: z.string().min(1),\n label: z.string().optional(),\n type: z.string().optional(),\n provider: z.string().optional(),\n model: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .strict();\nexport const WorkflowTopologyEdgeSchema = z\n .object({\n sourceNodeId: z.string().min(1),\n targetNodeId: z.string().min(1),\n condition: z.string().optional(),\n })\n .strict();\nexport const WorkflowTopologyCallSchema = z\n .object({\n sourceNodeId: z.string().min(1),\n targetWorkflowId: z.string().min(1),\n })\n .strict();\nexport const WorkflowTopologyTransitionSchema = z\n .object({\n sourceNodeId: z.string().min(1).optional(),\n targetWorkflowId: z.string().min(1),\n condition: z.string().optional(),\n intent: z.string().optional(),\n kind: z.enum([\"call\", \"handoff\"]).optional(),\n })\n .strict();\nexport const EnsureWorkflowTopologyRequestSchema = z\n .object({\n schemaVersion: z.literal(1),\n environment: z.string().min(1),\n service: TelemetryServiceSchema,\n workflow: z\n .object({\n id: z.string().min(1),\n declaredVersion: z.string().min(1),\n description: z.string().optional(),\n tags: z.array(z.string()).optional(),\n topologyHash: z.string().regex(/^[a-f0-9]{64}$/),\n nodes: z.array(WorkflowTopologyNodeSchema),\n edges: z.array(WorkflowTopologyEdgeSchema),\n transitions: z.array(WorkflowTopologyTransitionSchema).optional(),\n calls: z.array(WorkflowTopologyCallSchema).optional(),\n })\n .strict(),\n })\n .strict();\nexport const EnsureWorkflowTopologyResponseSchema = z\n .object({ workflowRevisionId: z.string().min(1), created: z.boolean() })\n .strict();\nexport const TelemetryEventTypeSchema = z.enum(TELEMETRY_EVENT_TYPES);\nexport const TelemetryEventSchema = z\n .object({\n schemaVersion: z.literal(1),\n eventId: z.string().min(1),\n occurredAt: z.string().datetime({ offset: true }),\n environment: z.string().min(1),\n service: TelemetryServiceSchema,\n correlation: z\n .object({\n invocationId: z.string().optional(),\n parentInvocationId: z.string().optional(),\n branchId: z.string().optional(),\n traceId: z.string().optional(),\n spanId: z.string().optional(),\n parentSpanId: z.string().optional(),\n runId: z.string().min(1),\n sessionId: z.string().optional(),\n workflowId: z.string().min(1),\n workflowRevisionId: z.string().optional(),\n topologyHash: z\n .string()\n .regex(/^[a-f0-9]{64}$/)\n .optional(),\n nodeId: z.string().optional(),\n })\n .strict(),\n context: z\n .object({\n userId: z.string().optional(),\n tenantId: z.string().optional(),\n tags: z.array(z.string()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .strict()\n .optional(),\n type: TelemetryEventTypeSchema,\n payload: z.record(z.string(), z.unknown()),\n })\n .strict();\nexport const TelemetryEventBatchSchema = z\n .object({ events: z.array(TelemetryEventSchema).min(1) })\n .strict();\nexport const TelemetryEventBatchResponseSchema = z\n .object({\n accepted: z.number().int().nonnegative(),\n inserted: z.number().int().nonnegative(),\n duplicates: z.number().int().nonnegative(),\n })\n .strict();\nexport const TelemetryPricingSourceSchema = z.enum([\n \"sdk\",\n \"provider\",\n \"custom\",\n \"project-rate-card\",\n \"default-rate-card\",\n]);\nexport const TelemetryPricingUnitSchema = z.enum([\n \"token\",\n \"character\",\n \"request\",\n \"image\",\n \"audio_second\",\n \"audio_minute\",\n \"video_second\",\n \"video_minute\",\n \"second\",\n \"minute\",\n \"custom\",\n]);\nexport const TelemetryPricingUsageTypeSchema = z.enum([\n \"input\",\n \"output\",\n \"reasoning\",\n \"cache_read\",\n \"cache_write\",\n \"embedding\",\n \"image_input\",\n \"image_output\",\n \"audio_input\",\n \"audio_output\",\n \"video_input\",\n \"video_output\",\n \"request\",\n \"custom\",\n]);\nexport const TelemetryUsageItemSchema = z\n .object({\n usageType: TelemetryPricingUsageTypeSchema,\n quantity: z.number().nonnegative(),\n unit: TelemetryPricingUnitSchema,\n label: z.string().optional(),\n })\n .strict();\nexport const TelemetryUnitPriceSchema = z\n .object({\n usageType: TelemetryPricingUsageTypeSchema,\n unit: TelemetryPricingUnitSchema,\n unitQuantity: z.number().positive().default(1),\n priceMicros: z.number().int().nonnegative(),\n label: z.string().optional(),\n })\n .strict();\nexport const TelemetryPricingLineItemSchema = z\n .object({\n usageType: TelemetryPricingUsageTypeSchema,\n quantity: z.number().nonnegative(),\n unit: TelemetryPricingUnitSchema,\n unitQuantity: z.number().positive().default(1),\n unitPriceMicros: z.number().int().nonnegative().optional(),\n totalCostMicros: z.number().int().nonnegative().optional(),\n label: z.string().optional(),\n })\n .strict()\n .refine(\n (value) =>\n value.totalCostMicros !== undefined ||\n value.unitPriceMicros !== undefined,\n \"line item requires totalCostMicros or unitPriceMicros\",\n );\nexport const TelemetryPricingHintSchema = z\n .object({\n source: TelemetryPricingSourceSchema.extract([\"sdk\", \"provider\", \"custom\"]),\n currency: z.string().min(3).max(12).default(\"USD\"),\n actualCostMicros: z.number().int().nonnegative().optional(),\n lineItems: z.array(TelemetryPricingLineItemSchema).optional(),\n unitPrices: z.array(TelemetryUnitPriceSchema).optional(),\n usageItems: z.array(TelemetryUsageItemSchema).optional(),\n pricingRef: z.string().min(1).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .strict();\nexport type KortyxTelemetryService = z.infer<typeof TelemetryServiceSchema>;\nexport type KortyxWorkflowTopologyNode = z.infer<\n typeof WorkflowTopologyNodeSchema\n>;\nexport type KortyxWorkflowTopologyEdge = z.infer<\n typeof WorkflowTopologyEdgeSchema\n>;\nexport type KortyxWorkflowTopologyTransition = z.infer<\n typeof WorkflowTopologyTransitionSchema\n>;\nexport type EnsureWorkflowTopologyRequest = z.infer<\n typeof EnsureWorkflowTopologyRequestSchema\n>;\nexport type EnsureWorkflowTopologyResponse = z.infer<\n typeof EnsureWorkflowTopologyResponseSchema\n>;\nexport type KortyxTelemetryEventType = z.infer<typeof TelemetryEventTypeSchema>;\nexport type KortyxTelemetryEvent = z.infer<typeof TelemetryEventSchema>;\nexport type TelemetryEventBatch = z.infer<typeof TelemetryEventBatchSchema>;\nexport type TelemetryEventBatchResponse = z.infer<\n typeof TelemetryEventBatchResponseSchema\n>;\nexport type TelemetryPricingSource = z.infer<\n typeof TelemetryPricingSourceSchema\n>;\nexport type TelemetryPricingUnit = z.infer<typeof TelemetryPricingUnitSchema>;\nexport type TelemetryPricingUsageType = z.infer<\n typeof TelemetryPricingUsageTypeSchema\n>;\nexport type TelemetryUsageItem = z.infer<typeof TelemetryUsageItemSchema>;\nexport type TelemetryUnitPrice = z.infer<typeof TelemetryUnitPriceSchema>;\nexport type TelemetryPricingLineItem = z.infer<\n typeof TelemetryPricingLineItemSchema\n>;\nexport type TelemetryPricingHint = z.infer<typeof TelemetryPricingHintSchema>;\n\nexport const StudioRunStatusSchema = z.enum([\n \"running\",\n \"completed\",\n \"interrupted\",\n \"incomplete\",\n \"failed\",\n \"cancelled\",\n]);\nexport const STUDIO_TIME_RANGES = [\n \"Last hour\",\n \"24 hours\",\n \"7 days\",\n \"30 days\",\n \"All time\",\n \"Custom range\",\n] as const;\nexport const StudioTimeRangeSchema = z.enum(STUDIO_TIME_RANGES);\nexport const StudioTimeRangeQuerySchema = z\n .object({\n range: StudioTimeRangeSchema.optional(),\n startedAfter: z.string().optional(),\n startedBefore: z.string().optional(),\n })\n .strict();\nexport const StudioTimeRangeContextSchema = z\n .object({\n range: StudioTimeRangeSchema,\n startedAfter: z.string().datetime({ offset: true }).nullable(),\n startedBefore: z.string().datetime({ offset: true }).nullable(),\n })\n .strict();\n\nexport type StudioTimeRangeResolution =\n | {\n ok: true;\n value: z.infer<typeof StudioTimeRangeContextSchema>;\n }\n | {\n ok: false;\n error: string;\n };\n\nconst STUDIO_TIME_RANGE_MILLISECONDS: Partial<\n Record<z.infer<typeof StudioTimeRangeSchema>, number>\n> = {\n \"Last hour\": 60 * 60 * 1_000,\n \"24 hours\": 24 * 60 * 60 * 1_000,\n \"7 days\": 7 * 24 * 60 * 60 * 1_000,\n \"30 days\": 30 * 24 * 60 * 60 * 1_000,\n};\n\nconst parseIsoBoundary = (\n value: string | undefined,\n label: string,\n): { ok: true; date: Date } | { ok: false; error: string } => {\n if (!value) {\n return { ok: false, error: `${label} is required for a custom range.` };\n }\n if (!/(?:Z|[+-]\\d{2}:\\d{2})$/.test(value)) {\n return {\n ok: false,\n error: `${label} must include an explicit UTC offset.`,\n };\n }\n const date = new Date(value);\n return Number.isFinite(date.getTime())\n ? { ok: true, date }\n : { ok: false, error: `${label} must be a valid ISO date and time.` };\n};\n\n/**\n * Resolves Studio time filters into absolute UTC boundaries.\n *\n * Relative presets are evaluated against `now`. Custom boundaries must be\n * complete ISO timestamps with an explicit offset and are normalized to UTC.\n */\nexport const resolveStudioTimeRange = (\n input: {\n range?: string | undefined;\n startedAfter?: string | undefined;\n startedBefore?: string | undefined;\n },\n now = new Date(),\n): StudioTimeRangeResolution => {\n const parsedRange = StudioTimeRangeSchema.safeParse(\n input.range || \"24 hours\",\n );\n if (!parsedRange.success) {\n return {\n ok: false,\n error: `Unknown time range \"${input.range}\".`,\n };\n }\n if (!Number.isFinite(now.getTime())) {\n return { ok: false, error: \"The time range reference date is invalid.\" };\n }\n const range = parsedRange.data;\n if (range === \"All time\") {\n return {\n ok: true,\n value: { range, startedAfter: null, startedBefore: null },\n };\n }\n if (range === \"Custom range\") {\n const after = parseIsoBoundary(input.startedAfter, \"Start time\");\n if (\"error\" in after) return { ok: false, error: after.error };\n const before = parseIsoBoundary(input.startedBefore, \"End time\");\n if (\"error\" in before) return { ok: false, error: before.error };\n if (after.date.getTime() >= before.date.getTime()) {\n return {\n ok: false,\n error: \"Start time must be before end time.\",\n };\n }\n return {\n ok: true,\n value: {\n range,\n startedAfter: after.date.toISOString(),\n startedBefore: before.date.toISOString(),\n },\n };\n }\n const duration = STUDIO_TIME_RANGE_MILLISECONDS[range];\n if (!duration) {\n return { ok: false, error: `Unknown time range \"${range}\".` };\n }\n return {\n ok: true,\n value: {\n range,\n startedAfter: new Date(now.getTime() - duration).toISOString(),\n startedBefore: now.toISOString(),\n },\n };\n};\nexport const StudioInterruptStatusSchema = z.enum([\n \"pending\",\n \"resolved\",\n \"expired\",\n \"failed\",\n \"cancelled\",\n]);\nexport const resolveStudioInterruptStatus = (\n input: {\n status: z.infer<typeof StudioInterruptStatusSchema>;\n expiresAt?: string | null | undefined;\n },\n now: Date | number = Date.now(),\n): z.infer<typeof StudioInterruptStatusSchema> => {\n if (input.status !== \"pending\" || !input.expiresAt) return input.status;\n const expiresAt = Date.parse(input.expiresAt);\n const nowMs = typeof now === \"number\" ? now : now.getTime();\n return Number.isFinite(expiresAt) &&\n Number.isFinite(nowMs) &&\n expiresAt <= nowMs\n ? \"expired\"\n : input.status;\n};\nexport const StudioInterruptTypeSchema = z.enum([\n \"choice\",\n \"multi-choice\",\n \"text\",\n \"unknown\",\n]);\nexport const StudioInterruptInteractionModeSchema = z.enum([\n \"static-options\",\n \"dynamic-picker\",\n \"freeform\",\n \"unknown\",\n]);\nexport const StudioInterruptOptionSchema = z\n .object({\n id: z.string().min(1),\n label: z.string().min(1),\n description: z.string().nullable(),\n })\n .strict();\nexport const StudioResumeOutcomeSchema = z.enum([\n \"resumed\",\n \"resume failed\",\n \"expired before resume\",\n \"cancelled\",\n]);\nexport const StudioWorkflowHealthSchema = z.enum([\n \"unknown\",\n \"healthy\",\n \"degraded\",\n \"failing\",\n \"idle\",\n]);\nexport const StudioPricingStatusSchema = z.enum([\n \"priced\",\n \"unpriced\",\n \"unknown\",\n]);\nexport const StudioPricingSourceSchema =\n TelemetryPricingSourceSchema.nullable();\nexport const StudioChangeResourceSchema = z.enum([\n \"runs\",\n \"sessions\",\n \"interrupts\",\n]);\nexport const StudioChangeSchema = z\n .object({\n schemaVersion: z.literal(1),\n changeId: z.string().min(1),\n emittedAt: z.string().datetime({ offset: true }),\n organizationId: z.string().min(1),\n projectId: z.string().min(1),\n resources: z.array(StudioChangeResourceSchema).min(1),\n })\n .strict();\nexport const StudioMetricSchema = z\n .object({\n runCount: z.number().int().nonnegative(),\n successRate: z.number().min(0).max(100).nullable(),\n errorRate: z.number().min(0).max(100).nullable(),\n retryCount: z.number().int().nonnegative().nullable(),\n interruptRate: z.number().min(0).max(100).nullable(),\n p50DurationMs: z.number().nonnegative().nullable(),\n p95DurationMs: z.number().nonnegative().nullable(),\n averageTokens: z.number().nonnegative().nullable(),\n averageCost: z.number().nonnegative().nullable(),\n currency: z.string().nullable(),\n })\n .strict();\nexport const StudioRunSchema = z\n .object({\n id: z.string().min(1),\n callerNodeId: z.string().optional(),\n parentRunId: z.string().optional(),\n parentWorkflowId: z.string().optional(),\n invocationId: z.string().optional(),\n branchId: z.string().optional(),\n callId: z.string().optional(),\n status: StudioRunStatusSchema,\n startedAt: z.string().datetime({ offset: true }),\n endedAt: z.string().datetime({ offset: true }).nullable(),\n workflowId: z.string().min(1),\n workflowIds: z.array(z.string().min(1)),\n workflowRefs: z.array(\n z\n .object({\n workflowId: z.string().min(1),\n workflowRevisionId: z.string().nullable(),\n declaredVersion: z.string().nullable(),\n })\n .strict(),\n ),\n workflowRevisionId: z.string().nullable(),\n declaredVersion: z.string().nullable(),\n transitionIds: z.array(z.string().min(1)),\n path: z.array(z.string()),\n sessionId: z.string().nullable(),\n provider: z.string().nullable(),\n model: z.string().nullable(),\n models: z.array(z.string()),\n durationMs: z.number().nonnegative().nullable(),\n tokens: z.number().int().nonnegative().nullable(),\n cost: z.number().nonnegative().nullable(),\n pricingStatus: StudioPricingStatusSchema,\n pricingSource: StudioPricingSourceSchema,\n currency: z.string().nullable(),\n result: z.string().nullable(),\n environment: z.string().min(1),\n userId: z.string().nullable(),\n tenantId: z.string().nullable(),\n hasTool: z.boolean(),\n hasRetry: z.boolean(),\n interruptNodeId: z.string().nullable(),\n interruptId: z.string().nullable().optional(),\n interruptStatus: StudioInterruptStatusSchema.nullable().optional(),\n interruptExpiresAt: z\n .string()\n .datetime({ offset: true })\n .nullable()\n .optional(),\n })\n .strict();\nexport const StudioSessionSchema = z\n .object({\n id: z.string().min(1),\n status: StudioRunStatusSchema,\n lastActivityAt: z.string().datetime({ offset: true }),\n workflowIds: z.array(z.string()),\n workflowCount: z.number().int().nonnegative(),\n activeWorkflowId: z.string().nullable(),\n activeVersion: z.string().nullable(),\n userId: z.string().nullable(),\n tenantId: z.string().nullable(),\n runs: z.number().int().nonnegative(),\n succeeded: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(),\n interrupted: z.number().int().nonnegative(),\n checkpoints: z.number().int().nonnegative(),\n hasFork: z.boolean(),\n durationMs: z.number().nonnegative().nullable(),\n tokens: z.number().int().nonnegative().nullable(),\n cost: z.number().nonnegative().nullable(),\n pricingStatus: StudioPricingStatusSchema,\n pricingSource: StudioPricingSourceSchema,\n currency: z.string().nullable(),\n latestResult: z.string().nullable(),\n latestError: z.string().nullable(),\n pendingInterruptId: z.string().nullable(),\n interruptStatus: StudioInterruptStatusSchema.nullable().optional(),\n interruptExpiresAt: z\n .string()\n .datetime({ offset: true })\n .nullable()\n .optional(),\n providers: z.array(z.string()),\n models: z.array(z.string()),\n tags: z.array(z.string()),\n environment: z.string().min(1),\n })\n .strict();\nexport const StudioInterruptSchema = z\n .object({\n id: z.string().min(1),\n status: StudioInterruptStatusSchema,\n type: StudioInterruptTypeSchema,\n interactionMode: StudioInterruptInteractionModeSchema,\n schemaId: z.string().nullable(),\n schemaVersion: z.string().nullable(),\n createdAt: z.string().datetime({ offset: true }),\n resolvedAt: z.string().datetime({ offset: true }).nullable(),\n expiresAt: z.string().datetime({ offset: true }).nullable(),\n question: z.string().nullable(),\n contentCaptured: z.boolean(),\n optionCount: z.number().int().nonnegative().nullable(),\n options: z.array(StudioInterruptOptionSchema).nullable(),\n workflowId: z.string().min(1),\n nodeId: z.string().nullable(),\n sessionId: z.string().nullable(),\n userId: z.string().nullable(),\n tenantId: z.string().nullable(),\n response: z.string().nullable(),\n responseCaptured: z.boolean(),\n resumeOutcome: StudioResumeOutcomeSchema.nullable(),\n resumeError: z.string().nullable(),\n runId: z.string().min(1),\n resumeToken: z.string().nullable(),\n resolvedBy: z.string().nullable(),\n environment: z.string().min(1),\n })\n .strict();\nexport const StudioDetailEventSchema = z\n .object({\n id: z.string().min(1),\n type: TelemetryEventTypeSchema,\n occurredAt: z.string().datetime({ offset: true }),\n receivedAt: z.string().datetime({ offset: true }),\n environment: z.string().min(1),\n serviceName: z.string().min(1),\n deploymentRef: z.string().nullable(),\n traceId: z.string().nullable(),\n spanId: z.string().nullable(),\n parentSpanId: z.string().nullable(),\n runId: z.string().min(1),\n sessionId: z.string().nullable(),\n workflowId: z.string().min(1),\n workflowRevisionId: z.string().nullable(),\n nodeId: z.string().nullable(),\n userId: z.string().nullable(),\n tenantId: z.string().nullable(),\n tags: z.array(z.string()),\n metadata: z.record(z.string(), z.unknown()).nullable(),\n payload: z.record(z.string(), z.unknown()),\n })\n .strict();\nexport const StudioWorkflowNodeSchema = z\n .object({\n id: z.string().min(1),\n label: z.string(),\n type: z.string().nullable(),\n state: z\n .enum([\"healthy\", \"warning\", \"failed\", \"interrupted\", \"retried\"])\n .nullable(),\n provider: z.string().nullable(),\n model: z.string().nullable(),\n metrics: StudioMetricSchema,\n })\n .strict();\nexport const StudioWorkflowInternalEdgeSchema = z\n .object({\n id: z.string().min(1),\n source: z.string().min(1),\n target: z.string().min(1),\n condition: z.string().nullable(),\n })\n .strict();\nexport const StudioWorkflowTransitionSchema = z\n .object({\n kind: z.enum([\"call\", \"handoff\"]).optional(),\n id: z.string().min(1),\n sourceWorkflowId: z.string().min(1),\n sourceNodeId: z.string().nullable(),\n targetWorkflowId: z.string().min(1),\n condition: z.string().nullable(),\n volume: z.number().int().nonnegative(),\n successRate: z.number().min(0).max(100).nullable(),\n medianDurationMs: z.number().nonnegative().nullable(),\n errorRate: z.number().min(0).max(100).nullable(),\n })\n .strict();\nexport const StudioWorkflowSchema = z\n .object({\n id: z.string().min(1),\n name: z.string().min(1),\n description: z.string().nullable(),\n versions: z.array(z.string()),\n activeVersion: z.string().nullable(),\n activeRevisionId: z.string().nullable(),\n health: StudioWorkflowHealthSchema,\n tags: z.array(z.string()),\n lastActivityAt: z.string().datetime({ offset: true }).nullable(),\n metrics: StudioMetricSchema,\n nodes: z.array(StudioWorkflowNodeSchema),\n internalEdges: z.array(StudioWorkflowInternalEdgeSchema),\n })\n .strict();\nexport const StudioRunsResponseSchema = z\n .object({\n runs: z.array(StudioRunSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strict();\nexport const StudioSessionsResponseSchema = z\n .object({\n sessions: z.array(StudioSessionSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strict();\nexport const StudioInterruptsResponseSchema = z\n .object({\n interrupts: z.array(StudioInterruptSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strict();\nexport const StudioRunDetailResponseSchema = z\n .object({\n run: StudioRunSchema,\n events: z.array(StudioDetailEventSchema),\n session: StudioSessionSchema.nullable(),\n interrupts: z.array(StudioInterruptSchema),\n updatedAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport const StudioSessionDetailResponseSchema = z\n .object({\n session: StudioSessionSchema,\n runs: z.array(StudioRunSchema),\n events: z.array(StudioDetailEventSchema),\n interrupts: z.array(StudioInterruptSchema),\n updatedAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport const StudioInterruptDetailResponseSchema = z\n .object({\n interrupt: StudioInterruptSchema,\n events: z.array(StudioDetailEventSchema),\n run: StudioRunSchema.nullable(),\n session: StudioSessionSchema.nullable(),\n updatedAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport const StudioWorkflowsResponseSchema = z\n .object({\n workflows: z.array(StudioWorkflowSchema),\n observedCalls: z\n .array(\n StudioWorkflowTransitionSchema.extend({\n runId: z.string(),\n invocationId: z.string(),\n branchId: z.string(),\n }),\n )\n .optional(),\n transitions: z.array(StudioWorkflowTransitionSchema),\n cohort: StudioTimeRangeContextSchema.extend({\n workflowId: z.string().nullable(),\n version: z.string().nullable(),\n }).strict(),\n })\n .strict();\nexport const StudioCatalogsResponseSchema = z\n .object({\n environments: z.array(z.string()),\n providers: z.array(z.string()),\n models: z.array(z.string()),\n workflows: z.array(z.string()),\n tags: z.array(z.string()),\n })\n .strict();\nexport const StudioContextResponseSchema = z\n .object({\n organization: z\n .object({\n name: z.string().min(1),\n })\n .strict(),\n project: z\n .object({\n name: z.string().min(1),\n })\n .strict(),\n environments: z.array(z.string()),\n apiKey: z\n .object({\n mode: z.enum([\"test\", \"live\"]),\n scopes: z.array(z.string()),\n })\n .strict(),\n api: z\n .object({\n status: z.literal(\"ok\"),\n service: z.literal(\"kortyx-api\"),\n version: z.string().min(1),\n })\n .strict(),\n })\n .strict();\nexport type StudioRunStatus = z.infer<typeof StudioRunStatusSchema>;\nexport type StudioTimeRange = z.infer<typeof StudioTimeRangeSchema>;\nexport type StudioTimeRangeContext = z.infer<\n typeof StudioTimeRangeContextSchema\n>;\nexport type StudioInterruptStatus = z.infer<typeof StudioInterruptStatusSchema>;\nexport type StudioInterruptType = z.infer<typeof StudioInterruptTypeSchema>;\nexport type StudioInterruptInteractionMode = z.infer<\n typeof StudioInterruptInteractionModeSchema\n>;\nexport type StudioInterruptOption = z.infer<typeof StudioInterruptOptionSchema>;\nexport type StudioResumeOutcome = z.infer<typeof StudioResumeOutcomeSchema>;\nexport type StudioWorkflowHealth = z.infer<typeof StudioWorkflowHealthSchema>;\nexport type StudioPricingStatus = z.infer<typeof StudioPricingStatusSchema>;\nexport type StudioPricingSource = z.infer<typeof StudioPricingSourceSchema>;\nexport type StudioChangeResource = z.infer<typeof StudioChangeResourceSchema>;\nexport type StudioChange = z.infer<typeof StudioChangeSchema>;\nexport type StudioMetric = z.infer<typeof StudioMetricSchema>;\nexport type StudioRun = z.infer<typeof StudioRunSchema>;\nexport type StudioSession = z.infer<typeof StudioSessionSchema>;\nexport type StudioInterrupt = z.infer<typeof StudioInterruptSchema>;\nexport type StudioWorkflowNode = z.infer<typeof StudioWorkflowNodeSchema>;\nexport type StudioWorkflowInternalEdge = z.infer<\n typeof StudioWorkflowInternalEdgeSchema\n>;\nexport type StudioWorkflowTransition = z.infer<\n typeof StudioWorkflowTransitionSchema\n>;\nexport type StudioWorkflow = z.infer<typeof StudioWorkflowSchema>;\nexport type StudioRunsResponse = z.infer<typeof StudioRunsResponseSchema>;\nexport type StudioSessionsResponse = z.infer<\n typeof StudioSessionsResponseSchema\n>;\nexport type StudioInterruptsResponse = z.infer<\n typeof StudioInterruptsResponseSchema\n>;\nexport type StudioDetailEvent = z.infer<typeof StudioDetailEventSchema>;\nexport type StudioRunDetailResponse = z.infer<\n typeof StudioRunDetailResponseSchema\n>;\nexport type StudioSessionDetailResponse = z.infer<\n typeof StudioSessionDetailResponseSchema\n>;\nexport type StudioInterruptDetailResponse = z.infer<\n typeof StudioInterruptDetailResponseSchema\n>;\nexport type StudioWorkflowsResponse = z.infer<\n typeof StudioWorkflowsResponseSchema\n>;\nexport type StudioCatalogsResponse = z.infer<\n typeof StudioCatalogsResponseSchema\n>;\nexport type StudioContextResponse = z.infer<typeof StudioContextResponseSchema>;\n\nexport {\n projectWorkflowCalls,\n type StudioWorkflowCall,\n} from \"./workflow-calls\";\n","import type { StudioDetailEvent } from \"./index\";\n\nexport type StudioWorkflowCall = {\n id: string;\n invocationId: string;\n branchId: string;\n parentInvocationId: string | null;\n callId: string;\n callerNodeId: string;\n callerNodeExecutionId: string;\n sourceWorkflowId: string;\n targetWorkflowId: string;\n targetVersion: string | null;\n status:\n | \"running\"\n | \"interrupted\"\n | \"completed\"\n | \"failed\"\n | \"incomplete\"\n | \"cancelled\";\n startedAt: string;\n endedAt: string | null;\n activeMs: number;\n waitMs: number;\n attempts: number;\n reused: number;\n inherited: boolean;\n sourceRunId: string | null;\n input?: unknown;\n output?: unknown;\n inputOmitted?: unknown;\n outputOmitted?: unknown;\n leaf: { workflowId?: string; nodeId?: string; invocationId?: string } | null;\n events: StudioDetailEvent[];\n};\nconst str = (v: unknown, fallback = \"\") =>\n typeof v === \"string\" ? v : fallback;\n/** Logical calls are ordered by persisted sequence, independently within each branch. */\nexport function projectWorkflowCalls(\n events: StudioDetailEvent[],\n): StudioWorkflowCall[] {\n const groups = new Map<string, StudioDetailEvent[]>();\n for (const event of events) {\n if (\n !event.type.startsWith(\"workflow.call.\") ||\n !str(event.payload.invocationId) ||\n !str(event.payload.targetWorkflowId)\n )\n continue;\n const key = `${event.runId}:${str(event.payload.branchId, event.runId)}:${event.payload.invocationId}`;\n const group = groups.get(key) ?? [];\n if (!group.some((existing) => existing.id === event.id)) group.push(event);\n groups.set(key, group);\n }\n return [...groups.entries()]\n .map(([id, group]) => {\n group.sort(\n (a, b) =>\n Number(a.payload.sequence ?? 0) - Number(b.payload.sequence ?? 0) ||\n a.occurredAt.localeCompare(b.occurredAt) ||\n a.id.localeCompare(b.id),\n );\n const first = group[0]!;\n const p = first.payload;\n const call: StudioWorkflowCall = {\n id,\n invocationId: str(p.invocationId),\n branchId: str(p.branchId, first.runId),\n parentInvocationId: str(p.parentInvocationId) || null,\n callId: str(p.callId),\n callerNodeId: str(p.callerNodeId),\n callerNodeExecutionId: str(p.callerNodeExecutionId),\n sourceWorkflowId: str(p.sourceWorkflowId, first.workflowId),\n targetWorkflowId: str(p.targetWorkflowId),\n targetVersion: str(p.targetVersion) || null,\n status: \"incomplete\",\n startedAt: first.occurredAt,\n endedAt: null,\n activeMs: 0,\n waitMs: 0,\n attempts: 0,\n reused: 0,\n inherited: false,\n sourceRunId: null,\n leaf: null,\n events: group,\n };\n let active: number | null = null;\n let waiting: number | null = null;\n for (const event of group) {\n const at = Date.parse(event.occurredAt);\n const status = event.type.slice(\"workflow.call.\".length);\n for (const side of [\n \"input\",\n \"output\",\n \"inputOmitted\",\n \"outputOmitted\",\n ] as const)\n if (side in event.payload) call[side] = event.payload[side];\n if (status === \"restored\") {\n call.inherited = true;\n call.sourceRunId = str(event.payload.sourceRunId) || null;\n call.status =\n event.payload.status === \"completed\"\n ? \"completed\"\n : event.payload.status === \"failed\"\n ? \"failed\"\n : \"interrupted\";\n if (call.status === \"interrupted\") waiting = at;\n } else if (status === \"started\" || status === \"resumed\") {\n if (waiting !== null) call.waitMs += Math.max(0, at - waiting);\n waiting = null;\n active = at;\n call.attempts++;\n call.status = \"running\";\n call.endedAt = null;\n } else if (status === \"reused\") {\n call.reused++;\n call.status = \"completed\";\n } else if (\n status === \"suspended\" ||\n status === \"completed\" ||\n status === \"failed\"\n ) {\n if (active !== null) call.activeMs += Math.max(0, at - active);\n active = null;\n call.status = status === \"suspended\" ? \"interrupted\" : status;\n if (status === \"suspended\") {\n waiting = at;\n const leaf = event.payload.leaf;\n if (leaf && typeof leaf === \"object\") {\n const value = leaf as Record<string, unknown>;\n call.leaf = {\n workflowId: str(value.workflowId),\n nodeId: str(value.nodeId),\n invocationId: str(value.invocationId),\n };\n }\n } else {\n call.endedAt = event.occurredAt;\n call.leaf = null;\n }\n }\n }\n const cancellation = events.find(\n (event) =>\n event.type === \"run.cancelled\" &&\n event.runId === first.runId &&\n (event.payload.branchId ?? event.runId) === call.branchId &&\n event.occurredAt >= (group.at(-1)?.occurredAt ?? first.occurredAt),\n );\n if (\n cancellation &&\n (call.status === \"interrupted\" || call.status === \"running\")\n ) {\n call.status = \"cancelled\";\n call.endedAt = cancellation.occurredAt;\n }\n return call;\n })\n .sort((a, b) => a.startedAt.localeCompare(b.startedAt));\n}\n"],"mappings":"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","names":[]}
|