@talqing/sdk 0.4.3 → 0.4.5

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.
@@ -219,6 +219,10 @@ export type AgentOverride = {
219
219
  analysis?: AnalysisSpecOverride | null;
220
220
  avatar?: AvatarSpecOverride | null;
221
221
  background_audio?: BackgroundAudioSpecOverride | null;
222
+ /**
223
+ * Channel
224
+ */
225
+ channel?: 'voice' | 'video' | 'text' | null;
222
226
  conversation?: ConversationSpecOverride | null;
223
227
  /**
224
228
  * Greeting
@@ -652,6 +656,10 @@ export type AvatarCatalogEntryResponse = {
652
656
  * Label
653
657
  */
654
658
  label: string | null;
659
+ /**
660
+ * Logo Url
661
+ */
662
+ logo_url: string | null;
655
663
  /**
656
664
  * Model
657
665
  */
@@ -2646,7 +2654,9 @@ export type CreateEmailBatchRequest = {
2646
2654
  *
2647
2655
  * Send these rows. **This is the call that mails real people.**
2648
2656
  *
2649
- * Name ``recipient_ids`` or pass ``selection: "all_drafts"``. Everything else
2657
+ * ``scope: "selected"`` sends exactly ``recipient_ids``. ``scope: "all"`` is a
2658
+ * standing send: every row of the batch as it reaches `draft`, including rows
2659
+ * not drafted yet — so it mails drafts nobody has read. Everything else
2650
2660
  * defaults to the batch's own setting; ``window`` and ``send_daily_cap`` accept
2651
2661
  * an explicit ``null`` to mean "no window" and "uncapped" rather than
2652
2662
  * "inherit", so the service reads ``model_fields_set``.
@@ -2671,9 +2681,11 @@ export type CreateEmailSendRequest = {
2671
2681
  */
2672
2682
  reply_to?: string | null;
2673
2683
  /**
2674
- * Selection
2684
+ * Scope
2685
+ *
2686
+ * `selected` sends `recipient_ids`; `all` sends every row as it is drafted.
2675
2687
  */
2676
- selection?: 'all_drafts' | null;
2688
+ scope: 'all' | 'selected';
2677
2689
  /**
2678
2690
  * Send Attempts
2679
2691
  */
@@ -3206,6 +3218,22 @@ export type DeliveryResultResponse = {
3206
3218
  webhook_id: string;
3207
3219
  };
3208
3220
 
3221
+ /**
3222
+ * DraftFailure
3223
+ *
3224
+ * One reason drafts failed, and how many rows it holds.
3225
+ */
3226
+ export type DraftFailure = {
3227
+ /**
3228
+ * Count
3229
+ */
3230
+ count: number;
3231
+ /**
3232
+ * Reason
3233
+ */
3234
+ reason: string;
3235
+ };
3236
+
3209
3237
  /**
3210
3238
  * DraftedVersion
3211
3239
  *
@@ -3228,6 +3256,9 @@ export type DraftedVersion = {
3228
3256
 
3229
3257
  /**
3230
3258
  * EmailBatchCounts
3259
+ *
3260
+ * Rows by the status a reader sees. `draft` is drafts no live send covers
3261
+ * yet; `queued` is drafts one does.
3231
3262
  */
3232
3263
  export type EmailBatchCounts = {
3233
3264
  /**
@@ -3297,6 +3328,10 @@ export type EmailBatchResponse = {
3297
3328
  * Draft Concurrency
3298
3329
  */
3299
3330
  draft_concurrency: number;
3331
+ /**
3332
+ * Draft Failures
3333
+ */
3334
+ draft_failures: Array<DraftFailure>;
3300
3335
  /**
3301
3336
  * Draft Gap Seconds
3302
3337
  */
@@ -3390,10 +3425,15 @@ export type EmailBatchResponse = {
3390
3425
  * Sent Today
3391
3426
  */
3392
3427
  sent_today: number;
3428
+ skips: EmailBatchSkips;
3393
3429
  /**
3394
3430
  * Stale Redraftable
3395
3431
  */
3396
3432
  stale_redraftable: number;
3433
+ /**
3434
+ * Stale Sent
3435
+ */
3436
+ stale_sent: number;
3397
3437
  /**
3398
3438
  * Start At
3399
3439
  */
@@ -3421,6 +3461,26 @@ export type EmailBatchResponse = {
3421
3461
  window: TimeWindow | null;
3422
3462
  };
3423
3463
 
3464
+ /**
3465
+ * EmailBatchSkips
3466
+ *
3467
+ * `counts.skipped`, by who decided it.
3468
+ */
3469
+ export type EmailBatchSkips = {
3470
+ /**
3471
+ * Duplicate Recipient
3472
+ */
3473
+ duplicate_recipient: number;
3474
+ /**
3475
+ * Operator
3476
+ */
3477
+ operator: number;
3478
+ /**
3479
+ * Unfillable
3480
+ */
3481
+ unfillable: number;
3482
+ };
3483
+
3424
3484
  /**
3425
3485
  * EmailRecipientInput
3426
3486
  *
@@ -3513,11 +3573,11 @@ export type EmailRecipientResponse = {
3513
3573
  /**
3514
3574
  * Skip Reason
3515
3575
  */
3516
- skip_reason: string | null;
3576
+ skip_reason: 'operator' | 'duplicate_recipient' | 'unfillable' | null;
3517
3577
  /**
3518
3578
  * Status
3519
3579
  */
3520
- status: 'pending' | 'drafting' | 'draft' | 'draft_failed' | 'skipped' | 'queued' | 'sending' | 'sent' | 'send_failed' | 'canceled';
3580
+ status: 'pending' | 'drafting' | 'draft' | 'draft_failed' | 'skipped' | 'sending' | 'sent' | 'send_failed' | 'queued' | 'canceled';
3521
3581
  /**
3522
3582
  * Task Run Id
3523
3583
  */
@@ -3541,19 +3601,20 @@ export type EmailRecipientResponse = {
3541
3601
  *
3542
3602
  * Where this send's rows are.
3543
3603
  *
3544
- * ``total`` is what the send was created with and never changes — a send's row
3545
- * set is immutable — so ``returned`` is what is left once every other bucket is
3546
- * accounted for: the rows a cancel or a failure handed back as drafts.
3604
+ * ``total`` is the rows a `selected` send was created with, and null for an
3605
+ * `all` send, which cannot know it while drafting runs. ``queued`` and
3606
+ * ``drafting`` are what it still covers — drafts ready to go, and rows still
3607
+ * being written — so both are 0 once it has ended.
3547
3608
  */
3548
3609
  export type EmailSendCounts = {
3549
3610
  /**
3550
- * Queued
3611
+ * Drafting
3551
3612
  */
3552
- queued: number;
3613
+ drafting: number;
3553
3614
  /**
3554
- * Returned
3615
+ * Queued
3555
3616
  */
3556
- returned: number;
3617
+ queued: number;
3557
3618
  /**
3558
3619
  * Send Failed
3559
3620
  */
@@ -3573,7 +3634,7 @@ export type EmailSendCounts = {
3573
3634
  /**
3574
3635
  * Total
3575
3636
  */
3576
- total: number;
3637
+ total: number | null;
3577
3638
  };
3578
3639
 
3579
3640
  /**
@@ -3616,11 +3677,15 @@ export type EmailSendResponse = {
3616
3677
  /**
3617
3678
  * Next Send Reason
3618
3679
  */
3619
- next_send_reason: 'start' | 'window' | 'daily_cap' | 'retry' | 'gap' | null;
3680
+ next_send_reason: 'start' | 'window' | 'daily_cap' | 'retry' | 'gap' | 'drafting' | null;
3620
3681
  /**
3621
3682
  * Reply To
3622
3683
  */
3623
3684
  reply_to: string | null;
3685
+ /**
3686
+ * Scope
3687
+ */
3688
+ scope: 'all' | 'selected';
3624
3689
  /**
3625
3690
  * Send Attempts
3626
3691
  */
@@ -4013,7 +4078,12 @@ export type HandoffTarget = {
4013
4078
  * Liveness of the API process itself.
4014
4079
  */
4015
4080
  export type HealthResponse = {
4016
- model_registry?: ModelRegistryHealth | null;
4081
+ /**
4082
+ * Model Registry
4083
+ */
4084
+ model_registry?: {
4085
+ [key: string]: ModelRegistryHealth;
4086
+ } | null;
4017
4087
  /**
4018
4088
  * Status
4019
4089
  */
@@ -5354,6 +5424,10 @@ export type LLMCatalogEntryResponse = {
5354
5424
  * Label
5355
5425
  */
5356
5426
  label: string | null;
5427
+ /**
5428
+ * Logo Url
5429
+ */
5430
+ logo_url: string | null;
5357
5431
  /**
5358
5432
  * Model
5359
5433
  */
@@ -5384,6 +5458,31 @@ export type LLMCatalogEntryResponse = {
5384
5458
  [key: string]: unknown;
5385
5459
  };
5386
5460
 
5461
+ /**
5462
+ * LLMModelSearchResponse
5463
+ *
5464
+ * One page of a searched provider's language models — never the whole
5465
+ * registry.
5466
+ *
5467
+ * Ordered by real-world popularity when `q` is empty (OpenRouter ranks its own
5468
+ * list by tokens processed, so the first screen is the models people actually
5469
+ * run) and by match quality when it is not, popularity breaking the ties.
5470
+ */
5471
+ export type LLMModelSearchResponse = {
5472
+ /**
5473
+ * Kind
5474
+ */
5475
+ kind: 'llm';
5476
+ /**
5477
+ * Models
5478
+ */
5479
+ models: Array<LLMCatalogEntryResponse>;
5480
+ /**
5481
+ * Next Cursor
5482
+ */
5483
+ next_cursor: string | null;
5484
+ };
5485
+
5387
5486
  /**
5388
5487
  * LLMModelSpec
5389
5488
  */
@@ -5392,6 +5491,12 @@ export type LLMModelSpec = {
5392
5491
  * Builtin Tools
5393
5492
  */
5394
5493
  builtin_tools?: Array<BuiltinToolSpec>;
5494
+ /**
5495
+ * Hosts
5496
+ *
5497
+ * OpenRouter only: the hosts allowed to serve this model, from list_model_hosts; the fastest of them answers. Unset lets OpenRouter use any host.
5498
+ */
5499
+ hosts?: Array<string> | null;
5395
5500
  /**
5396
5501
  * Model
5397
5502
  */
@@ -5424,6 +5529,12 @@ export type LLMModelSpecOverride = {
5424
5529
  * Builtin Tools
5425
5530
  */
5426
5531
  builtin_tools?: Array<BuiltinToolSpec> | null;
5532
+ /**
5533
+ * Hosts
5534
+ *
5535
+ * OpenRouter only: the hosts allowed to serve this model, from list_model_hosts; the fastest of them answers. Unset lets OpenRouter use any host.
5536
+ */
5537
+ hosts?: Array<string> | null;
5427
5538
  /**
5428
5539
  * Model
5429
5540
  */
@@ -5528,6 +5639,12 @@ export type LLMSpec = {
5528
5639
  */
5529
5640
  builtin_tools?: Array<BuiltinToolSpec>;
5530
5641
  fallback?: LLMModelSpec | null;
5642
+ /**
5643
+ * Hosts
5644
+ *
5645
+ * OpenRouter only: the hosts allowed to serve this model, from list_model_hosts; the fastest of them answers. Unset lets OpenRouter use any host.
5646
+ */
5647
+ hosts?: Array<string> | null;
5531
5648
  /**
5532
5649
  * Model
5533
5650
  */
@@ -5561,6 +5678,12 @@ export type LLMSpecOverride = {
5561
5678
  */
5562
5679
  builtin_tools?: Array<BuiltinToolSpec> | null;
5563
5680
  fallback?: LLMModelSpecOverride | null;
5681
+ /**
5682
+ * Hosts
5683
+ *
5684
+ * OpenRouter only: the hosts allowed to serve this model, from list_model_hosts; the fastest of them answers. Unset lets OpenRouter use any host.
5685
+ */
5686
+ hosts?: Array<string> | null;
5564
5687
  /**
5565
5688
  * Model
5566
5689
  */
@@ -5715,6 +5838,65 @@ export type McpSelection = {
5715
5838
  mcp?: InlineMcpServer | null;
5716
5839
  };
5717
5840
 
5841
+ /**
5842
+ * ModelHostResponse
5843
+ *
5844
+ * One endpoint that can serve an OpenRouter language model.
5845
+ */
5846
+ export type ModelHostResponse = {
5847
+ /**
5848
+ * All Endpoints
5849
+ */
5850
+ all_endpoints: boolean;
5851
+ /**
5852
+ * Context Length
5853
+ */
5854
+ context_length: number | null;
5855
+ /**
5856
+ * Host
5857
+ */
5858
+ host: string;
5859
+ /**
5860
+ * Latency P50 Ms
5861
+ */
5862
+ latency_p50_ms: number | null;
5863
+ /**
5864
+ * Logo Url
5865
+ */
5866
+ logo_url: string | null;
5867
+ /**
5868
+ * Name
5869
+ */
5870
+ name: string;
5871
+ pricing: LLMPricing;
5872
+ /**
5873
+ * Quantization
5874
+ */
5875
+ quantization: string | null;
5876
+ /**
5877
+ * Throughput P50
5878
+ */
5879
+ throughput_p50: number | null;
5880
+ /**
5881
+ * Uptime 30M
5882
+ */
5883
+ uptime_30m: number | null;
5884
+ };
5885
+
5886
+ /**
5887
+ * ModelHostsResponse
5888
+ */
5889
+ export type ModelHostsResponse = {
5890
+ /**
5891
+ * Hosts
5892
+ */
5893
+ hosts: Array<ModelHostResponse>;
5894
+ /**
5895
+ * Model
5896
+ */
5897
+ model: string;
5898
+ };
5899
+
5718
5900
  /**
5719
5901
  * ModelMetadata
5720
5902
  *
@@ -5735,7 +5917,7 @@ export type ModelMetadata = {
5735
5917
  /**
5736
5918
  * ModelRegistryHealth
5737
5919
  *
5738
- * How fresh this process's searched-provider model list is.
5920
+ * How fresh one kind of this process's searched-provider model list is.
5739
5921
  *
5740
5922
  * A silently stale registry is the one failure this design trades for
5741
5923
  * freshness — a refresh that keeps failing holds the last good snapshot
@@ -5758,26 +5940,6 @@ export type ModelRegistryHealth = {
5758
5940
  models: number;
5759
5941
  };
5760
5942
 
5761
- /**
5762
- * ModelSearchResponse
5763
- *
5764
- * One page of a searched provider's models — never the whole registry.
5765
- *
5766
- * Ordered by real-world popularity when `q` is empty (OpenRouter ranks its own
5767
- * list by tokens processed, so the first screen is the models people actually
5768
- * run) and by match quality when it is not, popularity breaking the ties.
5769
- */
5770
- export type ModelSearchResponse = {
5771
- /**
5772
- * Models
5773
- */
5774
- models: Array<LLMCatalogEntryResponse>;
5775
- /**
5776
- * Next Cursor
5777
- */
5778
- next_cursor: string | null;
5779
- };
5780
-
5781
5943
  /**
5782
5944
  * NodeContentResponse
5783
5945
  */
@@ -5828,6 +5990,10 @@ export type NoiseCancellationCatalogEntryResponse = {
5828
5990
  * Label
5829
5991
  */
5830
5992
  label: string | null;
5993
+ /**
5994
+ * Logo Url
5995
+ */
5996
+ logo_url: string | null;
5831
5997
  /**
5832
5998
  * Model
5833
5999
  */
@@ -7364,11 +7530,10 @@ export type PatchEmailRecipientRequest = {
7364
7530
  *
7365
7531
  * Re-steer one send: its pacing, its hours, its ceiling, its start time.
7366
7532
  *
7367
- * It never edits the sender, and it never edits the row set in either
7368
- * direction. To change what a scheduled send contains, cancel it — every unsent
7369
- * row comes back as a draft — and create another. A second way to move a row
7370
- * out of a send would be a second state machine to keep correct for something
7371
- * cancel already covers.
7533
+ * Never its sender and never its scope — "re-steer the pacing, never the
7534
+ * contents". Widening a send is another send; narrowing one has no defensible
7535
+ * answer to "which rows does it keep?". To change what a send covers, cancel it
7536
+ * — its unsent rows simply stay drafts — and create another.
7372
7537
  */
7373
7538
  export type PatchEmailSendRequest = {
7374
7539
  /**
@@ -7548,12 +7713,12 @@ export type PatchStreamConnectionRequest = {
7548
7713
 
7549
7714
  /**
7550
7715
  * PatchTaskRequest
7551
- *
7552
- * The whole config, replaced. A task is one small object and a field-level
7553
- * patch would only invite half-sent `output` lists.
7554
7716
  */
7555
7717
  export type PatchTaskRequest = {
7556
- config: TaskConfig;
7718
+ /**
7719
+ * Only the fields to change: the same shape as TaskConfig, every field optional.
7720
+ */
7721
+ config: TaskPatch;
7557
7722
  };
7558
7723
 
7559
7724
  /**
@@ -7950,6 +8115,10 @@ export type ProviderEntryResponse = {
7950
8115
  * Logo Url
7951
8116
  */
7952
8117
  logo_url: string;
8118
+ /**
8119
+ * Searched Kinds
8120
+ */
8121
+ searched_kinds: Array<'llm' | 'stt'>;
7953
8122
  };
7954
8123
 
7955
8124
  /**
@@ -8180,6 +8349,10 @@ export type RealtimeCatalogEntryResponse = {
8180
8349
  * Languages
8181
8350
  */
8182
8351
  languages: Array<LanguageOption>;
8352
+ /**
8353
+ * Logo Url
8354
+ */
8355
+ logo_url: string | null;
8183
8356
  /**
8184
8357
  * Model
8185
8358
  */
@@ -8206,6 +8379,10 @@ export type RealtimeCatalogEntryResponse = {
8206
8379
  * Speed Min
8207
8380
  */
8208
8381
  speed_min: number;
8382
+ /**
8383
+ * Supports Instruction Update
8384
+ */
8385
+ supports_instruction_update: boolean;
8209
8386
  /**
8210
8387
  * Supports Speed
8211
8388
  */
@@ -8599,11 +8776,10 @@ export type RecordingState = 'none' | 'available' | 'pending' | 'expired' | 'fai
8599
8776
  * Four selections, and they differ in what they REFUSE as much as in what they
8600
8777
  * move, because a redraft discards a draft the tenant has already paid for:
8601
8778
  *
8602
- * - ``all`` — every row in the batch. Rows already sent or queued come back in
8779
+ * - ``all`` — every row in the batch. Rows already sent or mid-send come back in
8603
8780
  * ``rejected``, by name, so a bulk press cannot quietly do less than it said.
8604
8781
  * - ``failed`` — rows whose drafting failed.
8605
- * - ``not_sent`` — every row that has not left and is not about to, with
8606
- * nothing rejected.
8782
+ * - ``not_sent`` — every row that has not left, with nothing rejected.
8607
8783
  * - ``stale_version`` — rows drafted by a task version older than the one
8608
8784
  * published now. The selection that makes "watch the output, improve the
8609
8785
  * task, publish, redraft the rest" a workflow rather than a wish.
@@ -8839,6 +9015,10 @@ export type STTCatalogEntryResponse = {
8839
9015
  * Languages
8840
9016
  */
8841
9017
  languages: Array<LanguageOption>;
9018
+ /**
9019
+ * Logo Url
9020
+ */
9021
+ logo_url: string | null;
8842
9022
  /**
8843
9023
  * Model
8844
9024
  */
@@ -8864,6 +9044,27 @@ export type STTCatalogEntryResponse = {
8864
9044
  [key: string]: unknown;
8865
9045
  };
8866
9046
 
9047
+ /**
9048
+ * STTModelSearchResponse
9049
+ *
9050
+ * One page of a searched provider's speech-to-text models, ordered as the
9051
+ * provider lists them.
9052
+ */
9053
+ export type STTModelSearchResponse = {
9054
+ /**
9055
+ * Kind
9056
+ */
9057
+ kind: 'stt';
9058
+ /**
9059
+ * Models
9060
+ */
9061
+ models: Array<STTCatalogEntryResponse>;
9062
+ /**
9063
+ * Next Cursor
9064
+ */
9065
+ next_cursor: string | null;
9066
+ };
9067
+
8867
9068
  /**
8868
9069
  * STTModelSpec
8869
9070
  */
@@ -8926,6 +9127,10 @@ export type STTPriceLine = {
8926
9127
  * Provider
8927
9128
  */
8928
9129
  provider: string;
9130
+ /**
9131
+ * Provider Reported
9132
+ */
9133
+ provider_reported: boolean;
8929
9134
  rates: STTPricing | null;
8930
9135
  };
8931
9136
 
@@ -9003,6 +9208,10 @@ export type STTUsage = {
9003
9208
  * Provider
9004
9209
  */
9005
9210
  provider: string;
9211
+ /**
9212
+ * Reported Cost
9213
+ */
9214
+ reported_cost: string | null;
9006
9215
  };
9007
9216
 
9008
9217
  /**
@@ -9119,7 +9328,7 @@ export type SelectRecipientsRequest = {
9119
9328
  /**
9120
9329
  * Selection
9121
9330
  *
9122
- * Every row this verb can act on: `draft` for skip, `skipped` for restore.
9331
+ * Every row this verb can act on: drafts for skip, rows a person skipped for restore.
9123
9332
  */
9124
9333
  selection?: 'all_eligible' | null;
9125
9334
  };
@@ -9561,6 +9770,10 @@ export type TTSCatalogEntryResponse = {
9561
9770
  * Languages
9562
9771
  */
9563
9772
  languages: Array<LanguageOption>;
9773
+ /**
9774
+ * Logo Url
9775
+ */
9776
+ logo_url: string | null;
9564
9777
  /**
9565
9778
  * Model
9566
9779
  */
@@ -10006,6 +10219,90 @@ export type TaskOutputField = {
10006
10219
  type?: 'string' | 'boolean' | 'integer' | 'number';
10007
10220
  };
10008
10221
 
10222
+ /**
10223
+ * TaskPatch
10224
+ *
10225
+ * A partial TaskConfig: only the fields this call changes. Absent keeps the base value, an explicit null clears it, objects deep-merge and lists replace.
10226
+ */
10227
+ export type TaskPatch = {
10228
+ /**
10229
+ * Finish Without Result Description
10230
+ *
10231
+ * Description of `finish_without_result`, the tool that abandons a task an agent entered. Narrow it if the task gives up too readily. Unused by a standalone run.
10232
+ */
10233
+ finish_without_result_description?: string | null;
10234
+ /**
10235
+ * Kb Ids
10236
+ *
10237
+ * Knowledge bases to read from: their outline goes into the prompt and pages are fetched on demand.
10238
+ */
10239
+ kb_ids?: Array<string> | null;
10240
+ llm?: LLMSpecOverride | null;
10241
+ /**
10242
+ * Max Steps
10243
+ *
10244
+ * How many LLM -> tools -> LLM rounds a standalone run may take. A round, not a tool call: four tools in one reply cost one step. Entered by an agent, the calling call's own limit applies instead.
10245
+ */
10246
+ max_steps?: number | null;
10247
+ /**
10248
+ * Mcps
10249
+ *
10250
+ * MCP servers whose tools may be called — each named by the integration that holds its credential, or defined inline. Which of a named server's tools may be called is the integration's own `allowed_tools`, not this list.
10251
+ */
10252
+ mcps?: Array<McpSelection> | null;
10253
+ /**
10254
+ * Name
10255
+ *
10256
+ * Unique in the workspace.
10257
+ */
10258
+ name?: string | null;
10259
+ on_enter?: ToolSelection | null;
10260
+ on_exit?: ToolSelection | null;
10261
+ on_user_turn_completed?: ToolSelection | null;
10262
+ /**
10263
+ * Output
10264
+ *
10265
+ * The typed value this task produces. The model is given a `submit_result` tool built from these fields and told that calling it is how the run finishes. Publishing needs at least one; a draft may be empty.
10266
+ */
10267
+ output?: Array<TaskOutputField> | null;
10268
+ /**
10269
+ * Prompt
10270
+ *
10271
+ * The system prompt. `{{vars.name}}` is substituted from the values the run was started with — or, entered by an agent, from the call's own values and the arguments the model supplied.
10272
+ */
10273
+ prompt?: string | null;
10274
+ /**
10275
+ * Submit Result Description
10276
+ *
10277
+ * Description of the generated `submit_result` tool - what the call is, where the output fields describe the values.
10278
+ */
10279
+ submit_result_description?: string | null;
10280
+ /**
10281
+ * Timeout Seconds
10282
+ *
10283
+ * How long this may take before it is abandoned. Entered by an agent it is the only bound on how long the caller is held, so keep it short on a voice agent.
10284
+ */
10285
+ timeout_seconds?: number | null;
10286
+ /**
10287
+ * Timezone
10288
+ *
10289
+ * The IANA timezone this clock runs on, e.g. 'Asia/Kolkata'. Set it and the prompt and tools can read {{system_vars.now}}, {{system_vars.date}} and {{system_vars.time}}. Required only if one of those is used.
10290
+ */
10291
+ timezone?: string | null;
10292
+ /**
10293
+ * Tools
10294
+ *
10295
+ * Tools the model may call. Publishing pins each one to the tool version live at that moment, so republishing a tool does not change this until it is published again.
10296
+ */
10297
+ tools?: Array<ToolSelection> | null;
10298
+ /**
10299
+ * Vars
10300
+ *
10301
+ * The inputs this task takes, read as {{vars.name}} in the prompt and in its tools. Declare only what the caller or the model must supply: anything the task can read for itself ({{userdata.*}}, {{system_vars.*}}) it should read in its prompt instead.
10302
+ */
10303
+ vars?: Array<VarDeclaration> | null;
10304
+ };
10305
+
10009
10306
  /**
10010
10307
  * TaskResponse
10011
10308
  */
@@ -11127,7 +11424,10 @@ export type TurnPayload = {
11127
11424
  * UpdateAgentRequest
11128
11425
  */
11129
11426
  export type UpdateAgentRequest = {
11130
- config: AgentConfig;
11427
+ /**
11428
+ * Only the fields to change.
11429
+ */
11430
+ config: AgentOverride;
11131
11431
  };
11132
11432
 
11133
11433
  /**
@@ -13370,6 +13670,10 @@ export type CatalogModelsSearchData = {
13370
13670
  * Cursor
13371
13671
  */
13372
13672
  cursor?: string;
13673
+ /**
13674
+ * Kind
13675
+ */
13676
+ kind?: 'llm' | 'stt';
13373
13677
  };
13374
13678
  url: '/v1/catalog/models';
13375
13679
  };
@@ -13393,13 +13697,57 @@ export type CatalogModelsSearchError = CatalogModelsSearchErrors[keyof CatalogMo
13393
13697
 
13394
13698
  export type CatalogModelsSearchResults = {
13395
13699
  /**
13700
+ * Response Catalog.Models.Search
13701
+ *
13396
13702
  * Successful Response
13397
13703
  */
13398
- 200: ModelSearchResponse;
13704
+ 200: ({
13705
+ kind: 'llm';
13706
+ } & LLMModelSearchResponse) | ({
13707
+ kind: 'stt';
13708
+ } & STTModelSearchResponse);
13399
13709
  };
13400
13710
 
13401
13711
  export type CatalogModelsSearchResult = CatalogModelsSearchResults[keyof CatalogModelsSearchResults];
13402
13712
 
13713
+ export type CatalogModelsHostsData = {
13714
+ body?: never;
13715
+ path?: never;
13716
+ query: {
13717
+ /**
13718
+ * Model
13719
+ */
13720
+ model: string;
13721
+ };
13722
+ url: '/v1/catalog/models/hosts';
13723
+ };
13724
+
13725
+ export type CatalogModelsHostsErrors = {
13726
+ /**
13727
+ * Missing credential, or one that is revoked or no longer a member of this organization.
13728
+ */
13729
+ 401: ErrorResponse;
13730
+ /**
13731
+ * The request did not match this operation's schema; `detail.errors` lists each field.
13732
+ */
13733
+ 422: ErrorResponse;
13734
+ /**
13735
+ * Unexpected error. Every error this API returns carries this body.
13736
+ */
13737
+ default: ErrorResponse;
13738
+ };
13739
+
13740
+ export type CatalogModelsHostsError = CatalogModelsHostsErrors[keyof CatalogModelsHostsErrors];
13741
+
13742
+ export type CatalogModelsHostsResults = {
13743
+ /**
13744
+ * Successful Response
13745
+ */
13746
+ 200: ModelHostsResponse;
13747
+ };
13748
+
13749
+ export type CatalogModelsHostsResult = CatalogModelsHostsResults[keyof CatalogModelsHostsResults];
13750
+
13403
13751
  export type CatalogVoicesListData = {
13404
13752
  body?: never;
13405
13753
  path?: never;