@runtypelabs/sdk 5.6.0 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -708,6 +708,8 @@ interface paths {
708
708
  profileTemplate?: string;
709
709
  };
710
710
  model?: string;
711
+ /** @enum {string} */
712
+ piiRedaction?: "default" | "off" | "redact";
711
713
  presencePenalty?: number;
712
714
  reasoning?: boolean | {
713
715
  budgetTokens?: number;
@@ -732,7 +734,6 @@ interface paths {
732
734
  persistence?: "ephemeral" | "conversation" | "named";
733
735
  /** @enum {string} */
734
736
  provider?: "runtype-sandbox" | "daytona";
735
- requireApprovalForBash?: boolean;
736
737
  /** @enum {string} */
737
738
  sleepAfter?: "5m" | "15m" | "30m" | "1h";
738
739
  /** @enum {string} */
@@ -1110,6 +1111,8 @@ interface paths {
1110
1111
  profileTemplate?: string;
1111
1112
  };
1112
1113
  model?: string;
1114
+ /** @enum {string} */
1115
+ piiRedaction?: "default" | "off" | "redact";
1113
1116
  presencePenalty?: number;
1114
1117
  reasoning?: boolean | {
1115
1118
  budgetTokens?: number;
@@ -1134,7 +1137,6 @@ interface paths {
1134
1137
  persistence?: "ephemeral" | "conversation" | "named";
1135
1138
  /** @enum {string} */
1136
1139
  provider?: "runtype-sandbox" | "daytona";
1137
- requireApprovalForBash?: boolean;
1138
1140
  /** @enum {string} */
1139
1141
  sleepAfter?: "5m" | "15m" | "30m" | "1h";
1140
1142
  /** @enum {string} */
@@ -1784,6 +1786,8 @@ interface paths {
1784
1786
  profileTemplate?: string;
1785
1787
  };
1786
1788
  model?: string;
1789
+ /** @enum {string} */
1790
+ piiRedaction?: "default" | "off" | "redact";
1787
1791
  presencePenalty?: number;
1788
1792
  reasoning?: boolean | {
1789
1793
  budgetTokens?: number;
@@ -1808,7 +1812,6 @@ interface paths {
1808
1812
  persistence?: "ephemeral" | "conversation" | "named";
1809
1813
  /** @enum {string} */
1810
1814
  provider?: "runtype-sandbox" | "daytona";
1811
- requireApprovalForBash?: boolean;
1812
1815
  /** @enum {string} */
1813
1816
  sleepAfter?: "5m" | "15m" | "30m" | "1h";
1814
1817
  /** @enum {string} */
@@ -2472,7 +2475,7 @@ interface paths {
2472
2475
  put?: never;
2473
2476
  /**
2474
2477
  * Execute agent
2475
- * @description Execute an agent (Quick Agent mode) with a message array. Streams a Server-Sent Events response when streamResponse is true (default); otherwise returns a JSON result.
2478
+ * @description Execute an agent (Quick Agent mode) with a message array. Streams a Server-Sent Events response when streamResponse is true (default); otherwise returns a JSON result. Send the RFC 7240 `Prefer: respond-async` header to run a Claude Managed durable-lane turn (a saved agent invoked with a conversationId) fire-and-forget: the response is a 202 handle and the turn runs headlessly (reconnect via the executions events stream or poll the runs API).
2476
2479
  */
2477
2480
  post: {
2478
2481
  parameters: {
@@ -2500,6 +2503,15 @@ interface paths {
2500
2503
  "text/event-stream": unknown;
2501
2504
  };
2502
2505
  };
2506
+ /** @description Fire-and-forget handle for a Claude Managed durable-lane turn accepted via `Prefer: respond-async`. The turn runs headlessly; reconnect via the executions events stream or poll the runs API. Carries a `Preference-Applied: respond-async` header. */
2507
+ 202: {
2508
+ headers: {
2509
+ [name: string]: unknown;
2510
+ };
2511
+ content: {
2512
+ "application/json": components["schemas"]["AsyncDispatchHandle"];
2513
+ };
2514
+ };
2503
2515
  /** @description Invalid agent ID or request body */
2504
2516
  400: {
2505
2517
  headers: {
@@ -2776,6 +2788,107 @@ interface paths {
2776
2788
  patch?: never;
2777
2789
  trace?: never;
2778
2790
  };
2791
+ "/v1/agents/{id}/executions/{executionId}/events": {
2792
+ parameters: {
2793
+ query?: never;
2794
+ header?: never;
2795
+ path?: never;
2796
+ cookie?: never;
2797
+ };
2798
+ /**
2799
+ * Stream execution events
2800
+ * @description Reconnect to a durable Claude Managed agent turn: replay-and-tail its Server-Sent Events. Resolves the per-conversation session owner by (agentId, conversationId), replays buffered events strictly past the `after` cursor, then live-tails if the turn is still running. Each event carries an SSE `id:` line — a durable row seq, or (unified vocabulary) a composite `<seq>.<subIndex>` when one durable row translates to multiple events. Reconnect after a disconnect (tab reload, sleep, stream timeout) by passing the last seen id verbatim as `after` to resume without missing or duplicating events. The vocabulary follows the same negotiation as the execution stream (`?events=`, `X-Persona-Version`, then the default-sse-event-format flag).
2801
+ */
2802
+ get: {
2803
+ parameters: {
2804
+ query: {
2805
+ /** @description The conversation key that, with the agent id, resolves the durable session owner. */
2806
+ conversationId: string;
2807
+ /** @description Replay only events strictly past this cursor (the last seen SSE id, passed verbatim): a plain row seq, or the composite `<seq>.<subIndex>` a unified-vocabulary stream stamps on intermediate sub-frames. Defaults to 0 (replay the whole turn). */
2808
+ after?: string;
2809
+ };
2810
+ header?: never;
2811
+ path: {
2812
+ id: string;
2813
+ executionId: string;
2814
+ };
2815
+ cookie?: never;
2816
+ };
2817
+ requestBody?: never;
2818
+ responses: {
2819
+ /** @description Server-Sent Events stream (buffered replay followed by a live tail) */
2820
+ 200: {
2821
+ headers: {
2822
+ [name: string]: unknown;
2823
+ };
2824
+ content: {
2825
+ "text/event-stream": unknown;
2826
+ };
2827
+ };
2828
+ /** @description Invalid agent ID or missing conversationId */
2829
+ 400: {
2830
+ headers: {
2831
+ [name: string]: unknown;
2832
+ };
2833
+ content: {
2834
+ "application/json": components["schemas"]["Error"];
2835
+ };
2836
+ };
2837
+ /** @description Unauthorized */
2838
+ 401: {
2839
+ headers: {
2840
+ [name: string]: unknown;
2841
+ };
2842
+ content: {
2843
+ "application/json": components["schemas"]["Error"];
2844
+ };
2845
+ };
2846
+ /** @description Insufficient permissions */
2847
+ 403: {
2848
+ headers: {
2849
+ [name: string]: unknown;
2850
+ };
2851
+ content: {
2852
+ "application/json": components["schemas"]["Error"];
2853
+ };
2854
+ };
2855
+ /** @description Agent not found */
2856
+ 404: {
2857
+ headers: {
2858
+ [name: string]: unknown;
2859
+ };
2860
+ content: {
2861
+ "application/json": components["schemas"]["Error"];
2862
+ };
2863
+ };
2864
+ /** @description Internal server error */
2865
+ 500: {
2866
+ headers: {
2867
+ [name: string]: unknown;
2868
+ };
2869
+ content: {
2870
+ "application/json": components["schemas"]["Error"];
2871
+ };
2872
+ };
2873
+ /** @description Failed to attach to the execution stream */
2874
+ 502: {
2875
+ headers: {
2876
+ [name: string]: unknown;
2877
+ };
2878
+ content: {
2879
+ "application/json": components["schemas"]["Error"];
2880
+ };
2881
+ };
2882
+ };
2883
+ };
2884
+ put?: never;
2885
+ post?: never;
2886
+ delete?: never;
2887
+ options?: never;
2888
+ head?: never;
2889
+ patch?: never;
2890
+ trace?: never;
2891
+ };
2779
2892
  "/v1/agents/{id}/executions/{executionId}/tool-calls": {
2780
2893
  parameters: {
2781
2894
  query?: never;
@@ -3380,6 +3493,189 @@ interface paths {
3380
3493
  patch?: never;
3381
3494
  trace?: never;
3382
3495
  };
3496
+ "/v1/agents/{id}/runs": {
3497
+ parameters: {
3498
+ query?: never;
3499
+ header?: never;
3500
+ path?: never;
3501
+ cookie?: never;
3502
+ };
3503
+ /**
3504
+ * List managed agent runs
3505
+ * @description List the durable per-turn run summaries for a saved Claude Managed agent, newest first, optionally scoped to one conversation. Each row is written when a managed turn settles. Auth: agent ownership + AGENTS:READ (the same trust level as the events reconnect route).
3506
+ */
3507
+ get: {
3508
+ parameters: {
3509
+ query?: {
3510
+ /** @description Scope to a single conversation key. */
3511
+ conversationId?: string;
3512
+ /** @description Max rows to return (default 50, capped at 200). */
3513
+ limit?: number;
3514
+ };
3515
+ header?: never;
3516
+ path: {
3517
+ id: string;
3518
+ };
3519
+ cookie?: never;
3520
+ };
3521
+ requestBody?: never;
3522
+ responses: {
3523
+ /** @description The agent run summaries */
3524
+ 200: {
3525
+ headers: {
3526
+ [name: string]: unknown;
3527
+ };
3528
+ content: {
3529
+ "application/json": {
3530
+ runs: components["schemas"]["ManagedAgentRunSummary"][];
3531
+ };
3532
+ };
3533
+ };
3534
+ /** @description Invalid agent ID */
3535
+ 400: {
3536
+ headers: {
3537
+ [name: string]: unknown;
3538
+ };
3539
+ content: {
3540
+ "application/json": components["schemas"]["Error"];
3541
+ };
3542
+ };
3543
+ /** @description Unauthorized */
3544
+ 401: {
3545
+ headers: {
3546
+ [name: string]: unknown;
3547
+ };
3548
+ content: {
3549
+ "application/json": components["schemas"]["Error"];
3550
+ };
3551
+ };
3552
+ /** @description Insufficient permissions */
3553
+ 403: {
3554
+ headers: {
3555
+ [name: string]: unknown;
3556
+ };
3557
+ content: {
3558
+ "application/json": components["schemas"]["Error"];
3559
+ };
3560
+ };
3561
+ /** @description Agent not found */
3562
+ 404: {
3563
+ headers: {
3564
+ [name: string]: unknown;
3565
+ };
3566
+ content: {
3567
+ "application/json": components["schemas"]["Error"];
3568
+ };
3569
+ };
3570
+ /** @description Internal server error */
3571
+ 500: {
3572
+ headers: {
3573
+ [name: string]: unknown;
3574
+ };
3575
+ content: {
3576
+ "application/json": components["schemas"]["Error"];
3577
+ };
3578
+ };
3579
+ };
3580
+ };
3581
+ put?: never;
3582
+ post?: never;
3583
+ delete?: never;
3584
+ options?: never;
3585
+ head?: never;
3586
+ patch?: never;
3587
+ trace?: never;
3588
+ };
3589
+ "/v1/agents/{id}/runs/{runId}": {
3590
+ parameters: {
3591
+ query?: never;
3592
+ header?: never;
3593
+ path?: never;
3594
+ cookie?: never;
3595
+ };
3596
+ /**
3597
+ * Get a managed agent run
3598
+ * @description Fetch one durable run summary plus its deliverable pointers (the swept `/mnt/session/outputs/` files; the bytes live in asset storage). Auth: agent ownership + AGENTS:READ.
3599
+ */
3600
+ get: {
3601
+ parameters: {
3602
+ query?: never;
3603
+ header?: never;
3604
+ path: {
3605
+ id: string;
3606
+ runId: string;
3607
+ };
3608
+ cookie?: never;
3609
+ };
3610
+ requestBody?: never;
3611
+ responses: {
3612
+ /** @description The run summary and its deliverables */
3613
+ 200: {
3614
+ headers: {
3615
+ [name: string]: unknown;
3616
+ };
3617
+ content: {
3618
+ "application/json": {
3619
+ outputs: components["schemas"]["ManagedAgentRunOutput"][];
3620
+ run: components["schemas"]["ManagedAgentRunSummary"];
3621
+ };
3622
+ };
3623
+ };
3624
+ /** @description Invalid agent ID */
3625
+ 400: {
3626
+ headers: {
3627
+ [name: string]: unknown;
3628
+ };
3629
+ content: {
3630
+ "application/json": components["schemas"]["Error"];
3631
+ };
3632
+ };
3633
+ /** @description Unauthorized */
3634
+ 401: {
3635
+ headers: {
3636
+ [name: string]: unknown;
3637
+ };
3638
+ content: {
3639
+ "application/json": components["schemas"]["Error"];
3640
+ };
3641
+ };
3642
+ /** @description Insufficient permissions */
3643
+ 403: {
3644
+ headers: {
3645
+ [name: string]: unknown;
3646
+ };
3647
+ content: {
3648
+ "application/json": components["schemas"]["Error"];
3649
+ };
3650
+ };
3651
+ /** @description Agent or run not found */
3652
+ 404: {
3653
+ headers: {
3654
+ [name: string]: unknown;
3655
+ };
3656
+ content: {
3657
+ "application/json": components["schemas"]["Error"];
3658
+ };
3659
+ };
3660
+ /** @description Internal server error */
3661
+ 500: {
3662
+ headers: {
3663
+ [name: string]: unknown;
3664
+ };
3665
+ content: {
3666
+ "application/json": components["schemas"]["Error"];
3667
+ };
3668
+ };
3669
+ };
3670
+ };
3671
+ put?: never;
3672
+ post?: never;
3673
+ delete?: never;
3674
+ options?: never;
3675
+ head?: never;
3676
+ patch?: never;
3677
+ trace?: never;
3678
+ };
3383
3679
  "/v1/agents/{id}/voice": {
3384
3680
  parameters: {
3385
3681
  query?: never;
@@ -6512,6 +6808,11 @@ interface paths {
6512
6808
  untrustedContentHint?: boolean;
6513
6809
  }[];
6514
6810
  clientToolsFingerprint?: string;
6811
+ /** @description Customer-native auth proof for the Identity Exchange. When present and the surface has a matching integration, the verified tenant/end-user replace any body-asserted tenant/endUser (which are never trusted for web-embedded callers). Ignored until the Identity Exchange admission upgrade ships. */
6812
+ identityProof?: {
6813
+ provider: string;
6814
+ token: string;
6815
+ };
6515
6816
  inputs?: {
6516
6817
  [key: string]: unknown;
6517
6818
  };
@@ -8408,7 +8709,7 @@ interface paths {
8408
8709
  put?: never;
8409
8710
  /**
8410
8711
  * Execute a flow or agent
8411
- * @description Main dispatch endpoint for flow and agent execution with record resolution. Supports streaming via SSE or synchronous JSON responses.
8712
+ * @description Main dispatch endpoint for flow and agent execution with record resolution. Supports streaming via SSE or synchronous JSON responses. Send the RFC 7240 `Prefer: respond-async` header to run a Claude Managed durable-lane turn (a saved agent dispatched with a conversationId) fire-and-forget: the response is a 202 handle and the turn runs headlessly (reconnect via the executions events stream or poll the runs API).
8412
8713
  */
8413
8714
  post: {
8414
8715
  parameters: {
@@ -8434,6 +8735,15 @@ interface paths {
8434
8735
  "text/event-stream": unknown;
8435
8736
  };
8436
8737
  };
8738
+ /** @description Fire-and-forget handle for a Claude Managed durable-lane turn accepted via `Prefer: respond-async`. The turn runs headlessly; reconnect via the executions events stream or poll the runs API. Carries a `Preference-Applied: respond-async` header. */
8739
+ 202: {
8740
+ headers: {
8741
+ [name: string]: unknown;
8742
+ };
8743
+ content: {
8744
+ "application/json": components["schemas"]["AsyncDispatchHandle"];
8745
+ };
8746
+ };
8437
8747
  /** @description Validation error */
8438
8748
  400: {
8439
8749
  headers: {
@@ -8994,7 +9304,7 @@ interface paths {
8994
9304
  patch?: never;
8995
9305
  trace?: never;
8996
9306
  };
8997
- "/v1/eval/analyze-steps": {
9307
+ "/v1/end-user-integrations/{provider}/connect": {
8998
9308
  parameters: {
8999
9309
  query?: never;
9000
9310
  header?: never;
@@ -9004,234 +9314,50 @@ interface paths {
9004
9314
  get?: never;
9005
9315
  put?: never;
9006
9316
  /**
9007
- * Analyze step results
9008
- * @description Analyze step results for keyword/phrase occurrences across evals.
9317
+ * Begin end-user OAuth connection
9318
+ * @description Verifies the end user’s identity proof, projects a durable end-user identity, and returns the third-party authorize URL with a single-use state. Builder-authenticated; the end-user identity comes only from the verified proof.
9009
9319
  */
9010
9320
  post: {
9011
9321
  parameters: {
9012
9322
  query?: never;
9013
9323
  header?: never;
9014
- path?: never;
9015
- cookie?: never;
9016
- };
9017
- requestBody?: {
9018
- content: {
9019
- "application/json": {
9020
- caseSensitive?: boolean;
9021
- evalGroupId: string;
9022
- searchTerms: string[];
9023
- stepIds: string[];
9024
- };
9025
- };
9026
- };
9027
- responses: {
9028
- /** @description Analysis returned */
9029
- 200: {
9030
- headers: {
9031
- [name: string]: unknown;
9032
- };
9033
- content: {
9034
- "application/json": {
9035
- evalGroupId: string;
9036
- results: {
9037
- batchExecutionId: string;
9038
- evalConfig?: unknown;
9039
- evalName?: string;
9040
- termAnalysis: {
9041
- occurrenceRate: number;
9042
- stepsContainingTerm: number;
9043
- term: string;
9044
- totalOccurrences: number;
9045
- }[];
9046
- totalStepsAnalyzed: number;
9047
- }[];
9048
- searchTerms: string[];
9049
- stepIds: string[];
9050
- };
9051
- };
9052
- };
9053
- /** @description Invalid request */
9054
- 400: {
9055
- headers: {
9056
- [name: string]: unknown;
9057
- };
9058
- content: {
9059
- "application/json": components["schemas"]["Error"];
9060
- };
9061
- };
9062
- /** @description Unauthorized */
9063
- 401: {
9064
- headers: {
9065
- [name: string]: unknown;
9066
- };
9067
- content: {
9068
- "application/json": components["schemas"]["Error"];
9069
- };
9070
- };
9071
- /** @description Forbidden */
9072
- 403: {
9073
- headers: {
9074
- [name: string]: unknown;
9075
- };
9076
- content: {
9077
- "application/json": components["schemas"]["Error"];
9078
- };
9079
- };
9080
- /** @description Not found */
9081
- 404: {
9082
- headers: {
9083
- [name: string]: unknown;
9084
- };
9085
- content: {
9086
- "application/json": components["schemas"]["Error"];
9087
- };
9088
- };
9089
- /** @description Internal server error */
9090
- 500: {
9091
- headers: {
9092
- [name: string]: unknown;
9093
- };
9094
- content: {
9095
- "application/json": components["schemas"]["Error"];
9096
- };
9097
- };
9098
- };
9099
- };
9100
- delete?: never;
9101
- options?: never;
9102
- head?: never;
9103
- patch?: never;
9104
- trace?: never;
9105
- };
9106
- "/v1/eval/batches": {
9107
- parameters: {
9108
- query?: never;
9109
- header?: never;
9110
- path?: never;
9111
- cookie?: never;
9112
- };
9113
- /**
9114
- * List eval batches
9115
- * @description List all eval batches for the current user with optional filtering and pagination.
9116
- */
9117
- get: {
9118
- parameters: {
9119
- query?: {
9120
- /** @description Number of results (default 50, max 100) */
9121
- limit?: string;
9122
- /** @description Pagination offset */
9123
- offset?: string;
9124
- /** @description Filter by status (queued|processing|completed|failed) */
9125
- status?: string;
9126
- };
9127
- header?: never;
9128
- path?: never;
9129
- cookie?: never;
9130
- };
9131
- requestBody?: never;
9132
- responses: {
9133
- /** @description Eval batches returned */
9134
- 200: {
9135
- headers: {
9136
- [name: string]: unknown;
9137
- };
9138
- content: {
9139
- "application/json": {
9140
- batches: {
9141
- [key: string]: unknown;
9142
- }[];
9143
- count: number;
9144
- limit: number;
9145
- offset: number;
9146
- };
9147
- };
9148
- };
9149
- /** @description Unauthorized */
9150
- 401: {
9151
- headers: {
9152
- [name: string]: unknown;
9153
- };
9154
- content: {
9155
- "application/json": components["schemas"]["Error"];
9156
- };
9157
- };
9158
- /** @description Internal server error */
9159
- 500: {
9160
- headers: {
9161
- [name: string]: unknown;
9162
- };
9163
- content: {
9164
- "application/json": components["schemas"]["Error"];
9165
- };
9324
+ path: {
9325
+ /** @description OAuth connector provider slug, e.g. `github`. */
9326
+ provider: string;
9166
9327
  };
9167
- };
9168
- };
9169
- put?: never;
9170
- post?: never;
9171
- delete?: never;
9172
- options?: never;
9173
- head?: never;
9174
- patch?: never;
9175
- trace?: never;
9176
- };
9177
- "/v1/eval/compare": {
9178
- parameters: {
9179
- query?: never;
9180
- header?: never;
9181
- path?: never;
9182
- cookie?: never;
9183
- };
9184
- get?: never;
9185
- put?: never;
9186
- /**
9187
- * Compare evals
9188
- * @description Compare aggregate metrics across eval batches in a group.
9189
- */
9190
- post: {
9191
- parameters: {
9192
- query?: never;
9193
- header?: never;
9194
- path?: never;
9195
9328
  cookie?: never;
9196
9329
  };
9197
9330
  requestBody?: {
9198
9331
  content: {
9199
9332
  "application/json": {
9200
- evalGroupId: string;
9201
- stepIds?: string[];
9333
+ /** @description The end user's customer-native Identity-Exchange proof (a JWT). Verified server-side against the builder’s configured identity integrations; the verified subject becomes the end-user identity. Never a body-asserted id. */
9334
+ identityProof: string;
9335
+ /**
9336
+ * Format: uri
9337
+ * @description Where to redirect the end user after the OAuth callback completes. Must be a safe http(s)/app-scheme URL (open-redirect schemes are rejected).
9338
+ */
9339
+ redirectAfter?: string;
9202
9340
  };
9203
9341
  };
9204
9342
  };
9205
9343
  responses: {
9206
- /** @description Comparison returned */
9344
+ /** @description Authorize URL issued */
9207
9345
  200: {
9208
9346
  headers: {
9209
9347
  [name: string]: unknown;
9210
9348
  };
9211
9349
  content: {
9212
9350
  "application/json": {
9213
- evalGroupId: string;
9214
- evals: {
9215
- batchExecutionId: string;
9216
- evalConfig?: unknown;
9217
- evalName?: string;
9218
- metrics: {
9219
- avgCostPerRecord: number;
9220
- avgDurationPerRecord: number;
9221
- failedSteps: number;
9222
- successRate: number;
9223
- successfulSteps: number;
9224
- totalCompletionTokens: number;
9225
- totalCost: number;
9226
- totalDurationMs: number;
9227
- totalPromptTokens: number;
9228
- totalSteps: number;
9229
- };
9230
- }[];
9351
+ /** @description Redirect the end user here to authorize the third-party account. */
9352
+ authorizeUrl: string;
9353
+ /** @description The durable end-user id (eu_*) the token will scope to. */
9354
+ endUserId: string;
9355
+ /** @description Opaque single-use CSRF token (bound in KV). */
9356
+ state: string;
9231
9357
  };
9232
9358
  };
9233
9359
  };
9234
- /** @description Invalid request */
9360
+ /** @description Invalid request body or redirect */
9235
9361
  400: {
9236
9362
  headers: {
9237
9363
  [name: string]: unknown;
@@ -9240,7 +9366,7 @@ interface paths {
9240
9366
  "application/json": components["schemas"]["Error"];
9241
9367
  };
9242
9368
  };
9243
- /** @description Unauthorized */
9369
+ /** @description Unauthorized, or identity proof verification failed */
9244
9370
  401: {
9245
9371
  headers: {
9246
9372
  [name: string]: unknown;
@@ -9249,7 +9375,7 @@ interface paths {
9249
9375
  "application/json": components["schemas"]["Error"];
9250
9376
  };
9251
9377
  };
9252
- /** @description Forbidden */
9378
+ /** @description Forbidden, or the proof did not reach verified end-user assurance */
9253
9379
  403: {
9254
9380
  headers: {
9255
9381
  [name: string]: unknown;
@@ -9258,7 +9384,7 @@ interface paths {
9258
9384
  "application/json": components["schemas"]["Error"];
9259
9385
  };
9260
9386
  };
9261
- /** @description Not found */
9387
+ /** @description Unknown connector provider */
9262
9388
  404: {
9263
9389
  headers: {
9264
9390
  [name: string]: unknown;
@@ -9267,8 +9393,8 @@ interface paths {
9267
9393
  "application/json": components["schemas"]["Error"];
9268
9394
  };
9269
9395
  };
9270
- /** @description Internal server error */
9271
- 500: {
9396
+ /** @description Connector is not configured on this deployment */
9397
+ 501: {
9272
9398
  headers: {
9273
9399
  [name: string]: unknown;
9274
9400
  };
@@ -9284,7 +9410,7 @@ interface paths {
9284
9410
  patch?: never;
9285
9411
  trace?: never;
9286
9412
  };
9287
- "/v1/eval/compare-record": {
9413
+ "/v1/eval/analyze-steps": {
9288
9414
  parameters: {
9289
9415
  query?: never;
9290
9416
  header?: never;
@@ -9294,8 +9420,8 @@ interface paths {
9294
9420
  get?: never;
9295
9421
  put?: never;
9296
9422
  /**
9297
- * Compare record across evals
9298
- * @description Compare results for a specific record across eval batches in a group.
9423
+ * Analyze step results
9424
+ * @description Analyze step results for keyword/phrase occurrences across evals.
9299
9425
  */
9300
9426
  post: {
9301
9427
  parameters: {
@@ -9307,14 +9433,15 @@ interface paths {
9307
9433
  requestBody?: {
9308
9434
  content: {
9309
9435
  "application/json": {
9436
+ caseSensitive?: boolean;
9310
9437
  evalGroupId: string;
9311
- recordId: string;
9312
- stepIds?: string[];
9438
+ searchTerms: string[];
9439
+ stepIds: string[];
9313
9440
  };
9314
9441
  };
9315
9442
  };
9316
9443
  responses: {
9317
- /** @description Record comparison returned */
9444
+ /** @description Analysis returned */
9318
9445
  200: {
9319
9446
  headers: {
9320
9447
  [name: string]: unknown;
@@ -9322,27 +9449,318 @@ interface paths {
9322
9449
  content: {
9323
9450
  "application/json": {
9324
9451
  evalGroupId: string;
9325
- evals: {
9452
+ results: {
9326
9453
  batchExecutionId: string;
9327
9454
  evalConfig?: unknown;
9328
9455
  evalName?: string;
9329
- stepResults: {
9330
- completionTokens: number | null;
9331
- durationMs: number | null;
9332
- error?: string;
9333
- executedAt: string;
9334
- modelUsed: string | null;
9335
- output: string | null;
9336
- promptTokens: number | null;
9337
- stepId: string;
9338
- stepName: string | null;
9339
- stepResultId: string;
9340
- stepType: string;
9341
- toolCalls: unknown[];
9342
- totalCost: number | null;
9456
+ termAnalysis: {
9457
+ occurrenceRate: number;
9458
+ stepsContainingTerm: number;
9459
+ term: string;
9460
+ totalOccurrences: number;
9343
9461
  }[];
9462
+ totalStepsAnalyzed: number;
9344
9463
  }[];
9345
- recordId: string;
9464
+ searchTerms: string[];
9465
+ stepIds: string[];
9466
+ };
9467
+ };
9468
+ };
9469
+ /** @description Invalid request */
9470
+ 400: {
9471
+ headers: {
9472
+ [name: string]: unknown;
9473
+ };
9474
+ content: {
9475
+ "application/json": components["schemas"]["Error"];
9476
+ };
9477
+ };
9478
+ /** @description Unauthorized */
9479
+ 401: {
9480
+ headers: {
9481
+ [name: string]: unknown;
9482
+ };
9483
+ content: {
9484
+ "application/json": components["schemas"]["Error"];
9485
+ };
9486
+ };
9487
+ /** @description Forbidden */
9488
+ 403: {
9489
+ headers: {
9490
+ [name: string]: unknown;
9491
+ };
9492
+ content: {
9493
+ "application/json": components["schemas"]["Error"];
9494
+ };
9495
+ };
9496
+ /** @description Not found */
9497
+ 404: {
9498
+ headers: {
9499
+ [name: string]: unknown;
9500
+ };
9501
+ content: {
9502
+ "application/json": components["schemas"]["Error"];
9503
+ };
9504
+ };
9505
+ /** @description Internal server error */
9506
+ 500: {
9507
+ headers: {
9508
+ [name: string]: unknown;
9509
+ };
9510
+ content: {
9511
+ "application/json": components["schemas"]["Error"];
9512
+ };
9513
+ };
9514
+ };
9515
+ };
9516
+ delete?: never;
9517
+ options?: never;
9518
+ head?: never;
9519
+ patch?: never;
9520
+ trace?: never;
9521
+ };
9522
+ "/v1/eval/batches": {
9523
+ parameters: {
9524
+ query?: never;
9525
+ header?: never;
9526
+ path?: never;
9527
+ cookie?: never;
9528
+ };
9529
+ /**
9530
+ * List eval batches
9531
+ * @description List all eval batches for the current user with optional filtering and pagination.
9532
+ */
9533
+ get: {
9534
+ parameters: {
9535
+ query?: {
9536
+ /** @description Number of results (default 50, max 100) */
9537
+ limit?: string;
9538
+ /** @description Pagination offset */
9539
+ offset?: string;
9540
+ /** @description Filter by status (queued|processing|completed|failed) */
9541
+ status?: string;
9542
+ /** @description Filter by run origin: "suite" = runs linked to an eval suite (CI gates, suite Run button); "adhoc" = suite-less runs (ad-hoc config comparisons, legacy evals). */
9543
+ origin?: "suite" | "adhoc";
9544
+ };
9545
+ header?: never;
9546
+ path?: never;
9547
+ cookie?: never;
9548
+ };
9549
+ requestBody?: never;
9550
+ responses: {
9551
+ /** @description Eval batches returned */
9552
+ 200: {
9553
+ headers: {
9554
+ [name: string]: unknown;
9555
+ };
9556
+ content: {
9557
+ "application/json": {
9558
+ batches: {
9559
+ [key: string]: unknown;
9560
+ }[];
9561
+ count: number;
9562
+ limit: number;
9563
+ offset: number;
9564
+ };
9565
+ };
9566
+ };
9567
+ /** @description Unauthorized */
9568
+ 401: {
9569
+ headers: {
9570
+ [name: string]: unknown;
9571
+ };
9572
+ content: {
9573
+ "application/json": components["schemas"]["Error"];
9574
+ };
9575
+ };
9576
+ /** @description Internal server error */
9577
+ 500: {
9578
+ headers: {
9579
+ [name: string]: unknown;
9580
+ };
9581
+ content: {
9582
+ "application/json": components["schemas"]["Error"];
9583
+ };
9584
+ };
9585
+ };
9586
+ };
9587
+ put?: never;
9588
+ post?: never;
9589
+ delete?: never;
9590
+ options?: never;
9591
+ head?: never;
9592
+ patch?: never;
9593
+ trace?: never;
9594
+ };
9595
+ "/v1/eval/compare": {
9596
+ parameters: {
9597
+ query?: never;
9598
+ header?: never;
9599
+ path?: never;
9600
+ cookie?: never;
9601
+ };
9602
+ get?: never;
9603
+ put?: never;
9604
+ /**
9605
+ * Compare evals
9606
+ * @description Compare aggregate metrics across eval batches in a group.
9607
+ */
9608
+ post: {
9609
+ parameters: {
9610
+ query?: never;
9611
+ header?: never;
9612
+ path?: never;
9613
+ cookie?: never;
9614
+ };
9615
+ requestBody?: {
9616
+ content: {
9617
+ "application/json": {
9618
+ evalGroupId: string;
9619
+ stepIds?: string[];
9620
+ };
9621
+ };
9622
+ };
9623
+ responses: {
9624
+ /** @description Comparison returned */
9625
+ 200: {
9626
+ headers: {
9627
+ [name: string]: unknown;
9628
+ };
9629
+ content: {
9630
+ "application/json": {
9631
+ evalGroupId: string;
9632
+ evals: {
9633
+ batchExecutionId: string;
9634
+ evalConfig?: unknown;
9635
+ evalName?: string;
9636
+ metrics: {
9637
+ avgCostPerRecord: number;
9638
+ avgDurationPerRecord: number;
9639
+ failedSteps: number;
9640
+ successRate: number;
9641
+ successfulSteps: number;
9642
+ totalCompletionTokens: number;
9643
+ totalCost: number;
9644
+ totalDurationMs: number;
9645
+ totalPromptTokens: number;
9646
+ totalSteps: number;
9647
+ };
9648
+ }[];
9649
+ };
9650
+ };
9651
+ };
9652
+ /** @description Invalid request */
9653
+ 400: {
9654
+ headers: {
9655
+ [name: string]: unknown;
9656
+ };
9657
+ content: {
9658
+ "application/json": components["schemas"]["Error"];
9659
+ };
9660
+ };
9661
+ /** @description Unauthorized */
9662
+ 401: {
9663
+ headers: {
9664
+ [name: string]: unknown;
9665
+ };
9666
+ content: {
9667
+ "application/json": components["schemas"]["Error"];
9668
+ };
9669
+ };
9670
+ /** @description Forbidden */
9671
+ 403: {
9672
+ headers: {
9673
+ [name: string]: unknown;
9674
+ };
9675
+ content: {
9676
+ "application/json": components["schemas"]["Error"];
9677
+ };
9678
+ };
9679
+ /** @description Not found */
9680
+ 404: {
9681
+ headers: {
9682
+ [name: string]: unknown;
9683
+ };
9684
+ content: {
9685
+ "application/json": components["schemas"]["Error"];
9686
+ };
9687
+ };
9688
+ /** @description Internal server error */
9689
+ 500: {
9690
+ headers: {
9691
+ [name: string]: unknown;
9692
+ };
9693
+ content: {
9694
+ "application/json": components["schemas"]["Error"];
9695
+ };
9696
+ };
9697
+ };
9698
+ };
9699
+ delete?: never;
9700
+ options?: never;
9701
+ head?: never;
9702
+ patch?: never;
9703
+ trace?: never;
9704
+ };
9705
+ "/v1/eval/compare-record": {
9706
+ parameters: {
9707
+ query?: never;
9708
+ header?: never;
9709
+ path?: never;
9710
+ cookie?: never;
9711
+ };
9712
+ get?: never;
9713
+ put?: never;
9714
+ /**
9715
+ * Compare record across evals
9716
+ * @description Compare results for a specific record across eval batches in a group.
9717
+ */
9718
+ post: {
9719
+ parameters: {
9720
+ query?: never;
9721
+ header?: never;
9722
+ path?: never;
9723
+ cookie?: never;
9724
+ };
9725
+ requestBody?: {
9726
+ content: {
9727
+ "application/json": {
9728
+ evalGroupId: string;
9729
+ recordId: string;
9730
+ stepIds?: string[];
9731
+ };
9732
+ };
9733
+ };
9734
+ responses: {
9735
+ /** @description Record comparison returned */
9736
+ 200: {
9737
+ headers: {
9738
+ [name: string]: unknown;
9739
+ };
9740
+ content: {
9741
+ "application/json": {
9742
+ evalGroupId: string;
9743
+ evals: {
9744
+ batchExecutionId: string;
9745
+ evalConfig?: unknown;
9746
+ evalName?: string;
9747
+ stepResults: {
9748
+ completionTokens: number | null;
9749
+ durationMs: number | null;
9750
+ error?: string;
9751
+ executedAt: string;
9752
+ modelUsed: string | null;
9753
+ output: string | null;
9754
+ promptTokens: number | null;
9755
+ stepId: string;
9756
+ stepName: string | null;
9757
+ stepResultId: string;
9758
+ stepType: string;
9759
+ toolCalls: unknown[];
9760
+ totalCost: number | null;
9761
+ }[];
9762
+ }[];
9763
+ recordId: string;
9346
9764
  };
9347
9765
  };
9348
9766
  };
@@ -9684,7 +10102,7 @@ interface paths {
9684
10102
  put?: never;
9685
10103
  /**
9686
10104
  * Run eval suite synchronously
9687
- * @description Run every case of an eval suite against its target flow/agent and grade the outputs with the suite graders, returning the suite score + per-case gate outcomes in one response. Powers the `runtype eval` CI gate. Synchronous and ephemeral: no batch is created and no scores are persisted (use /eval/submit for a durable, dashboard-visible run). Bounded — suites over the case limit must use the batch path. Flow and standard-agent targets are supported (in both saved and inline/virtual modes); external and claude_managed agent targets are not.
10105
+ * @description Run every case of an eval suite against its target flow/agent and grade the outputs with the suite graders, returning the suite score + per-case gate outcomes in one response. Powers the `runtype eval` CI gate. Saved-suite runs persist by default: the run gets a durable id (`runId`) and per-case scores queryable via GET /eval/runs/{runId}/scores; pass `virtual: true` to skip persistence. Inline definition runs are always ephemeral. Bounded — suites over the case limit must use the batch path (/eval/submit). Flow and standard-agent targets are supported (in both saved and inline/virtual modes); external and claude_managed agent targets are not.
9688
10106
  */
9689
10107
  post: {
9690
10108
  parameters: {
@@ -9730,6 +10148,8 @@ interface paths {
9730
10148
  /** @description Strict mode (the `runtype eval --strict` gate): a soft grader miss fails its case like a gate miss. Default false — soft misses are reported per-outcome but do not fail the suite. */
9731
10149
  strict?: boolean;
9732
10150
  suiteId?: string;
10151
+ /** @description Skip persistence for a saved-suite run: no run row, no persisted scores. Saved-suite runs persist by default; inline definition runs are always ephemeral regardless of this flag. */
10152
+ virtual?: boolean;
9733
10153
  };
9734
10154
  };
9735
10155
  };
@@ -9805,6 +10225,83 @@ interface paths {
9805
10225
  patch?: never;
9806
10226
  trace?: never;
9807
10227
  };
10228
+ "/v1/eval/runs/{batchId}/scores": {
10229
+ parameters: {
10230
+ query?: never;
10231
+ header?: never;
10232
+ path?: never;
10233
+ cookie?: never;
10234
+ };
10235
+ /**
10236
+ * Get persisted grader scores for an eval run
10237
+ * @description Return the persisted per-case grader scores for a run (a `batchExecutions` row) — the read side of eval score persistence. Grader outcomes use the same shape as the synchronous POST /eval/run response, so live and historical results render identically. Runs land here from persisted saved-suite runs (POST /eval/run) and completed suite-linked batch runs. Returns an empty case list for a run with no persisted scores (ephemeral/virtual runs, ad-hoc comparisons, legacy evals).
10238
+ */
10239
+ get: {
10240
+ parameters: {
10241
+ query?: never;
10242
+ header?: never;
10243
+ path: {
10244
+ batchId: string;
10245
+ };
10246
+ cookie?: never;
10247
+ };
10248
+ requestBody?: never;
10249
+ responses: {
10250
+ /** @description Per-case grader scores for the run */
10251
+ 200: {
10252
+ headers: {
10253
+ [name: string]: unknown;
10254
+ };
10255
+ content: {
10256
+ "application/json": components["schemas"]["EvalRunScoresResponse"];
10257
+ };
10258
+ };
10259
+ /** @description Unauthorized */
10260
+ 401: {
10261
+ headers: {
10262
+ [name: string]: unknown;
10263
+ };
10264
+ content: {
10265
+ "application/json": components["schemas"]["Error"];
10266
+ };
10267
+ };
10268
+ /** @description Forbidden */
10269
+ 403: {
10270
+ headers: {
10271
+ [name: string]: unknown;
10272
+ };
10273
+ content: {
10274
+ "application/json": components["schemas"]["Error"];
10275
+ };
10276
+ };
10277
+ /** @description Run not found in this account scope */
10278
+ 404: {
10279
+ headers: {
10280
+ [name: string]: unknown;
10281
+ };
10282
+ content: {
10283
+ "application/json": components["schemas"]["Error"];
10284
+ };
10285
+ };
10286
+ /** @description Internal server error */
10287
+ 500: {
10288
+ headers: {
10289
+ [name: string]: unknown;
10290
+ };
10291
+ content: {
10292
+ "application/json": components["schemas"]["Error"];
10293
+ };
10294
+ };
10295
+ };
10296
+ };
10297
+ put?: never;
10298
+ post?: never;
10299
+ delete?: never;
10300
+ options?: never;
10301
+ head?: never;
10302
+ patch?: never;
10303
+ trace?: never;
10304
+ };
9808
10305
  "/v1/eval/stream": {
9809
10306
  parameters: {
9810
10307
  query?: never;
@@ -9998,6 +10495,823 @@ interface paths {
9998
10495
  patch?: never;
9999
10496
  trace?: never;
10000
10497
  };
10498
+ "/v1/eval/suites": {
10499
+ parameters: {
10500
+ query?: never;
10501
+ header?: never;
10502
+ path?: never;
10503
+ cookie?: never;
10504
+ };
10505
+ /**
10506
+ * List eval suites
10507
+ * @description List eval suites in the account scope with case counts and each suite’s latest run + score. Filter by target with flowId/agentId.
10508
+ */
10509
+ get: {
10510
+ parameters: {
10511
+ query?: {
10512
+ /** @description Filter to suites targeting this flow */
10513
+ flowId?: string;
10514
+ /** @description Filter to suites targeting this agent */
10515
+ agentId?: string;
10516
+ /** @description Number of results (default 50, max 100) */
10517
+ limit?: string;
10518
+ /** @description Pagination offset */
10519
+ offset?: string;
10520
+ };
10521
+ header?: never;
10522
+ path?: never;
10523
+ cookie?: never;
10524
+ };
10525
+ requestBody?: never;
10526
+ responses: {
10527
+ /** @description Eval suites returned */
10528
+ 200: {
10529
+ headers: {
10530
+ [name: string]: unknown;
10531
+ };
10532
+ content: {
10533
+ "application/json": components["schemas"]["EvalSuiteListResponse"];
10534
+ };
10535
+ };
10536
+ /** @description Invalid request */
10537
+ 400: {
10538
+ headers: {
10539
+ [name: string]: unknown;
10540
+ };
10541
+ content: {
10542
+ "application/json": components["schemas"]["Error"];
10543
+ };
10544
+ };
10545
+ /** @description Unauthorized */
10546
+ 401: {
10547
+ headers: {
10548
+ [name: string]: unknown;
10549
+ };
10550
+ content: {
10551
+ "application/json": components["schemas"]["Error"];
10552
+ };
10553
+ };
10554
+ /** @description Forbidden */
10555
+ 403: {
10556
+ headers: {
10557
+ [name: string]: unknown;
10558
+ };
10559
+ content: {
10560
+ "application/json": components["schemas"]["Error"];
10561
+ };
10562
+ };
10563
+ /** @description Internal server error */
10564
+ 500: {
10565
+ headers: {
10566
+ [name: string]: unknown;
10567
+ };
10568
+ content: {
10569
+ "application/json": components["schemas"]["Error"];
10570
+ };
10571
+ };
10572
+ };
10573
+ };
10574
+ put?: never;
10575
+ /**
10576
+ * Create eval suite
10577
+ * @description Create an eval suite (named test cases + graders) attached to one flow or agent, optionally with initial cases. Suites created here are dashboard/API-managed; config-as-code suites converge via POST /eval/ensure instead.
10578
+ */
10579
+ post: {
10580
+ parameters: {
10581
+ query?: never;
10582
+ header?: never;
10583
+ path?: never;
10584
+ cookie?: never;
10585
+ };
10586
+ requestBody?: {
10587
+ content: {
10588
+ "application/json": {
10589
+ agentId?: string;
10590
+ cases?: {
10591
+ enabled?: boolean;
10592
+ expected?: {
10593
+ facts?: string[];
10594
+ json?: unknown;
10595
+ text?: string;
10596
+ };
10597
+ /** @default {} */
10598
+ input?: {
10599
+ messages?: {
10600
+ content: string;
10601
+ role: string;
10602
+ }[];
10603
+ variables?: {
10604
+ [key: string]: unknown;
10605
+ };
10606
+ };
10607
+ name: string;
10608
+ notes?: string;
10609
+ }[];
10610
+ description?: string;
10611
+ flowId?: string;
10612
+ /**
10613
+ * @description Ordered grader configs applied to every case (suite-level graders).
10614
+ * @default []
10615
+ */
10616
+ graders?: ({
10617
+ kind: string;
10618
+ } & {
10619
+ [key: string]: unknown;
10620
+ })[];
10621
+ /** @description Make this the default eval for its target (clears the flag on any other suite for the same target). */
10622
+ isDefault?: boolean;
10623
+ name: string;
10624
+ };
10625
+ };
10626
+ };
10627
+ responses: {
10628
+ /** @description Suite created */
10629
+ 201: {
10630
+ headers: {
10631
+ [name: string]: unknown;
10632
+ };
10633
+ content: {
10634
+ "application/json": components["schemas"]["EvalSuiteDetail"];
10635
+ };
10636
+ };
10637
+ /** @description Invalid request */
10638
+ 400: {
10639
+ headers: {
10640
+ [name: string]: unknown;
10641
+ };
10642
+ content: {
10643
+ "application/json": components["schemas"]["Error"];
10644
+ };
10645
+ };
10646
+ /** @description Unauthorized */
10647
+ 401: {
10648
+ headers: {
10649
+ [name: string]: unknown;
10650
+ };
10651
+ content: {
10652
+ "application/json": components["schemas"]["Error"];
10653
+ };
10654
+ };
10655
+ /** @description Forbidden */
10656
+ 403: {
10657
+ headers: {
10658
+ [name: string]: unknown;
10659
+ };
10660
+ content: {
10661
+ "application/json": components["schemas"]["Error"];
10662
+ };
10663
+ };
10664
+ /** @description Not found */
10665
+ 404: {
10666
+ headers: {
10667
+ [name: string]: unknown;
10668
+ };
10669
+ content: {
10670
+ "application/json": components["schemas"]["Error"];
10671
+ };
10672
+ };
10673
+ /** @description Internal server error */
10674
+ 500: {
10675
+ headers: {
10676
+ [name: string]: unknown;
10677
+ };
10678
+ content: {
10679
+ "application/json": components["schemas"]["Error"];
10680
+ };
10681
+ };
10682
+ };
10683
+ };
10684
+ delete?: never;
10685
+ options?: never;
10686
+ head?: never;
10687
+ patch?: never;
10688
+ trace?: never;
10689
+ };
10690
+ "/v1/eval/suites/{id}": {
10691
+ parameters: {
10692
+ query?: never;
10693
+ header?: never;
10694
+ path?: never;
10695
+ cookie?: never;
10696
+ };
10697
+ /**
10698
+ * Get eval suite
10699
+ * @description Get an eval suite including its cases and latest run + score.
10700
+ */
10701
+ get: {
10702
+ parameters: {
10703
+ query?: never;
10704
+ header?: never;
10705
+ path: {
10706
+ id: string;
10707
+ };
10708
+ cookie?: never;
10709
+ };
10710
+ requestBody?: never;
10711
+ responses: {
10712
+ /** @description Eval suite returned */
10713
+ 200: {
10714
+ headers: {
10715
+ [name: string]: unknown;
10716
+ };
10717
+ content: {
10718
+ "application/json": components["schemas"]["EvalSuiteDetail"];
10719
+ };
10720
+ };
10721
+ /** @description Unauthorized */
10722
+ 401: {
10723
+ headers: {
10724
+ [name: string]: unknown;
10725
+ };
10726
+ content: {
10727
+ "application/json": components["schemas"]["Error"];
10728
+ };
10729
+ };
10730
+ /** @description Forbidden */
10731
+ 403: {
10732
+ headers: {
10733
+ [name: string]: unknown;
10734
+ };
10735
+ content: {
10736
+ "application/json": components["schemas"]["Error"];
10737
+ };
10738
+ };
10739
+ /** @description Not found */
10740
+ 404: {
10741
+ headers: {
10742
+ [name: string]: unknown;
10743
+ };
10744
+ content: {
10745
+ "application/json": components["schemas"]["Error"];
10746
+ };
10747
+ };
10748
+ /** @description Internal server error */
10749
+ 500: {
10750
+ headers: {
10751
+ [name: string]: unknown;
10752
+ };
10753
+ content: {
10754
+ "application/json": components["schemas"]["Error"];
10755
+ };
10756
+ };
10757
+ };
10758
+ };
10759
+ put?: never;
10760
+ post?: never;
10761
+ /**
10762
+ * Delete eval suite
10763
+ * @description Delete an eval suite and its cases. Past runs and their persisted scores survive (scores keep the case name snapshot).
10764
+ */
10765
+ delete: {
10766
+ parameters: {
10767
+ query?: never;
10768
+ header?: never;
10769
+ path: {
10770
+ id: string;
10771
+ };
10772
+ cookie?: never;
10773
+ };
10774
+ requestBody?: never;
10775
+ responses: {
10776
+ /** @description Suite deleted */
10777
+ 200: {
10778
+ headers: {
10779
+ [name: string]: unknown;
10780
+ };
10781
+ content: {
10782
+ "application/json": {
10783
+ success: boolean;
10784
+ };
10785
+ };
10786
+ };
10787
+ /** @description Unauthorized */
10788
+ 401: {
10789
+ headers: {
10790
+ [name: string]: unknown;
10791
+ };
10792
+ content: {
10793
+ "application/json": components["schemas"]["Error"];
10794
+ };
10795
+ };
10796
+ /** @description Forbidden */
10797
+ 403: {
10798
+ headers: {
10799
+ [name: string]: unknown;
10800
+ };
10801
+ content: {
10802
+ "application/json": components["schemas"]["Error"];
10803
+ };
10804
+ };
10805
+ /** @description Not found */
10806
+ 404: {
10807
+ headers: {
10808
+ [name: string]: unknown;
10809
+ };
10810
+ content: {
10811
+ "application/json": components["schemas"]["Error"];
10812
+ };
10813
+ };
10814
+ /** @description Internal server error */
10815
+ 500: {
10816
+ headers: {
10817
+ [name: string]: unknown;
10818
+ };
10819
+ content: {
10820
+ "application/json": components["schemas"]["Error"];
10821
+ };
10822
+ };
10823
+ };
10824
+ };
10825
+ options?: never;
10826
+ head?: never;
10827
+ /**
10828
+ * Update eval suite
10829
+ * @description Update a suite’s Definition (name, description, graders) or state (default flag, baseline run pin). The target is immutable — create a new suite to evaluate a different flow/agent. Definition edits stamp provenance; a graders change invalidates the config-as-code content hash so the next ensure re-converges.
10830
+ */
10831
+ patch: {
10832
+ parameters: {
10833
+ query?: never;
10834
+ header?: never;
10835
+ path: {
10836
+ id: string;
10837
+ };
10838
+ cookie?: never;
10839
+ };
10840
+ requestBody?: {
10841
+ content: {
10842
+ "application/json": {
10843
+ /** @description Pin a run of this suite as the comparison baseline; null clears the pin. */
10844
+ baselineBatchExecutionId?: string | null;
10845
+ description?: string | null;
10846
+ graders?: ({
10847
+ kind: string;
10848
+ } & {
10849
+ [key: string]: unknown;
10850
+ })[];
10851
+ isDefault?: boolean;
10852
+ name?: string;
10853
+ };
10854
+ };
10855
+ };
10856
+ responses: {
10857
+ /** @description Suite updated */
10858
+ 200: {
10859
+ headers: {
10860
+ [name: string]: unknown;
10861
+ };
10862
+ content: {
10863
+ "application/json": components["schemas"]["EvalSuiteSummary"];
10864
+ };
10865
+ };
10866
+ /** @description Invalid request */
10867
+ 400: {
10868
+ headers: {
10869
+ [name: string]: unknown;
10870
+ };
10871
+ content: {
10872
+ "application/json": components["schemas"]["Error"];
10873
+ };
10874
+ };
10875
+ /** @description Unauthorized */
10876
+ 401: {
10877
+ headers: {
10878
+ [name: string]: unknown;
10879
+ };
10880
+ content: {
10881
+ "application/json": components["schemas"]["Error"];
10882
+ };
10883
+ };
10884
+ /** @description Forbidden */
10885
+ 403: {
10886
+ headers: {
10887
+ [name: string]: unknown;
10888
+ };
10889
+ content: {
10890
+ "application/json": components["schemas"]["Error"];
10891
+ };
10892
+ };
10893
+ /** @description Not found */
10894
+ 404: {
10895
+ headers: {
10896
+ [name: string]: unknown;
10897
+ };
10898
+ content: {
10899
+ "application/json": components["schemas"]["Error"];
10900
+ };
10901
+ };
10902
+ /** @description Internal server error */
10903
+ 500: {
10904
+ headers: {
10905
+ [name: string]: unknown;
10906
+ };
10907
+ content: {
10908
+ "application/json": components["schemas"]["Error"];
10909
+ };
10910
+ };
10911
+ };
10912
+ };
10913
+ trace?: never;
10914
+ };
10915
+ "/v1/eval/suites/{id}/cases": {
10916
+ parameters: {
10917
+ query?: never;
10918
+ header?: never;
10919
+ path?: never;
10920
+ cookie?: never;
10921
+ };
10922
+ get?: never;
10923
+ put?: never;
10924
+ /**
10925
+ * Add eval cases
10926
+ * @description Add one or more test cases to an eval suite. Cases are server-authoritative data: adding them does not affect the suite’s config-as-code provenance.
10927
+ */
10928
+ post: {
10929
+ parameters: {
10930
+ query?: never;
10931
+ header?: never;
10932
+ path: {
10933
+ id: string;
10934
+ };
10935
+ cookie?: never;
10936
+ };
10937
+ requestBody?: {
10938
+ content: {
10939
+ "application/json": {
10940
+ cases: {
10941
+ enabled?: boolean;
10942
+ expected?: {
10943
+ facts?: string[];
10944
+ json?: unknown;
10945
+ text?: string;
10946
+ };
10947
+ /** @default {} */
10948
+ input?: {
10949
+ messages?: {
10950
+ content: string;
10951
+ role: string;
10952
+ }[];
10953
+ variables?: {
10954
+ [key: string]: unknown;
10955
+ };
10956
+ };
10957
+ name: string;
10958
+ notes?: string;
10959
+ }[];
10960
+ };
10961
+ };
10962
+ };
10963
+ responses: {
10964
+ /** @description Cases created */
10965
+ 201: {
10966
+ headers: {
10967
+ [name: string]: unknown;
10968
+ };
10969
+ content: {
10970
+ "application/json": components["schemas"]["EvalCasesCreated"];
10971
+ };
10972
+ };
10973
+ /** @description Invalid request */
10974
+ 400: {
10975
+ headers: {
10976
+ [name: string]: unknown;
10977
+ };
10978
+ content: {
10979
+ "application/json": components["schemas"]["Error"];
10980
+ };
10981
+ };
10982
+ /** @description Unauthorized */
10983
+ 401: {
10984
+ headers: {
10985
+ [name: string]: unknown;
10986
+ };
10987
+ content: {
10988
+ "application/json": components["schemas"]["Error"];
10989
+ };
10990
+ };
10991
+ /** @description Forbidden */
10992
+ 403: {
10993
+ headers: {
10994
+ [name: string]: unknown;
10995
+ };
10996
+ content: {
10997
+ "application/json": components["schemas"]["Error"];
10998
+ };
10999
+ };
11000
+ /** @description Not found */
11001
+ 404: {
11002
+ headers: {
11003
+ [name: string]: unknown;
11004
+ };
11005
+ content: {
11006
+ "application/json": components["schemas"]["Error"];
11007
+ };
11008
+ };
11009
+ /** @description Internal server error */
11010
+ 500: {
11011
+ headers: {
11012
+ [name: string]: unknown;
11013
+ };
11014
+ content: {
11015
+ "application/json": components["schemas"]["Error"];
11016
+ };
11017
+ };
11018
+ };
11019
+ };
11020
+ delete?: never;
11021
+ options?: never;
11022
+ head?: never;
11023
+ patch?: never;
11024
+ trace?: never;
11025
+ };
11026
+ "/v1/eval/suites/{id}/cases/{caseId}": {
11027
+ parameters: {
11028
+ query?: never;
11029
+ header?: never;
11030
+ path?: never;
11031
+ cookie?: never;
11032
+ };
11033
+ get?: never;
11034
+ put?: never;
11035
+ post?: never;
11036
+ /**
11037
+ * Delete eval case
11038
+ * @description Delete a test case. Persisted scores from past runs survive with the case name snapshot (caseId nulls out).
11039
+ */
11040
+ delete: {
11041
+ parameters: {
11042
+ query?: never;
11043
+ header?: never;
11044
+ path: {
11045
+ id: string;
11046
+ caseId: string;
11047
+ };
11048
+ cookie?: never;
11049
+ };
11050
+ requestBody?: never;
11051
+ responses: {
11052
+ /** @description Case deleted */
11053
+ 200: {
11054
+ headers: {
11055
+ [name: string]: unknown;
11056
+ };
11057
+ content: {
11058
+ "application/json": {
11059
+ success: boolean;
11060
+ };
11061
+ };
11062
+ };
11063
+ /** @description Unauthorized */
11064
+ 401: {
11065
+ headers: {
11066
+ [name: string]: unknown;
11067
+ };
11068
+ content: {
11069
+ "application/json": components["schemas"]["Error"];
11070
+ };
11071
+ };
11072
+ /** @description Forbidden */
11073
+ 403: {
11074
+ headers: {
11075
+ [name: string]: unknown;
11076
+ };
11077
+ content: {
11078
+ "application/json": components["schemas"]["Error"];
11079
+ };
11080
+ };
11081
+ /** @description Not found */
11082
+ 404: {
11083
+ headers: {
11084
+ [name: string]: unknown;
11085
+ };
11086
+ content: {
11087
+ "application/json": components["schemas"]["Error"];
11088
+ };
11089
+ };
11090
+ /** @description Internal server error */
11091
+ 500: {
11092
+ headers: {
11093
+ [name: string]: unknown;
11094
+ };
11095
+ content: {
11096
+ "application/json": components["schemas"]["Error"];
11097
+ };
11098
+ };
11099
+ };
11100
+ };
11101
+ options?: never;
11102
+ head?: never;
11103
+ /**
11104
+ * Update eval case
11105
+ * @description Edit, enable, or disable a test case.
11106
+ */
11107
+ patch: {
11108
+ parameters: {
11109
+ query?: never;
11110
+ header?: never;
11111
+ path: {
11112
+ id: string;
11113
+ caseId: string;
11114
+ };
11115
+ cookie?: never;
11116
+ };
11117
+ requestBody?: {
11118
+ content: {
11119
+ "application/json": {
11120
+ enabled?: boolean;
11121
+ expected?: {
11122
+ facts?: string[];
11123
+ json?: unknown;
11124
+ text?: string;
11125
+ } | null;
11126
+ input?: {
11127
+ messages?: {
11128
+ content: string;
11129
+ role: string;
11130
+ }[];
11131
+ variables?: {
11132
+ [key: string]: unknown;
11133
+ };
11134
+ };
11135
+ name?: string;
11136
+ notes?: string | null;
11137
+ };
11138
+ };
11139
+ };
11140
+ responses: {
11141
+ /** @description Case updated */
11142
+ 200: {
11143
+ headers: {
11144
+ [name: string]: unknown;
11145
+ };
11146
+ content: {
11147
+ "application/json": components["schemas"]["EvalCase"];
11148
+ };
11149
+ };
11150
+ /** @description Invalid request */
11151
+ 400: {
11152
+ headers: {
11153
+ [name: string]: unknown;
11154
+ };
11155
+ content: {
11156
+ "application/json": components["schemas"]["Error"];
11157
+ };
11158
+ };
11159
+ /** @description Unauthorized */
11160
+ 401: {
11161
+ headers: {
11162
+ [name: string]: unknown;
11163
+ };
11164
+ content: {
11165
+ "application/json": components["schemas"]["Error"];
11166
+ };
11167
+ };
11168
+ /** @description Forbidden */
11169
+ 403: {
11170
+ headers: {
11171
+ [name: string]: unknown;
11172
+ };
11173
+ content: {
11174
+ "application/json": components["schemas"]["Error"];
11175
+ };
11176
+ };
11177
+ /** @description Not found */
11178
+ 404: {
11179
+ headers: {
11180
+ [name: string]: unknown;
11181
+ };
11182
+ content: {
11183
+ "application/json": components["schemas"]["Error"];
11184
+ };
11185
+ };
11186
+ /** @description Internal server error */
11187
+ 500: {
11188
+ headers: {
11189
+ [name: string]: unknown;
11190
+ };
11191
+ content: {
11192
+ "application/json": components["schemas"]["Error"];
11193
+ };
11194
+ };
11195
+ };
11196
+ };
11197
+ trace?: never;
11198
+ };
11199
+ "/v1/eval/suites/{id}/run": {
11200
+ parameters: {
11201
+ query?: never;
11202
+ header?: never;
11203
+ path?: never;
11204
+ cookie?: never;
11205
+ };
11206
+ get?: never;
11207
+ put?: never;
11208
+ /**
11209
+ * Run eval suite
11210
+ * @description Run every enabled case of the suite against its target and grade the outputs with the suite graders. Suites within the synchronous case limit (50) run inline and return the full scored result; larger suites are queued as a durable run (202) that is graded when it completes — poll GET /eval/runs/{runId}/scores. Both paths persist per-case scores to the same run history.
11211
+ */
11212
+ post: {
11213
+ parameters: {
11214
+ query?: never;
11215
+ header?: never;
11216
+ path: {
11217
+ id: string;
11218
+ };
11219
+ cookie?: never;
11220
+ };
11221
+ requestBody?: {
11222
+ content: {
11223
+ "application/json": {
11224
+ /**
11225
+ * @description Force the execution path. Default: sync for suites within the synchronous case limit (50), batch above it.
11226
+ * @enum {string}
11227
+ */
11228
+ mode?: "sync" | "batch";
11229
+ /** @description Strict grading: a soft grader miss fails its case like a gate miss. */
11230
+ strict?: boolean;
11231
+ };
11232
+ };
11233
+ };
11234
+ responses: {
11235
+ /** @description Suite ran synchronously — score + per-case grader outcomes */
11236
+ 200: {
11237
+ headers: {
11238
+ [name: string]: unknown;
11239
+ };
11240
+ content: {
11241
+ "application/json": components["schemas"]["RunEvalResponse"];
11242
+ };
11243
+ };
11244
+ /** @description Suite queued as a durable run (scored on completion) */
11245
+ 202: {
11246
+ headers: {
11247
+ [name: string]: unknown;
11248
+ };
11249
+ content: {
11250
+ "application/json": components["schemas"]["EvalSuiteRunQueued"];
11251
+ };
11252
+ };
11253
+ /** @description Invalid request */
11254
+ 400: {
11255
+ headers: {
11256
+ [name: string]: unknown;
11257
+ };
11258
+ content: {
11259
+ "application/json": components["schemas"]["Error"];
11260
+ };
11261
+ };
11262
+ /** @description Unauthorized */
11263
+ 401: {
11264
+ headers: {
11265
+ [name: string]: unknown;
11266
+ };
11267
+ content: {
11268
+ "application/json": components["schemas"]["Error"];
11269
+ };
11270
+ };
11271
+ /** @description Daily eval limit exceeded */
11272
+ 402: {
11273
+ headers: {
11274
+ [name: string]: unknown;
11275
+ };
11276
+ content: {
11277
+ "application/json": components["schemas"]["Error"];
11278
+ };
11279
+ };
11280
+ /** @description Forbidden */
11281
+ 403: {
11282
+ headers: {
11283
+ [name: string]: unknown;
11284
+ };
11285
+ content: {
11286
+ "application/json": components["schemas"]["Error"];
11287
+ };
11288
+ };
11289
+ /** @description Not found */
11290
+ 404: {
11291
+ headers: {
11292
+ [name: string]: unknown;
11293
+ };
11294
+ content: {
11295
+ "application/json": components["schemas"]["Error"];
11296
+ };
11297
+ };
11298
+ /** @description Internal server error */
11299
+ 500: {
11300
+ headers: {
11301
+ [name: string]: unknown;
11302
+ };
11303
+ content: {
11304
+ "application/json": components["schemas"]["Error"];
11305
+ };
11306
+ };
11307
+ };
11308
+ };
11309
+ delete?: never;
11310
+ options?: never;
11311
+ head?: never;
11312
+ patch?: never;
11313
+ trace?: never;
11314
+ };
10001
11315
  "/v1/eval/{id}/results": {
10002
11316
  parameters: {
10003
11317
  query?: never;
@@ -11160,7 +12474,7 @@ interface paths {
11160
12474
  name: string;
11161
12475
  order?: number;
11162
12476
  /** @enum {string} */
11163
- type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "fetch-github" | "api-call" | "transform-data" | "template" | "conditional" | "set-variable" | "upsert-record" | "send-email" | "send-text" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
12477
+ type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "get-record" | "list-records" | "fetch-github" | "api-call" | "transform-data" | "template" | "conditional" | "set-variable" | "upsert-record" | "send-email" | "send-text" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
11164
12478
  when?: string;
11165
12479
  }[];
11166
12480
  name: string;
@@ -11172,7 +12486,7 @@ interface paths {
11172
12486
  name: string;
11173
12487
  order?: number;
11174
12488
  /** @enum {string} */
11175
- type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "fetch-github" | "api-call" | "transform-data" | "template" | "conditional" | "set-variable" | "upsert-record" | "send-email" | "send-text" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
12489
+ type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "get-record" | "list-records" | "fetch-github" | "api-call" | "transform-data" | "template" | "conditional" | "set-variable" | "upsert-record" | "send-email" | "send-text" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
11176
12490
  when?: string;
11177
12491
  }[];
11178
12492
  };
@@ -11567,7 +12881,7 @@ interface paths {
11567
12881
  name: string;
11568
12882
  order?: number;
11569
12883
  /** @enum {string} */
11570
- type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "fetch-github" | "api-call" | "transform-data" | "template" | "conditional" | "set-variable" | "upsert-record" | "send-email" | "send-text" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
12884
+ type: "prompt" | "crawl" | "fetch-url" | "retrieve-record" | "get-record" | "list-records" | "fetch-github" | "api-call" | "transform-data" | "template" | "conditional" | "set-variable" | "upsert-record" | "send-email" | "send-text" | "send-event" | "send-stream" | "update-record" | "search" | "generate-embedding" | "vector-search" | "tool-call" | "wait-until" | "paginate-api" | "store-vector" | "execute-agent" | "store-asset" | "generate-pdf" | "save-memory" | "recall-memory" | "memory-summary";
11571
12885
  when?: string;
11572
12886
  }[];
11573
12887
  name?: string;
@@ -11825,45 +13139,427 @@ interface paths {
11825
13139
  patch?: never;
11826
13140
  trace?: never;
11827
13141
  };
11828
- "/v1/flows/{id}/publish": {
13142
+ "/v1/flows/{id}/publish": {
13143
+ parameters: {
13144
+ query?: never;
13145
+ header?: never;
13146
+ path?: never;
13147
+ cookie?: never;
13148
+ };
13149
+ get?: never;
13150
+ put?: never;
13151
+ /**
13152
+ * Publish flow
13153
+ * @description Promote a flow draft version to published.
13154
+ */
13155
+ post: {
13156
+ parameters: {
13157
+ query?: never;
13158
+ header?: never;
13159
+ path: {
13160
+ id: string;
13161
+ };
13162
+ cookie?: never;
13163
+ };
13164
+ requestBody?: never;
13165
+ responses: {
13166
+ /** @description Flow published */
13167
+ 200: {
13168
+ headers: {
13169
+ [name: string]: unknown;
13170
+ };
13171
+ content: {
13172
+ "application/json": {
13173
+ message: string;
13174
+ publishedVersionId: string;
13175
+ success: boolean;
13176
+ };
13177
+ };
13178
+ };
13179
+ /** @description Invalid flow ID */
13180
+ 400: {
13181
+ headers: {
13182
+ [name: string]: unknown;
13183
+ };
13184
+ content: {
13185
+ "application/json": components["schemas"]["Error"];
13186
+ };
13187
+ };
13188
+ /** @description Unauthorized */
13189
+ 401: {
13190
+ headers: {
13191
+ [name: string]: unknown;
13192
+ };
13193
+ content: {
13194
+ "application/json": components["schemas"]["Error"];
13195
+ };
13196
+ };
13197
+ /** @description Insufficient permissions */
13198
+ 403: {
13199
+ headers: {
13200
+ [name: string]: unknown;
13201
+ };
13202
+ content: {
13203
+ "application/json": components["schemas"]["Error"];
13204
+ };
13205
+ };
13206
+ /** @description Flow or draft version not found */
13207
+ 404: {
13208
+ headers: {
13209
+ [name: string]: unknown;
13210
+ };
13211
+ content: {
13212
+ "application/json": components["schemas"]["Error"];
13213
+ };
13214
+ };
13215
+ /** @description Internal server error */
13216
+ 500: {
13217
+ headers: {
13218
+ [name: string]: unknown;
13219
+ };
13220
+ content: {
13221
+ "application/json": components["schemas"]["Error"];
13222
+ };
13223
+ };
13224
+ };
13225
+ };
13226
+ delete?: never;
13227
+ options?: never;
13228
+ head?: never;
13229
+ patch?: never;
13230
+ trace?: never;
13231
+ };
13232
+ "/v1/flows/{id}/run-on-record-type": {
13233
+ parameters: {
13234
+ query?: never;
13235
+ header?: never;
13236
+ path?: never;
13237
+ cookie?: never;
13238
+ };
13239
+ get?: never;
13240
+ put?: never;
13241
+ /**
13242
+ * Run flow on records of a type
13243
+ * @description Execute a flow against every record of the given type. Small batches (≤10) execute immediately and return 200; larger batches return 202 with a scheduled batchId.
13244
+ */
13245
+ post: {
13246
+ parameters: {
13247
+ query?: never;
13248
+ header?: never;
13249
+ path: {
13250
+ id: string;
13251
+ };
13252
+ cookie?: never;
13253
+ };
13254
+ requestBody?: {
13255
+ content: {
13256
+ "application/json": {
13257
+ recordType: string;
13258
+ };
13259
+ };
13260
+ };
13261
+ responses: {
13262
+ /** @description Batch executed immediately */
13263
+ 200: {
13264
+ headers: {
13265
+ [name: string]: unknown;
13266
+ };
13267
+ content: {
13268
+ "application/json": {
13269
+ batchId: string;
13270
+ completedAt: string;
13271
+ executedImmediately: boolean;
13272
+ failureCount: number;
13273
+ flowId: string;
13274
+ recordCount: number;
13275
+ recordType: string;
13276
+ results: {
13277
+ contextSteps?: number;
13278
+ error?: string;
13279
+ executionId?: string;
13280
+ executionTime?: number;
13281
+ promptsExecuted?: number;
13282
+ recordId: string;
13283
+ recordName: string | null;
13284
+ success: boolean;
13285
+ }[];
13286
+ /** @enum {string} */
13287
+ status: "completed";
13288
+ success: boolean;
13289
+ successCount: number;
13290
+ };
13291
+ };
13292
+ };
13293
+ /** @description Batch scheduled for execution */
13294
+ 202: {
13295
+ headers: {
13296
+ [name: string]: unknown;
13297
+ };
13298
+ content: {
13299
+ "application/json": {
13300
+ batchId: string;
13301
+ flowId: string;
13302
+ message: string;
13303
+ recordCount: number;
13304
+ recordType: string;
13305
+ records: {
13306
+ id: string;
13307
+ name: string | null;
13308
+ type: string;
13309
+ }[];
13310
+ scheduledAt: string;
13311
+ /** @enum {string} */
13312
+ status: "scheduled";
13313
+ success: boolean;
13314
+ };
13315
+ };
13316
+ };
13317
+ /** @description Validation error or no matching records */
13318
+ 400: {
13319
+ headers: {
13320
+ [name: string]: unknown;
13321
+ };
13322
+ content: {
13323
+ "application/json": components["schemas"]["Error"];
13324
+ };
13325
+ };
13326
+ /** @description Unauthorized */
13327
+ 401: {
13328
+ headers: {
13329
+ [name: string]: unknown;
13330
+ };
13331
+ content: {
13332
+ "application/json": components["schemas"]["Error"];
13333
+ };
13334
+ };
13335
+ /** @description Insufficient permissions */
13336
+ 403: {
13337
+ headers: {
13338
+ [name: string]: unknown;
13339
+ };
13340
+ content: {
13341
+ "application/json": components["schemas"]["Error"];
13342
+ };
13343
+ };
13344
+ /** @description Daily execution limit exceeded */
13345
+ 429: {
13346
+ headers: {
13347
+ [name: string]: unknown;
13348
+ };
13349
+ content: {
13350
+ "application/json": components["schemas"]["Error"];
13351
+ };
13352
+ };
13353
+ /** @description Internal server error */
13354
+ 500: {
13355
+ headers: {
13356
+ [name: string]: unknown;
13357
+ };
13358
+ content: {
13359
+ "application/json": components["schemas"]["Error"];
13360
+ };
13361
+ };
13362
+ };
13363
+ };
13364
+ delete?: never;
13365
+ options?: never;
13366
+ head?: never;
13367
+ patch?: never;
13368
+ trace?: never;
13369
+ };
13370
+ "/v1/flows/{id}/step-results": {
13371
+ parameters: {
13372
+ query?: never;
13373
+ header?: never;
13374
+ path?: never;
13375
+ cookie?: never;
13376
+ };
13377
+ /**
13378
+ * List flow step results
13379
+ * @description Get unified step execution results for a flow with filtering and offset pagination.
13380
+ */
13381
+ get: {
13382
+ parameters: {
13383
+ query?: {
13384
+ recordId?: string;
13385
+ batchId?: string;
13386
+ status?: string;
13387
+ stepId?: string;
13388
+ from?: string;
13389
+ to?: string;
13390
+ sortBy?: string;
13391
+ sortOrder?: "asc" | "desc";
13392
+ limit?: string;
13393
+ offset?: string;
13394
+ };
13395
+ header?: never;
13396
+ path: {
13397
+ id: string;
13398
+ };
13399
+ cookie?: never;
13400
+ };
13401
+ requestBody?: never;
13402
+ responses: {
13403
+ /** @description Step results */
13404
+ 200: {
13405
+ headers: {
13406
+ [name: string]: unknown;
13407
+ };
13408
+ content: {
13409
+ "application/json": {
13410
+ data: {
13411
+ batchExecutionId: string | null;
13412
+ completedAt: string | null;
13413
+ completionTokens?: number | null;
13414
+ createdAt: string;
13415
+ durationMs: number | null;
13416
+ errorMessage?: string | null;
13417
+ estimatedCost?: string | null;
13418
+ executionSessionId: string | null;
13419
+ flowId: string | null;
13420
+ flowVersionId: string | null;
13421
+ id: string;
13422
+ inputVariables?: unknown;
13423
+ modelUsed?: string | null;
13424
+ order: number | null;
13425
+ organizationId: string | null;
13426
+ outputPreview: string | null;
13427
+ promptTokens?: number | null;
13428
+ recordId: string | null;
13429
+ recordMetadata?: unknown;
13430
+ recordName: string | null;
13431
+ resolvedPrompt?: string | null;
13432
+ retryCount?: number | null;
13433
+ startedAt: string | null;
13434
+ status: string;
13435
+ stepConfig?: unknown;
13436
+ stepId: string | null;
13437
+ stepName: string;
13438
+ stepType: string;
13439
+ totalTokens?: number | null;
13440
+ userId: string;
13441
+ }[];
13442
+ pagination: {
13443
+ hasMore: boolean;
13444
+ limit: number;
13445
+ offset: number;
13446
+ returned: number;
13447
+ };
13448
+ };
13449
+ };
13450
+ };
13451
+ /** @description Invalid parameters */
13452
+ 400: {
13453
+ headers: {
13454
+ [name: string]: unknown;
13455
+ };
13456
+ content: {
13457
+ "application/json": components["schemas"]["Error"];
13458
+ };
13459
+ };
13460
+ /** @description Unauthorized */
13461
+ 401: {
13462
+ headers: {
13463
+ [name: string]: unknown;
13464
+ };
13465
+ content: {
13466
+ "application/json": components["schemas"]["Error"];
13467
+ };
13468
+ };
13469
+ /** @description Insufficient permissions */
13470
+ 403: {
13471
+ headers: {
13472
+ [name: string]: unknown;
13473
+ };
13474
+ content: {
13475
+ "application/json": components["schemas"]["Error"];
13476
+ };
13477
+ };
13478
+ /** @description Flow not found */
13479
+ 404: {
13480
+ headers: {
13481
+ [name: string]: unknown;
13482
+ };
13483
+ content: {
13484
+ "application/json": components["schemas"]["Error"];
13485
+ };
13486
+ };
13487
+ /** @description Internal server error */
13488
+ 500: {
13489
+ headers: {
13490
+ [name: string]: unknown;
13491
+ };
13492
+ content: {
13493
+ "application/json": components["schemas"]["Error"];
13494
+ };
13495
+ };
13496
+ };
13497
+ };
13498
+ put?: never;
13499
+ post?: never;
13500
+ delete?: never;
13501
+ options?: never;
13502
+ head?: never;
13503
+ patch?: never;
13504
+ trace?: never;
13505
+ };
13506
+ "/v1/identity-integrations": {
11829
13507
  parameters: {
11830
13508
  query?: never;
11831
13509
  header?: never;
11832
13510
  path?: never;
11833
13511
  cookie?: never;
11834
13512
  };
11835
- get?: never;
11836
- put?: never;
11837
13513
  /**
11838
- * Publish flow
11839
- * @description Promote a flow draft version to published.
13514
+ * List identity integrations
13515
+ * @description Lists the owner's Identity Exchange integrations (verification descriptors for customer-native auth proofs). Credentials are redacted to a presence list.
11840
13516
  */
11841
- post: {
13517
+ get: {
11842
13518
  parameters: {
11843
13519
  query?: never;
11844
13520
  header?: never;
11845
- path: {
11846
- id: string;
11847
- };
13521
+ path?: never;
11848
13522
  cookie?: never;
11849
13523
  };
11850
13524
  requestBody?: never;
11851
13525
  responses: {
11852
- /** @description Flow published */
13526
+ /** @description Successful response */
11853
13527
  200: {
11854
13528
  headers: {
11855
13529
  [name: string]: unknown;
11856
13530
  };
11857
13531
  content: {
11858
13532
  "application/json": {
11859
- message: string;
11860
- publishedVersionId: string;
11861
- success: boolean;
13533
+ identityIntegrations: {
13534
+ configuredCredentials: ("clientSecret" | "managementApiKey")[];
13535
+ createdAt: string;
13536
+ descriptor: {
13537
+ [key: string]: unknown;
13538
+ };
13539
+ id: string;
13540
+ issuer: string | null;
13541
+ /** @enum {string} */
13542
+ kind: "oidc-jwt" | "session" | "custom";
13543
+ name: string;
13544
+ provider: string;
13545
+ /** @enum {string} */
13546
+ status: "active" | "disabled";
13547
+ updatedAt: string;
13548
+ }[];
11862
13549
  };
11863
13550
  };
11864
13551
  };
11865
- /** @description Invalid flow ID */
11866
- 400: {
13552
+ /** @description Unauthorized */
13553
+ 401: {
13554
+ headers: {
13555
+ [name: string]: unknown;
13556
+ };
13557
+ content: {
13558
+ "application/json": components["schemas"]["Error"];
13559
+ };
13560
+ };
13561
+ /** @description Forbidden */
13562
+ 403: {
11867
13563
  headers: {
11868
13564
  [name: string]: unknown;
11869
13565
  };
@@ -11871,6 +13567,78 @@ interface paths {
11871
13567
  "application/json": components["schemas"]["Error"];
11872
13568
  };
11873
13569
  };
13570
+ };
13571
+ };
13572
+ put?: never;
13573
+ /**
13574
+ * Create an identity integration
13575
+ * @description Creates an Identity Exchange integration. The descriptor is validated against the shared schema and the server mints the integration id (the cross-integration isolation namespace).
13576
+ */
13577
+ post: {
13578
+ parameters: {
13579
+ query?: never;
13580
+ header?: never;
13581
+ path?: never;
13582
+ cookie?: never;
13583
+ };
13584
+ requestBody?: {
13585
+ content: {
13586
+ "application/json": {
13587
+ /** @description Provider management/client credentials. Sealed at rest, bound to this integration, and never returned by any endpoint. Set a field to rotate it; null clears it. */
13588
+ credentials?: {
13589
+ clientSecret?: string | null;
13590
+ managementApiKey?: string | null;
13591
+ };
13592
+ /** @description The IdentityAdapterDescriptor (without id — the server mints it). Validated against the shared identityAdapterDescriptorSchema: discriminated by 'kind' ('oidc-jwt' | 'session' | 'custom'); verifiable kinds require https issuer/jwksUri, a non-wildcard audience, and asymmetric-only allowedAlgorithms; maxAssurance may only lower the kind ceiling ('oidc-jwt' → 'verified', others → 'asserted'). */
13593
+ descriptor: {
13594
+ [key: string]: unknown;
13595
+ };
13596
+ name: string;
13597
+ /** @enum {string} */
13598
+ provider: "clerk" | "workos" | "auth0" | "okta" | "better-auth" | "oidc" | "custom";
13599
+ };
13600
+ };
13601
+ };
13602
+ responses: {
13603
+ /** @description Identity integration created */
13604
+ 201: {
13605
+ headers: {
13606
+ [name: string]: unknown;
13607
+ };
13608
+ content: {
13609
+ "application/json": {
13610
+ configuredCredentials: ("clientSecret" | "managementApiKey")[];
13611
+ createdAt: string;
13612
+ descriptor: {
13613
+ [key: string]: unknown;
13614
+ };
13615
+ id: string;
13616
+ issuer: string | null;
13617
+ /** @enum {string} */
13618
+ kind: "oidc-jwt" | "session" | "custom";
13619
+ name: string;
13620
+ provider: string;
13621
+ /** @enum {string} */
13622
+ status: "active" | "disabled";
13623
+ updatedAt: string;
13624
+ };
13625
+ };
13626
+ };
13627
+ /** @description Invalid descriptor or request body */
13628
+ 400: {
13629
+ headers: {
13630
+ [name: string]: unknown;
13631
+ };
13632
+ content: {
13633
+ "application/json": {
13634
+ error: string;
13635
+ issues?: {
13636
+ message: string;
13637
+ path: string;
13638
+ }[];
13639
+ };
13640
+ };
13641
+ };
11874
13642
  /** @description Unauthorized */
11875
13643
  401: {
11876
13644
  headers: {
@@ -11880,7 +13648,7 @@ interface paths {
11880
13648
  "application/json": components["schemas"]["Error"];
11881
13649
  };
11882
13650
  };
11883
- /** @description Insufficient permissions */
13651
+ /** @description Forbidden */
11884
13652
  403: {
11885
13653
  headers: {
11886
13654
  [name: string]: unknown;
@@ -11889,8 +13657,8 @@ interface paths {
11889
13657
  "application/json": components["schemas"]["Error"];
11890
13658
  };
11891
13659
  };
11892
- /** @description Flow or draft version not found */
11893
- 404: {
13660
+ /** @description An active integration for this issuer already exists */
13661
+ 409: {
11894
13662
  headers: {
11895
13663
  [name: string]: unknown;
11896
13664
  };
@@ -11915,93 +13683,61 @@ interface paths {
11915
13683
  patch?: never;
11916
13684
  trace?: never;
11917
13685
  };
11918
- "/v1/flows/{id}/run-on-record-type": {
13686
+ "/v1/identity-integrations/{id}": {
11919
13687
  parameters: {
11920
13688
  query?: never;
11921
13689
  header?: never;
11922
13690
  path?: never;
11923
13691
  cookie?: never;
11924
13692
  };
11925
- get?: never;
11926
- put?: never;
11927
- /**
11928
- * Run flow on records of a type
11929
- * @description Execute a flow against every record of the given type. Small batches (≤10) execute immediately and return 200; larger batches return 202 with a scheduled batchId.
11930
- */
11931
- post: {
13693
+ /** Get an identity integration */
13694
+ get: {
11932
13695
  parameters: {
11933
13696
  query?: never;
11934
13697
  header?: never;
11935
13698
  path: {
13699
+ /** @description Identity integration id (idint_...) */
11936
13700
  id: string;
11937
13701
  };
11938
13702
  cookie?: never;
11939
13703
  };
11940
- requestBody?: {
11941
- content: {
11942
- "application/json": {
11943
- recordType: string;
11944
- };
11945
- };
11946
- };
13704
+ requestBody?: never;
11947
13705
  responses: {
11948
- /** @description Batch executed immediately */
13706
+ /** @description Successful response */
11949
13707
  200: {
11950
13708
  headers: {
11951
13709
  [name: string]: unknown;
11952
13710
  };
11953
13711
  content: {
11954
13712
  "application/json": {
11955
- batchId: string;
11956
- completedAt: string;
11957
- executedImmediately: boolean;
11958
- failureCount: number;
11959
- flowId: string;
11960
- recordCount: number;
11961
- recordType: string;
11962
- results: {
11963
- contextSteps?: number;
11964
- error?: string;
11965
- executionId?: string;
11966
- executionTime?: number;
11967
- promptsExecuted?: number;
11968
- recordId: string;
11969
- recordName: string | null;
11970
- success: boolean;
11971
- }[];
13713
+ configuredCredentials: ("clientSecret" | "managementApiKey")[];
13714
+ createdAt: string;
13715
+ descriptor: {
13716
+ [key: string]: unknown;
13717
+ };
13718
+ id: string;
13719
+ issuer: string | null;
11972
13720
  /** @enum {string} */
11973
- status: "completed";
11974
- success: boolean;
11975
- successCount: number;
13721
+ kind: "oidc-jwt" | "session" | "custom";
13722
+ name: string;
13723
+ provider: string;
13724
+ /** @enum {string} */
13725
+ status: "active" | "disabled";
13726
+ updatedAt: string;
11976
13727
  };
11977
13728
  };
11978
13729
  };
11979
- /** @description Batch scheduled for execution */
11980
- 202: {
13730
+ /** @description Unauthorized */
13731
+ 401: {
11981
13732
  headers: {
11982
13733
  [name: string]: unknown;
11983
13734
  };
11984
13735
  content: {
11985
- "application/json": {
11986
- batchId: string;
11987
- flowId: string;
11988
- message: string;
11989
- recordCount: number;
11990
- recordType: string;
11991
- records: {
11992
- id: string;
11993
- name: string | null;
11994
- type: string;
11995
- }[];
11996
- scheduledAt: string;
11997
- /** @enum {string} */
11998
- status: "scheduled";
11999
- success: boolean;
12000
- };
13736
+ "application/json": components["schemas"]["Error"];
12001
13737
  };
12002
13738
  };
12003
- /** @description Validation error or no matching records */
12004
- 400: {
13739
+ /** @description Forbidden */
13740
+ 403: {
12005
13741
  headers: {
12006
13742
  [name: string]: unknown;
12007
13743
  };
@@ -12009,8 +13745,8 @@ interface paths {
12009
13745
  "application/json": components["schemas"]["Error"];
12010
13746
  };
12011
13747
  };
12012
- /** @description Unauthorized */
12013
- 401: {
13748
+ /** @description Not found */
13749
+ 404: {
12014
13750
  headers: {
12015
13751
  [name: string]: unknown;
12016
13752
  };
@@ -12018,8 +13754,39 @@ interface paths {
12018
13754
  "application/json": components["schemas"]["Error"];
12019
13755
  };
12020
13756
  };
12021
- /** @description Insufficient permissions */
12022
- 403: {
13757
+ };
13758
+ };
13759
+ put?: never;
13760
+ post?: never;
13761
+ /**
13762
+ * Delete an identity integration
13763
+ * @description Hard-deletes the integration and its sealed credentials. Existing projected identities (product_tenants / end_users rows carrying this integration id) are kept — the id remains their isolation namespace.
13764
+ */
13765
+ delete: {
13766
+ parameters: {
13767
+ query?: never;
13768
+ header?: never;
13769
+ path: {
13770
+ /** @description Identity integration id (idint_...) */
13771
+ id: string;
13772
+ };
13773
+ cookie?: never;
13774
+ };
13775
+ requestBody?: never;
13776
+ responses: {
13777
+ /** @description Identity integration deleted */
13778
+ 200: {
13779
+ headers: {
13780
+ [name: string]: unknown;
13781
+ };
13782
+ content: {
13783
+ "application/json": {
13784
+ success: boolean;
13785
+ };
13786
+ };
13787
+ };
13788
+ /** @description Unauthorized */
13789
+ 401: {
12023
13790
  headers: {
12024
13791
  [name: string]: unknown;
12025
13792
  };
@@ -12027,8 +13794,8 @@ interface paths {
12027
13794
  "application/json": components["schemas"]["Error"];
12028
13795
  };
12029
13796
  };
12030
- /** @description Daily execution limit exceeded */
12031
- 429: {
13797
+ /** @description Forbidden */
13798
+ 403: {
12032
13799
  headers: {
12033
13800
  [name: string]: unknown;
12034
13801
  };
@@ -12036,8 +13803,8 @@ interface paths {
12036
13803
  "application/json": components["schemas"]["Error"];
12037
13804
  };
12038
13805
  };
12039
- /** @description Internal server error */
12040
- 500: {
13806
+ /** @description Not found */
13807
+ 404: {
12041
13808
  headers: {
12042
13809
  [name: string]: unknown;
12043
13810
  };
@@ -12047,100 +13814,80 @@ interface paths {
12047
13814
  };
12048
13815
  };
12049
13816
  };
12050
- delete?: never;
12051
13817
  options?: never;
12052
13818
  head?: never;
12053
- patch?: never;
12054
- trace?: never;
12055
- };
12056
- "/v1/flows/{id}/step-results": {
12057
- parameters: {
12058
- query?: never;
12059
- header?: never;
12060
- path?: never;
12061
- cookie?: never;
12062
- };
12063
13819
  /**
12064
- * List flow step results
12065
- * @description Get unified step execution results for a flow with filtering and offset pagination.
13820
+ * Update an identity integration
13821
+ * @description Updates name/provider/status, replaces the descriptor (re-validated), and/or rotates credentials (per-field: string sets, null clears, absent keeps).
12066
13822
  */
12067
- get: {
13823
+ patch: {
12068
13824
  parameters: {
12069
- query?: {
12070
- recordId?: string;
12071
- batchId?: string;
12072
- status?: string;
12073
- stepId?: string;
12074
- from?: string;
12075
- to?: string;
12076
- sortBy?: string;
12077
- sortOrder?: "asc" | "desc";
12078
- limit?: string;
12079
- offset?: string;
12080
- };
13825
+ query?: never;
12081
13826
  header?: never;
12082
13827
  path: {
13828
+ /** @description Identity integration id (idint_...) */
12083
13829
  id: string;
12084
13830
  };
12085
13831
  cookie?: never;
12086
13832
  };
12087
- requestBody?: never;
13833
+ requestBody?: {
13834
+ content: {
13835
+ "application/json": {
13836
+ /** @description Provider management/client credentials. Sealed at rest, bound to this integration, and never returned by any endpoint. Set a field to rotate it; null clears it. */
13837
+ credentials?: {
13838
+ clientSecret?: string | null;
13839
+ managementApiKey?: string | null;
13840
+ };
13841
+ /** @description The IdentityAdapterDescriptor (without id — the server mints it). Validated against the shared identityAdapterDescriptorSchema: discriminated by 'kind' ('oidc-jwt' | 'session' | 'custom'); verifiable kinds require https issuer/jwksUri, a non-wildcard audience, and asymmetric-only allowedAlgorithms; maxAssurance may only lower the kind ceiling ('oidc-jwt' → 'verified', others → 'asserted'). */
13842
+ descriptor?: {
13843
+ [key: string]: unknown;
13844
+ };
13845
+ name?: string;
13846
+ /** @enum {string} */
13847
+ provider?: "clerk" | "workos" | "auth0" | "okta" | "better-auth" | "oidc" | "custom";
13848
+ /** @enum {string} */
13849
+ status?: "active" | "disabled";
13850
+ };
13851
+ };
13852
+ };
12088
13853
  responses: {
12089
- /** @description Step results */
13854
+ /** @description Identity integration updated */
12090
13855
  200: {
12091
13856
  headers: {
12092
13857
  [name: string]: unknown;
12093
13858
  };
12094
13859
  content: {
12095
13860
  "application/json": {
12096
- data: {
12097
- batchExecutionId: string | null;
12098
- completedAt: string | null;
12099
- completionTokens?: number | null;
12100
- createdAt: string;
12101
- durationMs: number | null;
12102
- errorMessage?: string | null;
12103
- estimatedCost?: string | null;
12104
- executionSessionId: string | null;
12105
- flowId: string | null;
12106
- flowVersionId: string | null;
12107
- id: string;
12108
- inputVariables?: unknown;
12109
- modelUsed?: string | null;
12110
- order: number | null;
12111
- organizationId: string | null;
12112
- outputPreview: string | null;
12113
- promptTokens?: number | null;
12114
- recordId: string | null;
12115
- recordMetadata?: unknown;
12116
- recordName: string | null;
12117
- resolvedPrompt?: string | null;
12118
- retryCount?: number | null;
12119
- startedAt: string | null;
12120
- status: string;
12121
- stepConfig?: unknown;
12122
- stepId: string | null;
12123
- stepName: string;
12124
- stepType: string;
12125
- totalTokens?: number | null;
12126
- userId: string;
12127
- }[];
12128
- pagination: {
12129
- hasMore: boolean;
12130
- limit: number;
12131
- offset: number;
12132
- returned: number;
13861
+ configuredCredentials: ("clientSecret" | "managementApiKey")[];
13862
+ createdAt: string;
13863
+ descriptor: {
13864
+ [key: string]: unknown;
12133
13865
  };
13866
+ id: string;
13867
+ issuer: string | null;
13868
+ /** @enum {string} */
13869
+ kind: "oidc-jwt" | "session" | "custom";
13870
+ name: string;
13871
+ provider: string;
13872
+ /** @enum {string} */
13873
+ status: "active" | "disabled";
13874
+ updatedAt: string;
12134
13875
  };
12135
13876
  };
12136
13877
  };
12137
- /** @description Invalid parameters */
13878
+ /** @description Invalid descriptor or request body */
12138
13879
  400: {
12139
13880
  headers: {
12140
13881
  [name: string]: unknown;
12141
13882
  };
12142
13883
  content: {
12143
- "application/json": components["schemas"]["Error"];
13884
+ "application/json": {
13885
+ error: string;
13886
+ issues?: {
13887
+ message: string;
13888
+ path: string;
13889
+ }[];
13890
+ };
12144
13891
  };
12145
13892
  };
12146
13893
  /** @description Unauthorized */
@@ -12152,7 +13899,7 @@ interface paths {
12152
13899
  "application/json": components["schemas"]["Error"];
12153
13900
  };
12154
13901
  };
12155
- /** @description Insufficient permissions */
13902
+ /** @description Forbidden */
12156
13903
  403: {
12157
13904
  headers: {
12158
13905
  [name: string]: unknown;
@@ -12161,7 +13908,7 @@ interface paths {
12161
13908
  "application/json": components["schemas"]["Error"];
12162
13909
  };
12163
13910
  };
12164
- /** @description Flow not found */
13911
+ /** @description Not found */
12165
13912
  404: {
12166
13913
  headers: {
12167
13914
  [name: string]: unknown;
@@ -12170,8 +13917,8 @@ interface paths {
12170
13917
  "application/json": components["schemas"]["Error"];
12171
13918
  };
12172
13919
  };
12173
- /** @description Internal server error */
12174
- 500: {
13920
+ /** @description An active integration for this issuer already exists */
13921
+ 409: {
12175
13922
  headers: {
12176
13923
  [name: string]: unknown;
12177
13924
  };
@@ -12181,12 +13928,6 @@ interface paths {
12181
13928
  };
12182
13929
  };
12183
13930
  };
12184
- put?: never;
12185
- post?: never;
12186
- delete?: never;
12187
- options?: never;
12188
- head?: never;
12189
- patch?: never;
12190
13931
  trace?: never;
12191
13932
  };
12192
13933
  "/v1/integration-configs": {
@@ -26680,6 +28421,15 @@ interface paths {
26680
28421
  };
26681
28422
  };
26682
28423
  };
28424
+ /** @description Invalid request */
28425
+ 400: {
28426
+ headers: {
28427
+ [name: string]: unknown;
28428
+ };
28429
+ content: {
28430
+ "application/json": components["schemas"]["Error"];
28431
+ };
28432
+ };
26683
28433
  /** @description Unauthorized */
26684
28434
  401: {
26685
28435
  headers: {
@@ -31185,10 +32935,14 @@ interface paths {
31185
32935
  data: {
31186
32936
  createdAt: string;
31187
32937
  description: string | null;
32938
+ /** @description End User scope (eu_*) when the secret is end-user-scoped; null otherwise. */
32939
+ endUserId: string | null;
31188
32940
  id: string;
31189
32941
  key: string;
31190
32942
  lastRotatedAt: string | null;
31191
32943
  phantomToken: string | null;
32944
+ /** @description Product Tenant scope (tnt_*) when the secret is tenant-scoped; null for org-level. */
32945
+ productTenantId: string | null;
31192
32946
  status: string;
31193
32947
  updatedAt: string;
31194
32948
  valuePreview: string | null;
@@ -31240,7 +32994,9 @@ interface paths {
31240
32994
  content: {
31241
32995
  "application/json": {
31242
32996
  description?: string;
32997
+ endUserId?: string;
31243
32998
  key: string;
32999
+ productTenantId?: string;
31244
33000
  value?: string;
31245
33001
  };
31246
33002
  };
@@ -31256,10 +33012,14 @@ interface paths {
31256
33012
  data: {
31257
33013
  createdAt: string;
31258
33014
  description: string | null;
33015
+ /** @description End User scope (eu_*) when the secret is end-user-scoped; null otherwise. */
33016
+ endUserId: string | null;
31259
33017
  id: string;
31260
33018
  key: string;
31261
33019
  lastRotatedAt: string | null;
31262
33020
  phantomToken: string | null;
33021
+ /** @description Product Tenant scope (tnt_*) when the secret is tenant-scoped; null for org-level. */
33022
+ productTenantId: string | null;
31263
33023
  status: string;
31264
33024
  updatedAt: string;
31265
33025
  valuePreview: string | null;
@@ -31796,10 +33556,14 @@ interface paths {
31796
33556
  data: {
31797
33557
  createdAt: string;
31798
33558
  description: string | null;
33559
+ /** @description End User scope (eu_*) when the secret is end-user-scoped; null otherwise. */
33560
+ endUserId: string | null;
31799
33561
  id: string;
31800
33562
  key: string;
31801
33563
  lastRotatedAt: string | null;
31802
33564
  phantomToken: string | null;
33565
+ /** @description Product Tenant scope (tnt_*) when the secret is tenant-scoped; null for org-level. */
33566
+ productTenantId: string | null;
31803
33567
  status: string;
31804
33568
  updatedAt: string;
31805
33569
  valuePreview: string | null;
@@ -31876,10 +33640,14 @@ interface paths {
31876
33640
  data: {
31877
33641
  createdAt: string;
31878
33642
  description: string | null;
33643
+ /** @description End User scope (eu_*) when the secret is end-user-scoped; null otherwise. */
33644
+ endUserId: string | null;
31879
33645
  id: string;
31880
33646
  key: string;
31881
33647
  lastRotatedAt: string | null;
31882
33648
  phantomToken: string | null;
33649
+ /** @description Product Tenant scope (tnt_*) when the secret is tenant-scoped; null for org-level. */
33650
+ productTenantId: string | null;
31883
33651
  status: string;
31884
33652
  updatedAt: string;
31885
33653
  valuePreview: string | null;
@@ -35536,6 +37304,7 @@ interface paths {
35536
37304
  enableDashboardAssistant: boolean;
35537
37305
  enableRuntypeApps: boolean;
35538
37306
  enableSkillScanner: boolean;
37307
+ usageBasedPricing: boolean;
35539
37308
  };
35540
37309
  id: string;
35541
37310
  orgId?: string | null;
@@ -36083,6 +37852,8 @@ interface components {
36083
37852
  profileTemplate?: string;
36084
37853
  };
36085
37854
  model?: string;
37855
+ /** @enum {string} */
37856
+ piiRedaction?: "default" | "off" | "redact";
36086
37857
  presencePenalty?: number;
36087
37858
  reasoning?: boolean | {
36088
37859
  budgetTokens?: number;
@@ -36107,7 +37878,6 @@ interface components {
36107
37878
  persistence?: "ephemeral" | "conversation" | "named";
36108
37879
  /** @enum {string} */
36109
37880
  provider?: "runtype-sandbox" | "daytona";
36110
- requireApprovalForBash?: boolean;
36111
37881
  /** @enum {string} */
36112
37882
  sleepAfter?: "5m" | "15m" | "30m" | "1h";
36113
37883
  /** @enum {string} */
@@ -36227,6 +37997,16 @@ interface components {
36227
37997
  /** @description Present only when a raw tool_… reference could not be emitted as a portable tool:<name> (the tool was deleted, or its name is shadowed by an older same-named tool). Those references are left as raw ids, which the ensure surface rejects; each warning explains how to fix it. */
36228
37998
  warnings?: string[];
36229
37999
  };
38000
+ AsyncDispatchHandle: {
38001
+ /** @description Present only for ephemeral inline-create dispatch. */
38002
+ claudeManagedAgentId?: string;
38003
+ /** @description The conversation the headless turn belongs to. */
38004
+ conversationId: string;
38005
+ /** @description The durable execution id — reconnect/poll with this. */
38006
+ executionId: string;
38007
+ /** @description Lifecycle status at acceptance (e.g. 'running'). */
38008
+ status: string;
38009
+ };
36230
38010
  DailyUsageResponse: {
36231
38011
  daily?: {
36232
38012
  atSpendLimit: boolean;
@@ -36307,6 +38087,22 @@ interface components {
36307
38087
  }[];
36308
38088
  error: string;
36309
38089
  };
38090
+ EvalCase: {
38091
+ createdAt: string;
38092
+ enabled: boolean;
38093
+ expected?: unknown;
38094
+ id: string;
38095
+ /** @description { variables?, messages? } — what the case feeds the target. */
38096
+ input?: unknown;
38097
+ name: string;
38098
+ notes: string | null;
38099
+ origin: string;
38100
+ suiteId: string;
38101
+ updatedAt: string;
38102
+ };
38103
+ EvalCasesCreated: {
38104
+ cases: components["schemas"]["EvalCase"][];
38105
+ };
36310
38106
  EvalEnsureResponse: {
36311
38107
  /** @description Server-computed canonical content hash. Clients should echo this hash in probes. */
36312
38108
  contentHash: string;
@@ -36354,6 +38150,115 @@ interface components {
36354
38150
  suiteId: string;
36355
38151
  updatedAt: string | null;
36356
38152
  };
38153
+ EvalRunScoresResponse: {
38154
+ cases: {
38155
+ /** @description The saved eval case id; null when the case row was deleted or the record could not be mapped to a case. */
38156
+ caseId: string | null;
38157
+ name: string;
38158
+ outcomes: {
38159
+ graderIndex: number;
38160
+ kind: string;
38161
+ passed: boolean;
38162
+ reasoning?: string;
38163
+ score?: number;
38164
+ /**
38165
+ * @description Grader severity. A soft miss is reported but only fails the suite under strict mode. Absent ⇒ gate.
38166
+ * @enum {string}
38167
+ */
38168
+ severity?: "gate" | "soft";
38169
+ }[];
38170
+ /** @description Truncated snapshot of the output that was graded (2000 chars max). */
38171
+ outputExcerpt: string;
38172
+ /** @description Recomputed from the persisted outcomes using the run's recorded strict mode, so historical verdicts match what the run originally reported. */
38173
+ passed: boolean;
38174
+ }[];
38175
+ /** @description The eval name recorded on the run. */
38176
+ name: string | null;
38177
+ passedCases: number;
38178
+ /** @description The run (batch execution) id these scores belong to. */
38179
+ runId: string;
38180
+ /** @description Suite score, 0..1 (passed cases / total cases); null when the run has no cases. */
38181
+ score: number | null;
38182
+ /** @description The severity semantics the run was graded with (and that these verdicts reproduce): true when a soft grader miss failed its case. */
38183
+ strict: boolean;
38184
+ /** @description The eval suite the run executed; null when the suite was since deleted. */
38185
+ suiteId: string | null;
38186
+ totalCases: number;
38187
+ };
38188
+ EvalSuiteDetail: {
38189
+ agentId: string | null;
38190
+ baselineBatchExecutionId: string | null;
38191
+ caseCount: number;
38192
+ cases: components["schemas"]["EvalCase"][];
38193
+ createdAt: string;
38194
+ description: string | null;
38195
+ enabledCaseCount: number;
38196
+ flowId: string | null;
38197
+ /** @description Ordered GraderConfig[] applied to every case. */
38198
+ graders: unknown[];
38199
+ id: string;
38200
+ isDefault: boolean;
38201
+ /** @description Provenance of the last Definition write. 'sdk' / 'terraform' mean the suite is managed in code (converged by ensure on deploy). */
38202
+ lastModifiedSource: string | null;
38203
+ latestRun: components["schemas"]["EvalSuiteLatestRun"];
38204
+ name: string;
38205
+ /** @description Display name of the target flow/agent; null when the target row is gone. */
38206
+ targetName: string | null;
38207
+ /** @enum {string} */
38208
+ targetType: "flow" | "agent";
38209
+ updatedAt: string;
38210
+ };
38211
+ EvalSuiteLatestRun: {
38212
+ completedAt: string | null;
38213
+ passedCases: number | null;
38214
+ runId: string;
38215
+ /** @description Suite score of the run, 0..1; null while unscored (in flight / unscoreable). */
38216
+ score: number | null;
38217
+ startedAt: string;
38218
+ status: string;
38219
+ totalCases: number | null;
38220
+ } | null;
38221
+ EvalSuiteListResponse: {
38222
+ /** @description Number of suites in this page. */
38223
+ count: number;
38224
+ limit: number;
38225
+ offset: number;
38226
+ suites: components["schemas"]["EvalSuiteSummary"][];
38227
+ /** @description Total suites matching the filter across all pages (for offset pagination). */
38228
+ total: number;
38229
+ };
38230
+ EvalSuiteRunQueued: {
38231
+ /** @enum {string} */
38232
+ mode: "batch";
38233
+ name: string;
38234
+ /** @description The queued run id. Poll GET /eval/{runId}/results for progress and GET /eval/runs/{runId}/scores for grader scores once completed. */
38235
+ runId: string;
38236
+ status: string;
38237
+ suiteId: string;
38238
+ totalCases: number;
38239
+ };
38240
+ EvalSuiteSummary: {
38241
+ agentId: string | null;
38242
+ baselineBatchExecutionId: string | null;
38243
+ caseCount: number;
38244
+ createdAt: string;
38245
+ description: string | null;
38246
+ enabledCaseCount: number;
38247
+ flowId: string | null;
38248
+ /** @description Ordered GraderConfig[] applied to every case. */
38249
+ graders: unknown[];
38250
+ id: string;
38251
+ isDefault: boolean;
38252
+ /** @description Provenance of the last Definition write. 'sdk' / 'terraform' mean the suite is managed in code (converged by ensure on deploy). */
38253
+ lastModifiedSource: string | null;
38254
+ latestRun: components["schemas"]["EvalSuiteLatestRun"];
38255
+ name: string;
38256
+ /** @description Display name of the target flow/agent; null when the target row is gone. */
38257
+ targetName: string | null;
38258
+ /** @enum {string} */
38259
+ targetType: "flow" | "agent";
38260
+ updatedAt: string;
38261
+ };
36357
38262
  ExecutionStreamEvent: {
36358
38263
  agentId?: string;
36359
38264
  agentName?: string;
@@ -36394,6 +38299,7 @@ interface components {
36394
38299
  /** @enum {string} */
36395
38300
  type: "execution_complete";
36396
38301
  } | {
38302
+ blockReason?: string;
36397
38303
  code?: string;
36398
38304
  completedAt?: string;
36399
38305
  error: string | {
@@ -36697,6 +38603,7 @@ interface components {
36697
38603
  startedAt?: string;
36698
38604
  subagent?: {
36699
38605
  agentName?: string;
38606
+ parentToolCallId?: string;
36700
38607
  toolName: string;
36701
38608
  };
36702
38609
  timeout?: number;
@@ -36717,7 +38624,9 @@ interface components {
36717
38624
  /** @enum {string} */
36718
38625
  type: "approval_complete";
36719
38626
  } | {
38627
+ awaitReason?: string;
36720
38628
  awaitedAt?: string;
38629
+ crawlId?: string;
36721
38630
  executionId: string;
36722
38631
  /** @enum {string} */
36723
38632
  origin?: "webmcp" | "sdk";
@@ -36726,6 +38635,7 @@ interface components {
36726
38635
  [key: string]: unknown;
36727
38636
  };
36728
38637
  seq: number;
38638
+ stepId?: string;
36729
38639
  toolCallId?: string;
36730
38640
  toolId?: string;
36731
38641
  toolName?: string;
@@ -36864,6 +38774,7 @@ interface components {
36864
38774
  /** @enum {string} */
36865
38775
  type: "flow_complete";
36866
38776
  } | {
38777
+ blockReason?: string;
36867
38778
  code?: string;
36868
38779
  error: string | {
36869
38780
  code: string;
@@ -36885,7 +38796,10 @@ interface components {
36885
38796
  type: "flow_error";
36886
38797
  upgradeUrl?: string;
36887
38798
  } | {
38799
+ approvalId?: string;
38800
+ awaitReason?: string;
36888
38801
  awaitedAt: string;
38802
+ crawlId?: string;
36889
38803
  executionId?: string;
36890
38804
  flowId: string;
36891
38805
  /** @enum {string} */
@@ -36895,6 +38809,8 @@ interface components {
36895
38809
  [key: string]: unknown;
36896
38810
  };
36897
38811
  seq?: number;
38812
+ stepId?: string;
38813
+ timeout?: number;
36898
38814
  toolCallId?: string;
36899
38815
  toolId?: string;
36900
38816
  toolName?: string;
@@ -37186,6 +39102,39 @@ interface components {
37186
39102
  valid: boolean;
37187
39103
  warnings: components["schemas"]["FlowValidationIssue"][];
37188
39104
  };
39105
+ ManagedAgentRunOutput: {
39106
+ anthropicFileId: string;
39107
+ /** @description Asset-storage key the bytes were persisted to. */
39108
+ assetRef: string | null;
39109
+ createdAt: string;
39110
+ filename: string;
39111
+ /** @description Deliverable pointer id (typeid, `mao_…`). */
39112
+ id: string;
39113
+ mimeType: string;
39114
+ sizeBytes: number;
39115
+ };
39116
+ ManagedAgentRunSummary: {
39117
+ agentId: string;
39118
+ conversationId: string;
39119
+ /** @description Cost in thousandths of a cent ($1 = 100,000). */
39120
+ costThousandths: number;
39121
+ createdAt: string;
39122
+ error: string | null;
39123
+ /** @description The DO-minted execution id for the turn. */
39124
+ executionId: string;
39125
+ /** @description The final assistant text (may be large or null). */
39126
+ finalText: string | null;
39127
+ /** @description Run id (typeid, `mar_…`). */
39128
+ id: string;
39129
+ inputTokens: number;
39130
+ /** @description The durable seq at settle (reconnect ceiling). */
39131
+ lastEventSeq: number;
39132
+ outputTokens: number;
39133
+ settledAt: string;
39134
+ startedAt: string;
39135
+ /** @description 'completed' | 'failed' | 'interrupted'. */
39136
+ status: string;
39137
+ };
37189
39138
  Pagination: {
37190
39139
  currentOffset: number;
37191
39140
  currentPage?: number;
@@ -37344,6 +39293,8 @@ interface components {
37344
39293
  /** @description True when every case passed every grader. */
37345
39294
  passed: boolean;
37346
39295
  passedCases: number;
39296
+ /** @description The persisted run id — query its scores via GET /eval/runs/{runId}/scores. Null for an ephemeral (virtual/inline) run. */
39297
+ runId: string | null;
37347
39298
  /** @description Suite score, 0..1 (passed cases / total cases). */
37348
39299
  score: number;
37349
39300
  suiteId: string | null;
@@ -38102,6 +40053,7 @@ interface RecordFilter {
38102
40053
  type: string;
38103
40054
  where?: RecordFilterCondition | RecordFilterGroup;
38104
40055
  }
40056
+ /** @deprecated Use {@link GetRecordStepConfig} (single record) or {@link ListRecordsStepConfig} (multiple records) instead. Cardinality on `retrieve-record` depends on the lookup method, which is a common source of bugs. */
38105
40057
  interface RetrieveRecordStepConfig$1 {
38106
40058
  name: string;
38107
40059
  retrievalMode?: 'id' | 'query';
@@ -38126,6 +40078,63 @@ interface RetrieveRecordStepConfig$1 {
38126
40078
  /** JavaScript predicate evaluated at runtime. If falsy, the step is skipped. */
38127
40079
  when?: string;
38128
40080
  }
40081
+ /**
40082
+ * Config for a `get-record` step — always returns a SINGLE record object.
40083
+ * Lookup by `recordId`, by `recordType` (+ optional `recordName`), or by a
40084
+ * chip-style `recordFilter` (most-recently-updated match wins). Fails the
40085
+ * step if no record matches.
40086
+ */
40087
+ interface GetRecordStepConfig$1 {
40088
+ name: string;
40089
+ recordId?: string;
40090
+ recordType?: string;
40091
+ recordName?: string;
40092
+ /**
40093
+ * Optional chip-style filter (metadata + top-level columns: id, name,
40094
+ * createdAt, updatedAt). Coexists with recordType/recordName; the API
40095
+ * executor prefers recordFilter when both are set.
40096
+ */
40097
+ recordFilter?: RecordFilter;
40098
+ fieldsToInclude?: string | string[];
40099
+ fieldsToExclude?: string | string[];
40100
+ availableFields?: string[];
40101
+ outputVariable?: string;
40102
+ includeMetadata?: boolean;
40103
+ streamOutput?: boolean;
40104
+ enabled?: boolean;
40105
+ /** JavaScript predicate evaluated at runtime. If falsy, the step is skipped. */
40106
+ when?: string;
40107
+ }
40108
+ /**
40109
+ * Config for a `list-records` step — always returns an ARRAY of records
40110
+ * (newest-first), even for a single match. Lookup by `recordType`,
40111
+ * `recordName`, or `recordFilter` (no `recordId` — single-by-id is
40112
+ * {@link GetRecordStepConfig}).
40113
+ */
40114
+ interface ListRecordsStepConfig$1 {
40115
+ name: string;
40116
+ recordType?: string;
40117
+ recordName?: string;
40118
+ /**
40119
+ * Optional chip-style filter (metadata + top-level columns: id, name,
40120
+ * createdAt, updatedAt). Coexists with recordType/recordName; the API
40121
+ * executor prefers recordFilter when both are set.
40122
+ */
40123
+ recordFilter?: RecordFilter;
40124
+ /** Max records returned (default 50, capped at 1000). */
40125
+ limit?: number;
40126
+ /** Zero-match behavior: `'succeed'` (default) returns `[]`; `'fail'` fails the step. */
40127
+ onEmpty?: 'succeed' | 'fail';
40128
+ fieldsToInclude?: string | string[];
40129
+ fieldsToExclude?: string | string[];
40130
+ availableFields?: string[];
40131
+ outputVariable?: string;
40132
+ includeMetadata?: boolean;
40133
+ streamOutput?: boolean;
40134
+ enabled?: boolean;
40135
+ /** JavaScript predicate evaluated at runtime. If falsy, the step is skipped. */
40136
+ when?: string;
40137
+ }
38129
40138
  interface UpsertRecordStepConfig$1 {
38130
40139
  name: string;
38131
40140
  recordType: string;
@@ -38535,8 +40544,17 @@ declare class FlowBuilder {
38535
40544
  sendStream(config: SendStreamStepConfig$1): this;
38536
40545
  /**
38537
40546
  * Add a retrieve record step
40547
+ * @deprecated use {@link getRecord} (single record) or {@link listRecords} (multiple records) instead.
38538
40548
  */
38539
40549
  retrieveRecord(config: RetrieveRecordStepConfig$1): this;
40550
+ /**
40551
+ * Add a get-record step. Always returns a single record object.
40552
+ */
40553
+ getRecord(config: GetRecordStepConfig$1): this;
40554
+ /**
40555
+ * Add a list-records step. Always returns an array of records (newest-first).
40556
+ */
40557
+ listRecords(config: ListRecordsStepConfig$1): this;
38540
40558
  /**
38541
40559
  * Add an upsert record step
38542
40560
  */
@@ -39630,11 +41648,13 @@ type ReasoningValue = boolean | ReasoningConfig;
39630
41648
  * Generated from the OpenAPI spec — the `data` payload of GET /v1/secrets/{id}.
39631
41649
  */
39632
41650
  type Secret = paths['/v1/secrets/{id}']['get']['responses'][200]['content']['application/json']['data'];
39633
- interface CreateSecretRequest {
39634
- key: string;
39635
- value?: string;
39636
- description?: string;
39637
- }
41651
+ /**
41652
+ * Request body for POST /v1/secrets, derived from the generated OpenAPI spec so
41653
+ * it can never drift from the route. Carries the multi-tenancy scope params
41654
+ * (`productTenantId` / `endUserId`) — omit both for an org-level secret (the
41655
+ * default); a tenant- or end-user-scoped secret requires a value.
41656
+ */
41657
+ type CreateSecretRequest = NonNullable<paths['/v1/secrets']['post']['requestBody']>['content']['application/json'];
39638
41658
  interface UpdateSecretRequest {
39639
41659
  value?: string;
39640
41660
  description?: string;
@@ -40031,7 +42051,7 @@ type CheckGrader = CheckGraderShape & {
40031
42051
  severity?: GraderSeverity;
40032
42052
  };
40033
42053
  /** Built-in AI-grader preset ids (mirror of `BUILT_IN_GRADER_IDS`). */
40034
- type BuiltInGraderId = 'answersQuestion' | 'matchesExpected' | 'followsInstructions' | 'grounded' | 'rightTone' | 'safeToSend';
42054
+ type BuiltInGraderId = 'answersQuestion' | 'matchesExpected' | 'followsInstructions' | 'grounded' | 'rightTone' | 'safeToSend' | 'staysOnTask' | 'sameLanguage' | 'refusesWhenItShould' | 'noPersonalData';
40035
42055
  /** LLM-as-judge over plain-language criteria. Scored by the api grader executor. */
40036
42056
  interface AIGrader {
40037
42057
  kind: 'ai';
@@ -40150,6 +42170,10 @@ declare const judges: {
40150
42170
  readonly grounded: () => Gradeable<AIGrader>;
40151
42171
  readonly rightTone: (voice?: string) => Gradeable<AIGrader>;
40152
42172
  readonly safeToSend: () => Gradeable<AIGrader>;
42173
+ readonly staysOnTask: () => Gradeable<AIGrader>;
42174
+ readonly sameLanguage: () => Gradeable<AIGrader>;
42175
+ readonly refusesWhenItShould: () => Gradeable<AIGrader>;
42176
+ readonly noPersonalData: () => Gradeable<AIGrader>;
40153
42177
  };
40154
42178
  interface EvalMessage {
40155
42179
  role: 'user' | 'assistant' | 'system';
@@ -40288,6 +42312,11 @@ interface RunEvalResult {
40288
42312
  suiteId: string | null;
40289
42313
  name: string;
40290
42314
  targetType: 'flow' | 'agent';
42315
+ /**
42316
+ * The persisted run id (scores queryable via `GET /eval/runs/{runId}/scores`),
42317
+ * or `null` for an ephemeral (virtual/inline) run.
42318
+ */
42319
+ runId: string | null;
40291
42320
  /** Suite score, 0..1 (passed cases / total cases). */
40292
42321
  score: number;
40293
42322
  /** True when every case passed every grader. */
@@ -40296,6 +42325,32 @@ interface RunEvalResult {
40296
42325
  passedCases: number;
40297
42326
  cases: RunEvalCaseResult[];
40298
42327
  }
42328
+ /** One case's persisted scores, as returned by `GET /eval/runs/{runId}/scores`. */
42329
+ interface EvalRunCaseScores {
42330
+ /** The saved eval case id; null when the case was deleted or unmapped. */
42331
+ caseId: string | null;
42332
+ name: string;
42333
+ /** Recomputed from the persisted outcomes with non-strict severity semantics. */
42334
+ passed: boolean;
42335
+ outcomes: GraderOutcome[];
42336
+ /** Truncated snapshot of the output that was graded. */
42337
+ outputExcerpt: string;
42338
+ }
42339
+ /** Persisted per-case grader scores for a run (`client.evals.getRunScores`). */
42340
+ interface EvalRunScores {
42341
+ runId: string;
42342
+ /** The suite the run executed; null when the suite was since deleted. */
42343
+ suiteId: string | null;
42344
+ /** The eval name recorded on the run. */
42345
+ name: string | null;
42346
+ /** The severity semantics the run was graded with (soft misses fail when true). */
42347
+ strict: boolean;
42348
+ /** Suite score, 0..1; null when the run has no persisted scores. */
42349
+ score: number | null;
42350
+ totalCases: number;
42351
+ passedCases: number;
42352
+ cases: EvalRunCaseScores[];
42353
+ }
40299
42354
  /**
40300
42355
  * Run a saved suite by id (the post-`ensure` path) XOR an inline definition (the
40301
42356
  * `virtual` path — nothing is persisted). Exactly one must be provided.
@@ -40303,10 +42358,14 @@ interface RunEvalResult {
40303
42358
  * `strict` (default false) is the `runtype eval --strict` gate: a `soft` grader
40304
42359
  * miss fails its case like a `gate` miss. Without it, soft misses are reported
40305
42360
  * per-outcome but do not fail the suite.
42361
+ *
42362
+ * Saved-suite runs persist by default (a durable run + per-case scores, the
42363
+ * dashboard's run-history data source); `virtual: true` skips persistence.
40306
42364
  */
40307
42365
  type RunEvalInput = {
40308
42366
  suiteId: string;
40309
42367
  strict?: boolean;
42368
+ virtual?: boolean;
40310
42369
  } | {
40311
42370
  definition: EvalDefinition;
40312
42371
  strict?: boolean;
@@ -40569,6 +42628,8 @@ type SearchStepConfig = NamespaceStepConfig<SearchStepConfig$1>;
40569
42628
  type SendEmailStepConfig = NamespaceStepConfig<SendEmailStepConfig$1>;
40570
42629
  type SendStreamStepConfig = NamespaceStepConfig<SendStreamStepConfig$1>;
40571
42630
  type RetrieveRecordStepConfig = NamespaceStepConfig<RetrieveRecordStepConfig$1>;
42631
+ type GetRecordStepConfig = NamespaceStepConfig<GetRecordStepConfig$1>;
42632
+ type ListRecordsStepConfig = NamespaceStepConfig<ListRecordsStepConfig$1>;
40572
42633
  type UpsertRecordStepConfig = NamespaceStepConfig<UpsertRecordStepConfig$1>;
40573
42634
  type VectorSearchStepConfig = NamespaceStepConfig<VectorSearchStepConfig$1>;
40574
42635
  type GenerateEmbeddingStepConfig = NamespaceStepConfig<GenerateEmbeddingStepConfig$1>;
@@ -40755,8 +42816,17 @@ declare class RuntypeFlowBuilder {
40755
42816
  sendStream(config: SendStreamStepConfig): this;
40756
42817
  /**
40757
42818
  * Add a retrieve record step
42819
+ * @deprecated use {@link getRecord} (single record) or {@link listRecords} (multiple records) instead.
40758
42820
  */
40759
42821
  retrieveRecord(config: RetrieveRecordStepConfig): this;
42822
+ /**
42823
+ * Add a get-record step. Always returns a single record object.
42824
+ */
42825
+ getRecord(config: GetRecordStepConfig): this;
42826
+ /**
42827
+ * Add a list-records step. Always returns an array of records (newest-first).
42828
+ */
42829
+ listRecords(config: ListRecordsStepConfig): this;
40760
42830
  /**
40761
42831
  * Add an upsert record step
40762
42832
  */
@@ -41034,6 +43104,171 @@ declare class BatchesNamespace {
41034
43104
  }>;
41035
43105
  }
41036
43106
 
43107
+ /**
43108
+ * Eval-suite CRUD + case management + run — the SDK surface for the
43109
+ * `/v1/eval/suites` REST family (Beginner-First Evals).
43110
+ *
43111
+ * This is the imperative, id-addressed counterpart of the config-as-code
43112
+ * surface in `evals-ensure.ts` (`defineEval` / `ensure` / `pull`): use ensure
43113
+ * to converge a repo-authored suite on deploy, and this namespace to inspect
43114
+ * or manage suites, edit test cases (server-authoritative data), and start
43115
+ * runs. Exposed as `client.evals.suites.*`.
43116
+ */
43117
+
43118
+ /** The most recent run of a suite, with its score once graded. */
43119
+ interface EvalSuiteLatestRun {
43120
+ runId: string;
43121
+ status: string;
43122
+ startedAt: string;
43123
+ completedAt: string | null;
43124
+ /** Suite score of the run, 0..1; null while unscored. */
43125
+ score: number | null;
43126
+ totalCases: number | null;
43127
+ passedCases: number | null;
43128
+ }
43129
+ /** A suite as returned by list/update (no cases). */
43130
+ interface EvalSuiteSummary {
43131
+ id: string;
43132
+ name: string;
43133
+ description: string | null;
43134
+ targetType: 'flow' | 'agent';
43135
+ flowId: string | null;
43136
+ agentId: string | null;
43137
+ /** Display name of the target flow/agent; null when the target row is gone. */
43138
+ targetName: string | null;
43139
+ graders: GraderConfig[];
43140
+ isDefault: boolean;
43141
+ baselineBatchExecutionId: string | null;
43142
+ /** 'sdk' / 'terraform' mean the suite Definition is managed in code. */
43143
+ lastModifiedSource: string | null;
43144
+ caseCount: number;
43145
+ enabledCaseCount: number;
43146
+ latestRun: EvalSuiteLatestRun | null;
43147
+ createdAt: string;
43148
+ updatedAt: string;
43149
+ }
43150
+ /** A persisted test case. */
43151
+ interface EvalSuiteCase {
43152
+ id: string;
43153
+ suiteId: string;
43154
+ name: string;
43155
+ input: EvalCaseInput;
43156
+ expected: CaseExpected | null;
43157
+ notes: string | null;
43158
+ origin: string;
43159
+ enabled: boolean;
43160
+ createdAt: string;
43161
+ updatedAt: string;
43162
+ }
43163
+ /** A suite as returned by create/get — the summary plus its cases. */
43164
+ interface EvalSuiteDetail extends EvalSuiteSummary {
43165
+ cases: EvalSuiteCase[];
43166
+ }
43167
+ /** One case to create. */
43168
+ interface EvalSuiteCaseInput {
43169
+ name: string;
43170
+ input?: EvalCaseInput;
43171
+ expected?: CaseExpected;
43172
+ notes?: string;
43173
+ enabled?: boolean;
43174
+ }
43175
+ /** Input to `client.evals.suites.create`. Exactly one of flowId/agentId. */
43176
+ interface CreateEvalSuiteInput {
43177
+ name: string;
43178
+ description?: string;
43179
+ flowId?: string;
43180
+ agentId?: string;
43181
+ /** Ordered graders applied to every case. */
43182
+ graders?: GraderConfig[];
43183
+ /** Make this the default eval for its target. */
43184
+ isDefault?: boolean;
43185
+ /** Optional initial cases. */
43186
+ cases?: EvalSuiteCaseInput[];
43187
+ }
43188
+ /** Input to `client.evals.suites.update`. The target is immutable. */
43189
+ interface UpdateEvalSuiteInput {
43190
+ name?: string;
43191
+ description?: string | null;
43192
+ graders?: GraderConfig[];
43193
+ isDefault?: boolean;
43194
+ /** Pin a run of this suite as the comparison baseline; null clears the pin. */
43195
+ baselineBatchExecutionId?: string | null;
43196
+ }
43197
+ /** Input to `client.evals.suites.updateCase`. */
43198
+ interface UpdateEvalCaseInput {
43199
+ name?: string;
43200
+ input?: EvalCaseInput;
43201
+ expected?: CaseExpected | null;
43202
+ notes?: string | null;
43203
+ enabled?: boolean;
43204
+ }
43205
+ interface EvalSuiteListResult {
43206
+ suites: EvalSuiteSummary[];
43207
+ limit: number;
43208
+ offset: number;
43209
+ /** Number of suites in this page. */
43210
+ count: number;
43211
+ /** Total suites matching the filter across all pages (for offset pagination). */
43212
+ total: number;
43213
+ }
43214
+ /** A large suite queued as a durable run (graded when it completes). */
43215
+ interface EvalSuiteRunQueued {
43216
+ mode: 'batch';
43217
+ /** Poll `client.evals.getRunScores(runId)` once the run completes. */
43218
+ runId: string;
43219
+ suiteId: string;
43220
+ name: string;
43221
+ status: string;
43222
+ totalCases: number;
43223
+ }
43224
+ /**
43225
+ * The result of `client.evals.suites.run`: the full scored result when the
43226
+ * suite ran synchronously, or a queued handle for a durable run. Discriminate
43227
+ * with `'mode' in result` (queued) or `'cases' in result` (sync).
43228
+ */
43229
+ type EvalSuiteRunResult = RunEvalResult | EvalSuiteRunQueued;
43230
+ declare class EvalSuitesNamespace {
43231
+ private getClient;
43232
+ constructor(getClient: () => RuntypeClient$1);
43233
+ /** Create an eval suite attached to one flow or agent, optionally with cases. */
43234
+ create(input: CreateEvalSuiteInput): Promise<EvalSuiteDetail>;
43235
+ /** List suites (case counts + latest run/score). Filter by target. */
43236
+ list(params?: {
43237
+ flowId?: string;
43238
+ agentId?: string;
43239
+ limit?: number;
43240
+ offset?: number;
43241
+ }): Promise<EvalSuiteListResult>;
43242
+ /** Get a suite including its cases and latest run/score. */
43243
+ get(suiteId: string): Promise<EvalSuiteDetail>;
43244
+ /** Update a suite's Definition (name, description, graders) or state (default, baseline). */
43245
+ update(suiteId: string, input: UpdateEvalSuiteInput): Promise<EvalSuiteSummary>;
43246
+ /** Delete a suite and its cases. Past runs keep their persisted scores. */
43247
+ delete(suiteId: string): Promise<{
43248
+ success: boolean;
43249
+ }>;
43250
+ /**
43251
+ * Run every enabled case against the suite's target and grade the outputs.
43252
+ * Suites within the synchronous case limit run inline and return the scored
43253
+ * result; larger suites queue a durable run (`mode: 'batch'`) that is graded
43254
+ * on completion. Both persist per-case scores to the same run history.
43255
+ */
43256
+ run(suiteId: string, options?: {
43257
+ strict?: boolean;
43258
+ mode?: 'sync' | 'batch';
43259
+ }): Promise<EvalSuiteRunResult>;
43260
+ /** Add one or more test cases to a suite. */
43261
+ addCases(suiteId: string, cases: EvalSuiteCaseInput[]): Promise<{
43262
+ cases: EvalSuiteCase[];
43263
+ }>;
43264
+ /** Edit, enable, or disable a test case. */
43265
+ updateCase(suiteId: string, caseId: string, input: UpdateEvalCaseInput): Promise<EvalSuiteCase>;
43266
+ /** Delete a test case. Past runs keep the case's persisted scores. */
43267
+ deleteCase(suiteId: string, caseId: string): Promise<{
43268
+ success: boolean;
43269
+ }>;
43270
+ }
43271
+
41037
43272
  /**
41038
43273
  * EvalsNamespace - Static namespace for evaluation operations
41039
43274
  *
@@ -41186,6 +43421,17 @@ declare class EvalRunner {
41186
43421
  }
41187
43422
  declare class EvalsNamespace {
41188
43423
  private getClient;
43424
+ /**
43425
+ * Id-addressed eval-suite management (`/v1/eval/suites` CRUD + cases + run).
43426
+ * The imperative counterpart of the config-as-code `ensure`/`pull` pair.
43427
+ *
43428
+ * @example
43429
+ * ```typescript
43430
+ * const { suites } = await Runtype.evals.suites.list({ flowId: 'flow_123' })
43431
+ * const result = await Runtype.evals.suites.run(suites[0].id)
43432
+ * ```
43433
+ */
43434
+ readonly suites: EvalSuitesNamespace;
41189
43435
  constructor(getClient: () => RuntypeClient$1);
41190
43436
  /**
41191
43437
  * Run an evaluation
@@ -41253,6 +43499,20 @@ declare class EvalsNamespace {
41253
43499
  * ```
41254
43500
  */
41255
43501
  runSuite(input: RunEvalInput): Promise<RunEvalResult>;
43502
+ /**
43503
+ * Read back the persisted per-case grader scores for a run, using the
43504
+ * `runId` a persisted `runSuite` call returns (null for virtual/inline runs).
43505
+ *
43506
+ * @example
43507
+ * ```typescript
43508
+ * const result = await Runtype.evals.runSuite({ suiteId })
43509
+ * if (result.runId) {
43510
+ * const scores = await Runtype.evals.getRunScores(result.runId)
43511
+ * console.log(scores.score, scores.cases.length)
43512
+ * }
43513
+ * ```
43514
+ */
43515
+ getRunScores(runId: string): Promise<EvalRunScores>;
41256
43516
  /**
41257
43517
  * Get evaluation status by ID
41258
43518
  *
@@ -43071,6 +45331,10 @@ declare class RuntypeClient$1 {
43071
45331
  * Generic PUT request
43072
45332
  */
43073
45333
  put<T>(path: string, data?: unknown): Promise<T>;
45334
+ /**
45335
+ * Generic PATCH request
45336
+ */
45337
+ patch<T>(path: string, data?: unknown): Promise<T>;
43074
45338
  /**
43075
45339
  * Generic DELETE request
43076
45340
  */
@@ -45010,9 +47274,31 @@ interface AgentExecuteResponse {
45010
47274
  input: number;
45011
47275
  output: number;
45012
47276
  };
45013
- stopReason: 'complete' | 'end_turn' | 'max_turns' | 'max_cost' | 'timeout' | 'error';
47277
+ stopReason: 'complete' | 'end_turn' | 'max_turns' | 'max_cost' | 'timeout' | 'error' | 'paused';
45014
47278
  reflections?: string[];
45015
47279
  error?: string;
47280
+ /**
47281
+ * Terminal execution status. `'paused'` when a tool call tripped an approval
47282
+ * gate (`config.tools.approval`) or a local/client tool call — the run is
47283
+ * awaiting the caller, not finished. Present on non-streaming responses.
47284
+ */
47285
+ status?: 'completed' | 'failed' | 'paused';
47286
+ /**
47287
+ * Set when `status === 'paused'`. Resolve an approval gate with
47288
+ * `AgentsEndpoint.approve({ executionId, approvalId, decision })`; resume a
47289
+ * local-tool pause with `AgentsEndpoint.resume({ executionId, toolOutputs })`.
47290
+ */
47291
+ pausedReason?: {
47292
+ type: string;
47293
+ executionId: string;
47294
+ toolId?: string;
47295
+ toolName?: string;
47296
+ parameters?: Record<string, unknown>;
47297
+ /** `'approval_required'` for an approval gate; absent for a local-tool pause. */
47298
+ awaitReason?: string;
47299
+ /** The id passed to `approve()` (with `executionId`) to resolve the gate. */
47300
+ approvalId?: string;
47301
+ };
45016
47302
  }
45017
47303
  interface LocalToolExecutionLoopSnapshot {
45018
47304
  executionId: string;
@@ -47274,6 +49560,73 @@ declare const STEP_FIELD_REGISTRY: {
47274
49560
  readonly key: "streamOutput";
47275
49561
  readonly format: "raw";
47276
49562
  }];
49563
+ readonly 'get-record': readonly [{
49564
+ readonly key: "recordId";
49565
+ readonly format: "json";
49566
+ }, {
49567
+ readonly key: "recordType";
49568
+ readonly format: "json";
49569
+ }, {
49570
+ readonly key: "recordName";
49571
+ readonly format: "json";
49572
+ }, {
49573
+ readonly key: "recordFilter";
49574
+ readonly format: "value";
49575
+ }, {
49576
+ readonly key: "fieldsToInclude";
49577
+ readonly format: "json";
49578
+ }, {
49579
+ readonly key: "fieldsToExclude";
49580
+ readonly format: "json";
49581
+ }, {
49582
+ readonly key: "availableFields";
49583
+ readonly format: "value";
49584
+ }, {
49585
+ readonly key: "outputVariable";
49586
+ readonly format: "json";
49587
+ }, {
49588
+ readonly key: "includeMetadata";
49589
+ readonly format: "raw";
49590
+ }, {
49591
+ readonly key: "streamOutput";
49592
+ readonly format: "raw";
49593
+ }];
49594
+ readonly 'list-records': readonly [{
49595
+ readonly key: "recordType";
49596
+ readonly format: "json";
49597
+ }, {
49598
+ readonly key: "recordName";
49599
+ readonly format: "json";
49600
+ }, {
49601
+ readonly key: "recordFilter";
49602
+ readonly format: "value";
49603
+ }, {
49604
+ readonly key: "limit";
49605
+ readonly format: "raw";
49606
+ readonly skipDefault: 50;
49607
+ }, {
49608
+ readonly key: "onEmpty";
49609
+ readonly format: "json";
49610
+ readonly skipDefault: "succeed";
49611
+ }, {
49612
+ readonly key: "fieldsToInclude";
49613
+ readonly format: "json";
49614
+ }, {
49615
+ readonly key: "fieldsToExclude";
49616
+ readonly format: "json";
49617
+ }, {
49618
+ readonly key: "availableFields";
49619
+ readonly format: "value";
49620
+ }, {
49621
+ readonly key: "outputVariable";
49622
+ readonly format: "json";
49623
+ }, {
49624
+ readonly key: "includeMetadata";
49625
+ readonly format: "raw";
49626
+ }, {
49627
+ readonly key: "streamOutput";
49628
+ readonly format: "raw";
49629
+ }];
47277
49630
  readonly 'upsert-record': readonly [{
47278
49631
  readonly key: "recordType";
47279
49632
  readonly format: "json";
@@ -47518,6 +49871,8 @@ declare const STEP_TYPE_TO_METHOD: {
47518
49871
  readonly 'fetch-url': "fetchUrl";
47519
49872
  readonly 'api-call': "apiCall";
47520
49873
  readonly 'retrieve-record': "retrieveRecord";
49874
+ readonly 'get-record': "getRecord";
49875
+ readonly 'list-records': "listRecords";
47521
49876
  readonly 'fetch-github': "fetchGitHub";
47522
49877
  readonly 'transform-data': "transformData";
47523
49878
  readonly template: "template";
@@ -47891,4 +50246,4 @@ declare function getLikelySupportingCandidatePaths(bestCandidatePath: string | u
47891
50246
  declare function getDefaultPlanPath(taskName: string): string;
47892
50247
  declare function sanitizeTaskSlug(taskName: string): string;
47893
50248
 
47894
- export { type AIGrader, type Agent, type AgentApprovalCompleteEvent, type AgentApprovalStartEvent, type AgentCompleteEvent, type AgentDefinition, type AgentDefinitionConfig, AgentDriftError, AgentEnsureConflictError, type AgentErrorEvent, type AgentEvent, type AgentEventType, type AgentExecuteRequest, type AgentExecuteResponse, type AgentIterationCompleteEvent, type AgentIterationStartEvent, type AgentMediaEvent, type AgentMessage, type AgentPausedEvent, type AgentPingEvent, type AgentPullResult, type AgentReflectionEvent, type AgentRuntimeToolDefinition, type AgentStartEvent, type AgentStreamCallbacks, type AgentStreamEvent, type AgentSubagentConfig, type AgentToolCompleteEvent, type AgentToolDeltaEvent, type AgentToolInputCompleteEvent, type AgentToolInputDeltaEvent, type AgentToolStartEvent, type AgentTurnCompleteEvent, type AgentTurnDeltaEvent, type AgentTurnStartEvent, type AgentVersionDetail, type AgentVersionListItem, type AgentVersionPublishResponse, AgentVersionsEndpoint, type AgentVersionsListResponse, AgentsEndpoint, AgentsNamespace, AnalyticsEndpoint, type ApiClient, type ApiKey, ApiKeysEndpoint, type ApiResponse, type App, type AppManifest, type AppVersion, type ApplyGeneratedProposalOptions, type ApplyGeneratedProposalResult, AppsEndpoint, type AssetReferenceContentPart, type AttachRuntimeToolsOptions, type BaseAgentEvent, BatchBuilder, type BatchClient, type BatchListParams, type BatchOptions, type BatchRequest, type BatchResult, type BatchScheduleConfig, type BatchStatus, BatchesNamespace, BillingEndpoint, type BillingSpendAnalyticsParams, type BindSkillInput, type BuiltInGraderId, type BuiltInTool, type BulkEditCondition, type BulkEditRequest, type BulkEditResponse, type BulkEditResult, type CaseExpected, ChatEndpoint, type CheckGrader, ClientBatchBuilder, type ClientConfig, type ClientConversation, ClientEvalBuilder, ClientFlowBuilder, type ClientToken, type ClientTokenConfig, type ClientTokenEnvironment, type ClientTokenVersionPin, ClientTokensEndpoint, type ClientToolDefinition, type ClientWidgetTheme, type ConditionalGetResult, type ConditionalStepConfig$1 as ConditionalStepConfig, type ContextErrorHandling, type ContextFallback, ContextTemplatesEndpoint, type Conversation, type ConversationListItem, type ConversationListParams, type ConversationMessage, type ConversationSource, ConversationsEndpoint, type ConversationsListResponse, type CreateApiKeyRequest, type CreateAppRequest, type CreateClientTokenRequest, type CreateClientTokenResponse, type CreateConversationRequest, type CreateFlowRequest, type CreateModelConfigRequest, type CreatePromptData, type CreatePromptRequest, type CreateProviderKeyRequest, type CreateRecordRequest, type CreateScheduleRequest, type CreateSecretRequest, type CreateToolRequest, type CustomMCPServer, type CustomMCPServerAuth, type CustomToolConfig, DEFAULT_RECOVERY_AFTER_EMPTY_SESSIONS, DEFAULT_STALL_STOP_AFTER, type DefineAgentInput, type DefineEvalCaseInput, type DefineEvalInput, type DefineFlowInput, type DefineProductInput, type DefineSkillInput, type DefineSurfaceInput, type DefineToolInput, type DeployCfSandboxRequest, type DeployCfSandboxResponse, type DeploySandboxRequest, type DeploySandboxResponse, type DiscoveredModel, type DispatchClient, DispatchEndpoint, type DispatchEnvironment, type DispatchEvent, type DispatchOptions$1 as DispatchOptions, type DispatchRequest, type EnsureAgentConverged, type EnsureAgentOptions, type EnsureAgentPlan, type EnsureAgentResult, type EnsureEvalResult, type EnsureFlowConverged, type EnsureFlowOptions, type EnsureFlowPlan, type EnsureFlowResult, type EnsureFpoOptions, type EnsureFpoResult, type EnsureProductConverged, type EnsureProductOptions, type EnsureProductPlan, type EnsureProductResult, type EnsureSkillConverged, type EnsureSkillOptions, type EnsureSkillPlan, type EnsureSkillResult, type EnsureSurfaceConverged, type EnsureSurfaceOptions, type EnsureSurfacePlan, type EnsureSurfaceResult, type EnsureToolConverged, type EnsureToolOptions, type EnsureToolPlan, type EnsureToolResult, type ErrorHandlingMode, EvalBuilder, type EvalCaseDefinition, type EvalCaseInput, type EvalClient, type EvalDefinition, EvalEndpoint, type EvalListParams, type EvalMessage, type EvalOptions, type EvalPullResult, type EvalRecord, type EvalRequest, type EvalResult, type EvalRunConfig, EvalRunner, type EvalStatus, type EvalTarget, EvalsNamespace, type ExecuteToolRequest, type ExecuteToolResponse, type ExecutionStreamEvent, type ExternalAgentContext, type ExternalToolConfig, type FallbackFailEvent, type FallbackStartEvent, type FallbackSuccessEvent, type FallbackTrigger, type FallbackTriggerType, type FallbacksExhaustedEvent, type FallbacksInitiatedEvent, type FetchGitHubStepConfig$1 as FetchGitHubStepConfig, type FetchUrlStepConfig$1 as FetchUrlStepConfig, type FieldFormat, type FileContentPart, type Flow, type FlowAttachment, FlowBuilder, type FlowCompleteEvent, type FlowConfig$1 as FlowConfig, type FlowDefinition, type FlowDefinitionStep, FlowDriftError, FlowEnsureConflictError, type FlowErrorEvent, type FlowFallback, type FlowInlineEvalInput, type FlowListItem, type FlowPausedEvent, type FlowPullResult, FlowResult, type FlowStartEvent, type FlowStep, type FlowStepDefinition, type FlowStepType, FlowStepsEndpoint, type FlowStreamEvent, type FlowSummary, type FlowToolConfig, type FlowValidationClient, type FlowValidationIssue, type FlowValidationResult, type FlowVersionDetail, type FlowVersionListItem, type FlowVersionPublishResponse, FlowVersionsEndpoint, type FlowVersionsListResponse, FlowsEndpoint, FlowsNamespace, type FpoEntityOutcome, type FpoInput, type GenerateEmbeddingStepConfig$1 as GenerateEmbeddingStepConfig, type GeneratedRuntimeToolGateDecision, type GeneratedRuntimeToolGateOptions, type Gradeable, type GraderConfig, type GraderOutcome, type GraderSeverity, type ImageContentPart, type Integration, type IntegrationTool, IntegrationsEndpoint, type IntegrationsListResponse, type JSONSchema, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, LEDGER_ARTIFACT_LINE_PREFIX, type ListConversationsResponse, type ListParams, type LocalToolConfig, type LocalToolDefinition, type LocalToolExecutionCompleteEvent, type LocalToolExecutionLoopSnapshotSlice, type LocalToolExecutionStartEvent, type LogEntry, type LogQueryParams, type LogQueryResponse, type LogQueryResult, type LogStatsParams, type LogStatsResponse, type LogStatsResult, LogsEndpoint, type Message$1 as Message, type MessageContent, type MessageFallback, type Metadata, type ModelConfig, ModelConfigsEndpoint, type ModelFallback, type ModelOverride, type ModelUsageDetail, type ModelUsageQueryParams, type ModelUsageResponse, type ModelUsageSummary, type ModelUsageTimeSeries, type PaginationResponse, type ProductDefinition, ProductDriftError, ProductEnsureConflictError, type ProductPullResult, ProductsNamespace, type Prompt$1 as Prompt, type PromptErrorHandling, type PromptFallback, type PromptListParams, type PromptStepConfig$1 as PromptStepConfig, PromptsEndpoint, PromptsNamespace, type ProviderApiKey, type ProviderKeyModel, ProviderKeysEndpoint, type PullFpoResult, RUNTYPE_CLIENT_KIND, type ReasoningConfig, type ReasoningContentPart, type ReasoningValue, type RecordConfig$1 as RecordConfig, type RecordCostAggregation, type RecordCostModelBreakdown, type RecordFilter, type RecordFilterCondition, type RecordFilterGroup, type RecordFilterOperator, type RecordListItem, type RecordListParams, type RecordStepResult, type RecordStepResultsParams, type RecordStepResultsResponse, type RecordWriteResponse, RecordsEndpoint, type RetrieveRecordStepConfig$1 as RetrieveRecordStepConfig, type RetryFallback, type RunEvalCaseResult, type RunEvalInput, type RunEvalResult, type RunTaskContextBudgetBreakdown, type RunTaskContextCompactionEvent, type RunTaskContextCompactionStrategy, type RunTaskContextNoticeEvent, type RunTaskContextSummaryEntry, type RunTaskContinuation, type RunTaskOffloadRecorder, type RunTaskOnContextCompaction, type RunTaskOnContextNotice, type RunTaskOnSession, type RunTaskOptions, type RunTaskResult, type RunTaskResumeState, type RunTaskSessionSummary, type RunTaskState, type RunTaskStateSlice, type RunTaskStatus, type RunTaskToolTraceSlice, type RuntimeCustomToolConfig, type RuntimeExternalToolConfig, type RuntimeFlowToolConfig, type RuntimeLocalToolConfig, type RuntimeSubagentToolConfig, type RuntimeTool, type RuntimeToolConfig, Runtype, type AgentSkillBinding as RuntypeAgentSkillBinding, RuntypeApiError, RuntypeClient, type ConditionalStepConfig as RuntypeConditionalStepConfig, type RuntypeConfig, type FetchGitHubStepConfig as RuntypeFetchGitHubStepConfig, type FetchUrlStepConfig as RuntypeFetchUrlStepConfig, RuntypeFlowBuilder, type FlowConfig as RuntypeFlowConfig, type GenerateEmbeddingStepConfig as RuntypeGenerateEmbeddingStepConfig, type Message as RuntypeMessage, type ModelOverride$1 as RuntypeModelOverride, type Prompt as RuntypePrompt, type PromptStepConfig as RuntypePromptStepConfig, type RuntypeRecord, type RecordConfig as RuntypeRecordConfig, type RetrieveRecordStepConfig as RuntypeRetrieveRecordStepConfig, type SearchStepConfig as RuntypeSearchStepConfig, type SendEmailStepConfig as RuntypeSendEmailStepConfig, type SendEventStepConfig as RuntypeSendEventStepConfig, type SendStreamStepConfig as RuntypeSendStreamStepConfig, type SendTextStepConfig as RuntypeSendTextStepConfig, type SetVariableStepConfig as RuntypeSetVariableStepConfig, type Skill as RuntypeSkill, type SkillCapabilities as RuntypeSkillCapabilities, type SkillFrontmatter as RuntypeSkillFrontmatter, type SkillManifest as RuntypeSkillManifest, type SkillProposal as RuntypeSkillProposal, type SkillRuntypeExtensions as RuntypeSkillRuntypeExtensions, type SkillScanFinding as RuntypeSkillScanFinding, type SkillScanResult as RuntypeSkillScanResult, type SkillScanVerdict as RuntypeSkillScanVerdict, type SkillVersion as RuntypeSkillVersion, type TransformDataStepConfig as RuntypeTransformDataStepConfig, type UpsertFlowConfig as RuntypeUpsertFlowConfig, type UpsertRecordStepConfig as RuntypeUpsertRecordStepConfig, type VectorSearchStepConfig as RuntypeVectorSearchStepConfig, type WaitUntilStepConfig as RuntypeWaitUntilStepConfig, SDK_USER_AGENT, SDK_VERSION, STEP_FIELD_REGISTRY, STEP_TYPE_TO_METHOD, type Schedule, type ScheduleExecutionOptions, type ScheduleListParams, type ScheduleMessage, type ScheduleMessageSet, type ScheduleMessages, type ScheduleMutationResponse, type ScheduleRun, type ScheduleRunNowResponse, type ScheduleStatusResponse, type ScheduleTarget, type ScheduleTrigger, SchedulesEndpoint, type SearchStepConfig$1 as SearchStepConfig, type Secret, type SecretCheckResponse, type SecretDeleteResponse, type SecretSetupUrlRequest, type SecretSetupUrlResponse, SecretsEndpoint, type SendEmailStepConfig$1 as SendEmailStepConfig, type SendEventStepConfig$1 as SendEventStepConfig, type SendStreamStepConfig$1 as SendStreamStepConfig, type SendTextStepConfig$1 as SendTextStepConfig, type SetVariableStepConfig$1 as SetVariableStepConfig, type SkillDefinition, SkillDriftError, SkillEnsureConflictError, type SkillListPage, type SkillListPagination, type SkillListParams, type SkillManifestInput, type SkillMarkdownInput, type SkillOrigin, type SkillProposalStatus, SkillProposalsNamespace, type SkillPullResult, type SkillStatus, type SkillTrustLevel, type SkillVersionStatus, type SkillWithVersion, type SkillWriteInput, SkillsNamespace, type SlackInstallRequest, type StepCompleteEvent, type StepDeltaEvent, type StepFallback, type StepFieldMeta, type StepStartEvent, type StepWaitingLocalEvent, type StreamCallbacks, type StreamConsumeOptions, type StreamEvent, type StreamEventOf, type SubagentToolConfig, type Surface, type SurfaceDefinition, type SurfaceDefinitionEnvironment, type SurfaceDefinitionStatus, type SurfaceDefinitionType, SurfaceDriftError, SurfaceEnsureConflictError, type SurfaceListParams, type SurfacePullResult, SurfacesEndpoint, SurfacesNamespace, type TextContentPart, type Tool, type ToolApprovalGrant, ToolApprovalGrantsEndpoint, type ToolConfig, type ToolDefinition, type ToolDefinitionType, ToolDriftError, ToolEnsureConflictError, type ToolPullResult, type ToolWithValidation, type ToolsConfig, ToolsEndpoint, ToolsNamespace, type TransformDataStepConfig$1 as TransformDataStepConfig, UNIFIED_EVENTS_QUERY, type UpdateAppRequest, type UpdateClientTokenRequest, type UpdateConversationRequest, type UpdatePromptData, type UpdateProviderKeyRequest, type UpdateScheduleRequest, type UpdateSecretRequest, type UpdateToolRequest, type UpdatedFlow, type UpsertFlowConfig$1 as UpsertFlowConfig, type UpsertOptions, type UpsertRecordStepConfig$1 as UpsertRecordStepConfig, type UserProfile, UsersEndpoint, type VectorSearchStepConfig$1 as VectorSearchStepConfig, type VersionType, type WaitUntilStepConfig$1 as WaitUntilStepConfig, type WorkflowCompileDeps, type WorkflowCompletionCriteriaConfig, type WorkflowConfig, type WorkflowConfigFactory, type WorkflowContext, type WorkflowDefinition, type WorkflowHookEntry, type WorkflowHookKind, type WorkflowHookRef, type WorkflowHookSignatures, type WorkflowMilestoneConfig, type WorkflowPhase, type WorkflowPolicyConfig, type WorkflowRecoveryConfig, type WorkflowSlot, type WorkflowStallPolicy, applyGeneratedRuntimeToolProposalToDispatchRequest, attachRuntimeToolsToDispatchRequest, buildEmptySessionNudge, buildGeneratedRuntimeToolGateOutput, buildLedgerOffloadReference, buildPolicyGuidance, buildSendViewOffloadMarker, calledTool, compileWorkflowConfig, completed, computeAgentContentHash, computeEvalContentHash, computeFlowContentHash, computeFpoContentHash, computeProductContentHash, computeSkillContentHash, computeSurfaceContentHash, computeToolContentHash, contains, cost, createAgentEventTranslator, createClient, createExternalTool, createFlowEventTranslator, defaultWorkflow, defaultWorkflowConfig, defineAgent, defineEval, defineFlow, defineFpo, definePlaybook, defineProduct, defineSkill, defineSurface, defineTool, deployWorkflow, ensureDefaultWorkflowHooks, ensureEval, ensureFpo, evaluateGeneratedRuntimeToolProposal, extractDeclaredToolResultChars, gameWorkflow, getDefaultPlanPath, getLikelySupportingCandidatePaths, interpolateWorkflowTemplate, isDiscoveryToolName, isMarathonArtifactPath, isPreservationSensitiveTask, isUnifiedEventType, isWorkflowHookRef, jsonField, judge, judges, latency, length, listWorkflowHooks, matchesExpected, maxToolCalls, noError, normalizeAgentDefinition, normalizeCandidatePath, normalizeFpoDefinition, normalizeProductDefinition, normalizeSkillDefinition, normalizeSurfaceDefinition, normalizeToolDefinition, notCalledTool, notContains, parseFinalBuffer, parseLedgerArtifactRelativePath, parseOffloadedOutputId, parseSSEChunk, processStream, pullEval, pullFpo, ranStep, regex, registerWorkflowHook, resolveStallStopAfter, resolveWorkflowHook, runEvalSuite, sanitizeTaskSlug, shouldInjectEmptySessionNudge, shouldRequestModelEscalation, stepOrder, streamEvents, toolOrder, unregisterWorkflowHook, usedNoTools, validJson, withUnifiedEvents };
50249
+ export { type AIGrader, type Agent, type AgentApprovalCompleteEvent, type AgentApprovalStartEvent, type AgentCompleteEvent, type AgentDefinition, type AgentDefinitionConfig, AgentDriftError, AgentEnsureConflictError, type AgentErrorEvent, type AgentEvent, type AgentEventType, type AgentExecuteRequest, type AgentExecuteResponse, type AgentIterationCompleteEvent, type AgentIterationStartEvent, type AgentMediaEvent, type AgentMessage, type AgentPausedEvent, type AgentPingEvent, type AgentPullResult, type AgentReflectionEvent, type AgentRuntimeToolDefinition, type AgentStartEvent, type AgentStreamCallbacks, type AgentStreamEvent, type AgentSubagentConfig, type AgentToolCompleteEvent, type AgentToolDeltaEvent, type AgentToolInputCompleteEvent, type AgentToolInputDeltaEvent, type AgentToolStartEvent, type AgentTurnCompleteEvent, type AgentTurnDeltaEvent, type AgentTurnStartEvent, type AgentVersionDetail, type AgentVersionListItem, type AgentVersionPublishResponse, AgentVersionsEndpoint, type AgentVersionsListResponse, AgentsEndpoint, AgentsNamespace, AnalyticsEndpoint, type ApiClient, type ApiKey, ApiKeysEndpoint, type ApiResponse, type App, type AppManifest, type AppVersion, type ApplyGeneratedProposalOptions, type ApplyGeneratedProposalResult, AppsEndpoint, type AssetReferenceContentPart, type AttachRuntimeToolsOptions, type BaseAgentEvent, BatchBuilder, type BatchClient, type BatchListParams, type BatchOptions, type BatchRequest, type BatchResult, type BatchScheduleConfig, type BatchStatus, BatchesNamespace, BillingEndpoint, type BillingSpendAnalyticsParams, type BindSkillInput, type BuiltInGraderId, type BuiltInTool, type BulkEditCondition, type BulkEditRequest, type BulkEditResponse, type BulkEditResult, type CaseExpected, ChatEndpoint, type CheckGrader, ClientBatchBuilder, type ClientConfig, type ClientConversation, ClientEvalBuilder, ClientFlowBuilder, type ClientToken, type ClientTokenConfig, type ClientTokenEnvironment, type ClientTokenVersionPin, ClientTokensEndpoint, type ClientToolDefinition, type ClientWidgetTheme, type ConditionalGetResult, type ConditionalStepConfig$1 as ConditionalStepConfig, type ContextErrorHandling, type ContextFallback, ContextTemplatesEndpoint, type Conversation, type ConversationListItem, type ConversationListParams, type ConversationMessage, type ConversationSource, ConversationsEndpoint, type ConversationsListResponse, type CreateApiKeyRequest, type CreateAppRequest, type CreateClientTokenRequest, type CreateClientTokenResponse, type CreateConversationRequest, type CreateEvalSuiteInput, type CreateFlowRequest, type CreateModelConfigRequest, type CreatePromptData, type CreatePromptRequest, type CreateProviderKeyRequest, type CreateRecordRequest, type CreateScheduleRequest, type CreateSecretRequest, type CreateToolRequest, type CustomMCPServer, type CustomMCPServerAuth, type CustomToolConfig, DEFAULT_RECOVERY_AFTER_EMPTY_SESSIONS, DEFAULT_STALL_STOP_AFTER, type DefineAgentInput, type DefineEvalCaseInput, type DefineEvalInput, type DefineFlowInput, type DefineProductInput, type DefineSkillInput, type DefineSurfaceInput, type DefineToolInput, type DeployCfSandboxRequest, type DeployCfSandboxResponse, type DeploySandboxRequest, type DeploySandboxResponse, type DiscoveredModel, type DispatchClient, DispatchEndpoint, type DispatchEnvironment, type DispatchEvent, type DispatchOptions$1 as DispatchOptions, type DispatchRequest, type EnsureAgentConverged, type EnsureAgentOptions, type EnsureAgentPlan, type EnsureAgentResult, type EnsureEvalResult, type EnsureFlowConverged, type EnsureFlowOptions, type EnsureFlowPlan, type EnsureFlowResult, type EnsureFpoOptions, type EnsureFpoResult, type EnsureProductConverged, type EnsureProductOptions, type EnsureProductPlan, type EnsureProductResult, type EnsureSkillConverged, type EnsureSkillOptions, type EnsureSkillPlan, type EnsureSkillResult, type EnsureSurfaceConverged, type EnsureSurfaceOptions, type EnsureSurfacePlan, type EnsureSurfaceResult, type EnsureToolConverged, type EnsureToolOptions, type EnsureToolPlan, type EnsureToolResult, type ErrorHandlingMode, EvalBuilder, type EvalCaseDefinition, type EvalCaseInput, type EvalClient, type EvalDefinition, EvalEndpoint, type EvalListParams, type EvalMessage, type EvalOptions, type EvalPullResult, type EvalRecord, type EvalRequest, type EvalResult, type EvalRunCaseScores, type EvalRunConfig, type EvalRunScores, EvalRunner, type EvalStatus, type EvalSuiteCase, type EvalSuiteCaseInput, type EvalSuiteDetail, type EvalSuiteLatestRun, type EvalSuiteListResult, type EvalSuiteRunQueued, type EvalSuiteRunResult, type EvalSuiteSummary, EvalSuitesNamespace, type EvalTarget, EvalsNamespace, type ExecuteToolRequest, type ExecuteToolResponse, type ExecutionStreamEvent, type ExternalAgentContext, type ExternalToolConfig, type FallbackFailEvent, type FallbackStartEvent, type FallbackSuccessEvent, type FallbackTrigger, type FallbackTriggerType, type FallbacksExhaustedEvent, type FallbacksInitiatedEvent, type FetchGitHubStepConfig$1 as FetchGitHubStepConfig, type FetchUrlStepConfig$1 as FetchUrlStepConfig, type FieldFormat, type FileContentPart, type Flow, type FlowAttachment, FlowBuilder, type FlowCompleteEvent, type FlowConfig$1 as FlowConfig, type FlowDefinition, type FlowDefinitionStep, FlowDriftError, FlowEnsureConflictError, type FlowErrorEvent, type FlowFallback, type FlowInlineEvalInput, type FlowListItem, type FlowPausedEvent, type FlowPullResult, FlowResult, type FlowStartEvent, type FlowStep, type FlowStepDefinition, type FlowStepType, FlowStepsEndpoint, type FlowStreamEvent, type FlowSummary, type FlowToolConfig, type FlowValidationClient, type FlowValidationIssue, type FlowValidationResult, type FlowVersionDetail, type FlowVersionListItem, type FlowVersionPublishResponse, FlowVersionsEndpoint, type FlowVersionsListResponse, FlowsEndpoint, FlowsNamespace, type FpoEntityOutcome, type FpoInput, type GenerateEmbeddingStepConfig$1 as GenerateEmbeddingStepConfig, type GeneratedRuntimeToolGateDecision, type GeneratedRuntimeToolGateOptions, type GetRecordStepConfig$1 as GetRecordStepConfig, type Gradeable, type GraderConfig, type GraderOutcome, type GraderSeverity, type ImageContentPart, type Integration, type IntegrationTool, IntegrationsEndpoint, type IntegrationsListResponse, type JSONSchema, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, LEDGER_ARTIFACT_LINE_PREFIX, type ListConversationsResponse, type ListParams, type ListRecordsStepConfig$1 as ListRecordsStepConfig, type LocalToolConfig, type LocalToolDefinition, type LocalToolExecutionCompleteEvent, type LocalToolExecutionLoopSnapshotSlice, type LocalToolExecutionStartEvent, type LogEntry, type LogQueryParams, type LogQueryResponse, type LogQueryResult, type LogStatsParams, type LogStatsResponse, type LogStatsResult, LogsEndpoint, type Message$1 as Message, type MessageContent, type MessageFallback, type Metadata, type ModelConfig, ModelConfigsEndpoint, type ModelFallback, type ModelOverride, type ModelUsageDetail, type ModelUsageQueryParams, type ModelUsageResponse, type ModelUsageSummary, type ModelUsageTimeSeries, type PaginationResponse, type ProductDefinition, ProductDriftError, ProductEnsureConflictError, type ProductPullResult, ProductsNamespace, type Prompt$1 as Prompt, type PromptErrorHandling, type PromptFallback, type PromptListParams, type PromptStepConfig$1 as PromptStepConfig, PromptsEndpoint, PromptsNamespace, type ProviderApiKey, type ProviderKeyModel, ProviderKeysEndpoint, type PullFpoResult, RUNTYPE_CLIENT_KIND, type ReasoningConfig, type ReasoningContentPart, type ReasoningValue, type RecordConfig$1 as RecordConfig, type RecordCostAggregation, type RecordCostModelBreakdown, type RecordFilter, type RecordFilterCondition, type RecordFilterGroup, type RecordFilterOperator, type RecordListItem, type RecordListParams, type RecordStepResult, type RecordStepResultsParams, type RecordStepResultsResponse, type RecordWriteResponse, RecordsEndpoint, type RetrieveRecordStepConfig$1 as RetrieveRecordStepConfig, type RetryFallback, type RunEvalCaseResult, type RunEvalInput, type RunEvalResult, type RunTaskContextBudgetBreakdown, type RunTaskContextCompactionEvent, type RunTaskContextCompactionStrategy, type RunTaskContextNoticeEvent, type RunTaskContextSummaryEntry, type RunTaskContinuation, type RunTaskOffloadRecorder, type RunTaskOnContextCompaction, type RunTaskOnContextNotice, type RunTaskOnSession, type RunTaskOptions, type RunTaskResult, type RunTaskResumeState, type RunTaskSessionSummary, type RunTaskState, type RunTaskStateSlice, type RunTaskStatus, type RunTaskToolTraceSlice, type RuntimeCustomToolConfig, type RuntimeExternalToolConfig, type RuntimeFlowToolConfig, type RuntimeLocalToolConfig, type RuntimeSubagentToolConfig, type RuntimeTool, type RuntimeToolConfig, Runtype, type AgentSkillBinding as RuntypeAgentSkillBinding, RuntypeApiError, RuntypeClient, type ConditionalStepConfig as RuntypeConditionalStepConfig, type RuntypeConfig, type FetchGitHubStepConfig as RuntypeFetchGitHubStepConfig, type FetchUrlStepConfig as RuntypeFetchUrlStepConfig, RuntypeFlowBuilder, type FlowConfig as RuntypeFlowConfig, type GenerateEmbeddingStepConfig as RuntypeGenerateEmbeddingStepConfig, type GetRecordStepConfig as RuntypeGetRecordStepConfig, type ListRecordsStepConfig as RuntypeListRecordsStepConfig, type Message as RuntypeMessage, type ModelOverride$1 as RuntypeModelOverride, type Prompt as RuntypePrompt, type PromptStepConfig as RuntypePromptStepConfig, type RuntypeRecord, type RecordConfig as RuntypeRecordConfig, type RetrieveRecordStepConfig as RuntypeRetrieveRecordStepConfig, type SearchStepConfig as RuntypeSearchStepConfig, type SendEmailStepConfig as RuntypeSendEmailStepConfig, type SendEventStepConfig as RuntypeSendEventStepConfig, type SendStreamStepConfig as RuntypeSendStreamStepConfig, type SendTextStepConfig as RuntypeSendTextStepConfig, type SetVariableStepConfig as RuntypeSetVariableStepConfig, type Skill as RuntypeSkill, type SkillCapabilities as RuntypeSkillCapabilities, type SkillFrontmatter as RuntypeSkillFrontmatter, type SkillManifest as RuntypeSkillManifest, type SkillProposal as RuntypeSkillProposal, type SkillRuntypeExtensions as RuntypeSkillRuntypeExtensions, type SkillScanFinding as RuntypeSkillScanFinding, type SkillScanResult as RuntypeSkillScanResult, type SkillScanVerdict as RuntypeSkillScanVerdict, type SkillVersion as RuntypeSkillVersion, type TransformDataStepConfig as RuntypeTransformDataStepConfig, type UpsertFlowConfig as RuntypeUpsertFlowConfig, type UpsertRecordStepConfig as RuntypeUpsertRecordStepConfig, type VectorSearchStepConfig as RuntypeVectorSearchStepConfig, type WaitUntilStepConfig as RuntypeWaitUntilStepConfig, SDK_USER_AGENT, SDK_VERSION, STEP_FIELD_REGISTRY, STEP_TYPE_TO_METHOD, type Schedule, type ScheduleExecutionOptions, type ScheduleListParams, type ScheduleMessage, type ScheduleMessageSet, type ScheduleMessages, type ScheduleMutationResponse, type ScheduleRun, type ScheduleRunNowResponse, type ScheduleStatusResponse, type ScheduleTarget, type ScheduleTrigger, SchedulesEndpoint, type SearchStepConfig$1 as SearchStepConfig, type Secret, type SecretCheckResponse, type SecretDeleteResponse, type SecretSetupUrlRequest, type SecretSetupUrlResponse, SecretsEndpoint, type SendEmailStepConfig$1 as SendEmailStepConfig, type SendEventStepConfig$1 as SendEventStepConfig, type SendStreamStepConfig$1 as SendStreamStepConfig, type SendTextStepConfig$1 as SendTextStepConfig, type SetVariableStepConfig$1 as SetVariableStepConfig, type SkillDefinition, SkillDriftError, SkillEnsureConflictError, type SkillListPage, type SkillListPagination, type SkillListParams, type SkillManifestInput, type SkillMarkdownInput, type SkillOrigin, type SkillProposalStatus, SkillProposalsNamespace, type SkillPullResult, type SkillStatus, type SkillTrustLevel, type SkillVersionStatus, type SkillWithVersion, type SkillWriteInput, SkillsNamespace, type SlackInstallRequest, type StepCompleteEvent, type StepDeltaEvent, type StepFallback, type StepFieldMeta, type StepStartEvent, type StepWaitingLocalEvent, type StreamCallbacks, type StreamConsumeOptions, type StreamEvent, type StreamEventOf, type SubagentToolConfig, type Surface, type SurfaceDefinition, type SurfaceDefinitionEnvironment, type SurfaceDefinitionStatus, type SurfaceDefinitionType, SurfaceDriftError, SurfaceEnsureConflictError, type SurfaceListParams, type SurfacePullResult, SurfacesEndpoint, SurfacesNamespace, type TextContentPart, type Tool, type ToolApprovalGrant, ToolApprovalGrantsEndpoint, type ToolConfig, type ToolDefinition, type ToolDefinitionType, ToolDriftError, ToolEnsureConflictError, type ToolPullResult, type ToolWithValidation, type ToolsConfig, ToolsEndpoint, ToolsNamespace, type TransformDataStepConfig$1 as TransformDataStepConfig, UNIFIED_EVENTS_QUERY, type UpdateAppRequest, type UpdateClientTokenRequest, type UpdateConversationRequest, type UpdateEvalCaseInput, type UpdateEvalSuiteInput, type UpdatePromptData, type UpdateProviderKeyRequest, type UpdateScheduleRequest, type UpdateSecretRequest, type UpdateToolRequest, type UpdatedFlow, type UpsertFlowConfig$1 as UpsertFlowConfig, type UpsertOptions, type UpsertRecordStepConfig$1 as UpsertRecordStepConfig, type UserProfile, UsersEndpoint, type VectorSearchStepConfig$1 as VectorSearchStepConfig, type VersionType, type WaitUntilStepConfig$1 as WaitUntilStepConfig, type WorkflowCompileDeps, type WorkflowCompletionCriteriaConfig, type WorkflowConfig, type WorkflowConfigFactory, type WorkflowContext, type WorkflowDefinition, type WorkflowHookEntry, type WorkflowHookKind, type WorkflowHookRef, type WorkflowHookSignatures, type WorkflowMilestoneConfig, type WorkflowPhase, type WorkflowPolicyConfig, type WorkflowRecoveryConfig, type WorkflowSlot, type WorkflowStallPolicy, applyGeneratedRuntimeToolProposalToDispatchRequest, attachRuntimeToolsToDispatchRequest, buildEmptySessionNudge, buildGeneratedRuntimeToolGateOutput, buildLedgerOffloadReference, buildPolicyGuidance, buildSendViewOffloadMarker, calledTool, compileWorkflowConfig, completed, computeAgentContentHash, computeEvalContentHash, computeFlowContentHash, computeFpoContentHash, computeProductContentHash, computeSkillContentHash, computeSurfaceContentHash, computeToolContentHash, contains, cost, createAgentEventTranslator, createClient, createExternalTool, createFlowEventTranslator, defaultWorkflow, defaultWorkflowConfig, defineAgent, defineEval, defineFlow, defineFpo, definePlaybook, defineProduct, defineSkill, defineSurface, defineTool, deployWorkflow, ensureDefaultWorkflowHooks, ensureEval, ensureFpo, evaluateGeneratedRuntimeToolProposal, extractDeclaredToolResultChars, gameWorkflow, getDefaultPlanPath, getLikelySupportingCandidatePaths, interpolateWorkflowTemplate, isDiscoveryToolName, isMarathonArtifactPath, isPreservationSensitiveTask, isUnifiedEventType, isWorkflowHookRef, jsonField, judge, judges, latency, length, listWorkflowHooks, matchesExpected, maxToolCalls, noError, normalizeAgentDefinition, normalizeCandidatePath, normalizeFpoDefinition, normalizeProductDefinition, normalizeSkillDefinition, normalizeSurfaceDefinition, normalizeToolDefinition, notCalledTool, notContains, parseFinalBuffer, parseLedgerArtifactRelativePath, parseOffloadedOutputId, parseSSEChunk, processStream, pullEval, pullFpo, ranStep, regex, registerWorkflowHook, resolveStallStopAfter, resolveWorkflowHook, runEvalSuite, sanitizeTaskSlug, shouldInjectEmptySessionNudge, shouldRequestModelEscalation, stepOrder, streamEvents, toolOrder, unregisterWorkflowHook, usedNoTools, validJson, withUnifiedEvents };