@naturali/sdk 0.67.0 → 0.69.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.mts CHANGED
@@ -1872,6 +1872,248 @@ type GenerateConversationMessageResponse = ({
1872
1872
  } & GenerateConversationMessageCompleted) | ({
1873
1873
  status: 'requires_action';
1874
1874
  } & GenerateConversationMessageRequiresAction);
1875
+ /**
1876
+ * Messages replayed verbatim as the generation's input
1877
+ */
1878
+ type DatasetItemInput = Array<{
1879
+ role: string;
1880
+ /**
1881
+ * Message content — a string, or AI SDK content parts
1882
+ */
1883
+ content: unknown;
1884
+ }>;
1885
+ /**
1886
+ * Scorer configs, a discriminated union on `type`. Each type may appear at most once. Every scorer produces `{ score: 0–1, passed: boolean }`; binary scorers emit 0 or 1.
1887
+ *
1888
+ * `exact_match` compares the trimmed output text to `expected_output`. `contains` looks for `value` in the output text. `json_logic` evaluates `expression` over `{ input, output, object, expected, item.metadata }`, where `object` is the structured output (absent when the agent has no `output_schema`). `output_schema` validates the structured output against the scorer's own `schema`, falling back to the agent's; it requires the agent to carry an `output_schema`, because without one the platform emits no structured output and every item would score 0.
1889
+ *
1890
+ * `llm_judge` grades the output with a model completion, returning a continuous score plus its `reasoning`. Its `pass_threshold` is required: a continuous score says nothing about where "good enough" is, and a defaulted cutoff would silently decide the gate.
1891
+ *
1892
+ * `tool` runs a custom scoring algorithm: a server-callable project tool the engine invokes once per item with the item's context. Unlike the built-in types it may appear several times, each under a distinct `name` — outcomes and aggregates key on the name.
1893
+ */
1894
+ type Scorers = Array<ExactMatchScorer | ContainsScorer | JsonLogicScorer | OutputSchemaScorer | LlmJudgeScorer | ToolScorer>;
1895
+ type ExactMatchScorer = {
1896
+ type: 'exact_match';
1897
+ };
1898
+ type ContainsScorer = {
1899
+ type: 'contains';
1900
+ value: string;
1901
+ case_sensitive?: boolean;
1902
+ };
1903
+ type JsonLogicScorer = {
1904
+ type: 'json_logic';
1905
+ /**
1906
+ * A JSON Logic expression; a truthy result scores 1
1907
+ */
1908
+ expression: {
1909
+ [key: string]: unknown;
1910
+ };
1911
+ };
1912
+ type OutputSchemaScorer = {
1913
+ type: 'output_schema';
1914
+ /**
1915
+ * JSON Schema the structured output is validated against. Frozen here so two runs stay comparable; falls back to the agent's `output_schema` when omitted.
1916
+ */
1917
+ schema?: {
1918
+ [key: string]: unknown;
1919
+ };
1920
+ };
1921
+ type LlmJudgeScorer = {
1922
+ type: 'llm_judge';
1923
+ /**
1924
+ * The judge prompt. `{{input}}`, `{{output}}` and `{{expected}}` are replaced with the item's input messages, the agent's output text, and the item's `expected_output`. Slots are filled in one pass, so a slot value that itself contains `{{output}}` is not re-expanded. The judge must answer with a JSON object carrying a numeric `score` between 0 and 1 and an optional `reasoning` string; a reply that does not marks the **item** errored, never the run failed and never a score of 0.
1925
+ */
1926
+ prompt: string;
1927
+ /**
1928
+ * The item passes this scorer when the judge's score is greater than or equal to this value. Required.
1929
+ */
1930
+ pass_threshold: number;
1931
+ /**
1932
+ * The AI provider that runs the judge; it must belong to the eval's project. Omit to use the project's default model route.
1933
+ */
1934
+ ai_provider_id?: string | null;
1935
+ /**
1936
+ * Overrides the provider's default model. Pinned per scorer, because deltas between runs judged by different models are not comparable.
1937
+ */
1938
+ model?: string | null;
1939
+ };
1940
+ /**
1941
+ * A custom scoring algorithm — a server-callable project tool the engine invokes once per item. The tool receives the same variables a `json_logic` expression reads — `input`, `output`, `object` (when the agent has an `output_schema`), `expected`, and `item.metadata` — with `preset_parameters` merged in at the top level, and must answer with a JSON object carrying a numeric `score` between 0 and 1, an optional boolean `passed`, and an optional `reasoning` string. A malformed answer or a failed call marks the **item** errored, never the run failed and never a score of 0.
1942
+ */
1943
+ type ToolScorer = {
1944
+ type: 'tool';
1945
+ /**
1946
+ * Keys this scorer's outcomes and aggregate scores, so it must be unique within the eval and must not shadow a built-in scorer type. Unlike the built-in types, several `tool` scorers may coexist under distinct names.
1947
+ */
1948
+ name: string;
1949
+ /**
1950
+ * The tool that scores each item. It must belong to the eval's project and be server-callable (`http`, `mcp`, or `pipeline` — a `client` tool pauses for a calling client an eval run does not have).
1951
+ */
1952
+ tool_id: string;
1953
+ /**
1954
+ * The operation to invoke; required when the tool type is `mcp`.
1955
+ */
1956
+ action?: string | null;
1957
+ /**
1958
+ * Fixed values merged into every call's input at the top level. The engine-injected keys (`input`, `output`, `object`, `expected`, `item`) are reserved and rejected.
1959
+ */
1960
+ preset_parameters?: {
1961
+ [key: string]: unknown;
1962
+ } | null;
1963
+ /**
1964
+ * Fallback verdict cutoff when the tool answers without a `passed` flag: the item passes this scorer when `score` is greater than or equal to this value. A tool-returned `passed` always wins. When the tool omits `passed` and no threshold is set, the item is recorded as errored — the scorer produced no verdict.
1965
+ */
1966
+ pass_threshold?: number | null;
1967
+ };
1968
+ type ScorerResult = {
1969
+ /**
1970
+ * The scorer that produced this entry — the scorer type, or for a `tool` scorer its `name`
1971
+ */
1972
+ scorer?: string;
1973
+ score?: number;
1974
+ passed?: boolean;
1975
+ /**
1976
+ * The stated rationale; present for `llm_judge` and for `tool` scorers whose tool returned one
1977
+ */
1978
+ reasoning?: string;
1979
+ };
1980
+ type Dataset = {
1981
+ id?: string;
1982
+ project_id?: string;
1983
+ name?: string;
1984
+ description?: string | null;
1985
+ created_at?: Date;
1986
+ updated_at?: Date;
1987
+ };
1988
+ type DatasetItem = {
1989
+ id?: string;
1990
+ dataset_id?: string;
1991
+ input?: DatasetItemInput;
1992
+ expected_output?: string | null;
1993
+ metadata?: {
1994
+ [key: string]: unknown;
1995
+ } | null;
1996
+ /**
1997
+ * The generation this item was curated from. A curated item is a deliberate fixture: erasing the source generation neither deletes nor mutates it.
1998
+ */
1999
+ source_generation_id?: string | null;
2000
+ created_at?: Date;
2001
+ updated_at?: Date;
2002
+ };
2003
+ type Eval = {
2004
+ id?: string;
2005
+ project_id?: string;
2006
+ name?: string;
2007
+ agent_id?: string;
2008
+ dataset_id?: string;
2009
+ scorers?: Scorers;
2010
+ pass_threshold?: number | null;
2011
+ created_at?: Date;
2012
+ updated_at?: Date;
2013
+ };
2014
+ /**
2015
+ * Per-scorer rollup plus the run-level pass rate; null until the run is terminal
2016
+ */
2017
+ type AggregateScores = {
2018
+ scorers?: {
2019
+ [key: string]: {
2020
+ mean?: number;
2021
+ pass_rate?: number;
2022
+ };
2023
+ };
2024
+ /**
2025
+ * Passed items over non-errored items; null when nothing was scorable
2026
+ */
2027
+ pass_rate?: number | null;
2028
+ /**
2029
+ * Items that produced a score — errored items are excluded
2030
+ */
2031
+ scored_item_count?: number;
2032
+ baseline?: BaselineComparison;
2033
+ } | null;
2034
+ /**
2035
+ * Comparison against the run named by `baseline_run_id`; absent when the run named none.
2036
+ *
2037
+ * Every number here is computed over the **item intersection** — the dataset items present and scorable in both runs — because a delta only means something when both sides answered the same question. The compared/added/removed counts make any dataset drift visible instead of letting it read as agent regression. Positive deltas mean this run scored higher than the baseline.
2038
+ */
2039
+ type BaselineComparison = {
2040
+ run_id?: string;
2041
+ /**
2042
+ * Items scorable in both runs — the basis of every delta
2043
+ */
2044
+ compared_item_count?: number;
2045
+ /**
2046
+ * Scorable here but not in the baseline (added, or errored there)
2047
+ */
2048
+ added_item_count?: number;
2049
+ /**
2050
+ * Scorable in the baseline but not here (removed, or errored here)
2051
+ */
2052
+ removed_item_count?: number;
2053
+ /**
2054
+ * Run-level pass-rate delta over the intersection; null when the two runs share no comparable item
2055
+ */
2056
+ pass_rate_delta?: number | null;
2057
+ /**
2058
+ * Per-scorer deltas, keyed by scorer type. A scorer only one of the two runs ran is omitted rather than compared against nothing.
2059
+ */
2060
+ scorers?: {
2061
+ [key: string]: {
2062
+ mean_delta?: number;
2063
+ pass_rate_delta?: number;
2064
+ };
2065
+ };
2066
+ } | null;
2067
+ type EvalRun = {
2068
+ id?: string;
2069
+ eval_id?: string;
2070
+ /**
2071
+ * The one agent version every item in this run executed against
2072
+ */
2073
+ agent_version?: number;
2074
+ status?: 'queued' | 'running' | 'completed' | 'failed' | 'canceled';
2075
+ baseline_run_id?: string | null;
2076
+ /**
2077
+ * The trigger that started this run — set when a schedule (or a manual trigger fire) started it, null for a run started through this API. Kept even if the trigger is later deleted.
2078
+ */
2079
+ trigger_id?: string | null;
2080
+ aggregate_scores?: AggregateScores;
2081
+ /**
2082
+ * Null when the eval declares no pass_threshold, and until the run is terminal
2083
+ */
2084
+ passed?: boolean | null;
2085
+ item_count?: number;
2086
+ completed_count?: number;
2087
+ errored_count?: number;
2088
+ started_at?: Date | null;
2089
+ finished_at?: Date | null;
2090
+ created_at?: Date;
2091
+ };
2092
+ type EvalResult = {
2093
+ id?: string;
2094
+ eval_run_id?: string;
2095
+ /**
2096
+ * Null once the dataset item has been deleted
2097
+ */
2098
+ dataset_item_id?: string | null;
2099
+ input?: DatasetItemInput;
2100
+ expected_output?: string | null;
2101
+ generation_id?: string | null;
2102
+ /**
2103
+ * The agent's final output text. Cleared when the linked generation's content is purged; the scores and the frozen input survive.
2104
+ */
2105
+ output?: string | null;
2106
+ scores?: Array<ScorerResult>;
2107
+ /**
2108
+ * AND over the per-scorer passed flags
2109
+ */
2110
+ passed?: boolean;
2111
+ /**
2112
+ * Item-level failure reason. A generation that did not complete — a `requires_action` pause, a provider failure — is recorded here and excluded from the aggregates rather than scored 0.
2113
+ */
2114
+ error?: string | null;
2115
+ created_at?: Date;
2116
+ };
1875
2117
  type Generation = {
1876
2118
  /**
1877
2119
  * Public ID of the generation
@@ -2214,6 +2456,94 @@ type ModelRoute = {
2214
2456
  created_at?: Date;
2215
2457
  updated_at?: Date;
2216
2458
  };
2459
+ type Model = {
2460
+ /**
2461
+ * Public, stable model id used in API calls.
2462
+ */
2463
+ id: string;
2464
+ display_name: string;
2465
+ /**
2466
+ * The provider slug that serves the model.
2467
+ */
2468
+ provider: string;
2469
+ /**
2470
+ * The model maker.
2471
+ */
2472
+ vendor: string;
2473
+ /**
2474
+ * The exact model string the runtime sends to the provider — a cross-region inference-profile id (us.…) when the model is profile-only.
2475
+ *
2476
+ */
2477
+ provider_model: string;
2478
+ /**
2479
+ * Accepted input modalities.
2480
+ */
2481
+ input_modalities: Array<string>;
2482
+ output_modalities: Array<string>;
2483
+ streaming: boolean;
2484
+ /**
2485
+ * Provider inference types (on_demand, inference_profile, provisioned).
2486
+ */
2487
+ inference_types: Array<string>;
2488
+ /**
2489
+ * Lifecycle status, from the provider's own listing at the last sync. A model the provider stops listing — or reports as legacy or deprecated — flips to `deprecated` and stays in the catalog, so a project already generating on it can see what happened to it.
2490
+ *
2491
+ */
2492
+ status: 'available' | 'deprecated';
2493
+ /**
2494
+ * Whether this model can be enabled as a naturali-managed provider (`POST /v1/projects/{project_id}/models/{model_id}/providers`).
2495
+ * Independent of `status`: `status: available` means the model is in the catalog, not that naturali offers it managed. Only available text models with an authoritative published price qualify — anything else is BYOK-only, and enabling it returns 400.
2496
+ *
2497
+ */
2498
+ managed: boolean;
2499
+ /**
2500
+ * naturali's price for generating on this model as a managed provider, in USD per 1K tokens. `null` for models naturali does not price (BYOK-only — your own provider bills you directly). Refreshed by the daily sync.
2501
+ *
2502
+ */
2503
+ pricing: {
2504
+ currency: 'usd';
2505
+ /**
2506
+ * USD per 1K input (uncached) tokens.
2507
+ */
2508
+ input_per_1k_tokens: number;
2509
+ /**
2510
+ * USD per 1K output tokens.
2511
+ */
2512
+ output_per_1k_tokens: number;
2513
+ /**
2514
+ * USD per 1K cache-read input tokens; null when the model does not price caching (cached tokens are then billed at the input rate).
2515
+ *
2516
+ */
2517
+ cached_input_per_1k_tokens: number | null;
2518
+ } | null;
2519
+ /**
2520
+ * When the catalog last confirmed this entry against the provider.
2521
+ */
2522
+ synced_at: Date;
2523
+ };
2524
+ type ModelList = {
2525
+ data: Array<Model>;
2526
+ /**
2527
+ * Cursor for the next page, or null at the end.
2528
+ */
2529
+ next_cursor: string | null;
2530
+ };
2531
+ /**
2532
+ * The provider the runtime created — the same resource [`GET /v1/projects/{project_id}/ai-providers/{ai_provider_id}`](/docs/api/ai-providers/get-ai-provider) returns, relayed verbatim.
2533
+ *
2534
+ */
2535
+ type ManagedProvider = {
2536
+ id?: string;
2537
+ name?: string;
2538
+ provider?: string;
2539
+ /**
2540
+ * The exact model string the provider generates with.
2541
+ */
2542
+ default_model?: string;
2543
+ project_id?: string;
2544
+ created_at?: Date;
2545
+ updated_at?: Date;
2546
+ };
2217
2547
  type Project = {
2218
2548
  /**
2219
2549
  * Public project ID (proj_ prefix).
@@ -2815,81 +3145,185 @@ type CallToolRequest = {
2815
3145
  [key: string]: unknown;
2816
3146
  };
2817
3147
  };
2818
- type UserUpdate = {
3148
+ type Trace = {
2819
3149
  /**
2820
- * Display name; null clears it.
3150
+ * Public ID of the trace
2821
3151
  */
2822
- name: string | null;
2823
- };
2824
- /**
2825
- * A naturali event type. The set below is what this API emits — deliberately only the events it can itself cause, so no declared name is one that never fires. It grows as modules land.
2826
- *
2827
- */
2828
- type EventType = 'conversation.started' | 'message.received' | 'generation.completed' | 'generation.failed';
2829
- /**
2830
- * Which events this endpoint receives. Each entry is an exact type (`generation.completed`), a resource wildcard (`generation.*`), or `*` for everything. A bare resource name (`generation`) matches nothing and is rejected.
2831
- *
2832
- */
2833
- type EventSubscription = Array<string>;
2834
- /**
2835
- * The envelope POSTed to your endpoint. It is also what a delivery's `payload` holds, byte for byte, so the signed body and the recorded one are the same document.
2836
- *
2837
- */
2838
- type Event = {
3152
+ id?: string;
2839
3153
  /**
2840
- * Unique per event (`evt_` prefix), and stable across redeliveries — dedupe on this if your receiver must process an event exactly once.
2841
- *
3154
+ * Public ID of the project
2842
3155
  */
2843
- id: string;
2844
- type: EventType;
2845
- project_id: string;
3156
+ project_id?: string;
2846
3157
  /**
2847
- * What the event is about.
3158
+ * Public ID of the agent that produced this trace
2848
3159
  */
2849
- resource_type: 'conversation' | 'message' | 'generation';
3160
+ agent_id?: string;
2850
3161
  /**
2851
- * The id of that resource, in the form its own API uses.
3162
+ * Public ID of the File containing the full serialized steps JSON. Null if the trace has not been saved yet (save is fire-and-forget).
3163
+ *
2852
3164
  */
2853
- resource_id: string;
3165
+ file_id?: string | null;
2854
3166
  /**
2855
- * The resource, shaped exactly as its own API returns it — a `generation.completed` payload carries the same object `getGeneration` would.
3167
+ * Number of steps recorded in this trace
3168
+ */
3169
+ step_count?: number;
3170
+ /**
3171
+ * Public ID of the parent trace. Null if this trace is the root (i.e., it was not triggered by a sub-agent call from another trace).
2856
3172
  *
2857
3173
  */
2858
- data: {
2859
- [key: string]: unknown;
2860
- };
2861
- created_at: Date;
2862
- };
2863
- type Webhook = {
3174
+ parent_trace_id?: string | null;
2864
3175
  /**
2865
- * Public webhook ID (whk_ prefix).
3176
+ * Public ID of the root trace for the entire execution tree. Null if this trace is itself the root.
3177
+ *
2866
3178
  */
2867
- id: string;
2868
- project_id: string;
3179
+ root_trace_id?: string | null;
2869
3180
  /**
2870
- * Where deliveries are POSTed.
3181
+ * Structured error payload recorded when a generation in this trace failed (e.g. an upstream AI provider error). Null if no failure has been recorded.
3182
+ *
2871
3183
  */
2872
- url: string;
2873
- events: EventSubscription;
3184
+ error?: {
3185
+ code?: string;
3186
+ message?: string;
3187
+ meta?: {
3188
+ [key: string]: unknown;
3189
+ };
3190
+ } | null;
2874
3191
  /**
2875
- * Operator-facing label.
3192
+ * When the trace's content was purged. Non-null means the steps object has been deleted from storage and the content columns cleared, while this row survives as an auditable skeleton (ids, timestamps, step count). A purged trace still reads back as a skeleton with this marker set rather than as a 404, so the erasure is provable.
3193
+ *
2876
3194
  */
2877
- description: string | null;
3195
+ content_redacted_at?: Date | null;
2878
3196
  /**
2879
- * Whether deliveries are attempted.
3197
+ * Principal kind that purged the content ('user' or 'api_key')
2880
3198
  */
2881
- active: boolean;
2882
- created_at: Date;
2883
- updated_at: Date;
2884
- };
2885
- type WebhookWithSecret = Webhook & {
3199
+ content_redacted_by_principal_type?: string | null;
2886
3200
  /**
2887
- * The signing key (`whsec_` prefix), returned only by create and rotate. Never readable afterwards.
3201
+ * Public ID of the principal that purged the content — the API key's own id for key auth, so the record names which key acted.
2888
3202
  *
2889
3203
  */
2890
- secret: string;
3204
+ content_redacted_by_principal_id?: string | null;
3205
+ created_at?: Date;
2891
3206
  };
2892
- type WebhookCreate = {
3207
+ /**
3208
+ * A trace node in the execution tree, with nested children.
3209
+ */
3210
+ type TraceTreeNode = {
3211
+ /**
3212
+ * Public ID of the trace
3213
+ */
3214
+ id?: string;
3215
+ project_id?: string;
3216
+ agent_id?: string;
3217
+ file_id?: string | null;
3218
+ step_count?: number;
3219
+ parent_trace_id?: string | null;
3220
+ root_trace_id?: string | null;
3221
+ /**
3222
+ * Structured error payload recorded when a generation in this trace failed
3223
+ */
3224
+ error?: {
3225
+ [key: string]: unknown;
3226
+ } | null;
3227
+ created_at?: Date;
3228
+ /**
3229
+ * When the trace's content was purged. Non-null means the steps object has been deleted from storage and the content columns cleared, while this row survives as an auditable skeleton (ids, timestamps, step count). A purged trace still reads back as a skeleton with this marker set rather than as a 404, so the erasure is provable.
3230
+ *
3231
+ */
3232
+ content_redacted_at?: Date | null;
3233
+ /**
3234
+ * Principal kind that purged the content ('user' or 'api_key')
3235
+ */
3236
+ content_redacted_by_principal_type?: string | null;
3237
+ /**
3238
+ * Public ID of the principal that purged the content — the API key's own id for key auth, so the record names which key acted.
3239
+ *
3240
+ */
3241
+ content_redacted_by_principal_id?: string | null;
3242
+ /**
3243
+ * Child traces triggered by sub-agent calls from this trace
3244
+ */
3245
+ children?: Array<TraceTreeNode>;
3246
+ /**
3247
+ * Generations that belong to this trace node. Only present when `include=generations` is requested. Includes top-level generations and sub-agent child generations linked via `initiator_generation_id`.
3248
+ *
3249
+ */
3250
+ generations?: Array<Generation>;
3251
+ };
3252
+ type UserUpdate = {
3253
+ /**
3254
+ * Display name; null clears it.
3255
+ */
3256
+ name: string | null;
3257
+ };
3258
+ /**
3259
+ * A naturali event type. The set below is what this API emits — deliberately only the events it can itself cause, so no declared name is one that never fires. It grows as modules land.
3260
+ *
3261
+ */
3262
+ type EventType = 'conversation.started' | 'message.received' | 'generation.completed' | 'generation.failed';
3263
+ /**
3264
+ * Which events this endpoint receives. Each entry is an exact type (`generation.completed`), a resource wildcard (`generation.*`), or `*` for everything. A bare resource name (`generation`) matches nothing and is rejected.
3265
+ *
3266
+ */
3267
+ type EventSubscription = Array<string>;
3268
+ /**
3269
+ * The envelope POSTed to your endpoint. It is also what a delivery's `payload` holds, byte for byte, so the signed body and the recorded one are the same document.
3270
+ *
3271
+ */
3272
+ type Event = {
3273
+ /**
3274
+ * Unique per event (`evt_` prefix), and stable across redeliveries — dedupe on this if your receiver must process an event exactly once.
3275
+ *
3276
+ */
3277
+ id: string;
3278
+ type: EventType;
3279
+ project_id: string;
3280
+ /**
3281
+ * What the event is about.
3282
+ */
3283
+ resource_type: 'conversation' | 'message' | 'generation';
3284
+ /**
3285
+ * The id of that resource, in the form its own API uses.
3286
+ */
3287
+ resource_id: string;
3288
+ /**
3289
+ * The resource, shaped exactly as its own API returns it — a `generation.completed` payload carries the same object `getGeneration` would.
3290
+ *
3291
+ */
3292
+ data: {
3293
+ [key: string]: unknown;
3294
+ };
3295
+ created_at: Date;
3296
+ };
3297
+ type Webhook = {
3298
+ /**
3299
+ * Public webhook ID (whk_ prefix).
3300
+ */
3301
+ id: string;
3302
+ project_id: string;
3303
+ /**
3304
+ * Where deliveries are POSTed.
3305
+ */
3306
+ url: string;
3307
+ events: EventSubscription;
3308
+ /**
3309
+ * Operator-facing label.
3310
+ */
3311
+ description: string | null;
3312
+ /**
3313
+ * Whether deliveries are attempted.
3314
+ */
3315
+ active: boolean;
3316
+ created_at: Date;
3317
+ updated_at: Date;
3318
+ };
3319
+ type WebhookWithSecret = Webhook & {
3320
+ /**
3321
+ * The signing key (`whsec_` prefix), returned only by create and rotate. Never readable afterwards.
3322
+ *
3323
+ */
3324
+ secret: string;
3325
+ };
3326
+ type WebhookCreate = {
2893
3327
  /**
2894
3328
  * An `https://` endpoint (`http://` is accepted for localhost, so a tunnel works in development).
2895
3329
  *
@@ -3019,6 +3453,10 @@ type MessagesLimit = number;
3019
3453
  * Number of messages to skip.
3020
3454
  */
3021
3455
  type Offset = number;
3456
+ /**
3457
+ * Public model id.
3458
+ */
3459
+ type ModelId = string;
3022
3460
  /**
3023
3461
  * When true, delete the resource together with its dependents instead of returning 409. Destructive and irreversible.
3024
3462
  *
@@ -6292,7 +6730,7 @@ type ReplaceConversationTagsResponses = {
6292
6730
  };
6293
6731
  };
6294
6732
  type ReplaceConversationTagsResponse = ReplaceConversationTagsResponses[keyof ReplaceConversationTagsResponses];
6295
- type ListGenerationsData = {
6733
+ type ListDatasetsData = {
6296
6734
  body?: never;
6297
6735
  path: {
6298
6736
  /**
@@ -6302,129 +6740,128 @@ type ListGenerationsData = {
6302
6740
  };
6303
6741
  query?: {
6304
6742
  /**
6305
- * Filter by agent public ID
6306
- */
6307
- agent_id?: string;
6308
- /**
6309
- * Filter by trace public ID
6310
- */
6311
- trace_id?: string;
6312
- /**
6313
- * Filter by the public ID of the parent generation. Returns all generations triggered by that generation — sub-agent invocations. Null-initiated (top-level) generations are not returned.
6314
- *
6743
+ * Maximum number of results to return
6315
6744
  */
6316
- initiator_generation_id?: string;
6745
+ limit?: number;
6317
6746
  /**
6318
- * Filter by lifecycle status
6747
+ * Number of results to skip
6319
6748
  */
6320
- status?: 'in_progress' | 'requires_action' | 'completed' | 'failed';
6321
- limit?: number;
6322
6749
  offset?: number;
6323
6750
  };
6324
- url: '/v1/projects/{project_id}/generations';
6751
+ url: '/v1/projects/{project_id}/datasets';
6325
6752
  };
6326
- type ListGenerationsErrors = {
6753
+ type ListDatasetsErrors = {
6327
6754
  /**
6328
6755
  * Unauthorized
6329
6756
  */
6330
- 401: ErrorResponse;
6757
+ 401: unknown;
6331
6758
  /**
6332
6759
  * Forbidden
6333
6760
  */
6334
- 403: ErrorResponse;
6761
+ 403: unknown;
6762
+ /**
6763
+ * Internal server error
6764
+ */
6765
+ 500: unknown;
6335
6766
  };
6336
- type ListGenerationsError = ListGenerationsErrors[keyof ListGenerationsErrors];
6337
- type ListGenerationsResponses = {
6767
+ type ListDatasetsResponses = {
6338
6768
  /**
6339
- * Paginated list of generations
6769
+ * List of datasets
6340
6770
  */
6341
6771
  200: {
6342
- data?: Array<Generation>;
6343
- total?: number;
6344
- limit?: number;
6345
- offset?: number;
6772
+ data: Array<Dataset>;
6773
+ total: number;
6774
+ limit: number;
6775
+ offset: number;
6346
6776
  };
6347
6777
  };
6348
- type ListGenerationsResponse = ListGenerationsResponses[keyof ListGenerationsResponses];
6349
- type GetGenerationData = {
6350
- body?: never;
6778
+ type ListDatasetsResponse = ListDatasetsResponses[keyof ListDatasetsResponses];
6779
+ type CreateDatasetData = {
6780
+ body: {
6781
+ /**
6782
+ * Unique name within the project
6783
+ */
6784
+ name: string;
6785
+ /**
6786
+ * What this suite covers
6787
+ */
6788
+ description?: string | null;
6789
+ };
6351
6790
  path: {
6352
6791
  /**
6353
6792
  * Project public ID (proj_ prefix).
6354
6793
  */
6355
6794
  project_id: string;
6356
- /**
6357
- * Public ID of the generation
6358
- */
6359
- generation_id: string;
6360
6795
  };
6361
6796
  query?: never;
6362
- url: '/v1/projects/{project_id}/generations/{generation_id}';
6797
+ url: '/v1/projects/{project_id}/datasets';
6363
6798
  };
6364
- type GetGenerationErrors = {
6799
+ type CreateDatasetErrors = {
6800
+ /**
6801
+ * Bad request (missing or invalid name)
6802
+ */
6803
+ 400: unknown;
6365
6804
  /**
6366
6805
  * Unauthorized
6367
6806
  */
6368
- 401: ErrorResponse;
6807
+ 401: unknown;
6369
6808
  /**
6370
6809
  * Forbidden
6371
6810
  */
6372
- 403: ErrorResponse;
6811
+ 403: unknown;
6373
6812
  /**
6374
- * Generation not found
6813
+ * A dataset with that name already exists in the project
6375
6814
  */
6376
- 404: ErrorResponse;
6815
+ 409: unknown;
6816
+ /**
6817
+ * Internal server error
6818
+ */
6819
+ 500: unknown;
6377
6820
  };
6378
- type GetGenerationError = GetGenerationErrors[keyof GetGenerationErrors];
6379
- type GetGenerationResponses = {
6821
+ type CreateDatasetResponses = {
6380
6822
  /**
6381
- * Generation details
6823
+ * Dataset created successfully
6382
6824
  */
6383
- 200: Generation;
6825
+ 201: Dataset;
6384
6826
  };
6385
- type GetGenerationResponse = GetGenerationResponses[keyof GetGenerationResponses];
6386
- type UpdateGenerationData = {
6387
- body: UpdateGenerationRequest;
6827
+ type CreateDatasetResponse = CreateDatasetResponses[keyof CreateDatasetResponses];
6828
+ type DeleteDatasetData = {
6829
+ body?: never;
6388
6830
  path: {
6389
6831
  /**
6390
6832
  * Project public ID (proj_ prefix).
6391
6833
  */
6392
6834
  project_id: string;
6393
6835
  /**
6394
- * Public ID of the generation
6836
+ * Dataset ID
6395
6837
  */
6396
- generation_id: string;
6838
+ dataset_id: string;
6397
6839
  };
6398
6840
  query?: never;
6399
- url: '/v1/projects/{project_id}/generations/{generation_id}';
6841
+ url: '/v1/projects/{project_id}/datasets/{dataset_id}';
6400
6842
  };
6401
- type UpdateGenerationErrors = {
6402
- /**
6403
- * Bad Request (e.g. metadata is not a JSON object)
6404
- */
6405
- 400: ErrorResponse;
6843
+ type DeleteDatasetErrors = {
6406
6844
  /**
6407
6845
  * Unauthorized
6408
6846
  */
6409
- 401: ErrorResponse;
6847
+ 401: unknown;
6410
6848
  /**
6411
6849
  * Forbidden
6412
6850
  */
6413
- 403: ErrorResponse;
6851
+ 403: unknown;
6414
6852
  /**
6415
- * Generation not found
6853
+ * Dataset not found
6416
6854
  */
6417
- 404: ErrorResponse;
6855
+ 404: unknown;
6418
6856
  };
6419
- type UpdateGenerationError = UpdateGenerationErrors[keyof UpdateGenerationErrors];
6420
- type UpdateGenerationResponses = {
6857
+ type DeleteDatasetResponses = {
6421
6858
  /**
6422
- * Updated generation
6859
+ * Dataset deleted successfully
6423
6860
  */
6424
- 200: Generation;
6861
+ 204: void;
6425
6862
  };
6426
- type UpdateGenerationResponse = UpdateGenerationResponses[keyof UpdateGenerationResponses];
6427
- type PurgeGenerationContentData = {
6863
+ type DeleteDatasetResponse = DeleteDatasetResponses[keyof DeleteDatasetResponses];
6864
+ type GetDatasetData = {
6428
6865
  body?: never;
6429
6866
  path: {
6430
6867
  /**
@@ -6432,80 +6869,1021 @@ type PurgeGenerationContentData = {
6432
6869
  */
6433
6870
  project_id: string;
6434
6871
  /**
6435
- * Public ID of the generation
6872
+ * Dataset ID
6436
6873
  */
6437
- generation_id: string;
6874
+ dataset_id: string;
6438
6875
  };
6439
6876
  query?: never;
6440
- url: '/v1/projects/{project_id}/generations/{generation_id}/content';
6877
+ url: '/v1/projects/{project_id}/datasets/{dataset_id}';
6441
6878
  };
6442
- type PurgeGenerationContentErrors = {
6879
+ type GetDatasetErrors = {
6443
6880
  /**
6444
6881
  * Unauthorized
6445
6882
  */
6446
- 401: ErrorResponse;
6883
+ 401: unknown;
6447
6884
  /**
6448
6885
  * Forbidden
6449
6886
  */
6450
- 403: ErrorResponse;
6887
+ 403: unknown;
6451
6888
  /**
6452
- * Generation not found
6889
+ * Dataset not found
6453
6890
  */
6454
- 404: ErrorResponse;
6891
+ 404: unknown;
6455
6892
  };
6456
- type PurgeGenerationContentError = PurgeGenerationContentErrors[keyof PurgeGenerationContentErrors];
6457
- type PurgeGenerationContentResponses = {
6893
+ type GetDatasetResponses = {
6458
6894
  /**
6459
- * The purged generation skeleton
6895
+ * Dataset details
6460
6896
  */
6461
- 200: Generation;
6897
+ 200: Dataset;
6462
6898
  };
6463
- type PurgeGenerationContentResponse = PurgeGenerationContentResponses[keyof PurgeGenerationContentResponses];
6464
- type GetGenerationTranscriptData = {
6465
- body?: never;
6899
+ type GetDatasetResponse = GetDatasetResponses[keyof GetDatasetResponses];
6900
+ type UpdateDatasetData = {
6901
+ body: {
6902
+ name?: string;
6903
+ description?: string | null;
6904
+ };
6466
6905
  path: {
6467
6906
  /**
6468
6907
  * Project public ID (proj_ prefix).
6469
6908
  */
6470
6909
  project_id: string;
6471
6910
  /**
6472
- * Public ID of the generation
6911
+ * Dataset ID
6473
6912
  */
6474
- generation_id: string;
6913
+ dataset_id: string;
6475
6914
  };
6476
6915
  query?: never;
6477
- url: '/v1/projects/{project_id}/generations/{generation_id}/transcript';
6916
+ url: '/v1/projects/{project_id}/datasets/{dataset_id}';
6478
6917
  };
6479
- type GetGenerationTranscriptErrors = {
6918
+ type UpdateDatasetErrors = {
6919
+ /**
6920
+ * Bad request
6921
+ */
6922
+ 400: unknown;
6480
6923
  /**
6481
6924
  * Unauthorized
6482
6925
  */
6483
- 401: ErrorResponse;
6926
+ 401: unknown;
6484
6927
  /**
6485
6928
  * Forbidden
6486
6929
  */
6487
- 403: ErrorResponse;
6930
+ 403: unknown;
6488
6931
  /**
6489
- * Generation not found
6932
+ * Dataset not found
6490
6933
  */
6491
- 404: ErrorResponse;
6934
+ 404: unknown;
6935
+ /**
6936
+ * A dataset with that name already exists in the project
6937
+ */
6938
+ 409: unknown;
6492
6939
  };
6493
- type GetGenerationTranscriptError = GetGenerationTranscriptErrors[keyof GetGenerationTranscriptErrors];
6494
- type GetGenerationTranscriptResponses = {
6940
+ type UpdateDatasetResponses = {
6495
6941
  /**
6496
- * The generation's transcript
6942
+ * Dataset updated successfully
6497
6943
  */
6498
- 200: GenerationTranscript;
6944
+ 200: Dataset;
6499
6945
  };
6500
- type GetGenerationTranscriptResponse = GetGenerationTranscriptResponses[keyof GetGenerationTranscriptResponses];
6501
- type ListModelRoutesData = {
6946
+ type UpdateDatasetResponse = UpdateDatasetResponses[keyof UpdateDatasetResponses];
6947
+ type ListDatasetItemsData = {
6502
6948
  body?: never;
6503
6949
  path: {
6504
6950
  /**
6505
6951
  * Project public ID (proj_ prefix).
6506
6952
  */
6507
6953
  project_id: string;
6508
- };
6954
+ /**
6955
+ * Dataset ID
6956
+ */
6957
+ dataset_id: string;
6958
+ };
6959
+ query?: {
6960
+ /**
6961
+ * Maximum number of results to return
6962
+ */
6963
+ limit?: number;
6964
+ /**
6965
+ * Number of results to skip
6966
+ */
6967
+ offset?: number;
6968
+ };
6969
+ url: '/v1/projects/{project_id}/datasets/{dataset_id}/items';
6970
+ };
6971
+ type ListDatasetItemsErrors = {
6972
+ /**
6973
+ * Unauthorized
6974
+ */
6975
+ 401: unknown;
6976
+ /**
6977
+ * Forbidden
6978
+ */
6979
+ 403: unknown;
6980
+ /**
6981
+ * Dataset not found
6982
+ */
6983
+ 404: unknown;
6984
+ };
6985
+ type ListDatasetItemsResponses = {
6986
+ /**
6987
+ * List of dataset items
6988
+ */
6989
+ 200: {
6990
+ data: Array<DatasetItem>;
6991
+ total: number;
6992
+ limit: number;
6993
+ offset: number;
6994
+ };
6995
+ };
6996
+ type ListDatasetItemsResponse = ListDatasetItemsResponses[keyof ListDatasetItemsResponses];
6997
+ type CreateDatasetItemData = {
6998
+ body: {
6999
+ input: DatasetItemInput;
7000
+ /**
7001
+ * Reference answer for exact_match / llm_judge scorers
7002
+ */
7003
+ expected_output?: string | null;
7004
+ /**
7005
+ * Free-form tags, opaque to the platform
7006
+ */
7007
+ metadata?: {
7008
+ [key: string]: unknown;
7009
+ } | null;
7010
+ };
7011
+ path: {
7012
+ /**
7013
+ * Project public ID (proj_ prefix).
7014
+ */
7015
+ project_id: string;
7016
+ /**
7017
+ * Dataset ID
7018
+ */
7019
+ dataset_id: string;
7020
+ };
7021
+ query?: never;
7022
+ url: '/v1/projects/{project_id}/datasets/{dataset_id}/items';
7023
+ };
7024
+ type CreateDatasetItemErrors = {
7025
+ /**
7026
+ * Bad request (input is not message-shaped)
7027
+ */
7028
+ 400: unknown;
7029
+ /**
7030
+ * Unauthorized
7031
+ */
7032
+ 401: unknown;
7033
+ /**
7034
+ * Forbidden
7035
+ */
7036
+ 403: unknown;
7037
+ /**
7038
+ * Dataset not found
7039
+ */
7040
+ 404: unknown;
7041
+ };
7042
+ type CreateDatasetItemResponses = {
7043
+ /**
7044
+ * Dataset item created successfully
7045
+ */
7046
+ 201: DatasetItem;
7047
+ };
7048
+ type CreateDatasetItemResponse = CreateDatasetItemResponses[keyof CreateDatasetItemResponses];
7049
+ type CreateDatasetItemFromGenerationData = {
7050
+ body: {
7051
+ /**
7052
+ * The completed generation to promote. Must belong to the same project as the dataset.
7053
+ */
7054
+ generation_id: string;
7055
+ /**
7056
+ * Reference answer. Omit to use the generation's own answer; pass `null` to store the item with no reference answer.
7057
+ */
7058
+ expected_output?: string | null;
7059
+ /**
7060
+ * Free-form tags, opaque to the platform
7061
+ */
7062
+ metadata?: {
7063
+ [key: string]: unknown;
7064
+ } | null;
7065
+ };
7066
+ path: {
7067
+ /**
7068
+ * Project public ID (proj_ prefix).
7069
+ */
7070
+ project_id: string;
7071
+ /**
7072
+ * Dataset ID
7073
+ */
7074
+ dataset_id: string;
7075
+ };
7076
+ query?: never;
7077
+ url: '/v1/projects/{project_id}/datasets/{dataset_id}/items/from-generation';
7078
+ };
7079
+ type CreateDatasetItemFromGenerationErrors = {
7080
+ /**
7081
+ * Bad request (generation_id missing, or the generation belongs to a different project than the dataset)
7082
+ */
7083
+ 400: unknown;
7084
+ /**
7085
+ * Unauthorized
7086
+ */
7087
+ 401: unknown;
7088
+ /**
7089
+ * Forbidden
7090
+ */
7091
+ 403: unknown;
7092
+ /**
7093
+ * Dataset or generation not found
7094
+ */
7095
+ 404: unknown;
7096
+ /**
7097
+ * The generation has not completed, or its content was never stored or has been purged
7098
+ */
7099
+ 409: unknown;
7100
+ };
7101
+ type CreateDatasetItemFromGenerationResponses = {
7102
+ /**
7103
+ * Dataset item created from the generation
7104
+ */
7105
+ 201: DatasetItem;
7106
+ };
7107
+ type CreateDatasetItemFromGenerationResponse = CreateDatasetItemFromGenerationResponses[keyof CreateDatasetItemFromGenerationResponses];
7108
+ type DeleteDatasetItemData = {
7109
+ body?: never;
7110
+ path: {
7111
+ /**
7112
+ * Project public ID (proj_ prefix).
7113
+ */
7114
+ project_id: string;
7115
+ /**
7116
+ * Dataset ID
7117
+ */
7118
+ dataset_id: string;
7119
+ /**
7120
+ * Dataset item ID
7121
+ */
7122
+ item_id: string;
7123
+ };
7124
+ query?: never;
7125
+ url: '/v1/projects/{project_id}/datasets/{dataset_id}/items/{item_id}';
7126
+ };
7127
+ type DeleteDatasetItemErrors = {
7128
+ /**
7129
+ * Unauthorized
7130
+ */
7131
+ 401: unknown;
7132
+ /**
7133
+ * Forbidden
7134
+ */
7135
+ 403: unknown;
7136
+ /**
7137
+ * Dataset or item not found
7138
+ */
7139
+ 404: unknown;
7140
+ };
7141
+ type DeleteDatasetItemResponses = {
7142
+ /**
7143
+ * Dataset item deleted successfully
7144
+ */
7145
+ 204: void;
7146
+ };
7147
+ type DeleteDatasetItemResponse = DeleteDatasetItemResponses[keyof DeleteDatasetItemResponses];
7148
+ type UpdateDatasetItemData = {
7149
+ body: {
7150
+ input?: DatasetItemInput;
7151
+ expected_output?: string | null;
7152
+ metadata?: {
7153
+ [key: string]: unknown;
7154
+ } | null;
7155
+ };
7156
+ path: {
7157
+ /**
7158
+ * Project public ID (proj_ prefix).
7159
+ */
7160
+ project_id: string;
7161
+ /**
7162
+ * Dataset ID
7163
+ */
7164
+ dataset_id: string;
7165
+ /**
7166
+ * Dataset item ID
7167
+ */
7168
+ item_id: string;
7169
+ };
7170
+ query?: never;
7171
+ url: '/v1/projects/{project_id}/datasets/{dataset_id}/items/{item_id}';
7172
+ };
7173
+ type UpdateDatasetItemErrors = {
7174
+ /**
7175
+ * Bad request
7176
+ */
7177
+ 400: unknown;
7178
+ /**
7179
+ * Unauthorized
7180
+ */
7181
+ 401: unknown;
7182
+ /**
7183
+ * Forbidden
7184
+ */
7185
+ 403: unknown;
7186
+ /**
7187
+ * Dataset or item not found
7188
+ */
7189
+ 404: unknown;
7190
+ };
7191
+ type UpdateDatasetItemResponses = {
7192
+ /**
7193
+ * Dataset item updated successfully
7194
+ */
7195
+ 200: DatasetItem;
7196
+ };
7197
+ type UpdateDatasetItemResponse = UpdateDatasetItemResponses[keyof UpdateDatasetItemResponses];
7198
+ type ListEvalsData = {
7199
+ body?: never;
7200
+ path: {
7201
+ /**
7202
+ * Project public ID (proj_ prefix).
7203
+ */
7204
+ project_id: string;
7205
+ };
7206
+ query?: {
7207
+ /**
7208
+ * Maximum number of results to return
7209
+ */
7210
+ limit?: number;
7211
+ /**
7212
+ * Number of results to skip
7213
+ */
7214
+ offset?: number;
7215
+ };
7216
+ url: '/v1/projects/{project_id}/evals';
7217
+ };
7218
+ type ListEvalsErrors = {
7219
+ /**
7220
+ * Unauthorized
7221
+ */
7222
+ 401: unknown;
7223
+ /**
7224
+ * Forbidden
7225
+ */
7226
+ 403: unknown;
7227
+ /**
7228
+ * Internal server error
7229
+ */
7230
+ 500: unknown;
7231
+ };
7232
+ type ListEvalsResponses = {
7233
+ /**
7234
+ * List of evals
7235
+ */
7236
+ 200: {
7237
+ data: Array<Eval>;
7238
+ total: number;
7239
+ limit: number;
7240
+ offset: number;
7241
+ };
7242
+ };
7243
+ type ListEvalsResponse = ListEvalsResponses[keyof ListEvalsResponses];
7244
+ type CreateEvalData = {
7245
+ body: {
7246
+ /**
7247
+ * Unique name within the project
7248
+ */
7249
+ name: string;
7250
+ /**
7251
+ * The agent under test
7252
+ */
7253
+ agent_id: string;
7254
+ /**
7255
+ * The dataset to run it against
7256
+ */
7257
+ dataset_id: string;
7258
+ scorers: Scorers;
7259
+ /**
7260
+ * 0–1. The run passes iff its pass rate — passed items over non-errored items — is at least this. Null reports scores without gating on them.
7261
+ */
7262
+ pass_threshold?: number | null;
7263
+ };
7264
+ path: {
7265
+ /**
7266
+ * Project public ID (proj_ prefix).
7267
+ */
7268
+ project_id: string;
7269
+ };
7270
+ query?: never;
7271
+ url: '/v1/projects/{project_id}/evals';
7272
+ };
7273
+ type CreateEvalErrors = {
7274
+ /**
7275
+ * Bad request (unknown scorer type, cross-project reference, invalid threshold)
7276
+ */
7277
+ 400: unknown;
7278
+ /**
7279
+ * Unauthorized
7280
+ */
7281
+ 401: unknown;
7282
+ /**
7283
+ * Forbidden
7284
+ */
7285
+ 403: unknown;
7286
+ /**
7287
+ * An eval with that name already exists in the project
7288
+ */
7289
+ 409: unknown;
7290
+ /**
7291
+ * Internal server error
7292
+ */
7293
+ 500: unknown;
7294
+ };
7295
+ type CreateEvalResponses = {
7296
+ /**
7297
+ * Eval created successfully
7298
+ */
7299
+ 201: Eval;
7300
+ };
7301
+ type CreateEvalResponse = CreateEvalResponses[keyof CreateEvalResponses];
7302
+ type DeleteEvalData = {
7303
+ body?: never;
7304
+ path: {
7305
+ /**
7306
+ * Project public ID (proj_ prefix).
7307
+ */
7308
+ project_id: string;
7309
+ /**
7310
+ * Eval ID
7311
+ */
7312
+ eval_id: string;
7313
+ };
7314
+ query?: never;
7315
+ url: '/v1/projects/{project_id}/evals/{eval_id}';
7316
+ };
7317
+ type DeleteEvalErrors = {
7318
+ /**
7319
+ * Unauthorized
7320
+ */
7321
+ 401: unknown;
7322
+ /**
7323
+ * Forbidden
7324
+ */
7325
+ 403: unknown;
7326
+ /**
7327
+ * Eval not found
7328
+ */
7329
+ 404: unknown;
7330
+ };
7331
+ type DeleteEvalResponses = {
7332
+ /**
7333
+ * Eval deleted successfully
7334
+ */
7335
+ 204: void;
7336
+ };
7337
+ type DeleteEvalResponse = DeleteEvalResponses[keyof DeleteEvalResponses];
7338
+ type GetEvalData = {
7339
+ body?: never;
7340
+ path: {
7341
+ /**
7342
+ * Project public ID (proj_ prefix).
7343
+ */
7344
+ project_id: string;
7345
+ /**
7346
+ * Eval ID
7347
+ */
7348
+ eval_id: string;
7349
+ };
7350
+ query?: never;
7351
+ url: '/v1/projects/{project_id}/evals/{eval_id}';
7352
+ };
7353
+ type GetEvalErrors = {
7354
+ /**
7355
+ * Unauthorized
7356
+ */
7357
+ 401: unknown;
7358
+ /**
7359
+ * Forbidden
7360
+ */
7361
+ 403: unknown;
7362
+ /**
7363
+ * Eval not found
7364
+ */
7365
+ 404: unknown;
7366
+ };
7367
+ type GetEvalResponses = {
7368
+ /**
7369
+ * Eval details
7370
+ */
7371
+ 200: Eval;
7372
+ };
7373
+ type GetEvalResponse = GetEvalResponses[keyof GetEvalResponses];
7374
+ type UpdateEvalData = {
7375
+ body: {
7376
+ name?: string;
7377
+ agent_id?: string;
7378
+ dataset_id?: string;
7379
+ scorers?: Scorers;
7380
+ pass_threshold?: number | null;
7381
+ };
7382
+ path: {
7383
+ /**
7384
+ * Project public ID (proj_ prefix).
7385
+ */
7386
+ project_id: string;
7387
+ /**
7388
+ * Eval ID
7389
+ */
7390
+ eval_id: string;
7391
+ };
7392
+ query?: never;
7393
+ url: '/v1/projects/{project_id}/evals/{eval_id}';
7394
+ };
7395
+ type UpdateEvalErrors = {
7396
+ /**
7397
+ * Bad request
7398
+ */
7399
+ 400: unknown;
7400
+ /**
7401
+ * Unauthorized
7402
+ */
7403
+ 401: unknown;
7404
+ /**
7405
+ * Forbidden
7406
+ */
7407
+ 403: unknown;
7408
+ /**
7409
+ * Eval not found
7410
+ */
7411
+ 404: unknown;
7412
+ /**
7413
+ * An eval with that name already exists in the project
7414
+ */
7415
+ 409: unknown;
7416
+ };
7417
+ type UpdateEvalResponses = {
7418
+ /**
7419
+ * Eval updated successfully
7420
+ */
7421
+ 200: Eval;
7422
+ };
7423
+ type UpdateEvalResponse = UpdateEvalResponses[keyof UpdateEvalResponses];
7424
+ type ListEvalRunsData = {
7425
+ body?: never;
7426
+ path: {
7427
+ /**
7428
+ * Project public ID (proj_ prefix).
7429
+ */
7430
+ project_id: string;
7431
+ /**
7432
+ * Eval ID
7433
+ */
7434
+ eval_id: string;
7435
+ };
7436
+ query?: {
7437
+ /**
7438
+ * Maximum number of results to return
7439
+ */
7440
+ limit?: number;
7441
+ /**
7442
+ * Number of results to skip
7443
+ */
7444
+ offset?: number;
7445
+ };
7446
+ url: '/v1/projects/{project_id}/evals/{eval_id}/runs';
7447
+ };
7448
+ type ListEvalRunsErrors = {
7449
+ /**
7450
+ * Unauthorized
7451
+ */
7452
+ 401: unknown;
7453
+ /**
7454
+ * Forbidden
7455
+ */
7456
+ 403: unknown;
7457
+ /**
7458
+ * Eval not found
7459
+ */
7460
+ 404: unknown;
7461
+ };
7462
+ type ListEvalRunsResponses = {
7463
+ /**
7464
+ * List of eval runs
7465
+ */
7466
+ 200: {
7467
+ data: Array<EvalRun>;
7468
+ total: number;
7469
+ limit: number;
7470
+ offset: number;
7471
+ };
7472
+ };
7473
+ type ListEvalRunsResponse = ListEvalRunsResponses[keyof ListEvalRunsResponses];
7474
+ type StartEvalRunData = {
7475
+ body: {
7476
+ /**
7477
+ * True runs the eval synchronously (25-item cap) and returns a terminal run with its scores. False — the default — enqueues the items and returns a `queued` run immediately.
7478
+ */
7479
+ wait?: boolean;
7480
+ /**
7481
+ * An archived agent version to evaluate. Defaults to the active release's stable version, or the live draft version when no release is in effect.
7482
+ */
7483
+ agent_version?: number | null;
7484
+ /**
7485
+ * A terminal run of the same eval to compare against. The finished run's `aggregate_scores.baseline` reports per-scorer deltas over the item intersection. A run of a different eval is rejected with 400.
7486
+ */
7487
+ baseline_run_id?: string | null;
7488
+ };
7489
+ path: {
7490
+ /**
7491
+ * Project public ID (proj_ prefix).
7492
+ */
7493
+ project_id: string;
7494
+ /**
7495
+ * Eval ID
7496
+ */
7497
+ eval_id: string;
7498
+ };
7499
+ query?: never;
7500
+ url: '/v1/projects/{project_id}/evals/{eval_id}/runs';
7501
+ };
7502
+ type StartEvalRunErrors = {
7503
+ /**
7504
+ * Bad request (non-boolean wait, dataset empty or over the synchronous cap, unknown agent_version, invalid baseline, scorers no longer valid against the agent)
7505
+ */
7506
+ 400: unknown;
7507
+ /**
7508
+ * Unauthorized
7509
+ */
7510
+ 401: unknown;
7511
+ /**
7512
+ * Forbidden
7513
+ */
7514
+ 403: unknown;
7515
+ /**
7516
+ * Eval not found
7517
+ */
7518
+ 404: unknown;
7519
+ /**
7520
+ * Internal server error
7521
+ */
7522
+ 500: unknown;
7523
+ };
7524
+ type StartEvalRunResponses = {
7525
+ /**
7526
+ * Eval run finished (`wait: true`) or queued (`wait: false`)
7527
+ */
7528
+ 201: EvalRun;
7529
+ };
7530
+ type StartEvalRunResponse = StartEvalRunResponses[keyof StartEvalRunResponses];
7531
+ type GetEvalRunData = {
7532
+ body?: never;
7533
+ path: {
7534
+ /**
7535
+ * Project public ID (proj_ prefix).
7536
+ */
7537
+ project_id: string;
7538
+ /**
7539
+ * Eval ID
7540
+ */
7541
+ eval_id: string;
7542
+ /**
7543
+ * Eval run ID
7544
+ */
7545
+ eval_run_id: string;
7546
+ };
7547
+ query?: never;
7548
+ url: '/v1/projects/{project_id}/evals/{eval_id}/runs/{eval_run_id}';
7549
+ };
7550
+ type GetEvalRunErrors = {
7551
+ /**
7552
+ * Unauthorized
7553
+ */
7554
+ 401: unknown;
7555
+ /**
7556
+ * Forbidden
7557
+ */
7558
+ 403: unknown;
7559
+ /**
7560
+ * Eval or run not found
7561
+ */
7562
+ 404: unknown;
7563
+ };
7564
+ type GetEvalRunResponses = {
7565
+ /**
7566
+ * Eval run details
7567
+ */
7568
+ 200: EvalRun;
7569
+ };
7570
+ type GetEvalRunResponse = GetEvalRunResponses[keyof GetEvalRunResponses];
7571
+ type ListEvalResultsData = {
7572
+ body?: never;
7573
+ path: {
7574
+ /**
7575
+ * Project public ID (proj_ prefix).
7576
+ */
7577
+ project_id: string;
7578
+ /**
7579
+ * Eval ID
7580
+ */
7581
+ eval_id: string;
7582
+ /**
7583
+ * Eval run ID
7584
+ */
7585
+ eval_run_id: string;
7586
+ };
7587
+ query?: {
7588
+ /**
7589
+ * Maximum number of results to return
7590
+ */
7591
+ limit?: number;
7592
+ /**
7593
+ * Number of results to skip
7594
+ */
7595
+ offset?: number;
7596
+ };
7597
+ url: '/v1/projects/{project_id}/evals/{eval_id}/runs/{eval_run_id}/results';
7598
+ };
7599
+ type ListEvalResultsErrors = {
7600
+ /**
7601
+ * Unauthorized
7602
+ */
7603
+ 401: unknown;
7604
+ /**
7605
+ * Forbidden
7606
+ */
7607
+ 403: unknown;
7608
+ /**
7609
+ * Eval or run not found
7610
+ */
7611
+ 404: unknown;
7612
+ };
7613
+ type ListEvalResultsResponses = {
7614
+ /**
7615
+ * List of eval results
7616
+ */
7617
+ 200: {
7618
+ data: Array<EvalResult>;
7619
+ total: number;
7620
+ limit: number;
7621
+ offset: number;
7622
+ };
7623
+ };
7624
+ type ListEvalResultsResponse = ListEvalResultsResponses[keyof ListEvalResultsResponses];
7625
+ type CancelEvalRunData = {
7626
+ body?: never;
7627
+ path: {
7628
+ /**
7629
+ * Project public ID (proj_ prefix).
7630
+ */
7631
+ project_id: string;
7632
+ /**
7633
+ * Eval ID
7634
+ */
7635
+ eval_id: string;
7636
+ /**
7637
+ * Eval run ID
7638
+ */
7639
+ eval_run_id: string;
7640
+ };
7641
+ query?: never;
7642
+ url: '/v1/projects/{project_id}/evals/{eval_id}/runs/{eval_run_id}/cancel';
7643
+ };
7644
+ type CancelEvalRunErrors = {
7645
+ /**
7646
+ * The run has already finished
7647
+ */
7648
+ 400: unknown;
7649
+ /**
7650
+ * Unauthorized
7651
+ */
7652
+ 401: unknown;
7653
+ /**
7654
+ * Forbidden
7655
+ */
7656
+ 403: unknown;
7657
+ /**
7658
+ * Eval or run not found
7659
+ */
7660
+ 404: unknown;
7661
+ /**
7662
+ * Internal server error
7663
+ */
7664
+ 500: unknown;
7665
+ };
7666
+ type CancelEvalRunResponses = {
7667
+ /**
7668
+ * Eval run canceled
7669
+ */
7670
+ 200: EvalRun;
7671
+ };
7672
+ type CancelEvalRunResponse = CancelEvalRunResponses[keyof CancelEvalRunResponses];
7673
+ type ListGenerationsData = {
7674
+ body?: never;
7675
+ path: {
7676
+ /**
7677
+ * Project public ID (proj_ prefix).
7678
+ */
7679
+ project_id: string;
7680
+ };
7681
+ query?: {
7682
+ /**
7683
+ * Filter by agent public ID
7684
+ */
7685
+ agent_id?: string;
7686
+ /**
7687
+ * Filter by trace public ID
7688
+ */
7689
+ trace_id?: string;
7690
+ /**
7691
+ * Filter by the public ID of the parent generation. Returns all generations triggered by that generation — sub-agent invocations. Null-initiated (top-level) generations are not returned.
7692
+ *
7693
+ */
7694
+ initiator_generation_id?: string;
7695
+ /**
7696
+ * Filter by lifecycle status
7697
+ */
7698
+ status?: 'in_progress' | 'requires_action' | 'completed' | 'failed';
7699
+ limit?: number;
7700
+ offset?: number;
7701
+ };
7702
+ url: '/v1/projects/{project_id}/generations';
7703
+ };
7704
+ type ListGenerationsErrors = {
7705
+ /**
7706
+ * Unauthorized
7707
+ */
7708
+ 401: ErrorResponse;
7709
+ /**
7710
+ * Forbidden
7711
+ */
7712
+ 403: ErrorResponse;
7713
+ };
7714
+ type ListGenerationsError = ListGenerationsErrors[keyof ListGenerationsErrors];
7715
+ type ListGenerationsResponses = {
7716
+ /**
7717
+ * Paginated list of generations
7718
+ */
7719
+ 200: {
7720
+ data?: Array<Generation>;
7721
+ total?: number;
7722
+ limit?: number;
7723
+ offset?: number;
7724
+ };
7725
+ };
7726
+ type ListGenerationsResponse = ListGenerationsResponses[keyof ListGenerationsResponses];
7727
+ type GetGenerationData = {
7728
+ body?: never;
7729
+ path: {
7730
+ /**
7731
+ * Project public ID (proj_ prefix).
7732
+ */
7733
+ project_id: string;
7734
+ /**
7735
+ * Public ID of the generation
7736
+ */
7737
+ generation_id: string;
7738
+ };
7739
+ query?: never;
7740
+ url: '/v1/projects/{project_id}/generations/{generation_id}';
7741
+ };
7742
+ type GetGenerationErrors = {
7743
+ /**
7744
+ * Unauthorized
7745
+ */
7746
+ 401: ErrorResponse;
7747
+ /**
7748
+ * Forbidden
7749
+ */
7750
+ 403: ErrorResponse;
7751
+ /**
7752
+ * Generation not found
7753
+ */
7754
+ 404: ErrorResponse;
7755
+ };
7756
+ type GetGenerationError = GetGenerationErrors[keyof GetGenerationErrors];
7757
+ type GetGenerationResponses = {
7758
+ /**
7759
+ * Generation details
7760
+ */
7761
+ 200: Generation;
7762
+ };
7763
+ type GetGenerationResponse = GetGenerationResponses[keyof GetGenerationResponses];
7764
+ type UpdateGenerationData = {
7765
+ body: UpdateGenerationRequest;
7766
+ path: {
7767
+ /**
7768
+ * Project public ID (proj_ prefix).
7769
+ */
7770
+ project_id: string;
7771
+ /**
7772
+ * Public ID of the generation
7773
+ */
7774
+ generation_id: string;
7775
+ };
7776
+ query?: never;
7777
+ url: '/v1/projects/{project_id}/generations/{generation_id}';
7778
+ };
7779
+ type UpdateGenerationErrors = {
7780
+ /**
7781
+ * Bad Request (e.g. metadata is not a JSON object)
7782
+ */
7783
+ 400: ErrorResponse;
7784
+ /**
7785
+ * Unauthorized
7786
+ */
7787
+ 401: ErrorResponse;
7788
+ /**
7789
+ * Forbidden
7790
+ */
7791
+ 403: ErrorResponse;
7792
+ /**
7793
+ * Generation not found
7794
+ */
7795
+ 404: ErrorResponse;
7796
+ };
7797
+ type UpdateGenerationError = UpdateGenerationErrors[keyof UpdateGenerationErrors];
7798
+ type UpdateGenerationResponses = {
7799
+ /**
7800
+ * Updated generation
7801
+ */
7802
+ 200: Generation;
7803
+ };
7804
+ type UpdateGenerationResponse = UpdateGenerationResponses[keyof UpdateGenerationResponses];
7805
+ type PurgeGenerationContentData = {
7806
+ body?: never;
7807
+ path: {
7808
+ /**
7809
+ * Project public ID (proj_ prefix).
7810
+ */
7811
+ project_id: string;
7812
+ /**
7813
+ * Public ID of the generation
7814
+ */
7815
+ generation_id: string;
7816
+ };
7817
+ query?: never;
7818
+ url: '/v1/projects/{project_id}/generations/{generation_id}/content';
7819
+ };
7820
+ type PurgeGenerationContentErrors = {
7821
+ /**
7822
+ * Unauthorized
7823
+ */
7824
+ 401: ErrorResponse;
7825
+ /**
7826
+ * Forbidden
7827
+ */
7828
+ 403: ErrorResponse;
7829
+ /**
7830
+ * Generation not found
7831
+ */
7832
+ 404: ErrorResponse;
7833
+ };
7834
+ type PurgeGenerationContentError = PurgeGenerationContentErrors[keyof PurgeGenerationContentErrors];
7835
+ type PurgeGenerationContentResponses = {
7836
+ /**
7837
+ * The purged generation skeleton
7838
+ */
7839
+ 200: Generation;
7840
+ };
7841
+ type PurgeGenerationContentResponse = PurgeGenerationContentResponses[keyof PurgeGenerationContentResponses];
7842
+ type GetGenerationTranscriptData = {
7843
+ body?: never;
7844
+ path: {
7845
+ /**
7846
+ * Project public ID (proj_ prefix).
7847
+ */
7848
+ project_id: string;
7849
+ /**
7850
+ * Public ID of the generation
7851
+ */
7852
+ generation_id: string;
7853
+ };
7854
+ query?: never;
7855
+ url: '/v1/projects/{project_id}/generations/{generation_id}/transcript';
7856
+ };
7857
+ type GetGenerationTranscriptErrors = {
7858
+ /**
7859
+ * Unauthorized
7860
+ */
7861
+ 401: ErrorResponse;
7862
+ /**
7863
+ * Forbidden
7864
+ */
7865
+ 403: ErrorResponse;
7866
+ /**
7867
+ * Generation not found
7868
+ */
7869
+ 404: ErrorResponse;
7870
+ };
7871
+ type GetGenerationTranscriptError = GetGenerationTranscriptErrors[keyof GetGenerationTranscriptErrors];
7872
+ type GetGenerationTranscriptResponses = {
7873
+ /**
7874
+ * The generation's transcript
7875
+ */
7876
+ 200: GenerationTranscript;
7877
+ };
7878
+ type GetGenerationTranscriptResponse = GetGenerationTranscriptResponses[keyof GetGenerationTranscriptResponses];
7879
+ type ListModelRoutesData = {
7880
+ body?: never;
7881
+ path: {
7882
+ /**
7883
+ * Project public ID (proj_ prefix).
7884
+ */
7885
+ project_id: string;
7886
+ };
6509
7887
  query?: {
6510
7888
  /**
6511
7889
  * Maximum number of results to return
@@ -6684,16 +8062,149 @@ type GetModelRouteResponse = GetModelRouteResponses[keyof GetModelRouteResponses
6684
8062
  type UpdateModelRouteData = {
6685
8063
  body: {
6686
8064
  /**
6687
- * New name (unique per project)
8065
+ * New name (unique per project)
8066
+ */
8067
+ name?: string;
8068
+ /**
8069
+ * Replacement target list (ordered)
8070
+ */
8071
+ targets?: Array<ModelRouteTarget>;
8072
+ retry_on?: Array<'provider_error' | 'timeout' | 'rate_limited'>;
8073
+ failure_threshold?: number;
8074
+ cooldown_seconds?: number;
8075
+ };
8076
+ path: {
8077
+ /**
8078
+ * Project public ID (proj_ prefix).
8079
+ */
8080
+ project_id: string;
8081
+ /**
8082
+ * Model route ID
8083
+ */
8084
+ route_id: string;
8085
+ };
8086
+ query?: never;
8087
+ url: '/v1/projects/{project_id}/model-routes/{route_id}';
8088
+ };
8089
+ type UpdateModelRouteErrors = {
8090
+ /**
8091
+ * Bad request
8092
+ */
8093
+ 400: unknown;
8094
+ /**
8095
+ * Unauthorized
8096
+ */
8097
+ 401: unknown;
8098
+ /**
8099
+ * Forbidden
8100
+ */
8101
+ 403: unknown;
8102
+ /**
8103
+ * Model route not found
8104
+ */
8105
+ 404: unknown;
8106
+ /**
8107
+ * A model route with this name already exists in the project
8108
+ */
8109
+ 409: unknown;
8110
+ };
8111
+ type UpdateModelRouteResponses = {
8112
+ /**
8113
+ * Model route updated successfully
8114
+ */
8115
+ 200: ModelRoute;
8116
+ };
8117
+ type UpdateModelRouteResponse = UpdateModelRouteResponses[keyof UpdateModelRouteResponses];
8118
+ type ListModelsData = {
8119
+ body?: never;
8120
+ path?: never;
8121
+ query?: {
8122
+ /**
8123
+ * Maximum items per page — an integer from 1 to 100 (default 20).
8124
+ */
8125
+ limit?: number;
8126
+ /**
8127
+ * Opaque pagination cursor from a previous response's next_cursor.
8128
+ */
8129
+ cursor?: string;
8130
+ /**
8131
+ * Filter by model maker (e.g. anthropic, amazon, meta).
8132
+ */
8133
+ vendor?: string;
8134
+ /**
8135
+ * Filter by the provider slug that serves the model.
8136
+ */
8137
+ provider?: string;
8138
+ /**
8139
+ * Filter to models whose input or output modalities include this value (e.g. text, image, embedding, speech).
8140
+ *
8141
+ */
8142
+ modality?: string;
8143
+ /**
8144
+ * Filter by lifecycle status.
8145
+ */
8146
+ status?: 'available' | 'deprecated';
8147
+ /**
8148
+ * Filter by whether the model can be enabled as a naturali-managed provider — `managed=true` is the set you can pass to `POST /v1/projects/{project_id}/models/{model_id}/providers`. Omit to leave the catalog unfiltered on this axis; `false` returns only the BYOK-only models. Any other value is a 400.
8149
+ *
8150
+ */
8151
+ managed?: boolean;
8152
+ };
8153
+ url: '/v1/models';
8154
+ };
8155
+ type ListModelsErrors = {
8156
+ /**
8157
+ * The request was malformed or failed validation.
8158
+ */
8159
+ 400: ErrorResponse;
8160
+ /**
8161
+ * Missing or invalid credentials.
8162
+ */
8163
+ 401: ErrorResponse;
8164
+ };
8165
+ type ListModelsError = ListModelsErrors[keyof ListModelsErrors];
8166
+ type ListModelsResponses = {
8167
+ /**
8168
+ * A page of models.
8169
+ */
8170
+ 200: ModelList;
8171
+ };
8172
+ type ListModelsResponse = ListModelsResponses[keyof ListModelsResponses];
8173
+ type GetModelData = {
8174
+ body?: never;
8175
+ path: {
8176
+ /**
8177
+ * Public model id.
8178
+ */
8179
+ model_id: string;
8180
+ };
8181
+ query?: never;
8182
+ url: '/v1/models/{model_id}';
8183
+ };
8184
+ type GetModelErrors = {
8185
+ /**
8186
+ * Missing or invalid credentials.
8187
+ */
8188
+ 401: ErrorResponse;
8189
+ /**
8190
+ * The resource does not exist (existence is not leaked).
8191
+ */
8192
+ 404: ErrorResponse;
8193
+ };
8194
+ type GetModelError = GetModelErrors[keyof GetModelErrors];
8195
+ type GetModelResponses = {
8196
+ /**
8197
+ * Model details.
8198
+ */
8199
+ 200: Model;
8200
+ };
8201
+ type GetModelResponse = GetModelResponses[keyof GetModelResponses];
8202
+ type EnableManagedModelData = {
8203
+ body?: {
8204
+ /**
8205
+ * Provider configuration name. Defaults to the model id.
6688
8206
  */
6689
8207
  name?: string;
6690
- /**
6691
- * Replacement target list (ordered)
6692
- */
6693
- targets?: Array<ModelRouteTarget>;
6694
- retry_on?: Array<'provider_error' | 'timeout' | 'rate_limited'>;
6695
- failure_threshold?: number;
6696
- cooldown_seconds?: number;
6697
8208
  };
6698
8209
  path: {
6699
8210
  /**
@@ -6701,42 +8212,45 @@ type UpdateModelRouteData = {
6701
8212
  */
6702
8213
  project_id: string;
6703
8214
  /**
6704
- * Model route ID
8215
+ * Public model id.
6705
8216
  */
6706
- route_id: string;
8217
+ model_id: string;
6707
8218
  };
6708
8219
  query?: never;
6709
- url: '/v1/projects/{project_id}/model-routes/{route_id}';
8220
+ url: '/v1/projects/{project_id}/models/{model_id}/providers';
6710
8221
  };
6711
- type UpdateModelRouteErrors = {
8222
+ type EnableManagedModelErrors = {
6712
8223
  /**
6713
- * Bad request
8224
+ * The request was malformed or failed validation.
6714
8225
  */
6715
- 400: unknown;
8226
+ 400: ErrorResponse;
6716
8227
  /**
6717
- * Unauthorized
8228
+ * Missing or invalid credentials.
6718
8229
  */
6719
- 401: unknown;
8230
+ 401: ErrorResponse;
6720
8231
  /**
6721
- * Forbidden
8232
+ * The caller's role in the project does not carry this action, or the credential is scoped to a different project.
8233
+ *
6722
8234
  */
6723
- 403: unknown;
8235
+ 403: ErrorResponse;
6724
8236
  /**
6725
- * Model route not found
8237
+ * The resource does not exist (existence is not leaked).
6726
8238
  */
6727
- 404: unknown;
8239
+ 404: ErrorResponse;
6728
8240
  /**
6729
- * A model route with this name already exists in the project
8241
+ * The upstream runtime, or Meta, could not complete the operation.
8242
+ *
6730
8243
  */
6731
- 409: unknown;
8244
+ 502: ErrorResponse;
6732
8245
  };
6733
- type UpdateModelRouteResponses = {
8246
+ type EnableManagedModelError = EnableManagedModelErrors[keyof EnableManagedModelErrors];
8247
+ type EnableManagedModelResponses = {
6734
8248
  /**
6735
- * Model route updated successfully
8249
+ * The managed provider, as the runtime created it.
6736
8250
  */
6737
- 200: ModelRoute;
8251
+ 201: ManagedProvider;
6738
8252
  };
6739
- type UpdateModelRouteResponse = UpdateModelRouteResponses[keyof UpdateModelRouteResponses];
8253
+ type EnableManagedModelResponse = EnableManagedModelResponses[keyof EnableManagedModelResponses];
6740
8254
  type ListProjectsData = {
6741
8255
  body?: never;
6742
8256
  path?: never;
@@ -8018,6 +9532,166 @@ type CallToolResponses = {
8018
9532
  */
8019
9533
  200: unknown;
8020
9534
  };
9535
+ type ListTracesData = {
9536
+ body?: never;
9537
+ path: {
9538
+ /**
9539
+ * Project public ID (proj_ prefix).
9540
+ */
9541
+ project_id: string;
9542
+ };
9543
+ query?: {
9544
+ /**
9545
+ * Maximum number of results to return
9546
+ */
9547
+ limit?: number;
9548
+ /**
9549
+ * Number of results to skip
9550
+ */
9551
+ offset?: number;
9552
+ };
9553
+ url: '/v1/projects/{project_id}/traces';
9554
+ };
9555
+ type ListTracesErrors = {
9556
+ /**
9557
+ * Unauthorized
9558
+ */
9559
+ 401: ErrorResponse;
9560
+ /**
9561
+ * Forbidden
9562
+ */
9563
+ 403: ErrorResponse;
9564
+ };
9565
+ type ListTracesError = ListTracesErrors[keyof ListTracesErrors];
9566
+ type ListTracesResponses = {
9567
+ /**
9568
+ * List of traces
9569
+ */
9570
+ 200: {
9571
+ data?: Array<Trace>;
9572
+ total?: number;
9573
+ limit?: number;
9574
+ offset?: number;
9575
+ };
9576
+ };
9577
+ type ListTracesResponse = ListTracesResponses[keyof ListTracesResponses];
9578
+ type GetTraceData = {
9579
+ body?: never;
9580
+ path: {
9581
+ /**
9582
+ * Project public ID (proj_ prefix).
9583
+ */
9584
+ project_id: string;
9585
+ /**
9586
+ * Public ID of the trace
9587
+ */
9588
+ trace_id: string;
9589
+ };
9590
+ query?: never;
9591
+ url: '/v1/projects/{project_id}/traces/{trace_id}';
9592
+ };
9593
+ type GetTraceErrors = {
9594
+ /**
9595
+ * Unauthorized
9596
+ */
9597
+ 401: ErrorResponse;
9598
+ /**
9599
+ * Forbidden
9600
+ */
9601
+ 403: ErrorResponse;
9602
+ /**
9603
+ * Trace not found
9604
+ */
9605
+ 404: ErrorResponse;
9606
+ };
9607
+ type GetTraceError = GetTraceErrors[keyof GetTraceErrors];
9608
+ type GetTraceResponses = {
9609
+ /**
9610
+ * Trace details
9611
+ */
9612
+ 200: Trace;
9613
+ };
9614
+ type GetTraceResponse = GetTraceResponses[keyof GetTraceResponses];
9615
+ type GetTraceTreeData = {
9616
+ body?: never;
9617
+ path: {
9618
+ /**
9619
+ * Project public ID (proj_ prefix).
9620
+ */
9621
+ project_id: string;
9622
+ /**
9623
+ * Public ID of any trace in the tree (root or child)
9624
+ */
9625
+ trace_id: string;
9626
+ };
9627
+ query?: {
9628
+ /**
9629
+ * Comma-separated list of related resources to embed on each node. Supported value: `generations` — attaches all generations that belong to each trace node (including sub-agent generations linked via `initiator_generation_id`).
9630
+ *
9631
+ */
9632
+ include?: string;
9633
+ };
9634
+ url: '/v1/projects/{project_id}/traces/{trace_id}/tree';
9635
+ };
9636
+ type GetTraceTreeErrors = {
9637
+ /**
9638
+ * Unauthorized
9639
+ */
9640
+ 401: ErrorResponse;
9641
+ /**
9642
+ * Forbidden
9643
+ */
9644
+ 403: ErrorResponse;
9645
+ /**
9646
+ * Trace not found
9647
+ */
9648
+ 404: ErrorResponse;
9649
+ };
9650
+ type GetTraceTreeError = GetTraceTreeErrors[keyof GetTraceTreeErrors];
9651
+ type GetTraceTreeResponses = {
9652
+ /**
9653
+ * Trace tree rooted at the resolved root trace
9654
+ */
9655
+ 200: TraceTreeNode;
9656
+ };
9657
+ type GetTraceTreeResponse = GetTraceTreeResponses[keyof GetTraceTreeResponses];
9658
+ type PurgeTraceContentData = {
9659
+ body?: never;
9660
+ path: {
9661
+ /**
9662
+ * Project public ID (proj_ prefix).
9663
+ */
9664
+ project_id: string;
9665
+ /**
9666
+ * Public ID of the trace
9667
+ */
9668
+ trace_id: string;
9669
+ };
9670
+ query?: never;
9671
+ url: '/v1/projects/{project_id}/traces/{trace_id}/content';
9672
+ };
9673
+ type PurgeTraceContentErrors = {
9674
+ /**
9675
+ * Unauthorized
9676
+ */
9677
+ 401: ErrorResponse;
9678
+ /**
9679
+ * Forbidden
9680
+ */
9681
+ 403: ErrorResponse;
9682
+ /**
9683
+ * Trace not found
9684
+ */
9685
+ 404: ErrorResponse;
9686
+ };
9687
+ type PurgeTraceContentError = PurgeTraceContentErrors[keyof PurgeTraceContentErrors];
9688
+ type PurgeTraceContentResponses = {
9689
+ /**
9690
+ * The purged trace skeleton
9691
+ */
9692
+ 200: Trace;
9693
+ };
9694
+ type PurgeTraceContentResponse = PurgeTraceContentResponses[keyof PurgeTraceContentResponses];
8021
9695
  type GetCurrentUserData = {
8022
9696
  body?: never;
8023
9697
  path?: never;
@@ -8963,6 +10637,150 @@ declare class Conversations {
8963
10637
  */
8964
10638
  static replaceConversationTags<ThrowOnError extends boolean = false>(options: Options<ReplaceConversationTagsData, ThrowOnError>): RequestResult<ReplaceConversationTagsResponses, ReplaceConversationTagsErrors, ThrowOnError>;
8965
10639
  }
10640
+ declare class Evaluations {
10641
+ /**
10642
+ * List datasets
10643
+ *
10644
+ * Returns the datasets defined in a project
10645
+ */
10646
+ static listDatasets<ThrowOnError extends boolean = false>(options: Options<ListDatasetsData, ThrowOnError>): RequestResult<ListDatasetsResponses, ListDatasetsErrors, ThrowOnError>;
10647
+ /**
10648
+ * Create a dataset
10649
+ *
10650
+ * Creates a project-scoped dataset — a named collection of test cases an eval runs an agent against. Names are unique per project.
10651
+ *
10652
+ * Datasets are operator-owned **fixtures**. The platform's content purge never deletes or mutates a dataset item, so erasing a generation cannot silently stop a test suite from being runnable.
10653
+ */
10654
+ static createDataset<ThrowOnError extends boolean = false>(options: Options<CreateDatasetData, ThrowOnError>): RequestResult<CreateDatasetResponses, CreateDatasetErrors, ThrowOnError>;
10655
+ /**
10656
+ * Delete a dataset
10657
+ *
10658
+ * Deletes a dataset, its items, and every eval bound to it. Results of runs that already scored those items keep their frozen copies of the input and expected output.
10659
+ */
10660
+ static deleteDataset<ThrowOnError extends boolean = false>(options: Options<DeleteDatasetData, ThrowOnError>): RequestResult<DeleteDatasetResponses, DeleteDatasetErrors, ThrowOnError>;
10661
+ /**
10662
+ * Get a dataset
10663
+ *
10664
+ * Returns a specific dataset
10665
+ */
10666
+ static getDataset<ThrowOnError extends boolean = false>(options: Options<GetDatasetData, ThrowOnError>): RequestResult<GetDatasetResponses, GetDatasetErrors, ThrowOnError>;
10667
+ /**
10668
+ * Update a dataset
10669
+ *
10670
+ * Updates a dataset's name and/or description
10671
+ */
10672
+ static updateDataset<ThrowOnError extends boolean = false>(options: Options<UpdateDatasetData, ThrowOnError>): RequestResult<UpdateDatasetResponses, UpdateDatasetErrors, ThrowOnError>;
10673
+ /**
10674
+ * List dataset items
10675
+ *
10676
+ * Returns the test cases in a dataset, oldest first
10677
+ */
10678
+ static listDatasetItems<ThrowOnError extends boolean = false>(options: Options<ListDatasetItemsData, ThrowOnError>): RequestResult<ListDatasetItemsResponses, ListDatasetItemsErrors, ThrowOnError>;
10679
+ /**
10680
+ * Add a dataset item
10681
+ *
10682
+ * Adds one test case. `input` is replayed verbatim as the generation's messages, so it must be a non-empty array of `{ role, content }`.
10683
+ */
10684
+ static createDatasetItem<ThrowOnError extends boolean = false>(options: Options<CreateDatasetItemData, ThrowOnError>): RequestResult<CreateDatasetItemResponses, CreateDatasetItemErrors, ThrowOnError>;
10685
+ /**
10686
+ * Curate a dataset item from a generation
10687
+ *
10688
+ * Promotes a real, completed generation into a test case: its input messages become the item's `input`, and its own answer becomes `expected_output` unless you supply one. Use it to build an evaluation set out of production traffic rather than hand-authoring fixtures.
10689
+ *
10690
+ * The item is a **copy**, not a view. It keeps working after the source generation's content is purged, and `source_generation_id` goes null if that generation is deleted — a purge can never quietly stop a suite from being runnable.
10691
+ *
10692
+ * Requires both `evaluations:CreateDataset` and `generations:GetGeneration`: the call copies content out of a generation, so a principal that may not read that generation may not curate it either.
10693
+ *
10694
+ * Only a **completed** generation can be promoted (`409 GENERATION_NOT_COMPLETED`), and only while its content is still available: an agent or project running with `trace_content_mode: none` never stored the input, and a purged or expired generation no longer has it (`409 GENERATION_CONTENT_UNAVAILABLE`). Generations that predate input recording answer the same way.
10695
+ */
10696
+ static createDatasetItemFromGeneration<ThrowOnError extends boolean = false>(options: Options<CreateDatasetItemFromGenerationData, ThrowOnError>): RequestResult<CreateDatasetItemFromGenerationResponses, CreateDatasetItemFromGenerationErrors, ThrowOnError>;
10697
+ /**
10698
+ * Delete a dataset item
10699
+ *
10700
+ * Deletes a test case. Results of runs that already scored it stay readable; their `dataset_item_id` becomes null.
10701
+ */
10702
+ static deleteDatasetItem<ThrowOnError extends boolean = false>(options: Options<DeleteDatasetItemData, ThrowOnError>): RequestResult<DeleteDatasetItemResponses, DeleteDatasetItemErrors, ThrowOnError>;
10703
+ /**
10704
+ * Update a dataset item
10705
+ *
10706
+ * Updates a test case. Runs that already scored it are unaffected — each result carries its own frozen copy of the input and expected output.
10707
+ */
10708
+ static updateDatasetItem<ThrowOnError extends boolean = false>(options: Options<UpdateDatasetItemData, ThrowOnError>): RequestResult<UpdateDatasetItemResponses, UpdateDatasetItemErrors, ThrowOnError>;
10709
+ /**
10710
+ * List evals
10711
+ *
10712
+ * Returns the evals defined in a project
10713
+ */
10714
+ static listEvals<ThrowOnError extends boolean = false>(options: Options<ListEvalsData, ThrowOnError>): RequestResult<ListEvalsResponses, ListEvalsErrors, ThrowOnError>;
10715
+ /**
10716
+ * Create an eval
10717
+ *
10718
+ * Binds an agent under test to a dataset and a list of scorers. The agent and the dataset must belong to the same project as the eval; a cross-project reference is rejected with 400.
10719
+ *
10720
+ * Scorer config is frozen here rather than read from the agent at run time, so two runs of the same eval are always judged by the same criteria and their comparison measures the agent instead of the config drifting underneath it. Each scorer `type` may appear at most once.
10721
+ */
10722
+ static createEval<ThrowOnError extends boolean = false>(options: Options<CreateEvalData, ThrowOnError>): RequestResult<CreateEvalResponses, CreateEvalErrors, ThrowOnError>;
10723
+ /**
10724
+ * Delete an eval
10725
+ *
10726
+ * Deletes an eval, its runs, and their results
10727
+ */
10728
+ static deleteEval<ThrowOnError extends boolean = false>(options: Options<DeleteEvalData, ThrowOnError>): RequestResult<DeleteEvalResponses, DeleteEvalErrors, ThrowOnError>;
10729
+ /**
10730
+ * Get an eval
10731
+ *
10732
+ * Returns a specific eval
10733
+ */
10734
+ static getEval<ThrowOnError extends boolean = false>(options: Options<GetEvalData, ThrowOnError>): RequestResult<GetEvalResponses, GetEvalErrors, ThrowOnError>;
10735
+ /**
10736
+ * Update an eval
10737
+ *
10738
+ * Updates an eval. Changing `agent_id` re-validates the scorers against the new agent, since an `output_schema` scorer that was legal against the old one may not be.
10739
+ */
10740
+ static updateEval<ThrowOnError extends boolean = false>(options: Options<UpdateEvalData, ThrowOnError>): RequestResult<UpdateEvalResponses, UpdateEvalErrors, ThrowOnError>;
10741
+ /**
10742
+ * List eval runs
10743
+ *
10744
+ * Returns an eval's runs, newest first
10745
+ */
10746
+ static listEvalRuns<ThrowOnError extends boolean = false>(options: Options<ListEvalRunsData, ThrowOnError>): RequestResult<ListEvalRunsResponses, ListEvalRunsErrors, ThrowOnError>;
10747
+ /**
10748
+ * Start an eval run
10749
+ *
10750
+ * Runs the eval against its dataset, creating one real agent generation per item and scoring the outputs.
10751
+ *
10752
+ * `wait: true` executes the run synchronously and returns it terminal, with its scores. The dataset is capped at 25 items for a synchronous run; a larger one is rejected with 400 rather than partially scored.
10753
+ *
10754
+ * `wait: false` (the default) enqueues one task per item and returns immediately with `status: "queued"`. A worker executes the items and the run settles itself; poll `GET /evals/{eval_id}/runs/{eval_run_id}` for the terminal status. There is no item cap on a queued run.
10755
+ *
10756
+ * The whole run is pinned to **one** agent version, stamped on `agent_version`: pass one explicitly to evaluate a canary before promoting it, or omit it to use the active release's stable version (or the live draft when no release is in effect). Without the pin, release assignment would bucket each item independently and blend two configs into a single score.
10757
+ *
10758
+ * With `baseline_run_id`, the finished run's `aggregate_scores.baseline` carries per-scorer deltas against that run, computed over the items present and scorable in **both** runs, with the divergence counted. A delta over a shifted dataset is therefore never presented as a clean comparison.
10759
+ */
10760
+ static startEvalRun<ThrowOnError extends boolean = false>(options: Options<StartEvalRunData, ThrowOnError>): RequestResult<StartEvalRunResponses, StartEvalRunErrors, ThrowOnError>;
10761
+ /**
10762
+ * Get an eval run
10763
+ *
10764
+ * Returns a run's status, counts, and aggregate scores
10765
+ */
10766
+ static getEvalRun<ThrowOnError extends boolean = false>(options: Options<GetEvalRunData, ThrowOnError>): RequestResult<GetEvalRunResponses, GetEvalRunErrors, ThrowOnError>;
10767
+ /**
10768
+ * List eval run results
10769
+ *
10770
+ * Returns the per-item results of a run, oldest first
10771
+ */
10772
+ static listEvalResults<ThrowOnError extends boolean = false>(options: Options<ListEvalResultsData, ThrowOnError>): RequestResult<ListEvalResultsResponses, ListEvalResultsErrors, ThrowOnError>;
10773
+ /**
10774
+ * Cancel an eval run
10775
+ *
10776
+ * Cancels a queued or running run: its outstanding item tasks are dropped so it stops consuming provider budget, and the run settles as `canceled`.
10777
+ *
10778
+ * Results already written are kept — they are real measurements of generations that were really paid for — and `completed_count` / `errored_count` report what ran. `aggregate_scores` is deliberately left null: a partial roll-up in the same field a completed run uses would read as a whole-dataset verdict.
10779
+ *
10780
+ * A run that has already finished is rejected with 400.
10781
+ */
10782
+ static cancelEvalRun<ThrowOnError extends boolean = false>(options: Options<CancelEvalRunData, ThrowOnError>): RequestResult<CancelEvalRunResponses, CancelEvalRunErrors, ThrowOnError>;
10783
+ }
8966
10784
  declare class Generations {
8967
10785
  /**
8968
10786
  * List generations
@@ -9042,6 +10860,26 @@ declare class ModelRoutes {
9042
10860
  */
9043
10861
  static updateModelRoute<ThrowOnError extends boolean = false>(options: Options<UpdateModelRouteData, ThrowOnError>): RequestResult<UpdateModelRouteResponses, UpdateModelRouteErrors, ThrowOnError>;
9044
10862
  }
10863
+ declare class Models {
10864
+ /**
10865
+ * List models
10866
+ *
10867
+ * Lists catalog models, sorted by id. Filter by vendor, provider, input/output modality, status, or `managed` — the last being the axis that decides whether a model is usable without bringing your own provider credentials, so `?managed=true&status=available` is the set a project can enable today.
10868
+ *
10869
+ */
10870
+ static listModels<ThrowOnError extends boolean = false>(options?: Options<ListModelsData, ThrowOnError>): RequestResult<ListModelsResponses, ListModelsErrors, ThrowOnError>;
10871
+ /**
10872
+ * Get a model
10873
+ */
10874
+ static getModel<ThrowOnError extends boolean = false>(options: Options<GetModelData, ThrowOnError>): RequestResult<GetModelResponses, GetModelErrors, ThrowOnError>;
10875
+ /**
10876
+ * Enable a naturali-managed model
10877
+ *
10878
+ * Provisions a managed provider running this model in the project. The provider needs no credentials of yours — it runs on naturali's own model access — and is priced from the catalog the moment it is created, so its usage is metered from the first generation. The created resource is an ordinary provider: read, update and delete it through [`GET /v1/projects/{project_id}/ai-providers/{ai_provider_id}`](/docs/api/ai-providers/get-ai-provider) like any other. Requires the `admin` role in the project. Only models with `managed: true` can be enabled; anything else is a 400.
10879
+ *
10880
+ */
10881
+ static enableManagedModel<ThrowOnError extends boolean = false>(options: Options<EnableManagedModelData, ThrowOnError>): RequestResult<EnableManagedModelResponses, EnableManagedModelErrors, ThrowOnError>;
10882
+ }
9045
10883
  declare class Projects {
9046
10884
  /**
9047
10885
  * List projects
@@ -9263,6 +11101,38 @@ declare class Tools {
9263
11101
  */
9264
11102
  static callTool<ThrowOnError extends boolean = false>(options: Options<CallToolData, ThrowOnError>): RequestResult<CallToolResponses, CallToolErrors, ThrowOnError>;
9265
11103
  }
11104
+ declare class Traces {
11105
+ /**
11106
+ * List traces
11107
+ *
11108
+ * Returns a paginated list of execution traces for the project.
11109
+ */
11110
+ static listTraces<ThrowOnError extends boolean = false>(options: Options<ListTracesData, ThrowOnError>): RequestResult<ListTracesResponses, ListTracesErrors, ThrowOnError>;
11111
+ /**
11112
+ * Get a trace
11113
+ *
11114
+ * Returns a single trace by ID.
11115
+ */
11116
+ static getTrace<ThrowOnError extends boolean = false>(options: Options<GetTraceData, ThrowOnError>): RequestResult<GetTraceResponses, GetTraceErrors, ThrowOnError>;
11117
+ /**
11118
+ * Get trace tree
11119
+ *
11120
+ * Returns the full execution tree rooted at the given trace (or its root if the given trace is a child). Each node represents one agent's execution session. The `children` array contains traces triggered by sub-agent tool calls from that trace.
11121
+ *
11122
+ */
11123
+ static getTraceTree<ThrowOnError extends boolean = false>(options: Options<GetTraceTreeData, ThrowOnError>): RequestResult<GetTraceTreeResponses, GetTraceTreeErrors, ThrowOnError>;
11124
+ /**
11125
+ * Purge trace content
11126
+ *
11127
+ * Deletes the trace's steps object from storage and clears its content columns (`file_id`, `error`), cascading to every descendant trace and to all of their generations. A descendant holds its own steps object covering the same run, so the cascade is what makes the erasure complete rather than merely partial.
11128
+ *
11129
+ * The rows survive as auditable skeletons with `content_redacted_at` set — ids, timestamps, step counts, and the generations' usage-attribution fields are preserved, because the billing and audit ledger must outlive a tenant's erasure of the content. A purged trace therefore reads back as a skeleton, not a 404: a 404 would prove nothing.
11130
+ *
11131
+ * Idempotent — purging an already-purged trace succeeds and leaves the original `content_redacted_at` in place.
11132
+ *
11133
+ */
11134
+ static purgeTraceContent<ThrowOnError extends boolean = false>(options: Options<PurgeTraceContentData, ThrowOnError>): RequestResult<PurgeTraceContentResponses, PurgeTraceContentErrors, ThrowOnError>;
11135
+ }
9266
11136
  declare class Users {
9267
11137
  /**
9268
11138
  * Get the current user
@@ -9396,12 +11266,15 @@ declare class NaturaliClient {
9396
11266
  readonly channels: typeof Channels;
9397
11267
  readonly auth: typeof Auth;
9398
11268
  readonly conversations: typeof Conversations;
11269
+ readonly evaluations: typeof Evaluations;
9399
11270
  readonly generations: typeof Generations;
9400
11271
  readonly modelRoutes: typeof ModelRoutes;
11272
+ readonly models: typeof Models;
9401
11273
  readonly projects: typeof Projects;
9402
11274
  readonly secrets: typeof Secrets;
9403
11275
  readonly sessions: typeof Sessions;
9404
11276
  readonly tools: typeof Tools;
11277
+ readonly traces: typeof Traces;
9405
11278
  readonly users: typeof Users;
9406
11279
  readonly webhooks: typeof Webhooks;
9407
11280
  /** The underlying HTTP client, for interceptors or one-off requests. */
@@ -9409,4 +11282,4 @@ declare class NaturaliClient {
9409
11282
  constructor({ token, headers }?: NaturaliClientOptions);
9410
11283
  }
9411
11284
  //#endregion
9412
- export { type AbortAgentReleaseData, type AbortAgentReleaseError, type AbortAgentReleaseErrors, type AbortAgentReleaseResponse, type AbortAgentReleaseResponses, type AcceptedGenerationResponse, type Acknowledgement, type ActorRecord, Actors, type AddConversationMessageData, type AddConversationMessageError, type AddConversationMessageErrors, type AddConversationMessageResponse, type AddConversationMessageResponses, type AddSessionMessageData, type AddSessionMessageError, type AddSessionMessageErrors, type AddSessionMessageRequest, type AddSessionMessageResponse, type AddSessionMessageResponse2, type AddSessionMessageResponses, type AddSessionMessageSaved, type Address, type AddressActionSet, type AddressList, type Agent, type AgentGenerationResponse, type AgentRelease, type AgentVersion, AgentVersions, Agents, AiProviders, type ApiKeyCreate, type ApiKeyCreated, type ApiKeyId, type ApiKeyList, type ApiKeyRecord, type ApiKeyUpdate, ApiKeys, Assistant, type AssistantChannel, type AssistantGrant, type AssistantGrantList, type AssistantLinkPreview, type AssistantLinkRedeem, type AssistantScope, Auth, type AuthSession, type CallToolData, type CallToolError, type CallToolErrors, type CallToolRequest, type CallToolResponses, type Channel, type ChannelCreate, type ChannelDefaultAction, type ChannelDefaultActionInput, type ChannelId, type ChannelKind, type ChannelKindList, type ChannelList, type ChannelPredicate, type ChannelRoute, type ChannelRouteList, type ChannelRouteWrite, type ChannelSurface, type ChannelUpdate, Channels, type ClientOptions, type Conversation, type ConversationId, type ConversationList, type ConversationMessage, type ConversationMessageList, type ConversationMessageRecord, type ConversationRecord, Conversations, type CreateActorData, type CreateActorError, type CreateActorErrors, type CreateActorResponse, type CreateActorResponses, type CreateAgentData, type CreateAgentError, type CreateAgentErrors, type CreateAgentGenerationData, type CreateAgentGenerationError, type CreateAgentGenerationErrors, type CreateAgentGenerationRequest, type CreateAgentGenerationResponse, type CreateAgentGenerationResponses, type CreateAgentRequest, type CreateAgentResponse, type CreateAgentResponses, type CreateAiProviderData, type CreateAiProviderErrors, type CreateAiProviderResponse, type CreateAiProviderResponses, type CreateApiKeyData, type CreateApiKeyError, type CreateApiKeyErrors, type CreateApiKeyResponse, type CreateApiKeyResponses, type CreateChannelData, type CreateChannelError, type CreateChannelErrors, type CreateChannelResponse, type CreateChannelResponses, type CreateChannelRouteData, type CreateChannelRouteError, type CreateChannelRouteErrors, type CreateChannelRouteResponse, type CreateChannelRouteResponses, type CreateConversationData, type CreateConversationError, type CreateConversationErrors, type CreateConversationResponse, type CreateConversationResponses, type CreateModelRouteData, type CreateModelRouteErrors, type CreateModelRouteResponse, type CreateModelRouteResponses, type CreateProjectData, type CreateProjectError, type CreateProjectErrors, type CreateProjectResponse, type CreateProjectResponses, type CreateSecretData, type CreateSecretErrors, type CreateSecretResponse, type CreateSecretResponses, type CreateSessionData, type CreateSessionError, type CreateSessionErrors, type CreateSessionRequest, type CreateSessionResponse, type CreateSessionResponses, type CreateToolData, type CreateToolError, type CreateToolErrors, type CreateToolRequest, type CreateToolResponse, type CreateToolResponses, type CreateWebhookData, type CreateWebhookError, type CreateWebhookErrors, type CreateWebhookResponse, type CreateWebhookResponses, type Cursor, type DeleteActorData, type DeleteActorError, type DeleteActorErrors, type DeleteActorResponse, type DeleteActorResponses, type DeleteAddressData, type DeleteAddressError, type DeleteAddressErrors, type DeleteAddressResponse, type DeleteAddressResponses, type DeleteAgentData, type DeleteAgentError, type DeleteAgentErrors, type DeleteAgentResponse, type DeleteAgentResponses, type DeleteAiProviderData, type DeleteAiProviderErrors, type DeleteAiProviderResponse, type DeleteAiProviderResponses, type DeleteApiKeyData, type DeleteApiKeyError, type DeleteApiKeyErrors, type DeleteApiKeyResponse, type DeleteApiKeyResponses, type DeleteChannelData, type DeleteChannelError, type DeleteChannelErrors, type DeleteChannelResponse, type DeleteChannelResponses, type DeleteChannelRouteData, type DeleteChannelRouteError, type DeleteChannelRouteErrors, type DeleteChannelRouteResponse, type DeleteChannelRouteResponses, type DeleteConversationData, type DeleteConversationError, type DeleteConversationErrors, type DeleteConversationResponse, type DeleteConversationResponses, type DeleteModelRouteData, type DeleteModelRouteErrors, type DeleteModelRouteResponse, type DeleteModelRouteResponses, type DeleteProjectData, type DeleteProjectError, type DeleteProjectErrors, type DeleteProjectResponse, type DeleteProjectResponses, type DeleteSecretData, type DeleteSecretErrors, type DeleteSecretResponses, type DeleteSessionData, type DeleteSessionError, type DeleteSessionErrors, type DeleteSessionResponse, type DeleteSessionResponses, type DeleteToolData, type DeleteToolError, type DeleteToolErrors, type DeleteToolResponse, type DeleteToolResponses, type DeleteWebhookData, type DeleteWebhookError, type DeleteWebhookErrors, type DeleteWebhookResponse, type DeleteWebhookResponses, type DeliveryId, type DiscordModes, type DocumentMessageContent, type ErrorResponse, type Event, type EventSubscription, type EventType, type Force, type ForkSessionData, type ForkSessionError, type ForkSessionErrors, type ForkSessionRequest, type ForkSessionResponse, type ForkSessionResponses, type GenerateConversationMessageCompleted, type GenerateConversationMessageData, type GenerateConversationMessageError, type GenerateConversationMessageErrors, type GenerateConversationMessageRequiresAction, type GenerateConversationMessageResponse, type GenerateConversationMessageResponse2, type GenerateConversationMessageResponses, type GenerateSessionRequest, type GenerateSessionResponse, type GenerateSessionResponseData, type GenerateSessionResponseError, type GenerateSessionResponseErrors, type GenerateSessionResponseResponse, type GenerateSessionResponseResponses, type Generation, type GenerationTranscript, Generations, type GetActorData, type GetActorError, type GetActorErrors, type GetActorResponse, type GetActorResponses, type GetActorTagsData, type GetActorTagsError, type GetActorTagsErrors, type GetActorTagsResponse, type GetActorTagsResponses, type GetAddressData, type GetAddressError, type GetAddressErrors, type GetAddressResponse, type GetAddressResponses, type GetAgentData, type GetAgentError, type GetAgentErrors, type GetAgentResponse, type GetAgentResponses, type GetAgentVersionData, type GetAgentVersionError, type GetAgentVersionErrors, type GetAgentVersionResponse, type GetAgentVersionResponses, type GetAiProviderData, type GetAiProviderErrors, type GetAiProviderPricesData, type GetAiProviderPricesErrors, type GetAiProviderPricesResponse, type GetAiProviderPricesResponses, type GetAiProviderResponse, type GetAiProviderResponses, type GetApiKeyData, type GetApiKeyError, type GetApiKeyErrors, type GetApiKeyResponse, type GetApiKeyResponses, type GetChannelConversationData, type GetChannelConversationError, type GetChannelConversationErrors, type GetChannelConversationResponse, type GetChannelConversationResponses, type GetChannelData, type GetChannelError, type GetChannelErrors, type GetChannelResponse, type GetChannelResponses, type GetChannelRouteData, type GetChannelRouteError, type GetChannelRouteErrors, type GetChannelRouteResponse, type GetChannelRouteResponses, type GetConversationData, type GetConversationError, type GetConversationErrors, type GetConversationResponse, type GetConversationResponses, type GetConversationTagsData, type GetConversationTagsError, type GetConversationTagsErrors, type GetConversationTagsResponse, type GetConversationTagsResponses, type GetCurrentUserData, type GetCurrentUserError, type GetCurrentUserErrors, type GetCurrentUserResponse, type GetCurrentUserResponses, type GetGenerationData, type GetGenerationError, type GetGenerationErrors, type GetGenerationResponse, type GetGenerationResponses, type GetGenerationTranscriptData, type GetGenerationTranscriptError, type GetGenerationTranscriptErrors, type GetGenerationTranscriptResponse, type GetGenerationTranscriptResponses, type GetModelRouteData, type GetModelRouteErrors, type GetModelRouteResponse, type GetModelRouteResponses, type GetProjectData, type GetProjectError, type GetProjectErrors, type GetProjectResponse, type GetProjectResponses, type GetProjectUsageData, type GetProjectUsageError, type GetProjectUsageErrors, type GetProjectUsageResponse, type GetProjectUsageResponses, type GetSecretData, type GetSecretErrors, type GetSecretResponse, type GetSecretResponses, type GetSessionData, type GetSessionError, type GetSessionErrors, type GetSessionResponse, type GetSessionResponses, type GetSessionTagsData, type GetSessionTagsError, type GetSessionTagsErrors, type GetSessionTagsResponse, type GetSessionTagsResponses, type GetToolData, type GetToolError, type GetToolErrors, type GetToolResponse, type GetToolResponses, type GetWebhookData, type GetWebhookDeliveryData, type GetWebhookDeliveryError, type GetWebhookDeliveryErrors, type GetWebhookDeliveryResponse, type GetWebhookDeliveryResponses, type GetWebhookError, type GetWebhookErrors, type GetWebhookResponse, type GetWebhookResponses, type GrantId, type IdempotencyKey, type Identifier, type Limit, type LinkToken, type ListActorsData, type ListActorsError, type ListActorsErrors, type ListActorsResponse, type ListActorsResponses, type ListAddressConversationsData, type ListAddressConversationsError, type ListAddressConversationsErrors, type ListAddressConversationsResponse, type ListAddressConversationsResponses, type ListAddressesData, type ListAddressesError, type ListAddressesErrors, type ListAddressesResponse, type ListAddressesResponses, type ListAgentVersionsData, type ListAgentVersionsError, type ListAgentVersionsErrors, type ListAgentVersionsResponse, type ListAgentVersionsResponses, type ListAgentsData, type ListAgentsError, type ListAgentsErrors, type ListAgentsResponse, type ListAgentsResponses, type ListAiProviderModelsData, type ListAiProviderModelsErrors, type ListAiProviderModelsResponse, type ListAiProviderModelsResponses, type ListAiProvidersData, type ListAiProvidersErrors, type ListAiProvidersResponse, type ListAiProvidersResponses, type ListApiKeysData, type ListApiKeysError, type ListApiKeysErrors, type ListApiKeysResponse, type ListApiKeysResponses, type ListAssistantGrantsData, type ListAssistantGrantsError, type ListAssistantGrantsErrors, type ListAssistantGrantsResponse, type ListAssistantGrantsResponses, type ListChannelConversationMessagesData, type ListChannelConversationMessagesError, type ListChannelConversationMessagesErrors, type ListChannelConversationMessagesResponse, type ListChannelConversationMessagesResponses, type ListChannelConversationsData, type ListChannelConversationsError, type ListChannelConversationsErrors, type ListChannelConversationsResponse, type ListChannelConversationsResponses, type ListChannelKindsData, type ListChannelKindsError, type ListChannelKindsErrors, type ListChannelKindsResponse, type ListChannelKindsResponses, type ListChannelRoutesData, type ListChannelRoutesError, type ListChannelRoutesErrors, type ListChannelRoutesResponse, type ListChannelRoutesResponses, type ListChannelsData, type ListChannelsError, type ListChannelsErrors, type ListChannelsResponse, type ListChannelsResponses, type ListConversationMessagesData, type ListConversationMessagesError, type ListConversationMessagesErrors, type ListConversationMessagesResponse, type ListConversationMessagesResponses, type ListConversationsData, type ListConversationsError, type ListConversationsErrors, type ListConversationsResponse, type ListConversationsResponses, type ListGenerationsData, type ListGenerationsError, type ListGenerationsErrors, type ListGenerationsResponse, type ListGenerationsResponses, type ListModelRoutesData, type ListModelRoutesErrors, type ListModelRoutesResponse, type ListModelRoutesResponses, type ListProjectChannelRoutesData, type ListProjectChannelRoutesError, type ListProjectChannelRoutesErrors, type ListProjectChannelRoutesResponse, type ListProjectChannelRoutesResponses, type ListProjectMembersData, type ListProjectMembersError, type ListProjectMembersErrors, type ListProjectMembersResponse, type ListProjectMembersResponses, type ListProjectsData, type ListProjectsError, type ListProjectsErrors, type ListProjectsResponse, type ListProjectsResponses, type ListSecretsData, type ListSecretsErrors, type ListSecretsResponse, type ListSecretsResponses, type ListSessionForksData, type ListSessionForksError, type ListSessionForksErrors, type ListSessionForksResponse, type ListSessionForksResponses, type ListSessionsData, type ListSessionsError, type ListSessionsErrors, type ListSessionsResponse, type ListSessionsResponses, type ListToolsData, type ListToolsError, type ListToolsErrors, type ListToolsResponse, type ListToolsResponses, type ListWebhookDeliveriesData, type ListWebhookDeliveriesError, type ListWebhookDeliveriesErrors, type ListWebhookDeliveriesResponse, type ListWebhookDeliveriesResponses, type ListWebhooksData, type ListWebhooksError, type ListWebhooksErrors, type ListWebhooksResponse, type ListWebhooksResponses, type LogoutData, type LogoutError, type LogoutErrors, type LogoutRequest, type LogoutResponse, type LogoutResponses, type MergeActorTagsData, type MergeActorTagsError, type MergeActorTagsErrors, type MergeActorTagsResponse, type MergeActorTagsResponses, type MergeConversationTagsData, type MergeConversationTagsError, type MergeConversationTagsErrors, type MergeConversationTagsResponse, type MergeConversationTagsResponses, type MergeSessionTagsData, type MergeSessionTagsError, type MergeSessionTagsErrors, type MergeSessionTagsResponse, type MergeSessionTagsResponses, type MessagesLimit, type ModelRoute, type ModelRouteTarget, ModelRoutes, NaturaliClient, type NaturaliClientOptions, type Offset, type OpenChannelConversationData, type OpenChannelConversationError, type OpenChannelConversationErrors, type OpenChannelConversationResponse, type OpenChannelConversationResponses, type Options, type PatchAgentData, type PatchAgentError, type PatchAgentErrors, type PatchAgentResponse, type PatchAgentResponses, type PreviewAssistantLinkData, type PreviewAssistantLinkError, type PreviewAssistantLinkErrors, type PreviewAssistantLinkResponse, type PreviewAssistantLinkResponses, type Project, type ProjectCreate, type ProjectId, type ProjectList, type ProjectMember, type ProjectMemberList, type ProjectRole, type ProjectUpdate, type ProjectUsage, Projects, type PromoteAgentReleaseData, type PromoteAgentReleaseError, type PromoteAgentReleaseErrors, type PromoteAgentReleaseResponse, type PromoteAgentReleaseResponses, type ProviderModelsResponse, type ProviderPrice, type ProviderPricesResponse, type PurgeGenerationContentData, type PurgeGenerationContentError, type PurgeGenerationContentErrors, type PurgeGenerationContentResponse, type PurgeGenerationContentResponses, type RedeemAssistantLinkData, type RedeemAssistantLinkError, type RedeemAssistantLinkErrors, type RedeemAssistantLinkResponse, type RedeemAssistantLinkResponses, type RedeliverWebhookDeliveryData, type RedeliverWebhookDeliveryError, type RedeliverWebhookDeliveryErrors, type RedeliverWebhookDeliveryResponse, type RedeliverWebhookDeliveryResponses, type RefreshRequest, type RefreshSessionData, type RefreshSessionError, type RefreshSessionErrors, type RefreshSessionResponse, type RefreshSessionResponses, type RemoveConversationMessageData, type RemoveConversationMessageError, type RemoveConversationMessageErrors, type RemoveConversationMessageResponse, type RemoveConversationMessageResponses, type ReplaceActorTagsData, type ReplaceActorTagsError, type ReplaceActorTagsErrors, type ReplaceActorTagsResponse, type ReplaceActorTagsResponses, type ReplaceConversationTagsData, type ReplaceConversationTagsError, type ReplaceConversationTagsErrors, type ReplaceConversationTagsResponse, type ReplaceConversationTagsResponses, type ReplaceSessionTagsData, type ReplaceSessionTagsError, type ReplaceSessionTagsErrors, type ReplaceSessionTagsResponse, type ReplaceSessionTagsResponses, type RequestSignInCodeData, type RequestSignInCodeError, type RequestSignInCodeErrors, type RequestSignInCodeResponse, type RequestSignInCodeResponses, type RestoreAgentVersionData, type RestoreAgentVersionError, type RestoreAgentVersionErrors, type RestoreAgentVersionRequest, type RestoreAgentVersionResponse, type RestoreAgentVersionResponses, type RevokeAssistantGrantData, type RevokeAssistantGrantError, type RevokeAssistantGrantErrors, type RevokeAssistantGrantResponse, type RevokeAssistantGrantResponses, type RotateApiKeyData, type RotateApiKeyError, type RotateApiKeyErrors, type RotateApiKeyResponse, type RotateApiKeyResponses, type RotateWebhookSecretData, type RotateWebhookSecretError, type RotateWebhookSecretErrors, type RotateWebhookSecretResponse, type RotateWebhookSecretResponses, type RouteId, Secrets, type SendSessionMessageResponse, type SessionId, type SessionRecord, Sessions, type SetAddressActionData, type SetAddressActionError, type SetAddressActionErrors, type SetAddressActionResponse, type SetAddressActionResponses, type SetAgentReleaseData, type SetAgentReleaseError, type SetAgentReleaseErrors, type SetAgentReleaseRequest, type SetAgentReleaseResponse, type SetAgentReleaseResponses, type SignInCodeRequest, type SignInCodeVerify, type SubmitAgentToolOutputsData, type SubmitAgentToolOutputsError, type SubmitAgentToolOutputsErrors, type SubmitAgentToolOutputsResponse, type SubmitAgentToolOutputsResponses, type SubmitSessionToolOutputsData, type SubmitSessionToolOutputsError, type SubmitSessionToolOutputsErrors, type SubmitSessionToolOutputsRequest, type SubmitSessionToolOutputsResponse, type SubmitSessionToolOutputsResponses, type SubmitToolOutputsRequest, type Tool, type ToolBinding, type ToolOutputMessageContent, Tools, type TranscriptStep, type TranscriptToolCall, type TranscriptToolResult, type TranscriptUsage, type UpdateActorData, type UpdateActorError, type UpdateActorErrors, type UpdateActorResponse, type UpdateActorResponses, type UpdateAgentData, type UpdateAgentError, type UpdateAgentErrors, type UpdateAgentRequest, type UpdateAgentResponse, type UpdateAgentResponses, type UpdateAiProviderData, type UpdateAiProviderErrors, type UpdateAiProviderPricesData, type UpdateAiProviderPricesErrors, type UpdateAiProviderPricesResponse, type UpdateAiProviderPricesResponses, type UpdateAiProviderResponses, type UpdateApiKeyData, type UpdateApiKeyError, type UpdateApiKeyErrors, type UpdateApiKeyResponse, type UpdateApiKeyResponses, type UpdateChannelData, type UpdateChannelError, type UpdateChannelErrors, type UpdateChannelResponse, type UpdateChannelResponses, type UpdateChannelRouteData, type UpdateChannelRouteError, type UpdateChannelRouteErrors, type UpdateChannelRouteResponse, type UpdateChannelRouteResponses, type UpdateConversationData, type UpdateConversationError, type UpdateConversationErrors, type UpdateConversationResponse, type UpdateConversationResponses, type UpdateCurrentUserData, type UpdateCurrentUserError, type UpdateCurrentUserErrors, type UpdateCurrentUserResponse, type UpdateCurrentUserResponses, type UpdateGenerationData, type UpdateGenerationError, type UpdateGenerationErrors, type UpdateGenerationRequest, type UpdateGenerationResponse, type UpdateGenerationResponses, type UpdateModelRouteData, type UpdateModelRouteErrors, type UpdateModelRouteResponse, type UpdateModelRouteResponses, type UpdateProjectData, type UpdateProjectError, type UpdateProjectErrors, type UpdateProjectResponse, type UpdateProjectResponses, type UpdateSecretData, type UpdateSecretErrors, type UpdateSecretResponses, type UpdateSessionData, type UpdateSessionError, type UpdateSessionErrors, type UpdateSessionRequest, type UpdateSessionResponse, type UpdateSessionResponses, type UpdateToolData, type UpdateToolError, type UpdateToolErrors, type UpdateToolRequest, type UpdateToolResponse, type UpdateToolResponses, type UpdateWebhookData, type UpdateWebhookError, type UpdateWebhookErrors, type UpdateWebhookResponse, type UpdateWebhookResponses, type UpsertProviderPricesRequest, type UsageComponent, type UsageComponents, type UsageGroup, type UsageTokens, type User, type UserUpdate, Users, type VerifySignInCodeData, type VerifySignInCodeError, type VerifySignInCodeErrors, type VerifySignInCodeResponse, type VerifySignInCodeResponses, type Webhook, type WebhookCreate, type WebhookDelivery, type WebhookDeliveryList, type WebhookId, type WebhookList, type WebhookUpdate, type WebhookWithSecret, Webhooks, createClient, createConfig };
11285
+ export { type AbortAgentReleaseData, type AbortAgentReleaseError, type AbortAgentReleaseErrors, type AbortAgentReleaseResponse, type AbortAgentReleaseResponses, type AcceptedGenerationResponse, type Acknowledgement, type ActorRecord, Actors, type AddConversationMessageData, type AddConversationMessageError, type AddConversationMessageErrors, type AddConversationMessageResponse, type AddConversationMessageResponses, type AddSessionMessageData, type AddSessionMessageError, type AddSessionMessageErrors, type AddSessionMessageRequest, type AddSessionMessageResponse, type AddSessionMessageResponse2, type AddSessionMessageResponses, type AddSessionMessageSaved, type Address, type AddressActionSet, type AddressList, type Agent, type AgentGenerationResponse, type AgentRelease, type AgentVersion, AgentVersions, Agents, type AggregateScores, AiProviders, type ApiKeyCreate, type ApiKeyCreated, type ApiKeyId, type ApiKeyList, type ApiKeyRecord, type ApiKeyUpdate, ApiKeys, Assistant, type AssistantChannel, type AssistantGrant, type AssistantGrantList, type AssistantLinkPreview, type AssistantLinkRedeem, type AssistantScope, Auth, type AuthSession, type BaselineComparison, type CallToolData, type CallToolError, type CallToolErrors, type CallToolRequest, type CallToolResponses, type CancelEvalRunData, type CancelEvalRunErrors, type CancelEvalRunResponse, type CancelEvalRunResponses, type Channel, type ChannelCreate, type ChannelDefaultAction, type ChannelDefaultActionInput, type ChannelId, type ChannelKind, type ChannelKindList, type ChannelList, type ChannelPredicate, type ChannelRoute, type ChannelRouteList, type ChannelRouteWrite, type ChannelSurface, type ChannelUpdate, Channels, type ClientOptions, type ContainsScorer, type Conversation, type ConversationId, type ConversationList, type ConversationMessage, type ConversationMessageList, type ConversationMessageRecord, type ConversationRecord, Conversations, type CreateActorData, type CreateActorError, type CreateActorErrors, type CreateActorResponse, type CreateActorResponses, type CreateAgentData, type CreateAgentError, type CreateAgentErrors, type CreateAgentGenerationData, type CreateAgentGenerationError, type CreateAgentGenerationErrors, type CreateAgentGenerationRequest, type CreateAgentGenerationResponse, type CreateAgentGenerationResponses, type CreateAgentRequest, type CreateAgentResponse, type CreateAgentResponses, type CreateAiProviderData, type CreateAiProviderErrors, type CreateAiProviderResponse, type CreateAiProviderResponses, type CreateApiKeyData, type CreateApiKeyError, type CreateApiKeyErrors, type CreateApiKeyResponse, type CreateApiKeyResponses, type CreateChannelData, type CreateChannelError, type CreateChannelErrors, type CreateChannelResponse, type CreateChannelResponses, type CreateChannelRouteData, type CreateChannelRouteError, type CreateChannelRouteErrors, type CreateChannelRouteResponse, type CreateChannelRouteResponses, type CreateConversationData, type CreateConversationError, type CreateConversationErrors, type CreateConversationResponse, type CreateConversationResponses, type CreateDatasetData, type CreateDatasetErrors, type CreateDatasetItemData, type CreateDatasetItemErrors, type CreateDatasetItemFromGenerationData, type CreateDatasetItemFromGenerationErrors, type CreateDatasetItemFromGenerationResponse, type CreateDatasetItemFromGenerationResponses, type CreateDatasetItemResponse, type CreateDatasetItemResponses, type CreateDatasetResponse, type CreateDatasetResponses, type CreateEvalData, type CreateEvalErrors, type CreateEvalResponse, type CreateEvalResponses, type CreateModelRouteData, type CreateModelRouteErrors, type CreateModelRouteResponse, type CreateModelRouteResponses, type CreateProjectData, type CreateProjectError, type CreateProjectErrors, type CreateProjectResponse, type CreateProjectResponses, type CreateSecretData, type CreateSecretErrors, type CreateSecretResponse, type CreateSecretResponses, type CreateSessionData, type CreateSessionError, type CreateSessionErrors, type CreateSessionRequest, type CreateSessionResponse, type CreateSessionResponses, type CreateToolData, type CreateToolError, type CreateToolErrors, type CreateToolRequest, type CreateToolResponse, type CreateToolResponses, type CreateWebhookData, type CreateWebhookError, type CreateWebhookErrors, type CreateWebhookResponse, type CreateWebhookResponses, type Cursor, type Dataset, type DatasetItem, type DatasetItemInput, type DeleteActorData, type DeleteActorError, type DeleteActorErrors, type DeleteActorResponse, type DeleteActorResponses, type DeleteAddressData, type DeleteAddressError, type DeleteAddressErrors, type DeleteAddressResponse, type DeleteAddressResponses, type DeleteAgentData, type DeleteAgentError, type DeleteAgentErrors, type DeleteAgentResponse, type DeleteAgentResponses, type DeleteAiProviderData, type DeleteAiProviderErrors, type DeleteAiProviderResponse, type DeleteAiProviderResponses, type DeleteApiKeyData, type DeleteApiKeyError, type DeleteApiKeyErrors, type DeleteApiKeyResponse, type DeleteApiKeyResponses, type DeleteChannelData, type DeleteChannelError, type DeleteChannelErrors, type DeleteChannelResponse, type DeleteChannelResponses, type DeleteChannelRouteData, type DeleteChannelRouteError, type DeleteChannelRouteErrors, type DeleteChannelRouteResponse, type DeleteChannelRouteResponses, type DeleteConversationData, type DeleteConversationError, type DeleteConversationErrors, type DeleteConversationResponse, type DeleteConversationResponses, type DeleteDatasetData, type DeleteDatasetErrors, type DeleteDatasetItemData, type DeleteDatasetItemErrors, type DeleteDatasetItemResponse, type DeleteDatasetItemResponses, type DeleteDatasetResponse, type DeleteDatasetResponses, type DeleteEvalData, type DeleteEvalErrors, type DeleteEvalResponse, type DeleteEvalResponses, type DeleteModelRouteData, type DeleteModelRouteErrors, type DeleteModelRouteResponse, type DeleteModelRouteResponses, type DeleteProjectData, type DeleteProjectError, type DeleteProjectErrors, type DeleteProjectResponse, type DeleteProjectResponses, type DeleteSecretData, type DeleteSecretErrors, type DeleteSecretResponses, type DeleteSessionData, type DeleteSessionError, type DeleteSessionErrors, type DeleteSessionResponse, type DeleteSessionResponses, type DeleteToolData, type DeleteToolError, type DeleteToolErrors, type DeleteToolResponse, type DeleteToolResponses, type DeleteWebhookData, type DeleteWebhookError, type DeleteWebhookErrors, type DeleteWebhookResponse, type DeleteWebhookResponses, type DeliveryId, type DiscordModes, type DocumentMessageContent, type EnableManagedModelData, type EnableManagedModelError, type EnableManagedModelErrors, type EnableManagedModelResponse, type EnableManagedModelResponses, type ErrorResponse, type Eval, type EvalResult, type EvalRun, Evaluations, type Event, type EventSubscription, type EventType, type ExactMatchScorer, type Force, type ForkSessionData, type ForkSessionError, type ForkSessionErrors, type ForkSessionRequest, type ForkSessionResponse, type ForkSessionResponses, type GenerateConversationMessageCompleted, type GenerateConversationMessageData, type GenerateConversationMessageError, type GenerateConversationMessageErrors, type GenerateConversationMessageRequiresAction, type GenerateConversationMessageResponse, type GenerateConversationMessageResponse2, type GenerateConversationMessageResponses, type GenerateSessionRequest, type GenerateSessionResponse, type GenerateSessionResponseData, type GenerateSessionResponseError, type GenerateSessionResponseErrors, type GenerateSessionResponseResponse, type GenerateSessionResponseResponses, type Generation, type GenerationTranscript, Generations, type GetActorData, type GetActorError, type GetActorErrors, type GetActorResponse, type GetActorResponses, type GetActorTagsData, type GetActorTagsError, type GetActorTagsErrors, type GetActorTagsResponse, type GetActorTagsResponses, type GetAddressData, type GetAddressError, type GetAddressErrors, type GetAddressResponse, type GetAddressResponses, type GetAgentData, type GetAgentError, type GetAgentErrors, type GetAgentResponse, type GetAgentResponses, type GetAgentVersionData, type GetAgentVersionError, type GetAgentVersionErrors, type GetAgentVersionResponse, type GetAgentVersionResponses, type GetAiProviderData, type GetAiProviderErrors, type GetAiProviderPricesData, type GetAiProviderPricesErrors, type GetAiProviderPricesResponse, type GetAiProviderPricesResponses, type GetAiProviderResponse, type GetAiProviderResponses, type GetApiKeyData, type GetApiKeyError, type GetApiKeyErrors, type GetApiKeyResponse, type GetApiKeyResponses, type GetChannelConversationData, type GetChannelConversationError, type GetChannelConversationErrors, type GetChannelConversationResponse, type GetChannelConversationResponses, type GetChannelData, type GetChannelError, type GetChannelErrors, type GetChannelResponse, type GetChannelResponses, type GetChannelRouteData, type GetChannelRouteError, type GetChannelRouteErrors, type GetChannelRouteResponse, type GetChannelRouteResponses, type GetConversationData, type GetConversationError, type GetConversationErrors, type GetConversationResponse, type GetConversationResponses, type GetConversationTagsData, type GetConversationTagsError, type GetConversationTagsErrors, type GetConversationTagsResponse, type GetConversationTagsResponses, type GetCurrentUserData, type GetCurrentUserError, type GetCurrentUserErrors, type GetCurrentUserResponse, type GetCurrentUserResponses, type GetDatasetData, type GetDatasetErrors, type GetDatasetResponse, type GetDatasetResponses, type GetEvalData, type GetEvalErrors, type GetEvalResponse, type GetEvalResponses, type GetEvalRunData, type GetEvalRunErrors, type GetEvalRunResponse, type GetEvalRunResponses, type GetGenerationData, type GetGenerationError, type GetGenerationErrors, type GetGenerationResponse, type GetGenerationResponses, type GetGenerationTranscriptData, type GetGenerationTranscriptError, type GetGenerationTranscriptErrors, type GetGenerationTranscriptResponse, type GetGenerationTranscriptResponses, type GetModelData, type GetModelError, type GetModelErrors, type GetModelResponse, type GetModelResponses, type GetModelRouteData, type GetModelRouteErrors, type GetModelRouteResponse, type GetModelRouteResponses, type GetProjectData, type GetProjectError, type GetProjectErrors, type GetProjectResponse, type GetProjectResponses, type GetProjectUsageData, type GetProjectUsageError, type GetProjectUsageErrors, type GetProjectUsageResponse, type GetProjectUsageResponses, type GetSecretData, type GetSecretErrors, type GetSecretResponse, type GetSecretResponses, type GetSessionData, type GetSessionError, type GetSessionErrors, type GetSessionResponse, type GetSessionResponses, type GetSessionTagsData, type GetSessionTagsError, type GetSessionTagsErrors, type GetSessionTagsResponse, type GetSessionTagsResponses, type GetToolData, type GetToolError, type GetToolErrors, type GetToolResponse, type GetToolResponses, type GetTraceData, type GetTraceError, type GetTraceErrors, type GetTraceResponse, type GetTraceResponses, type GetTraceTreeData, type GetTraceTreeError, type GetTraceTreeErrors, type GetTraceTreeResponse, type GetTraceTreeResponses, type GetWebhookData, type GetWebhookDeliveryData, type GetWebhookDeliveryError, type GetWebhookDeliveryErrors, type GetWebhookDeliveryResponse, type GetWebhookDeliveryResponses, type GetWebhookError, type GetWebhookErrors, type GetWebhookResponse, type GetWebhookResponses, type GrantId, type IdempotencyKey, type Identifier, type JsonLogicScorer, type Limit, type LinkToken, type ListActorsData, type ListActorsError, type ListActorsErrors, type ListActorsResponse, type ListActorsResponses, type ListAddressConversationsData, type ListAddressConversationsError, type ListAddressConversationsErrors, type ListAddressConversationsResponse, type ListAddressConversationsResponses, type ListAddressesData, type ListAddressesError, type ListAddressesErrors, type ListAddressesResponse, type ListAddressesResponses, type ListAgentVersionsData, type ListAgentVersionsError, type ListAgentVersionsErrors, type ListAgentVersionsResponse, type ListAgentVersionsResponses, type ListAgentsData, type ListAgentsError, type ListAgentsErrors, type ListAgentsResponse, type ListAgentsResponses, type ListAiProviderModelsData, type ListAiProviderModelsErrors, type ListAiProviderModelsResponse, type ListAiProviderModelsResponses, type ListAiProvidersData, type ListAiProvidersErrors, type ListAiProvidersResponse, type ListAiProvidersResponses, type ListApiKeysData, type ListApiKeysError, type ListApiKeysErrors, type ListApiKeysResponse, type ListApiKeysResponses, type ListAssistantGrantsData, type ListAssistantGrantsError, type ListAssistantGrantsErrors, type ListAssistantGrantsResponse, type ListAssistantGrantsResponses, type ListChannelConversationMessagesData, type ListChannelConversationMessagesError, type ListChannelConversationMessagesErrors, type ListChannelConversationMessagesResponse, type ListChannelConversationMessagesResponses, type ListChannelConversationsData, type ListChannelConversationsError, type ListChannelConversationsErrors, type ListChannelConversationsResponse, type ListChannelConversationsResponses, type ListChannelKindsData, type ListChannelKindsError, type ListChannelKindsErrors, type ListChannelKindsResponse, type ListChannelKindsResponses, type ListChannelRoutesData, type ListChannelRoutesError, type ListChannelRoutesErrors, type ListChannelRoutesResponse, type ListChannelRoutesResponses, type ListChannelsData, type ListChannelsError, type ListChannelsErrors, type ListChannelsResponse, type ListChannelsResponses, type ListConversationMessagesData, type ListConversationMessagesError, type ListConversationMessagesErrors, type ListConversationMessagesResponse, type ListConversationMessagesResponses, type ListConversationsData, type ListConversationsError, type ListConversationsErrors, type ListConversationsResponse, type ListConversationsResponses, type ListDatasetItemsData, type ListDatasetItemsErrors, type ListDatasetItemsResponse, type ListDatasetItemsResponses, type ListDatasetsData, type ListDatasetsErrors, type ListDatasetsResponse, type ListDatasetsResponses, type ListEvalResultsData, type ListEvalResultsErrors, type ListEvalResultsResponse, type ListEvalResultsResponses, type ListEvalRunsData, type ListEvalRunsErrors, type ListEvalRunsResponse, type ListEvalRunsResponses, type ListEvalsData, type ListEvalsErrors, type ListEvalsResponse, type ListEvalsResponses, type ListGenerationsData, type ListGenerationsError, type ListGenerationsErrors, type ListGenerationsResponse, type ListGenerationsResponses, type ListModelRoutesData, type ListModelRoutesErrors, type ListModelRoutesResponse, type ListModelRoutesResponses, type ListModelsData, type ListModelsError, type ListModelsErrors, type ListModelsResponse, type ListModelsResponses, type ListProjectChannelRoutesData, type ListProjectChannelRoutesError, type ListProjectChannelRoutesErrors, type ListProjectChannelRoutesResponse, type ListProjectChannelRoutesResponses, type ListProjectMembersData, type ListProjectMembersError, type ListProjectMembersErrors, type ListProjectMembersResponse, type ListProjectMembersResponses, type ListProjectsData, type ListProjectsError, type ListProjectsErrors, type ListProjectsResponse, type ListProjectsResponses, type ListSecretsData, type ListSecretsErrors, type ListSecretsResponse, type ListSecretsResponses, type ListSessionForksData, type ListSessionForksError, type ListSessionForksErrors, type ListSessionForksResponse, type ListSessionForksResponses, type ListSessionsData, type ListSessionsError, type ListSessionsErrors, type ListSessionsResponse, type ListSessionsResponses, type ListToolsData, type ListToolsError, type ListToolsErrors, type ListToolsResponse, type ListToolsResponses, type ListTracesData, type ListTracesError, type ListTracesErrors, type ListTracesResponse, type ListTracesResponses, type ListWebhookDeliveriesData, type ListWebhookDeliveriesError, type ListWebhookDeliveriesErrors, type ListWebhookDeliveriesResponse, type ListWebhookDeliveriesResponses, type ListWebhooksData, type ListWebhooksError, type ListWebhooksErrors, type ListWebhooksResponse, type ListWebhooksResponses, type LlmJudgeScorer, type LogoutData, type LogoutError, type LogoutErrors, type LogoutRequest, type LogoutResponse, type LogoutResponses, type ManagedProvider, type MergeActorTagsData, type MergeActorTagsError, type MergeActorTagsErrors, type MergeActorTagsResponse, type MergeActorTagsResponses, type MergeConversationTagsData, type MergeConversationTagsError, type MergeConversationTagsErrors, type MergeConversationTagsResponse, type MergeConversationTagsResponses, type MergeSessionTagsData, type MergeSessionTagsError, type MergeSessionTagsErrors, type MergeSessionTagsResponse, type MergeSessionTagsResponses, type MessagesLimit, type Model, type ModelId, type ModelList, type ModelRoute, type ModelRouteTarget, ModelRoutes, Models, NaturaliClient, type NaturaliClientOptions, type Offset, type OpenChannelConversationData, type OpenChannelConversationError, type OpenChannelConversationErrors, type OpenChannelConversationResponse, type OpenChannelConversationResponses, type Options, type OutputSchemaScorer, type PatchAgentData, type PatchAgentError, type PatchAgentErrors, type PatchAgentResponse, type PatchAgentResponses, type PreviewAssistantLinkData, type PreviewAssistantLinkError, type PreviewAssistantLinkErrors, type PreviewAssistantLinkResponse, type PreviewAssistantLinkResponses, type Project, type ProjectCreate, type ProjectId, type ProjectList, type ProjectMember, type ProjectMemberList, type ProjectRole, type ProjectUpdate, type ProjectUsage, Projects, type PromoteAgentReleaseData, type PromoteAgentReleaseError, type PromoteAgentReleaseErrors, type PromoteAgentReleaseResponse, type PromoteAgentReleaseResponses, type ProviderModelsResponse, type ProviderPrice, type ProviderPricesResponse, type PurgeGenerationContentData, type PurgeGenerationContentError, type PurgeGenerationContentErrors, type PurgeGenerationContentResponse, type PurgeGenerationContentResponses, type PurgeTraceContentData, type PurgeTraceContentError, type PurgeTraceContentErrors, type PurgeTraceContentResponse, type PurgeTraceContentResponses, type RedeemAssistantLinkData, type RedeemAssistantLinkError, type RedeemAssistantLinkErrors, type RedeemAssistantLinkResponse, type RedeemAssistantLinkResponses, type RedeliverWebhookDeliveryData, type RedeliverWebhookDeliveryError, type RedeliverWebhookDeliveryErrors, type RedeliverWebhookDeliveryResponse, type RedeliverWebhookDeliveryResponses, type RefreshRequest, type RefreshSessionData, type RefreshSessionError, type RefreshSessionErrors, type RefreshSessionResponse, type RefreshSessionResponses, type RemoveConversationMessageData, type RemoveConversationMessageError, type RemoveConversationMessageErrors, type RemoveConversationMessageResponse, type RemoveConversationMessageResponses, type ReplaceActorTagsData, type ReplaceActorTagsError, type ReplaceActorTagsErrors, type ReplaceActorTagsResponse, type ReplaceActorTagsResponses, type ReplaceConversationTagsData, type ReplaceConversationTagsError, type ReplaceConversationTagsErrors, type ReplaceConversationTagsResponse, type ReplaceConversationTagsResponses, type ReplaceSessionTagsData, type ReplaceSessionTagsError, type ReplaceSessionTagsErrors, type ReplaceSessionTagsResponse, type ReplaceSessionTagsResponses, type RequestSignInCodeData, type RequestSignInCodeError, type RequestSignInCodeErrors, type RequestSignInCodeResponse, type RequestSignInCodeResponses, type RestoreAgentVersionData, type RestoreAgentVersionError, type RestoreAgentVersionErrors, type RestoreAgentVersionRequest, type RestoreAgentVersionResponse, type RestoreAgentVersionResponses, type RevokeAssistantGrantData, type RevokeAssistantGrantError, type RevokeAssistantGrantErrors, type RevokeAssistantGrantResponse, type RevokeAssistantGrantResponses, type RotateApiKeyData, type RotateApiKeyError, type RotateApiKeyErrors, type RotateApiKeyResponse, type RotateApiKeyResponses, type RotateWebhookSecretData, type RotateWebhookSecretError, type RotateWebhookSecretErrors, type RotateWebhookSecretResponse, type RotateWebhookSecretResponses, type RouteId, type ScorerResult, type Scorers, Secrets, type SendSessionMessageResponse, type SessionId, type SessionRecord, Sessions, type SetAddressActionData, type SetAddressActionError, type SetAddressActionErrors, type SetAddressActionResponse, type SetAddressActionResponses, type SetAgentReleaseData, type SetAgentReleaseError, type SetAgentReleaseErrors, type SetAgentReleaseRequest, type SetAgentReleaseResponse, type SetAgentReleaseResponses, type SignInCodeRequest, type SignInCodeVerify, type StartEvalRunData, type StartEvalRunErrors, type StartEvalRunResponse, type StartEvalRunResponses, type SubmitAgentToolOutputsData, type SubmitAgentToolOutputsError, type SubmitAgentToolOutputsErrors, type SubmitAgentToolOutputsResponse, type SubmitAgentToolOutputsResponses, type SubmitSessionToolOutputsData, type SubmitSessionToolOutputsError, type SubmitSessionToolOutputsErrors, type SubmitSessionToolOutputsRequest, type SubmitSessionToolOutputsResponse, type SubmitSessionToolOutputsResponses, type SubmitToolOutputsRequest, type Tool, type ToolBinding, type ToolOutputMessageContent, type ToolScorer, Tools, type Trace, type TraceTreeNode, Traces, type TranscriptStep, type TranscriptToolCall, type TranscriptToolResult, type TranscriptUsage, type UpdateActorData, type UpdateActorError, type UpdateActorErrors, type UpdateActorResponse, type UpdateActorResponses, type UpdateAgentData, type UpdateAgentError, type UpdateAgentErrors, type UpdateAgentRequest, type UpdateAgentResponse, type UpdateAgentResponses, type UpdateAiProviderData, type UpdateAiProviderErrors, type UpdateAiProviderPricesData, type UpdateAiProviderPricesErrors, type UpdateAiProviderPricesResponse, type UpdateAiProviderPricesResponses, type UpdateAiProviderResponses, type UpdateApiKeyData, type UpdateApiKeyError, type UpdateApiKeyErrors, type UpdateApiKeyResponse, type UpdateApiKeyResponses, type UpdateChannelData, type UpdateChannelError, type UpdateChannelErrors, type UpdateChannelResponse, type UpdateChannelResponses, type UpdateChannelRouteData, type UpdateChannelRouteError, type UpdateChannelRouteErrors, type UpdateChannelRouteResponse, type UpdateChannelRouteResponses, type UpdateConversationData, type UpdateConversationError, type UpdateConversationErrors, type UpdateConversationResponse, type UpdateConversationResponses, type UpdateCurrentUserData, type UpdateCurrentUserError, type UpdateCurrentUserErrors, type UpdateCurrentUserResponse, type UpdateCurrentUserResponses, type UpdateDatasetData, type UpdateDatasetErrors, type UpdateDatasetItemData, type UpdateDatasetItemErrors, type UpdateDatasetItemResponse, type UpdateDatasetItemResponses, type UpdateDatasetResponse, type UpdateDatasetResponses, type UpdateEvalData, type UpdateEvalErrors, type UpdateEvalResponse, type UpdateEvalResponses, type UpdateGenerationData, type UpdateGenerationError, type UpdateGenerationErrors, type UpdateGenerationRequest, type UpdateGenerationResponse, type UpdateGenerationResponses, type UpdateModelRouteData, type UpdateModelRouteErrors, type UpdateModelRouteResponse, type UpdateModelRouteResponses, type UpdateProjectData, type UpdateProjectError, type UpdateProjectErrors, type UpdateProjectResponse, type UpdateProjectResponses, type UpdateSecretData, type UpdateSecretErrors, type UpdateSecretResponses, type UpdateSessionData, type UpdateSessionError, type UpdateSessionErrors, type UpdateSessionRequest, type UpdateSessionResponse, type UpdateSessionResponses, type UpdateToolData, type UpdateToolError, type UpdateToolErrors, type UpdateToolRequest, type UpdateToolResponse, type UpdateToolResponses, type UpdateWebhookData, type UpdateWebhookError, type UpdateWebhookErrors, type UpdateWebhookResponse, type UpdateWebhookResponses, type UpsertProviderPricesRequest, type UsageComponent, type UsageComponents, type UsageGroup, type UsageTokens, type User, type UserUpdate, Users, type VerifySignInCodeData, type VerifySignInCodeError, type VerifySignInCodeErrors, type VerifySignInCodeResponse, type VerifySignInCodeResponses, type Webhook, type WebhookCreate, type WebhookDelivery, type WebhookDeliveryList, type WebhookId, type WebhookList, type WebhookUpdate, type WebhookWithSecret, Webhooks, createClient, createConfig };