@kortyx/telemetry-contracts 0.10.0 → 0.11.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 +28 -1
- package/dist/index.js +14 -0
- 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.11.0](https://github.com/kortyx-io/kortyx/compare/telemetry-contracts-v0.10.0...telemetry-contracts-v0.11.0) (2026-09-21)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **hooks:** add model-driven interrupt contracts to useReason ([#224](https://github.com/kortyx-io/kortyx/issues/224)) ([e0147d5](https://github.com/kortyx-io/kortyx/commit/e0147d5234ca38d450d452af924b242f8cbdeb16))
|
|
9
|
+
|
|
3
10
|
## [0.10.0](https://github.com/kortyx-io/kortyx/compare/telemetry-contracts-v0.9.0...telemetry-contracts-v0.10.0) (2026-09-21)
|
|
4
11
|
|
|
5
12
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1100,6 +1100,7 @@ declare const StudioInterruptTypeSchema: z.ZodEnum<{
|
|
|
1100
1100
|
choice: "choice";
|
|
1101
1101
|
"multi-choice": "multi-choice";
|
|
1102
1102
|
text: "text";
|
|
1103
|
+
structured: "structured";
|
|
1103
1104
|
}>;
|
|
1104
1105
|
declare const StudioInterruptInteractionModeSchema: z.ZodEnum<{
|
|
1105
1106
|
unknown: "unknown";
|
|
@@ -1112,6 +1113,7 @@ declare const StudioInterruptOptionSchema: z.ZodObject<{
|
|
|
1112
1113
|
label: z.ZodString;
|
|
1113
1114
|
description: z.ZodNullable<z.ZodString>;
|
|
1114
1115
|
}, z.core.$strict>;
|
|
1116
|
+
declare const StudioInterruptValueSchema: z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown>, z.ZodString, z.ZodNumber, z.ZodBoolean]>;
|
|
1115
1117
|
declare const StudioResumeOutcomeSchema: z.ZodEnum<{
|
|
1116
1118
|
cancelled: "cancelled";
|
|
1117
1119
|
resumed: "resumed";
|
|
@@ -1308,6 +1310,7 @@ declare const StudioInterruptSchema: z.ZodObject<{
|
|
|
1308
1310
|
choice: "choice";
|
|
1309
1311
|
"multi-choice": "multi-choice";
|
|
1310
1312
|
text: "text";
|
|
1313
|
+
structured: "structured";
|
|
1311
1314
|
}>;
|
|
1312
1315
|
interactionMode: z.ZodEnum<{
|
|
1313
1316
|
unknown: "unknown";
|
|
@@ -1315,6 +1318,7 @@ declare const StudioInterruptSchema: z.ZodObject<{
|
|
|
1315
1318
|
"dynamic-picker": "dynamic-picker";
|
|
1316
1319
|
freeform: "freeform";
|
|
1317
1320
|
}>;
|
|
1321
|
+
contract: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
1318
1322
|
schemaId: z.ZodNullable<z.ZodString>;
|
|
1319
1323
|
schemaVersion: z.ZodNullable<z.ZodString>;
|
|
1320
1324
|
createdAt: z.ZodString;
|
|
@@ -1322,6 +1326,8 @@ declare const StudioInterruptSchema: z.ZodObject<{
|
|
|
1322
1326
|
expiresAt: z.ZodNullable<z.ZodString>;
|
|
1323
1327
|
question: z.ZodNullable<z.ZodString>;
|
|
1324
1328
|
contentCaptured: z.ZodBoolean;
|
|
1329
|
+
request: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1330
|
+
requestCaptured: z.ZodDefault<z.ZodBoolean>;
|
|
1325
1331
|
optionCount: z.ZodNullable<z.ZodNumber>;
|
|
1326
1332
|
options: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
1327
1333
|
id: z.ZodString;
|
|
@@ -1334,6 +1340,7 @@ declare const StudioInterruptSchema: z.ZodObject<{
|
|
|
1334
1340
|
userId: z.ZodNullable<z.ZodString>;
|
|
1335
1341
|
tenantId: z.ZodNullable<z.ZodString>;
|
|
1336
1342
|
response: z.ZodNullable<z.ZodString>;
|
|
1343
|
+
responseValue: z.ZodDefault<z.ZodNullable<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown>, z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
1337
1344
|
responseCaptured: z.ZodBoolean;
|
|
1338
1345
|
resumeOutcome: z.ZodNullable<z.ZodEnum<{
|
|
1339
1346
|
cancelled: "cancelled";
|
|
@@ -1724,6 +1731,7 @@ declare const StudioInterruptsResponseSchema: z.ZodObject<{
|
|
|
1724
1731
|
choice: "choice";
|
|
1725
1732
|
"multi-choice": "multi-choice";
|
|
1726
1733
|
text: "text";
|
|
1734
|
+
structured: "structured";
|
|
1727
1735
|
}>;
|
|
1728
1736
|
interactionMode: z.ZodEnum<{
|
|
1729
1737
|
unknown: "unknown";
|
|
@@ -1731,6 +1739,7 @@ declare const StudioInterruptsResponseSchema: z.ZodObject<{
|
|
|
1731
1739
|
"dynamic-picker": "dynamic-picker";
|
|
1732
1740
|
freeform: "freeform";
|
|
1733
1741
|
}>;
|
|
1742
|
+
contract: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
1734
1743
|
schemaId: z.ZodNullable<z.ZodString>;
|
|
1735
1744
|
schemaVersion: z.ZodNullable<z.ZodString>;
|
|
1736
1745
|
createdAt: z.ZodString;
|
|
@@ -1738,6 +1747,8 @@ declare const StudioInterruptsResponseSchema: z.ZodObject<{
|
|
|
1738
1747
|
expiresAt: z.ZodNullable<z.ZodString>;
|
|
1739
1748
|
question: z.ZodNullable<z.ZodString>;
|
|
1740
1749
|
contentCaptured: z.ZodBoolean;
|
|
1750
|
+
request: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1751
|
+
requestCaptured: z.ZodDefault<z.ZodBoolean>;
|
|
1741
1752
|
optionCount: z.ZodNullable<z.ZodNumber>;
|
|
1742
1753
|
options: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
1743
1754
|
id: z.ZodString;
|
|
@@ -1750,6 +1761,7 @@ declare const StudioInterruptsResponseSchema: z.ZodObject<{
|
|
|
1750
1761
|
userId: z.ZodNullable<z.ZodString>;
|
|
1751
1762
|
tenantId: z.ZodNullable<z.ZodString>;
|
|
1752
1763
|
response: z.ZodNullable<z.ZodString>;
|
|
1764
|
+
responseValue: z.ZodDefault<z.ZodNullable<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown>, z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
1753
1765
|
responseCaptured: z.ZodBoolean;
|
|
1754
1766
|
resumeOutcome: z.ZodNullable<z.ZodEnum<{
|
|
1755
1767
|
cancelled: "cancelled";
|
|
@@ -2041,6 +2053,7 @@ declare const StudioRunDetailResponseSchema: z.ZodObject<{
|
|
|
2041
2053
|
choice: "choice";
|
|
2042
2054
|
"multi-choice": "multi-choice";
|
|
2043
2055
|
text: "text";
|
|
2056
|
+
structured: "structured";
|
|
2044
2057
|
}>;
|
|
2045
2058
|
interactionMode: z.ZodEnum<{
|
|
2046
2059
|
unknown: "unknown";
|
|
@@ -2048,6 +2061,7 @@ declare const StudioRunDetailResponseSchema: z.ZodObject<{
|
|
|
2048
2061
|
"dynamic-picker": "dynamic-picker";
|
|
2049
2062
|
freeform: "freeform";
|
|
2050
2063
|
}>;
|
|
2064
|
+
contract: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
2051
2065
|
schemaId: z.ZodNullable<z.ZodString>;
|
|
2052
2066
|
schemaVersion: z.ZodNullable<z.ZodString>;
|
|
2053
2067
|
createdAt: z.ZodString;
|
|
@@ -2055,6 +2069,8 @@ declare const StudioRunDetailResponseSchema: z.ZodObject<{
|
|
|
2055
2069
|
expiresAt: z.ZodNullable<z.ZodString>;
|
|
2056
2070
|
question: z.ZodNullable<z.ZodString>;
|
|
2057
2071
|
contentCaptured: z.ZodBoolean;
|
|
2072
|
+
request: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
2073
|
+
requestCaptured: z.ZodDefault<z.ZodBoolean>;
|
|
2058
2074
|
optionCount: z.ZodNullable<z.ZodNumber>;
|
|
2059
2075
|
options: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
2060
2076
|
id: z.ZodString;
|
|
@@ -2067,6 +2083,7 @@ declare const StudioRunDetailResponseSchema: z.ZodObject<{
|
|
|
2067
2083
|
userId: z.ZodNullable<z.ZodString>;
|
|
2068
2084
|
tenantId: z.ZodNullable<z.ZodString>;
|
|
2069
2085
|
response: z.ZodNullable<z.ZodString>;
|
|
2086
|
+
responseValue: z.ZodDefault<z.ZodNullable<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown>, z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
2070
2087
|
responseCaptured: z.ZodBoolean;
|
|
2071
2088
|
resumeOutcome: z.ZodNullable<z.ZodEnum<{
|
|
2072
2089
|
cancelled: "cancelled";
|
|
@@ -2277,6 +2294,7 @@ declare const StudioSessionDetailResponseSchema: z.ZodObject<{
|
|
|
2277
2294
|
choice: "choice";
|
|
2278
2295
|
"multi-choice": "multi-choice";
|
|
2279
2296
|
text: "text";
|
|
2297
|
+
structured: "structured";
|
|
2280
2298
|
}>;
|
|
2281
2299
|
interactionMode: z.ZodEnum<{
|
|
2282
2300
|
unknown: "unknown";
|
|
@@ -2284,6 +2302,7 @@ declare const StudioSessionDetailResponseSchema: z.ZodObject<{
|
|
|
2284
2302
|
"dynamic-picker": "dynamic-picker";
|
|
2285
2303
|
freeform: "freeform";
|
|
2286
2304
|
}>;
|
|
2305
|
+
contract: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
2287
2306
|
schemaId: z.ZodNullable<z.ZodString>;
|
|
2288
2307
|
schemaVersion: z.ZodNullable<z.ZodString>;
|
|
2289
2308
|
createdAt: z.ZodString;
|
|
@@ -2291,6 +2310,8 @@ declare const StudioSessionDetailResponseSchema: z.ZodObject<{
|
|
|
2291
2310
|
expiresAt: z.ZodNullable<z.ZodString>;
|
|
2292
2311
|
question: z.ZodNullable<z.ZodString>;
|
|
2293
2312
|
contentCaptured: z.ZodBoolean;
|
|
2313
|
+
request: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
2314
|
+
requestCaptured: z.ZodDefault<z.ZodBoolean>;
|
|
2294
2315
|
optionCount: z.ZodNullable<z.ZodNumber>;
|
|
2295
2316
|
options: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
2296
2317
|
id: z.ZodString;
|
|
@@ -2303,6 +2324,7 @@ declare const StudioSessionDetailResponseSchema: z.ZodObject<{
|
|
|
2303
2324
|
userId: z.ZodNullable<z.ZodString>;
|
|
2304
2325
|
tenantId: z.ZodNullable<z.ZodString>;
|
|
2305
2326
|
response: z.ZodNullable<z.ZodString>;
|
|
2327
|
+
responseValue: z.ZodDefault<z.ZodNullable<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown>, z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
2306
2328
|
responseCaptured: z.ZodBoolean;
|
|
2307
2329
|
resumeOutcome: z.ZodNullable<z.ZodEnum<{
|
|
2308
2330
|
cancelled: "cancelled";
|
|
@@ -2334,6 +2356,7 @@ declare const StudioInterruptDetailResponseSchema: z.ZodObject<{
|
|
|
2334
2356
|
choice: "choice";
|
|
2335
2357
|
"multi-choice": "multi-choice";
|
|
2336
2358
|
text: "text";
|
|
2359
|
+
structured: "structured";
|
|
2337
2360
|
}>;
|
|
2338
2361
|
interactionMode: z.ZodEnum<{
|
|
2339
2362
|
unknown: "unknown";
|
|
@@ -2341,6 +2364,7 @@ declare const StudioInterruptDetailResponseSchema: z.ZodObject<{
|
|
|
2341
2364
|
"dynamic-picker": "dynamic-picker";
|
|
2342
2365
|
freeform: "freeform";
|
|
2343
2366
|
}>;
|
|
2367
|
+
contract: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
2344
2368
|
schemaId: z.ZodNullable<z.ZodString>;
|
|
2345
2369
|
schemaVersion: z.ZodNullable<z.ZodString>;
|
|
2346
2370
|
createdAt: z.ZodString;
|
|
@@ -2348,6 +2372,8 @@ declare const StudioInterruptDetailResponseSchema: z.ZodObject<{
|
|
|
2348
2372
|
expiresAt: z.ZodNullable<z.ZodString>;
|
|
2349
2373
|
question: z.ZodNullable<z.ZodString>;
|
|
2350
2374
|
contentCaptured: z.ZodBoolean;
|
|
2375
|
+
request: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
2376
|
+
requestCaptured: z.ZodDefault<z.ZodBoolean>;
|
|
2351
2377
|
optionCount: z.ZodNullable<z.ZodNumber>;
|
|
2352
2378
|
options: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
2353
2379
|
id: z.ZodString;
|
|
@@ -2360,6 +2386,7 @@ declare const StudioInterruptDetailResponseSchema: z.ZodObject<{
|
|
|
2360
2386
|
userId: z.ZodNullable<z.ZodString>;
|
|
2361
2387
|
tenantId: z.ZodNullable<z.ZodString>;
|
|
2362
2388
|
response: z.ZodNullable<z.ZodString>;
|
|
2389
|
+
responseValue: z.ZodDefault<z.ZodNullable<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown>, z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
2363
2390
|
responseCaptured: z.ZodBoolean;
|
|
2364
2391
|
resumeOutcome: z.ZodNullable<z.ZodEnum<{
|
|
2365
2392
|
cancelled: "cancelled";
|
|
@@ -2758,4 +2785,4 @@ type StudioWorkflowsResponse = z.infer<typeof StudioWorkflowsResponseSchema>;
|
|
|
2758
2785
|
type StudioCatalogsResponse = z.infer<typeof StudioCatalogsResponseSchema>;
|
|
2759
2786
|
type StudioContextResponse = z.infer<typeof StudioContextResponseSchema>;
|
|
2760
2787
|
|
|
2761
|
-
export { ClearScoreResponseSchema, ClearUserFeedbackRequestSchema, type EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyRequestSchema, type EnsureWorkflowTopologyResponse, EnsureWorkflowTopologyResponseSchema, FEEDBACK_FILTERS, FeedbackReasonSchema, type FeedbackSummary, FeedbackSummarySchema, type KortyxTelemetryEvent, type KortyxTelemetryEventType, type KortyxTelemetryService, type KortyxWorkflowTopologyEdge, type KortyxWorkflowTopologyNode, type KortyxWorkflowTopologyTransition, ReviewVerdictSchema, 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 StudioRelease, StudioReleaseDeploymentSchema, StudioReleaseSchema, StudioReleaseVersionSchema, type StudioResumeOutcome, StudioResumeOutcomeSchema, type StudioReviewRequest, StudioReviewRequestSchema, type StudioRun, type StudioRunDetailResponse, StudioRunDetailResponseSchema, StudioRunSchema, type StudioRunStatus, StudioRunStatusSchema, type StudioRunsResponse, StudioRunsResponseSchema, type StudioScore, StudioScoreResponseSchema, StudioScoreSchema, type StudioSession, type StudioSessionDetailResponse, StudioSessionDetailResponseSchema, StudioSessionSchema, type StudioSessionsResponse, StudioSessionsResponseSchema, type StudioTimeRange, type StudioTimeRangeContext, StudioTimeRangeContextSchema, StudioTimeRangeQuerySchema, type StudioTimeRangeResolution, StudioTimeRangeSchema, type StudioTool, StudioToolSchema, type StudioUpdateOperation, StudioUpdateOperationSchema, type StudioUpdateSettings, StudioUpdateSettingsSchema, type StudioUpdateStatus, StudioUpdateStatusSchema, 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, ToolDiscoverySchema, ToolObservationSchema, ToolOutcomeSchema, type UserFeedbackRequest, UserFeedbackRequestSchema, type WorkflowTool, WorkflowToolSchema, WorkflowTopologyCallSchema, WorkflowTopologyEdgeSchema, WorkflowTopologyNodeSchema, WorkflowTopologyTransitionSchema, newerStudioVersion, projectWorkflowCalls, resolveStudioInterruptStatus, resolveStudioTimeRange, studioUpdateRunning, summarizeUserFeedback };
|
|
2788
|
+
export { ClearScoreResponseSchema, ClearUserFeedbackRequestSchema, type EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyRequestSchema, type EnsureWorkflowTopologyResponse, EnsureWorkflowTopologyResponseSchema, FEEDBACK_FILTERS, FeedbackReasonSchema, type FeedbackSummary, FeedbackSummarySchema, type KortyxTelemetryEvent, type KortyxTelemetryEventType, type KortyxTelemetryService, type KortyxWorkflowTopologyEdge, type KortyxWorkflowTopologyNode, type KortyxWorkflowTopologyTransition, ReviewVerdictSchema, 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, StudioInterruptValueSchema, type StudioInterruptsResponse, StudioInterruptsResponseSchema, type StudioMetric, StudioMetricSchema, type StudioPricingSource, StudioPricingSourceSchema, type StudioPricingStatus, StudioPricingStatusSchema, type StudioRelease, StudioReleaseDeploymentSchema, StudioReleaseSchema, StudioReleaseVersionSchema, type StudioResumeOutcome, StudioResumeOutcomeSchema, type StudioReviewRequest, StudioReviewRequestSchema, type StudioRun, type StudioRunDetailResponse, StudioRunDetailResponseSchema, StudioRunSchema, type StudioRunStatus, StudioRunStatusSchema, type StudioRunsResponse, StudioRunsResponseSchema, type StudioScore, StudioScoreResponseSchema, StudioScoreSchema, type StudioSession, type StudioSessionDetailResponse, StudioSessionDetailResponseSchema, StudioSessionSchema, type StudioSessionsResponse, StudioSessionsResponseSchema, type StudioTimeRange, type StudioTimeRangeContext, StudioTimeRangeContextSchema, StudioTimeRangeQuerySchema, type StudioTimeRangeResolution, StudioTimeRangeSchema, type StudioTool, StudioToolSchema, type StudioUpdateOperation, StudioUpdateOperationSchema, type StudioUpdateSettings, StudioUpdateSettingsSchema, type StudioUpdateStatus, StudioUpdateStatusSchema, 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, ToolDiscoverySchema, ToolObservationSchema, ToolOutcomeSchema, type UserFeedbackRequest, UserFeedbackRequestSchema, type WorkflowTool, WorkflowToolSchema, WorkflowTopologyCallSchema, WorkflowTopologyEdgeSchema, WorkflowTopologyNodeSchema, WorkflowTopologyTransitionSchema, newerStudioVersion, projectWorkflowCalls, resolveStudioInterruptStatus, resolveStudioTimeRange, studioUpdateRunning, summarizeUserFeedback };
|
package/dist/index.js
CHANGED
|
@@ -39,6 +39,7 @@ __export(index_exports, {
|
|
|
39
39
|
StudioInterruptSchema: () => StudioInterruptSchema,
|
|
40
40
|
StudioInterruptStatusSchema: () => StudioInterruptStatusSchema,
|
|
41
41
|
StudioInterruptTypeSchema: () => StudioInterruptTypeSchema,
|
|
42
|
+
StudioInterruptValueSchema: () => StudioInterruptValueSchema,
|
|
42
43
|
StudioInterruptsResponseSchema: () => StudioInterruptsResponseSchema,
|
|
43
44
|
StudioMetricSchema: () => StudioMetricSchema,
|
|
44
45
|
StudioPricingSourceSchema: () => StudioPricingSourceSchema,
|
|
@@ -741,6 +742,7 @@ var StudioInterruptTypeSchema = import_zod4.z.enum([
|
|
|
741
742
|
"choice",
|
|
742
743
|
"multi-choice",
|
|
743
744
|
"text",
|
|
745
|
+
"structured",
|
|
744
746
|
"unknown"
|
|
745
747
|
]);
|
|
746
748
|
var StudioInterruptInteractionModeSchema = import_zod4.z.enum([
|
|
@@ -754,6 +756,13 @@ var StudioInterruptOptionSchema = import_zod4.z.object({
|
|
|
754
756
|
label: import_zod4.z.string().min(1),
|
|
755
757
|
description: import_zod4.z.string().nullable()
|
|
756
758
|
}).strict();
|
|
759
|
+
var StudioInterruptValueSchema = import_zod4.z.union([
|
|
760
|
+
import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()),
|
|
761
|
+
import_zod4.z.array(import_zod4.z.unknown()),
|
|
762
|
+
import_zod4.z.string(),
|
|
763
|
+
import_zod4.z.number(),
|
|
764
|
+
import_zod4.z.boolean()
|
|
765
|
+
]);
|
|
757
766
|
var StudioResumeOutcomeSchema = import_zod4.z.enum([
|
|
758
767
|
"resumed",
|
|
759
768
|
"resume failed",
|
|
@@ -883,6 +892,7 @@ var StudioInterruptSchema = import_zod4.z.object({
|
|
|
883
892
|
status: StudioInterruptStatusSchema,
|
|
884
893
|
type: StudioInterruptTypeSchema,
|
|
885
894
|
interactionMode: StudioInterruptInteractionModeSchema,
|
|
895
|
+
contract: import_zod4.z.string().nullable().default(null),
|
|
886
896
|
schemaId: import_zod4.z.string().nullable(),
|
|
887
897
|
schemaVersion: import_zod4.z.string().nullable(),
|
|
888
898
|
createdAt: import_zod4.z.string().datetime({ offset: true }),
|
|
@@ -890,6 +900,8 @@ var StudioInterruptSchema = import_zod4.z.object({
|
|
|
890
900
|
expiresAt: import_zod4.z.string().datetime({ offset: true }).nullable(),
|
|
891
901
|
question: import_zod4.z.string().nullable(),
|
|
892
902
|
contentCaptured: import_zod4.z.boolean(),
|
|
903
|
+
request: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).nullable().default(null),
|
|
904
|
+
requestCaptured: import_zod4.z.boolean().default(false),
|
|
893
905
|
optionCount: import_zod4.z.number().int().nonnegative().nullable(),
|
|
894
906
|
options: import_zod4.z.array(StudioInterruptOptionSchema).nullable(),
|
|
895
907
|
workflowId: import_zod4.z.string().min(1),
|
|
@@ -898,6 +910,7 @@ var StudioInterruptSchema = import_zod4.z.object({
|
|
|
898
910
|
userId: import_zod4.z.string().nullable(),
|
|
899
911
|
tenantId: import_zod4.z.string().nullable(),
|
|
900
912
|
response: import_zod4.z.string().nullable(),
|
|
913
|
+
responseValue: StudioInterruptValueSchema.nullable().default(null),
|
|
901
914
|
responseCaptured: import_zod4.z.boolean(),
|
|
902
915
|
resumeOutcome: StudioResumeOutcomeSchema.nullable(),
|
|
903
916
|
resumeError: import_zod4.z.string().nullable(),
|
|
@@ -1069,6 +1082,7 @@ var StudioContextResponseSchema = import_zod4.z.object({
|
|
|
1069
1082
|
StudioInterruptSchema,
|
|
1070
1083
|
StudioInterruptStatusSchema,
|
|
1071
1084
|
StudioInterruptTypeSchema,
|
|
1085
|
+
StudioInterruptValueSchema,
|
|
1072
1086
|
StudioInterruptsResponseSchema,
|
|
1073
1087
|
StudioMetricSchema,
|
|
1074
1088
|
StudioPricingSourceSchema,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/scores.ts","../src/tools.ts","../src/studio-updates.ts","../src/workflow-calls.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { FeedbackSummarySchema, StudioScoreSchema } from \"./scores\";\n\nexport * from \"./scores\";\n\nimport {\n StudioToolSchema,\n ToolDiscoverySchema,\n ToolObservationSchema,\n WorkflowToolSchema,\n} from \"./tools\";\n\nexport type { StudioTool, WorkflowTool } from \"./tools\";\nexport {\n StudioToolSchema,\n ToolDiscoverySchema,\n ToolObservationSchema,\n ToolOutcomeSchema,\n WorkflowToolSchema,\n} from \"./tools\";\nexport const TELEMETRY_EVENT_TYPES = [\n \"span.started\",\n \"span.ended\",\n \"span.failed\",\n \"error.reported\",\n \"generation.completed\",\n \"tool.started\",\n \"tool.completed\",\n \"tool.failed\",\n \"tool.denied\",\n \"tool.cancelled\",\n \"tool.reused\",\n \"tool.waiting\",\n \"tool.suspended\",\n \"response.completed\",\n \"interrupt.created\",\n \"interrupt.resolved\",\n \"interrupt.expired\",\n \"interrupt.cancelled\",\n \"run.cancelled\",\n \"run.limit_reached\",\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 tools: z.array(WorkflowToolSchema).optional(),\n toolDiscovery: ToolDiscoverySchema.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()\n .superRefine((event, ctx) => {\n if (!event.type.startsWith(\"tool.\")) return;\n const canonical =\n event.payload.version === 1 ||\n [\n \"tool.denied\",\n \"tool.cancelled\",\n \"tool.reused\",\n \"tool.waiting\",\n \"tool.suspended\",\n ].includes(event.type);\n if (!canonical) return; // Previous SDK event envelopes remain readable.\n const parsed = ToolObservationSchema.strict().safeParse(event.payload);\n if (!parsed.success)\n for (const issue of parsed.error.issues)\n ctx.addIssue({ ...issue, path: [\"payload\", ...issue.path] });\n else {\n if (\n (parsed.data.errorType !== undefined ||\n parsed.data.errorMessage !== undefined) &&\n parsed.data.outcome !== \"fault\"\n )\n ctx.addIssue({\n code: \"custom\",\n path: [\"payload\"],\n message: \"Error diagnostics require a fault outcome.\",\n });\n const terminalOutcomes: Record<string, string> = {\n \"tool.completed\": \"success\",\n \"tool.failed\": \"fault\",\n \"tool.denied\": \"denied\",\n \"tool.cancelled\": \"cancelled\",\n };\n const expected = terminalOutcomes[event.type];\n if (expected && parsed.data.outcome !== expected)\n ctx.addIssue({\n code: \"custom\",\n path: [\"payload\", \"outcome\"],\n message: \"Outcome must match the tool event type.\",\n });\n if (\n event.type === \"tool.reused\" &&\n (parsed.data.executed || !parsed.data.source)\n )\n ctx.addIssue({\n code: \"custom\",\n path: [\"payload\"],\n message: \"Reuse must be unexecuted and reference its source.\",\n });\n }\n });\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 \"workflows\",\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 feedback: FeedbackSummarySchema.optional(),\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 afterResponseCompleted: z.boolean().optional(),\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 tools: z.array(StudioToolSchema).optional(),\n toolDiscovery: ToolDiscoverySchema.optional(),\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 scores: z.array(StudioScoreSchema).optional(),\n canReview: z.boolean().optional(),\n reviewActorId: z.string().optional(),\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 * from \"./studio-updates\";\nexport {\n projectWorkflowCalls,\n type StudioWorkflowCall,\n} from \"./workflow-calls\";\n","import { z } from \"zod\";\n\nexport const FEEDBACK_FILTERS = [\"positive\", \"negative\", \"unrated\"] as const;\nexport const FeedbackSummarySchema = z\n .object({\n positive: z.number().int().nonnegative(),\n negative: z.number().int().nonnegative(),\n })\n .strict();\n\nexport const FeedbackReasonSchema = z.enum([\n \"incorrect\",\n \"irrelevant\",\n \"incomplete\",\n \"unsafe\",\n \"other\",\n]);\nexport const ReviewVerdictSchema = z.enum([\n \"correct\",\n \"partially-correct\",\n \"incorrect\",\n]);\nconst runId = z.string().trim().min(1).max(512);\nconst actorId = z.string().trim().min(1).max(256);\nconst comment = z.string().trim().max(4000).nullable().optional();\n\n// This request is server-to-server. The application derives actorId from its\n// authenticated user and verifies that the user may rate the requested run.\nexport const UserFeedbackRequestSchema = z\n .object({\n runId,\n actorId,\n value: z.union([z.literal(0), z.literal(1)]),\n reasons: z.array(FeedbackReasonSchema).max(5).optional(),\n comment,\n })\n .strict();\nexport const ClearUserFeedbackRequestSchema = UserFeedbackRequestSchema.pick({\n runId: true,\n actorId: true,\n});\nexport const StudioReviewRequestSchema = z\n .object({ value: ReviewVerdictSchema, comment })\n .strict();\n\nconst BaseScoreSchema = z\n .object({\n id: z.string().uuid(),\n target: z.object({ type: z.literal(\"run\"), runId }).strict(),\n environment: z.string().min(1),\n name: z.string().min(1),\n source: z.enum([\"end-user\", \"human-review\", \"evaluator\"]),\n actorId,\n reasons: z.array(FeedbackReasonSchema),\n comment: z.string().nullable(),\n createdAt: z.string().datetime({ offset: true }),\n updatedAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport const StudioScoreSchema = z.discriminatedUnion(\"dataType\", [\n BaseScoreSchema.extend({\n dataType: z.literal(\"BOOLEAN\"),\n value: z.union([z.literal(0), z.literal(1)]),\n }),\n BaseScoreSchema.extend({\n dataType: z.literal(\"CATEGORICAL\"),\n value: z.string(),\n }),\n BaseScoreSchema.extend({\n dataType: z.literal(\"NUMERIC\"),\n value: z.number().finite(),\n }),\n]);\nexport const StudioScoreResponseSchema = z\n .object({ score: StudioScoreSchema })\n .strict();\nexport const ClearScoreResponseSchema = z\n .object({ ok: z.literal(true) })\n .strict();\n\nexport type FeedbackSummary = z.infer<typeof FeedbackSummarySchema>;\nexport type StudioScore = z.infer<typeof StudioScoreSchema>;\nexport type UserFeedbackRequest = z.infer<typeof UserFeedbackRequestSchema>;\nexport type StudioReviewRequest = z.infer<typeof StudioReviewRequestSchema>;\n\nexport function summarizeUserFeedback(\n scores: readonly StudioScore[],\n): FeedbackSummary {\n const feedback = { positive: 0, negative: 0 };\n for (const score of scores) {\n if (\n score.source !== \"end-user\" ||\n score.name !== \"user-feedback\" ||\n score.dataType !== \"BOOLEAN\"\n )\n continue;\n if (score.value === 1) feedback.positive += 1;\n if (score.value === 0) feedback.negative += 1;\n }\n return feedback;\n}\n","import { z } from \"zod\";\n\nexport const ToolOutcomeSchema = z.enum([\n \"success\",\n \"denied\",\n \"fault\",\n \"cancelled\",\n]);\nexport const ToolObservationSchema = z.object({\n version: z.literal(1),\n name: z.string().min(1).max(256),\n toolCallId: z.string().min(1),\n attemptId: z.string().min(1),\n callingMode: z.enum([\"direct\", \"model\"]),\n executed: z.boolean(),\n outcome: ToolOutcomeSchema.optional(),\n denialCode: z\n .string()\n .regex(/^[A-Z][A-Z0-9_]{0,63}$/)\n .optional(),\n errorType: z.string().max(256).optional(),\n errorMessage: z.string().max(8192).optional(),\n durationMs: z.number().finite().nonnegative().optional(),\n workflowId: z.string().optional(),\n nodeId: z.string().optional(),\n workflowRevisionId: z.string().optional(),\n runId: z.string().optional(),\n invocationId: z.string().optional(),\n parentInvocationId: z.string().optional(),\n branchId: z.string().optional(),\n observationKind: z.enum([\"reused\", \"waiting\"]).optional(),\n suspended: z.boolean().optional(),\n source: z\n .object({\n runId: z.string().optional(),\n invocationId: z.string().optional(),\n branchId: z.string().optional(),\n toolCallId: z.string(),\n attemptId: z.string(),\n })\n .strict()\n .optional(),\n});\nexport type ToolObservation = z.infer<typeof ToolObservationSchema>;\n\n/** Topology contains safe capability descriptions, never executable factories. */\nexport const WorkflowToolSchema = z\n .object({\n name: z.string().min(1).max(256),\n description: z.string().max(4096).optional(),\n callingMode: z.enum([\"direct\", \"model\"]),\n provenance: z.enum([\"source\", \"observed\"]),\n inputFields: z\n .array(\n z\n .object({ name: z.string(), type: z.string(), required: z.boolean() })\n .strict(),\n )\n .optional(),\n })\n .strict();\nexport const ToolDiscoverySchema = z\n .object({\n status: z.enum([\"complete\", \"unresolved\"]),\n publishedAt: z.string().datetime().optional(),\n warnings: z.array(z.string()).optional(),\n })\n .strict();\n\nexport const StudioToolSchema = WorkflowToolSchema.extend({\n callingMode: z.enum([\"direct\", \"model\", \"unknown\"]),\n calls: z.number().nonnegative(),\n replays: z.number().nonnegative(),\n successes: z.number().nonnegative(),\n denials: z.number().nonnegative(),\n faults: z.number().nonnegative(),\n cancellations: z.number().nonnegative(),\n p50DurationMs: z.number().nonnegative().nullable(),\n p95DurationMs: z.number().nonnegative().nullable(),\n}).strict();\nexport type WorkflowTool = z.infer<typeof WorkflowToolSchema>;\nexport type StudioTool = z.infer<typeof StudioToolSchema>;\n","import { z } from \"zod\";\n\nexport const StudioReleaseVersionSchema = z\n .string()\n .regex(/^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$/);\n\nexport const StudioReleaseDeploymentSchema = z.object({\n strategy: z.enum([\"rolling\", \"recreate\"]),\n});\n\nexport const StudioReleaseSchema = z.object({\n format: z.literal(1),\n installer: z.literal(1),\n version: StudioReleaseVersionSchema,\n api: z\n .string()\n .regex(/^ghcr\\.io\\/kortyx-io\\/kortyx-api@sha256:[a-f0-9]{64}$/),\n studio: z\n .string()\n .regex(/^ghcr\\.io\\/kortyx-io\\/kortyx-studio@sha256:[a-f0-9]{64}$/),\n deployment: StudioReleaseDeploymentSchema.default({\n strategy: \"recreate\",\n }),\n});\nexport type StudioRelease = z.infer<typeof StudioReleaseSchema>;\n\nexport const StudioUpdateSettingsSchema = z.object({\n automatic: z.boolean(),\n hourUtc: z.number().int().min(0).max(23),\n});\nexport type StudioUpdateSettings = z.infer<typeof StudioUpdateSettingsSchema>;\n\nexport const StudioUpdateOperationSchema = z.object({\n id: z.uuid(),\n from: z.string(),\n release: StudioReleaseSchema,\n phase: z.enum([\n \"starting\",\n \"pulling\",\n \"backup\",\n \"installing\",\n \"verifying\",\n \"succeeded\",\n \"failed\",\n ]),\n startedAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n backup: z.string().nullable(),\n messages: z.array(z.string()).max(100),\n});\nexport type StudioUpdateOperation = z.infer<typeof StudioUpdateOperationSchema>;\n\nexport const StudioUpdateStatusSchema = z.object({\n current: z.string().nullable(),\n available: StudioReleaseSchema.nullable(),\n checkedAt: z.iso.datetime().nullable(),\n checkError: z.string().nullable(),\n settings: StudioUpdateSettingsSchema,\n operation: StudioUpdateOperationSchema.nullable(),\n});\nexport type StudioUpdateStatus = z.infer<typeof StudioUpdateStatusSchema>;\n\nexport function newerStudioVersion(\n candidate: string,\n current: string,\n): boolean {\n const next = StudioReleaseVersionSchema.parse(candidate)\n .split(\".\")\n .map(BigInt);\n const previous = StudioReleaseVersionSchema.parse(current)\n .split(\".\")\n .map(BigInt);\n for (let i = 0; i < 3; i++) {\n if (next[i] !== previous[i]) return (next[i] ?? 0n) > (previous[i] ?? 0n);\n }\n return false;\n}\n\nexport function studioUpdateRunning(\n operation: StudioUpdateOperation | null,\n): boolean {\n return (\n !!operation &&\n operation.phase !== \"succeeded\" &&\n operation.phase !== \"failed\"\n );\n}\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":["import_zod","import_zod","import_zod"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/scores.ts","../src/tools.ts","../src/studio-updates.ts","../src/workflow-calls.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { FeedbackSummarySchema, StudioScoreSchema } from \"./scores\";\n\nexport * from \"./scores\";\n\nimport {\n StudioToolSchema,\n ToolDiscoverySchema,\n ToolObservationSchema,\n WorkflowToolSchema,\n} from \"./tools\";\n\nexport type { StudioTool, WorkflowTool } from \"./tools\";\nexport {\n StudioToolSchema,\n ToolDiscoverySchema,\n ToolObservationSchema,\n ToolOutcomeSchema,\n WorkflowToolSchema,\n} from \"./tools\";\nexport const TELEMETRY_EVENT_TYPES = [\n \"span.started\",\n \"span.ended\",\n \"span.failed\",\n \"error.reported\",\n \"generation.completed\",\n \"tool.started\",\n \"tool.completed\",\n \"tool.failed\",\n \"tool.denied\",\n \"tool.cancelled\",\n \"tool.reused\",\n \"tool.waiting\",\n \"tool.suspended\",\n \"response.completed\",\n \"interrupt.created\",\n \"interrupt.resolved\",\n \"interrupt.expired\",\n \"interrupt.cancelled\",\n \"run.cancelled\",\n \"run.limit_reached\",\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 tools: z.array(WorkflowToolSchema).optional(),\n toolDiscovery: ToolDiscoverySchema.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()\n .superRefine((event, ctx) => {\n if (!event.type.startsWith(\"tool.\")) return;\n const canonical =\n event.payload.version === 1 ||\n [\n \"tool.denied\",\n \"tool.cancelled\",\n \"tool.reused\",\n \"tool.waiting\",\n \"tool.suspended\",\n ].includes(event.type);\n if (!canonical) return; // Previous SDK event envelopes remain readable.\n const parsed = ToolObservationSchema.strict().safeParse(event.payload);\n if (!parsed.success)\n for (const issue of parsed.error.issues)\n ctx.addIssue({ ...issue, path: [\"payload\", ...issue.path] });\n else {\n if (\n (parsed.data.errorType !== undefined ||\n parsed.data.errorMessage !== undefined) &&\n parsed.data.outcome !== \"fault\"\n )\n ctx.addIssue({\n code: \"custom\",\n path: [\"payload\"],\n message: \"Error diagnostics require a fault outcome.\",\n });\n const terminalOutcomes: Record<string, string> = {\n \"tool.completed\": \"success\",\n \"tool.failed\": \"fault\",\n \"tool.denied\": \"denied\",\n \"tool.cancelled\": \"cancelled\",\n };\n const expected = terminalOutcomes[event.type];\n if (expected && parsed.data.outcome !== expected)\n ctx.addIssue({\n code: \"custom\",\n path: [\"payload\", \"outcome\"],\n message: \"Outcome must match the tool event type.\",\n });\n if (\n event.type === \"tool.reused\" &&\n (parsed.data.executed || !parsed.data.source)\n )\n ctx.addIssue({\n code: \"custom\",\n path: [\"payload\"],\n message: \"Reuse must be unexecuted and reference its source.\",\n });\n }\n });\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 \"structured\",\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 StudioInterruptValueSchema = z.union([\n z.record(z.string(), z.unknown()),\n z.array(z.unknown()),\n z.string(),\n z.number(),\n z.boolean(),\n]);\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 \"workflows\",\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 feedback: FeedbackSummarySchema.optional(),\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 afterResponseCompleted: z.boolean().optional(),\n id: z.string().min(1),\n status: StudioInterruptStatusSchema,\n type: StudioInterruptTypeSchema,\n interactionMode: StudioInterruptInteractionModeSchema,\n contract: z.string().nullable().default(null),\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 request: z.record(z.string(), z.unknown()).nullable().default(null),\n requestCaptured: z.boolean().default(false),\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 responseValue: StudioInterruptValueSchema.nullable().default(null),\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 tools: z.array(StudioToolSchema).optional(),\n toolDiscovery: ToolDiscoverySchema.optional(),\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 scores: z.array(StudioScoreSchema).optional(),\n canReview: z.boolean().optional(),\n reviewActorId: z.string().optional(),\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 * from \"./studio-updates\";\nexport {\n projectWorkflowCalls,\n type StudioWorkflowCall,\n} from \"./workflow-calls\";\n","import { z } from \"zod\";\n\nexport const FEEDBACK_FILTERS = [\"positive\", \"negative\", \"unrated\"] as const;\nexport const FeedbackSummarySchema = z\n .object({\n positive: z.number().int().nonnegative(),\n negative: z.number().int().nonnegative(),\n })\n .strict();\n\nexport const FeedbackReasonSchema = z.enum([\n \"incorrect\",\n \"irrelevant\",\n \"incomplete\",\n \"unsafe\",\n \"other\",\n]);\nexport const ReviewVerdictSchema = z.enum([\n \"correct\",\n \"partially-correct\",\n \"incorrect\",\n]);\nconst runId = z.string().trim().min(1).max(512);\nconst actorId = z.string().trim().min(1).max(256);\nconst comment = z.string().trim().max(4000).nullable().optional();\n\n// This request is server-to-server. The application derives actorId from its\n// authenticated user and verifies that the user may rate the requested run.\nexport const UserFeedbackRequestSchema = z\n .object({\n runId,\n actorId,\n value: z.union([z.literal(0), z.literal(1)]),\n reasons: z.array(FeedbackReasonSchema).max(5).optional(),\n comment,\n })\n .strict();\nexport const ClearUserFeedbackRequestSchema = UserFeedbackRequestSchema.pick({\n runId: true,\n actorId: true,\n});\nexport const StudioReviewRequestSchema = z\n .object({ value: ReviewVerdictSchema, comment })\n .strict();\n\nconst BaseScoreSchema = z\n .object({\n id: z.string().uuid(),\n target: z.object({ type: z.literal(\"run\"), runId }).strict(),\n environment: z.string().min(1),\n name: z.string().min(1),\n source: z.enum([\"end-user\", \"human-review\", \"evaluator\"]),\n actorId,\n reasons: z.array(FeedbackReasonSchema),\n comment: z.string().nullable(),\n createdAt: z.string().datetime({ offset: true }),\n updatedAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport const StudioScoreSchema = z.discriminatedUnion(\"dataType\", [\n BaseScoreSchema.extend({\n dataType: z.literal(\"BOOLEAN\"),\n value: z.union([z.literal(0), z.literal(1)]),\n }),\n BaseScoreSchema.extend({\n dataType: z.literal(\"CATEGORICAL\"),\n value: z.string(),\n }),\n BaseScoreSchema.extend({\n dataType: z.literal(\"NUMERIC\"),\n value: z.number().finite(),\n }),\n]);\nexport const StudioScoreResponseSchema = z\n .object({ score: StudioScoreSchema })\n .strict();\nexport const ClearScoreResponseSchema = z\n .object({ ok: z.literal(true) })\n .strict();\n\nexport type FeedbackSummary = z.infer<typeof FeedbackSummarySchema>;\nexport type StudioScore = z.infer<typeof StudioScoreSchema>;\nexport type UserFeedbackRequest = z.infer<typeof UserFeedbackRequestSchema>;\nexport type StudioReviewRequest = z.infer<typeof StudioReviewRequestSchema>;\n\nexport function summarizeUserFeedback(\n scores: readonly StudioScore[],\n): FeedbackSummary {\n const feedback = { positive: 0, negative: 0 };\n for (const score of scores) {\n if (\n score.source !== \"end-user\" ||\n score.name !== \"user-feedback\" ||\n score.dataType !== \"BOOLEAN\"\n )\n continue;\n if (score.value === 1) feedback.positive += 1;\n if (score.value === 0) feedback.negative += 1;\n }\n return feedback;\n}\n","import { z } from \"zod\";\n\nexport const ToolOutcomeSchema = z.enum([\n \"success\",\n \"denied\",\n \"fault\",\n \"cancelled\",\n]);\nexport const ToolObservationSchema = z.object({\n version: z.literal(1),\n name: z.string().min(1).max(256),\n toolCallId: z.string().min(1),\n attemptId: z.string().min(1),\n callingMode: z.enum([\"direct\", \"model\"]),\n executed: z.boolean(),\n outcome: ToolOutcomeSchema.optional(),\n denialCode: z\n .string()\n .regex(/^[A-Z][A-Z0-9_]{0,63}$/)\n .optional(),\n errorType: z.string().max(256).optional(),\n errorMessage: z.string().max(8192).optional(),\n durationMs: z.number().finite().nonnegative().optional(),\n workflowId: z.string().optional(),\n nodeId: z.string().optional(),\n workflowRevisionId: z.string().optional(),\n runId: z.string().optional(),\n invocationId: z.string().optional(),\n parentInvocationId: z.string().optional(),\n branchId: z.string().optional(),\n observationKind: z.enum([\"reused\", \"waiting\"]).optional(),\n suspended: z.boolean().optional(),\n source: z\n .object({\n runId: z.string().optional(),\n invocationId: z.string().optional(),\n branchId: z.string().optional(),\n toolCallId: z.string(),\n attemptId: z.string(),\n })\n .strict()\n .optional(),\n});\nexport type ToolObservation = z.infer<typeof ToolObservationSchema>;\n\n/** Topology contains safe capability descriptions, never executable factories. */\nexport const WorkflowToolSchema = z\n .object({\n name: z.string().min(1).max(256),\n description: z.string().max(4096).optional(),\n callingMode: z.enum([\"direct\", \"model\"]),\n provenance: z.enum([\"source\", \"observed\"]),\n inputFields: z\n .array(\n z\n .object({ name: z.string(), type: z.string(), required: z.boolean() })\n .strict(),\n )\n .optional(),\n })\n .strict();\nexport const ToolDiscoverySchema = z\n .object({\n status: z.enum([\"complete\", \"unresolved\"]),\n publishedAt: z.string().datetime().optional(),\n warnings: z.array(z.string()).optional(),\n })\n .strict();\n\nexport const StudioToolSchema = WorkflowToolSchema.extend({\n callingMode: z.enum([\"direct\", \"model\", \"unknown\"]),\n calls: z.number().nonnegative(),\n replays: z.number().nonnegative(),\n successes: z.number().nonnegative(),\n denials: z.number().nonnegative(),\n faults: z.number().nonnegative(),\n cancellations: z.number().nonnegative(),\n p50DurationMs: z.number().nonnegative().nullable(),\n p95DurationMs: z.number().nonnegative().nullable(),\n}).strict();\nexport type WorkflowTool = z.infer<typeof WorkflowToolSchema>;\nexport type StudioTool = z.infer<typeof StudioToolSchema>;\n","import { z } from \"zod\";\n\nexport const StudioReleaseVersionSchema = z\n .string()\n .regex(/^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$/);\n\nexport const StudioReleaseDeploymentSchema = z.object({\n strategy: z.enum([\"rolling\", \"recreate\"]),\n});\n\nexport const StudioReleaseSchema = z.object({\n format: z.literal(1),\n installer: z.literal(1),\n version: StudioReleaseVersionSchema,\n api: z\n .string()\n .regex(/^ghcr\\.io\\/kortyx-io\\/kortyx-api@sha256:[a-f0-9]{64}$/),\n studio: z\n .string()\n .regex(/^ghcr\\.io\\/kortyx-io\\/kortyx-studio@sha256:[a-f0-9]{64}$/),\n deployment: StudioReleaseDeploymentSchema.default({\n strategy: \"recreate\",\n }),\n});\nexport type StudioRelease = z.infer<typeof StudioReleaseSchema>;\n\nexport const StudioUpdateSettingsSchema = z.object({\n automatic: z.boolean(),\n hourUtc: z.number().int().min(0).max(23),\n});\nexport type StudioUpdateSettings = z.infer<typeof StudioUpdateSettingsSchema>;\n\nexport const StudioUpdateOperationSchema = z.object({\n id: z.uuid(),\n from: z.string(),\n release: StudioReleaseSchema,\n phase: z.enum([\n \"starting\",\n \"pulling\",\n \"backup\",\n \"installing\",\n \"verifying\",\n \"succeeded\",\n \"failed\",\n ]),\n startedAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n backup: z.string().nullable(),\n messages: z.array(z.string()).max(100),\n});\nexport type StudioUpdateOperation = z.infer<typeof StudioUpdateOperationSchema>;\n\nexport const StudioUpdateStatusSchema = z.object({\n current: z.string().nullable(),\n available: StudioReleaseSchema.nullable(),\n checkedAt: z.iso.datetime().nullable(),\n checkError: z.string().nullable(),\n settings: StudioUpdateSettingsSchema,\n operation: StudioUpdateOperationSchema.nullable(),\n});\nexport type StudioUpdateStatus = z.infer<typeof StudioUpdateStatusSchema>;\n\nexport function newerStudioVersion(\n candidate: string,\n current: string,\n): boolean {\n const next = StudioReleaseVersionSchema.parse(candidate)\n .split(\".\")\n .map(BigInt);\n const previous = StudioReleaseVersionSchema.parse(current)\n .split(\".\")\n .map(BigInt);\n for (let i = 0; i < 3; i++) {\n if (next[i] !== previous[i]) return (next[i] ?? 0n) > (previous[i] ?? 0n);\n }\n return false;\n}\n\nexport function studioUpdateRunning(\n operation: StudioUpdateOperation | null,\n): boolean {\n return (\n !!operation &&\n operation.phase !== \"succeeded\" &&\n operation.phase !== \"failed\"\n );\n}\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":["import_zod","import_zod","import_zod"]}
|