@runtypelabs/sdk 6.1.4 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1870,7 +1870,7 @@ interface paths {
1870
1870
  description?: string;
1871
1871
  timeoutMs?: number;
1872
1872
  toolPool: string[];
1873
- };
1873
+ } | null;
1874
1874
  maxToolCalls?: number;
1875
1875
  mcpServers?: {
1876
1876
  allowedTools?: string[];
@@ -1919,7 +1919,7 @@ interface paths {
1919
1919
  maxSpawnsPerRun?: number;
1920
1920
  maxTurnsLimit?: number;
1921
1921
  toolPool: string[];
1922
- };
1922
+ } | null;
1923
1923
  /** @enum {string} */
1924
1924
  toolCallStrategy?: "auto" | "required" | "none";
1925
1925
  toolConfigs?: {
@@ -3086,7 +3086,7 @@ interface paths {
3086
3086
  };
3087
3087
  /**
3088
3088
  * Stream execution events
3089
- * @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).
3089
+ * @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. Replayed and live-tailed frames use the unified execution vocabulary.
3090
3090
  */
3091
3091
  get: {
3092
3092
  parameters: {
@@ -11072,6 +11072,16 @@ interface paths {
11072
11072
  content: string;
11073
11073
  role: string;
11074
11074
  }[];
11075
+ toolMocks?: {
11076
+ input?: unknown;
11077
+ isError?: boolean;
11078
+ output: null | boolean | number | string | unknown[] | {
11079
+ [key: string]: unknown;
11080
+ };
11081
+ sourceToolExecutionId?: string;
11082
+ toolName: string;
11083
+ truncated?: boolean;
11084
+ }[];
11075
11085
  variables?: {
11076
11086
  [key: string]: unknown;
11077
11087
  };
@@ -11080,7 +11090,7 @@ interface paths {
11080
11090
  }[];
11081
11091
  name: string;
11082
11092
  /**
11083
- * @description How captured (saved_from_run) cases replay: "next_step" (default) or "continue" (serve recorded toolMocks and run past the first action).
11093
+ * @description How cases carrying toolMocks replay — captured (saved_from_run) or hand-authored alike: "next_step" (default; captured cases only) captures the first tool intent and stops, or "continue" serves each case's toolMocks by tool name and runs past the first action.
11084
11094
  * @enum {string}
11085
11095
  */
11086
11096
  recordedToolMode?: "next_step" | "continue";
@@ -11529,6 +11539,16 @@ interface paths {
11529
11539
  content: string;
11530
11540
  role: string;
11531
11541
  }[];
11542
+ toolMocks?: {
11543
+ input?: unknown;
11544
+ isError?: boolean;
11545
+ output: null | boolean | number | string | unknown[] | {
11546
+ [key: string]: unknown;
11547
+ };
11548
+ sourceToolExecutionId?: string;
11549
+ toolName: string;
11550
+ truncated?: boolean;
11551
+ }[];
11532
11552
  variables?: {
11533
11553
  [key: string]: unknown;
11534
11554
  };
@@ -11537,7 +11557,7 @@ interface paths {
11537
11557
  }[];
11538
11558
  name: string;
11539
11559
  /**
11540
- * @description How captured (saved_from_run) cases replay: "next_step" (default) or "continue" (serve recorded toolMocks and run past the first action).
11560
+ * @description How cases carrying toolMocks replay — captured (saved_from_run) or hand-authored alike: "next_step" (default; captured cases only) captures the first tool intent and stops, or "continue" serves each case's toolMocks by tool name and runs past the first action.
11541
11561
  * @enum {string}
11542
11562
  */
11543
11563
  recordedToolMode?: "next_step" | "continue";
@@ -12097,6 +12117,12 @@ interface paths {
12097
12117
  json?: unknown;
12098
12118
  text?: string;
12099
12119
  };
12120
+ /** @description Per-case graders. When set, they REPLACE the suite-level graders for this case (not appended). Omit to score the case with the suite graders. */
12121
+ graders?: ({
12122
+ kind: string;
12123
+ } & {
12124
+ [key: string]: unknown;
12125
+ })[];
12100
12126
  /** @default {} */
12101
12127
  input?: {
12102
12128
  checkpoint?: {
@@ -12121,7 +12147,9 @@ interface paths {
12121
12147
  toolMocks?: {
12122
12148
  input?: unknown;
12123
12149
  isError?: boolean;
12124
- output?: unknown;
12150
+ output: null | boolean | number | string | unknown[] | {
12151
+ [key: string]: unknown;
12152
+ };
12125
12153
  sourceToolExecutionId?: string;
12126
12154
  toolName: string;
12127
12155
  truncated?: boolean;
@@ -12495,6 +12523,12 @@ interface paths {
12495
12523
  json?: unknown;
12496
12524
  text?: string;
12497
12525
  };
12526
+ /** @description Per-case graders. When set, they REPLACE the suite-level graders for this case (not appended). Omit to score the case with the suite graders. */
12527
+ graders?: ({
12528
+ kind: string;
12529
+ } & {
12530
+ [key: string]: unknown;
12531
+ })[];
12498
12532
  /** @default {} */
12499
12533
  input?: {
12500
12534
  checkpoint?: {
@@ -12519,7 +12553,9 @@ interface paths {
12519
12553
  toolMocks?: {
12520
12554
  input?: unknown;
12521
12555
  isError?: boolean;
12522
- output?: unknown;
12556
+ output: null | boolean | number | string | unknown[] | {
12557
+ [key: string]: unknown;
12558
+ };
12523
12559
  sourceToolExecutionId?: string;
12524
12560
  toolName: string;
12525
12561
  truncated?: boolean;
@@ -12806,6 +12842,12 @@ interface paths {
12806
12842
  json?: unknown;
12807
12843
  text?: string;
12808
12844
  } | null;
12845
+ /** @description Per-case graders that REPLACE the suite graders for this case. null clears the override so the case uses the suite graders again. */
12846
+ graders?: ({
12847
+ kind: string;
12848
+ } & {
12849
+ [key: string]: unknown;
12850
+ })[] | null;
12809
12851
  input?: {
12810
12852
  checkpoint?: {
12811
12853
  forkMessageIndex: number;
@@ -12829,7 +12871,9 @@ interface paths {
12829
12871
  toolMocks?: {
12830
12872
  input?: unknown;
12831
12873
  isError?: boolean;
12832
- output?: unknown;
12874
+ output: null | boolean | number | string | unknown[] | {
12875
+ [key: string]: unknown;
12876
+ };
12833
12877
  sourceToolExecutionId?: string;
12834
12878
  toolName: string;
12835
12879
  truncated?: boolean;
@@ -13256,7 +13300,9 @@ interface paths {
13256
13300
  toolMocks?: {
13257
13301
  input?: unknown;
13258
13302
  isError?: boolean;
13259
- output?: unknown;
13303
+ output: null | boolean | number | string | unknown[] | {
13304
+ [key: string]: unknown;
13305
+ };
13260
13306
  sourceToolExecutionId?: string;
13261
13307
  toolName: string;
13262
13308
  truncated?: boolean;
@@ -24714,562 +24760,6 @@ interface paths {
24714
24760
  patch?: never;
24715
24761
  trace?: never;
24716
24762
  };
24717
- "/v1/products/generation/sessions": {
24718
- parameters: {
24719
- query?: never;
24720
- header?: never;
24721
- path?: never;
24722
- cookie?: never;
24723
- };
24724
- /**
24725
- * List generation sessions
24726
- * @description Returns a paginated list of generation sessions for the authenticated user, optionally filtered by status.
24727
- */
24728
- get: {
24729
- parameters: {
24730
- query?: {
24731
- /** @description Filter by session status */
24732
- status?: string;
24733
- /** @description Max results per page (default 20, max 100) */
24734
- limit?: string;
24735
- /** @description Offset for pagination */
24736
- offset?: string;
24737
- };
24738
- header?: never;
24739
- path?: never;
24740
- cookie?: never;
24741
- };
24742
- requestBody?: never;
24743
- responses: {
24744
- /** @description List of sessions with pagination */
24745
- 200: {
24746
- headers: {
24747
- [name: string]: unknown;
24748
- };
24749
- content: {
24750
- "application/json": {
24751
- data: {
24752
- assemblyState: {
24753
- [key: string]: unknown;
24754
- } | null;
24755
- catalogVersion: string | null;
24756
- createdAt: string;
24757
- expiresAt: string;
24758
- id: string;
24759
- organizationId: string | null;
24760
- plan: {
24761
- [key: string]: unknown;
24762
- } | null;
24763
- prd: {
24764
- [key: string]: unknown;
24765
- } | null;
24766
- productObject: {
24767
- [key: string]: unknown;
24768
- } | null;
24769
- productObjectHash: string | null;
24770
- schemaVersion: string | null;
24771
- /** @enum {string} */
24772
- status: "intake" | "generating" | "assembling" | "complete" | "failed";
24773
- updatedAt: string;
24774
- userId: string;
24775
- }[];
24776
- pagination: {
24777
- limit: number;
24778
- offset: number;
24779
- total: number;
24780
- };
24781
- };
24782
- };
24783
- };
24784
- /** @description Unauthorized */
24785
- 401: {
24786
- headers: {
24787
- [name: string]: unknown;
24788
- };
24789
- content: {
24790
- "application/json": components["schemas"]["Error"];
24791
- };
24792
- };
24793
- /** @description Server error */
24794
- 500: {
24795
- headers: {
24796
- [name: string]: unknown;
24797
- };
24798
- content: {
24799
- "application/json": components["schemas"]["Error"];
24800
- };
24801
- };
24802
- };
24803
- };
24804
- put?: never;
24805
- /**
24806
- * Create a generation session
24807
- * @description Creates a new product generation session with an optional PRD and catalog/schema version.
24808
- */
24809
- post: {
24810
- parameters: {
24811
- query?: never;
24812
- header?: never;
24813
- path?: never;
24814
- cookie?: never;
24815
- };
24816
- requestBody?: {
24817
- content: {
24818
- "application/json": {
24819
- catalogVersion?: string;
24820
- prd?: {
24821
- [key: string]: unknown;
24822
- };
24823
- schemaVersion?: string;
24824
- };
24825
- };
24826
- };
24827
- responses: {
24828
- /** @description Session created */
24829
- 201: {
24830
- headers: {
24831
- [name: string]: unknown;
24832
- };
24833
- content: {
24834
- "application/json": {
24835
- assemblyState: {
24836
- [key: string]: unknown;
24837
- } | null;
24838
- catalogVersion: string | null;
24839
- createdAt: string;
24840
- expiresAt: string;
24841
- id: string;
24842
- organizationId: string | null;
24843
- plan: {
24844
- [key: string]: unknown;
24845
- } | null;
24846
- prd: {
24847
- [key: string]: unknown;
24848
- } | null;
24849
- productObject: {
24850
- [key: string]: unknown;
24851
- } | null;
24852
- productObjectHash: string | null;
24853
- schemaVersion: string | null;
24854
- /** @enum {string} */
24855
- status: "intake" | "generating" | "assembling" | "complete" | "failed";
24856
- updatedAt: string;
24857
- userId: string;
24858
- };
24859
- };
24860
- };
24861
- /** @description Unauthorized */
24862
- 401: {
24863
- headers: {
24864
- [name: string]: unknown;
24865
- };
24866
- content: {
24867
- "application/json": components["schemas"]["Error"];
24868
- };
24869
- };
24870
- /** @description Forbidden */
24871
- 403: {
24872
- headers: {
24873
- [name: string]: unknown;
24874
- };
24875
- content: {
24876
- "application/json": components["schemas"]["Error"];
24877
- };
24878
- };
24879
- /** @description Server error */
24880
- 500: {
24881
- headers: {
24882
- [name: string]: unknown;
24883
- };
24884
- content: {
24885
- "application/json": components["schemas"]["Error"];
24886
- };
24887
- };
24888
- };
24889
- };
24890
- delete?: never;
24891
- options?: never;
24892
- head?: never;
24893
- patch?: never;
24894
- trace?: never;
24895
- };
24896
- "/v1/products/generation/sessions/{id}": {
24897
- parameters: {
24898
- query?: never;
24899
- header?: never;
24900
- path?: never;
24901
- cookie?: never;
24902
- };
24903
- /**
24904
- * Get session details
24905
- * @description Returns a generation session with its associated events.
24906
- */
24907
- get: {
24908
- parameters: {
24909
- query?: never;
24910
- header?: never;
24911
- path: {
24912
- /** @description Session ID */
24913
- id: string;
24914
- };
24915
- cookie?: never;
24916
- };
24917
- requestBody?: never;
24918
- responses: {
24919
- /** @description Session with events */
24920
- 200: {
24921
- headers: {
24922
- [name: string]: unknown;
24923
- };
24924
- content: {
24925
- "application/json": {
24926
- assemblyState: {
24927
- [key: string]: unknown;
24928
- } | null;
24929
- catalogVersion: string | null;
24930
- createdAt: string;
24931
- events: {
24932
- createdAt: string;
24933
- id: string;
24934
- message: string | null;
24935
- organizationId: string | null;
24936
- payload: {
24937
- [key: string]: unknown;
24938
- };
24939
- sessionId: string;
24940
- stage: string | null;
24941
- type: string;
24942
- userId: string;
24943
- }[];
24944
- expiresAt: string;
24945
- id: string;
24946
- organizationId: string | null;
24947
- plan: {
24948
- [key: string]: unknown;
24949
- } | null;
24950
- prd: {
24951
- [key: string]: unknown;
24952
- } | null;
24953
- productObject: {
24954
- [key: string]: unknown;
24955
- } | null;
24956
- productObjectHash: string | null;
24957
- schemaVersion: string | null;
24958
- /** @enum {string} */
24959
- status: "intake" | "generating" | "assembling" | "complete" | "failed";
24960
- updatedAt: string;
24961
- userId: string;
24962
- };
24963
- };
24964
- };
24965
- /** @description Unauthorized */
24966
- 401: {
24967
- headers: {
24968
- [name: string]: unknown;
24969
- };
24970
- content: {
24971
- "application/json": components["schemas"]["Error"];
24972
- };
24973
- };
24974
- /** @description Session not found */
24975
- 404: {
24976
- headers: {
24977
- [name: string]: unknown;
24978
- };
24979
- content: {
24980
- "application/json": components["schemas"]["Error"];
24981
- };
24982
- };
24983
- /** @description Server error */
24984
- 500: {
24985
- headers: {
24986
- [name: string]: unknown;
24987
- };
24988
- content: {
24989
- "application/json": components["schemas"]["Error"];
24990
- };
24991
- };
24992
- };
24993
- };
24994
- put?: never;
24995
- post?: never;
24996
- /**
24997
- * Delete a generation session
24998
- * @description Permanently deletes a generation session and its associated events.
24999
- */
25000
- delete: {
25001
- parameters: {
25002
- query?: never;
25003
- header?: never;
25004
- path: {
25005
- /** @description Session ID */
25006
- id: string;
25007
- };
25008
- cookie?: never;
25009
- };
25010
- requestBody?: never;
25011
- responses: {
25012
- /** @description Session deleted */
25013
- 200: {
25014
- headers: {
25015
- [name: string]: unknown;
25016
- };
25017
- content: {
25018
- "application/json": {
25019
- success: boolean;
25020
- };
25021
- };
25022
- };
25023
- /** @description Unauthorized */
25024
- 401: {
25025
- headers: {
25026
- [name: string]: unknown;
25027
- };
25028
- content: {
25029
- "application/json": components["schemas"]["Error"];
25030
- };
25031
- };
25032
- /** @description Forbidden */
25033
- 403: {
25034
- headers: {
25035
- [name: string]: unknown;
25036
- };
25037
- content: {
25038
- "application/json": components["schemas"]["Error"];
25039
- };
25040
- };
25041
- /** @description Session not found */
25042
- 404: {
25043
- headers: {
25044
- [name: string]: unknown;
25045
- };
25046
- content: {
25047
- "application/json": components["schemas"]["Error"];
25048
- };
25049
- };
25050
- /** @description Server error */
25051
- 500: {
25052
- headers: {
25053
- [name: string]: unknown;
25054
- };
25055
- content: {
25056
- "application/json": components["schemas"]["Error"];
25057
- };
25058
- };
25059
- };
25060
- };
25061
- options?: never;
25062
- head?: never;
25063
- /**
25064
- * Update a generation session
25065
- * @description Updates session fields including status, PRD, plan, product object, and assembly state.
25066
- */
25067
- patch: {
25068
- parameters: {
25069
- query?: never;
25070
- header?: never;
25071
- path: {
25072
- /** @description Session ID */
25073
- id: string;
25074
- };
25075
- cookie?: never;
25076
- };
25077
- requestBody?: {
25078
- content: {
25079
- "application/json": {
25080
- assemblyState?: {
25081
- [key: string]: unknown;
25082
- };
25083
- plan?: {
25084
- [key: string]: unknown;
25085
- };
25086
- prd?: {
25087
- [key: string]: unknown;
25088
- };
25089
- productObject?: {
25090
- [key: string]: unknown;
25091
- };
25092
- productObjectHash?: string;
25093
- /** @enum {string} */
25094
- status?: "intake" | "generating" | "assembling" | "complete" | "failed";
25095
- };
25096
- };
25097
- };
25098
- responses: {
25099
- /** @description Updated session */
25100
- 200: {
25101
- headers: {
25102
- [name: string]: unknown;
25103
- };
25104
- content: {
25105
- "application/json": {
25106
- assemblyState: {
25107
- [key: string]: unknown;
25108
- } | null;
25109
- catalogVersion: string | null;
25110
- createdAt: string;
25111
- expiresAt: string;
25112
- id: string;
25113
- organizationId: string | null;
25114
- plan: {
25115
- [key: string]: unknown;
25116
- } | null;
25117
- prd: {
25118
- [key: string]: unknown;
25119
- } | null;
25120
- productObject: {
25121
- [key: string]: unknown;
25122
- } | null;
25123
- productObjectHash: string | null;
25124
- schemaVersion: string | null;
25125
- /** @enum {string} */
25126
- status: "intake" | "generating" | "assembling" | "complete" | "failed";
25127
- updatedAt: string;
25128
- userId: string;
25129
- };
25130
- };
25131
- };
25132
- /** @description Unauthorized */
25133
- 401: {
25134
- headers: {
25135
- [name: string]: unknown;
25136
- };
25137
- content: {
25138
- "application/json": components["schemas"]["Error"];
25139
- };
25140
- };
25141
- /** @description Forbidden */
25142
- 403: {
25143
- headers: {
25144
- [name: string]: unknown;
25145
- };
25146
- content: {
25147
- "application/json": components["schemas"]["Error"];
25148
- };
25149
- };
25150
- /** @description Session not found */
25151
- 404: {
25152
- headers: {
25153
- [name: string]: unknown;
25154
- };
25155
- content: {
25156
- "application/json": components["schemas"]["Error"];
25157
- };
25158
- };
25159
- /** @description Server error */
25160
- 500: {
25161
- headers: {
25162
- [name: string]: unknown;
25163
- };
25164
- content: {
25165
- "application/json": components["schemas"]["Error"];
25166
- };
25167
- };
25168
- };
25169
- };
25170
- trace?: never;
25171
- };
25172
- "/v1/products/generation/sessions/{id}/events": {
25173
- parameters: {
25174
- query?: never;
25175
- header?: never;
25176
- path?: never;
25177
- cookie?: never;
25178
- };
25179
- get?: never;
25180
- put?: never;
25181
- /**
25182
- * Append an event to a session
25183
- * @description Adds a new event to a generation session for tracking progress and state changes.
25184
- */
25185
- post: {
25186
- parameters: {
25187
- query?: never;
25188
- header?: never;
25189
- path: {
25190
- /** @description Session ID */
25191
- id: string;
25192
- };
25193
- cookie?: never;
25194
- };
25195
- requestBody?: {
25196
- content: {
25197
- "application/json": {
25198
- message?: string;
25199
- payload?: {
25200
- [key: string]: unknown;
25201
- };
25202
- stage?: string;
25203
- type: string;
25204
- };
25205
- };
25206
- };
25207
- responses: {
25208
- /** @description Event created */
25209
- 201: {
25210
- headers: {
25211
- [name: string]: unknown;
25212
- };
25213
- content: {
25214
- "application/json": {
25215
- createdAt: string;
25216
- id: string;
25217
- message: string | null;
25218
- organizationId: string | null;
25219
- payload: {
25220
- [key: string]: unknown;
25221
- };
25222
- sessionId: string;
25223
- stage: string | null;
25224
- type: string;
25225
- userId: string;
25226
- };
25227
- };
25228
- };
25229
- /** @description Unauthorized */
25230
- 401: {
25231
- headers: {
25232
- [name: string]: unknown;
25233
- };
25234
- content: {
25235
- "application/json": components["schemas"]["Error"];
25236
- };
25237
- };
25238
- /** @description Forbidden */
25239
- 403: {
25240
- headers: {
25241
- [name: string]: unknown;
25242
- };
25243
- content: {
25244
- "application/json": components["schemas"]["Error"];
25245
- };
25246
- };
25247
- /** @description Session not found */
25248
- 404: {
25249
- headers: {
25250
- [name: string]: unknown;
25251
- };
25252
- content: {
25253
- "application/json": components["schemas"]["Error"];
25254
- };
25255
- };
25256
- /** @description Server error */
25257
- 500: {
25258
- headers: {
25259
- [name: string]: unknown;
25260
- };
25261
- content: {
25262
- "application/json": components["schemas"]["Error"];
25263
- };
25264
- };
25265
- };
25266
- };
25267
- delete?: never;
25268
- options?: never;
25269
- head?: never;
25270
- patch?: never;
25271
- trace?: never;
25272
- };
25273
24763
  "/v1/products/pull": {
25274
24764
  parameters: {
25275
24765
  query?: never;
@@ -26561,6 +26051,8 @@ interface paths {
26561
26051
  data: {
26562
26052
  behavior?: unknown;
26563
26053
  createdAt: string;
26054
+ /** @description Canonical public URL of this surface (MCP, API, A2A, AG-UI, webhook, chat). Null for surface types reached through their own channels (Slack, email, schedule, ...). Clients should use this instead of constructing the URL themselves. */
26055
+ endpoint: string | null;
26564
26056
  environment: string;
26565
26057
  id: string;
26566
26058
  inbound?: unknown;
@@ -26670,6 +26162,8 @@ interface paths {
26670
26162
  "application/json": {
26671
26163
  behavior?: unknown;
26672
26164
  createdAt: string;
26165
+ /** @description Canonical public URL of this surface (MCP, API, A2A, AG-UI, webhook, chat). Null for surface types reached through their own channels (Slack, email, schedule, ...). Clients should use this instead of constructing the URL themselves. */
26166
+ endpoint: string | null;
26673
26167
  environment: string;
26674
26168
  id: string;
26675
26169
  inbound?: unknown;
@@ -26999,6 +26493,8 @@ interface paths {
26999
26493
  "application/json": {
27000
26494
  behavior?: unknown;
27001
26495
  createdAt: string;
26496
+ /** @description Canonical public URL of this surface (MCP, API, A2A, AG-UI, webhook, chat). Null for surface types reached through their own channels (Slack, email, schedule, ...). Clients should use this instead of constructing the URL themselves. */
26497
+ endpoint: string | null;
27002
26498
  environment: string;
27003
26499
  id: string;
27004
26500
  inbound?: unknown;
@@ -27136,6 +26632,8 @@ interface paths {
27136
26632
  "application/json": {
27137
26633
  behavior?: unknown;
27138
26634
  createdAt: string;
26635
+ /** @description Canonical public URL of this surface (MCP, API, A2A, AG-UI, webhook, chat). Null for surface types reached through their own channels (Slack, email, schedule, ...). Clients should use this instead of constructing the URL themselves. */
26636
+ endpoint: string | null;
27139
26637
  environment: string;
27140
26638
  id: string;
27141
26639
  inbound?: unknown;
@@ -37325,6 +36823,8 @@ interface paths {
37325
36823
  data: {
37326
36824
  createdAt: string;
37327
36825
  description: string | null;
36826
+ /** @description Optional acquisition link (https only) for the provider console where this credential is created. */
36827
+ docsUrl?: string | null;
37328
36828
  /** @description End User scope (eu_*) when the secret is end-user-scoped; null otherwise. */
37329
36829
  endUserId: string | null;
37330
36830
  id: string;
@@ -37384,6 +36884,8 @@ interface paths {
37384
36884
  content: {
37385
36885
  "application/json": {
37386
36886
  description?: string;
36887
+ /** Format: uri */
36888
+ docsUrl?: string;
37387
36889
  endUserId?: string;
37388
36890
  key: string;
37389
36891
  productTenantId?: string;
@@ -37402,6 +36904,8 @@ interface paths {
37402
36904
  data: {
37403
36905
  createdAt: string;
37404
36906
  description: string | null;
36907
+ /** @description Optional acquisition link (https only) for the provider console where this credential is created. */
36908
+ docsUrl?: string | null;
37405
36909
  /** @description End User scope (eu_*) when the secret is end-user-scoped; null otherwise. */
37406
36910
  endUserId: string | null;
37407
36911
  id: string;
@@ -37579,6 +37083,7 @@ interface paths {
37579
37083
  "application/json": {
37580
37084
  returnUrl?: string;
37581
37085
  source: {
37086
+ description?: string;
37582
37087
  key?: string;
37583
37088
  productId?: string;
37584
37089
  /** @enum {string} */
@@ -37622,6 +37127,7 @@ interface paths {
37622
37127
  pendingConfigurationCount: number;
37623
37128
  returnUrl?: string;
37624
37129
  source: {
37130
+ description?: string;
37625
37131
  key?: string;
37626
37132
  productId?: string;
37627
37133
  /** @enum {string} */
@@ -37709,6 +37215,8 @@ interface paths {
37709
37215
  items: {
37710
37216
  description?: string;
37711
37217
  displayName?: string;
37218
+ /** Format: uri */
37219
+ docsUrl?: string;
37712
37220
  expectedVersion?: number;
37713
37221
  itemId?: string;
37714
37222
  key?: string;
@@ -37717,6 +37225,7 @@ interface paths {
37717
37225
  }[];
37718
37226
  returnUrl?: string;
37719
37227
  source: {
37228
+ description?: string;
37720
37229
  key?: string;
37721
37230
  productId?: string;
37722
37231
  /** @enum {string} */
@@ -37761,6 +37270,7 @@ interface paths {
37761
37270
  pendingConfigurationCount: number;
37762
37271
  returnUrl?: string;
37763
37272
  source: {
37273
+ description?: string;
37764
37274
  key?: string;
37765
37275
  productId?: string;
37766
37276
  /** @enum {string} */
@@ -37946,6 +37456,8 @@ interface paths {
37946
37456
  data: {
37947
37457
  createdAt: string;
37948
37458
  description: string | null;
37459
+ /** @description Optional acquisition link (https only) for the provider console where this credential is created. */
37460
+ docsUrl?: string | null;
37949
37461
  /** @description End User scope (eu_*) when the secret is end-user-scoped; null otherwise. */
37950
37462
  endUserId: string | null;
37951
37463
  id: string;
@@ -38014,6 +37526,8 @@ interface paths {
38014
37526
  content: {
38015
37527
  "application/json": {
38016
37528
  description?: string;
37529
+ /** Format: uri */
37530
+ docsUrl?: string | null;
38017
37531
  expectedVersion?: number;
38018
37532
  value?: string;
38019
37533
  };
@@ -38030,6 +37544,8 @@ interface paths {
38030
37544
  data: {
38031
37545
  createdAt: string;
38032
37546
  description: string | null;
37547
+ /** @description Optional acquisition link (https only) for the provider console where this credential is created. */
37548
+ docsUrl?: string | null;
38033
37549
  /** @description End User scope (eu_*) when the secret is end-user-scoped; null otherwise. */
38034
37550
  endUserId: string | null;
38035
37551
  id: string;
@@ -39544,6 +39060,8 @@ interface paths {
39544
39060
  "application/json": {
39545
39061
  data: {
39546
39062
  createdAt: string;
39063
+ /** @description Canonical public URL of this surface (MCP, API, A2A, AG-UI, webhook, chat). Null for surface types reached through their own channels (Slack, email, schedule, ...). Clients should use this instead of constructing the URL themselves. */
39064
+ endpoint: string | null;
39547
39065
  environment: string;
39548
39066
  id: string;
39549
39067
  inbound: {
@@ -41210,7 +40728,7 @@ interface paths {
41210
40728
  put?: never;
41211
40729
  /**
41212
40730
  * Execute tool
41213
- * @description Execute a tool by ID with the provided parameters. Non-flow tools return the documented JSON result. Flow tools return a text/event-stream response whose frames use the ExecutionStreamEvent vocabulary by default; use a raw/streaming client helper for flow tools.
40731
+ * @description Execute a tool by ID with the provided parameters. Non-flow tools return the documented JSON result. Flow tools return a text/event-stream response whose frames use the ExecutionStreamEvent vocabulary; use a raw/streaming client helper for flow tools.
41214
40732
  */
41215
40733
  post: {
41216
40734
  parameters: {
@@ -41696,12 +41214,14 @@ interface paths {
41696
41214
  enableRuntown: boolean;
41697
41215
  enableRuntypeApps: boolean;
41698
41216
  enableSkillScanner: boolean;
41217
+ enableVoice: boolean;
41699
41218
  enableWorkspaceModel: boolean;
41700
41219
  workspaceModelEligible: boolean;
41701
41220
  workspaceModelReady: boolean;
41702
41221
  };
41703
41222
  id: string;
41704
41223
  orgId?: string | null;
41224
+ orgName: string | null;
41705
41225
  preferences: {
41706
41226
  notifications: boolean;
41707
41227
  theme: string;
@@ -42576,6 +42096,8 @@ interface components {
42576
42096
  createdAt: string;
42577
42097
  enabled: boolean;
42578
42098
  expected?: unknown;
42099
+ /** @description Per-case graders that REPLACE the suite graders for this case, or null when the case uses the suite graders. */
42100
+ graders: unknown[] | null;
42579
42101
  id: string;
42580
42102
  /** @description { variables?, messages? } — what the case feeds the target. */
42581
42103
  input?: unknown;
@@ -42689,6 +42211,16 @@ interface components {
42689
42211
  content: string;
42690
42212
  role: string;
42691
42213
  }[];
42214
+ toolMocks?: {
42215
+ input?: unknown;
42216
+ isError?: boolean;
42217
+ output: null | boolean | number | string | unknown[] | {
42218
+ [key: string]: unknown;
42219
+ };
42220
+ sourceToolExecutionId?: string;
42221
+ toolName: string;
42222
+ truncated?: boolean;
42223
+ }[];
42692
42224
  variables?: {
42693
42225
  [key: string]: unknown;
42694
42226
  };
@@ -42697,7 +42229,7 @@ interface components {
42697
42229
  }[];
42698
42230
  name: string;
42699
42231
  /**
42700
- * @description How captured (saved_from_run) cases replay: "next_step" (default) or "continue" (serve recorded toolMocks and run past the first action).
42232
+ * @description How cases carrying toolMocks replay — captured (saved_from_run) or hand-authored alike: "next_step" (default; captured cases only) captures the first tool intent and stops, or "continue" serves each case's toolMocks by tool name and runs past the first action.
42701
42233
  * @enum {string}
42702
42234
  */
42703
42235
  recordedToolMode?: "next_step" | "continue";
@@ -42905,6 +42437,10 @@ interface components {
42905
42437
  completedAt?: string;
42906
42438
  durationMs?: number;
42907
42439
  executionId: string;
42440
+ externalAgent?: {
42441
+ contextId?: string;
42442
+ taskId?: string;
42443
+ };
42908
42444
  failedSteps?: number;
42909
42445
  finalOutput?: string;
42910
42446
  iterations?: number;
@@ -43235,6 +42771,10 @@ interface components {
43235
42771
  approvalId: string;
43236
42772
  description?: string;
43237
42773
  executionId: string;
42774
+ externalAgent?: {
42775
+ contextId?: string;
42776
+ taskId?: string;
42777
+ };
43238
42778
  iteration?: number;
43239
42779
  parameters?: {
43240
42780
  [key: string]: unknown;
@@ -43378,382 +42918,6 @@ interface components {
43378
42918
  /** @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. */
43379
42919
  warnings?: string[];
43380
42920
  };
43381
- FlowSSEEvent: {
43382
- executionContext?: {
43383
- [key: string]: unknown;
43384
- };
43385
- executionId?: string;
43386
- flowId: string;
43387
- flowName?: string;
43388
- input?: unknown;
43389
- seq?: number;
43390
- source?: string;
43391
- startedAt: string;
43392
- toolContext?: {
43393
- executionId: string;
43394
- stepId: string;
43395
- toolId: string;
43396
- };
43397
- totalSteps?: number;
43398
- /** @enum {string} */
43399
- type: "flow_start";
43400
- } | {
43401
- claudeManagedAgentId?: string;
43402
- completedAt?: string;
43403
- completedSteps?: number;
43404
- duration?: number;
43405
- executionContext?: {
43406
- [key: string]: unknown;
43407
- };
43408
- executionId?: string;
43409
- executionTime?: number;
43410
- failedSteps?: number;
43411
- finalOutput?: string;
43412
- flowId?: string;
43413
- flowName?: string;
43414
- output?: unknown;
43415
- seq?: number;
43416
- source?: string;
43417
- success?: boolean;
43418
- successfulSteps?: number;
43419
- toolContext?: {
43420
- executionId: string;
43421
- stepId: string;
43422
- toolId: string;
43423
- };
43424
- totalSteps?: number;
43425
- totalTokensUsed?: number;
43426
- /** @enum {string} */
43427
- type: "flow_complete";
43428
- } | {
43429
- blockReason?: string;
43430
- code?: string;
43431
- error: string | {
43432
- code: string;
43433
- message: string;
43434
- stepId?: string;
43435
- stepType?: string;
43436
- };
43437
- executionId?: string;
43438
- executionTime?: number;
43439
- flowId?: string;
43440
- seq?: number;
43441
- timestamp?: string;
43442
- toolContext?: {
43443
- executionId: string;
43444
- stepId: string;
43445
- toolId: string;
43446
- };
43447
- /** @enum {string} */
43448
- type: "flow_error";
43449
- upgradeUrl?: string;
43450
- } | {
43451
- approvalId?: string;
43452
- awaitReason?: string;
43453
- awaitedAt: string;
43454
- crawlId?: string;
43455
- elicitation?: {
43456
- message: string;
43457
- /** @enum {string} */
43458
- mode: "form" | "url";
43459
- pauseCount?: number;
43460
- requestedSchema?: {
43461
- [key: string]: unknown;
43462
- };
43463
- serverName?: string;
43464
- url?: string;
43465
- };
43466
- executionId?: string;
43467
- flowId: string;
43468
- /** @enum {string} */
43469
- origin?: "webmcp" | "sdk";
43470
- pageOrigin?: string;
43471
- parameters?: {
43472
- [key: string]: unknown;
43473
- };
43474
- seq?: number;
43475
- stepId?: string;
43476
- timeout?: number;
43477
- toolCallId?: string;
43478
- toolId?: string;
43479
- toolName?: string;
43480
- /** @enum {string} */
43481
- type: "flow_await";
43482
- } | {
43483
- estimatedTokens?: number;
43484
- executionId?: string;
43485
- id?: string;
43486
- index?: number;
43487
- name?: string;
43488
- outputVariable?: string;
43489
- seq?: number;
43490
- startedAt: string;
43491
- stepId?: string;
43492
- stepName?: string;
43493
- stepType?: string;
43494
- toolContext?: {
43495
- executionId: string;
43496
- stepId: string;
43497
- toolId: string;
43498
- };
43499
- totalSteps?: number;
43500
- /** @enum {string} */
43501
- type: "step_start";
43502
- } | {
43503
- delta?: string;
43504
- executionId?: string;
43505
- id?: string;
43506
- messageId?: string;
43507
- partId?: string;
43508
- seq?: number;
43509
- text?: string;
43510
- toolContext?: {
43511
- executionId: string;
43512
- stepId: string;
43513
- toolId: string;
43514
- };
43515
- toolId?: string;
43516
- /** @enum {string} */
43517
- type: "step_delta";
43518
- } | {
43519
- completedAt?: string;
43520
- duration?: number;
43521
- durationMs?: number;
43522
- error?: string | null;
43523
- executionId?: string;
43524
- executionTime?: number;
43525
- id?: string;
43526
- index?: number;
43527
- name?: string;
43528
- output?: unknown;
43529
- result?: unknown;
43530
- seq?: number;
43531
- stepId?: string;
43532
- stepName?: string;
43533
- stepType?: string;
43534
- /** @enum {string} */
43535
- stopReason?: "end_turn" | "max_tool_calls" | "length" | "content_filter" | "error" | "unknown";
43536
- success?: boolean;
43537
- tokensUsed?: number;
43538
- toolContext?: {
43539
- executionId: string;
43540
- stepId: string;
43541
- toolId: string;
43542
- };
43543
- /** @enum {string} */
43544
- type: "step_complete";
43545
- unresolvedVariables?: string[];
43546
- } | {
43547
- error: string;
43548
- executionId?: string;
43549
- executionTime?: number;
43550
- id?: string;
43551
- index?: number;
43552
- name?: string;
43553
- seq?: number;
43554
- stepType?: string;
43555
- /** @enum {string} */
43556
- type: "step_error";
43557
- } | {
43558
- error?: string;
43559
- executionId?: string;
43560
- id: string;
43561
- index?: number;
43562
- name?: string;
43563
- seq?: number;
43564
- skippedAt: string;
43565
- stepType: string;
43566
- totalSteps: number;
43567
- /** @enum {string} */
43568
- type: "step_skip";
43569
- when: string;
43570
- } | ({
43571
- elicitation?: {
43572
- message: string;
43573
- /** @enum {string} */
43574
- mode: "form" | "url";
43575
- pauseCount?: number;
43576
- requestedSchema?: {
43577
- [key: string]: unknown;
43578
- };
43579
- serverName?: string;
43580
- url?: string;
43581
- };
43582
- executionId?: string;
43583
- reason?: string;
43584
- seq?: number;
43585
- /** @enum {string} */
43586
- type: "step_await";
43587
- } & {
43588
- [key: string]: unknown;
43589
- }) | ({
43590
- agentContext?: {
43591
- executionId: string;
43592
- iteration: number;
43593
- seq: number;
43594
- };
43595
- executionId?: string;
43596
- hiddenParameterNames?: string[];
43597
- name?: string;
43598
- parameters?: {
43599
- [key: string]: unknown;
43600
- };
43601
- providerOptions?: {
43602
- [key: string]: unknown;
43603
- };
43604
- seq?: number;
43605
- startedAt?: string;
43606
- stepId?: string;
43607
- toolCallId?: string;
43608
- toolId?: string;
43609
- toolName?: string;
43610
- /** @enum {string} */
43611
- toolType: "flow" | "mcp" | "builtin" | "custom" | "external" | "advisor" | "subagent" | "local";
43612
- /** @enum {string} */
43613
- type: "tool_start";
43614
- } & {
43615
- [key: string]: unknown;
43616
- }) | ({
43617
- delta?: string;
43618
- executionId?: string;
43619
- seq?: number;
43620
- toolId?: string;
43621
- /** @enum {string} */
43622
- type: "tool_delta";
43623
- } & {
43624
- [key: string]: unknown;
43625
- }) | {
43626
- delta: string;
43627
- executionId?: string;
43628
- seq?: number;
43629
- stepId?: string;
43630
- toolCallId?: string;
43631
- toolId?: string;
43632
- /** @enum {string} */
43633
- type: "tool_input_delta";
43634
- } | {
43635
- executionId?: string;
43636
- hiddenParameterNames?: string[];
43637
- parameters: {
43638
- [key: string]: unknown;
43639
- };
43640
- providerOptions?: {
43641
- [key: string]: unknown;
43642
- };
43643
- seq?: number;
43644
- stepId?: string;
43645
- toolCallId?: string;
43646
- toolId?: string;
43647
- toolName?: string;
43648
- /** @enum {string} */
43649
- type: "tool_input_complete";
43650
- } | {
43651
- agentContext?: {
43652
- executionId: string;
43653
- iteration: number;
43654
- seq: number;
43655
- };
43656
- completedAt?: string;
43657
- error?: string;
43658
- executionId?: string;
43659
- executionTime?: number;
43660
- name?: string;
43661
- result?: unknown;
43662
- seq?: number;
43663
- stepId?: string;
43664
- success: boolean;
43665
- toolCallId?: string;
43666
- toolCost?: number;
43667
- toolId?: string;
43668
- toolName?: string;
43669
- /** @enum {string} */
43670
- type: "tool_complete";
43671
- } | {
43672
- agentContext?: {
43673
- executionId: string;
43674
- iteration: number;
43675
- seq: number;
43676
- };
43677
- error: string;
43678
- executionId?: string;
43679
- executionTime?: number;
43680
- failedAt?: string;
43681
- name: string;
43682
- seq?: number;
43683
- toolId: string;
43684
- /** @enum {string} */
43685
- type: "tool_error";
43686
- } | {
43687
- executionId?: string;
43688
- id: string;
43689
- seq?: number;
43690
- text: string;
43691
- /** @enum {string} */
43692
- type: "chunk";
43693
- } | ({
43694
- executionId?: string;
43695
- seq?: number;
43696
- /** @enum {string} */
43697
- type: "text_start";
43698
- } & {
43699
- [key: string]: unknown;
43700
- }) | ({
43701
- executionId?: string;
43702
- seq?: number;
43703
- /** @enum {string} */
43704
- type: "text_end";
43705
- } & {
43706
- [key: string]: unknown;
43707
- }) | ({
43708
- executionId?: string;
43709
- seq?: number;
43710
- /** @enum {string} */
43711
- type: "reason_start";
43712
- } & {
43713
- [key: string]: unknown;
43714
- }) | ({
43715
- executionId?: string;
43716
- seq?: number;
43717
- /** @enum {string} */
43718
- type: "reason_delta";
43719
- } & {
43720
- [key: string]: unknown;
43721
- }) | ({
43722
- executionId?: string;
43723
- seq?: number;
43724
- /** @enum {string} */
43725
- type: "reason_complete";
43726
- } & {
43727
- [key: string]: unknown;
43728
- }) | ({
43729
- executionId?: string;
43730
- seq?: number;
43731
- /** @enum {string} */
43732
- type: "source";
43733
- } & {
43734
- [key: string]: unknown;
43735
- }) | ({
43736
- executionId?: string;
43737
- seq?: number;
43738
- /** @enum {string} */
43739
- type: "fallback_start";
43740
- } & {
43741
- [key: string]: unknown;
43742
- }) | ({
43743
- executionId?: string;
43744
- seq?: number;
43745
- /** @enum {string} */
43746
- type: "fallback_complete";
43747
- } & {
43748
- [key: string]: unknown;
43749
- }) | ({
43750
- executionId?: string;
43751
- seq?: number;
43752
- /** @enum {string} */
43753
- type: "fallback_exhausted";
43754
- } & {
43755
- [key: string]: unknown;
43756
- });
43757
42921
  FlowValidationIssue: {
43758
42922
  code: string;
43759
42923
  details?: unknown;
@@ -44281,10 +43445,12 @@ interface components {
44281
43445
  * the rest of the SDK (and `types.ts`) re-exports, so the published surface
44282
43446
  * never exposes `paths['/v1/...'][...]` indexing.
44283
43447
  *
44284
- * Two flavors live here:
44285
- * 1. Streaming event unions — sourced from named `components.schemas` (the
44286
- * OAS 3.2 SSE itemSchema unions). Clean `$ref` → named type.
44287
- * 2. Entity types sourced by indexing into `paths`, because entities are
43448
+ * Three flavors live here:
43449
+ * 1. The unified streaming wire union — sourced from the named OAS 3.2
43450
+ * `ExecutionStreamEvent` itemSchema component.
43451
+ * 2. The compatibility-only FlowBuilder callback union hand-maintained
43452
+ * because it is a client presentation shape, not a server wire schema.
43453
+ * 3. Entity types — sourced by indexing into `paths`, because entities are
44288
43454
  * inline in the spec (no named components, no operationIds). The `Flow`
44289
43455
  * alias below is the REFERENCE PATTERN the entity-codegen workflow clones.
44290
43456
  */
@@ -44299,12 +43465,121 @@ type ExecutionStreamEvent = components['schemas']['ExecutionStreamEvent'];
44299
43465
  */
44300
43466
  type DispatchEvent = components['schemas']['ExecutionStreamEvent'];
44301
43467
  /**
44302
- * Legacy flow-execution event union. Kept for the SDK's FlowBuilder convenience
44303
- * types (`StreamEventOf<FlowStreamEvent, 'flow_start' | 'step_delta' | …>`),
44304
- * which use the historical event names. The wire is the unified stream;
44305
- * {@link ExecutionStreamEvent} is the current shape.
44306
- */
44307
- type FlowStreamEvent = components['schemas']['FlowSSEEvent'];
43468
+ * SDK presentation shape for FlowBuilder callbacks.
43469
+ *
43470
+ * This is deliberately hand-written instead of sourced from OpenAPI: the public
43471
+ * wire has one vocabulary ({@link ExecutionStreamEvent}), while the SDK
43472
+ * reverse-translates those frames to its long-standing callback names for
43473
+ * compatibility. These types describe that client-side presentation layer, not
43474
+ * an alternate server wire contract.
43475
+ */
43476
+ type FlowStreamEvent = (LegacyFlowEventBase & {
43477
+ type: 'flow_start';
43478
+ flowId: string;
43479
+ flowName?: string;
43480
+ totalSteps?: number;
43481
+ startedAt?: string;
43482
+ input?: unknown;
43483
+ }) | (LegacyFlowEventBase & {
43484
+ type: 'flow_complete';
43485
+ flowId?: string;
43486
+ flowName?: string;
43487
+ totalSteps?: number;
43488
+ successfulSteps?: number;
43489
+ failedSteps?: number;
43490
+ skippedSteps?: number;
43491
+ executionTime?: number;
43492
+ duration?: number;
43493
+ durationMs?: number;
43494
+ success?: boolean;
43495
+ finalOutput?: unknown;
43496
+ completedAt?: string;
43497
+ }) | (LegacyFlowEventBase & {
43498
+ type: 'flow_error';
43499
+ flowId?: string;
43500
+ stepId?: string;
43501
+ error?: string | Record<string, unknown> | null;
43502
+ code?: string;
43503
+ timestamp?: string;
43504
+ }) | (LegacyFlowEventBase & {
43505
+ type: 'flow_await';
43506
+ flowId?: string;
43507
+ stepId?: string;
43508
+ toolId?: string;
43509
+ toolCallId?: string;
43510
+ toolName?: string;
43511
+ awaitedAt?: string;
43512
+ awaitReason?: string;
43513
+ status?: string;
43514
+ }) | (LegacyFlowEventBase & {
43515
+ type: 'step_start';
43516
+ id?: string;
43517
+ stepId?: string;
43518
+ name?: string;
43519
+ stepName?: string;
43520
+ index?: number;
43521
+ stepType?: string;
43522
+ input?: unknown;
43523
+ startedAt?: string;
43524
+ }) | (LegacyFlowEventBase & {
43525
+ type: 'step_delta';
43526
+ id?: string;
43527
+ stepId?: string;
43528
+ index?: number;
43529
+ text?: string;
43530
+ delta?: string;
43531
+ partId?: string;
43532
+ }) | (LegacyFlowEventBase & {
43533
+ type: 'step_complete';
43534
+ id?: string;
43535
+ stepId?: string;
43536
+ name?: string;
43537
+ stepName?: string;
43538
+ index?: number;
43539
+ stepType?: string;
43540
+ result?: unknown;
43541
+ executionTime?: number;
43542
+ duration?: number;
43543
+ durationMs?: number;
43544
+ success?: boolean;
43545
+ stopReason?: string;
43546
+ completedAt?: string;
43547
+ }) | (LegacyFlowEventBase & {
43548
+ type: 'step_error';
43549
+ id?: string;
43550
+ stepId?: string;
43551
+ name?: string;
43552
+ stepName?: string;
43553
+ error?: string | Record<string, unknown> | null;
43554
+ success?: false;
43555
+ }) | (LegacyFlowEventBase & {
43556
+ type: 'step_await';
43557
+ id?: string;
43558
+ stepId?: string;
43559
+ name?: string;
43560
+ stepName?: string;
43561
+ index?: number;
43562
+ stepType?: string;
43563
+ toolId?: string;
43564
+ toolCallId?: string;
43565
+ toolName?: string;
43566
+ parameters?: unknown;
43567
+ }) | LegacyFlowNamedEvent<'step_skip' | 'tool_start' | 'tool_delta' | 'tool_input_delta' | 'tool_input_complete' | 'tool_complete' | 'tool_error' | 'chunk' | 'text_start' | 'text_end' | 'reason_start' | 'reason_delta' | 'reason_complete' | 'source' | 'fallback_start' | 'fallback_complete' | 'fallback_exhausted'>;
43568
+ type LegacyFlowNamedEvent<T extends string> = T extends unknown ? LegacyFlowEventBase & {
43569
+ type: T;
43570
+ } : never;
43571
+ interface LegacyFlowEventBase {
43572
+ executionContext?: Record<string, unknown>;
43573
+ executionId?: string;
43574
+ seq?: number;
43575
+ source?: string;
43576
+ toolContext?: {
43577
+ executionId: string;
43578
+ stepId: string;
43579
+ toolId: string;
43580
+ };
43581
+ [key: string]: unknown;
43582
+ }
44308
43583
  /**
44309
43584
  * @deprecated Alias of {@link ExecutionStreamEvent}. Prefer `ExecutionStreamEvent`.
44310
43585
  */
@@ -44327,20 +43602,11 @@ type StreamEventOf<U, T extends string> = Extract<U, {
44327
43602
  /**
44328
43603
  * Options for the flow stream consumers.
44329
43604
  *
44330
- * `unified` controls translation of the SSE branch from the unified 33-event
44331
- * wire vocabulary back to the legacy flow event shapes:
44332
- * - `undefined` (default): AUTO-DETECT — translate iff the stream is detected
44333
- * as unified (an execution stream always leads with `execution_start`).
44334
- * This makes the public `streamEvents(response)` / `processStream(response,
44335
- * cb)` pattern correct on a `dispatch()` response without the caller knowing
44336
- * the wire format, and keeps a still-legacy stream (the eval stream)
44337
- * flowing through untouched.
44338
- * - `true`: force translation (internal callers that KNOW the route is unified).
44339
- * - `false`: force legacy passthrough (never translate).
44340
- * The non-streaming JSON branch always stays legacy — the api only translates
44341
- * the SSE writer, never the JSON `events` array.
43605
+ * Kept for source compatibility with older SDK consumers. Unified SSE
43606
+ * translation is unconditional; `unified` is ignored.
44342
43607
  */
44343
43608
  interface StreamConsumeOptions {
43609
+ /** @deprecated The API wire is always unified; this option is ignored. */
44344
43610
  unified?: boolean;
44345
43611
  }
44346
43612
  /**
@@ -44377,7 +43643,7 @@ declare function parseFinalBuffer(buffer: string): string | null;
44377
43643
  * })
44378
43644
  * ```
44379
43645
  */
44380
- declare function processStream(response: Response, callbacks?: StreamCallbacks, options?: StreamConsumeOptions): Promise<FlowSummary>;
43646
+ declare function processStream(response: Response, callbacks?: StreamCallbacks, _options?: StreamConsumeOptions): Promise<FlowSummary>;
44381
43647
  /**
44382
43648
  * Create an async iterator over SSE events
44383
43649
  *
@@ -44392,7 +43658,7 @@ declare function processStream(response: Response, callbacks?: StreamCallbacks,
44392
43658
  * }
44393
43659
  * ```
44394
43660
  */
44395
- declare function streamEvents(response: Response, options?: StreamConsumeOptions): AsyncGenerator<StreamEvent>;
43661
+ declare function streamEvents(response: Response, _options?: StreamConsumeOptions): AsyncGenerator<StreamEvent>;
44396
43662
 
44397
43663
  /**
44398
43664
  * FlowResult - Wrapper for streaming flow execution responses
@@ -44430,13 +43696,11 @@ declare class FlowResult {
44430
43696
  private response;
44431
43697
  private consumed;
44432
43698
  private cachedSummary;
44433
- private streamOptions;
44434
43699
  /**
44435
- * @param options.unified - The response is a unified-vocabulary SSE stream
44436
- * (`/dispatch` since the unified-SSE cutover). Set by dispatch call sites;
44437
- * left unset by the still-legacy eval stream producer.
43700
+ * @param _options Deprecated stream-format options retained for source
43701
+ * compatibility. The API wire is always unified.
44438
43702
  */
44439
- constructor(response: Response, summary?: FlowSummary, options?: StreamConsumeOptions);
43703
+ constructor(response: Response, summary?: FlowSummary, _options?: StreamConsumeOptions);
44440
43704
  /**
44441
43705
  * Get the raw Response object for manual handling
44442
43706
  *
@@ -44993,15 +44257,10 @@ interface Message$1 {
44993
44257
  /**
44994
44258
  * Union type of all possible flow-execution SSE events.
44995
44259
  *
44996
- * Sourced from the GENERATED OpenAPI spec (`components.schemas.FlowSSEEvent`,
44997
- * a 26-member discriminated union on `type`) rather than hand-mirrored
44998
- * interfaces. The per-event member types below are back-compat aliases that
44999
- * narrow this union via its `type` discriminant. The generated union is a
45000
- * superset of the old hand-written shapes: some fields are optional or
45001
- * field-name-aliased (`id`/`stepId`, `name`/`stepName`, `text`/`delta`,
45002
- * `duration`/`durationMs`/`executionTime`), and `flow_error.error` may be a
45003
- * string OR a structured `{ code, message, ... }` object — consumers must
45004
- * read these fields defensively.
44260
+ * This compatibility-only presentation union is produced by the SDK's unified
44261
+ * wire adapter. It preserves the long-standing FlowBuilder callback names and
44262
+ * field aliases without exposing a second server vocabulary. The per-event
44263
+ * aliases below narrow it via the `type` discriminant.
45005
44264
  */
45006
44265
  type StreamEvent = FlowStreamEvent;
45007
44266
  type FlowStartEvent = StreamEventOf<FlowStreamEvent, 'flow_start'>;
@@ -46983,16 +46242,19 @@ interface EvalCaseCheckpoint {
46983
46242
  forkMessageIndex: number;
46984
46243
  }
46985
46244
  /**
46986
- * One recorded tool result attached to a captured case (mirror of `ToolMock` in
46987
- * `@runtypelabs/shared`). A future next-step replay serves these by tool name;
46988
- * editing `output` turns the case into a counterfactual.
46245
+ * One tool result a `recordedToolMode: 'continue'` suite serves by tool name
46246
+ * instead of dispatching the real tool (mirror of `ToolMock` in
46247
+ * `@runtypelabs/shared`). Either captured from a real run or hand-authored in
46248
+ * `defineEval` directly — a `toolType: 'local'` tool otherwise pauses the run
46249
+ * on its first call, so a mock is how an eval case gets an agent past it.
46989
46250
  */
46990
46251
  interface EvalToolMock {
46991
46252
  toolName: string;
46992
46253
  input?: unknown;
46993
46254
  output: unknown;
46994
- /** True when the recorded call failed: `output` is its error payload and a replay serves it as a failure. */
46255
+ /** True when the call should replay as a FAILURE: `output` is its error payload. */
46995
46256
  isError?: boolean;
46257
+ /** Present when captured: the `tool_executions.id` this mock came from. */
46996
46258
  sourceToolExecutionId?: string;
46997
46259
  /** True when `output` was capped at capture (the case is then non-fully-replayable). */
46998
46260
  truncated?: boolean;
@@ -47001,9 +46263,19 @@ interface EvalToolMock {
47001
46263
  interface EvalCaseInput {
47002
46264
  variables?: Record<string, unknown>;
47003
46265
  messages?: EvalMessage[];
47004
- /** Present on `saved_from_run` cases: where the run was forked. */
46266
+ /**
46267
+ * Present on `saved_from_run` cases: where the run was forked. Execution
46268
+ * state, not something `defineEval` accepts as authored input — it round-
46269
+ * trips through `client.evals.pull()` but is dropped if you feed a pulled
46270
+ * case straight back into `defineEval` (the server rejects it too).
46271
+ */
47005
46272
  checkpoint?: EvalCaseCheckpoint;
47006
- /** Present on `saved_from_run` cases: recorded tool results, for replay/counterfactuals. */
46273
+ /**
46274
+ * Tool results served instead of dispatching the real tool, when the
46275
+ * suite's `recordedToolMode` is `'continue'`. Present on `saved_from_run`
46276
+ * cases (recorded from the fork) — and, as of round-2 item 7, also
46277
+ * writable directly on a hand-authored case with no `checkpoint` at all.
46278
+ */
47007
46279
  toolMocks?: EvalToolMock[];
47008
46280
  }
47009
46281
  /** The target a suite evaluates — a saved flow or agent, by portable name. */
@@ -47117,7 +46389,8 @@ interface EvalPullResult {
47117
46389
  }
47118
46390
  /**
47119
46391
  * One grader's verdict for one case (mirror of `@runtypelabs/shared`'s
47120
- * `GraderOutcome`). `graderIndex` is the position in the suite's grader list.
46392
+ * `GraderOutcome`). `graderIndex` is the index into the case's effective grader
46393
+ * array (`case.graders ?? suite.graders`).
47121
46394
  */
47122
46395
  interface GraderOutcome {
47123
46396
  graderIndex: number;
@@ -48028,6 +47301,11 @@ interface EvalSuiteCase {
48028
47301
  name: string;
48029
47302
  input: EvalCaseInput;
48030
47303
  expected: CaseExpected | null;
47304
+ /**
47305
+ * Per-case graders that REPLACE the suite graders for this case, or null when
47306
+ * the case is scored with the suite's `graders`.
47307
+ */
47308
+ graders: GraderConfig[] | null;
48031
47309
  notes: string | null;
48032
47310
  origin: string;
48033
47311
  enabled: boolean;
@@ -48055,6 +47333,11 @@ interface EvalSuiteCaseInput {
48055
47333
  name: string;
48056
47334
  input?: EvalCaseInput;
48057
47335
  expected?: CaseExpected;
47336
+ /**
47337
+ * Per-case graders. When set, they REPLACE the suite graders for this case
47338
+ * (not appended). Omit to score the case with the suite graders.
47339
+ */
47340
+ graders?: GraderConfig[];
48058
47341
  notes?: string;
48059
47342
  enabled?: boolean;
48060
47343
  /** Case provenance. Defaults to 'manual' server-side when omitted. */
@@ -48143,6 +47426,12 @@ interface UpdateEvalCaseInput {
48143
47426
  name?: string;
48144
47427
  input?: EvalCaseInput;
48145
47428
  expected?: CaseExpected | null;
47429
+ /**
47430
+ * Per-case graders that REPLACE the suite graders for this case. `null` clears
47431
+ * the override (the case scores with the suite graders again); `undefined`
47432
+ * leaves it unchanged.
47433
+ */
47434
+ graders?: GraderConfig[] | null;
48146
47435
  notes?: string | null;
48147
47436
  enabled?: boolean;
48148
47437
  }
@@ -52310,10 +51599,10 @@ interface ParsedSSEEvent {
52310
51599
  interface AgentStreamCallbacks {
52311
51600
  onAgentStart?: (event: AgentStartEvent) => void;
52312
51601
  /**
52313
- * @deprecated No longer emitted on the unified wire vocabulary (the default
52314
- * since the unified-SSE cutover): iteration boundaries are folded into the
51602
+ * @deprecated Not represented on the public unified wire: iteration
51603
+ * boundaries are folded into the
52315
51604
  * `iteration` field on `onTurnStart` / `onTurnComplete` / tool events. Read
52316
- * that field instead. Still fires on a legacy stream during the rollout.
51605
+ * that field instead. Retained only for source compatibility.
52317
51606
  */
52318
51607
  onIterationStart?: (event: AgentIterationStartEvent) => void;
52319
51608
  onTurnStart?: (event: AgentTurnStartEvent) => void;
@@ -52328,10 +51617,10 @@ interface AgentStreamCallbacks {
52328
51617
  onApprovalStart?: (event: AgentApprovalStartEvent) => void;
52329
51618
  onApprovalComplete?: (event: AgentApprovalCompleteEvent) => void;
52330
51619
  /**
52331
- * @deprecated No longer emitted on the unified wire vocabulary (the default
52332
- * since the unified-SSE cutover): iteration boundaries are folded into the
51620
+ * @deprecated Not represented on the public unified wire: iteration
51621
+ * boundaries are folded into the
52333
51622
  * `iteration` field on turn/tool events. Use `onTurnComplete` for per-turn
52334
- * cost/token data. Still fires on a legacy stream during the rollout.
51623
+ * cost/token data. Retained only for source compatibility.
52335
51624
  */
52336
51625
  onIterationComplete?: (event: AgentIterationCompleteEvent) => void;
52337
51626
  onReflection?: (event: AgentReflectionEvent) => void;
@@ -53876,17 +53165,15 @@ declare function parseOffloadedOutputId(value: string): string | undefined;
53876
53165
  declare function parseLedgerArtifactRelativePath(value: string): string | undefined;
53877
53166
 
53878
53167
  /**
53879
- * Unified → legacy SSE event adapter (the client-side mirror of the api's
53168
+ * Unified wire stable SDK callback adapter (the client-side mirror of the api's
53880
53169
  * `apps/api/src/lib/unified-event-stream.ts`).
53881
53170
  *
53882
53171
  * As of the unified-SSE cutover (runtypelabs/core unified-sse-default) the
53883
53172
  * execution streams the SDK consumes — `/dispatch`, `/dispatch/resume`,
53884
- * `/agents/{id}/execute`, `/agents/{id}/resume` — default to the 33-event
53885
- * unified vocabulary (`unifiedSSEEventSchema` in `@runtypelabs/shared`). The
53886
- * SDK opts INTO that vocabulary explicitly with `?events=unified` on those
53887
- * requests (see the call sites in `endpoints.ts` / `runtype.ts` /
53888
- * `flows-namespace.ts`), then translates the unified frames back into the
53889
- * SDK's stable, hand-written legacy event shapes here.
53173
+ * `/agents/{id}/execute`, `/agents/{id}/resume` — use the 33-event unified
53174
+ * vocabulary (`unifiedSSEEventSchema` in `@runtypelabs/shared`). The SDK
53175
+ * translates those frames back into its stable, hand-written callback shapes
53176
+ * here.
53890
53177
  *
53891
53178
  * Why translate instead of rewriting every consumer switch: the SDK's public
53892
53179
  * callback contracts (`StreamCallbacks`, `AgentStreamCallbacks`) and their event
@@ -53898,52 +53185,49 @@ declare function parseLedgerArtifactRelativePath(value: string): string | undefi
53898
53185
  *
53899
53186
  * Scope: only the events the SDK's consumers actually read are reconstructed;
53900
53187
  * everything else (artifact channel, `source`, `custom`, fallback live-beat,
53901
- * `step_skip`) maps to zero legacy events. Two unified-contract folds are NOT
53188
+ * `step_skip`) maps to zero callback events. Two unified-contract folds are NOT
53902
53189
  * reconstructed because the unified vocabulary deliberately discards them:
53903
53190
  * - `agent_iteration_start` / `agent_iteration_complete` are folded into the
53904
53191
  * `iteration` field on turn/tool frames, so `onIterationStart` /
53905
53192
  * `onIterationComplete` no longer fire.
53906
53193
  * - the additive `fallback` summary on `step_complete` / `turn_complete` is
53907
- * dropped (the SDK never consumed the legacy `fallback_*` events either).
53194
+ * dropped (the SDK callback surface never consumed `fallback_*` events).
53908
53195
  *
53909
53196
  * Each translator is STATEFUL (channel block ids, current step/turn/iteration,
53910
53197
  * media accumulation) and therefore must be constructed once PER STREAM — never
53911
53198
  * shared across executions.
53912
53199
  */
53913
53200
  type Json = Record<string, unknown>;
53914
- /** A reconstructed legacy event (shape validated by the consumer switch/cast). */
53915
- type LegacyEvent = Json & {
53916
- type: string;
53917
- };
53918
53201
  /**
53919
- * Query string that opts a streaming request into the unified SSE vocabulary
53920
- * (`?events=unified`, resolved by the api's `resolveSseEventFormat`). The SDK
53921
- * requests it explicitly on the cut-over routes so it controls its own wire
53922
- * format regardless of the server-side `default-sse-event-format` rollout flag.
53202
+ * @deprecated Unified events are now the only public execution-stream format.
53203
+ * Retained so published SDK consumers can compile while removing old opt-in
53204
+ * plumbing at their convenience.
53923
53205
  */
53924
53206
  declare const UNIFIED_EVENTS_QUERY = "events=unified";
53925
- /** Append the unified-events opt-in to a request path, preserving any existing query. */
53207
+ /**
53208
+ * @deprecated Unified events are now unconditional; the request path is
53209
+ * returned unchanged and no negotiation query is appended.
53210
+ */
53926
53211
  declare function withUnifiedEvents(path: string): string;
53927
- /** True when `type` is an unambiguous unified-vocabulary event discriminator. */
53212
+ /** True when `type` belongs to the canonical unified vocabulary. */
53928
53213
  declare function isUnifiedEventType(type: unknown): boolean;
53214
+ /** A reconstructed compatibility event (validated by the consumer switch/cast). */
53215
+ type CompatibilityEvent = Json & {
53216
+ type: string;
53217
+ };
53929
53218
  /**
53930
- * Create a stateful translator from the unified vocabulary to the legacy flow
53931
- * event shapes consumed by `stream-utils.ts` / `flows-namespace.ts` /
53932
- * `client.ts`. Returns 0+ legacy events per unified event. Construct one per
53219
+ * Create a stateful translator from the unified vocabulary to the stable flow
53220
+ * callback shapes consumed by `stream-utils.ts` / `flows-namespace.ts` /
53221
+ * `client.ts`. Returns 0+ callback events per unified event. Construct one per
53933
53222
  * stream.
53934
- *
53935
- * Tolerant by design: unified frames are translated; legacy flow frames pass
53936
- * through unchanged (so a legacy stream — e.g. during the rollout window —
53937
- * still works). The overlapping `step_start` / `step_complete` read both
53938
- * vocabularies' field names.
53939
53223
  */
53940
- declare function createFlowEventTranslator(): (event: unknown) => LegacyEvent[];
53224
+ declare function createFlowEventTranslator(): (event: unknown) => CompatibilityEvent[];
53941
53225
  /**
53942
- * Create a stateful translator from the unified vocabulary to the legacy
53943
- * `agent_*` event shapes dispatched by `processAgentStream` in `endpoints.ts`.
53944
- * Returns 0+ legacy events per unified event. Construct one per stream.
53226
+ * Create a stateful translator from the unified vocabulary to the stable
53227
+ * `agent_*` callback shapes dispatched by `processAgentStream` in `endpoints.ts`.
53228
+ * Returns 0+ callback events per unified event. Construct one per stream.
53945
53229
  */
53946
- declare function createAgentEventTranslator(): (event: unknown) => LegacyEvent[];
53230
+ declare function createAgentEventTranslator(): (event: unknown) => CompatibilityEvent[];
53947
53231
 
53948
53232
  /**
53949
53233
  * BatchBuilder - Fluent builder for batch operations