@runtypelabs/sdk 9.12.0 → 9.14.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: {
@@ -2579,6 +2711,8 @@ interface paths {
2579
2711
  data: {
2580
2712
  alias: string;
2581
2713
  archivedAt: string | null;
2714
+ /** @description Names of the per-alias secret bindings in force at this pointer. Executions that resolve through it read these ahead of the organization secret of the same name. Names only: a binding value is never returned by any read. */
2715
+ bindingNames: string[];
2582
2716
  contentHash: string | null;
2583
2717
  createdAt: string;
2584
2718
  expiresAt: string | null;
@@ -2681,6 +2815,8 @@ interface paths {
2681
2815
  "application/json": {
2682
2816
  alias: string;
2683
2817
  archivedAt: string | null;
2818
+ /** @description Names of the per-alias secret bindings in force at this pointer. Executions that resolve through it read these ahead of the organization secret of the same name. Names only: a binding value is never returned by any read. */
2819
+ bindingNames: string[];
2684
2820
  contentHash: string | null;
2685
2821
  createdAt: string;
2686
2822
  expiresAt: string | null;
@@ -2745,8 +2881,376 @@ interface paths {
2745
2881
  };
2746
2882
  };
2747
2883
  /**
2748
- * 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.
2884
+ * Activate a version at a release alias
2885
+ * @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.
2886
+ */
2887
+ put: {
2888
+ parameters: {
2889
+ query?: never;
2890
+ header?: {
2891
+ /** @description The alias revision this write expects. Required on a `live` alias that already exists (428 without it) and refused with 412 when the stored revision has moved on. Optional on preview aliases and on the first `live` deployment, which has no revision yet. */
2892
+ "if-match"?: string;
2893
+ /** @description Replay key. Repeating an activation with the same key returns the receipt the first call produced instead of moving the pointer twice. */
2894
+ "idempotency-key"?: string;
2895
+ };
2896
+ path: {
2897
+ id: string;
2898
+ alias: string;
2899
+ };
2900
+ cookie?: never;
2901
+ };
2902
+ requestBody?: {
2903
+ content: {
2904
+ "application/json": {
2905
+ promotion?: components["schemas"]["AgentDeploymentPromotion"];
2906
+ /** @description Why this deployment happened, recorded on the receipt for humans. Context only: nothing branches on it. */
2907
+ reason?: string;
2908
+ versionId: string;
2909
+ };
2910
+ };
2911
+ };
2912
+ responses: {
2913
+ /** @description Alias activated */
2914
+ 200: {
2915
+ headers: {
2916
+ [name: string]: unknown;
2917
+ };
2918
+ content: {
2919
+ "application/json": {
2920
+ /** @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. */
2921
+ activePreviewCount: number | null;
2922
+ alias: string;
2923
+ /** @description Per-alias secret binding names in force after this activation. Names only, never values. */
2924
+ bindingNames: string[];
2925
+ changed: boolean;
2926
+ /** @description The active-preview ceiling this agent is counted against. Null for `live`. */
2927
+ previewLimit: number | null;
2928
+ receiptId: string;
2929
+ revision: number;
2930
+ versionId: string;
2931
+ versionNumber: number | null;
2932
+ };
2933
+ };
2934
+ };
2935
+ /** @description Invalid request */
2936
+ 400: {
2937
+ headers: {
2938
+ [name: string]: unknown;
2939
+ };
2940
+ content: {
2941
+ "application/json": components["schemas"]["Error"];
2942
+ };
2943
+ };
2944
+ /** @description Unauthorized */
2945
+ 401: {
2946
+ headers: {
2947
+ [name: string]: unknown;
2948
+ };
2949
+ content: {
2950
+ "application/json": components["schemas"]["Error"];
2951
+ };
2952
+ };
2953
+ /** @description Insufficient permissions */
2954
+ 403: {
2955
+ headers: {
2956
+ [name: string]: unknown;
2957
+ };
2958
+ content: {
2959
+ "application/json": components["schemas"]["Error"];
2960
+ };
2961
+ };
2962
+ /** @description Agent or version not found */
2963
+ 404: {
2964
+ headers: {
2965
+ [name: string]: unknown;
2966
+ };
2967
+ content: {
2968
+ "application/json": components["schemas"]["Error"];
2969
+ };
2970
+ };
2971
+ /** @description Idempotency key already used for a different activation */
2972
+ 409: {
2973
+ headers: {
2974
+ [name: string]: unknown;
2975
+ };
2976
+ content: {
2977
+ "application/json": components["schemas"]["Error"] & {
2978
+ /** @enum {string} */
2979
+ code: "idempotency_key_reused";
2980
+ };
2981
+ };
2982
+ };
2983
+ /** @description Alias revision mismatch */
2984
+ 412: {
2985
+ headers: {
2986
+ [name: string]: unknown;
2987
+ };
2988
+ content: {
2989
+ "application/json": components["schemas"]["Error"] & {
2990
+ actual: number | null;
2991
+ /** @enum {string} */
2992
+ code: "alias_revision_mismatch";
2993
+ expected: number;
2994
+ };
2995
+ };
2996
+ };
2997
+ /** @description Version references a dependency that no longer resolves */
2998
+ 422: {
2999
+ headers: {
3000
+ [name: string]: unknown;
3001
+ };
3002
+ content: {
3003
+ "application/json": components["schemas"]["Error"] & {
3004
+ /** @enum {string} */
3005
+ code: "alias_dependency_unresolved";
3006
+ refs: string[];
3007
+ };
3008
+ };
3009
+ };
3010
+ /** @description If-Match required for the live alias */
3011
+ 428: {
3012
+ headers: {
3013
+ [name: string]: unknown;
3014
+ };
3015
+ content: {
3016
+ "application/json": components["schemas"]["Error"];
3017
+ };
3018
+ };
3019
+ /** @description Active preview alias quota exceeded for the organization or the agent */
3020
+ 429: {
3021
+ headers: {
3022
+ [name: string]: unknown;
3023
+ };
3024
+ content: {
3025
+ "application/json": components["schemas"]["PreviewAliasLimitError"];
3026
+ };
3027
+ };
3028
+ /** @description Internal server error */
3029
+ 500: {
3030
+ headers: {
3031
+ [name: string]: unknown;
3032
+ };
3033
+ content: {
3034
+ "application/json": components["schemas"]["Error"];
3035
+ };
3036
+ };
3037
+ };
3038
+ };
3039
+ post?: never;
3040
+ /**
3041
+ * Archive a release alias
3042
+ * @description Archive a preview alias: it stops resolving for new executions, keeps its deployment history, and does not interrupt admitted runs. The row is never deleted, so a later activation revives the same pointer. `live` cannot be archived.
3043
+ */
3044
+ delete: {
3045
+ parameters: {
3046
+ query?: never;
3047
+ header?: {
3048
+ /** @description The alias revision this write expects. Required on a `live` alias that already exists (428 without it) and refused with 412 when the stored revision has moved on. Optional on preview aliases and on the first `live` deployment, which has no revision yet. */
3049
+ "if-match"?: string;
3050
+ /** @description Replay key. Repeating an activation with the same key returns the receipt the first call produced instead of moving the pointer twice. */
3051
+ "idempotency-key"?: string;
3052
+ };
3053
+ path: {
3054
+ id: string;
3055
+ alias: string;
3056
+ };
3057
+ cookie?: never;
3058
+ };
3059
+ requestBody?: never;
3060
+ responses: {
3061
+ /** @description Alias archived */
3062
+ 200: {
3063
+ headers: {
3064
+ [name: string]: unknown;
3065
+ };
3066
+ content: {
3067
+ "application/json": {
3068
+ alias: string;
3069
+ /** @enum {boolean} */
3070
+ archived: true;
3071
+ receiptId: string;
3072
+ revision: number;
3073
+ };
3074
+ };
3075
+ };
3076
+ /** @description Invalid request */
3077
+ 400: {
3078
+ headers: {
3079
+ [name: string]: unknown;
3080
+ };
3081
+ content: {
3082
+ "application/json": components["schemas"]["Error"];
3083
+ };
3084
+ };
3085
+ /** @description Unauthorized */
3086
+ 401: {
3087
+ headers: {
3088
+ [name: string]: unknown;
3089
+ };
3090
+ content: {
3091
+ "application/json": components["schemas"]["Error"];
3092
+ };
3093
+ };
3094
+ /** @description Insufficient permissions */
3095
+ 403: {
3096
+ headers: {
3097
+ [name: string]: unknown;
3098
+ };
3099
+ content: {
3100
+ "application/json": components["schemas"]["Error"];
3101
+ };
3102
+ };
3103
+ /** @description Alias or agent not found */
3104
+ 404: {
3105
+ headers: {
3106
+ [name: string]: unknown;
3107
+ };
3108
+ content: {
3109
+ "application/json": components["schemas"]["Error"] & {
3110
+ agentId: string;
3111
+ alias: string;
3112
+ /** @enum {string} */
3113
+ code: "alias_not_found";
3114
+ };
3115
+ };
3116
+ };
3117
+ /** @description The live alias cannot be archived */
3118
+ 409: {
3119
+ headers: {
3120
+ [name: string]: unknown;
3121
+ };
3122
+ content: {
3123
+ "application/json": components["schemas"]["Error"] & {
3124
+ /** @enum {string} */
3125
+ code: "alias_archive_forbidden";
3126
+ };
3127
+ };
3128
+ };
3129
+ /** @description Alias revision mismatch */
3130
+ 412: {
3131
+ headers: {
3132
+ [name: string]: unknown;
3133
+ };
3134
+ content: {
3135
+ "application/json": components["schemas"]["Error"] & {
3136
+ actual: number | null;
3137
+ /** @enum {string} */
3138
+ code: "alias_revision_mismatch";
3139
+ expected: number;
3140
+ };
3141
+ };
3142
+ };
3143
+ /** @description Internal server error */
3144
+ 500: {
3145
+ headers: {
3146
+ [name: string]: unknown;
3147
+ };
3148
+ content: {
3149
+ "application/json": components["schemas"]["Error"];
3150
+ };
3151
+ };
3152
+ };
3153
+ };
3154
+ options?: never;
3155
+ head?: never;
3156
+ patch?: never;
3157
+ trace?: never;
3158
+ };
3159
+ "/v1/agents/{id}/aliases/{alias}/bindings": {
3160
+ parameters: {
3161
+ query?: never;
3162
+ header?: never;
3163
+ path?: never;
3164
+ cookie?: never;
3165
+ };
3166
+ /**
3167
+ * Read the secret binding names of a release alias
3168
+ * @description The per-alias secret binding NAMES this pointer carries. A binding value is write-only: no read surface returns it, and it never appears on a receipt, an audit envelope or a log line.
3169
+ */
3170
+ get: {
3171
+ parameters: {
3172
+ query?: never;
3173
+ header?: never;
3174
+ path: {
3175
+ id: string;
3176
+ alias: string;
3177
+ };
3178
+ cookie?: never;
3179
+ };
3180
+ requestBody?: never;
3181
+ responses: {
3182
+ /** @description Binding names */
3183
+ 200: {
3184
+ headers: {
3185
+ [name: string]: unknown;
3186
+ };
3187
+ content: {
3188
+ "application/json": {
3189
+ alias: string;
3190
+ /** @description Present on a write: false when the set was already identical and nothing moved. */
3191
+ changed?: boolean;
3192
+ names: string[];
3193
+ /** @description The `bind` receipt this write appended, or null when it changed nothing. */
3194
+ receiptId?: string | null;
3195
+ revision: number;
3196
+ };
3197
+ };
3198
+ };
3199
+ /** @description Invalid request */
3200
+ 400: {
3201
+ headers: {
3202
+ [name: string]: unknown;
3203
+ };
3204
+ content: {
3205
+ "application/json": components["schemas"]["Error"];
3206
+ };
3207
+ };
3208
+ /** @description Unauthorized */
3209
+ 401: {
3210
+ headers: {
3211
+ [name: string]: unknown;
3212
+ };
3213
+ content: {
3214
+ "application/json": components["schemas"]["Error"];
3215
+ };
3216
+ };
3217
+ /** @description Insufficient permissions */
3218
+ 403: {
3219
+ headers: {
3220
+ [name: string]: unknown;
3221
+ };
3222
+ content: {
3223
+ "application/json": components["schemas"]["Error"];
3224
+ };
3225
+ };
3226
+ /** @description Alias or agent not found */
3227
+ 404: {
3228
+ headers: {
3229
+ [name: string]: unknown;
3230
+ };
3231
+ content: {
3232
+ "application/json": components["schemas"]["Error"] & {
3233
+ agentId: string;
3234
+ alias: string;
3235
+ /** @enum {string} */
3236
+ code: "alias_not_found";
3237
+ };
3238
+ };
3239
+ };
3240
+ /** @description Internal server error */
3241
+ 500: {
3242
+ headers: {
3243
+ [name: string]: unknown;
3244
+ };
3245
+ content: {
3246
+ "application/json": components["schemas"]["Error"];
3247
+ };
3248
+ };
3249
+ };
3250
+ };
3251
+ /**
3252
+ * Replace the secret bindings of a release alias
3253
+ * @description Replace the complete set of `{{secret:NAME}}` values executions resolve when they reach this agent through this pointer. A binding wins over the organization secret of the same name, so one preview per pull request can aim its HTTP tools at that pull request environment while the version content stays byte-identical to what `live` runs. Whole-set replacement: a name you stop sending stops resolving. Values are encrypted at rest and never returned. Names beginning RUNTYPE_, PLATFORM_, CLOUDFLARE_ or INTERNAL_ are refused because they are platform-resolved before the alias plane. A change bumps the alias revision and appends a `bind` receipt; an identical set writes nothing. Requires the same deploy scope as activating this alias.
2750
3254
  */
2751
3255
  put: {
2752
3256
  parameters: {
@@ -2766,14 +3270,17 @@ interface paths {
2766
3270
  requestBody?: {
2767
3271
  content: {
2768
3272
  "application/json": {
2769
- /** @description Why this deployment happened, recorded on the receipt for humans. Context only: nothing branches on it. */
3273
+ /** @description The complete binding set, NAME to value. An empty object clears every binding. */
3274
+ bindings: {
3275
+ [key: string]: string;
3276
+ };
3277
+ /** @description Why this binding write happened, recorded on the receipt for humans. */
2770
3278
  reason?: string;
2771
- versionId: string;
2772
3279
  };
2773
3280
  };
2774
3281
  };
2775
3282
  responses: {
2776
- /** @description Alias activated */
3283
+ /** @description Bindings replaced */
2777
3284
  200: {
2778
3285
  headers: {
2779
3286
  [name: string]: unknown;
@@ -2781,21 +3288,25 @@ interface paths {
2781
3288
  content: {
2782
3289
  "application/json": {
2783
3290
  alias: string;
2784
- changed: boolean;
2785
- receiptId: string;
3291
+ /** @description Present on a write: false when the set was already identical and nothing moved. */
3292
+ changed?: boolean;
3293
+ names: string[];
3294
+ /** @description The `bind` receipt this write appended, or null when it changed nothing. */
3295
+ receiptId?: string | null;
2786
3296
  revision: number;
2787
- versionId: string;
2788
- versionNumber: number | null;
2789
3297
  };
2790
3298
  };
2791
3299
  };
2792
- /** @description Invalid request */
3300
+ /** @description Binding name or value rejected */
2793
3301
  400: {
2794
3302
  headers: {
2795
3303
  [name: string]: unknown;
2796
3304
  };
2797
3305
  content: {
2798
- "application/json": components["schemas"]["Error"];
3306
+ "application/json": components["schemas"]["Error"] & {
3307
+ /** @enum {string} */
3308
+ code: "alias_binding_invalid";
3309
+ };
2799
3310
  };
2800
3311
  };
2801
3312
  /** @description Unauthorized */
@@ -2816,24 +3327,17 @@ interface paths {
2816
3327
  "application/json": components["schemas"]["Error"];
2817
3328
  };
2818
3329
  };
2819
- /** @description Agent or version not found */
3330
+ /** @description Alias or agent not found */
2820
3331
  404: {
2821
- headers: {
2822
- [name: string]: unknown;
2823
- };
2824
- content: {
2825
- "application/json": components["schemas"]["Error"];
2826
- };
2827
- };
2828
- /** @description Idempotency key already used for a different activation */
2829
- 409: {
2830
3332
  headers: {
2831
3333
  [name: string]: unknown;
2832
3334
  };
2833
3335
  content: {
2834
3336
  "application/json": components["schemas"]["Error"] & {
3337
+ agentId: string;
3338
+ alias: string;
2835
3339
  /** @enum {string} */
2836
- code: "idempotency_key_reused";
3340
+ code: "alias_not_found";
2837
3341
  };
2838
3342
  };
2839
3343
  };
@@ -2851,19 +3355,6 @@ interface paths {
2851
3355
  };
2852
3356
  };
2853
3357
  };
2854
- /** @description Version references a dependency that no longer resolves */
2855
- 422: {
2856
- headers: {
2857
- [name: string]: unknown;
2858
- };
2859
- content: {
2860
- "application/json": components["schemas"]["Error"] & {
2861
- /** @enum {string} */
2862
- code: "alias_dependency_unresolved";
2863
- refs: string[];
2864
- };
2865
- };
2866
- };
2867
3358
  /** @description If-Match required for the live alias */
2868
3359
  428: {
2869
3360
  headers: {
@@ -2886,8 +3377,8 @@ interface paths {
2886
3377
  };
2887
3378
  post?: never;
2888
3379
  /**
2889
- * Archive a release alias
2890
- * @description Archive a preview alias: it stops resolving for new executions, keeps its deployment history, and does not interrupt admitted runs. The row is never deleted, so a later activation revives the same pointer. `live` cannot be archived.
3380
+ * Clear the secret bindings of a release alias
3381
+ * @description Remove every per-alias secret binding from this pointer, so its executions fall back to the organization secrets. Equivalent to replacing the set with an empty object.
2891
3382
  */
2892
3383
  delete: {
2893
3384
  parameters: {
@@ -2906,7 +3397,7 @@ interface paths {
2906
3397
  };
2907
3398
  requestBody?: never;
2908
3399
  responses: {
2909
- /** @description Alias archived */
3400
+ /** @description Bindings cleared */
2910
3401
  200: {
2911
3402
  headers: {
2912
3403
  [name: string]: unknown;
@@ -2914,9 +3405,11 @@ interface paths {
2914
3405
  content: {
2915
3406
  "application/json": {
2916
3407
  alias: string;
2917
- /** @enum {boolean} */
2918
- archived: true;
2919
- receiptId: string;
3408
+ /** @description Present on a write: false when the set was already identical and nothing moved. */
3409
+ changed?: boolean;
3410
+ names: string[];
3411
+ /** @description The `bind` receipt this write appended, or null when it changed nothing. */
3412
+ receiptId?: string | null;
2920
3413
  revision: number;
2921
3414
  };
2922
3415
  };
@@ -2962,30 +3455,27 @@ interface paths {
2962
3455
  };
2963
3456
  };
2964
3457
  };
2965
- /** @description The live alias cannot be archived */
2966
- 409: {
3458
+ /** @description Alias revision mismatch */
3459
+ 412: {
2967
3460
  headers: {
2968
3461
  [name: string]: unknown;
2969
3462
  };
2970
3463
  content: {
2971
3464
  "application/json": components["schemas"]["Error"] & {
3465
+ actual: number | null;
2972
3466
  /** @enum {string} */
2973
- code: "alias_archive_forbidden";
3467
+ code: "alias_revision_mismatch";
3468
+ expected: number;
2974
3469
  };
2975
3470
  };
2976
3471
  };
2977
- /** @description Alias revision mismatch */
2978
- 412: {
3472
+ /** @description If-Match required for the live alias */
3473
+ 428: {
2979
3474
  headers: {
2980
3475
  [name: string]: unknown;
2981
3476
  };
2982
3477
  content: {
2983
- "application/json": components["schemas"]["Error"] & {
2984
- actual: number | null;
2985
- /** @enum {string} */
2986
- code: "alias_revision_mismatch";
2987
- expected: number;
2988
- };
3478
+ "application/json": components["schemas"]["Error"];
2989
3479
  };
2990
3480
  };
2991
3481
  /** @description Internal server error */
@@ -3049,8 +3539,14 @@ interface paths {
3049
3539
  };
3050
3540
  content: {
3051
3541
  "application/json": {
3542
+ /** @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. */
3543
+ activePreviewCount: number | null;
3052
3544
  alias: string;
3545
+ /** @description Per-alias secret binding names in force after this activation. Names only, never values. */
3546
+ bindingNames: string[];
3053
3547
  changed: boolean;
3548
+ /** @description The active-preview ceiling this agent is counted against. Null for `live`. */
3549
+ previewLimit: number | null;
3054
3550
  receiptId: string;
3055
3551
  revision: number;
3056
3552
  versionId: string;
@@ -3611,6 +4107,10 @@ interface paths {
3611
4107
  actorUserId: string | null;
3612
4108
  alias: string;
3613
4109
  aliasRevision: number;
4110
+ /** @description The per-alias secret binding NAMES in force when this receipt was written, as `{ names: [...] }`. Null when the pointer carried none. Values never appear here. */
4111
+ bindings: {
4112
+ [key: string]: unknown;
4113
+ } | null;
3614
4114
  createdAt: string;
3615
4115
  dependencies: {
3616
4116
  [key: string]: unknown;
@@ -3700,7 +4200,7 @@ interface paths {
3700
4200
  parameters: {
3701
4201
  query?: never;
3702
4202
  header?: {
3703
- /** @description How a durable turn handles overlap. `reject` (default) answers CONVERSATION_BUSY; `supersede` cancels and replaces; `queue` runs afterward; `join` durably appends new user-message deltas to the same execution at a safe boundary, 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. */
4203
+ /** @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. */
3704
4204
  "x-runtype-concurrency"?: "reject" | "supersede" | "queue" | "join";
3705
4205
  /** @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
4206
  "x-runtype-coalesce"?: "true";
@@ -3766,7 +4266,7 @@ interface paths {
3766
4266
  "application/json": components["schemas"]["Error"];
3767
4267
  };
3768
4268
  };
3769
- /** @description Agent not found */
4269
+ /** @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) */
3770
4270
  404: {
3771
4271
  headers: {
3772
4272
  [name: string]: unknown;
@@ -3775,7 +4275,7 @@ interface paths {
3775
4275
  "application/json": components["schemas"]["Error"];
3776
4276
  };
3777
4277
  };
3778
- /** @description Organization model configuration needs configuration */
4278
+ /** @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) */
3779
4279
  409: {
3780
4280
  headers: {
3781
4281
  [name: string]: unknown;
@@ -3790,7 +4290,16 @@ interface paths {
3790
4290
  error: string;
3791
4291
  modelId: string;
3792
4292
  provider: string;
3793
- };
4293
+ } | components["schemas"]["ConversationBusyError"] | components["schemas"]["ConversationModifiedError"];
4294
+ };
4295
+ };
4296
+ /** @description A `history: "stored"` turn could not be stored: the conversation is already at the record payload limit. Nothing ran. */
4297
+ 413: {
4298
+ headers: {
4299
+ [name: string]: unknown;
4300
+ };
4301
+ content: {
4302
+ "application/json": components["schemas"]["Error"];
3794
4303
  };
3795
4304
  };
3796
4305
  /** @description Internal server error */
@@ -4542,7 +5051,7 @@ interface paths {
4542
5051
  };
4543
5052
  /**
4544
5053
  * Export agent for runtime
4545
- * @description Export a fully-resolved, self-contained agent definition that the @runtypelabs/runtime package can consume directly at boot. Capabilities, flows, and nested sub-agents are inlined recursively (up to 3 levels). MCP credential values and external-agent auth credentials are replaced with secret-name references.
5054
+ * @description Export a fully-resolved, self-contained agent definition that the @runtypelabs/runtime package can consume directly at boot. Capabilities, flows, and nested sub-agents are inlined recursively (up to 3 levels). MCP credential values and external-agent auth credentials are replaced with secret-name references. 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.
4546
5055
  *
4547
5056
  * 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 agent'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.
4548
5057
  */
@@ -6730,10 +7239,10 @@ interface paths {
6730
7239
  errorMessage?: string | null;
6731
7240
  estimatedCost?: string | null;
6732
7241
  /**
6733
- * @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).
7242
+ * @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.
6734
7243
  * @enum {string|null}
6735
7244
  */
6736
- executionEngine?: "runtime" | "legacy" | null;
7245
+ executionEngine?: "runtime" | "legacy" | "external" | null;
6737
7246
  executionSessionId: string | null;
6738
7247
  flowId: string | null;
6739
7248
  flowVersionId: string | null;
@@ -8016,7 +8525,7 @@ interface paths {
8016
8525
  "application/json": components["schemas"]["Error"];
8017
8526
  };
8018
8527
  };
8019
- /** @description Referenced flow or agent not found */
8528
+ /** @description Referenced flow or agent not found, or a saved agent with no runnable live version (AGENT_NOT_DEPLOYED) */
8020
8529
  404: {
8021
8530
  headers: {
8022
8531
  [name: string]: unknown;
@@ -9130,7 +9639,7 @@ interface paths {
9130
9639
  "application/json": components["schemas"]["Error"];
9131
9640
  };
9132
9641
  };
9133
- /** @description Referenced flow, agent, or visitor-authorized conversation not found. Conversations outside the visitor scope also answer 404. */
9642
+ /** @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. */
9134
9643
  404: {
9135
9644
  headers: {
9136
9645
  [name: string]: unknown;
@@ -10713,6 +11222,13 @@ interface paths {
10713
11222
  requestBody?: {
10714
11223
  content: {
10715
11224
  "application/json": {
11225
+ /** @description Agent (agent_...) this conversation belongs to, stored as metadata.agentId. Must name an agent the caller owns. */
11226
+ agentId?: string;
11227
+ /**
11228
+ * @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.
11229
+ * @default []
11230
+ */
11231
+ messages?: components["schemas"]["ConversationTranscriptMessage"][];
10716
11232
  /** @default {} */
10717
11233
  metadata?: {
10718
11234
  [key: string]: unknown;
@@ -10720,6 +11236,7 @@ interface paths {
10720
11236
  modelId?: string;
10721
11237
  /** @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. */
10722
11238
  ownerId?: string | null;
11239
+ source?: components["schemas"]["ConversationSource"];
10723
11240
  systemPrompt?: string;
10724
11241
  /** @default New Chat */
10725
11242
  title?: string;
@@ -10727,8 +11244,8 @@ interface paths {
10727
11244
  };
10728
11245
  };
10729
11246
  responses: {
10730
- /** @description Conversation created */
10731
- 201: {
11247
+ /** @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`. */
11248
+ 200: {
10732
11249
  headers: {
10733
11250
  [name: string]: unknown;
10734
11251
  };
@@ -10736,9 +11253,39 @@ interface paths {
10736
11253
  "application/json": {
10737
11254
  createdAt: string;
10738
11255
  id: string;
10739
- messages: {
11256
+ /** @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). */
11257
+ imported?: boolean;
11258
+ messages: components["schemas"]["ConversationTranscriptMessage"][];
11259
+ metadata: {
10740
11260
  [key: string]: unknown;
11261
+ };
11262
+ modelId: string | null;
11263
+ ownerId: string | null;
11264
+ schemaWarnings?: {
11265
+ code: string;
11266
+ field: string;
11267
+ message: string;
10741
11268
  }[];
11269
+ /** @enum {string} */
11270
+ source: "app" | "client_token";
11271
+ systemPrompt: string | null;
11272
+ title: string;
11273
+ updatedAt: string;
11274
+ };
11275
+ };
11276
+ };
11277
+ /** @description Conversation created (`imported: true`) */
11278
+ 201: {
11279
+ headers: {
11280
+ [name: string]: unknown;
11281
+ };
11282
+ content: {
11283
+ "application/json": {
11284
+ createdAt: string;
11285
+ id: string;
11286
+ /** @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). */
11287
+ imported?: boolean;
11288
+ messages: components["schemas"]["ConversationTranscriptMessage"][];
10742
11289
  metadata: {
10743
11290
  [key: string]: unknown;
10744
11291
  };
@@ -10757,14 +11304,16 @@ interface paths {
10757
11304
  };
10758
11305
  };
10759
11306
  };
10760
- /** @description Validation error */
11307
+ /** @description Validation error. `code: CONVERSATION_TRANSCRIPT_INVALID` when `messages` breaks the tool-pairing discipline; `details.issues` lists each offending message index. */
10761
11308
  400: {
10762
11309
  headers: {
10763
11310
  [name: string]: unknown;
10764
11311
  };
10765
11312
  content: {
10766
11313
  "application/json": components["schemas"]["Error"] & {
11314
+ code?: string;
10767
11315
  details?: unknown;
11316
+ message?: string;
10768
11317
  };
10769
11318
  };
10770
11319
  };
@@ -10786,6 +11335,15 @@ interface paths {
10786
11335
  "application/json": components["schemas"]["Error"];
10787
11336
  };
10788
11337
  };
11338
+ /** @description The requested agentId names no agent the caller owns */
11339
+ 404: {
11340
+ headers: {
11341
+ [name: string]: unknown;
11342
+ };
11343
+ content: {
11344
+ "application/json": components["schemas"]["Error"];
11345
+ };
11346
+ };
10789
11347
  /** @description Metadata violates a registered `conversation` collection schema (enforce mode) */
10790
11348
  422: {
10791
11349
  headers: {
@@ -10840,9 +11398,9 @@ interface paths {
10840
11398
  "application/json": {
10841
11399
  createdAt: string;
10842
11400
  id: string;
10843
- messages: {
10844
- [key: string]: unknown;
10845
- }[];
11401
+ /** @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). */
11402
+ imported?: boolean;
11403
+ messages: components["schemas"]["ConversationTranscriptMessage"][];
10846
11404
  metadata: {
10847
11405
  [key: string]: unknown;
10848
11406
  };
@@ -10921,50 +11479,23 @@ interface paths {
10921
11479
  requestBody?: {
10922
11480
  content: {
10923
11481
  "application/json": {
10924
- messages?: {
10925
- content: string | (({
10926
- text: string;
10927
- /** @enum {string} */
10928
- type: "text";
10929
- } & {
10930
- [key: string]: unknown;
10931
- }) | ({
10932
- image: string;
10933
- mimeType?: string;
10934
- /** @enum {string} */
10935
- type: "image";
10936
- } & {
10937
- [key: string]: unknown;
10938
- }) | ({
10939
- data: string;
10940
- filename: string;
10941
- mimeType: string;
10942
- /** @enum {string} */
10943
- type: "file";
10944
- } & {
10945
- [key: string]: unknown;
10946
- }) | {
10947
- assetId: string;
10948
- filename?: string;
10949
- mimeType: string;
10950
- orgKey: string;
10951
- /** @enum {string} */
10952
- refKind: "image" | "file";
10953
- sizeBytes: number;
10954
- /** @enum {string} */
10955
- type: "asset_ref";
10956
- })[];
10957
- createdAt?: string;
10958
- id: string;
10959
- /** @enum {string} */
10960
- role: "user" | "assistant" | "system";
10961
- }[];
11482
+ /** @description Null clears metadata.agentId; omit to leave it unchanged. */
11483
+ agentId?: string | null;
11484
+ /** @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. */
11485
+ messages?: components["schemas"]["ConversationTranscriptMessage"][];
11486
+ /**
11487
+ * @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.
11488
+ * @default replace
11489
+ * @enum {string}
11490
+ */
11491
+ messagesMode?: "replace" | "append";
10962
11492
  metadata?: {
10963
11493
  [key: string]: unknown;
10964
11494
  };
10965
11495
  modelId?: string;
10966
11496
  /** @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. */
10967
11497
  ownerId?: string | null;
11498
+ source?: components["schemas"]["ConversationSource"];
10968
11499
  systemPrompt?: string;
10969
11500
  title?: string;
10970
11501
  };
@@ -10980,9 +11511,9 @@ interface paths {
10980
11511
  "application/json": {
10981
11512
  createdAt: string;
10982
11513
  id: string;
10983
- messages: {
10984
- [key: string]: unknown;
10985
- }[];
11514
+ /** @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). */
11515
+ imported?: boolean;
11516
+ messages: components["schemas"]["ConversationTranscriptMessage"][];
10986
11517
  metadata: {
10987
11518
  [key: string]: unknown;
10988
11519
  };
@@ -11001,14 +11532,16 @@ interface paths {
11001
11532
  };
11002
11533
  };
11003
11534
  };
11004
- /** @description Validation error */
11535
+ /** @description Validation error. `code: CONVERSATION_TRANSCRIPT_INVALID` when `messages` breaks the tool-pairing discipline; `details.issues` lists each offending message index. */
11005
11536
  400: {
11006
11537
  headers: {
11007
11538
  [name: string]: unknown;
11008
11539
  };
11009
11540
  content: {
11010
11541
  "application/json": components["schemas"]["Error"] & {
11542
+ code?: string;
11011
11543
  details?: unknown;
11544
+ message?: string;
11012
11545
  };
11013
11546
  };
11014
11547
  };
@@ -11039,6 +11572,15 @@ interface paths {
11039
11572
  "application/json": components["schemas"]["Error"];
11040
11573
  };
11041
11574
  };
11575
+ /** @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. */
11576
+ 409: {
11577
+ headers: {
11578
+ [name: string]: unknown;
11579
+ };
11580
+ content: {
11581
+ "application/json": components["schemas"]["ConversationModifiedError"];
11582
+ };
11583
+ };
11042
11584
  /** @description Metadata violates a registered `conversation` collection schema (enforce mode) */
11043
11585
  422: {
11044
11586
  headers: {
@@ -12458,6 +13000,11 @@ interface paths {
12458
13000
  name?: string;
12459
13001
  steps?: unknown[];
12460
13002
  };
13003
+ /**
13004
+ * @description Where this turn's prior history comes from. "inline" (the default, and today's behavior) replays exactly the `messages` sent here. "stored" replays the transcript saved on the `conversationId` conversation, treats `messages` as the new delta, and appends both the delta and the settled assistant turn back onto it; it requires a saved `agent.agentId` and a `conversationId`, and is refused for a flow dispatch, an inline or `claude_managed` agent, `Prefer: respond-async`, a join, or a resume.
13005
+ * @enum {string}
13006
+ */
13007
+ history?: "inline" | "stored";
12461
13008
  /** @description Customer-native auth proof for the Identity Exchange. When present and the surface has a matching integration, the verified tenant/end-user replace any body-asserted tenant/endUser (which are never trusted for web-embedded callers). When Identity Exchange admission is disabled for the caller, the proof is accepted but ignored and confers no trust. */
12462
13009
  identityProof?: {
12463
13010
  provider: string;
@@ -12466,7 +13013,7 @@ interface paths {
12466
13013
  inputs?: {
12467
13014
  [key: string]: unknown;
12468
13015
  };
12469
- /** @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. */
13016
+ /** @description Conversation history for this turn, or with `history: "stored"` only the new delta. 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. A `tool` message must carry `toolResults` answering an assistant `toolCalls` entry issued earlier in the array. */
12470
13017
  messages?: {
12471
13018
  content: string | ({
12472
13019
  text: string;
@@ -12492,7 +13039,30 @@ interface paths {
12492
13039
  type: "reasoning";
12493
13040
  })[];
12494
13041
  /** @enum {string} */
12495
- role: "system" | "user" | "assistant";
13042
+ role: "system" | "user" | "assistant" | "tool";
13043
+ /** @description Assistant messages only. Every entry must be answered by the next tool message. */
13044
+ toolCalls?: {
13045
+ /** @default {} */
13046
+ args?: {
13047
+ [key: string]: unknown;
13048
+ };
13049
+ providerOptions?: {
13050
+ [key: string]: unknown;
13051
+ };
13052
+ toolCallId: string;
13053
+ toolName: string;
13054
+ }[];
13055
+ /** @description Tool messages only, and required on them. */
13056
+ toolResults?: {
13057
+ providerOptions?: {
13058
+ [key: string]: unknown;
13059
+ };
13060
+ /** @description Whatever the tool returned. */
13061
+ result?: unknown;
13062
+ /** @description Must answer a toolCalls entry issued earlier. */
13063
+ toolCallId: string;
13064
+ toolName: string;
13065
+ }[];
12496
13066
  }[];
12497
13067
  /**
12498
13068
  * @default {
@@ -12878,6 +13448,11 @@ interface paths {
12878
13448
  name?: string;
12879
13449
  steps?: unknown[];
12880
13450
  };
13451
+ /**
13452
+ * @description Where this turn's prior history comes from. "inline" (the default, and today's behavior) replays exactly the `messages` sent here. "stored" replays the transcript saved on the `conversationId` conversation, treats `messages` as the new delta, and appends both the delta and the settled assistant turn back onto it; it requires a saved `agent.agentId` and a `conversationId`, and is refused for a flow dispatch, an inline or `claude_managed` agent, `Prefer: respond-async`, a join, or a resume.
13453
+ * @enum {string}
13454
+ */
13455
+ history?: "inline" | "stored";
12881
13456
  /** @description Customer-native auth proof for the Identity Exchange. When present and the surface has a matching integration, the verified tenant/end-user replace any body-asserted tenant/endUser (which are never trusted for web-embedded callers). When Identity Exchange admission is disabled for the caller, the proof is accepted but ignored and confers no trust. */
12882
13457
  identityProof?: {
12883
13458
  provider: string;
@@ -12886,7 +13461,7 @@ interface paths {
12886
13461
  inputs?: {
12887
13462
  [key: string]: unknown;
12888
13463
  };
12889
- /** @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. */
13464
+ /** @description Conversation history for this turn, or with `history: "stored"` only the new delta. 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. A `tool` message must carry `toolResults` answering an assistant `toolCalls` entry issued earlier in the array. */
12890
13465
  messages?: {
12891
13466
  content: string | ({
12892
13467
  text: string;
@@ -12912,7 +13487,30 @@ interface paths {
12912
13487
  type: "reasoning";
12913
13488
  })[];
12914
13489
  /** @enum {string} */
12915
- role: "system" | "user" | "assistant";
13490
+ role: "system" | "user" | "assistant" | "tool";
13491
+ /** @description Assistant messages only. Every entry must be answered by the next tool message. */
13492
+ toolCalls?: {
13493
+ /** @default {} */
13494
+ args?: {
13495
+ [key: string]: unknown;
13496
+ };
13497
+ providerOptions?: {
13498
+ [key: string]: unknown;
13499
+ };
13500
+ toolCallId: string;
13501
+ toolName: string;
13502
+ }[];
13503
+ /** @description Tool messages only, and required on them. */
13504
+ toolResults?: {
13505
+ providerOptions?: {
13506
+ [key: string]: unknown;
13507
+ };
13508
+ /** @description Whatever the tool returned. */
13509
+ result?: unknown;
13510
+ /** @description Must answer a toolCalls entry issued earlier. */
13511
+ toolCallId: string;
13512
+ toolName: string;
13513
+ }[];
12916
13514
  }[];
12917
13515
  /**
12918
13516
  * @default {
@@ -13069,7 +13667,7 @@ interface paths {
13069
13667
  "application/json": components["schemas"]["Error"];
13070
13668
  };
13071
13669
  };
13072
- /** @description Saved flow not found (FLOW_NOT_FOUND) */
13670
+ /** @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) */
13073
13671
  404: {
13074
13672
  headers: {
13075
13673
  [name: string]: unknown;
@@ -13078,6 +13676,15 @@ interface paths {
13078
13676
  "application/json": components["schemas"]["Error"];
13079
13677
  };
13080
13678
  };
13679
+ /** @description The durable conversation is busy (CONVERSATION_BUSY names the occupant execution and its phase; honor Retry-After or send x-runtype-concurrency: join) */
13680
+ 409: {
13681
+ headers: {
13682
+ [name: string]: unknown;
13683
+ };
13684
+ content: {
13685
+ "application/json": components["schemas"]["ConversationBusyError"];
13686
+ };
13687
+ };
13081
13688
  /** @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`) */
13082
13689
  422: {
13083
13690
  headers: {
@@ -17123,7 +17730,7 @@ interface paths {
17123
17730
  "application/json": components["schemas"]["Error"];
17124
17731
  };
17125
17732
  };
17126
- /** @description Not found */
17733
+ /** @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) */
17127
17734
  404: {
17128
17735
  headers: {
17129
17736
  [name: string]: unknown;
@@ -17214,10 +17821,10 @@ interface paths {
17214
17821
  errorStack: string | null;
17215
17822
  executedAt: string;
17216
17823
  /**
17217
- * @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).
17824
+ * @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.
17218
17825
  * @enum {string|null}
17219
17826
  */
17220
- executionEngine?: "runtime" | "legacy" | null;
17827
+ executionEngine?: "runtime" | "legacy" | "external" | null;
17221
17828
  executionSessionId: string | null;
17222
17829
  inputVariables?: unknown;
17223
17830
  messageHistory: unknown[] | null;
@@ -19727,10 +20334,10 @@ interface paths {
19727
20334
  errorMessage?: string | null;
19728
20335
  estimatedCost?: string | null;
19729
20336
  /**
19730
- * @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).
20337
+ * @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.
19731
20338
  * @enum {string|null}
19732
20339
  */
19733
- executionEngine?: "runtime" | "legacy" | null;
20340
+ executionEngine?: "runtime" | "legacy" | "external" | null;
19734
20341
  executionSessionId: string | null;
19735
20342
  flowId: string | null;
19736
20343
  flowVersionId: string | null;
@@ -24433,7 +25040,7 @@ interface paths {
24433
25040
  content: {
24434
25041
  "application/json": {
24435
25042
  data: {
24436
- /** @description True when historical (R2 SQL) logs were unavailable and only recent hot-tier entries are included. Absent on healthy responses. */
25043
+ /** @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. */
24437
25044
  degraded?: boolean;
24438
25045
  entries: {
24439
25046
  [key: string]: unknown;
@@ -24626,7 +25233,7 @@ interface paths {
24626
25233
  byType: {
24627
25234
  [key: string]: number;
24628
25235
  };
24629
- /** @description True when historical (R2 SQL) counts were unavailable and stats cover only the recent hot-tier window. Absent on healthy responses. */
25236
+ /** @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. */
24630
25237
  degraded?: boolean;
24631
25238
  histogram: {
24632
25239
  bucket: string;
@@ -27121,6 +27728,11 @@ interface paths {
27121
27728
  inputCostPer1kTokens: number;
27122
27729
  /** @default 4096 */
27123
27730
  maxOutputTokens?: number;
27731
+ /**
27732
+ * @description Where a system message that follows a conversation turn lands on this endpoint. Omitted keeps it at its position (Mistral- and Gemma-family ids fold it into the leading prompt); "hoist" folds it for any endpoint whose chat template rejects a non-leading system role.
27733
+ * @enum {string}
27734
+ */
27735
+ midConversationSystemMessages?: "preserve" | "hoist";
27124
27736
  outputCostPer1kTokens: number;
27125
27737
  reasoning?: {
27126
27738
  defaultEffort?: string;
@@ -27787,6 +28399,11 @@ interface paths {
27787
28399
  inputCostPer1kTokens: number;
27788
28400
  /** @default 4096 */
27789
28401
  maxOutputTokens?: number;
28402
+ /**
28403
+ * @description Where a system message that follows a conversation turn lands on this endpoint. Omitted keeps it at its position (Mistral- and Gemma-family ids fold it into the leading prompt); "hoist" folds it for any endpoint whose chat template rejects a non-leading system role.
28404
+ * @enum {string}
28405
+ */
28406
+ midConversationSystemMessages?: "preserve" | "hoist";
27790
28407
  outputCostPer1kTokens: number;
27791
28408
  reasoning?: {
27792
28409
  defaultEffort?: string;
@@ -29692,14 +30309,103 @@ interface paths {
29692
30309
  };
29693
30310
  };
29694
30311
  };
29695
- post?: never;
30312
+ post?: never;
30313
+ /**
30314
+ * Delete product
30315
+ * @description Delete a product (cascades to capabilities, surfaces, items, keys). Optionally cleans up associated flows/agents via cleanupFlowIds/cleanupAgentIds in the request body.
30316
+ */
30317
+ delete: {
30318
+ parameters: {
30319
+ query?: never;
30320
+ header?: never;
30321
+ path: {
30322
+ id: string;
30323
+ };
30324
+ cookie?: never;
30325
+ };
30326
+ requestBody?: never;
30327
+ responses: {
30328
+ /** @description Product deleted */
30329
+ 200: {
30330
+ headers: {
30331
+ [name: string]: unknown;
30332
+ };
30333
+ content: {
30334
+ "application/json": {
30335
+ success: boolean;
30336
+ warning?: string;
30337
+ };
30338
+ };
30339
+ };
30340
+ /** @description Invalid product ID */
30341
+ 400: {
30342
+ headers: {
30343
+ [name: string]: unknown;
30344
+ };
30345
+ content: {
30346
+ "application/json": components["schemas"]["Error"];
30347
+ };
30348
+ };
30349
+ /** @description Unauthorized */
30350
+ 401: {
30351
+ headers: {
30352
+ [name: string]: unknown;
30353
+ };
30354
+ content: {
30355
+ "application/json": components["schemas"]["Error"];
30356
+ };
30357
+ };
30358
+ /** @description Insufficient permissions */
30359
+ 403: {
30360
+ headers: {
30361
+ [name: string]: unknown;
30362
+ };
30363
+ content: {
30364
+ "application/json": components["schemas"]["Error"];
30365
+ };
30366
+ };
30367
+ /** @description Product not found */
30368
+ 404: {
30369
+ headers: {
30370
+ [name: string]: unknown;
30371
+ };
30372
+ content: {
30373
+ "application/json": components["schemas"]["Error"];
30374
+ };
30375
+ };
30376
+ /** @description Internal server error */
30377
+ 500: {
30378
+ headers: {
30379
+ [name: string]: unknown;
30380
+ };
30381
+ content: {
30382
+ "application/json": components["schemas"]["Error"];
30383
+ };
30384
+ };
30385
+ };
30386
+ };
30387
+ options?: never;
30388
+ head?: never;
30389
+ patch?: never;
30390
+ trace?: never;
30391
+ };
30392
+ "/v1/products/{id}/activity": {
30393
+ parameters: {
30394
+ query?: never;
30395
+ header?: never;
30396
+ path?: never;
30397
+ cookie?: never;
30398
+ };
29696
30399
  /**
29697
- * Delete product
29698
- * @description Delete a product (cascades to capabilities, surfaces, items, keys). Optionally cleans up associated flows/agents via cleanupFlowIds/cleanupAgentIds in the request body.
30400
+ * Get product activity
30401
+ * @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.
29699
30402
  */
29700
- delete: {
30403
+ get: {
29701
30404
  parameters: {
29702
- query?: never;
30405
+ query?: {
30406
+ /** @description Rows per source. Defaults to 50, clamped to 100. */
30407
+ limit?: string;
30408
+ };
29703
30409
  header?: never;
29704
30410
  path: {
29705
30411
  id: string;
@@ -29708,15 +30414,141 @@ interface paths {
29708
30414
  };
29709
30415
  requestBody?: never;
29710
30416
  responses: {
29711
- /** @description Product deleted */
30417
+ /** @description Per-source first pages */
29712
30418
  200: {
29713
30419
  headers: {
29714
30420
  [name: string]: unknown;
29715
30421
  };
29716
30422
  content: {
29717
30423
  "application/json": {
29718
- success: boolean;
29719
- warning?: string;
30424
+ data: {
30425
+ agents: {
30426
+ agentId: string;
30427
+ data: {
30428
+ agentId: string | null;
30429
+ agentSource: string | null;
30430
+ agentSpec?: unknown;
30431
+ /**
30432
+ * @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.
30433
+ * @enum {string}
30434
+ */
30435
+ agentTargetResolution: "alias" | "version" | "legacy-live-row";
30436
+ /** @description Version number and label for `agentVersionId`, joined from `agent_versions`. `null` exactly when `agentVersionId` is `null`. */
30437
+ agentVersion: {
30438
+ id: string;
30439
+ label: string | null;
30440
+ versionNumber: number;
30441
+ } | null;
30442
+ /** @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. */
30443
+ agentVersionId: string | null;
30444
+ /** @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`. */
30445
+ budgetExhausted: boolean | null;
30446
+ cancelRequestedAt: string | null;
30447
+ completedAt: string | null;
30448
+ /** @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. */
30449
+ conversationId: string | null;
30450
+ createdAt: string;
30451
+ executionId: string;
30452
+ /** @enum {string} */
30453
+ executionMode: "attached" | "detached";
30454
+ expiresAt: string | null;
30455
+ /** @description The run's final output. Present by default; omitted when `view=compact`. */
30456
+ finalOutput?: unknown;
30457
+ id: string;
30458
+ inputMessages?: unknown;
30459
+ iterations: number | null;
30460
+ lastHeartbeatAt: string | null;
30461
+ /** @enum {string} */
30462
+ notificationMode: "none" | "narrate" | "react";
30463
+ parentAgentId: string | null;
30464
+ parentConversationId: string | null;
30465
+ parentExecutionId: string | null;
30466
+ parentToolCallId: string | null;
30467
+ pendingApproval: {
30468
+ approvalId: string;
30469
+ description?: string;
30470
+ parameters?: unknown;
30471
+ reason?: string;
30472
+ requestedAt: string;
30473
+ timeout?: number;
30474
+ toolCallId: string;
30475
+ toolName: string;
30476
+ toolType: string;
30477
+ } | null;
30478
+ progress?: unknown;
30479
+ retryOfExecutionId: string | null;
30480
+ rootExecutionId: string | null;
30481
+ startedAt: string | null;
30482
+ /** @enum {string} */
30483
+ status: "queued" | "running" | "paused" | "completed" | "failed" | "cancelled" | "interrupted";
30484
+ stopReason: string | null;
30485
+ surfaceType: string | null;
30486
+ totalCost: string | null;
30487
+ totalTokens?: unknown;
30488
+ }[];
30489
+ error?: {
30490
+ message: string;
30491
+ };
30492
+ pagination: components["schemas"]["Pagination"];
30493
+ }[];
30494
+ surfaces: {
30495
+ data: (({
30496
+ agentMode: string;
30497
+ createdAt: string;
30498
+ externalParticipantId: string | null;
30499
+ externalThreadId: string | null;
30500
+ id: string;
30501
+ lastMessageAt: string | null;
30502
+ messageCount: number;
30503
+ participantEmail: string | null;
30504
+ participantName: string | null;
30505
+ status: string;
30506
+ subject: string | null;
30507
+ surfaceId: string;
30508
+ takeoverActorId: string | null;
30509
+ takeoverActorType: string | null;
30510
+ takeoverAt: string | null;
30511
+ takeoverReason: string | null;
30512
+ timezone: string | null;
30513
+ updatedAt: string;
30514
+ } & {
30515
+ [key: string]: unknown;
30516
+ }) | {
30517
+ availableFields?: string[];
30518
+ createdAt: string;
30519
+ id: string;
30520
+ messages: unknown[] | null;
30521
+ metadata: {
30522
+ [key: string]: unknown;
30523
+ };
30524
+ metadataLabels?: {
30525
+ [key: string]: string;
30526
+ };
30527
+ metadataSchema?: {
30528
+ keys: string[];
30529
+ } & {
30530
+ [key: string]: unknown;
30531
+ };
30532
+ name: string;
30533
+ organizationId: string | null;
30534
+ ownerId: string | null;
30535
+ productSurfaceId: string | null;
30536
+ schemaValid: boolean | null;
30537
+ type: string;
30538
+ updatedAt: string;
30539
+ userId: string;
30540
+ })[];
30541
+ error?: {
30542
+ message: string;
30543
+ };
30544
+ pagination: components["schemas"]["Pagination"];
30545
+ /** @enum {string} */
30546
+ source: "messaging" | "client_conversation";
30547
+ surfaceId: string;
30548
+ }[];
30549
+ };
30550
+ /** @enum {boolean} */
30551
+ success: true;
29720
30552
  };
29721
30553
  };
29722
30554
  };
@@ -29738,15 +30570,6 @@ interface paths {
29738
30570
  "application/json": components["schemas"]["Error"];
29739
30571
  };
29740
30572
  };
29741
- /** @description Insufficient permissions */
29742
- 403: {
29743
- headers: {
29744
- [name: string]: unknown;
29745
- };
29746
- content: {
29747
- "application/json": components["schemas"]["Error"];
29748
- };
29749
- };
29750
30573
  /** @description Product not found */
29751
30574
  404: {
29752
30575
  headers: {
@@ -29767,6 +30590,9 @@ interface paths {
29767
30590
  };
29768
30591
  };
29769
30592
  };
30593
+ put?: never;
30594
+ post?: never;
30595
+ delete?: never;
29770
30596
  options?: never;
29771
30597
  head?: never;
29772
30598
  patch?: never;
@@ -35954,6 +36780,11 @@ interface paths {
35954
36780
  id: string;
35955
36781
  inputCostPer1kTokens?: number;
35956
36782
  maxOutputTokens?: number;
36783
+ /**
36784
+ * @description Where a system message that follows a conversation turn lands on this endpoint. Omitted keeps it at its position (Mistral- and Gemma-family ids fold it into the leading prompt); "hoist" folds it for any endpoint whose chat template rejects a non-leading system role.
36785
+ * @enum {string}
36786
+ */
36787
+ midConversationSystemMessages?: "preserve" | "hoist";
35957
36788
  outputCostPer1kTokens?: number;
35958
36789
  reasoning?: {
35959
36790
  defaultEffort?: string;
@@ -38388,10 +39219,10 @@ interface paths {
38388
39219
  */
38389
39220
  estimatedCost: string | null;
38390
39221
  /**
38391
- * @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).
39222
+ * @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.
38392
39223
  * @enum {string|null}
38393
39224
  */
38394
- executionEngine?: "runtime" | "legacy" | null;
39225
+ executionEngine?: "runtime" | "legacy" | "external" | null;
38395
39226
  executionTimeMs: number | null;
38396
39227
  flowId: string | null;
38397
39228
  flowName: string | null;
@@ -38599,10 +39430,10 @@ interface paths {
38599
39430
  errorMessage?: string | null;
38600
39431
  estimatedCost?: string | null;
38601
39432
  /**
38602
- * @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).
39433
+ * @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.
38603
39434
  * @enum {string|null}
38604
39435
  */
38605
- executionEngine?: "runtime" | "legacy" | null;
39436
+ executionEngine?: "runtime" | "legacy" | "external" | null;
38606
39437
  executionSessionId: string | null;
38607
39438
  flowId: string | null;
38608
39439
  flowVersionId: string | null;
@@ -40656,10 +41487,10 @@ interface paths {
40656
41487
  error: string | null;
40657
41488
  executedAt: string | null;
40658
41489
  /**
40659
- * @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).
41490
+ * @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.
40660
41491
  * @enum {string|null}
40661
41492
  */
40662
- executionEngine?: "runtime" | "legacy" | null;
41493
+ executionEngine?: "runtime" | "legacy" | "external" | null;
40663
41494
  failedAt: string | null;
40664
41495
  failedStepCount: number | null;
40665
41496
  flowId: string | null;
@@ -40848,10 +41679,10 @@ interface paths {
40848
41679
  error: string | null;
40849
41680
  executedAt: string | null;
40850
41681
  /**
40851
- * @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).
41682
+ * @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.
40852
41683
  * @enum {string|null}
40853
41684
  */
40854
- executionEngine?: "runtime" | "legacy" | null;
41685
+ executionEngine?: "runtime" | "legacy" | "external" | null;
40855
41686
  failedAt: string | null;
40856
41687
  failedStepCount: number | null;
40857
41688
  flowId: string | null;
@@ -46961,6 +47792,13 @@ interface components {
46961
47792
  /** @default true */
46962
47793
  streamResponse: boolean;
46963
47794
  };
47795
+ /** @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. */
47796
+ AgentDeploymentPromotion: {
47797
+ sourceAgentId?: string;
47798
+ sourceCommit?: string;
47799
+ sourceContentHash?: string;
47800
+ sourceVersionId?: string;
47801
+ };
46964
47802
  AgentDetachedApprovalJsonResponse: {
46965
47803
  approvalId: string;
46966
47804
  executionId: string;
@@ -46986,6 +47824,10 @@ interface components {
46986
47824
  /** @description Atomically save this definition and activate it at a release alias. Use { alias: "live" } to deploy to production, or any name matching ^[a-z0-9][a-z0-9-]{0,62}$ for a preview pointer. A non-live alias appends a candidate version and moves that one pointer: it never writes the agent row, its config hash, its capabilities, its draft pointer or its live pointer, so onConflict and expectedRemoteHash describe writes it never performs and are rejected with a 400 alongside it. A release alias is organization-owned, so a non-live deploy on a personal-scope agent is a 400 with code alias_requires_organization. Mutually exclusive with release. */
46987
47825
  AgentEnsureDeployTarget: {
46988
47826
  alias: string;
47827
+ /** @description The complete set of `{{secret:NAME}}` values executions resolve when they reach this agent through this pointer, ahead of the organization secret of the same name. One preview per pull request can aim its HTTP tools at that pull request environment while the version content stays byte-identical to what `live` runs. Whole-set replacement: a name you stop sending stops resolving, and an empty object clears them. Values are encrypted at rest and never returned; only their names appear on the deployment receipt. */
47828
+ bindings?: {
47829
+ [key: string]: string;
47830
+ };
46989
47831
  };
46990
47832
  /** @description Present when the converge carried release or deploy and the activation was applied. */
46991
47833
  AgentEnsureDeployment: {
@@ -47009,6 +47851,20 @@ interface components {
47009
47851
  contentHash: string;
47010
47852
  error: string;
47011
47853
  };
47854
+ AgentEnsurePreviewAliasLimit: {
47855
+ active: number;
47856
+ /** @enum {string} */
47857
+ code: "PREVIEW_ALIAS_LIMIT";
47858
+ error: string;
47859
+ limit: number;
47860
+ /** @description The same remediation sentence as `error`. */
47861
+ message: string;
47862
+ /**
47863
+ * @description Which population was already at its active-preview limit.
47864
+ * @enum {string}
47865
+ */
47866
+ scope: "organization" | "agent";
47867
+ };
47012
47868
  AgentEnsureResponse: {
47013
47869
  agentId: string;
47014
47870
  /** @description Server-computed canonical content hash. Clients should echo this hash in probes. */
@@ -47447,11 +48303,127 @@ interface components {
47447
48303
  ClientInputDeliveryReceipt: {
47448
48304
  deliveryId: string;
47449
48305
  executionId: string;
48306
+ initial: boolean;
47450
48307
  outcome?: string;
47451
48308
  sequence: number;
47452
48309
  /** @enum {string} */
47453
48310
  status: "pending" | "applied" | "settled" | "not_applied";
47454
48311
  };
48312
+ ConversationBusyError: {
48313
+ /** @enum {string} */
48314
+ code: "CONVERSATION_BUSY";
48315
+ error: string;
48316
+ /** @description The execution holding the conversation slot. Poll /v1/executions/{executionId}/status, or send x-runtype-concurrency: join to attach to it. */
48317
+ executionId?: string;
48318
+ /**
48319
+ * @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).
48320
+ * @enum {string}
48321
+ */
48322
+ phase?: "claiming" | "running" | "paused" | "queued";
48323
+ };
48324
+ /** @description Who wrote this message in the source system. Stored and returned, never replayed. */
48325
+ ConversationMessageAuthor: {
48326
+ /** @description The author id in the source system. */
48327
+ externalId?: string;
48328
+ /** @description The author id in Runtype, when there is one. */
48329
+ id?: string;
48330
+ name?: string;
48331
+ /** @enum {string} */
48332
+ type: "end_user" | "operator" | "agent" | "system";
48333
+ };
48334
+ ConversationModifiedError: components["schemas"]["Error"] & {
48335
+ /**
48336
+ * @description The stored transcript changed between the read and the write; re-read and retry.
48337
+ * @enum {string}
48338
+ */
48339
+ code: "CONVERSATION_MODIFIED";
48340
+ };
48341
+ /** @description Import provenance, stored as metadata.importSource. */
48342
+ ConversationSource: {
48343
+ /** @description The conversation id in the source system. Re-creating with the same system and externalId returns the existing conversation with imported: false instead of a duplicate. */
48344
+ externalId?: string;
48345
+ /** Format: date-time */
48346
+ importedAt?: string;
48347
+ /** @description The system the transcript came from, for example "intercom" or "custom". */
48348
+ system: string;
48349
+ };
48350
+ ConversationTranscriptMessage: {
48351
+ author?: components["schemas"]["ConversationMessageAuthor"];
48352
+ /** @description Plain string, or an array of {type:"text"|"image"|"file"|"reasoning"|"asset_ref"} parts. */
48353
+ content: string | (({
48354
+ text: string;
48355
+ /** @enum {string} */
48356
+ type: "text";
48357
+ } & {
48358
+ [key: string]: unknown;
48359
+ }) | ({
48360
+ image: string;
48361
+ mimeType?: string;
48362
+ /** @enum {string} */
48363
+ type: "image";
48364
+ } & {
48365
+ [key: string]: unknown;
48366
+ }) | ({
48367
+ data: string;
48368
+ filename: string;
48369
+ mimeType: string;
48370
+ /** @enum {string} */
48371
+ type: "file";
48372
+ } & {
48373
+ [key: string]: unknown;
48374
+ }) | ({
48375
+ providerOptions?: {
48376
+ [key: string]: unknown;
48377
+ };
48378
+ text: string;
48379
+ /** @enum {string} */
48380
+ type: "reasoning";
48381
+ } & {
48382
+ [key: string]: unknown;
48383
+ }) | {
48384
+ assetId: string;
48385
+ filename?: string;
48386
+ mimeType: string;
48387
+ orgKey: string;
48388
+ /** @enum {string} */
48389
+ refKind: "image" | "file";
48390
+ sizeBytes: number;
48391
+ /** @enum {string} */
48392
+ type: "asset_ref";
48393
+ })[];
48394
+ /** @description ISO 8601 when Runtype mints it; any string is accepted on import. */
48395
+ createdAt?: string;
48396
+ /** @description Minted when omitted. Use the source system id to make an import resumable. */
48397
+ id?: string;
48398
+ metadata?: {
48399
+ [key: string]: unknown;
48400
+ };
48401
+ /** @enum {string} */
48402
+ role: "system" | "user" | "assistant" | "tool";
48403
+ /** @description Assistant messages only. Every entry must be answered by the next tool message. */
48404
+ toolCalls?: {
48405
+ /** @default {} */
48406
+ args: {
48407
+ [key: string]: unknown;
48408
+ };
48409
+ providerOptions?: {
48410
+ [key: string]: unknown;
48411
+ };
48412
+ toolCallId: string;
48413
+ toolName: string;
48414
+ }[];
48415
+ /** @description Tool messages only, and required on them. */
48416
+ toolResults?: {
48417
+ providerOptions?: {
48418
+ [key: string]: unknown;
48419
+ };
48420
+ /** @description Whatever the tool returned. */
48421
+ result?: unknown;
48422
+ /** @description Must answer a toolCalls entry issued earlier. */
48423
+ toolCallId: string;
48424
+ toolName: string;
48425
+ }[];
48426
+ };
47455
48427
  DailyUsageResponse: {
47456
48428
  daily?: {
47457
48429
  atSpendLimit: boolean;
@@ -47943,10 +48915,10 @@ interface components {
47943
48915
  /** @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. */
47944
48916
  error: string | null;
47945
48917
  /**
47946
- * @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).
48918
+ * @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.
47947
48919
  * @enum {string|null}
47948
48920
  */
47949
- executionEngine?: "runtime" | "legacy" | null;
48921
+ executionEngine?: "runtime" | "legacy" | "external" | null;
47950
48922
  name: string;
47951
48923
  /** @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. */
47952
48924
  nextStepToolCalls: {
@@ -48801,6 +49773,7 @@ interface components {
48801
49773
  InputDeliveryReceipt: {
48802
49774
  deliveryId: string;
48803
49775
  executionId: string;
49776
+ initial: boolean;
48804
49777
  outcome?: string;
48805
49778
  sequence: number;
48806
49779
  /** @enum {string} */
@@ -48864,6 +49837,15 @@ interface components {
48864
49837
  totalCount?: number;
48865
49838
  totalPages?: number;
48866
49839
  };
49840
+ PreviewAliasLimitError: components["schemas"]["Error"] & {
49841
+ active: number;
49842
+ /** @enum {string} */
49843
+ code: "PREVIEW_ALIAS_LIMIT";
49844
+ limit: number;
49845
+ message: string;
49846
+ /** @enum {string} */
49847
+ scope: "organization" | "agent";
49848
+ };
48867
49849
  ProductEnsureConflict: {
48868
49850
  /** @enum {string} */
48869
49851
  code: "external_modification" | "remote_changed";
@@ -49538,6 +50520,31 @@ type AgentStreamEvent = components['schemas']['ExecutionStreamEvent'];
49538
50520
  type StreamEventOf<U, T extends string> = Extract<U, {
49539
50521
  type: T;
49540
50522
  }>;
50523
+ /**
50524
+ * One release alias: the named, org-owned mutable pointer that selects which
50525
+ * immutable version of an agent runs (ADR 0025).
50526
+ */
50527
+ type AgentAlias = paths['/v1/agents/{id}/aliases/{alias}']['get']['responses'][200]['content']['application/json'];
50528
+ /** The envelope `GET /v1/agents/{id}/aliases` answers with. */
50529
+ type AgentAliasList = paths['/v1/agents/{id}/aliases']['get']['responses'][200]['content']['application/json'];
50530
+ /** The envelope `GET /v1/agent-aliases` answers with: one alias name, org-wide. */
50531
+ type OrganizationAgentAliasList = paths['/v1/agent-aliases']['get']['responses'][200]['content']['application/json'];
50532
+ /** One row of {@link OrganizationAgentAliasList}: a pointer plus the agent carrying it. */
50533
+ type OrganizationAgentAlias = OrganizationAgentAliasList['data'][number];
50534
+ /** What activating or rolling back a pointer reports back. */
50535
+ type AgentAliasActivation = paths['/v1/agents/{id}/aliases/{alias}']['put']['responses'][200]['content']['application/json'];
50536
+ /** The per-alias secret binding NAMES a pointer carries. Values are write-only. */
50537
+ type AgentAliasBindings = paths['/v1/agents/{id}/aliases/{alias}/bindings']['get']['responses'][200]['content']['application/json'];
50538
+ /** What archiving a pointer reports back. */
50539
+ type AgentAliasArchived = paths['/v1/agents/{id}/aliases/{alias}']['delete']['responses'][200]['content']['application/json'];
50540
+ /** One append-only deployment receipt. */
50541
+ type AgentDeploymentReceipt = paths['/v1/agents/{id}/deployments']['get']['responses'][200]['content']['application/json']['data'][number];
50542
+ /** The envelope `GET /v1/agents/{id}/deployments` answers with. */
50543
+ type AgentDeploymentList = paths['/v1/agents/{id}/deployments']['get']['responses'][200]['content']['application/json'];
50544
+ /** Source-organization provenance an activation may link to its receipt. */
50545
+ type AgentDeploymentPromotion = NonNullable<NonNullable<paths['/v1/agents/{id}/aliases/{alias}']['put']['requestBody']>['content']['application/json']['promotion']>;
50546
+ /** What an ensure converge reports about the pointer it aimed. */
50547
+ type AgentEnsureDeployment = components['schemas']['AgentEnsureDeployment'];
49541
50548
 
49542
50549
  /**
49543
50550
  * Options for the flow stream consumers.
@@ -51150,6 +52157,12 @@ interface ProviderKeyModel {
51150
52157
  supported: boolean;
51151
52158
  defaultEffort?: string;
51152
52159
  };
52160
+ /**
52161
+ * Where a `system` message that follows a conversation turn lands on this endpoint. Omitted keeps
52162
+ * it at its position (Mistral- and Gemma-family ids fold it into the leading prompt); `hoist` folds
52163
+ * it for an endpoint whose chat template rejects a non-leading system role.
52164
+ */
52165
+ midConversationSystemMessages?: 'preserve' | 'hoist';
51153
52166
  }
51154
52167
  /** Content part types for multi-modal messages */
51155
52168
  interface TextContentPart {
@@ -51367,8 +52380,7 @@ type DispatchRecordInput = Omit<NonNullable<GeneratedDispatchRequest['record']>,
51367
52380
  };
51368
52381
  type DispatchRequestEnvelope = Omit<CanonicalDispatchRequestEnvelope, 'record' | 'messages' | 'clientTools'> & {
51369
52382
  record?: DispatchRecordInput;
51370
- messages?: Array<{
51371
- role: 'system' | 'user' | 'assistant';
52383
+ messages?: Array<Omit<NonNullable<GeneratedDispatchRequest['messages']>[number], 'content'> & {
51372
52384
  content: DispatchMessageContent;
51373
52385
  }>;
51374
52386
  /**
@@ -51822,12 +52834,12 @@ interface SurfaceListParams extends ListParams {
51822
52834
  environment?: string;
51823
52835
  }
51824
52836
  type ConversationSource = 'app' | 'client_token';
51825
- interface ConversationMessage {
51826
- id: string;
51827
- role: 'user' | 'assistant' | 'system';
51828
- content: string;
51829
- createdAt?: string;
51830
- }
52837
+ /**
52838
+ * One stored transcript message, sourced directly from the generated OpenAPI
52839
+ * contract: roles include `tool`, content may be an array of parts, and
52840
+ * `toolCalls` / `toolResults` carry full tool fidelity.
52841
+ */
52842
+ type ConversationMessage = components['schemas']['ConversationTranscriptMessage'];
51831
52843
  /**
51832
52844
  * Conversation detail (single conversation, with messages).
51833
52845
  *
@@ -51857,31 +52869,19 @@ interface ConversationListParams {
51857
52869
  limit?: number;
51858
52870
  cursor?: string;
51859
52871
  }
51860
- interface CreateConversationRequest {
51861
- title?: string;
51862
- modelId?: string;
51863
- systemPrompt?: string;
51864
- /**
51865
- * First-class owner key (#3395) — persisted to the indexed `owner_id` column
51866
- * and queryable via {@link ConversationListParams.ownerId}. `null` is accepted
51867
- * for symmetry with {@link UpdateConversationRequest} and simply means "no
51868
- * owner" on create.
51869
- */
51870
- ownerId?: string | null;
51871
- metadata?: Record<string, unknown>;
51872
- }
51873
- interface UpdateConversationRequest {
51874
- title?: string;
51875
- modelId?: string;
51876
- systemPrompt?: string;
51877
- /**
51878
- * First-class owner key (#3395). `null` CLEARS the stored owner; omitting the
51879
- * field leaves it untouched.
51880
- */
51881
- ownerId?: string | null;
51882
- metadata?: Record<string, unknown>;
51883
- messages?: ConversationMessage[];
51884
- }
52872
+ /**
52873
+ * POST /v1/conversations request body, sourced directly from the generated
52874
+ * OpenAPI contract. `ownerId` (#3395) is persisted to the indexed `owner_id`
52875
+ * column and queryable via {@link ConversationListParams.ownerId}; `null` on
52876
+ * create simply means "no owner".
52877
+ */
52878
+ type CreateConversationRequest = NonNullable<paths['/v1/conversations']['post']['requestBody']>['content']['application/json'];
52879
+ /**
52880
+ * PUT /v1/conversations/{id} request body, sourced directly from the generated
52881
+ * OpenAPI contract. `ownerId: null` CLEARS the stored owner (#3395); omitting
52882
+ * the field leaves it untouched, and `messages` replaces the whole transcript.
52883
+ */
52884
+ type UpdateConversationRequest = NonNullable<paths['/v1/conversations/{id}']['put']['requestBody']>['content']['application/json'];
51885
52885
  interface LogEntry {
51886
52886
  timestamp: string;
51887
52887
  level: string;
@@ -54943,6 +55943,223 @@ declare class SkillsNamespace {
54943
55943
  pull(name: string): Promise<SkillPullResult>;
54944
55944
  }
54945
55945
 
55946
+ /**
55947
+ * The HTTP verbs the alias plane needs. Both SDK client classes satisfy it, so
55948
+ * one implementation serves `Runtype.agents.aliases` and `client.agents.aliases`.
55949
+ */
55950
+ interface AgentAliasTransport {
55951
+ get<T>(path: string, params?: Record<string, any>): Promise<T>;
55952
+ put<T>(path: string, data?: unknown, headers?: Record<string, string>): Promise<T>;
55953
+ post<T>(path: string, data?: unknown, headers?: Record<string, string>): Promise<T>;
55954
+ delete<T>(path: string, data?: unknown, headers?: Record<string, string>): Promise<T>;
55955
+ }
55956
+ /** The `live` pointer every agent's production traffic follows. Never expires. */
55957
+ declare const LIVE_AGENT_ALIAS = "live";
55958
+ /**
55959
+ * A stale compare-and-swap on a pointer (HTTP 412). The stored revision moved
55960
+ * on between the read and the write, so re-read the alias and retry.
55961
+ */
55962
+ declare class AgentAliasRevisionMismatchError extends Error {
55963
+ readonly code = "alias_revision_mismatch";
55964
+ readonly expectedRevision: number;
55965
+ readonly actualRevision: number | null;
55966
+ constructor(body: {
55967
+ error?: string;
55968
+ expected: number;
55969
+ actual: number | null;
55970
+ });
55971
+ }
55972
+ /** A write to an existing `live` pointer that quoted no revision (HTTP 428). */
55973
+ declare class AgentAliasRevisionRequiredError extends Error {
55974
+ readonly code = "alias_revision_required";
55975
+ constructor(message: string);
55976
+ }
55977
+ /**
55978
+ * A pointer that does not resolve (HTTP 404). Missing or archived aliases never
55979
+ * fall back to live, so this names the pointer that was asked for.
55980
+ */
55981
+ declare class AgentAliasNotFoundError extends Error {
55982
+ readonly code = "alias_not_found";
55983
+ readonly alias: string;
55984
+ readonly agentId: string;
55985
+ constructor(body: {
55986
+ error?: string;
55987
+ alias: string;
55988
+ agentId: string;
55989
+ });
55990
+ }
55991
+ /**
55992
+ * A new preview pointer refused by the active-preview quota (HTTP 429). Archive
55993
+ * a preview you no longer need — archiving frees the quota immediately — or wait
55994
+ * for one to expire. `live` is never counted.
55995
+ */
55996
+ declare class AgentAliasPreviewLimitError extends Error {
55997
+ readonly code = "PREVIEW_ALIAS_LIMIT";
55998
+ readonly scope: 'organization' | 'agent';
55999
+ readonly limit: number;
56000
+ readonly active: number;
56001
+ constructor(body: {
56002
+ error?: string;
56003
+ scope: 'organization' | 'agent';
56004
+ limit: number;
56005
+ active: number;
56006
+ });
56007
+ }
56008
+ /** A version whose named references no longer resolve in this account (HTTP 422). */
56009
+ declare class AgentAliasDependencyError extends Error {
56010
+ readonly code = "alias_dependency_unresolved";
56011
+ readonly refs: string[];
56012
+ constructor(body: {
56013
+ error?: string;
56014
+ refs?: string[];
56015
+ });
56016
+ }
56017
+ /** Every coded refusal the alias plane maps onto a typed error. */
56018
+ type TypedAliasError = AgentAliasRevisionMismatchError | AgentAliasRevisionRequiredError | AgentAliasNotFoundError | AgentAliasDependencyError | AgentAliasPreviewLimitError;
56019
+ /** The refusal code, when this is one of the typed alias errors. */
56020
+ declare function agentAliasErrorCode(err: unknown): TypedAliasError['code'] | undefined;
56021
+ interface ListAgentAliasesOptions {
56022
+ /** Include archived pointers, which never resolve for execution. */
56023
+ includeArchived?: boolean;
56024
+ /** Page size. Omit to receive the whole (small) pointer set. */
56025
+ limit?: number;
56026
+ /** The `nextCursor` a previous page returned. */
56027
+ cursor?: string;
56028
+ }
56029
+ interface ActivateAgentAliasInput {
56030
+ /** The exact version to aim the pointer at. Never a pointer name. */
56031
+ versionId: string;
56032
+ /**
56033
+ * The revision read from the alias, sent as `If-Match`. Required by the
56034
+ * server on an existing `live` pointer; optional on previews and on the
56035
+ * first live deployment.
56036
+ */
56037
+ revision?: number;
56038
+ /** Replay key: repeating the same activation returns the first receipt. */
56039
+ idempotencyKey?: string;
56040
+ /** Why this deployment happened. Recorded for humans; nothing branches on it. */
56041
+ reason?: string;
56042
+ /** Source-organization ids and hashes for a cross-organization promotion. */
56043
+ promotion?: AgentDeploymentPromotion;
56044
+ }
56045
+ interface ArchiveAgentAliasInput {
56046
+ revision?: number;
56047
+ }
56048
+ interface RollbackAgentAliasInput {
56049
+ /** How many pointer-moving receipts to walk back. Defaults to 1. */
56050
+ steps?: number;
56051
+ revision?: number;
56052
+ reason?: string;
56053
+ }
56054
+ interface SetAgentAliasBindingsInput {
56055
+ /** The complete set, NAME to value. An empty object clears every binding. */
56056
+ bindings: Record<string, string>;
56057
+ revision?: number;
56058
+ reason?: string;
56059
+ }
56060
+ interface ClearAgentAliasBindingsInput {
56061
+ revision?: number;
56062
+ }
56063
+ /**
56064
+ * One pointer an {@link AgentAliasesNamespace.archiveEverywhere} pass could not
56065
+ * archive. A stale revision (412) or a concurrent archive (404) is reported
56066
+ * here rather than aborting the sweep over the remaining agents.
56067
+ */
56068
+ interface AgentAliasArchiveFailure {
56069
+ agentId: string;
56070
+ agentName: string;
56071
+ error: string;
56072
+ code?: string;
56073
+ }
56074
+ interface ArchiveAgentAliasEverywhereResult {
56075
+ alias: string;
56076
+ archived: Array<{
56077
+ agentId: string;
56078
+ agentName: string;
56079
+ revision: number;
56080
+ receiptId: string;
56081
+ }>;
56082
+ failed: AgentAliasArchiveFailure[];
56083
+ }
56084
+ interface ListAgentDeploymentsOptions {
56085
+ /** Only receipts for this pointer. */
56086
+ alias?: string;
56087
+ limit?: number;
56088
+ cursor?: string;
56089
+ }
56090
+ /**
56091
+ * Release aliases: the named pointers that select which immutable version of an
56092
+ * agent runs. Activation always names an exact `versionId` — the SDK never
56093
+ * resolves a pointer client-side and deploys whatever it found.
56094
+ *
56095
+ * @example
56096
+ * ```typescript
56097
+ * const live = await client.agents.aliases.get('agt_1', 'live')
56098
+ * await client.agents.aliases.activate('agt_1', 'live', {
56099
+ * versionId: 'agtv_9',
56100
+ * revision: live.revision,
56101
+ * idempotencyKey: 'deploy-2026-09-06-1',
56102
+ * })
56103
+ * ```
56104
+ */
56105
+ declare class AgentAliasesNamespace {
56106
+ private getTransport;
56107
+ constructor(getTransport: () => AgentAliasTransport);
56108
+ /** List this agent's pointers, `live` first then previews by name. */
56109
+ list(agentId: string, options?: ListAgentAliasesOptions): Promise<AgentAliasList>;
56110
+ /**
56111
+ * Every agent in the organization carrying a pointer with this name, each
56112
+ * with the revision to quote back as `If-Match`. The read a PR-close cleanup
56113
+ * makes before archiving.
56114
+ */
56115
+ listByName(alias: string, options?: {
56116
+ includeArchived?: boolean;
56117
+ }): Promise<OrganizationAgentAliasList>;
56118
+ /**
56119
+ * Archive this pointer on every agent in the organization that carries it,
56120
+ * each under the revision just read. A failure on one agent is reported and
56121
+ * the rest continue; a second run finds nothing active and archives nothing.
56122
+ */
56123
+ archiveEverywhere(alias: string): Promise<ArchiveAgentAliasEverywhereResult>;
56124
+ /** Read one pointer. A missing or archived alias throws, never falls back to live. */
56125
+ get(agentId: string, alias: string, options?: {
56126
+ includeArchived?: boolean;
56127
+ }): Promise<AgentAlias>;
56128
+ /** Aim one pointer at one exact version, appending a deployment receipt. */
56129
+ activate(agentId: string, alias: string, input: ActivateAgentAliasInput): Promise<AgentAliasActivation>;
56130
+ /** Archive a preview pointer: it stops resolving but keeps its history. */
56131
+ archive(agentId: string, alias: string, input?: ArchiveAgentAliasInput): Promise<AgentAliasArchived>;
56132
+ /** Re-aim a pointer at the version its receipt history records before this one. */
56133
+ rollback(agentId: string, alias: string, input?: RollbackAgentAliasInput): Promise<AgentAliasActivation>;
56134
+ /** The per-alias secret binding NAMES this pointer carries. Values are write-only. */
56135
+ getBindings(agentId: string, alias: string): Promise<AgentAliasBindings>;
56136
+ /**
56137
+ * Replace the complete set of `{{secret:NAME}}` values executions resolve
56138
+ * when they reach this agent through this pointer, ahead of the organization
56139
+ * secret of the same name. A name you stop sending stops resolving.
56140
+ */
56141
+ setBindings(agentId: string, alias: string, input: SetAgentAliasBindingsInput): Promise<AgentAliasBindings>;
56142
+ /** Drop every binding, so this pointer's executions fall back to organization secrets. */
56143
+ clearBindings(agentId: string, alias: string, input?: ClearAgentAliasBindingsInput): Promise<AgentAliasBindings>;
56144
+ private run;
56145
+ }
56146
+ /**
56147
+ * The append-only deployment history of an agent: every pointer move, its
56148
+ * previous and new versions, the actor, the provenance and the dependency
56149
+ * fingerprints checked at activation.
56150
+ */
56151
+ declare class AgentDeploymentsNamespace {
56152
+ private getTransport;
56153
+ constructor(getTransport: () => AgentAliasTransport);
56154
+ /** Receipts newest first, cursor-paginated; filter to one pointer with `alias`. */
56155
+ list(agentId: string, options?: ListAgentDeploymentsOptions): Promise<AgentDeploymentList>;
56156
+ }
56157
+
56158
+ /**
56159
+ * The refusal a client-side `release` + `deploy` mix answers with. Byte-identical
56160
+ * to the server's, so both spellings of the mistake read the same.
56161
+ */
56162
+ declare const ENSURE_RELEASE_DEPLOY_CONFLICT_MESSAGE: string;
54946
56163
  /** Canonical normalized form — must stay byte-identical to the shared impl. */
54947
56164
  declare function normalizeAgentDefinition(definition: {
54948
56165
  name: string;
@@ -55107,8 +56324,28 @@ interface EnsureAgentOptions {
55107
56324
  * rather than ensure. Default 'error' (HTTP 409 → AgentEnsureConflictError).
55108
56325
  */
55109
56326
  onConflict?: 'error' | 'overwrite';
55110
- /** 'publish' also re-aims the published-version pointer. Default 'none'. */
56327
+ /**
56328
+ * Compatibility input translated to a deploy: 'publish' activates `live`,
56329
+ * 'none' saves without activating. Prefer {@link EnsureAgentOptions.deploy}.
56330
+ * Supplying both is refused client-side and by the server.
56331
+ */
55111
56332
  release?: 'none' | 'publish';
56333
+ /**
56334
+ * Atomically save this definition and activate it at a release alias.
56335
+ * `{ alias: 'live' }` deploys to production; any other name is a preview
56336
+ * pointer that never touches the live row, config hash, capabilities or the
56337
+ * draft pointer. Mutually exclusive with {@link EnsureAgentOptions.release}.
56338
+ */
56339
+ deploy?: {
56340
+ alias: string;
56341
+ /**
56342
+ * The complete set of `{{secret:NAME}}` values executions resolve when they
56343
+ * reach this agent through this pointer, ahead of the organization secret
56344
+ * of the same name. Whole-set replacement; an empty object clears them.
56345
+ * Values are write-only and never returned.
56346
+ */
56347
+ bindings?: Record<string, string>;
56348
+ };
55112
56349
  /**
55113
56350
  * TOCTOU guard binding a dry run to its apply: the write only proceeds if
55114
56351
  * the remote still hashes to this value (409 remote_changed otherwise).
@@ -55129,6 +56366,10 @@ interface EnsureAgentConverged {
55129
56366
  versionId: string | null;
55130
56367
  /** The server-computed canonical hash (echo this — never your own). */
55131
56368
  contentHash: string;
56369
+ /** For a non-live deploy: the hash the alias carried before this converge. */
56370
+ remoteHash?: string;
56371
+ /** The pointer this converge aimed, present only when it carried release or deploy. */
56372
+ deployment?: AgentEnsureDeployment;
55132
56373
  }
55133
56374
  interface EnsureAgentPlan {
55134
56375
  result: 'plan';
@@ -55137,6 +56378,8 @@ interface EnsureAgentPlan {
55137
56378
  contentHash: string;
55138
56379
  remoteHash?: string;
55139
56380
  agentId?: string;
56381
+ /** The pointer this dry run would aim, and whether it would move. */
56382
+ deployment?: AgentEnsureDeployment;
55140
56383
  }
55141
56384
  type EnsureAgentResult = EnsureAgentConverged | EnsureAgentPlan;
55142
56385
  interface AgentPullResult {
@@ -55192,6 +56435,10 @@ declare class AgentDriftError extends Error {
55192
56435
  */
55193
56436
  declare class AgentsNamespace {
55194
56437
  private getClient;
56438
+ /** Release aliases: the named pointers selecting which version runs (ADR 0025). */
56439
+ readonly aliases: AgentAliasesNamespace;
56440
+ /** The append-only deployment history behind those pointers. */
56441
+ readonly deployments: AgentDeploymentsNamespace;
55195
56442
  constructor(getClient: () => RuntypeClient$1);
55196
56443
  /**
55197
56444
  * Idempotently converge a definition onto the platform. Hash-first: probes
@@ -55537,6 +56784,12 @@ declare function ensureFpo(client: RuntypeClient$1, fpo: FpoInput, options?: Ens
55537
56784
  */
55538
56785
  declare function pullFpo(client: RuntypeClient$1, name: string): Promise<PullFpoResult>;
55539
56786
 
56787
+ /** Merged first page of every activity source a product has. */
56788
+ type ProductActivityResponse = paths['/v1/products/{id}/activity']['get']['responses'][200]['content']['application/json'];
56789
+ interface ProductActivityOptions {
56790
+ /** Rows per source. Defaults to 50 server-side, clamped to 100. */
56791
+ limit?: number;
56792
+ }
55540
56793
  declare class ProductsNamespace {
55541
56794
  private getClient;
55542
56795
  constructor(getClient: () => RuntypeClient$1);
@@ -55601,6 +56854,20 @@ declare class ProductsNamespace {
55601
56854
  * ```
55602
56855
  */
55603
56856
  pullFpo(name: string): Promise<PullFpoResult>;
56857
+ /**
56858
+ * One request for the first page of every activity source a product has:
56859
+ * conversations per conversational surface, executions per distinct agent.
56860
+ * Rows, cursors and `hasMore` match the per-source list endpoints, so a
56861
+ * caller continues any source with that source's own endpoint. A source that
56862
+ * fails carries an `error` instead of failing the response.
56863
+ *
56864
+ * @example
56865
+ * ```typescript
56866
+ * const { data } = await Runtype.products.activity('prd_123', { limit: 25 })
56867
+ * for (const surface of data.surfaces) console.log(surface.surfaceId, surface.data.length)
56868
+ * ```
56869
+ */
56870
+ activity(productId: string, options?: ProductActivityOptions): Promise<ProductActivityResponse>;
55604
56871
  }
55605
56872
 
55606
56873
  /**
@@ -55879,7 +57146,7 @@ declare class RuntypeClient$1 {
55879
57146
  /**
55880
57147
  * Generic PUT request
55881
57148
  */
55882
- put<T>(path: string, data?: unknown): Promise<T>;
57149
+ put<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
55883
57150
  /**
55884
57151
  * Generic PATCH request
55885
57152
  */
@@ -55887,7 +57154,7 @@ declare class RuntypeClient$1 {
55887
57154
  /**
55888
57155
  * Generic DELETE request
55889
57156
  */
55890
- delete<T>(path: string): Promise<T>;
57157
+ delete<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
55891
57158
  /**
55892
57159
  * Generic request that returns raw Response for streaming
55893
57160
  */
@@ -56240,6 +57507,128 @@ declare class Runtype {
56240
57507
  static get surfaces(): SurfacesNamespace;
56241
57508
  }
56242
57509
 
57510
+ /**
57511
+ * The HTTP surface a promotion leg needs from one organization's credentials.
57512
+ * Both SDK client classes satisfy it, and a promotion always holds two of
57513
+ * them — one per organization. Credentials never cross between the two.
57514
+ */
57515
+ type AgentPromotionTransport = AgentAliasTransport;
57516
+ /** Everything a later promotion step needs, and nothing that could authorize one. */
57517
+ interface AgentPromotionManifest {
57518
+ /** Manifest schema version, so a later reader can refuse an unknown shape. */
57519
+ manifest: 1;
57520
+ /** Agent name, the ensure identity in both organizations. */
57521
+ name: string;
57522
+ createdAt: string;
57523
+ source: {
57524
+ agentId: string;
57525
+ versionId: string | null;
57526
+ contentHash: string;
57527
+ /** Source-control commit the promotion ran from, when it ran inside a repo. */
57528
+ commit?: string;
57529
+ };
57530
+ target: {
57531
+ agentId: string;
57532
+ versionId: string;
57533
+ /** The candidate preview pointer the definition was staged at. */
57534
+ alias: string;
57535
+ revision: number | null;
57536
+ contentHash: string;
57537
+ };
57538
+ }
57539
+ /** What `validate` found, and whether the promotion may proceed. */
57540
+ interface AgentPromotionValidation {
57541
+ ok: boolean;
57542
+ /** The dry-run plan re-running the same ensure in the target organization. */
57543
+ plan: EnsureAgentPlan;
57544
+ /** Named references the destination organization could not resolve. */
57545
+ unresolvedRefs: string[];
57546
+ /** Every reference the candidate carries, with the fingerprint recorded at staging. */
57547
+ refs: Array<{
57548
+ ref: string;
57549
+ resolvedId: string | null;
57550
+ fingerprint: string | null;
57551
+ }>;
57552
+ }
57553
+ /** A promotion step that could not produce a manifest or a usable answer. */
57554
+ declare class AgentPromotionError extends Error {
57555
+ constructor(message: string);
57556
+ }
57557
+ interface PrepareAgentPromotionInput {
57558
+ /** Credentials for the organization the definition is read from. */
57559
+ source: AgentPromotionTransport;
57560
+ /** Credentials for the organization the candidate is staged in. */
57561
+ target: AgentPromotionTransport;
57562
+ /** Agent name, the ensure identity in both organizations. */
57563
+ name: string;
57564
+ /** Preview pointer to stage the candidate at. Never `live`: prepare never deploys. */
57565
+ alias: string;
57566
+ /** Source-control commit recorded on the manifest and the receipt. */
57567
+ commit?: string;
57568
+ /** Provenance stamped on the version row the target converge appends. */
57569
+ version?: components['schemas']['EnsureVersionMetadata'];
57570
+ }
57571
+ /**
57572
+ * Pull the definition from the source organization and stage it in the target
57573
+ * at a preview pointer. Live is untouched, credentials never move, and secrets
57574
+ * stay `{{secret:NAME}}` references resolved by the target organization.
57575
+ */
57576
+ declare function prepareAgentPromotion(input: PrepareAgentPromotionInput): Promise<AgentPromotionManifest>;
57577
+ interface ValidateAgentPromotionInput {
57578
+ target: AgentPromotionTransport;
57579
+ manifest: AgentPromotionManifest;
57580
+ /** The definition to re-plan against. Re-pulled from the source when omitted. */
57581
+ definition?: AgentDefinition;
57582
+ source?: AgentPromotionTransport;
57583
+ }
57584
+ /**
57585
+ * Re-run the staged converge as a dry run in the target and report every named
57586
+ * reference the destination could not resolve. Reporting only: it decides
57587
+ * nothing, and no later step is gated on the answer.
57588
+ */
57589
+ declare function validateAgentPromotion(input: ValidateAgentPromotionInput): Promise<AgentPromotionValidation>;
57590
+ interface ActivateAgentPromotionInput {
57591
+ target: AgentPromotionTransport;
57592
+ manifest: AgentPromotionManifest;
57593
+ /** Pointer to deploy to in the target organization. Defaults to `live`. */
57594
+ alias?: string;
57595
+ reason?: string;
57596
+ /** Defaults to a key derived from the manifest, so a retry never deploys twice. */
57597
+ idempotencyKey?: string;
57598
+ }
57599
+ /**
57600
+ * Deploy the exact staged version at the target's pointer, quoting the pointer
57601
+ * revision as `If-Match` and linking the source ids and hashes on the receipt.
57602
+ * The version id comes from the manifest, never from re-resolving a pointer.
57603
+ */
57604
+ declare function activateAgentPromotion(input: ActivateAgentPromotionInput): Promise<AgentAliasActivation>;
57605
+ /** A replay key one manifest always derives the same way, so retries are safe. */
57606
+ declare function promotionIdempotencyKey(manifest: AgentPromotionManifest, alias: string): string;
57607
+ interface PromoteAgentInput extends PrepareAgentPromotionInput {
57608
+ /**
57609
+ * Deploy the staged candidate after validation. Omit to stop at the staged
57610
+ * preview: nothing here gates on evaluation, so an explicit opt-in is what
57611
+ * separates staging from shipping.
57612
+ */
57613
+ activate?: {
57614
+ alias?: string;
57615
+ reason?: string;
57616
+ idempotencyKey?: string;
57617
+ };
57618
+ }
57619
+ interface PromoteAgentResult {
57620
+ manifest: AgentPromotionManifest;
57621
+ validation: AgentPromotionValidation;
57622
+ activation?: AgentAliasActivation;
57623
+ }
57624
+ /**
57625
+ * The whole cross-organization recipe: stage the definition at a preview
57626
+ * pointer in the target, report unresolved references, and — only when
57627
+ * `activate` is supplied — deploy that exact staged version. Evaluation is the
57628
+ * caller's to run and report; nothing here is gated on it.
57629
+ */
57630
+ declare function promoteAgent(input: PromoteAgentInput): Promise<PromoteAgentResult>;
57631
+
56243
57632
  /**
56244
57633
  * Agent API key request types.
56245
57634
  *
@@ -56847,9 +58236,9 @@ interface ApiClient {
56847
58236
  [key: string]: any;
56848
58237
  }): Promise<T>;
56849
58238
  post<T>(path: string, data?: any, headers?: Record<string, string>): Promise<T>;
56850
- put<T>(path: string, data?: any): Promise<T>;
58239
+ put<T>(path: string, data?: any, headers?: Record<string, string>): Promise<T>;
56851
58240
  patch<T>(path: string, data?: any): Promise<T>;
56852
- delete<T>(path: string, data?: any): Promise<T>;
58241
+ delete<T>(path: string, data?: any, headers?: Record<string, string>): Promise<T>;
56853
58242
  postFormData<T>(path: string, formData: FormData): Promise<T>;
56854
58243
  postBinary<T>(path: string, body: Uint8Array, contentType: string): Promise<T>;
56855
58244
  requestStream(path: string, options?: RequestInit): Promise<Response>;
@@ -58554,6 +59943,15 @@ interface AgentExecuteRequest {
58554
59943
  forced?: 'durable' | 'in_process';
58555
59944
  watchLeaseMs?: number;
58556
59945
  };
59946
+ /**
59947
+ * Run whichever immutable version this release alias currently points at
59948
+ * (ADR 0025). At most one of `alias` / `versionId`, and neither may be
59949
+ * combined with an inline definition override (`model`, `systemPrompt`,
59950
+ * `tools`, …) — the selected version supplies the definition.
59951
+ */
59952
+ alias?: string;
59953
+ /** Run this exact version snapshot. Mutually exclusive with `alias`. */
59954
+ versionId?: string;
58557
59955
  }
58558
59956
  /**
58559
59957
  * Agent execute response (non-streaming)
@@ -59033,6 +60431,10 @@ declare class AgentsEndpoint {
59033
60431
  private static readonly AUTO_COMPACT_SUMMARY_PREFIX;
59034
60432
  private static readonly RESUMED_COMPACT_SUMMARY_PREFIX;
59035
60433
  private static readonly COMPLETED_COMPACT_SUMMARY_PREFIX;
60434
+ /** Release aliases: the named pointers selecting which version runs (ADR 0025). */
60435
+ readonly aliases: AgentAliasesNamespace;
60436
+ /** The append-only deployment history behind those pointers. */
60437
+ readonly deployments: AgentDeploymentsNamespace;
59036
60438
  constructor(client: ApiClient);
59037
60439
  /**
59038
60440
  * List all agents for the authenticated user
@@ -59887,7 +61289,7 @@ declare class RuntypeClient implements ApiClient {
59887
61289
  /**
59888
61290
  * Generic PUT request
59889
61291
  */
59890
- put<T>(path: string, data?: unknown): Promise<T>;
61292
+ put<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
59891
61293
  /**
59892
61294
  * Generic PATCH request
59893
61295
  */
@@ -59895,7 +61297,7 @@ declare class RuntypeClient implements ApiClient {
59895
61297
  /**
59896
61298
  * Generic DELETE request
59897
61299
  */
59898
- delete<T>(path: string, data?: unknown): Promise<T>;
61300
+ delete<T>(path: string, data?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
59899
61301
  /**
59900
61302
  * Build full URL with query parameters
59901
61303
  */
@@ -61290,4 +62692,4 @@ declare function getLikelySupportingCandidatePaths(bestCandidatePath: string | u
61290
62692
  declare function getDefaultPlanPath(taskName: string): string;
61291
62693
  declare function sanitizeTaskSlug(taskName: string): string;
61292
62694
 
61293
- 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, 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, 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 };
62695
+ 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 };