@kortyx/telemetry-contracts 0.17.0 → 0.17.1

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 CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.17.1](https://github.com/kortyx-io/kortyx/compare/telemetry-contracts-v0.17.0...telemetry-contracts-v0.17.1) (2026-10-13)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **studio:** show available model cost subtotals everywhere ([#335](https://github.com/kortyx-io/kortyx/issues/335)) ([d19cf5d](https://github.com/kortyx-io/kortyx/commit/d19cf5d7716a7649c738373ba2cea1ef64d532e0))
9
+
3
10
  ## [0.17.0](https://github.com/kortyx-io/kortyx/compare/telemetry-contracts-v0.16.0...telemetry-contracts-v0.17.0) (2026-10-11)
4
11
 
5
12
 
package/dist/index.d.ts CHANGED
@@ -1998,6 +1998,15 @@ declare const StudioChangeSchema: z.ZodObject<{
1998
1998
  interrupts: "interrupts";
1999
1999
  }>>;
2000
2000
  }, z.core.$strict>;
2001
+ /** Known subtotals stay separate by currency; completeness never implies conversion. */
2002
+ declare const StudioCostSummarySchema: z.ZodObject<{
2003
+ amounts: z.ZodArray<z.ZodObject<{
2004
+ amount: z.ZodNumber;
2005
+ currency: z.ZodNullable<z.ZodString>;
2006
+ }, z.core.$strip>>;
2007
+ complete: z.ZodBoolean;
2008
+ }, z.core.$strip>;
2009
+ type StudioCostSummary = z.infer<typeof StudioCostSummarySchema>;
2001
2010
  declare const StudioMetricSchema: z.ZodObject<{
2002
2011
  runCount: z.ZodNumber;
2003
2012
  successRate: z.ZodNullable<z.ZodNumber>;
@@ -2008,6 +2017,13 @@ declare const StudioMetricSchema: z.ZodObject<{
2008
2017
  p95DurationMs: z.ZodNullable<z.ZodNumber>;
2009
2018
  averageTokens: z.ZodNullable<z.ZodNumber>;
2010
2019
  averageCost: z.ZodNullable<z.ZodNumber>;
2020
+ averageCostSummary: z.ZodOptional<z.ZodObject<{
2021
+ amounts: z.ZodArray<z.ZodObject<{
2022
+ amount: z.ZodNumber;
2023
+ currency: z.ZodNullable<z.ZodString>;
2024
+ }, z.core.$strip>>;
2025
+ complete: z.ZodBoolean;
2026
+ }, z.core.$strip>>;
2011
2027
  currency: z.ZodNullable<z.ZodString>;
2012
2028
  }, z.core.$strip>;
2013
2029
  declare const StudioRunSchema: z.ZodObject<{
@@ -2050,6 +2066,13 @@ declare const StudioRunSchema: z.ZodObject<{
2050
2066
  durationMs: z.ZodNullable<z.ZodNumber>;
2051
2067
  tokens: z.ZodNullable<z.ZodNumber>;
2052
2068
  cost: z.ZodNullable<z.ZodNumber>;
2069
+ costSummary: z.ZodOptional<z.ZodObject<{
2070
+ amounts: z.ZodArray<z.ZodObject<{
2071
+ amount: z.ZodNumber;
2072
+ currency: z.ZodNullable<z.ZodString>;
2073
+ }, z.core.$strip>>;
2074
+ complete: z.ZodBoolean;
2075
+ }, z.core.$strip>>;
2053
2076
  pricingStatus: z.ZodEnum<{
2054
2077
  unknown: "unknown";
2055
2078
  priced: "priced";
@@ -2106,6 +2129,13 @@ declare const StudioSessionSchema: z.ZodObject<{
2106
2129
  durationMs: z.ZodNullable<z.ZodNumber>;
2107
2130
  tokens: z.ZodNullable<z.ZodNumber>;
2108
2131
  cost: z.ZodNullable<z.ZodNumber>;
2132
+ costSummary: z.ZodOptional<z.ZodObject<{
2133
+ amounts: z.ZodArray<z.ZodObject<{
2134
+ amount: z.ZodNumber;
2135
+ currency: z.ZodNullable<z.ZodString>;
2136
+ }, z.core.$strip>>;
2137
+ complete: z.ZodBoolean;
2138
+ }, z.core.$strip>>;
2109
2139
  pricingStatus: z.ZodEnum<{
2110
2140
  unknown: "unknown";
2111
2141
  priced: "priced";
@@ -2273,6 +2303,13 @@ declare const StudioWorkflowNodeSchema: z.ZodObject<{
2273
2303
  p95DurationMs: z.ZodNullable<z.ZodNumber>;
2274
2304
  averageTokens: z.ZodNullable<z.ZodNumber>;
2275
2305
  averageCost: z.ZodNullable<z.ZodNumber>;
2306
+ averageCostSummary: z.ZodOptional<z.ZodObject<{
2307
+ amounts: z.ZodArray<z.ZodObject<{
2308
+ amount: z.ZodNumber;
2309
+ currency: z.ZodNullable<z.ZodString>;
2310
+ }, z.core.$strip>>;
2311
+ complete: z.ZodBoolean;
2312
+ }, z.core.$strip>>;
2276
2313
  currency: z.ZodNullable<z.ZodString>;
2277
2314
  }, z.core.$strip>;
2278
2315
  }, z.core.$strip>;
@@ -2323,6 +2360,13 @@ declare const StudioWorkflowSchema: z.ZodObject<{
2323
2360
  p95DurationMs: z.ZodNullable<z.ZodNumber>;
2324
2361
  averageTokens: z.ZodNullable<z.ZodNumber>;
2325
2362
  averageCost: z.ZodNullable<z.ZodNumber>;
2363
+ averageCostSummary: z.ZodOptional<z.ZodObject<{
2364
+ amounts: z.ZodArray<z.ZodObject<{
2365
+ amount: z.ZodNumber;
2366
+ currency: z.ZodNullable<z.ZodString>;
2367
+ }, z.core.$strip>>;
2368
+ complete: z.ZodBoolean;
2369
+ }, z.core.$strip>>;
2326
2370
  currency: z.ZodNullable<z.ZodString>;
2327
2371
  }, z.core.$strip>;
2328
2372
  nodes: z.ZodArray<z.ZodObject<{
@@ -2382,6 +2426,13 @@ declare const StudioWorkflowSchema: z.ZodObject<{
2382
2426
  p95DurationMs: z.ZodNullable<z.ZodNumber>;
2383
2427
  averageTokens: z.ZodNullable<z.ZodNumber>;
2384
2428
  averageCost: z.ZodNullable<z.ZodNumber>;
2429
+ averageCostSummary: z.ZodOptional<z.ZodObject<{
2430
+ amounts: z.ZodArray<z.ZodObject<{
2431
+ amount: z.ZodNumber;
2432
+ currency: z.ZodNullable<z.ZodString>;
2433
+ }, z.core.$strip>>;
2434
+ complete: z.ZodBoolean;
2435
+ }, z.core.$strip>>;
2385
2436
  currency: z.ZodNullable<z.ZodString>;
2386
2437
  }, z.core.$strip>;
2387
2438
  }, z.core.$strip>>;
@@ -2433,6 +2484,13 @@ declare const StudioRunsResponseSchema: z.ZodObject<{
2433
2484
  durationMs: z.ZodNullable<z.ZodNumber>;
2434
2485
  tokens: z.ZodNullable<z.ZodNumber>;
2435
2486
  cost: z.ZodNullable<z.ZodNumber>;
2487
+ costSummary: z.ZodOptional<z.ZodObject<{
2488
+ amounts: z.ZodArray<z.ZodObject<{
2489
+ amount: z.ZodNumber;
2490
+ currency: z.ZodNullable<z.ZodString>;
2491
+ }, z.core.$strip>>;
2492
+ complete: z.ZodBoolean;
2493
+ }, z.core.$strip>>;
2436
2494
  pricingStatus: z.ZodEnum<{
2437
2495
  unknown: "unknown";
2438
2496
  priced: "priced";
@@ -2492,6 +2550,13 @@ declare const StudioSessionsResponseSchema: z.ZodObject<{
2492
2550
  durationMs: z.ZodNullable<z.ZodNumber>;
2493
2551
  tokens: z.ZodNullable<z.ZodNumber>;
2494
2552
  cost: z.ZodNullable<z.ZodNumber>;
2553
+ costSummary: z.ZodOptional<z.ZodObject<{
2554
+ amounts: z.ZodArray<z.ZodObject<{
2555
+ amount: z.ZodNumber;
2556
+ currency: z.ZodNullable<z.ZodString>;
2557
+ }, z.core.$strip>>;
2558
+ complete: z.ZodBoolean;
2559
+ }, z.core.$strip>>;
2495
2560
  pricingStatus: z.ZodEnum<{
2496
2561
  unknown: "unknown";
2497
2562
  priced: "priced";
@@ -2626,6 +2691,13 @@ declare const StudioRunDetailResponseSchema: z.ZodObject<{
2626
2691
  durationMs: z.ZodNullable<z.ZodNumber>;
2627
2692
  tokens: z.ZodNullable<z.ZodNumber>;
2628
2693
  cost: z.ZodNullable<z.ZodNumber>;
2694
+ costSummary: z.ZodOptional<z.ZodObject<{
2695
+ amounts: z.ZodArray<z.ZodObject<{
2696
+ amount: z.ZodNumber;
2697
+ currency: z.ZodNullable<z.ZodString>;
2698
+ }, z.core.$strip>>;
2699
+ complete: z.ZodBoolean;
2700
+ }, z.core.$strip>>;
2629
2701
  pricingStatus: z.ZodEnum<{
2630
2702
  unknown: "unknown";
2631
2703
  priced: "priced";
@@ -2785,6 +2857,13 @@ declare const StudioRunDetailResponseSchema: z.ZodObject<{
2785
2857
  durationMs: z.ZodNullable<z.ZodNumber>;
2786
2858
  tokens: z.ZodNullable<z.ZodNumber>;
2787
2859
  cost: z.ZodNullable<z.ZodNumber>;
2860
+ costSummary: z.ZodOptional<z.ZodObject<{
2861
+ amounts: z.ZodArray<z.ZodObject<{
2862
+ amount: z.ZodNumber;
2863
+ currency: z.ZodNullable<z.ZodString>;
2864
+ }, z.core.$strip>>;
2865
+ complete: z.ZodBoolean;
2866
+ }, z.core.$strip>>;
2788
2867
  pricingStatus: z.ZodEnum<{
2789
2868
  unknown: "unknown";
2790
2869
  priced: "priced";
@@ -2902,6 +2981,13 @@ declare const StudioSessionDetailResponseSchema: z.ZodObject<{
2902
2981
  durationMs: z.ZodNullable<z.ZodNumber>;
2903
2982
  tokens: z.ZodNullable<z.ZodNumber>;
2904
2983
  cost: z.ZodNullable<z.ZodNumber>;
2984
+ costSummary: z.ZodOptional<z.ZodObject<{
2985
+ amounts: z.ZodArray<z.ZodObject<{
2986
+ amount: z.ZodNumber;
2987
+ currency: z.ZodNullable<z.ZodString>;
2988
+ }, z.core.$strip>>;
2989
+ complete: z.ZodBoolean;
2990
+ }, z.core.$strip>>;
2905
2991
  pricingStatus: z.ZodEnum<{
2906
2992
  unknown: "unknown";
2907
2993
  priced: "priced";
@@ -2971,6 +3057,13 @@ declare const StudioSessionDetailResponseSchema: z.ZodObject<{
2971
3057
  durationMs: z.ZodNullable<z.ZodNumber>;
2972
3058
  tokens: z.ZodNullable<z.ZodNumber>;
2973
3059
  cost: z.ZodNullable<z.ZodNumber>;
3060
+ costSummary: z.ZodOptional<z.ZodObject<{
3061
+ amounts: z.ZodArray<z.ZodObject<{
3062
+ amount: z.ZodNumber;
3063
+ currency: z.ZodNullable<z.ZodString>;
3064
+ }, z.core.$strip>>;
3065
+ complete: z.ZodBoolean;
3066
+ }, z.core.$strip>>;
2974
3067
  pricingStatus: z.ZodEnum<{
2975
3068
  unknown: "unknown";
2976
3069
  priced: "priced";
@@ -3206,6 +3299,13 @@ declare const StudioInterruptDetailResponseSchema: z.ZodObject<{
3206
3299
  durationMs: z.ZodNullable<z.ZodNumber>;
3207
3300
  tokens: z.ZodNullable<z.ZodNumber>;
3208
3301
  cost: z.ZodNullable<z.ZodNumber>;
3302
+ costSummary: z.ZodOptional<z.ZodObject<{
3303
+ amounts: z.ZodArray<z.ZodObject<{
3304
+ amount: z.ZodNumber;
3305
+ currency: z.ZodNullable<z.ZodString>;
3306
+ }, z.core.$strip>>;
3307
+ complete: z.ZodBoolean;
3308
+ }, z.core.$strip>>;
3209
3309
  pricingStatus: z.ZodEnum<{
3210
3310
  unknown: "unknown";
3211
3311
  priced: "priced";
@@ -3262,6 +3362,13 @@ declare const StudioInterruptDetailResponseSchema: z.ZodObject<{
3262
3362
  durationMs: z.ZodNullable<z.ZodNumber>;
3263
3363
  tokens: z.ZodNullable<z.ZodNumber>;
3264
3364
  cost: z.ZodNullable<z.ZodNumber>;
3365
+ costSummary: z.ZodOptional<z.ZodObject<{
3366
+ amounts: z.ZodArray<z.ZodObject<{
3367
+ amount: z.ZodNumber;
3368
+ currency: z.ZodNullable<z.ZodString>;
3369
+ }, z.core.$strip>>;
3370
+ complete: z.ZodBoolean;
3371
+ }, z.core.$strip>>;
3265
3372
  pricingStatus: z.ZodEnum<{
3266
3373
  unknown: "unknown";
3267
3374
  priced: "priced";
@@ -3320,6 +3427,13 @@ declare const StudioWorkflowsResponseSchema: z.ZodObject<{
3320
3427
  p95DurationMs: z.ZodNullable<z.ZodNumber>;
3321
3428
  averageTokens: z.ZodNullable<z.ZodNumber>;
3322
3429
  averageCost: z.ZodNullable<z.ZodNumber>;
3430
+ averageCostSummary: z.ZodOptional<z.ZodObject<{
3431
+ amounts: z.ZodArray<z.ZodObject<{
3432
+ amount: z.ZodNumber;
3433
+ currency: z.ZodNullable<z.ZodString>;
3434
+ }, z.core.$strip>>;
3435
+ complete: z.ZodBoolean;
3436
+ }, z.core.$strip>>;
3323
3437
  currency: z.ZodNullable<z.ZodString>;
3324
3438
  }, z.core.$strip>;
3325
3439
  nodes: z.ZodArray<z.ZodObject<{
@@ -3379,6 +3493,13 @@ declare const StudioWorkflowsResponseSchema: z.ZodObject<{
3379
3493
  p95DurationMs: z.ZodNullable<z.ZodNumber>;
3380
3494
  averageTokens: z.ZodNullable<z.ZodNumber>;
3381
3495
  averageCost: z.ZodNullable<z.ZodNumber>;
3496
+ averageCostSummary: z.ZodOptional<z.ZodObject<{
3497
+ amounts: z.ZodArray<z.ZodObject<{
3498
+ amount: z.ZodNumber;
3499
+ currency: z.ZodNullable<z.ZodString>;
3500
+ }, z.core.$strip>>;
3501
+ complete: z.ZodBoolean;
3502
+ }, z.core.$strip>>;
3382
3503
  currency: z.ZodNullable<z.ZodString>;
3383
3504
  }, z.core.$strip>;
3384
3505
  }, z.core.$strip>>;
@@ -3497,4 +3618,4 @@ type StudioWorkflowsResponse = z.infer<typeof StudioWorkflowsResponseSchema>;
3497
3618
  type StudioCatalogsResponse = z.infer<typeof StudioCatalogsResponseSchema>;
3498
3619
  type StudioContextResponse = z.infer<typeof StudioContextResponseSchema>;
3499
3620
 
3500
- export { ClearScoreResponseSchema, ClearUserFeedbackRequestSchema, DIAGNOSTIC_LIMITS, type DiagnosticContent, DiagnosticContentSchema, DiagnosticCorrelationSchema, type DiagnosticManifest, DiagnosticManifestSchema, type DiagnosticNote, DiagnosticNoteSchema, DiagnosticPartSchema, type DiagnosticResponse, DiagnosticResponseSchema, type EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyRequestSchema, type EnsureWorkflowTopologyResponse, EnsureWorkflowTopologyResponseSchema, FEEDBACK_FILTERS, FeedbackReasonSchema, type FeedbackSummary, FeedbackSummarySchema, type KortyxTelemetryEvent, type KortyxTelemetryEventType, type KortyxTelemetryService, type KortyxWorkflowTopologyEdge, type KortyxWorkflowTopologyNode, type KortyxWorkflowTopologyTransition, PromptAssetSchema, PromptAssignmentSchema, type PromptBundle, PromptBundleSchema, type PromptCategory, PromptCategorySchema, type PromptDetail, PromptDetailSchema, type PromptEvidence, PromptEvidenceSchema, type PromptGroup, PromptGroupSchema, type PromptLibrary, PromptLibrarySchema, type PromptMutation, PromptMutationSchema, PromptPolicySchema, type PromptSelection, PromptSelectionSchema, PromptStoredVersionSchema, type PromptTransferRequest, PromptTransferRequestSchema, PromptUsageSchema, ReviewVerdictSchema, STUDIO_API_PROTOCOL_VERSION, 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, isPrivateDiagnosticField, newerStudioVersion, projectWorkflowCalls, redactDiagnosticContent, redactDiagnosticText, resolveStudioInterruptStatus, resolveStudioTimeRange, studioUpdateRunning, summarizeDiagnostic, summarizeUserFeedback };
3621
+ export { ClearScoreResponseSchema, ClearUserFeedbackRequestSchema, DIAGNOSTIC_LIMITS, type DiagnosticContent, DiagnosticContentSchema, DiagnosticCorrelationSchema, type DiagnosticManifest, DiagnosticManifestSchema, type DiagnosticNote, DiagnosticNoteSchema, DiagnosticPartSchema, type DiagnosticResponse, DiagnosticResponseSchema, type EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyRequestSchema, type EnsureWorkflowTopologyResponse, EnsureWorkflowTopologyResponseSchema, FEEDBACK_FILTERS, FeedbackReasonSchema, type FeedbackSummary, FeedbackSummarySchema, type KortyxTelemetryEvent, type KortyxTelemetryEventType, type KortyxTelemetryService, type KortyxWorkflowTopologyEdge, type KortyxWorkflowTopologyNode, type KortyxWorkflowTopologyTransition, PromptAssetSchema, PromptAssignmentSchema, type PromptBundle, PromptBundleSchema, type PromptCategory, PromptCategorySchema, type PromptDetail, PromptDetailSchema, type PromptEvidence, PromptEvidenceSchema, type PromptGroup, PromptGroupSchema, type PromptLibrary, PromptLibrarySchema, type PromptMutation, PromptMutationSchema, PromptPolicySchema, type PromptSelection, PromptSelectionSchema, PromptStoredVersionSchema, type PromptTransferRequest, PromptTransferRequestSchema, PromptUsageSchema, ReviewVerdictSchema, STUDIO_API_PROTOCOL_VERSION, STUDIO_TIME_RANGES, type StudioCatalogsResponse, StudioCatalogsResponseSchema, type StudioChange, type StudioChangeResource, StudioChangeResourceSchema, StudioChangeSchema, type StudioContextResponse, StudioContextResponseSchema, type StudioCostSummary, StudioCostSummarySchema, 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, isPrivateDiagnosticField, newerStudioVersion, projectWorkflowCalls, redactDiagnosticContent, redactDiagnosticText, resolveStudioInterruptStatus, resolveStudioTimeRange, studioUpdateRunning, summarizeDiagnostic, summarizeUserFeedback };
package/dist/index.js CHANGED
@@ -54,6 +54,7 @@ __export(index_exports, {
54
54
  StudioChangeResourceSchema: () => StudioChangeResourceSchema,
55
55
  StudioChangeSchema: () => StudioChangeSchema,
56
56
  StudioContextResponseSchema: () => StudioContextResponseSchema,
57
+ StudioCostSummarySchema: () => StudioCostSummarySchema,
57
58
  StudioDetailEventSchema: () => StudioDetailEventSchema,
58
59
  StudioInterruptDetailResponseSchema: () => StudioInterruptDetailResponseSchema,
59
60
  StudioInterruptInteractionModeSchema: () => StudioInterruptInteractionModeSchema,
@@ -1326,6 +1327,15 @@ var StudioChangeSchema = import_zod6.z.object({
1326
1327
  environment: import_zod6.z.string().min(1).optional(),
1327
1328
  resources: import_zod6.z.array(StudioChangeResourceSchema).min(1)
1328
1329
  }).strict();
1330
+ var StudioCostSummarySchema = import_zod6.z.object({
1331
+ amounts: import_zod6.z.array(
1332
+ import_zod6.z.object({
1333
+ amount: import_zod6.z.number().nonnegative(),
1334
+ currency: import_zod6.z.string().nullable()
1335
+ }).strip()
1336
+ ),
1337
+ complete: import_zod6.z.boolean()
1338
+ }).strip();
1329
1339
  var StudioMetricSchema = import_zod6.z.object({
1330
1340
  runCount: import_zod6.z.number().int().nonnegative(),
1331
1341
  successRate: import_zod6.z.number().min(0).max(100).nullable(),
@@ -1336,6 +1346,7 @@ var StudioMetricSchema = import_zod6.z.object({
1336
1346
  p95DurationMs: import_zod6.z.number().nonnegative().nullable(),
1337
1347
  averageTokens: import_zod6.z.number().nonnegative().nullable(),
1338
1348
  averageCost: import_zod6.z.number().nonnegative().nullable(),
1349
+ averageCostSummary: StudioCostSummarySchema.optional(),
1339
1350
  currency: import_zod6.z.string().nullable()
1340
1351
  }).strip();
1341
1352
  var StudioRunSchema = import_zod6.z.object({
@@ -1370,6 +1381,7 @@ var StudioRunSchema = import_zod6.z.object({
1370
1381
  durationMs: import_zod6.z.number().nonnegative().nullable(),
1371
1382
  tokens: import_zod6.z.number().int().nonnegative().nullable(),
1372
1383
  cost: import_zod6.z.number().nonnegative().nullable(),
1384
+ costSummary: StudioCostSummarySchema.optional(),
1373
1385
  pricingStatus: StudioPricingStatusSchema,
1374
1386
  pricingSource: StudioPricingSourceSchema,
1375
1387
  currency: import_zod6.z.string().nullable(),
@@ -1403,6 +1415,7 @@ var StudioSessionSchema = import_zod6.z.object({
1403
1415
  durationMs: import_zod6.z.number().nonnegative().nullable(),
1404
1416
  tokens: import_zod6.z.number().int().nonnegative().nullable(),
1405
1417
  cost: import_zod6.z.number().nonnegative().nullable(),
1418
+ costSummary: StudioCostSummarySchema.optional(),
1406
1419
  pricingStatus: StudioPricingStatusSchema,
1407
1420
  pricingSource: StudioPricingSourceSchema,
1408
1421
  currency: import_zod6.z.string().nullable(),
@@ -1628,6 +1641,7 @@ var StudioContextResponseSchema = import_zod6.z.object({
1628
1641
  StudioChangeResourceSchema,
1629
1642
  StudioChangeSchema,
1630
1643
  StudioContextResponseSchema,
1644
+ StudioCostSummarySchema,
1631
1645
  StudioDetailEventSchema,
1632
1646
  StudioInterruptDetailResponseSchema,
1633
1647
  StudioInterruptInteractionModeSchema,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/scores.ts","../src/diagnostics.ts","../src/tools.ts","../src/prompts.ts","../src/studio-updates.ts","../src/workflow-calls.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { FeedbackSummarySchema, StudioScoreSchema } from \"./scores\";\n\nexport * from \"./diagnostics\";\nexport * from \"./scores\";\n\n/** Studio read API compatibility changes only when the wire protocol breaks. */\nexport const STUDIO_API_PROTOCOL_VERSION = \"1\";\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 \"output.emitted\",\n \"output.invalidated\",\n \"interrupt.created\",\n \"interrupt.resolved\",\n \"interrupt.expired\",\n \"interrupt.cancelled\",\n \"run.cancelled\",\n \"run.limit_reached\",\n \"workflow.suspended\",\n \"workflow.resumed\",\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 .strip();\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 \"evals\",\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 environment: z.string().min(1).optional(),\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 .strip();\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 .strip(),\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 .strip();\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 .strip();\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 .strip();\nexport const StudioDetailEventSchema = z\n .object({\n id: z.string().min(1),\n // Studio readers must preserve future event kinds within the same API major.\n type: z.string().min(1),\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 .strip();\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 .strip();\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 .strip();\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 .strip();\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 .strip();\nexport const StudioRunsResponseSchema = z\n .object({\n runs: z.array(StudioRunSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strip();\nexport const StudioSessionsResponseSchema = z\n .object({\n sessions: z.array(StudioSessionSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strip();\nexport const StudioInterruptsResponseSchema = z\n .object({\n interrupts: z.array(StudioInterruptSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strip();\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 .strip();\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 .strip();\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 .strip();\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 }).strip(),\n })\n .strip();\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 .strip();\nexport const StudioContextResponseSchema = z\n .object({\n organization: z\n .object({\n name: z.string().min(1),\n })\n .strip(),\n project: z\n .object({\n name: z.string().min(1),\n })\n .strip(),\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 .strip()\n .nullable(),\n api: z\n .object({\n status: z.literal(\"ok\"),\n service: z.literal(\"kortyx-api\"),\n version: z.string().min(1),\n })\n .strip(),\n })\n .strip();\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 \"./prompts\";\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 DIAGNOSTIC_LIMITS = {\n bytes: 8 * 1024 * 1024,\n partBytes: 64 * 1024,\n parts: 128,\n nodes: 10_000,\n depth: 128,\n properties: 1_000,\n} as const;\n\nexport const DiagnosticNoteSchema = z\n .object({\n path: z.string().max(4096),\n reason: z.string().max(128),\n originalBytes: z.number().int().nonnegative().optional(),\n originalCount: z.number().int().nonnegative().optional(),\n })\n .strict();\nexport const DiagnosticContentSchema = z\n .object({\n schemaVersion: z.literal(1),\n data: z.record(z.string(), z.unknown()),\n capture: z\n .object({\n status: z.enum([\"complete\", \"partial\", \"failed\"]),\n omissions: z.array(DiagnosticNoteSchema).max(10_000),\n redactions: z.array(DiagnosticNoteSchema).max(10_000),\n })\n .strict(),\n })\n .strict();\nexport type DiagnosticContent = z.infer<typeof DiagnosticContentSchema>;\nexport type DiagnosticNote = z.infer<typeof DiagnosticNoteSchema>;\n\nexport const DiagnosticCorrelationSchema = z\n .object({\n runId: z.string().optional(),\n workflowId: z.string().optional(),\n nodeId: z.string().optional(),\n sessionId: z.string().optional(),\n invocationId: z.string().optional(),\n parentInvocationId: z.string().optional(),\n branchId: z.string().optional(),\n toolCallId: z.string().optional(),\n attemptId: z.string().optional(),\n workflowRevisionId: z.string().optional(),\n traceId: z.string().optional(),\n spanId: z.string().optional(),\n parentSpanId: z.string().optional(),\n })\n .strict();\n\nexport const DiagnosticManifestSchema = z\n .object({\n schemaVersion: z.literal(1),\n diagnosticId: z.string().uuid(),\n occurrenceId: z.string().uuid(),\n occurredAt: z.string().datetime({ offset: true }),\n environment: z.string().min(1).max(256),\n service: z\n .object({\n name: z.string().min(1).max(256),\n deploymentRef: z.string().max(1024).optional(),\n })\n .strict(),\n correlation: DiagnosticCorrelationSchema,\n handled: z.boolean(),\n severity: z.enum([\"warning\", \"error\"]),\n mechanism: z.enum([\"span\", \"report\", \"tool\"]),\n summary: z\n .object({ type: z.string().max(256), message: z.string().max(8192) })\n .strict(),\n captureStatus: z.enum([\"complete\", \"partial\", \"failed\"]),\n checksum: z.string().regex(/^[a-f0-9]{64}$/),\n byteLength: z.number().int().min(1).max(DIAGNOSTIC_LIMITS.bytes),\n partCount: z.number().int().min(1).max(DIAGNOSTIC_LIMITS.parts),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (\n value.partCount !==\n Math.ceil(value.byteLength / DIAGNOSTIC_LIMITS.partBytes)\n )\n ctx.addIssue({\n code: \"custom\",\n path: [\"partCount\"],\n message: \"Part count does not match byte length.\",\n });\n });\nexport type DiagnosticManifest = z.infer<typeof DiagnosticManifestSchema>;\nexport const DiagnosticPartSchema = z\n .object({\n index: z\n .number()\n .int()\n .min(0)\n .max(DIAGNOSTIC_LIMITS.parts - 1),\n data: z\n .string()\n .max(Math.ceil(DIAGNOSTIC_LIMITS.partBytes / 3) * 4)\n .regex(\n /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,\n ),\n })\n .strict();\nexport const DiagnosticResponseSchema = z\n .object({\n manifest: DiagnosticManifestSchema,\n state: z.enum([\"pending\", \"available\", \"incomplete\", \"expired\"]),\n receivedParts: z.number().int().nonnegative(),\n expiresAt: z.string().datetime({ offset: true }),\n content: DiagnosticContentSchema.nullable(),\n contentChecksum: z\n .string()\n .regex(/^[a-f0-9]{64}$/)\n .nullable(),\n contentByteLength: z.number().int().nonnegative().nullable(),\n })\n .strict();\nexport type DiagnosticResponse = z.infer<typeof DiagnosticResponseSchema>;\n\n/** Shared mandatory policy for diagnostic keys and embedded credential text. */\nexport const isPrivateDiagnosticField = (key: string) =>\n /^(?:password|passwd|secret|clientsecret|privatekey|credential|credentials|authorization|proxyauthorization|bearer|bearertoken|jwt|token|accesstoken|refreshtoken|authtoken|apikey|xapikey|apitoken|xauthtoken|xaccesstoken|awsaccesskeyid|awssecretaccesskey|awssessiontoken|xamzsecuritytoken|apisecret|cookie|setcookie|resumehandle|resumetoken)$/.test(\n key.toLowerCase().replace(/[^a-z0-9]/g, \"\"),\n );\n\nexport function redactDiagnosticText(value: string): string {\n return value\n .replace(/\\bBearer\\s+[A-Za-z0-9._~+/-]+=*/gi, \"Bearer [REDACTED]\")\n .replace(\n /\\b(?:ktyx_(?:test|live)_[^\\s\"'<>]+|sk-(?:proj-|ant-)?[A-Za-z0-9_-]{12,}|AIza[A-Za-z0-9_-]{20,}|eyJ[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+)/g,\n \"[REDACTED]\",\n )\n .replace(\n /([\"']?(?:api[_-]?key|access[_-]?token|refresh[_-]?token|password|passwd|secret|token|client[_-]?secret|authorization|cookie)[\"']?\\s*[:=]\\s*)([\"'])(.*?)\\2/gi,\n \"$1$2[REDACTED]$2\",\n )\n .replace(\n /(\\b(?:api[_-]?key|access[_-]?token|refresh[_-]?token|password|passwd|secret|token|client[_-]?secret)\\s*[:=]\\s*)(?![\"'[])[^\\s,;}&]+/gi,\n \"$1[REDACTED]\",\n )\n .replace(\n /(\\b(?:authorization|proxy-authorization)\\s*:\\s*Basic\\s+)[A-Za-z0-9+/=]+/gi,\n \"$1[REDACTED]\",\n )\n .replace(\n /([?&](?:api[_-]?key|token|access[_-]?token|password)=)[^&#\\s]+/gi,\n \"$1[REDACTED]\",\n )\n .replace(/(https?:\\/\\/)[^\\s/@:]+:[^\\s/@]+@/gi, \"$1[REDACTED]@\");\n}\n\n/** A summary intentionally omits custom fields; the diagnostic preserves them. */\nexport function summarizeDiagnostic(\n data: Record<string, unknown>,\n depth = 0,\n): { type: string; message: string; stack?: string; cause?: unknown } {\n return {\n type: typeof data.type === \"string\" ? data.type.slice(0, 256) : \"Error\",\n message:\n typeof data.message === \"string\"\n ? data.message.slice(0, 8192)\n : \"Execution reported a fault.\",\n ...(typeof data.stack === \"string\"\n ? { stack: data.stack.slice(0, 32768) }\n : {}),\n ...(depth < 4 &&\n data.cause &&\n typeof data.cause === \"object\" &&\n !Array.isArray(data.cause)\n ? {\n cause: summarizeDiagnostic(\n data.cause as Record<string, unknown>,\n depth + 1,\n ),\n }\n : {}),\n };\n}\n\n/** Defense in depth for JSON received directly by the diagnostic API. */\nexport function redactDiagnosticContent(\n content: DiagnosticContent,\n): DiagnosticContent {\n const redactions = [...content.capture.redactions];\n const omissions = [...content.capture.omissions];\n let nodes = 0;\n const visit = (value: unknown, path: string, depth = 0): unknown => {\n if (++nodes > DIAGNOSTIC_LIMITS.nodes || depth > DIAGNOSTIC_LIMITS.depth) {\n const reason =\n depth > DIAGNOSTIC_LIMITS.depth\n ? \"server_depth_limit\"\n : \"server_node_limit\";\n if (omissions.length < 10_000)\n omissions.push({ path: path.slice(0, 4096), reason });\n return { $omitted: reason };\n }\n if (typeof value === \"string\") {\n const clean = redactDiagnosticText(value);\n if (clean !== value && redactions.length < 10_000)\n redactions.push({\n path: path.slice(0, 4096),\n reason: \"server_credential_text\",\n });\n return clean;\n }\n if (Array.isArray(value)) {\n if (\n value.length > DIAGNOSTIC_LIMITS.properties &&\n omissions.length < 10_000\n )\n omissions.push({\n path: path.slice(0, 4096),\n reason: \"server_collection_limit\",\n originalCount: value.length,\n });\n return value\n .slice(0, DIAGNOSTIC_LIMITS.properties)\n .map((item, index) => visit(item, `${path}/${index}`, depth + 1));\n }\n if (value && typeof value === \"object\") {\n const keys = Object.keys(value);\n if (\n keys.length > DIAGNOSTIC_LIMITS.properties &&\n omissions.length < 10_000\n )\n omissions.push({\n path: path.slice(0, 4096),\n reason: \"server_property_limit\",\n originalCount: keys.length,\n });\n return Object.fromEntries(\n keys.slice(0, DIAGNOSTIC_LIMITS.properties).map((key) => {\n const nested = (value as Record<string, unknown>)[key];\n if (isPrivateDiagnosticField(key)) {\n if (redactions.length < 10_000 && nested !== \"[REDACTED]\")\n redactions.push({\n path: `${path}/${key}`.slice(0, 4096),\n reason: \"server_credential_field\",\n });\n return [key, \"[REDACTED]\"];\n }\n return [key, visit(nested, `${path}/${key}`, depth + 1)];\n }),\n );\n }\n return value;\n };\n return {\n ...content,\n data: visit(content.data, \"#/data\") as Record<string, unknown>,\n capture: {\n ...content.capture,\n status:\n content.capture.status === \"failed\"\n ? \"failed\"\n : omissions.length\n ? \"partial\"\n : \"complete\",\n omissions: omissions.map((note) => ({\n ...note,\n path: redactDiagnosticText(note.path),\n reason: redactDiagnosticText(note.reason),\n })),\n redactions: redactions.map((note) => ({\n ...note,\n path: redactDiagnosticText(note.path),\n reason: redactDiagnosticText(note.reason),\n })),\n },\n };\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 diagnosticId: z.string().uuid().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 {\n PromptContentSchema,\n PromptKeySchema,\n PromptTagSchema,\n PromptVersionSchema,\n} from \"@kortyx/prompts/browser\";\nimport { z } from \"zod\";\n\nconst name = z.string().trim().min(1).max(200);\nconst version = z.number().int().positive();\nconst revision = z.number().int().nonnegative();\nexport const PromptCategorySchema = z.object({\n id: z.uuid(),\n name,\n parentId: z.uuid().nullable(),\n revision,\n});\nexport const PromptGroupSchema = z.object({\n id: z.uuid(),\n name,\n revision,\n members: z\n .array(\n z.object({\n promptId: z.uuid(),\n version,\n key: PromptKeySchema.optional(),\n name: name.optional(),\n archived: z.boolean().optional(),\n }),\n )\n .max(100),\n updatedAt: z.string(),\n});\nexport const PromptAssignmentSchema = z.object({\n tag: PromptTagSchema,\n version,\n revision,\n updatedAt: z.string(),\n});\nexport const PromptAssetSchema = z.object({\n id: z.uuid(),\n key: PromptKeySchema,\n name,\n categoryId: z.uuid().nullable(),\n latestVersion: version,\n revision,\n archived: z.boolean(),\n updatedAt: z.string(),\n assignments: z.array(PromptAssignmentSchema),\n});\nexport const PromptLibrarySchema = z.object({\n schemaVersion: z.literal(1),\n assets: z.array(PromptAssetSchema),\n categories: z.array(PromptCategorySchema),\n groups: z.array(PromptGroupSchema),\n totalCount: z.number().int().nonnegative(),\n nextCursor: z.string().nullable(),\n permissions: z.object({\n edit: z.boolean(),\n promote: z.boolean(),\n review: z.boolean(),\n settings: z.boolean(),\n }),\n});\nexport const PromptStoredVersionSchema = PromptVersionSchema.extend({\n promptId: z.uuid(),\n note: z.string(),\n author: z.string(),\n createdAt: z.string(),\n origin: z\n .object({\n apiUrl: z.string(),\n projectId: z.string(),\n key: z.string(),\n version,\n hash: z.string(),\n })\n .nullable(),\n});\nexport const PromptPolicySchema = z.object({\n revision,\n requireTest: z.boolean(),\n requireChangeNote: z.boolean().default(false),\n requiredSuites: z.array(z.object({ targetId: name, suiteId: name })).max(100),\n requiredReviews: z.number().int().min(0).max(10),\n allowException: z.boolean(),\n});\nexport const PromptEvidenceSchema = z.object({\n environment: z.string(),\n runId: z.string(),\n evaluationId: z.string().nullable().optional(),\n targetId: z.string(),\n suiteId: z.string(),\n suiteRevision: z.string().optional(),\n status: z.string(),\n version,\n fullSuite: z.boolean(),\n usage: z.enum([\n \"verified\",\n \"pending\",\n \"not-used\",\n \"mismatch\",\n \"context-differs\",\n ]),\n groupName: z.string().nullable(),\n createdAt: z.string(),\n companions: z.array(z.object({ key: PromptKeySchema, version })),\n});\nexport const PromptUsageSchema = z.object({\n eventId: z.string(),\n runId: z.string(),\n sessionId: z.string().nullable(),\n nodeId: z.string().nullable(),\n version: z.number().int(),\n hash: z.string().nullable(),\n source: z.string().nullable(),\n model: z.string().nullable(),\n environment: z.string(),\n occurredAt: z.string(),\n captured: z.boolean(),\n});\nexport const PromptDetailSchema = z.object({\n asset: PromptAssetSchema,\n versions: z.array(PromptStoredVersionSchema),\n versionsNextCursor: z.string().nullable().optional(),\n draft: PromptContentSchema.nullable(),\n draftBase: z.number().int().nullable(),\n draftRevision: revision,\n evidence: z.array(PromptEvidenceSchema),\n usage: z.array(PromptUsageSchema),\n activity: z.array(\n z.object({\n id: z.string(),\n action: z.string(),\n actor: z.string(),\n details: z.record(z.string(), z.unknown()),\n createdAt: z.string(),\n }),\n ),\n policies: z.array(PromptPolicySchema),\n reviews: z\n .array(\n z.object({\n version,\n hash: z.string(),\n independent: z.boolean(),\n reviewer: z.string(),\n note: z.string(),\n createdAt: z.string(),\n }),\n )\n .optional(),\n});\nexport const PromptMutationSchema = z.discriminatedUnion(\"action\", [\n z\n .object({\n action: z.literal(\"tag-set\"),\n id: z.uuid(),\n tag: PromptTagSchema.refine(\n (tag) => tag !== \"live\",\n \"Use promotion to update live.\",\n ),\n version,\n expectedRevision: revision,\n })\n .strict(),\n z\n .object({\n action: z.literal(\"tag-remove\"),\n id: z.uuid(),\n tag: PromptTagSchema.refine(\n (tag) => tag !== \"live\",\n \"The live tag cannot be removed manually.\",\n ),\n expectedRevision: revision,\n })\n .strict(),\n\n z\n .object({\n action: z.literal(\"bulk-update\"),\n assets: z\n .array(z.object({ id: z.uuid(), expectedRevision: revision }))\n .min(1)\n .max(100),\n categoryId: z.uuid().nullable().optional(),\n archived: z.boolean().optional(),\n })\n .strict()\n .refine(\n (value) => value.categoryId !== undefined || value.archived !== undefined,\n \"Choose a category or archive state.\",\n ),\n z\n .object({\n action: z.literal(\"create\"),\n key: PromptKeySchema,\n name,\n categoryId: z.uuid().nullable().default(null),\n content: PromptContentSchema,\n note: z.string().trim().max(2000).default(\"\"),\n idempotencyKey: z.uuid().optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"draft\"),\n id: z.uuid(),\n content: PromptContentSchema,\n baseVersion: version,\n expectedRevision: revision,\n })\n .strict(),\n z\n .object({\n action: z.literal(\"discard-draft\"),\n id: z.uuid(),\n expectedRevision: revision,\n })\n .strict(),\n z\n .object({\n action: z.literal(\"save\"),\n id: z.uuid(),\n content: PromptContentSchema,\n baseVersion: version,\n expectedHash: z.string().regex(/^[a-f0-9]{64}$/),\n expectedDraftRevision: revision.optional(),\n note: z.string().trim().max(2000).default(\"\"),\n idempotencyKey: z.uuid(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"update\"),\n id: z.uuid(),\n expectedRevision: revision,\n name: name.optional(),\n categoryId: z.uuid().nullable().optional(),\n archived: z.boolean().optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"category-create\"),\n path: z.string().trim().min(1).max(1000),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"category-update\"),\n id: z.uuid(),\n expectedRevision: revision,\n name: name.optional(),\n parentId: z.uuid().nullable().optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"category-delete\"),\n id: z.uuid(),\n expectedRevision: revision,\n destinationId: z.uuid().nullable(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"group-create\"),\n name,\n members: z\n .array(z.object({ promptId: z.uuid(), version }))\n .max(100)\n .optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"group-update\"),\n id: z.uuid(),\n expectedRevision: revision,\n name: name.optional(),\n members: z\n .array(z.object({ promptId: z.uuid(), version }))\n .max(100)\n .optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"group-delete\"),\n id: z.uuid(),\n expectedRevision: revision,\n })\n .strict(),\n z\n .object({\n action: z.literal(\"promote\"),\n id: z.uuid(),\n version,\n expectedRevision: revision,\n exceptionReason: z.string().trim().min(1).max(2000).optional(),\n rollback: z.boolean().default(false),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"review\"),\n id: z.uuid(),\n version,\n note: z.string().trim().min(1).max(2000),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"policy\"),\n id: z.uuid(),\n policy: PromptPolicySchema,\n })\n .strict(),\n]);\nexport type PromptLibrary = z.infer<typeof PromptLibrarySchema>;\nexport type PromptDetail = z.infer<typeof PromptDetailSchema>;\nexport type PromptMutation = z.input<typeof PromptMutationSchema>;\nexport type PromptCategory = z.infer<typeof PromptCategorySchema>;\nexport type PromptGroup = z.infer<typeof PromptGroupSchema>;\nexport type PromptEvidence = z.infer<typeof PromptEvidenceSchema>;\n\nexport const PromptSelectionSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"live\") }).strict(),\n z\n .object({\n type: z.literal(\"single\"),\n id: z.string().min(1),\n version: z.number().int().positive(),\n })\n .strict(),\n z.object({ type: z.literal(\"group\"), groupId: z.uuid() }).strict(),\n]);\nexport type PromptSelection = z.infer<typeof PromptSelectionSchema>;\nexport const PromptBundleSchema = z\n .object({\n schemaVersion: z.literal(1),\n origin: z\n .object({\n apiUrl: z.url().refine((value) => {\n const url = new URL(value);\n return (\n /^https?:$/.test(url.protocol) &&\n !url.username &&\n !url.password &&\n !url.search\n );\n }),\n projectId: z.string().min(1),\n })\n .strict(),\n prompts: z\n .array(\n z\n .object({\n key: PromptKeySchema,\n name,\n categoryPath: z.string().optional(),\n versions: z\n .array(PromptVersionSchema.extend({ note: z.string().max(2000) }))\n .min(1)\n .max(200),\n })\n .strict(),\n )\n .min(1)\n .max(200),\n groups: z\n .array(\n z\n .object({\n name,\n members: z\n .array(z.object({ key: PromptKeySchema, version }))\n .max(100),\n })\n .strict(),\n )\n .max(100)\n .default([]),\n })\n .strict();\nexport const PromptTransferRequestSchema = z\n .object({\n bundle: PromptBundleSchema,\n conflicts: z.enum([\"error\", \"append\"]).default(\"error\"),\n rename: z.record(PromptKeySchema, PromptKeySchema).default({}),\n categories: z.boolean().default(true),\n groups: z.boolean().default(false),\n })\n .strict();\nexport type PromptBundle = z.infer<typeof PromptBundleSchema>;\nexport type PromptTransferRequest = z.infer<typeof PromptTransferRequestSchema>;\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","import_zod","import_zod"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/scores.ts","../src/diagnostics.ts","../src/tools.ts","../src/prompts.ts","../src/studio-updates.ts","../src/workflow-calls.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { FeedbackSummarySchema, StudioScoreSchema } from \"./scores\";\n\nexport * from \"./diagnostics\";\nexport * from \"./scores\";\n\n/** Studio read API compatibility changes only when the wire protocol breaks. */\nexport const STUDIO_API_PROTOCOL_VERSION = \"1\";\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 \"output.emitted\",\n \"output.invalidated\",\n \"interrupt.created\",\n \"interrupt.resolved\",\n \"interrupt.expired\",\n \"interrupt.cancelled\",\n \"run.cancelled\",\n \"run.limit_reached\",\n \"workflow.suspended\",\n \"workflow.resumed\",\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 .strip();\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 \"evals\",\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 environment: z.string().min(1).optional(),\n resources: z.array(StudioChangeResourceSchema).min(1),\n })\n .strict();\n/** Known subtotals stay separate by currency; completeness never implies conversion. */\nexport const StudioCostSummarySchema = z\n .object({\n amounts: z.array(\n z\n .object({\n amount: z.number().nonnegative(),\n currency: z.string().nullable(),\n })\n .strip(),\n ),\n complete: z.boolean(),\n })\n .strip();\nexport type StudioCostSummary = z.infer<typeof StudioCostSummarySchema>;\n\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 averageCostSummary: StudioCostSummarySchema.optional(),\n currency: z.string().nullable(),\n })\n .strip();\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 .strip(),\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 costSummary: StudioCostSummarySchema.optional(),\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 .strip();\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 costSummary: StudioCostSummarySchema.optional(),\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 .strip();\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 .strip();\nexport const StudioDetailEventSchema = z\n .object({\n id: z.string().min(1),\n // Studio readers must preserve future event kinds within the same API major.\n type: z.string().min(1),\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 .strip();\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 .strip();\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 .strip();\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 .strip();\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 .strip();\nexport const StudioRunsResponseSchema = z\n .object({\n runs: z.array(StudioRunSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strip();\nexport const StudioSessionsResponseSchema = z\n .object({\n sessions: z.array(StudioSessionSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strip();\nexport const StudioInterruptsResponseSchema = z\n .object({\n interrupts: z.array(StudioInterruptSchema),\n totalCount: z.number().int().nonnegative(),\n })\n .strip();\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 .strip();\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 .strip();\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 .strip();\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 }).strip(),\n })\n .strip();\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 .strip();\nexport const StudioContextResponseSchema = z\n .object({\n organization: z\n .object({\n name: z.string().min(1),\n })\n .strip(),\n project: z\n .object({\n name: z.string().min(1),\n })\n .strip(),\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 .strip()\n .nullable(),\n api: z\n .object({\n status: z.literal(\"ok\"),\n service: z.literal(\"kortyx-api\"),\n version: z.string().min(1),\n })\n .strip(),\n })\n .strip();\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 \"./prompts\";\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 DIAGNOSTIC_LIMITS = {\n bytes: 8 * 1024 * 1024,\n partBytes: 64 * 1024,\n parts: 128,\n nodes: 10_000,\n depth: 128,\n properties: 1_000,\n} as const;\n\nexport const DiagnosticNoteSchema = z\n .object({\n path: z.string().max(4096),\n reason: z.string().max(128),\n originalBytes: z.number().int().nonnegative().optional(),\n originalCount: z.number().int().nonnegative().optional(),\n })\n .strict();\nexport const DiagnosticContentSchema = z\n .object({\n schemaVersion: z.literal(1),\n data: z.record(z.string(), z.unknown()),\n capture: z\n .object({\n status: z.enum([\"complete\", \"partial\", \"failed\"]),\n omissions: z.array(DiagnosticNoteSchema).max(10_000),\n redactions: z.array(DiagnosticNoteSchema).max(10_000),\n })\n .strict(),\n })\n .strict();\nexport type DiagnosticContent = z.infer<typeof DiagnosticContentSchema>;\nexport type DiagnosticNote = z.infer<typeof DiagnosticNoteSchema>;\n\nexport const DiagnosticCorrelationSchema = z\n .object({\n runId: z.string().optional(),\n workflowId: z.string().optional(),\n nodeId: z.string().optional(),\n sessionId: z.string().optional(),\n invocationId: z.string().optional(),\n parentInvocationId: z.string().optional(),\n branchId: z.string().optional(),\n toolCallId: z.string().optional(),\n attemptId: z.string().optional(),\n workflowRevisionId: z.string().optional(),\n traceId: z.string().optional(),\n spanId: z.string().optional(),\n parentSpanId: z.string().optional(),\n })\n .strict();\n\nexport const DiagnosticManifestSchema = z\n .object({\n schemaVersion: z.literal(1),\n diagnosticId: z.string().uuid(),\n occurrenceId: z.string().uuid(),\n occurredAt: z.string().datetime({ offset: true }),\n environment: z.string().min(1).max(256),\n service: z\n .object({\n name: z.string().min(1).max(256),\n deploymentRef: z.string().max(1024).optional(),\n })\n .strict(),\n correlation: DiagnosticCorrelationSchema,\n handled: z.boolean(),\n severity: z.enum([\"warning\", \"error\"]),\n mechanism: z.enum([\"span\", \"report\", \"tool\"]),\n summary: z\n .object({ type: z.string().max(256), message: z.string().max(8192) })\n .strict(),\n captureStatus: z.enum([\"complete\", \"partial\", \"failed\"]),\n checksum: z.string().regex(/^[a-f0-9]{64}$/),\n byteLength: z.number().int().min(1).max(DIAGNOSTIC_LIMITS.bytes),\n partCount: z.number().int().min(1).max(DIAGNOSTIC_LIMITS.parts),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (\n value.partCount !==\n Math.ceil(value.byteLength / DIAGNOSTIC_LIMITS.partBytes)\n )\n ctx.addIssue({\n code: \"custom\",\n path: [\"partCount\"],\n message: \"Part count does not match byte length.\",\n });\n });\nexport type DiagnosticManifest = z.infer<typeof DiagnosticManifestSchema>;\nexport const DiagnosticPartSchema = z\n .object({\n index: z\n .number()\n .int()\n .min(0)\n .max(DIAGNOSTIC_LIMITS.parts - 1),\n data: z\n .string()\n .max(Math.ceil(DIAGNOSTIC_LIMITS.partBytes / 3) * 4)\n .regex(\n /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,\n ),\n })\n .strict();\nexport const DiagnosticResponseSchema = z\n .object({\n manifest: DiagnosticManifestSchema,\n state: z.enum([\"pending\", \"available\", \"incomplete\", \"expired\"]),\n receivedParts: z.number().int().nonnegative(),\n expiresAt: z.string().datetime({ offset: true }),\n content: DiagnosticContentSchema.nullable(),\n contentChecksum: z\n .string()\n .regex(/^[a-f0-9]{64}$/)\n .nullable(),\n contentByteLength: z.number().int().nonnegative().nullable(),\n })\n .strict();\nexport type DiagnosticResponse = z.infer<typeof DiagnosticResponseSchema>;\n\n/** Shared mandatory policy for diagnostic keys and embedded credential text. */\nexport const isPrivateDiagnosticField = (key: string) =>\n /^(?:password|passwd|secret|clientsecret|privatekey|credential|credentials|authorization|proxyauthorization|bearer|bearertoken|jwt|token|accesstoken|refreshtoken|authtoken|apikey|xapikey|apitoken|xauthtoken|xaccesstoken|awsaccesskeyid|awssecretaccesskey|awssessiontoken|xamzsecuritytoken|apisecret|cookie|setcookie|resumehandle|resumetoken)$/.test(\n key.toLowerCase().replace(/[^a-z0-9]/g, \"\"),\n );\n\nexport function redactDiagnosticText(value: string): string {\n return value\n .replace(/\\bBearer\\s+[A-Za-z0-9._~+/-]+=*/gi, \"Bearer [REDACTED]\")\n .replace(\n /\\b(?:ktyx_(?:test|live)_[^\\s\"'<>]+|sk-(?:proj-|ant-)?[A-Za-z0-9_-]{12,}|AIza[A-Za-z0-9_-]{20,}|eyJ[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+)/g,\n \"[REDACTED]\",\n )\n .replace(\n /([\"']?(?:api[_-]?key|access[_-]?token|refresh[_-]?token|password|passwd|secret|token|client[_-]?secret|authorization|cookie)[\"']?\\s*[:=]\\s*)([\"'])(.*?)\\2/gi,\n \"$1$2[REDACTED]$2\",\n )\n .replace(\n /(\\b(?:api[_-]?key|access[_-]?token|refresh[_-]?token|password|passwd|secret|token|client[_-]?secret)\\s*[:=]\\s*)(?![\"'[])[^\\s,;}&]+/gi,\n \"$1[REDACTED]\",\n )\n .replace(\n /(\\b(?:authorization|proxy-authorization)\\s*:\\s*Basic\\s+)[A-Za-z0-9+/=]+/gi,\n \"$1[REDACTED]\",\n )\n .replace(\n /([?&](?:api[_-]?key|token|access[_-]?token|password)=)[^&#\\s]+/gi,\n \"$1[REDACTED]\",\n )\n .replace(/(https?:\\/\\/)[^\\s/@:]+:[^\\s/@]+@/gi, \"$1[REDACTED]@\");\n}\n\n/** A summary intentionally omits custom fields; the diagnostic preserves them. */\nexport function summarizeDiagnostic(\n data: Record<string, unknown>,\n depth = 0,\n): { type: string; message: string; stack?: string; cause?: unknown } {\n return {\n type: typeof data.type === \"string\" ? data.type.slice(0, 256) : \"Error\",\n message:\n typeof data.message === \"string\"\n ? data.message.slice(0, 8192)\n : \"Execution reported a fault.\",\n ...(typeof data.stack === \"string\"\n ? { stack: data.stack.slice(0, 32768) }\n : {}),\n ...(depth < 4 &&\n data.cause &&\n typeof data.cause === \"object\" &&\n !Array.isArray(data.cause)\n ? {\n cause: summarizeDiagnostic(\n data.cause as Record<string, unknown>,\n depth + 1,\n ),\n }\n : {}),\n };\n}\n\n/** Defense in depth for JSON received directly by the diagnostic API. */\nexport function redactDiagnosticContent(\n content: DiagnosticContent,\n): DiagnosticContent {\n const redactions = [...content.capture.redactions];\n const omissions = [...content.capture.omissions];\n let nodes = 0;\n const visit = (value: unknown, path: string, depth = 0): unknown => {\n if (++nodes > DIAGNOSTIC_LIMITS.nodes || depth > DIAGNOSTIC_LIMITS.depth) {\n const reason =\n depth > DIAGNOSTIC_LIMITS.depth\n ? \"server_depth_limit\"\n : \"server_node_limit\";\n if (omissions.length < 10_000)\n omissions.push({ path: path.slice(0, 4096), reason });\n return { $omitted: reason };\n }\n if (typeof value === \"string\") {\n const clean = redactDiagnosticText(value);\n if (clean !== value && redactions.length < 10_000)\n redactions.push({\n path: path.slice(0, 4096),\n reason: \"server_credential_text\",\n });\n return clean;\n }\n if (Array.isArray(value)) {\n if (\n value.length > DIAGNOSTIC_LIMITS.properties &&\n omissions.length < 10_000\n )\n omissions.push({\n path: path.slice(0, 4096),\n reason: \"server_collection_limit\",\n originalCount: value.length,\n });\n return value\n .slice(0, DIAGNOSTIC_LIMITS.properties)\n .map((item, index) => visit(item, `${path}/${index}`, depth + 1));\n }\n if (value && typeof value === \"object\") {\n const keys = Object.keys(value);\n if (\n keys.length > DIAGNOSTIC_LIMITS.properties &&\n omissions.length < 10_000\n )\n omissions.push({\n path: path.slice(0, 4096),\n reason: \"server_property_limit\",\n originalCount: keys.length,\n });\n return Object.fromEntries(\n keys.slice(0, DIAGNOSTIC_LIMITS.properties).map((key) => {\n const nested = (value as Record<string, unknown>)[key];\n if (isPrivateDiagnosticField(key)) {\n if (redactions.length < 10_000 && nested !== \"[REDACTED]\")\n redactions.push({\n path: `${path}/${key}`.slice(0, 4096),\n reason: \"server_credential_field\",\n });\n return [key, \"[REDACTED]\"];\n }\n return [key, visit(nested, `${path}/${key}`, depth + 1)];\n }),\n );\n }\n return value;\n };\n return {\n ...content,\n data: visit(content.data, \"#/data\") as Record<string, unknown>,\n capture: {\n ...content.capture,\n status:\n content.capture.status === \"failed\"\n ? \"failed\"\n : omissions.length\n ? \"partial\"\n : \"complete\",\n omissions: omissions.map((note) => ({\n ...note,\n path: redactDiagnosticText(note.path),\n reason: redactDiagnosticText(note.reason),\n })),\n redactions: redactions.map((note) => ({\n ...note,\n path: redactDiagnosticText(note.path),\n reason: redactDiagnosticText(note.reason),\n })),\n },\n };\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 diagnosticId: z.string().uuid().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 {\n PromptContentSchema,\n PromptKeySchema,\n PromptTagSchema,\n PromptVersionSchema,\n} from \"@kortyx/prompts/browser\";\nimport { z } from \"zod\";\n\nconst name = z.string().trim().min(1).max(200);\nconst version = z.number().int().positive();\nconst revision = z.number().int().nonnegative();\nexport const PromptCategorySchema = z.object({\n id: z.uuid(),\n name,\n parentId: z.uuid().nullable(),\n revision,\n});\nexport const PromptGroupSchema = z.object({\n id: z.uuid(),\n name,\n revision,\n members: z\n .array(\n z.object({\n promptId: z.uuid(),\n version,\n key: PromptKeySchema.optional(),\n name: name.optional(),\n archived: z.boolean().optional(),\n }),\n )\n .max(100),\n updatedAt: z.string(),\n});\nexport const PromptAssignmentSchema = z.object({\n tag: PromptTagSchema,\n version,\n revision,\n updatedAt: z.string(),\n});\nexport const PromptAssetSchema = z.object({\n id: z.uuid(),\n key: PromptKeySchema,\n name,\n categoryId: z.uuid().nullable(),\n latestVersion: version,\n revision,\n archived: z.boolean(),\n updatedAt: z.string(),\n assignments: z.array(PromptAssignmentSchema),\n});\nexport const PromptLibrarySchema = z.object({\n schemaVersion: z.literal(1),\n assets: z.array(PromptAssetSchema),\n categories: z.array(PromptCategorySchema),\n groups: z.array(PromptGroupSchema),\n totalCount: z.number().int().nonnegative(),\n nextCursor: z.string().nullable(),\n permissions: z.object({\n edit: z.boolean(),\n promote: z.boolean(),\n review: z.boolean(),\n settings: z.boolean(),\n }),\n});\nexport const PromptStoredVersionSchema = PromptVersionSchema.extend({\n promptId: z.uuid(),\n note: z.string(),\n author: z.string(),\n createdAt: z.string(),\n origin: z\n .object({\n apiUrl: z.string(),\n projectId: z.string(),\n key: z.string(),\n version,\n hash: z.string(),\n })\n .nullable(),\n});\nexport const PromptPolicySchema = z.object({\n revision,\n requireTest: z.boolean(),\n requireChangeNote: z.boolean().default(false),\n requiredSuites: z.array(z.object({ targetId: name, suiteId: name })).max(100),\n requiredReviews: z.number().int().min(0).max(10),\n allowException: z.boolean(),\n});\nexport const PromptEvidenceSchema = z.object({\n environment: z.string(),\n runId: z.string(),\n evaluationId: z.string().nullable().optional(),\n targetId: z.string(),\n suiteId: z.string(),\n suiteRevision: z.string().optional(),\n status: z.string(),\n version,\n fullSuite: z.boolean(),\n usage: z.enum([\n \"verified\",\n \"pending\",\n \"not-used\",\n \"mismatch\",\n \"context-differs\",\n ]),\n groupName: z.string().nullable(),\n createdAt: z.string(),\n companions: z.array(z.object({ key: PromptKeySchema, version })),\n});\nexport const PromptUsageSchema = z.object({\n eventId: z.string(),\n runId: z.string(),\n sessionId: z.string().nullable(),\n nodeId: z.string().nullable(),\n version: z.number().int(),\n hash: z.string().nullable(),\n source: z.string().nullable(),\n model: z.string().nullable(),\n environment: z.string(),\n occurredAt: z.string(),\n captured: z.boolean(),\n});\nexport const PromptDetailSchema = z.object({\n asset: PromptAssetSchema,\n versions: z.array(PromptStoredVersionSchema),\n versionsNextCursor: z.string().nullable().optional(),\n draft: PromptContentSchema.nullable(),\n draftBase: z.number().int().nullable(),\n draftRevision: revision,\n evidence: z.array(PromptEvidenceSchema),\n usage: z.array(PromptUsageSchema),\n activity: z.array(\n z.object({\n id: z.string(),\n action: z.string(),\n actor: z.string(),\n details: z.record(z.string(), z.unknown()),\n createdAt: z.string(),\n }),\n ),\n policies: z.array(PromptPolicySchema),\n reviews: z\n .array(\n z.object({\n version,\n hash: z.string(),\n independent: z.boolean(),\n reviewer: z.string(),\n note: z.string(),\n createdAt: z.string(),\n }),\n )\n .optional(),\n});\nexport const PromptMutationSchema = z.discriminatedUnion(\"action\", [\n z\n .object({\n action: z.literal(\"tag-set\"),\n id: z.uuid(),\n tag: PromptTagSchema.refine(\n (tag) => tag !== \"live\",\n \"Use promotion to update live.\",\n ),\n version,\n expectedRevision: revision,\n })\n .strict(),\n z\n .object({\n action: z.literal(\"tag-remove\"),\n id: z.uuid(),\n tag: PromptTagSchema.refine(\n (tag) => tag !== \"live\",\n \"The live tag cannot be removed manually.\",\n ),\n expectedRevision: revision,\n })\n .strict(),\n\n z\n .object({\n action: z.literal(\"bulk-update\"),\n assets: z\n .array(z.object({ id: z.uuid(), expectedRevision: revision }))\n .min(1)\n .max(100),\n categoryId: z.uuid().nullable().optional(),\n archived: z.boolean().optional(),\n })\n .strict()\n .refine(\n (value) => value.categoryId !== undefined || value.archived !== undefined,\n \"Choose a category or archive state.\",\n ),\n z\n .object({\n action: z.literal(\"create\"),\n key: PromptKeySchema,\n name,\n categoryId: z.uuid().nullable().default(null),\n content: PromptContentSchema,\n note: z.string().trim().max(2000).default(\"\"),\n idempotencyKey: z.uuid().optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"draft\"),\n id: z.uuid(),\n content: PromptContentSchema,\n baseVersion: version,\n expectedRevision: revision,\n })\n .strict(),\n z\n .object({\n action: z.literal(\"discard-draft\"),\n id: z.uuid(),\n expectedRevision: revision,\n })\n .strict(),\n z\n .object({\n action: z.literal(\"save\"),\n id: z.uuid(),\n content: PromptContentSchema,\n baseVersion: version,\n expectedHash: z.string().regex(/^[a-f0-9]{64}$/),\n expectedDraftRevision: revision.optional(),\n note: z.string().trim().max(2000).default(\"\"),\n idempotencyKey: z.uuid(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"update\"),\n id: z.uuid(),\n expectedRevision: revision,\n name: name.optional(),\n categoryId: z.uuid().nullable().optional(),\n archived: z.boolean().optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"category-create\"),\n path: z.string().trim().min(1).max(1000),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"category-update\"),\n id: z.uuid(),\n expectedRevision: revision,\n name: name.optional(),\n parentId: z.uuid().nullable().optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"category-delete\"),\n id: z.uuid(),\n expectedRevision: revision,\n destinationId: z.uuid().nullable(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"group-create\"),\n name,\n members: z\n .array(z.object({ promptId: z.uuid(), version }))\n .max(100)\n .optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"group-update\"),\n id: z.uuid(),\n expectedRevision: revision,\n name: name.optional(),\n members: z\n .array(z.object({ promptId: z.uuid(), version }))\n .max(100)\n .optional(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"group-delete\"),\n id: z.uuid(),\n expectedRevision: revision,\n })\n .strict(),\n z\n .object({\n action: z.literal(\"promote\"),\n id: z.uuid(),\n version,\n expectedRevision: revision,\n exceptionReason: z.string().trim().min(1).max(2000).optional(),\n rollback: z.boolean().default(false),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"review\"),\n id: z.uuid(),\n version,\n note: z.string().trim().min(1).max(2000),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"policy\"),\n id: z.uuid(),\n policy: PromptPolicySchema,\n })\n .strict(),\n]);\nexport type PromptLibrary = z.infer<typeof PromptLibrarySchema>;\nexport type PromptDetail = z.infer<typeof PromptDetailSchema>;\nexport type PromptMutation = z.input<typeof PromptMutationSchema>;\nexport type PromptCategory = z.infer<typeof PromptCategorySchema>;\nexport type PromptGroup = z.infer<typeof PromptGroupSchema>;\nexport type PromptEvidence = z.infer<typeof PromptEvidenceSchema>;\n\nexport const PromptSelectionSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"live\") }).strict(),\n z\n .object({\n type: z.literal(\"single\"),\n id: z.string().min(1),\n version: z.number().int().positive(),\n })\n .strict(),\n z.object({ type: z.literal(\"group\"), groupId: z.uuid() }).strict(),\n]);\nexport type PromptSelection = z.infer<typeof PromptSelectionSchema>;\nexport const PromptBundleSchema = z\n .object({\n schemaVersion: z.literal(1),\n origin: z\n .object({\n apiUrl: z.url().refine((value) => {\n const url = new URL(value);\n return (\n /^https?:$/.test(url.protocol) &&\n !url.username &&\n !url.password &&\n !url.search\n );\n }),\n projectId: z.string().min(1),\n })\n .strict(),\n prompts: z\n .array(\n z\n .object({\n key: PromptKeySchema,\n name,\n categoryPath: z.string().optional(),\n versions: z\n .array(PromptVersionSchema.extend({ note: z.string().max(2000) }))\n .min(1)\n .max(200),\n })\n .strict(),\n )\n .min(1)\n .max(200),\n groups: z\n .array(\n z\n .object({\n name,\n members: z\n .array(z.object({ key: PromptKeySchema, version }))\n .max(100),\n })\n .strict(),\n )\n .max(100)\n .default([]),\n })\n .strict();\nexport const PromptTransferRequestSchema = z\n .object({\n bundle: PromptBundleSchema,\n conflicts: z.enum([\"error\", \"append\"]).default(\"error\"),\n rename: z.record(PromptKeySchema, PromptKeySchema).default({}),\n categories: z.boolean().default(true),\n groups: z.boolean().default(false),\n })\n .strict();\nexport type PromptBundle = z.infer<typeof PromptBundleSchema>;\nexport type PromptTransferRequest = z.infer<typeof PromptTransferRequestSchema>;\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","import_zod","import_zod"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kortyx/telemetry-contracts",
3
- "version": "0.17.0",
3
+ "version": "0.17.1",
4
4
  "private": false,
5
5
  "description": "Shared wire contracts for Kortyx telemetry ingestion and Studio reads.",
6
6
  "license": "Apache-2.0",