@runtypelabs/sdk 9.11.0 → 9.13.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
@@ -115,6 +115,97 @@ interface ContextErrorHandling {
115
115
  * Do not make direct changes to the file.
116
116
  */
117
117
  interface paths {
118
+ "/v1/agent-aliases": {
119
+ parameters: {
120
+ query?: never;
121
+ header?: never;
122
+ path?: never;
123
+ cookie?: never;
124
+ };
125
+ /**
126
+ * List release aliases with one name across the organization
127
+ * @description Every agent in the caller's organization that carries a release alias with this name, with the pointer revision to quote back as `If-Match`. This is the read a "pull request closed" cleanup makes before archiving each pointer. Archived rows are omitted unless `includeArchived=true`; the built-in `live` alias is readable here like any other name.
128
+ */
129
+ get: {
130
+ parameters: {
131
+ query: {
132
+ /** @description The alias name to look for, e.g. `pr-482`. */
133
+ alias: string;
134
+ /** @description Pass `true` to include already-archived pointers. */
135
+ includeArchived?: string;
136
+ };
137
+ header?: never;
138
+ path?: never;
139
+ cookie?: never;
140
+ };
141
+ requestBody?: never;
142
+ responses: {
143
+ /** @description Release aliases with this name */
144
+ 200: {
145
+ headers: {
146
+ [name: string]: unknown;
147
+ };
148
+ content: {
149
+ "application/json": {
150
+ data: {
151
+ agentId: string;
152
+ agentName: string;
153
+ alias: string;
154
+ archivedAt: string | null;
155
+ expiresAt: string | null;
156
+ revision: number;
157
+ updatedAt: string;
158
+ versionId: string;
159
+ }[];
160
+ };
161
+ };
162
+ };
163
+ /** @description Invalid alias name */
164
+ 400: {
165
+ headers: {
166
+ [name: string]: unknown;
167
+ };
168
+ content: {
169
+ "application/json": components["schemas"]["Error"];
170
+ };
171
+ };
172
+ /** @description Unauthorized */
173
+ 401: {
174
+ headers: {
175
+ [name: string]: unknown;
176
+ };
177
+ content: {
178
+ "application/json": components["schemas"]["Error"];
179
+ };
180
+ };
181
+ /** @description Insufficient permissions */
182
+ 403: {
183
+ headers: {
184
+ [name: string]: unknown;
185
+ };
186
+ content: {
187
+ "application/json": components["schemas"]["Error"];
188
+ };
189
+ };
190
+ /** @description Internal server error */
191
+ 500: {
192
+ headers: {
193
+ [name: string]: unknown;
194
+ };
195
+ content: {
196
+ "application/json": components["schemas"]["Error"];
197
+ };
198
+ };
199
+ };
200
+ };
201
+ put?: never;
202
+ post?: never;
203
+ delete?: never;
204
+ options?: never;
205
+ head?: never;
206
+ patch?: never;
207
+ trace?: never;
208
+ };
118
209
  "/v1/agent-versions/{agentId}": {
119
210
  parameters: {
120
211
  query?: never;
@@ -215,11 +306,19 @@ interface paths {
215
306
  };
216
307
  get?: never;
217
308
  put?: never;
218
- /** Publish a specific agent version */
309
+ /**
310
+ * Publish a specific agent version
311
+ * @description Apply an immutable version to the live agent row and move the `live` release alias, in one transaction. Until the omitted-selector cutover this is the writer that changes what actually executes, so it is the verb a live deployment uses; the alias activate route owns preview pointers. Supplying `If-Match` opts this call into the same protected-live compare-and-swap the alias routes enforce.
312
+ */
219
313
  post: {
220
314
  parameters: {
221
315
  query?: never;
222
- header?: never;
316
+ header?: {
317
+ /** @description The `live` alias revision this publish expects. Optional: omitting it keeps the historical last-writer-wins behavior for existing callers. When present and stale, the publish is refused with 412 and nothing is written. */
318
+ "if-match"?: string;
319
+ /** @description Replay key. Repeating a publish with the same key returns the receipt the first call produced instead of moving the pointer twice. */
320
+ "idempotency-key"?: string;
321
+ };
223
322
  path: {
224
323
  agentId: string;
225
324
  };
@@ -228,6 +327,14 @@ interface paths {
228
327
  requestBody?: {
229
328
  content: {
230
329
  "application/json": {
330
+ deployment?: {
331
+ /**
332
+ * @description What the deployment receipt records this move as. Send `rollback` when re-deploying the version a previous deployment replaced, so the history reads as a rollback rather than a fresh deployment.
333
+ * @default activate
334
+ * @enum {string}
335
+ */
336
+ action?: "activate" | "rollback";
337
+ };
231
338
  /**
232
339
  * @description Use overwrite only after confirming replacement of a code-managed agent.
233
340
  * @default error
@@ -247,7 +354,8 @@ interface paths {
247
354
  content: {
248
355
  "application/json": {
249
356
  agentId: string;
250
- applied: {
357
+ /** @description Which fields of the live agent row this publish wrote. Omitted when an `Idempotency-Key` replayed an earlier publish, which applies nothing itself and cannot reconstruct what the original wrote. */
358
+ applied?: {
251
359
  [key: string]: boolean;
252
360
  };
253
361
  /** @enum {string} */
@@ -297,7 +405,7 @@ interface paths {
297
405
  "application/json": components["schemas"]["Error"];
298
406
  };
299
407
  };
300
- /** @description Publishing would overwrite a definition managed by code */
408
+ /** @description Publishing would overwrite a definition managed by code, the idempotency key was already used for a different version, or a declared rollback does not aim at the version the live receipt chain says it replaced */
301
409
  409: {
302
410
  headers: {
303
411
  [name: string]: unknown;
@@ -305,9 +413,24 @@ interface paths {
305
413
  content: {
306
414
  "application/json": components["schemas"]["Error"] & {
307
415
  /** @enum {string} */
308
- code: "managed_by_code_conflict";
416
+ code: "managed_by_code_conflict" | "idempotency_key_reused" | "rollback_target_mismatch";
417
+ expectedVersionId?: string | null;
309
418
  /** @enum {string} */
310
- lastModifiedSource: "sdk" | "terraform";
419
+ lastModifiedSource?: "sdk" | "terraform";
420
+ };
421
+ };
422
+ };
423
+ /** @description The live alias moved since the revision this publish quoted */
424
+ 412: {
425
+ headers: {
426
+ [name: string]: unknown;
427
+ };
428
+ content: {
429
+ "application/json": components["schemas"]["Error"] & {
430
+ actual: number | null;
431
+ /** @enum {string} */
432
+ code: "alias_revision_mismatch";
433
+ expected: number;
311
434
  };
312
435
  };
313
436
  };
@@ -1568,6 +1691,15 @@ interface paths {
1568
1691
  "application/json": components["schemas"]["AgentEnsureHashMismatch"];
1569
1692
  };
1570
1693
  };
1694
+ /** @description Active preview alias quota exceeded for the organization or the agent (code PREVIEW_ALIAS_LIMIT). Archive a preview alias and retry. */
1695
+ 429: {
1696
+ headers: {
1697
+ [name: string]: unknown;
1698
+ };
1699
+ content: {
1700
+ "application/json": components["schemas"]["AgentEnsurePreviewAliasLimit"];
1701
+ };
1702
+ };
1571
1703
  /** @description Internal server error, or code alias_activation_failed when a non-live activation could not be applied (nothing was written) */
1572
1704
  500: {
1573
1705
  headers: {
@@ -2746,7 +2878,7 @@ interface paths {
2746
2878
  };
2747
2879
  /**
2748
2880
  * Activate a version at a release alias
2749
- * @description Aim one alias at one immutable version of the same agent, appending a deployment receipt in the same transaction. Moving an existing `live` pointer requires the AGENTS:DEPLOY:LIVE scope and an `If-Match` revision; preview aliases require AGENTS:DEPLOY:PREVIEW. Dependency references the version names are fingerprinted first, and an unresolvable reference refuses the activation.
2881
+ * @description Aim one alias at one immutable version of the same agent, appending a deployment receipt in the same transaction. Moving an existing `live` pointer requires the AGENTS:DEPLOY:LIVE scope and an `If-Match` revision; preview aliases require AGENTS:DEPLOY:PREVIEW. Dependency references the version names are fingerprinted first, and an unresolvable reference refuses the activation. Activating a preview alias renews its 14-day expiry; `live` never expires. Creating a new preview alias past the active-preview quota answers 429 with code PREVIEW_ALIAS_LIMIT.
2750
2882
  */
2751
2883
  put: {
2752
2884
  parameters: {
@@ -2766,6 +2898,7 @@ interface paths {
2766
2898
  requestBody?: {
2767
2899
  content: {
2768
2900
  "application/json": {
2901
+ promotion?: components["schemas"]["AgentDeploymentPromotion"];
2769
2902
  /** @description Why this deployment happened, recorded on the receipt for humans. Context only: nothing branches on it. */
2770
2903
  reason?: string;
2771
2904
  versionId: string;
@@ -2780,8 +2913,12 @@ interface paths {
2780
2913
  };
2781
2914
  content: {
2782
2915
  "application/json": {
2916
+ /** @description How many preview aliases this agent has active after the write. Null for `live`, which is never counted. Read it beside `previewLimit` to see a per-pull-request pipeline filling up before an activation is refused with PREVIEW_ALIAS_LIMIT. */
2917
+ activePreviewCount: number | null;
2783
2918
  alias: string;
2784
2919
  changed: boolean;
2920
+ /** @description The active-preview ceiling this agent is counted against. Null for `live`. */
2921
+ previewLimit: number | null;
2785
2922
  receiptId: string;
2786
2923
  revision: number;
2787
2924
  versionId: string;
@@ -2873,6 +3010,15 @@ interface paths {
2873
3010
  "application/json": components["schemas"]["Error"];
2874
3011
  };
2875
3012
  };
3013
+ /** @description Active preview alias quota exceeded for the organization or the agent */
3014
+ 429: {
3015
+ headers: {
3016
+ [name: string]: unknown;
3017
+ };
3018
+ content: {
3019
+ "application/json": components["schemas"]["PreviewAliasLimitError"];
3020
+ };
3021
+ };
2876
3022
  /** @description Internal server error */
2877
3023
  500: {
2878
3024
  headers: {
@@ -3049,8 +3195,12 @@ interface paths {
3049
3195
  };
3050
3196
  content: {
3051
3197
  "application/json": {
3198
+ /** @description How many preview aliases this agent has active after the write. Null for `live`, which is never counted. Read it beside `previewLimit` to see a per-pull-request pipeline filling up before an activation is refused with PREVIEW_ALIAS_LIMIT. */
3199
+ activePreviewCount: number | null;
3052
3200
  alias: string;
3053
3201
  changed: boolean;
3202
+ /** @description The active-preview ceiling this agent is counted against. Null for `live`. */
3203
+ previewLimit: number | null;
3054
3204
  receiptId: string;
3055
3205
  revision: number;
3056
3206
  versionId: string;
@@ -3700,8 +3850,8 @@ interface paths {
3700
3850
  parameters: {
3701
3851
  query?: never;
3702
3852
  header?: {
3703
- /** @description How a durable turn behaves when the conversation already has one in flight. `reject` (the default when omitted) answers `CONVERSATION_BUSY`; `supersede` cancels the incumbent and takes over; `queue` runs after it. Ignored for a turn that resolves to the in-process lane. */
3704
- "x-runtype-concurrency"?: "reject" | "supersede" | "queue";
3853
+ /** @description How a durable turn handles overlap. `reject` (default) answers CONVERSATION_BUSY naming the occupant execution, its phase, and a Retry-After; `supersede` cancels and replaces; `queue` runs afterward; `join` durably appends new user-message deltas to the same execution at a safe boundary, attaches through the host's slot claim when the host has not started yet, or starts the next execution if completion wins. Join requires a conversationId, preserves configuration and authority, cannot combine with coalesce, and rejects unsupported lanes. Other policies remain ignored on in-process execution. */
3854
+ "x-runtype-concurrency"?: "reject" | "supersede" | "queue" | "join";
3705
3855
  /** @description Send `true` to fold this request into an already-pending turn for the same conversation instead of starting a second one. The response is the pending execution. Any other value (or omitting the header) starts a new turn. */
3706
3856
  "x-runtype-coalesce"?: "true";
3707
3857
  /** @description Caller-chosen key that makes admission idempotent: a retry with the same key returns the ORIGINAL execution rather than starting a second turn, and consumes no additional quota. Scoped to the durable lane. */
@@ -3726,6 +3876,7 @@ interface paths {
3726
3876
  [name: string]: unknown;
3727
3877
  };
3728
3878
  content: {
3879
+ "application/json": components["schemas"]["DispatchAgentJsonResponse"];
3729
3880
  "text/event-stream": unknown;
3730
3881
  };
3731
3882
  };
@@ -3765,7 +3916,7 @@ interface paths {
3765
3916
  "application/json": components["schemas"]["Error"];
3766
3917
  };
3767
3918
  };
3768
- /** @description Agent not found */
3919
+ /** @description Agent not found, a version selector that names no pointer (alias_not_found, alias_archived, alias_expired, version_not_found), or a saved agent with no runnable live version (AGENT_NOT_DEPLOYED) */
3769
3920
  404: {
3770
3921
  headers: {
3771
3922
  [name: string]: unknown;
@@ -3774,7 +3925,7 @@ interface paths {
3774
3925
  "application/json": components["schemas"]["Error"];
3775
3926
  };
3776
3927
  };
3777
- /** @description Organization model configuration needs configuration */
3928
+ /** @description Organization model configuration needs configuration, the durable conversation is busy (CONVERSATION_BUSY names the occupant execution and its phase; honor Retry-After or join it), or a `history: "stored"` turn lost the compare-and-swap on its conversation (CONVERSATION_MODIFIED; nothing ran, re-read the conversation and retry) */
3778
3929
  409: {
3779
3930
  headers: {
3780
3931
  [name: string]: unknown;
@@ -3789,7 +3940,16 @@ interface paths {
3789
3940
  error: string;
3790
3941
  modelId: string;
3791
3942
  provider: string;
3792
- };
3943
+ } | components["schemas"]["ConversationBusyError"] | components["schemas"]["ConversationModifiedError"];
3944
+ };
3945
+ };
3946
+ /** @description A `history: "stored"` turn could not be stored: the conversation is already at the record payload limit. Nothing ran. */
3947
+ 413: {
3948
+ headers: {
3949
+ [name: string]: unknown;
3950
+ };
3951
+ content: {
3952
+ "application/json": components["schemas"]["Error"];
3793
3953
  };
3794
3954
  };
3795
3955
  /** @description Internal server error */
@@ -6729,10 +6889,10 @@ interface paths {
6729
6889
  errorMessage?: string | null;
6730
6890
  estimatedCost?: string | null;
6731
6891
  /**
6732
- * @description Engine that actually executed this step ('runtime' | 'legacy'). Recorded at write time from the committed lane decision; never inferred later. Null for rows written before attribution shipped and for units that never started executing (externally executed runs carry no engine).
6892
+ * @description Engine that actually executed this step ('runtime' | 'legacy' | 'external'). Recorded at write time from the committed lane decision; never inferred later. 'external' marks a run a customer executed outside Runtype and reported through ingest. Null for rows written before attribution shipped and for units that never started executing.
6733
6893
  * @enum {string|null}
6734
6894
  */
6735
- executionEngine?: "runtime" | "legacy" | null;
6895
+ executionEngine?: "runtime" | "legacy" | "external" | null;
6736
6896
  executionSessionId: string | null;
6737
6897
  flowId: string | null;
6738
6898
  flowVersionId: string | null;
@@ -7880,7 +8040,7 @@ interface paths {
7880
8040
  put?: never;
7881
8041
  /**
7882
8042
  * Send a client chat message
7883
- * @description Send a message for a browser client-token chat session. The request streams flow/agent events over Server-Sent Events. `turnId` and `submitMode` are optional and let newer Persona clients suppress stale interrupted responses; older clients can omit both fields.
8043
+ * @description Send a message for a browser client-token chat session. The request streams flow/agent events over Server-Sent Events. `turnId` and `submitMode` are optional and let newer Persona clients suppress stale interrupted responses; older clients can omit both fields. Opt-in `join` accepts exactly one new user message whose `id` equals `turnId` for visitor-owned native durable agents. A new execution streams SSE; joining an existing execution returns a 202 delivery receipt without replacing its response. Retry with the same turn and message IDs.
7884
8044
  */
7885
8045
  post: {
7886
8046
  parameters: {
@@ -7951,7 +8111,7 @@ interface paths {
7951
8111
  };
7952
8112
  sessionId: string;
7953
8113
  /** @enum {string} */
7954
- submitMode?: "normal" | "interrupt";
8114
+ submitMode?: "normal" | "interrupt" | "join";
7955
8115
  turnId?: string;
7956
8116
  };
7957
8117
  };
@@ -7966,6 +8126,25 @@ interface paths {
7966
8126
  "text/event-stream": unknown;
7967
8127
  };
7968
8128
  };
8129
+ /** @description Input accepted by an existing durable execution; no new response stream */
8130
+ 202: {
8131
+ headers: {
8132
+ [name: string]: unknown;
8133
+ };
8134
+ content: {
8135
+ "application/json": {
8136
+ /** @enum {boolean} */
8137
+ accepted: true;
8138
+ conversationId: string;
8139
+ deliveryId: string;
8140
+ /** @enum {string} */
8141
+ deliveryStatus: "pending" | "applied" | "settled" | "not_applied";
8142
+ deliveryStatusUrl: string;
8143
+ eventsUrl: string;
8144
+ executionId: string;
8145
+ };
8146
+ };
8147
+ };
7969
8148
  /** @description Validation error */
7970
8149
  400: {
7971
8150
  headers: {
@@ -7996,7 +8175,7 @@ interface paths {
7996
8175
  "application/json": components["schemas"]["Error"];
7997
8176
  };
7998
8177
  };
7999
- /** @description Referenced flow or agent not found */
8178
+ /** @description Referenced flow or agent not found, or a saved agent with no runnable live version (AGENT_NOT_DEPLOYED) */
8000
8179
  404: {
8001
8180
  headers: {
8002
8181
  [name: string]: unknown;
@@ -8272,6 +8451,192 @@ interface paths {
8272
8451
  patch?: never;
8273
8452
  trace?: never;
8274
8453
  };
8454
+ "/v1/client/conversations/{conversationId}/executions/{executionId}/cancel": {
8455
+ parameters: {
8456
+ query?: never;
8457
+ header?: never;
8458
+ path?: never;
8459
+ cookie?: never;
8460
+ };
8461
+ get?: never;
8462
+ put?: never;
8463
+ /**
8464
+ * Stop a native durable client execution
8465
+ * @description Cancel the specified execution without starting a replacement. Pending inputs become not applied. Requires the exact visitor and session bound to the conversation.
8466
+ */
8467
+ post: {
8468
+ parameters: {
8469
+ query: {
8470
+ sessionId: string;
8471
+ };
8472
+ header: {
8473
+ /** @description The browser's anonymous visitor secret (`cvt_…`) returned by `/client/init`. It is what scopes the request to one visitor's own conversations, so a request without it is refused. Sent as a header so it never lands in access logs or `Referer`. */
8474
+ "x-visitor-token": string;
8475
+ /** @description Optional fresh hosted end-user identity proof. When admitted and already bound to the presented visitor, expands the request from this exact browser to sibling visitors for the same verified person. Without it, even a previously bound visitor remains exact-browser scoped. */
8476
+ "x-identity-proof"?: string;
8477
+ };
8478
+ path: {
8479
+ conversationId: string;
8480
+ executionId: string;
8481
+ };
8482
+ cookie?: never;
8483
+ };
8484
+ requestBody?: never;
8485
+ responses: {
8486
+ /** @description Cancellation accepted */
8487
+ 202: {
8488
+ headers: {
8489
+ [name: string]: unknown;
8490
+ };
8491
+ content: {
8492
+ "application/json": {
8493
+ accepted: boolean;
8494
+ executionId: string;
8495
+ };
8496
+ };
8497
+ };
8498
+ /** @description Missing or expired session or visitor credential */
8499
+ 401: {
8500
+ headers: {
8501
+ [name: string]: unknown;
8502
+ };
8503
+ content: {
8504
+ "application/json": components["schemas"]["Error"];
8505
+ };
8506
+ };
8507
+ /** @description Inactive client token or origin mismatch */
8508
+ 403: {
8509
+ headers: {
8510
+ [name: string]: unknown;
8511
+ };
8512
+ content: {
8513
+ "application/json": components["schemas"]["Error"];
8514
+ };
8515
+ };
8516
+ /** @description Execution or delivery not owned by this visitor conversation */
8517
+ 404: {
8518
+ headers: {
8519
+ [name: string]: unknown;
8520
+ };
8521
+ content: {
8522
+ "application/json": components["schemas"]["Error"];
8523
+ };
8524
+ };
8525
+ /** @description Execution is already terminal or no longer cancellable */
8526
+ 409: {
8527
+ headers: {
8528
+ [name: string]: unknown;
8529
+ };
8530
+ content: {
8531
+ "application/json": {
8532
+ accepted: boolean;
8533
+ executionId: string;
8534
+ };
8535
+ };
8536
+ };
8537
+ /** @description Visitor request rate exceeded */
8538
+ 429: {
8539
+ headers: {
8540
+ [name: string]: unknown;
8541
+ };
8542
+ content: {
8543
+ "application/json": components["schemas"]["Error"];
8544
+ };
8545
+ };
8546
+ };
8547
+ };
8548
+ delete?: never;
8549
+ options?: never;
8550
+ head?: never;
8551
+ patch?: never;
8552
+ trace?: never;
8553
+ };
8554
+ "/v1/client/conversations/{conversationId}/executions/{executionId}/deliveries/{deliveryId}": {
8555
+ parameters: {
8556
+ query?: never;
8557
+ header?: never;
8558
+ path?: never;
8559
+ cookie?: never;
8560
+ };
8561
+ /**
8562
+ * Read a live input delivery receipt
8563
+ * @description Read whether a joined message is pending, applied, settled, or not applied. Requires the exact visitor and session bound to this conversation.
8564
+ */
8565
+ get: {
8566
+ parameters: {
8567
+ query: {
8568
+ sessionId: string;
8569
+ };
8570
+ header: {
8571
+ /** @description The browser's anonymous visitor secret (`cvt_…`) returned by `/client/init`. It is what scopes the request to one visitor's own conversations, so a request without it is refused. Sent as a header so it never lands in access logs or `Referer`. */
8572
+ "x-visitor-token": string;
8573
+ /** @description Optional fresh hosted end-user identity proof. When admitted and already bound to the presented visitor, expands the request from this exact browser to sibling visitors for the same verified person. Without it, even a previously bound visitor remains exact-browser scoped. */
8574
+ "x-identity-proof"?: string;
8575
+ };
8576
+ path: {
8577
+ conversationId: string;
8578
+ executionId: string;
8579
+ deliveryId: string;
8580
+ };
8581
+ cookie?: never;
8582
+ };
8583
+ requestBody?: never;
8584
+ responses: {
8585
+ /** @description Durable input delivery receipt */
8586
+ 200: {
8587
+ headers: {
8588
+ [name: string]: unknown;
8589
+ };
8590
+ content: {
8591
+ "application/json": components["schemas"]["ClientInputDeliveryReceipt"];
8592
+ };
8593
+ };
8594
+ /** @description Missing or expired session or visitor credential */
8595
+ 401: {
8596
+ headers: {
8597
+ [name: string]: unknown;
8598
+ };
8599
+ content: {
8600
+ "application/json": components["schemas"]["Error"];
8601
+ };
8602
+ };
8603
+ /** @description Inactive client token or origin mismatch */
8604
+ 403: {
8605
+ headers: {
8606
+ [name: string]: unknown;
8607
+ };
8608
+ content: {
8609
+ "application/json": components["schemas"]["Error"];
8610
+ };
8611
+ };
8612
+ /** @description Execution or delivery not owned by this visitor conversation */
8613
+ 404: {
8614
+ headers: {
8615
+ [name: string]: unknown;
8616
+ };
8617
+ content: {
8618
+ "application/json": components["schemas"]["Error"];
8619
+ };
8620
+ };
8621
+ /** @description Visitor request rate exceeded */
8622
+ 429: {
8623
+ headers: {
8624
+ [name: string]: unknown;
8625
+ };
8626
+ content: {
8627
+ "application/json": components["schemas"]["Error"];
8628
+ };
8629
+ };
8630
+ };
8631
+ };
8632
+ put?: never;
8633
+ post?: never;
8634
+ delete?: never;
8635
+ options?: never;
8636
+ head?: never;
8637
+ patch?: never;
8638
+ trace?: never;
8639
+ };
8275
8640
  "/v1/client/conversations/{id}": {
8276
8641
  parameters: {
8277
8642
  query?: never;
@@ -8857,6 +9222,8 @@ interface paths {
8857
9222
  durableRecovery?: {
8858
9223
  /** @description Whether this initialized client-token session has the visitor credential and surface policy needed to use the durable execution reconnect route. Reporting only: individual turns still self-identify as durable through replay cursors. */
8859
9224
  enabled: boolean;
9225
+ /** @description Whether the native durable target supports non-interrupting user-message delivery. */
9226
+ join?: boolean;
8860
9227
  };
8861
9228
  /** @description ISO-8601 session idle-expiry timestamp. */
8862
9229
  expiresAt: string;
@@ -8922,7 +9289,7 @@ interface paths {
8922
9289
  "application/json": components["schemas"]["Error"];
8923
9290
  };
8924
9291
  };
8925
- /** @description Referenced flow, agent, or visitor-authorized conversation not found. Conversations outside the visitor scope also answer 404. */
9292
+ /** @description Referenced flow, agent, or visitor-authorized conversation not found, or a saved agent with no runnable live version (AGENT_NOT_DEPLOYED). Conversations outside the visitor scope also answer 404. */
8926
9293
  404: {
8927
9294
  headers: {
8928
9295
  [name: string]: unknown;
@@ -10505,6 +10872,13 @@ interface paths {
10505
10872
  requestBody?: {
10506
10873
  content: {
10507
10874
  "application/json": {
10875
+ /** @description Agent (agent_...) this conversation belongs to, stored as metadata.agentId. Must name an agent the caller owns. */
10876
+ agentId?: string;
10877
+ /**
10878
+ * @description Full-fidelity transcript. A tool message must carry toolResults answering an assistant toolCalls entry issued earlier in the array; ids and createdAt are minted when omitted.
10879
+ * @default []
10880
+ */
10881
+ messages?: components["schemas"]["ConversationTranscriptMessage"][];
10508
10882
  /** @default {} */
10509
10883
  metadata?: {
10510
10884
  [key: string]: unknown;
@@ -10512,6 +10886,7 @@ interface paths {
10512
10886
  modelId?: string;
10513
10887
  /** @description Owner key for this conversation, stored in the indexed owner_id column and filterable via ?ownerId=. Overrides a nested metadata.ownerId. Null means no owner. */
10514
10888
  ownerId?: string | null;
10889
+ source?: components["schemas"]["ConversationSource"];
10515
10890
  systemPrompt?: string;
10516
10891
  /** @default New Chat */
10517
10892
  title?: string;
@@ -10519,8 +10894,8 @@ interface paths {
10519
10894
  };
10520
10895
  };
10521
10896
  responses: {
10522
- /** @description Conversation created */
10523
- 201: {
10897
+ /** @description A conversation with this `source.system` and `source.externalId` was already imported. Nothing was created and the existing conversation is returned with `imported: false`. */
10898
+ 200: {
10524
10899
  headers: {
10525
10900
  [name: string]: unknown;
10526
10901
  };
@@ -10528,9 +10903,39 @@ interface paths {
10528
10903
  "application/json": {
10529
10904
  createdAt: string;
10530
10905
  id: string;
10531
- messages: {
10906
+ /** @description Set by POST /v1/conversations only. True when this call created the conversation (201); false when a conversation with the same source.system and source.externalId already existed and is returned unchanged (200). */
10907
+ imported?: boolean;
10908
+ messages: components["schemas"]["ConversationTranscriptMessage"][];
10909
+ metadata: {
10532
10910
  [key: string]: unknown;
10911
+ };
10912
+ modelId: string | null;
10913
+ ownerId: string | null;
10914
+ schemaWarnings?: {
10915
+ code: string;
10916
+ field: string;
10917
+ message: string;
10533
10918
  }[];
10919
+ /** @enum {string} */
10920
+ source: "app" | "client_token";
10921
+ systemPrompt: string | null;
10922
+ title: string;
10923
+ updatedAt: string;
10924
+ };
10925
+ };
10926
+ };
10927
+ /** @description Conversation created (`imported: true`) */
10928
+ 201: {
10929
+ headers: {
10930
+ [name: string]: unknown;
10931
+ };
10932
+ content: {
10933
+ "application/json": {
10934
+ createdAt: string;
10935
+ id: string;
10936
+ /** @description Set by POST /v1/conversations only. True when this call created the conversation (201); false when a conversation with the same source.system and source.externalId already existed and is returned unchanged (200). */
10937
+ imported?: boolean;
10938
+ messages: components["schemas"]["ConversationTranscriptMessage"][];
10534
10939
  metadata: {
10535
10940
  [key: string]: unknown;
10536
10941
  };
@@ -10549,14 +10954,16 @@ interface paths {
10549
10954
  };
10550
10955
  };
10551
10956
  };
10552
- /** @description Validation error */
10957
+ /** @description Validation error. `code: CONVERSATION_TRANSCRIPT_INVALID` when `messages` breaks the tool-pairing discipline; `details.issues` lists each offending message index. */
10553
10958
  400: {
10554
10959
  headers: {
10555
10960
  [name: string]: unknown;
10556
10961
  };
10557
10962
  content: {
10558
10963
  "application/json": components["schemas"]["Error"] & {
10964
+ code?: string;
10559
10965
  details?: unknown;
10966
+ message?: string;
10560
10967
  };
10561
10968
  };
10562
10969
  };
@@ -10578,6 +10985,15 @@ interface paths {
10578
10985
  "application/json": components["schemas"]["Error"];
10579
10986
  };
10580
10987
  };
10988
+ /** @description The requested agentId names no agent the caller owns */
10989
+ 404: {
10990
+ headers: {
10991
+ [name: string]: unknown;
10992
+ };
10993
+ content: {
10994
+ "application/json": components["schemas"]["Error"];
10995
+ };
10996
+ };
10581
10997
  /** @description Metadata violates a registered `conversation` collection schema (enforce mode) */
10582
10998
  422: {
10583
10999
  headers: {
@@ -10632,9 +11048,9 @@ interface paths {
10632
11048
  "application/json": {
10633
11049
  createdAt: string;
10634
11050
  id: string;
10635
- messages: {
10636
- [key: string]: unknown;
10637
- }[];
11051
+ /** @description Set by POST /v1/conversations only. True when this call created the conversation (201); false when a conversation with the same source.system and source.externalId already existed and is returned unchanged (200). */
11052
+ imported?: boolean;
11053
+ messages: components["schemas"]["ConversationTranscriptMessage"][];
10638
11054
  metadata: {
10639
11055
  [key: string]: unknown;
10640
11056
  };
@@ -10713,50 +11129,23 @@ interface paths {
10713
11129
  requestBody?: {
10714
11130
  content: {
10715
11131
  "application/json": {
10716
- messages?: {
10717
- content: string | (({
10718
- text: string;
10719
- /** @enum {string} */
10720
- type: "text";
10721
- } & {
10722
- [key: string]: unknown;
10723
- }) | ({
10724
- image: string;
10725
- mimeType?: string;
10726
- /** @enum {string} */
10727
- type: "image";
10728
- } & {
10729
- [key: string]: unknown;
10730
- }) | ({
10731
- data: string;
10732
- filename: string;
10733
- mimeType: string;
10734
- /** @enum {string} */
10735
- type: "file";
10736
- } & {
10737
- [key: string]: unknown;
10738
- }) | {
10739
- assetId: string;
10740
- filename?: string;
10741
- mimeType: string;
10742
- orgKey: string;
10743
- /** @enum {string} */
10744
- refKind: "image" | "file";
10745
- sizeBytes: number;
10746
- /** @enum {string} */
10747
- type: "asset_ref";
10748
- })[];
10749
- createdAt?: string;
10750
- id: string;
10751
- /** @enum {string} */
10752
- role: "user" | "assistant" | "system";
10753
- }[];
11132
+ /** @description Null clears metadata.agentId; omit to leave it unchanged. */
11133
+ agentId?: string | null;
11134
+ /** @description Full-fidelity transcript. A tool message must carry toolResults answering an assistant toolCalls entry issued earlier in the array; ids and createdAt are minted when omitted. */
11135
+ messages?: components["schemas"]["ConversationTranscriptMessage"][];
11136
+ /**
11137
+ * @description How to apply `messages`. `replace` (the default) swaps the whole transcript. `append` adds them to the end, skipping any message whose id is already stored, so a chunked import can retry a chunk safely; the combined transcript is validated and must satisfy the same tool-pairing discipline.
11138
+ * @default replace
11139
+ * @enum {string}
11140
+ */
11141
+ messagesMode?: "replace" | "append";
10754
11142
  metadata?: {
10755
11143
  [key: string]: unknown;
10756
11144
  };
10757
11145
  modelId?: string;
10758
11146
  /** @description Reassigns the owner (indexed owner_id column, filterable via ?ownerId=). Overrides a nested metadata.ownerId. Null clears the owner; omit to leave it unchanged. */
10759
11147
  ownerId?: string | null;
11148
+ source?: components["schemas"]["ConversationSource"];
10760
11149
  systemPrompt?: string;
10761
11150
  title?: string;
10762
11151
  };
@@ -10772,9 +11161,9 @@ interface paths {
10772
11161
  "application/json": {
10773
11162
  createdAt: string;
10774
11163
  id: string;
10775
- messages: {
10776
- [key: string]: unknown;
10777
- }[];
11164
+ /** @description Set by POST /v1/conversations only. True when this call created the conversation (201); false when a conversation with the same source.system and source.externalId already existed and is returned unchanged (200). */
11165
+ imported?: boolean;
11166
+ messages: components["schemas"]["ConversationTranscriptMessage"][];
10778
11167
  metadata: {
10779
11168
  [key: string]: unknown;
10780
11169
  };
@@ -10793,14 +11182,16 @@ interface paths {
10793
11182
  };
10794
11183
  };
10795
11184
  };
10796
- /** @description Validation error */
11185
+ /** @description Validation error. `code: CONVERSATION_TRANSCRIPT_INVALID` when `messages` breaks the tool-pairing discipline; `details.issues` lists each offending message index. */
10797
11186
  400: {
10798
11187
  headers: {
10799
11188
  [name: string]: unknown;
10800
11189
  };
10801
11190
  content: {
10802
11191
  "application/json": components["schemas"]["Error"] & {
11192
+ code?: string;
10803
11193
  details?: unknown;
11194
+ message?: string;
10804
11195
  };
10805
11196
  };
10806
11197
  };
@@ -10831,6 +11222,15 @@ interface paths {
10831
11222
  "application/json": components["schemas"]["Error"];
10832
11223
  };
10833
11224
  };
11225
+ /** @description `messagesMode: "append"` lost the compare-and-swap on the stored transcript (`CONVERSATION_MODIFIED`) because a concurrent write moved it. Nothing was written; re-read the conversation and retry. */
11226
+ 409: {
11227
+ headers: {
11228
+ [name: string]: unknown;
11229
+ };
11230
+ content: {
11231
+ "application/json": components["schemas"]["ConversationModifiedError"];
11232
+ };
11233
+ };
10834
11234
  /** @description Metadata violates a registered `conversation` collection schema (enforce mode) */
10835
11235
  422: {
10836
11236
  headers: {
@@ -11951,7 +12351,7 @@ interface paths {
11951
12351
  put?: never;
11952
12352
  /**
11953
12353
  * Execute a flow or agent
11954
- * @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 receive a durable execution handle immediately, then poll its status URL for completion. A saved agent may run on the durable session lane; the admission headers `x-runtype-concurrency` (reject, supersede, queue), `x-runtype-coalesce` (true) and `idempotency-key` then apply exactly as on `POST /v1/agents/{id}/execute`, and are ignored for a turn that resolves to the in-process lane.
12354
+ * @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 receive a durable execution handle immediately, then poll its status URL for completion. A saved agent may run on the durable session lane; the admission headers `x-runtype-concurrency` (reject, supersede, queue, join), `x-runtype-coalesce` (true) and `idempotency-key` then apply exactly as on `POST /v1/agents/{id}/execute`, and are ignored for in-process execution except join, which fails explicitly on unsupported lanes. Join accepts only new user-message deltas, preserves the active execution configuration and authority, and returns a deliveryId with a deliveryStatusUrl. Prefer: respond-async with join returns a native delivery receipt without queuing an HTTP replay.
11955
12355
  */
11956
12356
  post: {
11957
12357
  parameters: {
@@ -12258,6 +12658,7 @@ interface paths {
12258
12658
  inputs?: {
12259
12659
  [key: string]: unknown;
12260
12660
  };
12661
+ /** @description Conversation history for this turn. A `system` message that is not the first message keeps its position on OpenAI-family models (so a per-turn system message sent last leaves the cached leading prompt untouched) and is folded into the leading system prompt on providers that require a single leading system turn. */
12261
12662
  messages?: {
12262
12663
  content: string | ({
12263
12664
  text: string;
@@ -12677,6 +13078,7 @@ interface paths {
12677
13078
  inputs?: {
12678
13079
  [key: string]: unknown;
12679
13080
  };
13081
+ /** @description Conversation history for this turn. A `system` message that is not the first message keeps its position on OpenAI-family models (so a per-turn system message sent last leaves the cached leading prompt untouched) and is folded into the leading system prompt on providers that require a single leading system turn. */
12680
13082
  messages?: {
12681
13083
  content: string | ({
12682
13084
  text: string;
@@ -12859,7 +13261,7 @@ interface paths {
12859
13261
  "application/json": components["schemas"]["Error"];
12860
13262
  };
12861
13263
  };
12862
- /** @description Saved flow not found (FLOW_NOT_FOUND) */
13264
+ /** @description Saved flow not found (FLOW_NOT_FOUND), a version selector that names no pointer (alias_not_found, alias_archived, alias_expired, version_not_found), or a saved agent with no runnable live version (AGENT_NOT_DEPLOYED) */
12863
13265
  404: {
12864
13266
  headers: {
12865
13267
  [name: string]: unknown;
@@ -12868,6 +13270,15 @@ interface paths {
12868
13270
  "application/json": components["schemas"]["Error"];
12869
13271
  };
12870
13272
  };
13273
+ /** @description The durable conversation is busy (CONVERSATION_BUSY names the occupant execution and its phase; honor Retry-After or send x-runtype-concurrency: join) */
13274
+ 409: {
13275
+ headers: {
13276
+ [name: string]: unknown;
13277
+ };
13278
+ content: {
13279
+ "application/json": components["schemas"]["ConversationBusyError"];
13280
+ };
13281
+ };
12871
13282
  /** @description The dispatch cannot run: a persisted-flow hash miss (FLOW_DEFINITION_REQUIRED, retry with the full definition), a shaped-wrong definition write (FLOW_DEFINITION_WRITE_REJECTED), no flow definition (FLOW_DEFINITION_MISSING), an unresolvable record or definition (FLOW_RECORD_UNRESOLVED, FLOW_DEFINITION_UNRESOLVED), or a capability the runtime lane cannot host (RUNTIME_LANE_INELIGIBLE, with `reasons`) */
12872
13283
  422: {
12873
13284
  headers: {
@@ -14845,6 +15256,7 @@ interface paths {
14845
15256
  requestBody?: {
14846
15257
  content: {
14847
15258
  "application/json": {
15259
+ agent?: components["schemas"]["EvalAgentSelector"] & unknown;
14848
15260
  definition?: {
14849
15261
  cases: {
14850
15262
  expect: ({
@@ -15266,6 +15678,7 @@ interface paths {
15266
15678
  requestBody?: {
15267
15679
  content: {
15268
15680
  "application/json": {
15681
+ agent?: components["schemas"]["EvalAgentSelector"] & unknown;
15269
15682
  evalConfig?: components["schemas"]["EvalConfigRequest"];
15270
15683
  evalConfigs?: components["schemas"]["EvalConfigRequest"][];
15271
15684
  } & {
@@ -16843,6 +17256,7 @@ interface paths {
16843
17256
  requestBody?: {
16844
17257
  content: {
16845
17258
  "application/json": {
17259
+ agent?: components["schemas"]["EvalAgentSelector"];
16846
17260
  /**
16847
17261
  * @description Force the execution path. Default: sync for suites within the synchronous case limit (50), batch above it.
16848
17262
  * @enum {string}
@@ -16910,7 +17324,7 @@ interface paths {
16910
17324
  "application/json": components["schemas"]["Error"];
16911
17325
  };
16912
17326
  };
16913
- /** @description Not found */
17327
+ /** @description Not found, a version selector that names no pointer (alias_not_found, alias_archived, alias_expired, version_not_found), or a saved agent with no runnable live version (AGENT_NOT_DEPLOYED) */
16914
17328
  404: {
16915
17329
  headers: {
16916
17330
  [name: string]: unknown;
@@ -16966,6 +17380,15 @@ interface paths {
16966
17380
  };
16967
17381
  content: {
16968
17382
  "application/json": {
17383
+ /** @description The release alias the run resolved through, when it resolved through one. */
17384
+ agentTargetAlias?: string | null;
17385
+ /**
17386
+ * @description How the run picked its version. Null on a run that predates release aliases.
17387
+ * @enum {string|null}
17388
+ */
17389
+ agentTargetResolution?: "alias" | "version" | "legacy-live-row" | null;
17390
+ /** @description The exact Agent version every case of this run executed. Null for a legacy run. */
17391
+ agentVersionId?: string | null;
16969
17392
  batchExecutionId: string;
16970
17393
  /** @description Every graded case that errored, with the failure text its scores recorded. Empty when no case errored, when the run is not scored yet, or when it was scored before the field shipped. */
16971
17394
  caseErrors: {
@@ -16973,10 +17396,14 @@ interface paths {
16973
17396
  error: string;
16974
17397
  name: string;
16975
17398
  }[];
17399
+ /** @description SHA-256 over the ordered, normalized case set this run executed. */
17400
+ caseManifestHash?: string | null;
16976
17401
  completedAt?: string;
16977
17402
  evalConfig?: unknown;
16978
17403
  evalGroupId?: string;
16979
17404
  evalName?: string;
17405
+ /** @description SHA-256 over the evaluator configuration this run scored with. */
17406
+ evaluatorFingerprint?: string | null;
16980
17407
  failedRecords: number;
16981
17408
  flowId: string | null;
16982
17409
  processedRecords: number;
@@ -16988,10 +17415,10 @@ interface paths {
16988
17415
  errorStack: string | null;
16989
17416
  executedAt: string;
16990
17417
  /**
16991
- * @description Engine that actually executed this step ('runtime' | 'legacy'). Recorded at write time from the committed lane decision; never inferred later. Null for rows written before attribution shipped and for units that never started executing (externally executed runs carry no engine).
17418
+ * @description Engine that actually executed this step ('runtime' | 'legacy' | 'external'). Recorded at write time from the committed lane decision; never inferred later. 'external' marks a run a customer executed outside Runtype and reported through ingest. Null for rows written before attribution shipped and for units that never started executing.
16992
17419
  * @enum {string|null}
16993
17420
  */
16994
- executionEngine?: "runtime" | "legacy" | null;
17421
+ executionEngine?: "runtime" | "legacy" | "external" | null;
16995
17422
  executionSessionId: string | null;
16996
17423
  inputVariables?: unknown;
16997
17424
  messageHistory: unknown[] | null;
@@ -17068,6 +17495,75 @@ interface paths {
17068
17495
  patch?: never;
17069
17496
  trace?: never;
17070
17497
  };
17498
+ "/v1/executions/{executionId}/deliveries/{deliveryId}": {
17499
+ parameters: {
17500
+ query?: never;
17501
+ header?: never;
17502
+ path?: never;
17503
+ cookie?: never;
17504
+ };
17505
+ /**
17506
+ * Inspect a durable input delivery
17507
+ * @description Read the delivery independently of its host execution. Applied means durably incorporated into context, not model compliance. Settled shares the host outcome; not_applied means the host ended before consuming this input. Receipts are retained within the session retry window.
17508
+ */
17509
+ get: {
17510
+ parameters: {
17511
+ query?: never;
17512
+ header?: never;
17513
+ path: {
17514
+ executionId: string;
17515
+ deliveryId: string;
17516
+ };
17517
+ cookie?: never;
17518
+ };
17519
+ requestBody?: never;
17520
+ responses: {
17521
+ /** @description Input delivery receipt */
17522
+ 200: {
17523
+ headers: {
17524
+ [name: string]: unknown;
17525
+ };
17526
+ content: {
17527
+ "application/json": components["schemas"]["InputDeliveryReceipt"];
17528
+ };
17529
+ };
17530
+ /** @description Unauthorized */
17531
+ 401: {
17532
+ headers: {
17533
+ [name: string]: unknown;
17534
+ };
17535
+ content: {
17536
+ "application/json": components["schemas"]["Error"];
17537
+ };
17538
+ };
17539
+ /** @description Insufficient permissions */
17540
+ 403: {
17541
+ headers: {
17542
+ [name: string]: unknown;
17543
+ };
17544
+ content: {
17545
+ "application/json": components["schemas"]["Error"];
17546
+ };
17547
+ };
17548
+ /** @description Delivery not found or expired */
17549
+ 404: {
17550
+ headers: {
17551
+ [name: string]: unknown;
17552
+ };
17553
+ content: {
17554
+ "application/json": components["schemas"]["Error"];
17555
+ };
17556
+ };
17557
+ };
17558
+ };
17559
+ put?: never;
17560
+ post?: never;
17561
+ delete?: never;
17562
+ options?: never;
17563
+ head?: never;
17564
+ patch?: never;
17565
+ trace?: never;
17566
+ };
17071
17567
  "/v1/executions/{executionId}/events": {
17072
17568
  parameters: {
17073
17569
  query?: never;
@@ -19030,9 +19526,7 @@ interface paths {
19030
19526
  };
19031
19527
  /**
19032
19528
  * Export flow for runtime (limited preview)
19033
- * @description **Limited preview not yet generally available.** This endpoint is dark-launched and returns `404 Not Found` in production until GA; it is only reachable in non-production environments today.
19034
- *
19035
- * Export a fully-resolved, self-contained flow definition that the @runtypelabs/runtime package can consume directly at boot. All step configs are inlined; no live DB queries are needed at execution time.
19529
+ * @description Export a fully-resolved, self-contained flow definition that the @runtypelabs/runtime package can consume directly at boot. All step configs are inlined; no live DB queries are needed at execution time. Requires the `RUNTIME:EXPORT` scope and an Enterprise plan (the `byoc` entitlement); an unentitled account receives `403` with code `BYOC_PLAN_REQUIRED` in every environment.
19036
19530
  *
19037
19531
  * The response carries `hostDependencies`: the runtime seams the exported artifact needs a host to wire before it can run everything it describes. A durable-class step (`wait-until` or `crawl`) anywhere in the flow's executable closure declares a `durable-pause-host` dependency; a detached-capable dynamic subagent pool or a detached inline subagent tool declares a `background-run-coordinator` dependency. The array is empty when nothing needs wiring, and the export is never refused for a declared dependency.
19038
19532
  */
@@ -19434,10 +19928,10 @@ interface paths {
19434
19928
  errorMessage?: string | null;
19435
19929
  estimatedCost?: string | null;
19436
19930
  /**
19437
- * @description Engine that actually executed this step ('runtime' | 'legacy'). Recorded at write time from the committed lane decision; never inferred later. Null for rows written before attribution shipped and for units that never started executing (externally executed runs carry no engine).
19931
+ * @description Engine that actually executed this step ('runtime' | 'legacy' | 'external'). Recorded at write time from the committed lane decision; never inferred later. 'external' marks a run a customer executed outside Runtype and reported through ingest. Null for rows written before attribution shipped and for units that never started executing.
19438
19932
  * @enum {string|null}
19439
19933
  */
19440
- executionEngine?: "runtime" | "legacy" | null;
19934
+ executionEngine?: "runtime" | "legacy" | "external" | null;
19441
19935
  executionSessionId: string | null;
19442
19936
  flowId: string | null;
19443
19937
  flowVersionId: string | null;
@@ -24140,7 +24634,7 @@ interface paths {
24140
24634
  content: {
24141
24635
  "application/json": {
24142
24636
  data: {
24143
- /** @description True when historical (R2 SQL) logs were unavailable and only recent hot-tier entries are included. Absent on healthy responses. */
24637
+ /** @description True when part of the window could not be read, so entries are missing: historical (R2 SQL) logs were unavailable, or the recent hot tier failed. Rows the hot tier evicted are served from R2 instead, so an eviction sets this only for the part too recent for R2 to have ingested. Absent on healthy responses. */
24144
24638
  degraded?: boolean;
24145
24639
  entries: {
24146
24640
  [key: string]: unknown;
@@ -24333,7 +24827,7 @@ interface paths {
24333
24827
  byType: {
24334
24828
  [key: string]: number;
24335
24829
  };
24336
- /** @description True when historical (R2 SQL) counts were unavailable and stats cover only the recent hot-tier window. Absent on healthy responses. */
24830
+ /** @description True when part of the window could not be read, so counts are partial: historical (R2 SQL) counts were unavailable, or the recent hot tier failed. Rows the hot tier evicted are counted from R2 instead, so an eviction sets this only for the part too recent for R2 to have ingested. Absent on healthy responses, which are the only ones cached. */
24337
24831
  degraded?: boolean;
24338
24832
  histogram: {
24339
24833
  bucket: string;
@@ -24549,6 +25043,8 @@ interface paths {
24549
25043
  limit?: string;
24550
25044
  /** @description Pagination cursor */
24551
25045
  cursor?: string;
25046
+ /** @description Set to `true` to include `totalCount`/`totalPages`. Omitted by default so a poll does not pay for a COUNT over the surface. */
25047
+ includeCount?: string;
24552
25048
  /** @description Filter by surface ID */
24553
25049
  surfaceId?: string;
24554
25050
  /** @description Filter by surface ID (deprecated, use surfaceId) */
@@ -29397,14 +29893,103 @@ interface paths {
29397
29893
  };
29398
29894
  };
29399
29895
  };
29400
- post?: never;
29896
+ post?: never;
29897
+ /**
29898
+ * Delete product
29899
+ * @description Delete a product (cascades to capabilities, surfaces, items, keys). Optionally cleans up associated flows/agents via cleanupFlowIds/cleanupAgentIds in the request body.
29900
+ */
29901
+ delete: {
29902
+ parameters: {
29903
+ query?: never;
29904
+ header?: never;
29905
+ path: {
29906
+ id: string;
29907
+ };
29908
+ cookie?: never;
29909
+ };
29910
+ requestBody?: never;
29911
+ responses: {
29912
+ /** @description Product deleted */
29913
+ 200: {
29914
+ headers: {
29915
+ [name: string]: unknown;
29916
+ };
29917
+ content: {
29918
+ "application/json": {
29919
+ success: boolean;
29920
+ warning?: string;
29921
+ };
29922
+ };
29923
+ };
29924
+ /** @description Invalid product ID */
29925
+ 400: {
29926
+ headers: {
29927
+ [name: string]: unknown;
29928
+ };
29929
+ content: {
29930
+ "application/json": components["schemas"]["Error"];
29931
+ };
29932
+ };
29933
+ /** @description Unauthorized */
29934
+ 401: {
29935
+ headers: {
29936
+ [name: string]: unknown;
29937
+ };
29938
+ content: {
29939
+ "application/json": components["schemas"]["Error"];
29940
+ };
29941
+ };
29942
+ /** @description Insufficient permissions */
29943
+ 403: {
29944
+ headers: {
29945
+ [name: string]: unknown;
29946
+ };
29947
+ content: {
29948
+ "application/json": components["schemas"]["Error"];
29949
+ };
29950
+ };
29951
+ /** @description Product not found */
29952
+ 404: {
29953
+ headers: {
29954
+ [name: string]: unknown;
29955
+ };
29956
+ content: {
29957
+ "application/json": components["schemas"]["Error"];
29958
+ };
29959
+ };
29960
+ /** @description Internal server error */
29961
+ 500: {
29962
+ headers: {
29963
+ [name: string]: unknown;
29964
+ };
29965
+ content: {
29966
+ "application/json": components["schemas"]["Error"];
29967
+ };
29968
+ };
29969
+ };
29970
+ };
29971
+ options?: never;
29972
+ head?: never;
29973
+ patch?: never;
29974
+ trace?: never;
29975
+ };
29976
+ "/v1/products/{id}/activity": {
29977
+ parameters: {
29978
+ query?: never;
29979
+ header?: never;
29980
+ path?: never;
29981
+ cookie?: never;
29982
+ };
29401
29983
  /**
29402
- * Delete product
29403
- * @description Delete a product (cascades to capabilities, surfaces, items, keys). Optionally cleans up associated flows/agents via cleanupFlowIds/cleanupAgentIds in the request body.
29984
+ * Get product activity
29985
+ * @description First page of every activity source a product has: one entry per conversational surface (messaging conversations or client-conversation records) and one per distinct agent capability (compact executions). Rows, cursors and `hasMore` are identical to the per-source list endpoints, so a client can continue any source with its own endpoint. A source that fails returns empty rows plus an `error`; the response is still 200.
29404
29986
  */
29405
- delete: {
29987
+ get: {
29406
29988
  parameters: {
29407
- query?: never;
29989
+ query?: {
29990
+ /** @description Rows per source. Defaults to 50, clamped to 100. */
29991
+ limit?: string;
29992
+ };
29408
29993
  header?: never;
29409
29994
  path: {
29410
29995
  id: string;
@@ -29413,15 +29998,141 @@ interface paths {
29413
29998
  };
29414
29999
  requestBody?: never;
29415
30000
  responses: {
29416
- /** @description Product deleted */
30001
+ /** @description Per-source first pages */
29417
30002
  200: {
29418
30003
  headers: {
29419
30004
  [name: string]: unknown;
29420
30005
  };
29421
30006
  content: {
29422
30007
  "application/json": {
29423
- success: boolean;
29424
- warning?: string;
30008
+ data: {
30009
+ agents: {
30010
+ agentId: string;
30011
+ data: {
30012
+ agentId: string | null;
30013
+ agentSource: string | null;
30014
+ agentSpec?: unknown;
30015
+ /**
30016
+ * @description How the run selected its definition: `alias` or `version` for a request that named a selector, `legacy-live-row` for a run that read the mutable agent row.
30017
+ * @enum {string}
30018
+ */
30019
+ agentTargetResolution: "alias" | "version" | "legacy-live-row";
30020
+ /** @description Version number and label for `agentVersionId`, joined from `agent_versions`. `null` exactly when `agentVersionId` is `null`. */
30021
+ agentVersion: {
30022
+ id: string;
30023
+ label: string | null;
30024
+ versionNumber: number;
30025
+ } | null;
30026
+ /** @description The `agent_versions` row this run was recorded against, or `null`. `null` means the surface that admitted the run stamps no version (A2A, Product API, A2A pause admission and the Product MCP capability path record none today) or the run predates version stamping. It is never a claim that the run executed an unversioned configuration. */
30027
+ agentVersionId: string | null;
30028
+ /** @description Whether the agent loop ended by exhausting its `maxTurns` budget. Read this rather than inferring truncation from `stopReason`: a single-turn loop publishes `end_turn` on a budget end to preserve its original payload shape, and several clean success paths publish that same value. `null` means UNKNOWN — a run recorded before this field existed, or one executed by a lane that reports no per-iteration breakdown (external agents, Claude Managed) — and must not be read as `false`. */
30029
+ budgetExhausted: boolean | null;
30030
+ cancelRequestedAt: string | null;
30031
+ completedAt: string | null;
30032
+ /** @description The conversation thread this run belongs to, so consumers can group a multi-turn conversation's runs without a per-run log query. This is the run's OWN thread, distinct from `parentConversationId` (subagent lineage, the conversation of the run that spawned it). `null` on stateless surfaces (webhook, schedule, eval, one-shot API) and on runs persisted before the column existed. */
30033
+ conversationId: string | null;
30034
+ createdAt: string;
30035
+ executionId: string;
30036
+ /** @enum {string} */
30037
+ executionMode: "attached" | "detached";
30038
+ expiresAt: string | null;
30039
+ /** @description The run's final output. Present by default; omitted when `view=compact`. */
30040
+ finalOutput?: unknown;
30041
+ id: string;
30042
+ inputMessages?: unknown;
30043
+ iterations: number | null;
30044
+ lastHeartbeatAt: string | null;
30045
+ /** @enum {string} */
30046
+ notificationMode: "none" | "narrate" | "react";
30047
+ parentAgentId: string | null;
30048
+ parentConversationId: string | null;
30049
+ parentExecutionId: string | null;
30050
+ parentToolCallId: string | null;
30051
+ pendingApproval: {
30052
+ approvalId: string;
30053
+ description?: string;
30054
+ parameters?: unknown;
30055
+ reason?: string;
30056
+ requestedAt: string;
30057
+ timeout?: number;
30058
+ toolCallId: string;
30059
+ toolName: string;
30060
+ toolType: string;
30061
+ } | null;
30062
+ progress?: unknown;
30063
+ retryOfExecutionId: string | null;
30064
+ rootExecutionId: string | null;
30065
+ startedAt: string | null;
30066
+ /** @enum {string} */
30067
+ status: "queued" | "running" | "paused" | "completed" | "failed" | "cancelled" | "interrupted";
30068
+ stopReason: string | null;
30069
+ surfaceType: string | null;
30070
+ totalCost: string | null;
30071
+ totalTokens?: unknown;
30072
+ }[];
30073
+ error?: {
30074
+ message: string;
30075
+ };
30076
+ pagination: components["schemas"]["Pagination"];
30077
+ }[];
30078
+ surfaces: {
30079
+ data: (({
30080
+ agentMode: string;
30081
+ createdAt: string;
30082
+ externalParticipantId: string | null;
30083
+ externalThreadId: string | null;
30084
+ id: string;
30085
+ lastMessageAt: string | null;
30086
+ messageCount: number;
30087
+ participantEmail: string | null;
30088
+ participantName: string | null;
30089
+ status: string;
30090
+ subject: string | null;
30091
+ surfaceId: string;
30092
+ takeoverActorId: string | null;
30093
+ takeoverActorType: string | null;
30094
+ takeoverAt: string | null;
30095
+ takeoverReason: string | null;
30096
+ timezone: string | null;
30097
+ updatedAt: string;
30098
+ } & {
30099
+ [key: string]: unknown;
30100
+ }) | {
30101
+ availableFields?: string[];
30102
+ createdAt: string;
30103
+ id: string;
30104
+ messages: unknown[] | null;
30105
+ metadata: {
30106
+ [key: string]: unknown;
30107
+ };
30108
+ metadataLabels?: {
30109
+ [key: string]: string;
30110
+ };
30111
+ metadataSchema?: {
30112
+ keys: string[];
30113
+ } & {
30114
+ [key: string]: unknown;
30115
+ };
30116
+ name: string;
30117
+ organizationId: string | null;
30118
+ ownerId: string | null;
30119
+ productSurfaceId: string | null;
30120
+ schemaValid: boolean | null;
30121
+ type: string;
30122
+ updatedAt: string;
30123
+ userId: string;
30124
+ })[];
30125
+ error?: {
30126
+ message: string;
30127
+ };
30128
+ pagination: components["schemas"]["Pagination"];
30129
+ /** @enum {string} */
30130
+ source: "messaging" | "client_conversation";
30131
+ surfaceId: string;
30132
+ }[];
30133
+ };
30134
+ /** @enum {boolean} */
30135
+ success: true;
29425
30136
  };
29426
30137
  };
29427
30138
  };
@@ -29443,15 +30154,6 @@ interface paths {
29443
30154
  "application/json": components["schemas"]["Error"];
29444
30155
  };
29445
30156
  };
29446
- /** @description Insufficient permissions */
29447
- 403: {
29448
- headers: {
29449
- [name: string]: unknown;
29450
- };
29451
- content: {
29452
- "application/json": components["schemas"]["Error"];
29453
- };
29454
- };
29455
30157
  /** @description Product not found */
29456
30158
  404: {
29457
30159
  headers: {
@@ -29472,6 +30174,9 @@ interface paths {
29472
30174
  };
29473
30175
  };
29474
30176
  };
30177
+ put?: never;
30178
+ post?: never;
30179
+ delete?: never;
29475
30180
  options?: never;
29476
30181
  head?: never;
29477
30182
  patch?: never;
@@ -38093,10 +38798,10 @@ interface paths {
38093
38798
  */
38094
38799
  estimatedCost: string | null;
38095
38800
  /**
38096
- * @description Engine that actually executed this record execution ('runtime' | 'legacy'). Recorded at write time from the committed lane decision; never inferred later. Null for rows written before attribution shipped and for units that never started executing (externally executed runs carry no engine).
38801
+ * @description Engine that actually executed this record execution ('runtime' | 'legacy' | 'external'). Recorded at write time from the committed lane decision; never inferred later. 'external' marks a run a customer executed outside Runtype and reported through ingest. Null for rows written before attribution shipped and for units that never started executing.
38097
38802
  * @enum {string|null}
38098
38803
  */
38099
- executionEngine?: "runtime" | "legacy" | null;
38804
+ executionEngine?: "runtime" | "legacy" | "external" | null;
38100
38805
  executionTimeMs: number | null;
38101
38806
  flowId: string | null;
38102
38807
  flowName: string | null;
@@ -38304,10 +39009,10 @@ interface paths {
38304
39009
  errorMessage?: string | null;
38305
39010
  estimatedCost?: string | null;
38306
39011
  /**
38307
- * @description Engine that actually executed this step ('runtime' | 'legacy'). Recorded at write time from the committed lane decision; never inferred later. Null for rows written before attribution shipped and for units that never started executing (externally executed runs carry no engine).
39012
+ * @description Engine that actually executed this step ('runtime' | 'legacy' | 'external'). Recorded at write time from the committed lane decision; never inferred later. 'external' marks a run a customer executed outside Runtype and reported through ingest. Null for rows written before attribution shipped and for units that never started executing.
38308
39013
  * @enum {string|null}
38309
39014
  */
38310
- executionEngine?: "runtime" | "legacy" | null;
39015
+ executionEngine?: "runtime" | "legacy" | "external" | null;
38311
39016
  executionSessionId: string | null;
38312
39017
  flowId: string | null;
38313
39018
  flowVersionId: string | null;
@@ -40361,10 +41066,10 @@ interface paths {
40361
41066
  error: string | null;
40362
41067
  executedAt: string | null;
40363
41068
  /**
40364
- * @description Engine that actually executed this record execution ('runtime' | 'legacy'). Recorded at write time from the committed lane decision; never inferred later. Null for rows written before attribution shipped and for units that never started executing (externally executed runs carry no engine).
41069
+ * @description Engine that actually executed this record execution ('runtime' | 'legacy' | 'external'). Recorded at write time from the committed lane decision; never inferred later. 'external' marks a run a customer executed outside Runtype and reported through ingest. Null for rows written before attribution shipped and for units that never started executing.
40365
41070
  * @enum {string|null}
40366
41071
  */
40367
- executionEngine?: "runtime" | "legacy" | null;
41072
+ executionEngine?: "runtime" | "legacy" | "external" | null;
40368
41073
  failedAt: string | null;
40369
41074
  failedStepCount: number | null;
40370
41075
  flowId: string | null;
@@ -40553,10 +41258,10 @@ interface paths {
40553
41258
  error: string | null;
40554
41259
  executedAt: string | null;
40555
41260
  /**
40556
- * @description Engine that actually executed this record execution ('runtime' | 'legacy'). Recorded at write time from the committed lane decision; never inferred later. Null for rows written before attribution shipped and for units that never started executing (externally executed runs carry no engine).
41261
+ * @description Engine that actually executed this record execution ('runtime' | 'legacy' | 'external'). Recorded at write time from the committed lane decision; never inferred later. 'external' marks a run a customer executed outside Runtype and reported through ingest. Null for rows written before attribution shipped and for units that never started executing.
40557
41262
  * @enum {string|null}
40558
41263
  */
40559
- executionEngine?: "runtime" | "legacy" | null;
41264
+ executionEngine?: "runtime" | "legacy" | "external" | null;
40560
41265
  failedAt: string | null;
40561
41266
  failedStepCount: number | null;
40562
41267
  flowId: string | null;
@@ -46666,6 +47371,13 @@ interface components {
46666
47371
  /** @default true */
46667
47372
  streamResponse: boolean;
46668
47373
  };
47374
+ /** @description Source-organization ids and hashes this version was promoted from, linked on the receipt. Provenance only: it never authorizes anything, and the target credentials alone decide what the activation may do. */
47375
+ AgentDeploymentPromotion: {
47376
+ sourceAgentId?: string;
47377
+ sourceCommit?: string;
47378
+ sourceContentHash?: string;
47379
+ sourceVersionId?: string;
47380
+ };
46669
47381
  AgentDetachedApprovalJsonResponse: {
46670
47382
  approvalId: string;
46671
47383
  executionId: string;
@@ -46714,6 +47426,20 @@ interface components {
46714
47426
  contentHash: string;
46715
47427
  error: string;
46716
47428
  };
47429
+ AgentEnsurePreviewAliasLimit: {
47430
+ active: number;
47431
+ /** @enum {string} */
47432
+ code: "PREVIEW_ALIAS_LIMIT";
47433
+ error: string;
47434
+ limit: number;
47435
+ /** @description The same remediation sentence as `error`. */
47436
+ message: string;
47437
+ /**
47438
+ * @description Which population was already at its active-preview limit.
47439
+ * @enum {string}
47440
+ */
47441
+ scope: "organization" | "agent";
47442
+ };
46717
47443
  AgentEnsureResponse: {
46718
47444
  agentId: string;
46719
47445
  /** @description Server-computed canonical content hash. Clients should echo this hash in probes. */
@@ -47067,17 +47793,25 @@ interface components {
47067
47793
  };
47068
47794
  };
47069
47795
  AsyncDispatchHandle: {
47796
+ accepted?: boolean;
47070
47797
  /** @description Present only for ephemeral inline-create dispatch. */
47071
47798
  claudeManagedAgentId?: string;
47072
47799
  /** @description Conversation id, when the request belongs to a conversation. */
47073
47800
  conversationId?: string;
47801
+ /** @description Stable input-delivery identity, distinct from the host execution. */
47802
+ deliveryId?: string;
47803
+ /** @enum {string} */
47804
+ deliveryStatus?: "pending" | "applied" | "settled" | "not_applied";
47805
+ /** @description Poll this receipt to distinguish pending, applied, settled, and not-applied input. */
47806
+ deliveryStatusUrl?: string;
47807
+ eventsUrl?: string;
47074
47808
  /** @description The durable execution handle — poll with this. */
47075
47809
  executionId: string;
47076
47810
  /**
47077
- * @description Lifecycle status at acceptance.
47811
+ * @description Host lifecycle at acceptance or idempotent delivery replay.
47078
47812
  * @enum {string}
47079
47813
  */
47080
- status: "queued" | "running";
47814
+ status: "queued" | "running" | "paused" | "completed" | "failed" | "cancelled" | "interrupted";
47081
47815
  /** @description Relative URL for polling this execution. */
47082
47816
  statusUrl: string;
47083
47817
  /** @description Saved flow or agent id, when known. */
@@ -47141,6 +47875,124 @@ interface components {
47141
47875
  /** @description True when every recorded tool output was captured in full. False when any output was truncated at capture — the case still saves, but tool outputs are partial ("⚠ tool outputs weren’t fully captured"). */
47142
47876
  replayable: boolean;
47143
47877
  };
47878
+ ClientInputDeliveryReceipt: {
47879
+ deliveryId: string;
47880
+ executionId: string;
47881
+ initial: boolean;
47882
+ outcome?: string;
47883
+ sequence: number;
47884
+ /** @enum {string} */
47885
+ status: "pending" | "applied" | "settled" | "not_applied";
47886
+ };
47887
+ ConversationBusyError: {
47888
+ /** @enum {string} */
47889
+ code: "CONVERSATION_BUSY";
47890
+ error: string;
47891
+ /** @description The execution holding the conversation slot. Poll /v1/executions/{executionId}/status, or send x-runtype-concurrency: join to attach to it. */
47892
+ executionId?: string;
47893
+ /**
47894
+ * @description Where the occupant is: `claiming` (admitted, not yet started; a join attaches through the claim), `running`, `paused` (a join stays pending until an authorized resume), or `queued` (an earlier queue-only turn is waiting).
47895
+ * @enum {string}
47896
+ */
47897
+ phase?: "claiming" | "running" | "paused" | "queued";
47898
+ };
47899
+ /** @description Who wrote this message in the source system. Stored and returned, never replayed. */
47900
+ ConversationMessageAuthor: {
47901
+ /** @description The author id in the source system. */
47902
+ externalId?: string;
47903
+ /** @description The author id in Runtype, when there is one. */
47904
+ id?: string;
47905
+ name?: string;
47906
+ /** @enum {string} */
47907
+ type: "end_user" | "operator" | "agent" | "system";
47908
+ };
47909
+ ConversationModifiedError: components["schemas"]["Error"] & {
47910
+ /**
47911
+ * @description The stored transcript changed between the read and the write; re-read and retry.
47912
+ * @enum {string}
47913
+ */
47914
+ code: "CONVERSATION_MODIFIED";
47915
+ };
47916
+ /** @description Import provenance, stored as metadata.importSource. */
47917
+ ConversationSource: {
47918
+ /** @description The conversation id in the source system. */
47919
+ externalId?: string;
47920
+ /** Format: date-time */
47921
+ importedAt?: string;
47922
+ /** @description The system the transcript came from, for example "intercom" or "custom". */
47923
+ system: string;
47924
+ };
47925
+ ConversationTranscriptMessage: {
47926
+ author?: components["schemas"]["ConversationMessageAuthor"];
47927
+ content: string | (({
47928
+ text: string;
47929
+ /** @enum {string} */
47930
+ type: "text";
47931
+ } & {
47932
+ [key: string]: unknown;
47933
+ }) | ({
47934
+ image: string;
47935
+ mimeType?: string;
47936
+ /** @enum {string} */
47937
+ type: "image";
47938
+ } & {
47939
+ [key: string]: unknown;
47940
+ }) | ({
47941
+ data: string;
47942
+ filename: string;
47943
+ mimeType: string;
47944
+ /** @enum {string} */
47945
+ type: "file";
47946
+ } & {
47947
+ [key: string]: unknown;
47948
+ }) | ({
47949
+ providerOptions?: {
47950
+ [key: string]: unknown;
47951
+ };
47952
+ text: string;
47953
+ /** @enum {string} */
47954
+ type: "reasoning";
47955
+ } & {
47956
+ [key: string]: unknown;
47957
+ }) | {
47958
+ assetId: string;
47959
+ filename?: string;
47960
+ mimeType: string;
47961
+ orgKey: string;
47962
+ /** @enum {string} */
47963
+ refKind: "image" | "file";
47964
+ sizeBytes: number;
47965
+ /** @enum {string} */
47966
+ type: "asset_ref";
47967
+ })[];
47968
+ /** @description ISO 8601 when Runtype mints it; any string is accepted on import. */
47969
+ createdAt?: string;
47970
+ id?: string;
47971
+ metadata?: {
47972
+ [key: string]: unknown;
47973
+ };
47974
+ /** @enum {string} */
47975
+ role: "system" | "user" | "assistant" | "tool";
47976
+ toolCalls?: {
47977
+ /** @default {} */
47978
+ args: {
47979
+ [key: string]: unknown;
47980
+ };
47981
+ providerOptions?: {
47982
+ [key: string]: unknown;
47983
+ };
47984
+ toolCallId: string;
47985
+ toolName: string;
47986
+ }[];
47987
+ toolResults?: {
47988
+ providerOptions?: {
47989
+ [key: string]: unknown;
47990
+ };
47991
+ result?: unknown;
47992
+ toolCallId: string;
47993
+ toolName: string;
47994
+ }[];
47995
+ };
47144
47996
  DailyUsageResponse: {
47145
47997
  daily?: {
47146
47998
  atSpendLimit: boolean;
@@ -47198,12 +48050,21 @@ interface components {
47198
48050
  }[];
47199
48051
  };
47200
48052
  DispatchAgentJsonResponse: {
48053
+ agentExecutionId?: string;
47201
48054
  blockReason?: string;
47202
48055
  claudeManagedAgentId?: string;
47203
48056
  code?: string;
48057
+ conversationId?: string;
48058
+ /** @description Stable input-delivery identity, distinct from the host execution. */
48059
+ deliveryId?: string;
48060
+ /** @enum {string} */
48061
+ deliveryStatus?: "pending" | "applied" | "settled" | "not_applied";
48062
+ /** @description Poll this receipt to distinguish pending, applied, settled, and not-applied input. */
48063
+ deliveryStatusUrl?: string;
47204
48064
  error?: string;
48065
+ executionId?: string;
47205
48066
  /** @enum {string} */
47206
- executionMode?: "claude_managed";
48067
+ executionMode?: "claude_managed" | "runtype_managed";
47207
48068
  executionTime?: number;
47208
48069
  externalAgent?: {
47209
48070
  contextId?: string;
@@ -47402,6 +48263,13 @@ interface components {
47402
48263
  }[];
47403
48264
  error: string;
47404
48265
  };
48266
+ /** @description Version selector for an Agent-target suite. Supply at most one of alias or versionId; omit it to run the saved configuration. */
48267
+ EvalAgentSelector: {
48268
+ /** @description Run whichever version this release alias currently points at. Resolved once for the whole run. */
48269
+ alias?: string;
48270
+ /** @description Run this exact immutable version snapshot. */
48271
+ versionId?: string;
48272
+ };
47405
48273
  EvalCase: {
47406
48274
  createdAt: string;
47407
48275
  enabled: boolean;
@@ -47599,16 +48467,27 @@ interface components {
47599
48467
  updatedAt: string | null;
47600
48468
  };
47601
48469
  EvalRunScoresResponse: {
48470
+ /** @description The release alias the run resolved through, when it resolved through one. */
48471
+ agentTargetAlias?: string | null;
48472
+ /**
48473
+ * @description How the run picked its version. Null on a run that predates release aliases.
48474
+ * @enum {string|null}
48475
+ */
48476
+ agentTargetResolution?: "alias" | "version" | "legacy-live-row" | null;
48477
+ /** @description The exact Agent version every case of this run executed. Null for a legacy run. */
48478
+ agentVersionId?: string | null;
48479
+ /** @description SHA-256 over the ordered, normalized case set this run executed. */
48480
+ caseManifestHash?: string | null;
47602
48481
  cases: {
47603
48482
  /** @description The saved eval case id; null when the case row was deleted or the record could not be mapped to a case. */
47604
48483
  caseId: string | null;
47605
48484
  /** @description Why the case errored (the provider or execution failure text, 2000 chars max); null when the case did not error or the run predates this field. */
47606
48485
  error: string | null;
47607
48486
  /**
47608
- * @description Engine that actually executed this graded case ('runtime' | 'legacy'). Recorded at write time from the committed lane decision; never inferred later. Null for rows written before attribution shipped and for units that never started executing (externally executed runs carry no engine).
48487
+ * @description Engine that actually executed this graded case ('runtime' | 'legacy' | 'external'). Recorded at write time from the committed lane decision; never inferred later. 'external' marks a run a customer executed outside Runtype and reported through ingest. Null for rows written before attribution shipped and for units that never started executing.
47609
48488
  * @enum {string|null}
47610
48489
  */
47611
- executionEngine?: "runtime" | "legacy" | null;
48490
+ executionEngine?: "runtime" | "legacy" | "external" | null;
47612
48491
  name: string;
47613
48492
  /** @description For a checkpoint ("saved from run") case run in next-step mode: the tool-call intent(s) the target emitted as its graded next step. An empty array means it replied with a message instead of calling a tool. Null for ordinary runs and for runs recorded before this field shipped. */
47614
48493
  nextStepToolCalls: {
@@ -47652,6 +48531,8 @@ interface components {
47652
48531
  /** @description Recomputed from the persisted outcomes using the run's recorded strict mode, so historical verdicts match what the run originally reported. */
47653
48532
  passed: boolean;
47654
48533
  }[];
48534
+ /** @description SHA-256 over the evaluator configuration this run scored with. */
48535
+ evaluatorFingerprint?: string | null;
47655
48536
  /** @description The eval name recorded on the run. */
47656
48537
  name: string | null;
47657
48538
  passedCases: number;
@@ -47747,6 +48628,19 @@ interface components {
47747
48628
  total: number;
47748
48629
  };
47749
48630
  EvalSuiteRunQueued: {
48631
+ /** @description The release alias the run resolved through, when it resolved through one. */
48632
+ agentTargetAlias?: string | null;
48633
+ /**
48634
+ * @description How the run picked its version. Null on a run that predates release aliases.
48635
+ * @enum {string|null}
48636
+ */
48637
+ agentTargetResolution?: "alias" | "version" | "legacy-live-row" | null;
48638
+ /** @description The exact Agent version every case of this run executed. Null for a legacy run. */
48639
+ agentVersionId?: string | null;
48640
+ /** @description SHA-256 over the ordered, normalized case set this run executed. */
48641
+ caseManifestHash?: string | null;
48642
+ /** @description SHA-256 over the evaluator configuration this run scored with. */
48643
+ evaluatorFingerprint?: string | null;
47750
48644
  /** @enum {string} */
47751
48645
  mode: "batch";
47752
48646
  name: string;
@@ -48445,6 +49339,15 @@ interface components {
48445
49339
  valid: boolean;
48446
49340
  warnings: components["schemas"]["FlowValidationIssue"][];
48447
49341
  };
49342
+ InputDeliveryReceipt: {
49343
+ deliveryId: string;
49344
+ executionId: string;
49345
+ initial: boolean;
49346
+ outcome?: string;
49347
+ sequence: number;
49348
+ /** @enum {string} */
49349
+ status: "pending" | "applied" | "settled" | "not_applied";
49350
+ };
48448
49351
  ManagedAgentRunOutput: {
48449
49352
  anthropicFileId: string;
48450
49353
  /** @description Asset-storage key the bytes were persisted to. */
@@ -48503,6 +49406,15 @@ interface components {
48503
49406
  totalCount?: number;
48504
49407
  totalPages?: number;
48505
49408
  };
49409
+ PreviewAliasLimitError: components["schemas"]["Error"] & {
49410
+ active: number;
49411
+ /** @enum {string} */
49412
+ code: "PREVIEW_ALIAS_LIMIT";
49413
+ limit: number;
49414
+ message: string;
49415
+ /** @enum {string} */
49416
+ scope: "organization" | "agent";
49417
+ };
48506
49418
  ProductEnsureConflict: {
48507
49419
  /** @enum {string} */
48508
49420
  code: "external_modification" | "remote_changed";
@@ -48642,6 +49554,17 @@ interface components {
48642
49554
  schemaVersion: number;
48643
49555
  };
48644
49556
  RunEvalResponse: {
49557
+ /** @description The release alias the run resolved through, when it resolved through one. */
49558
+ agentTargetAlias?: string | null;
49559
+ /**
49560
+ * @description How the run picked its version. Null on a run that predates release aliases.
49561
+ * @enum {string|null}
49562
+ */
49563
+ agentTargetResolution?: "alias" | "version" | "legacy-live-row" | null;
49564
+ /** @description The exact Agent version every case of this run executed. Null for a legacy run. */
49565
+ agentVersionId?: string | null;
49566
+ /** @description SHA-256 over the ordered, normalized case set this run executed. */
49567
+ caseManifestHash?: string | null;
48645
49568
  cases: {
48646
49569
  /** @description Why the case errored (the provider or execution failure text, 2000 chars max). Present only when errored is true and the run reported a cause. */
48647
49570
  error?: string;
@@ -48673,6 +49596,8 @@ interface components {
48673
49596
  outputExcerpt: string;
48674
49597
  passed: boolean;
48675
49598
  }[];
49599
+ /** @description SHA-256 over the evaluator configuration this run scored with. */
49600
+ evaluatorFingerprint?: string | null;
48676
49601
  name: string;
48677
49602
  /** @description True when every case passed every grader. */
48678
49603
  passed: boolean;
@@ -49164,6 +50089,29 @@ type AgentStreamEvent = components['schemas']['ExecutionStreamEvent'];
49164
50089
  type StreamEventOf<U, T extends string> = Extract<U, {
49165
50090
  type: T;
49166
50091
  }>;
50092
+ /**
50093
+ * One release alias: the named, org-owned mutable pointer that selects which
50094
+ * immutable version of an agent runs (ADR 0025).
50095
+ */
50096
+ type AgentAlias = paths['/v1/agents/{id}/aliases/{alias}']['get']['responses'][200]['content']['application/json'];
50097
+ /** The envelope `GET /v1/agents/{id}/aliases` answers with. */
50098
+ type AgentAliasList = paths['/v1/agents/{id}/aliases']['get']['responses'][200]['content']['application/json'];
50099
+ /** The envelope `GET /v1/agent-aliases` answers with: one alias name, org-wide. */
50100
+ type OrganizationAgentAliasList = paths['/v1/agent-aliases']['get']['responses'][200]['content']['application/json'];
50101
+ /** One row of {@link OrganizationAgentAliasList}: a pointer plus the agent carrying it. */
50102
+ type OrganizationAgentAlias = OrganizationAgentAliasList['data'][number];
50103
+ /** What activating or rolling back a pointer reports back. */
50104
+ type AgentAliasActivation = paths['/v1/agents/{id}/aliases/{alias}']['put']['responses'][200]['content']['application/json'];
50105
+ /** What archiving a pointer reports back. */
50106
+ type AgentAliasArchived = paths['/v1/agents/{id}/aliases/{alias}']['delete']['responses'][200]['content']['application/json'];
50107
+ /** One append-only deployment receipt. */
50108
+ type AgentDeploymentReceipt = paths['/v1/agents/{id}/deployments']['get']['responses'][200]['content']['application/json']['data'][number];
50109
+ /** The envelope `GET /v1/agents/{id}/deployments` answers with. */
50110
+ type AgentDeploymentList = paths['/v1/agents/{id}/deployments']['get']['responses'][200]['content']['application/json'];
50111
+ /** Source-organization provenance an activation may link to its receipt. */
50112
+ type AgentDeploymentPromotion = NonNullable<NonNullable<paths['/v1/agents/{id}/aliases/{alias}']['put']['requestBody']>['content']['application/json']['promotion']>;
50113
+ /** What an ensure converge reports about the pointer it aimed. */
50114
+ type AgentEnsureDeployment = components['schemas']['AgentEnsureDeployment'];
49167
50115
 
49168
50116
  /**
49169
50117
  * Options for the flow stream consumers.
@@ -50935,6 +51883,8 @@ type DispatchContinuationRequest = NonNullable<paths['/v1/dispatch/continue']['p
50935
51883
  type DispatchResponse = paths['/v1/dispatch']['post']['responses'][200]['content']['application/json'];
50936
51884
  /** Durable handle returned by execute routes when `Prefer: respond-async` is applied. */
50937
51885
  type AsyncExecutionHandle = components['schemas']['AsyncDispatchHandle'];
51886
+ /** Durable user-input receipt, independently observable from its host execution. */
51887
+ type InputDeliveryReceipt = components['schemas']['InputDeliveryReceipt'];
50938
51888
  /** Lifecycle response returned by the generic asynchronous execution status route. */
50939
51889
  type AsyncExecutionStatus = paths['/v1/executions/{executionId}/status']['get']['responses'][200]['content']['application/json'];
50940
51890
  /** Buffered ordinary tool-output continuation (a durable-lane resume uses a separate variant). */
@@ -51446,12 +52396,12 @@ interface SurfaceListParams extends ListParams {
51446
52396
  environment?: string;
51447
52397
  }
51448
52398
  type ConversationSource = 'app' | 'client_token';
51449
- interface ConversationMessage {
51450
- id: string;
51451
- role: 'user' | 'assistant' | 'system';
51452
- content: string;
51453
- createdAt?: string;
51454
- }
52399
+ /**
52400
+ * One stored transcript message, sourced directly from the generated OpenAPI
52401
+ * contract: roles include `tool`, content may be an array of parts, and
52402
+ * `toolCalls` / `toolResults` carry full tool fidelity.
52403
+ */
52404
+ type ConversationMessage = components['schemas']['ConversationTranscriptMessage'];
51455
52405
  /**
51456
52406
  * Conversation detail (single conversation, with messages).
51457
52407
  *
@@ -51481,31 +52431,19 @@ interface ConversationListParams {
51481
52431
  limit?: number;
51482
52432
  cursor?: string;
51483
52433
  }
51484
- interface CreateConversationRequest {
51485
- title?: string;
51486
- modelId?: string;
51487
- systemPrompt?: string;
51488
- /**
51489
- * First-class owner key (#3395) — persisted to the indexed `owner_id` column
51490
- * and queryable via {@link ConversationListParams.ownerId}. `null` is accepted
51491
- * for symmetry with {@link UpdateConversationRequest} and simply means "no
51492
- * owner" on create.
51493
- */
51494
- ownerId?: string | null;
51495
- metadata?: Record<string, unknown>;
51496
- }
51497
- interface UpdateConversationRequest {
51498
- title?: string;
51499
- modelId?: string;
51500
- systemPrompt?: string;
51501
- /**
51502
- * First-class owner key (#3395). `null` CLEARS the stored owner; omitting the
51503
- * field leaves it untouched.
51504
- */
51505
- ownerId?: string | null;
51506
- metadata?: Record<string, unknown>;
51507
- messages?: ConversationMessage[];
51508
- }
52434
+ /**
52435
+ * POST /v1/conversations request body, sourced directly from the generated
52436
+ * OpenAPI contract. `ownerId` (#3395) is persisted to the indexed `owner_id`
52437
+ * column and queryable via {@link ConversationListParams.ownerId}; `null` on
52438
+ * create simply means "no owner".
52439
+ */
52440
+ type CreateConversationRequest = NonNullable<paths['/v1/conversations']['post']['requestBody']>['content']['application/json'];
52441
+ /**
52442
+ * PUT /v1/conversations/{id} request body, sourced directly from the generated
52443
+ * OpenAPI contract. `ownerId: null` CLEARS the stored owner (#3395); omitting
52444
+ * the field leaves it untouched, and `messages` replaces the whole transcript.
52445
+ */
52446
+ type UpdateConversationRequest = NonNullable<paths['/v1/conversations/{id}']['put']['requestBody']>['content']['application/json'];
51509
52447
  interface LogEntry {
51510
52448
  timestamp: string;
51511
52449
  level: string;
@@ -52392,8 +53330,33 @@ interface RunEvalCaseResult {
52392
53330
  /** Why the case errored (provider or execution failure text); present only when `errored` is true and a cause was reported. */
52393
53331
  error?: string;
52394
53332
  }
53333
+ /**
53334
+ * Pin an Agent-target run to one version. Supply at most one of `alias` or
53335
+ * `versionId`; the run resolves it once and every case executes that version.
53336
+ */
53337
+ interface EvalAgentSelector {
53338
+ /** Run whichever version this release alias currently points at. */
53339
+ alias?: string;
53340
+ /** Run this exact immutable version snapshot. */
53341
+ versionId?: string;
53342
+ }
53343
+ /** How a run picked its version; `legacy-live-row` means no selector was supplied. */
53344
+ type EvalAgentTargetResolution = 'alias' | 'version' | 'legacy-live-row';
53345
+ /** What a run recorded about the artifact it evaluated and the judges it used. */
53346
+ interface EvalRunEvidence {
53347
+ /** The exact Agent version every case executed; null for a run that pinned none. */
53348
+ agentVersionId?: string | null;
53349
+ /** How the run picked its version; null on a run that predates release aliases. */
53350
+ agentTargetResolution?: EvalAgentTargetResolution | null;
53351
+ /** The release alias the run resolved through, when it resolved through one. */
53352
+ agentTargetAlias?: string | null;
53353
+ /** SHA-256 over the ordered, normalized case set this run executed. */
53354
+ caseManifestHash?: string | null;
53355
+ /** SHA-256 over the evaluator configuration this run scored with. */
53356
+ evaluatorFingerprint?: string | null;
53357
+ }
52395
53358
  /** The synchronous run + score result returned by `client.evals.runSuite(...)`. */
52396
- interface RunEvalResult {
53359
+ interface RunEvalResult extends EvalRunEvidence {
52397
53360
  /** The saved suite id, or `null` for an inline (virtual) run. */
52398
53361
  suiteId: string | null;
52399
53362
  name: string;
@@ -52448,7 +53411,7 @@ interface EvalRunCaseScores {
52448
53411
  nextStepToolCalls: NextStepToolCall[] | null;
52449
53412
  }
52450
53413
  /** Persisted per-case grader scores for a run (`client.evals.getRunScores`). */
52451
- interface EvalRunScores {
53414
+ interface EvalRunScores extends EvalRunEvidence {
52452
53415
  runId: string;
52453
53416
  /** The suite the run executed; null when the suite was since deleted. */
52454
53417
  suiteId: string | null;
@@ -52477,9 +53440,11 @@ type RunEvalInput = {
52477
53440
  suiteId: string;
52478
53441
  strict?: boolean;
52479
53442
  virtual?: boolean;
53443
+ agent?: EvalAgentSelector;
52480
53444
  } | {
52481
53445
  definition: EvalDefinition;
52482
53446
  strict?: boolean;
53447
+ agent?: EvalAgentSelector;
52483
53448
  };
52484
53449
  /**
52485
53450
  * Idempotently converge an eval suite definition onto the platform. Hash-first:
@@ -53352,7 +54317,7 @@ interface EvalSuiteListResult {
53352
54317
  total: number;
53353
54318
  }
53354
54319
  /** A large suite queued as a durable run (graded when it completes). */
53355
- interface EvalSuiteRunQueued {
54320
+ interface EvalSuiteRunQueued extends EvalRunEvidence {
53356
54321
  mode: 'batch';
53357
54322
  /** Poll `client.evals.getRunScores(runId)` once the run completes. */
53358
54323
  runId: string;
@@ -53494,6 +54459,10 @@ declare class EvalSuitesNamespace {
53494
54459
  run(suiteId: string, options?: {
53495
54460
  strict?: boolean;
53496
54461
  mode?: 'sync' | 'batch';
54462
+ /** Pin an Agent-target suite to one version for this run only. */
54463
+ agent?: EvalAgentSelector;
54464
+ /** Run every case against this model instead of the target's configured one. */
54465
+ modelOverride?: string;
53497
54466
  }): Promise<EvalSuiteRunResult>;
53498
54467
  /** Add one or more test cases to a suite. */
53499
54468
  addCases(suiteId: string, cases: EvalSuiteCaseInput[]): Promise<{
@@ -54536,6 +55505,204 @@ declare class SkillsNamespace {
54536
55505
  pull(name: string): Promise<SkillPullResult>;
54537
55506
  }
54538
55507
 
55508
+ /**
55509
+ * The HTTP verbs the alias plane needs. Both SDK client classes satisfy it, so
55510
+ * one implementation serves `Runtype.agents.aliases` and `client.agents.aliases`.
55511
+ */
55512
+ interface AgentAliasTransport {
55513
+ get<T>(path: string, params?: Record<string, any>): Promise<T>;
55514
+ put<T>(path: string, data?: unknown, headers?: Record<string, string>): Promise<T>;
55515
+ post<T>(path: string, data?: unknown, headers?: Record<string, string>): Promise<T>;
55516
+ delete<T>(path: string, data?: unknown, headers?: Record<string, string>): Promise<T>;
55517
+ }
55518
+ /** The `live` pointer every agent's production traffic follows. Never expires. */
55519
+ declare const LIVE_AGENT_ALIAS = "live";
55520
+ /**
55521
+ * A stale compare-and-swap on a pointer (HTTP 412). The stored revision moved
55522
+ * on between the read and the write, so re-read the alias and retry.
55523
+ */
55524
+ declare class AgentAliasRevisionMismatchError extends Error {
55525
+ readonly code = "alias_revision_mismatch";
55526
+ readonly expectedRevision: number;
55527
+ readonly actualRevision: number | null;
55528
+ constructor(body: {
55529
+ error?: string;
55530
+ expected: number;
55531
+ actual: number | null;
55532
+ });
55533
+ }
55534
+ /** A write to an existing `live` pointer that quoted no revision (HTTP 428). */
55535
+ declare class AgentAliasRevisionRequiredError extends Error {
55536
+ readonly code = "alias_revision_required";
55537
+ constructor(message: string);
55538
+ }
55539
+ /**
55540
+ * A pointer that does not resolve (HTTP 404). Missing or archived aliases never
55541
+ * fall back to live, so this names the pointer that was asked for.
55542
+ */
55543
+ declare class AgentAliasNotFoundError extends Error {
55544
+ readonly code = "alias_not_found";
55545
+ readonly alias: string;
55546
+ readonly agentId: string;
55547
+ constructor(body: {
55548
+ error?: string;
55549
+ alias: string;
55550
+ agentId: string;
55551
+ });
55552
+ }
55553
+ /**
55554
+ * A new preview pointer refused by the active-preview quota (HTTP 429). Archive
55555
+ * a preview you no longer need — archiving frees the quota immediately — or wait
55556
+ * for one to expire. `live` is never counted.
55557
+ */
55558
+ declare class AgentAliasPreviewLimitError extends Error {
55559
+ readonly code = "PREVIEW_ALIAS_LIMIT";
55560
+ readonly scope: 'organization' | 'agent';
55561
+ readonly limit: number;
55562
+ readonly active: number;
55563
+ constructor(body: {
55564
+ error?: string;
55565
+ scope: 'organization' | 'agent';
55566
+ limit: number;
55567
+ active: number;
55568
+ });
55569
+ }
55570
+ /** A version whose named references no longer resolve in this account (HTTP 422). */
55571
+ declare class AgentAliasDependencyError extends Error {
55572
+ readonly code = "alias_dependency_unresolved";
55573
+ readonly refs: string[];
55574
+ constructor(body: {
55575
+ error?: string;
55576
+ refs?: string[];
55577
+ });
55578
+ }
55579
+ /** Every coded refusal the alias plane maps onto a typed error. */
55580
+ type TypedAliasError = AgentAliasRevisionMismatchError | AgentAliasRevisionRequiredError | AgentAliasNotFoundError | AgentAliasDependencyError | AgentAliasPreviewLimitError;
55581
+ /** The refusal code, when this is one of the typed alias errors. */
55582
+ declare function agentAliasErrorCode(err: unknown): TypedAliasError['code'] | undefined;
55583
+ interface ListAgentAliasesOptions {
55584
+ /** Include archived pointers, which never resolve for execution. */
55585
+ includeArchived?: boolean;
55586
+ /** Page size. Omit to receive the whole (small) pointer set. */
55587
+ limit?: number;
55588
+ /** The `nextCursor` a previous page returned. */
55589
+ cursor?: string;
55590
+ }
55591
+ interface ActivateAgentAliasInput {
55592
+ /** The exact version to aim the pointer at. Never a pointer name. */
55593
+ versionId: string;
55594
+ /**
55595
+ * The revision read from the alias, sent as `If-Match`. Required by the
55596
+ * server on an existing `live` pointer; optional on previews and on the
55597
+ * first live deployment.
55598
+ */
55599
+ revision?: number;
55600
+ /** Replay key: repeating the same activation returns the first receipt. */
55601
+ idempotencyKey?: string;
55602
+ /** Why this deployment happened. Recorded for humans; nothing branches on it. */
55603
+ reason?: string;
55604
+ /** Source-organization ids and hashes for a cross-organization promotion. */
55605
+ promotion?: AgentDeploymentPromotion;
55606
+ }
55607
+ interface ArchiveAgentAliasInput {
55608
+ revision?: number;
55609
+ }
55610
+ interface RollbackAgentAliasInput {
55611
+ /** How many pointer-moving receipts to walk back. Defaults to 1. */
55612
+ steps?: number;
55613
+ revision?: number;
55614
+ reason?: string;
55615
+ }
55616
+ /**
55617
+ * One pointer an {@link AgentAliasesNamespace.archiveEverywhere} pass could not
55618
+ * archive. A stale revision (412) or a concurrent archive (404) is reported
55619
+ * here rather than aborting the sweep over the remaining agents.
55620
+ */
55621
+ interface AgentAliasArchiveFailure {
55622
+ agentId: string;
55623
+ agentName: string;
55624
+ error: string;
55625
+ code?: string;
55626
+ }
55627
+ interface ArchiveAgentAliasEverywhereResult {
55628
+ alias: string;
55629
+ archived: Array<{
55630
+ agentId: string;
55631
+ agentName: string;
55632
+ revision: number;
55633
+ receiptId: string;
55634
+ }>;
55635
+ failed: AgentAliasArchiveFailure[];
55636
+ }
55637
+ interface ListAgentDeploymentsOptions {
55638
+ /** Only receipts for this pointer. */
55639
+ alias?: string;
55640
+ limit?: number;
55641
+ cursor?: string;
55642
+ }
55643
+ /**
55644
+ * Release aliases: the named pointers that select which immutable version of an
55645
+ * agent runs. Activation always names an exact `versionId` — the SDK never
55646
+ * resolves a pointer client-side and deploys whatever it found.
55647
+ *
55648
+ * @example
55649
+ * ```typescript
55650
+ * const live = await client.agents.aliases.get('agt_1', 'live')
55651
+ * await client.agents.aliases.activate('agt_1', 'live', {
55652
+ * versionId: 'agtv_9',
55653
+ * revision: live.revision,
55654
+ * idempotencyKey: 'deploy-2026-09-06-1',
55655
+ * })
55656
+ * ```
55657
+ */
55658
+ declare class AgentAliasesNamespace {
55659
+ private getTransport;
55660
+ constructor(getTransport: () => AgentAliasTransport);
55661
+ /** List this agent's pointers, `live` first then previews by name. */
55662
+ list(agentId: string, options?: ListAgentAliasesOptions): Promise<AgentAliasList>;
55663
+ /**
55664
+ * Every agent in the organization carrying a pointer with this name, each
55665
+ * with the revision to quote back as `If-Match`. The read a PR-close cleanup
55666
+ * makes before archiving.
55667
+ */
55668
+ listByName(alias: string, options?: {
55669
+ includeArchived?: boolean;
55670
+ }): Promise<OrganizationAgentAliasList>;
55671
+ /**
55672
+ * Archive this pointer on every agent in the organization that carries it,
55673
+ * each under the revision just read. A failure on one agent is reported and
55674
+ * the rest continue; a second run finds nothing active and archives nothing.
55675
+ */
55676
+ archiveEverywhere(alias: string): Promise<ArchiveAgentAliasEverywhereResult>;
55677
+ /** Read one pointer. A missing or archived alias throws, never falls back to live. */
55678
+ get(agentId: string, alias: string, options?: {
55679
+ includeArchived?: boolean;
55680
+ }): Promise<AgentAlias>;
55681
+ /** Aim one pointer at one exact version, appending a deployment receipt. */
55682
+ activate(agentId: string, alias: string, input: ActivateAgentAliasInput): Promise<AgentAliasActivation>;
55683
+ /** Archive a preview pointer: it stops resolving but keeps its history. */
55684
+ archive(agentId: string, alias: string, input?: ArchiveAgentAliasInput): Promise<AgentAliasArchived>;
55685
+ /** Re-aim a pointer at the version its receipt history records before this one. */
55686
+ rollback(agentId: string, alias: string, input?: RollbackAgentAliasInput): Promise<AgentAliasActivation>;
55687
+ private run;
55688
+ }
55689
+ /**
55690
+ * The append-only deployment history of an agent: every pointer move, its
55691
+ * previous and new versions, the actor, the provenance and the dependency
55692
+ * fingerprints checked at activation.
55693
+ */
55694
+ declare class AgentDeploymentsNamespace {
55695
+ private getTransport;
55696
+ constructor(getTransport: () => AgentAliasTransport);
55697
+ /** Receipts newest first, cursor-paginated; filter to one pointer with `alias`. */
55698
+ list(agentId: string, options?: ListAgentDeploymentsOptions): Promise<AgentDeploymentList>;
55699
+ }
55700
+
55701
+ /**
55702
+ * The refusal a client-side `release` + `deploy` mix answers with. Byte-identical
55703
+ * to the server's, so both spellings of the mistake read the same.
55704
+ */
55705
+ declare const ENSURE_RELEASE_DEPLOY_CONFLICT_MESSAGE: string;
54539
55706
  /** Canonical normalized form — must stay byte-identical to the shared impl. */
54540
55707
  declare function normalizeAgentDefinition(definition: {
54541
55708
  name: string;
@@ -54700,8 +55867,21 @@ interface EnsureAgentOptions {
54700
55867
  * rather than ensure. Default 'error' (HTTP 409 → AgentEnsureConflictError).
54701
55868
  */
54702
55869
  onConflict?: 'error' | 'overwrite';
54703
- /** 'publish' also re-aims the published-version pointer. Default 'none'. */
55870
+ /**
55871
+ * Compatibility input translated to a deploy: 'publish' activates `live`,
55872
+ * 'none' saves without activating. Prefer {@link EnsureAgentOptions.deploy}.
55873
+ * Supplying both is refused client-side and by the server.
55874
+ */
54704
55875
  release?: 'none' | 'publish';
55876
+ /**
55877
+ * Atomically save this definition and activate it at a release alias.
55878
+ * `{ alias: 'live' }` deploys to production; any other name is a preview
55879
+ * pointer that never touches the live row, config hash, capabilities or the
55880
+ * draft pointer. Mutually exclusive with {@link EnsureAgentOptions.release}.
55881
+ */
55882
+ deploy?: {
55883
+ alias: string;
55884
+ };
54705
55885
  /**
54706
55886
  * TOCTOU guard binding a dry run to its apply: the write only proceeds if
54707
55887
  * the remote still hashes to this value (409 remote_changed otherwise).
@@ -54722,6 +55902,10 @@ interface EnsureAgentConverged {
54722
55902
  versionId: string | null;
54723
55903
  /** The server-computed canonical hash (echo this — never your own). */
54724
55904
  contentHash: string;
55905
+ /** For a non-live deploy: the hash the alias carried before this converge. */
55906
+ remoteHash?: string;
55907
+ /** The pointer this converge aimed, present only when it carried release or deploy. */
55908
+ deployment?: AgentEnsureDeployment;
54725
55909
  }
54726
55910
  interface EnsureAgentPlan {
54727
55911
  result: 'plan';
@@ -54730,6 +55914,8 @@ interface EnsureAgentPlan {
54730
55914
  contentHash: string;
54731
55915
  remoteHash?: string;
54732
55916
  agentId?: string;
55917
+ /** The pointer this dry run would aim, and whether it would move. */
55918
+ deployment?: AgentEnsureDeployment;
54733
55919
  }
54734
55920
  type EnsureAgentResult = EnsureAgentConverged | EnsureAgentPlan;
54735
55921
  interface AgentPullResult {
@@ -54785,6 +55971,10 @@ declare class AgentDriftError extends Error {
54785
55971
  */
54786
55972
  declare class AgentsNamespace {
54787
55973
  private getClient;
55974
+ /** Release aliases: the named pointers selecting which version runs (ADR 0025). */
55975
+ readonly aliases: AgentAliasesNamespace;
55976
+ /** The append-only deployment history behind those pointers. */
55977
+ readonly deployments: AgentDeploymentsNamespace;
54788
55978
  constructor(getClient: () => RuntypeClient$1);
54789
55979
  /**
54790
55980
  * Idempotently converge a definition onto the platform. Hash-first: probes
@@ -55130,6 +56320,12 @@ declare function ensureFpo(client: RuntypeClient$1, fpo: FpoInput, options?: Ens
55130
56320
  */
55131
56321
  declare function pullFpo(client: RuntypeClient$1, name: string): Promise<PullFpoResult>;
55132
56322
 
56323
+ /** Merged first page of every activity source a product has. */
56324
+ type ProductActivityResponse = paths['/v1/products/{id}/activity']['get']['responses'][200]['content']['application/json'];
56325
+ interface ProductActivityOptions {
56326
+ /** Rows per source. Defaults to 50 server-side, clamped to 100. */
56327
+ limit?: number;
56328
+ }
55133
56329
  declare class ProductsNamespace {
55134
56330
  private getClient;
55135
56331
  constructor(getClient: () => RuntypeClient$1);
@@ -55194,6 +56390,20 @@ declare class ProductsNamespace {
55194
56390
  * ```
55195
56391
  */
55196
56392
  pullFpo(name: string): Promise<PullFpoResult>;
56393
+ /**
56394
+ * One request for the first page of every activity source a product has:
56395
+ * conversations per conversational surface, executions per distinct agent.
56396
+ * Rows, cursors and `hasMore` match the per-source list endpoints, so a
56397
+ * caller continues any source with that source's own endpoint. A source that
56398
+ * fails carries an `error` instead of failing the response.
56399
+ *
56400
+ * @example
56401
+ * ```typescript
56402
+ * const { data } = await Runtype.products.activity('prd_123', { limit: 25 })
56403
+ * for (const surface of data.surfaces) console.log(surface.surfaceId, surface.data.length)
56404
+ * ```
56405
+ */
56406
+ activity(productId: string, options?: ProductActivityOptions): Promise<ProductActivityResponse>;
55197
56407
  }
55198
56408
 
55199
56409
  /**
@@ -55472,7 +56682,7 @@ declare class RuntypeClient$1 {
55472
56682
  /**
55473
56683
  * Generic PUT request
55474
56684
  */
55475
- put<T>(path: string, data?: unknown): Promise<T>;
56685
+ put<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
55476
56686
  /**
55477
56687
  * Generic PATCH request
55478
56688
  */
@@ -55480,7 +56690,7 @@ declare class RuntypeClient$1 {
55480
56690
  /**
55481
56691
  * Generic DELETE request
55482
56692
  */
55483
- delete<T>(path: string): Promise<T>;
56693
+ delete<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
55484
56694
  /**
55485
56695
  * Generic request that returns raw Response for streaming
55486
56696
  */
@@ -55833,6 +57043,128 @@ declare class Runtype {
55833
57043
  static get surfaces(): SurfacesNamespace;
55834
57044
  }
55835
57045
 
57046
+ /**
57047
+ * The HTTP surface a promotion leg needs from one organization's credentials.
57048
+ * Both SDK client classes satisfy it, and a promotion always holds two of
57049
+ * them — one per organization. Credentials never cross between the two.
57050
+ */
57051
+ type AgentPromotionTransport = AgentAliasTransport;
57052
+ /** Everything a later promotion step needs, and nothing that could authorize one. */
57053
+ interface AgentPromotionManifest {
57054
+ /** Manifest schema version, so a later reader can refuse an unknown shape. */
57055
+ manifest: 1;
57056
+ /** Agent name, the ensure identity in both organizations. */
57057
+ name: string;
57058
+ createdAt: string;
57059
+ source: {
57060
+ agentId: string;
57061
+ versionId: string | null;
57062
+ contentHash: string;
57063
+ /** Source-control commit the promotion ran from, when it ran inside a repo. */
57064
+ commit?: string;
57065
+ };
57066
+ target: {
57067
+ agentId: string;
57068
+ versionId: string;
57069
+ /** The candidate preview pointer the definition was staged at. */
57070
+ alias: string;
57071
+ revision: number | null;
57072
+ contentHash: string;
57073
+ };
57074
+ }
57075
+ /** What `validate` found, and whether the promotion may proceed. */
57076
+ interface AgentPromotionValidation {
57077
+ ok: boolean;
57078
+ /** The dry-run plan re-running the same ensure in the target organization. */
57079
+ plan: EnsureAgentPlan;
57080
+ /** Named references the destination organization could not resolve. */
57081
+ unresolvedRefs: string[];
57082
+ /** Every reference the candidate carries, with the fingerprint recorded at staging. */
57083
+ refs: Array<{
57084
+ ref: string;
57085
+ resolvedId: string | null;
57086
+ fingerprint: string | null;
57087
+ }>;
57088
+ }
57089
+ /** A promotion step that could not produce a manifest or a usable answer. */
57090
+ declare class AgentPromotionError extends Error {
57091
+ constructor(message: string);
57092
+ }
57093
+ interface PrepareAgentPromotionInput {
57094
+ /** Credentials for the organization the definition is read from. */
57095
+ source: AgentPromotionTransport;
57096
+ /** Credentials for the organization the candidate is staged in. */
57097
+ target: AgentPromotionTransport;
57098
+ /** Agent name, the ensure identity in both organizations. */
57099
+ name: string;
57100
+ /** Preview pointer to stage the candidate at. Never `live`: prepare never deploys. */
57101
+ alias: string;
57102
+ /** Source-control commit recorded on the manifest and the receipt. */
57103
+ commit?: string;
57104
+ /** Provenance stamped on the version row the target converge appends. */
57105
+ version?: components['schemas']['EnsureVersionMetadata'];
57106
+ }
57107
+ /**
57108
+ * Pull the definition from the source organization and stage it in the target
57109
+ * at a preview pointer. Live is untouched, credentials never move, and secrets
57110
+ * stay `{{secret:NAME}}` references resolved by the target organization.
57111
+ */
57112
+ declare function prepareAgentPromotion(input: PrepareAgentPromotionInput): Promise<AgentPromotionManifest>;
57113
+ interface ValidateAgentPromotionInput {
57114
+ target: AgentPromotionTransport;
57115
+ manifest: AgentPromotionManifest;
57116
+ /** The definition to re-plan against. Re-pulled from the source when omitted. */
57117
+ definition?: AgentDefinition;
57118
+ source?: AgentPromotionTransport;
57119
+ }
57120
+ /**
57121
+ * Re-run the staged converge as a dry run in the target and report every named
57122
+ * reference the destination could not resolve. Reporting only: it decides
57123
+ * nothing, and no later step is gated on the answer.
57124
+ */
57125
+ declare function validateAgentPromotion(input: ValidateAgentPromotionInput): Promise<AgentPromotionValidation>;
57126
+ interface ActivateAgentPromotionInput {
57127
+ target: AgentPromotionTransport;
57128
+ manifest: AgentPromotionManifest;
57129
+ /** Pointer to deploy to in the target organization. Defaults to `live`. */
57130
+ alias?: string;
57131
+ reason?: string;
57132
+ /** Defaults to a key derived from the manifest, so a retry never deploys twice. */
57133
+ idempotencyKey?: string;
57134
+ }
57135
+ /**
57136
+ * Deploy the exact staged version at the target's pointer, quoting the pointer
57137
+ * revision as `If-Match` and linking the source ids and hashes on the receipt.
57138
+ * The version id comes from the manifest, never from re-resolving a pointer.
57139
+ */
57140
+ declare function activateAgentPromotion(input: ActivateAgentPromotionInput): Promise<AgentAliasActivation>;
57141
+ /** A replay key one manifest always derives the same way, so retries are safe. */
57142
+ declare function promotionIdempotencyKey(manifest: AgentPromotionManifest, alias: string): string;
57143
+ interface PromoteAgentInput extends PrepareAgentPromotionInput {
57144
+ /**
57145
+ * Deploy the staged candidate after validation. Omit to stop at the staged
57146
+ * preview: nothing here gates on evaluation, so an explicit opt-in is what
57147
+ * separates staging from shipping.
57148
+ */
57149
+ activate?: {
57150
+ alias?: string;
57151
+ reason?: string;
57152
+ idempotencyKey?: string;
57153
+ };
57154
+ }
57155
+ interface PromoteAgentResult {
57156
+ manifest: AgentPromotionManifest;
57157
+ validation: AgentPromotionValidation;
57158
+ activation?: AgentAliasActivation;
57159
+ }
57160
+ /**
57161
+ * The whole cross-organization recipe: stage the definition at a preview
57162
+ * pointer in the target, report unresolved references, and — only when
57163
+ * `activate` is supplied — deploy that exact staged version. Evaluation is the
57164
+ * caller's to run and report; nothing here is gated on it.
57165
+ */
57166
+ declare function promoteAgent(input: PromoteAgentInput): Promise<PromoteAgentResult>;
57167
+
55836
57168
  /**
55837
57169
  * Agent API key request types.
55838
57170
  *
@@ -56440,9 +57772,9 @@ interface ApiClient {
56440
57772
  [key: string]: any;
56441
57773
  }): Promise<T>;
56442
57774
  post<T>(path: string, data?: any, headers?: Record<string, string>): Promise<T>;
56443
- put<T>(path: string, data?: any): Promise<T>;
57775
+ put<T>(path: string, data?: any, headers?: Record<string, string>): Promise<T>;
56444
57776
  patch<T>(path: string, data?: any): Promise<T>;
56445
- delete<T>(path: string, data?: any): Promise<T>;
57777
+ delete<T>(path: string, data?: any, headers?: Record<string, string>): Promise<T>;
56446
57778
  postFormData<T>(path: string, formData: FormData): Promise<T>;
56447
57779
  postBinary<T>(path: string, body: Uint8Array, contentType: string): Promise<T>;
56448
57780
  requestStream(path: string, options?: RequestInit): Promise<Response>;
@@ -57023,9 +58355,9 @@ declare class DispatchEndpoint {
57023
58355
  /**
57024
58356
  * Dispatch: create and/or execute flows on records atomically
57025
58357
  */
57026
- execute(data: DispatchRequest): Promise<any>;
58358
+ execute(data: DispatchRequest, admission?: AgentAdmissionOptions): Promise<any>;
57027
58359
  /** Start a dispatch and return its durable execution handle immediately. */
57028
- executeAsync(data: DispatchRequest): Promise<AsyncExecutionHandle>;
58360
+ executeAsync(data: DispatchRequest, admission?: AgentAdmissionOptions): Promise<AsyncExecutionHandle>;
57029
58361
  /**
57030
58362
  * Dispatch with streaming response
57031
58363
  *
@@ -57036,7 +58368,7 @@ declare class DispatchEndpoint {
57036
58368
  */
57037
58369
  executeStream(data: DispatchRequest, init?: {
57038
58370
  signal?: AbortSignal;
57039
- } & DetachedReconnectOptions): Promise<Response>;
58371
+ } & DetachedReconnectOptions & AgentAdmissionOptions): Promise<Response>;
57040
58372
  /**
57041
58373
  * The `?after=` reattach leg a detached dispatch stream is followed with.
57042
58374
  *
@@ -57102,6 +58434,7 @@ declare class ExecutionsEndpoint {
57102
58434
  private client;
57103
58435
  constructor(client: ApiClient);
57104
58436
  getStatus(executionId: string): Promise<AsyncExecutionStatus>;
58437
+ getDelivery(executionId: string, deliveryId: string): Promise<InputDeliveryReceipt>;
57105
58438
  }
57106
58439
  /**
57107
58440
  * Chat endpoint handler
@@ -58146,11 +59479,24 @@ interface AgentExecuteRequest {
58146
59479
  forced?: 'durable' | 'in_process';
58147
59480
  watchLeaseMs?: number;
58148
59481
  };
59482
+ /**
59483
+ * Run whichever immutable version this release alias currently points at
59484
+ * (ADR 0025). At most one of `alias` / `versionId`, and neither may be
59485
+ * combined with an inline definition override (`model`, `systemPrompt`,
59486
+ * `tools`, …) — the selected version supplies the definition.
59487
+ */
59488
+ alias?: string;
59489
+ /** Run this exact version snapshot. Mutually exclusive with `alias`. */
59490
+ versionId?: string;
58149
59491
  }
58150
59492
  /**
58151
59493
  * Agent execute response (non-streaming)
58152
59494
  */
58153
59495
  interface AgentExecuteResponse {
59496
+ executionId?: string;
59497
+ deliveryId?: string;
59498
+ deliveryStatus?: InputDeliveryReceipt['status'];
59499
+ deliveryStatusUrl?: string;
58154
59500
  success: boolean;
58155
59501
  result: string;
58156
59502
  iterations: number;
@@ -58582,23 +59928,15 @@ interface Agent {
58582
59928
  createdAt: string;
58583
59929
  updatedAt: string;
58584
59930
  }
58585
- /**
58586
- * Durable-turn admission controls (ADR 0020), sent as request headers on
58587
- * `POST /agents/{id}/execute`.
58588
- *
58589
- * The route declares all three, so they are in the published spec and in every
58590
- * generated SDK; this bag is the hand-written namespace's equivalent. Each is
58591
- * optional, and sending none of them leaves the wire behavior of the call
58592
- * exactly as it was. They are read only by the durable lane: a turn that
58593
- * resolves to the in-process lane ignores them.
58594
- */
59931
+ /** Durable admission headers for agent execute and dispatch. Join requires native durable execution. */
58595
59932
  interface AgentAdmissionOptions {
58596
59933
  /**
58597
59934
  * What to do when the conversation already has a turn in flight. `reject`
58598
59935
  * (the default when omitted) answers `CONVERSATION_BUSY`; `supersede`
58599
- * cancels the incumbent and takes over; `queue` runs after it.
59936
+ * cancels the incumbent and takes over; `queue` runs after it; `join` delivers
59937
+ * new user-message deltas to the incumbent at a safe boundary, without resetting its budgets.
58600
59938
  */
58601
- concurrency?: 'reject' | 'supersede' | 'queue';
59939
+ concurrency?: 'reject' | 'supersede' | 'queue' | 'join';
58602
59940
  /**
58603
59941
  * Fold this request into an already-pending turn for the same conversation
58604
59942
  * instead of starting a second one. The response is the pending execution.
@@ -58629,6 +59967,10 @@ declare class AgentsEndpoint {
58629
59967
  private static readonly AUTO_COMPACT_SUMMARY_PREFIX;
58630
59968
  private static readonly RESUMED_COMPACT_SUMMARY_PREFIX;
58631
59969
  private static readonly COMPLETED_COMPACT_SUMMARY_PREFIX;
59970
+ /** Release aliases: the named pointers selecting which version runs (ADR 0025). */
59971
+ readonly aliases: AgentAliasesNamespace;
59972
+ /** The append-only deployment history behind those pointers. */
59973
+ readonly deployments: AgentDeploymentsNamespace;
58632
59974
  constructor(client: ApiClient);
58633
59975
  /**
58634
59976
  * List all agents for the authenticated user
@@ -59483,7 +60825,7 @@ declare class RuntypeClient implements ApiClient {
59483
60825
  /**
59484
60826
  * Generic PUT request
59485
60827
  */
59486
- put<T>(path: string, data?: unknown): Promise<T>;
60828
+ put<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
59487
60829
  /**
59488
60830
  * Generic PATCH request
59489
60831
  */
@@ -59491,7 +60833,7 @@ declare class RuntypeClient implements ApiClient {
59491
60833
  /**
59492
60834
  * Generic DELETE request
59493
60835
  */
59494
- delete<T>(path: string, data?: unknown): Promise<T>;
60836
+ delete<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
59495
60837
  /**
59496
60838
  * Build full URL with query parameters
59497
60839
  */
@@ -60886,4 +62228,4 @@ declare function getLikelySupportingCandidatePaths(bestCandidatePath: string | u
60886
62228
  declare function getDefaultPlanPath(taskName: string): string;
60887
62229
  declare function sanitizeTaskSlug(taskName: string): string;
60888
62230
 
60889
- export { type AIGrader, type Agent, type AgentAdmissionOptions, type AgentApprovalCompleteEvent, type AgentApprovalStartEvent, type AgentCompleteEvent, type AgentDefinition, type AgentDefinitionConfig, AgentDriftError, type AgentElicitation, type AgentElicitationRequest, 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, type ApiKeyRequest, type ApiKeyRequestDelivery, type ApiKeyRequestEnvironment, type ApiKeyRequestHandoff, type ApiKeyRequestListParams, type ApiKeyRequestRequester, type ApiKeyRequestStatus, ApiKeyRequestsEndpoint, ApiKeysEndpoint, type ApiResponse, type ApplyGeneratedProposalOptions, type ApplyGeneratedProposalResult, type AssetReferenceContentPart, type AsyncExecutionHandle, type AsyncExecutionStatus, 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 CanonicalDispatchMessageContent, type CanonicalDispatchRequest, type CaseExpected, type CatalogClientToolRef, ChatEndpoint, type CheckGrader, type ClaimApiKeyRequestInput, type ClaimApiKeyRequestResponse, type ClaudeManagedEvalOverrideValues, ClientBatchBuilder, type ClientConfig, type ClientConversation, ClientEvalBuilder, ClientFlowBuilder, type ClientToken, type ClientTokenConfig, type ClientTokenEnvironment, type ClientTokenVersionPin, ClientTokensEndpoint, type ClientToolDefinition, type ClientToolEntry, type ClientWidgetTheme, type CollectionMeta, CollectionsEndpoint, 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 CreateApiKeyRequestInput, type CreateApiKeyRequestResponse, type CreateClientTokenRequest, type CreateClientTokenResponse, type CreateCollectionRequest, type CreateConversationRequest, type CreateEvalSuiteInput, type CreateFlowRequest, type CreateModelConfigRequest, type CreatePromptData, type CreatePromptRequest, type CreateProviderKeyRequest, type CreateRecordRequest, type CreateScheduleRequest, type CreateSecretRequest, type CreateToolRequest, type CurrentBilledSpendResponse, type CurrentBilledSpendSource, type CustomMCPServer, type CustomMCPServerAuth, type CustomToolConfig, DEFAULT_MAX_DETACHED_RECONNECTS, DEFAULT_RECOVERY_AFTER_EMPTY_SESSIONS, DEFAULT_STALL_STOP_AFTER, type DecomposeCriteriaResult, 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 DetachedReattach, type DetachedReconnectOptions, type DiscoveredModel, type DispatchAgentInput, type DispatchApprovalContinuationResponse, type DispatchApproveRequest, type DispatchApproveResponse, type DispatchClient, type DispatchContinuationRequest, type DispatchContinuationResponse, type DispatchDetachedApprovalResponse, type DispatchDetachedToolOutputResponse, DispatchEndpoint, type DispatchEnvironment, type DispatchEvent, type DispatchFlowInput, type DispatchMessageContent, type DispatchOptions$1 as DispatchOptions, type DispatchRequest, type DispatchResponse, type DispatchResumeJsonResponse, type DispatchResumeRequest, type DispatchResumeResponse, type EndUserUsageQuery, type EndUserUsageResponse, 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 EvalCaseProposal, type EvalCaseProposalAccepted, type EvalCaseProposalListResult, type EvalCasesGenerated, type EvalClient, type EvalDefinition, EvalEndpoint, type EvalListParams, type EvalMessage, type EvalOptions, type EvalOverrideValues, type EvalProposalSource, type EvalProposalStatus, type EvalProposedCase, type EvalPullResult, type EvalRecord, type EvalRequest, type EvalResult, type EvalRunCaseScores, type EvalRunConfig, type EvalRunScores, EvalRunner, type EvalStatus, type EvalSuiteCase, type EvalSuiteCaseInput, type EvalSuiteCoverage, type EvalSuiteDetail, type EvalSuiteLatestRun, type EvalSuiteListResult, type EvalSuiteRunQueued, type EvalSuiteRunResult, type EvalSuiteSummary, EvalSuitesNamespace, type EvalTarget, EvalsNamespace, type ExecuteToolRequest, type ExecuteToolResponse, type ExecutionCounts, type ExecutionStreamEvent, ExecutionsEndpoint, ExecutionsNamespace, type ExternalAgentContext, type ExternalToolConfig, type FallbackFailEvent, type FallbackStartEvent, type FallbackSuccessEvent, type FallbackTrigger, type FallbackTriggerType, type FallbacksExhaustedEvent, type FallbacksInitiatedEvent, 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 GenerateEvalCasesInput, type GeneratedRuntimeToolGateDecision, type GeneratedRuntimeToolGateOptions, type GetApiKeyRequestResponse, type GetRecordStepConfig$1 as GetRecordStepConfig, type Gradeable, type GraderConfig, type GraderOutcome, type GraderSeverity, type HealthInsight, type HumanVerdict, type ImageContentPart, type InferCollectionSchemaResponse, type Integration, type IntegrationTool, IntegrationsEndpoint, type IntegrationsListResponse, type JSONSchema, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, LEDGER_ARTIFACT_LINE_PREFIX, type ListCollectionsResponse, 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 LoopStepConfig$1 as LoopStepConfig, type Message$1 as Message, type MessageContent, type MessageFallback, type Metadata, type MetricDelta, type ModelConfig, ModelConfigsEndpoint, type ModelFallback, type ModelOverride, type ModelUsageDetail, type ModelUsageQueryParams, type ModelUsageResponse, type ModelUsageSummary, type ModelUsageTimeSeries, type PaginationResponse, type PersistedGraderOutcome, type ProductDefinition, ProductDriftError, ProductEnsureConflictError, type ProductPullResult, type ProductionHealthQuery, type ProductionHealthResponse, 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 RecordCollection, type RecordCollectionWithHistory, type RecordCollections, 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 FetchUrlStepConfig as RuntypeFetchUrlStepConfig, RuntypeFlowBuilder, type FlowConfig as RuntypeFlowConfig, type GenerateEmbeddingStepConfig as RuntypeGenerateEmbeddingStepConfig, type GetRecordStepConfig as RuntypeGetRecordStepConfig, type ListRecordsStepConfig as RuntypeListRecordsStepConfig, type LoopStepConfig as RuntypeLoopStepConfig, 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 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 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 SandboxDeployEffectivePolicy, type SandboxDeployRetention, type SandboxDeploySleepPolicy, 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 SelectOrganizationProviderCredentialRequest, type SelectOrganizationProviderCredentialResponse, type SendEmailStepConfig$1 as SendEmailStepConfig, type SendEventStepConfig$1 as SendEventStepConfig, type SendStreamStepConfig$1 as SendStreamStepConfig, 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 SlackAppStatusResponse, type SlackInstallRequest, type SlackManifestRequest, type SlackManifestResponse, type SlackOAuthStartRequest, type SlackOAuthStartResponse, 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 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, type TypedCreateRecordRequest, type TypedRecordListItem, type TypedRecordWriteResponse, TypedRecordsScope, type TypedRuntypeRecord, UNIFIED_EVENTS_QUERY, type UpdateClientTokenRequest, type UpdateCollectionRequest, type UpdateCollectionResponse, type UpdateConversationRequest, type UpdateEvalCaseInput, type UpdateEvalSuiteInput, type UpdateFlowRequest, 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 ValidateExistingRecordsResponse, type VectorSearchStepConfig$1 as VectorSearchStepConfig, type VersionPublishOptions, 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, buildAgentAdmissionHeaders, buildEmptySessionNudge, buildExecutionEventsPath, buildGeneratedRuntimeToolGateOutput, buildLedgerOffloadReference, buildObservationMaskMarker, buildPolicyGuidance, buildSendViewOffloadMarker, calledTool, combineAbortSignals, 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, isCatalogClientToolRef, 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, withDetachedReconnect, withUnifiedEvents };
62231
+ export { type AIGrader, type ActivateAgentAliasInput, type ActivateAgentPromotionInput, type Agent, type AgentAdmissionOptions, type AgentAlias, type AgentAliasActivation, type AgentAliasArchiveFailure, type AgentAliasArchived, AgentAliasDependencyError, type AgentAliasList, AgentAliasNotFoundError, AgentAliasPreviewLimitError, AgentAliasRevisionMismatchError, AgentAliasRevisionRequiredError, type AgentAliasTransport, AgentAliasesNamespace, type AgentApprovalCompleteEvent, type AgentApprovalStartEvent, type AgentCompleteEvent, type AgentDefinition, type AgentDefinitionConfig, type AgentDeploymentList, type AgentDeploymentPromotion, type AgentDeploymentReceipt, AgentDeploymentsNamespace, AgentDriftError, type AgentElicitation, type AgentElicitationRequest, AgentEnsureConflictError, type AgentErrorEvent, type AgentEvent, type AgentEventType, type AgentExecuteRequest, type AgentExecuteResponse, type AgentIterationCompleteEvent, type AgentIterationStartEvent, type AgentMediaEvent, type AgentMessage, type AgentPausedEvent, type AgentPingEvent, AgentPromotionError, type AgentPromotionManifest, type AgentPromotionTransport, type AgentPromotionValidation, 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, type ApiKeyRequest, type ApiKeyRequestDelivery, type ApiKeyRequestEnvironment, type ApiKeyRequestHandoff, type ApiKeyRequestListParams, type ApiKeyRequestRequester, type ApiKeyRequestStatus, ApiKeyRequestsEndpoint, ApiKeysEndpoint, type ApiResponse, type ApplyGeneratedProposalOptions, type ApplyGeneratedProposalResult, type ArchiveAgentAliasEverywhereResult, type ArchiveAgentAliasInput, type AssetReferenceContentPart, type AsyncExecutionHandle, type AsyncExecutionStatus, 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 CanonicalDispatchMessageContent, type CanonicalDispatchRequest, type CaseExpected, type CatalogClientToolRef, ChatEndpoint, type CheckGrader, type ClaimApiKeyRequestInput, type ClaimApiKeyRequestResponse, type ClaudeManagedEvalOverrideValues, ClientBatchBuilder, type ClientConfig, type ClientConversation, ClientEvalBuilder, ClientFlowBuilder, type ClientToken, type ClientTokenConfig, type ClientTokenEnvironment, type ClientTokenVersionPin, ClientTokensEndpoint, type ClientToolDefinition, type ClientToolEntry, type ClientWidgetTheme, type CollectionMeta, CollectionsEndpoint, 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 CreateApiKeyRequestInput, type CreateApiKeyRequestResponse, type CreateClientTokenRequest, type CreateClientTokenResponse, type CreateCollectionRequest, type CreateConversationRequest, type CreateEvalSuiteInput, type CreateFlowRequest, type CreateModelConfigRequest, type CreatePromptData, type CreatePromptRequest, type CreateProviderKeyRequest, type CreateRecordRequest, type CreateScheduleRequest, type CreateSecretRequest, type CreateToolRequest, type CurrentBilledSpendResponse, type CurrentBilledSpendSource, type CustomMCPServer, type CustomMCPServerAuth, type CustomToolConfig, DEFAULT_MAX_DETACHED_RECONNECTS, DEFAULT_RECOVERY_AFTER_EMPTY_SESSIONS, DEFAULT_STALL_STOP_AFTER, type DecomposeCriteriaResult, 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 DetachedReattach, type DetachedReconnectOptions, type DiscoveredModel, type DispatchAgentInput, type DispatchApprovalContinuationResponse, type DispatchApproveRequest, type DispatchApproveResponse, type DispatchClient, type DispatchContinuationRequest, type DispatchContinuationResponse, type DispatchDetachedApprovalResponse, type DispatchDetachedToolOutputResponse, DispatchEndpoint, type DispatchEnvironment, type DispatchEvent, type DispatchFlowInput, type DispatchMessageContent, type DispatchOptions$1 as DispatchOptions, type DispatchRequest, type DispatchResponse, type DispatchResumeJsonResponse, type DispatchResumeRequest, type DispatchResumeResponse, ENSURE_RELEASE_DEPLOY_CONFLICT_MESSAGE, type EndUserUsageQuery, type EndUserUsageResponse, 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, type EvalAgentSelector, type EvalAgentTargetResolution, EvalBuilder, type EvalCaseDefinition, type EvalCaseInput, type EvalCaseProposal, type EvalCaseProposalAccepted, type EvalCaseProposalListResult, type EvalCasesGenerated, type EvalClient, type EvalDefinition, EvalEndpoint, type EvalListParams, type EvalMessage, type EvalOptions, type EvalOverrideValues, type EvalProposalSource, type EvalProposalStatus, type EvalProposedCase, type EvalPullResult, type EvalRecord, type EvalRequest, type EvalResult, type EvalRunCaseScores, type EvalRunConfig, type EvalRunEvidence, type EvalRunScores, EvalRunner, type EvalStatus, type EvalSuiteCase, type EvalSuiteCaseInput, type EvalSuiteCoverage, type EvalSuiteDetail, type EvalSuiteLatestRun, type EvalSuiteListResult, type EvalSuiteRunQueued, type EvalSuiteRunResult, type EvalSuiteSummary, EvalSuitesNamespace, type EvalTarget, EvalsNamespace, type ExecuteToolRequest, type ExecuteToolResponse, type ExecutionCounts, type ExecutionStreamEvent, ExecutionsEndpoint, ExecutionsNamespace, type ExternalAgentContext, type ExternalToolConfig, type FallbackFailEvent, type FallbackStartEvent, type FallbackSuccessEvent, type FallbackTrigger, type FallbackTriggerType, type FallbacksExhaustedEvent, type FallbacksInitiatedEvent, 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 GenerateEvalCasesInput, type GeneratedRuntimeToolGateDecision, type GeneratedRuntimeToolGateOptions, type GetApiKeyRequestResponse, type GetRecordStepConfig$1 as GetRecordStepConfig, type Gradeable, type GraderConfig, type GraderOutcome, type GraderSeverity, type HealthInsight, type HumanVerdict, type ImageContentPart, type InferCollectionSchemaResponse, type InputDeliveryReceipt, type Integration, type IntegrationTool, IntegrationsEndpoint, type IntegrationsListResponse, type JSONSchema, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, LEDGER_ARTIFACT_LINE_PREFIX, LIVE_AGENT_ALIAS, type ListAgentAliasesOptions, type ListAgentDeploymentsOptions, type ListCollectionsResponse, 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 LoopStepConfig$1 as LoopStepConfig, type Message$1 as Message, type MessageContent, type MessageFallback, type Metadata, type MetricDelta, type ModelConfig, ModelConfigsEndpoint, type ModelFallback, type ModelOverride, type ModelUsageDetail, type ModelUsageQueryParams, type ModelUsageResponse, type ModelUsageSummary, type ModelUsageTimeSeries, type OrganizationAgentAlias, type OrganizationAgentAliasList, type PaginationResponse, type PersistedGraderOutcome, type PrepareAgentPromotionInput, type ProductDefinition, ProductDriftError, ProductEnsureConflictError, type ProductPullResult, type ProductionHealthQuery, type ProductionHealthResponse, ProductsNamespace, type PromoteAgentInput, type PromoteAgentResult, 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 RecordCollection, type RecordCollectionWithHistory, type RecordCollections, 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 RollbackAgentAliasInput, 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 FetchUrlStepConfig as RuntypeFetchUrlStepConfig, RuntypeFlowBuilder, type FlowConfig as RuntypeFlowConfig, type GenerateEmbeddingStepConfig as RuntypeGenerateEmbeddingStepConfig, type GetRecordStepConfig as RuntypeGetRecordStepConfig, type ListRecordsStepConfig as RuntypeListRecordsStepConfig, type LoopStepConfig as RuntypeLoopStepConfig, 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 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 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 SandboxDeployEffectivePolicy, type SandboxDeployRetention, type SandboxDeploySleepPolicy, 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 SelectOrganizationProviderCredentialRequest, type SelectOrganizationProviderCredentialResponse, type SendEmailStepConfig$1 as SendEmailStepConfig, type SendEventStepConfig$1 as SendEventStepConfig, type SendStreamStepConfig$1 as SendStreamStepConfig, 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 SlackAppStatusResponse, type SlackInstallRequest, type SlackManifestRequest, type SlackManifestResponse, type SlackOAuthStartRequest, type SlackOAuthStartResponse, 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 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, type TypedCreateRecordRequest, type TypedRecordListItem, type TypedRecordWriteResponse, TypedRecordsScope, type TypedRuntypeRecord, UNIFIED_EVENTS_QUERY, type UpdateClientTokenRequest, type UpdateCollectionRequest, type UpdateCollectionResponse, type UpdateConversationRequest, type UpdateEvalCaseInput, type UpdateEvalSuiteInput, type UpdateFlowRequest, 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 ValidateAgentPromotionInput, type ValidateExistingRecordsResponse, type VectorSearchStepConfig$1 as VectorSearchStepConfig, type VersionPublishOptions, 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, activateAgentPromotion, agentAliasErrorCode, applyGeneratedRuntimeToolProposalToDispatchRequest, attachRuntimeToolsToDispatchRequest, buildAgentAdmissionHeaders, buildEmptySessionNudge, buildExecutionEventsPath, buildGeneratedRuntimeToolGateOutput, buildLedgerOffloadReference, buildObservationMaskMarker, buildPolicyGuidance, buildSendViewOffloadMarker, calledTool, combineAbortSignals, 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, isCatalogClientToolRef, 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, prepareAgentPromotion, processStream, promoteAgent, promotionIdempotencyKey, pullEval, pullFpo, ranStep, regex, registerWorkflowHook, resolveStallStopAfter, resolveWorkflowHook, runEvalSuite, sanitizeTaskSlug, shouldInjectEmptySessionNudge, shouldRequestModelEscalation, stepOrder, streamEvents, toolOrder, unregisterWorkflowHook, usedNoTools, validJson, validateAgentPromotion, withDetachedReconnect, withUnifiedEvents };