@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.
@@ -208,6 +208,10 @@ export type AgentOverride = {
208
208
  analysis?: AnalysisSpecOverride | null;
209
209
  avatar?: AvatarSpecOverride | null;
210
210
  background_audio?: BackgroundAudioSpecOverride | null;
211
+ /**
212
+ * Channel
213
+ */
214
+ channel?: 'voice' | 'video' | 'text' | null;
211
215
  conversation?: ConversationSpecOverride | null;
212
216
  /**
213
217
  * Greeting
@@ -627,6 +631,10 @@ export type AvatarCatalogEntryResponse = {
627
631
  * Label
628
632
  */
629
633
  label: string | null;
634
+ /**
635
+ * Logo Url
636
+ */
637
+ logo_url: string | null;
630
638
  /**
631
639
  * Model
632
640
  */
@@ -2567,7 +2575,9 @@ export type CreateEmailBatchRequest = {
2567
2575
  *
2568
2576
  * Send these rows. **This is the call that mails real people.**
2569
2577
  *
2570
- * Name ``recipient_ids`` or pass ``selection: "all_drafts"``. Everything else
2578
+ * ``scope: "selected"`` sends exactly ``recipient_ids``. ``scope: "all"`` is a
2579
+ * standing send: every row of the batch as it reaches `draft`, including rows
2580
+ * not drafted yet — so it mails drafts nobody has read. Everything else
2571
2581
  * defaults to the batch's own setting; ``window`` and ``send_daily_cap`` accept
2572
2582
  * an explicit ``null`` to mean "no window" and "uncapped" rather than
2573
2583
  * "inherit", so the service reads ``model_fields_set``.
@@ -2592,9 +2602,11 @@ export type CreateEmailSendRequest = {
2592
2602
  */
2593
2603
  reply_to?: string | null;
2594
2604
  /**
2595
- * Selection
2605
+ * Scope
2606
+ *
2607
+ * `selected` sends `recipient_ids`; `all` sends every row as it is drafted.
2596
2608
  */
2597
- selection?: 'all_drafts' | null;
2609
+ scope: 'all' | 'selected';
2598
2610
  /**
2599
2611
  * Send Attempts
2600
2612
  */
@@ -3107,6 +3119,21 @@ export type DeliveryResultResponse = {
3107
3119
  */
3108
3120
  webhook_id: string;
3109
3121
  };
3122
+ /**
3123
+ * DraftFailure
3124
+ *
3125
+ * One reason drafts failed, and how many rows it holds.
3126
+ */
3127
+ export type DraftFailure = {
3128
+ /**
3129
+ * Count
3130
+ */
3131
+ count: number;
3132
+ /**
3133
+ * Reason
3134
+ */
3135
+ reason: string;
3136
+ };
3110
3137
  /**
3111
3138
  * DraftedVersion
3112
3139
  *
@@ -3128,6 +3155,9 @@ export type DraftedVersion = {
3128
3155
  };
3129
3156
  /**
3130
3157
  * EmailBatchCounts
3158
+ *
3159
+ * Rows by the status a reader sees. `draft` is drafts no live send covers
3160
+ * yet; `queued` is drafts one does.
3131
3161
  */
3132
3162
  export type EmailBatchCounts = {
3133
3163
  /**
@@ -3196,6 +3226,10 @@ export type EmailBatchResponse = {
3196
3226
  * Draft Concurrency
3197
3227
  */
3198
3228
  draft_concurrency: number;
3229
+ /**
3230
+ * Draft Failures
3231
+ */
3232
+ draft_failures: Array<DraftFailure>;
3199
3233
  /**
3200
3234
  * Draft Gap Seconds
3201
3235
  */
@@ -3289,10 +3323,15 @@ export type EmailBatchResponse = {
3289
3323
  * Sent Today
3290
3324
  */
3291
3325
  sent_today: number;
3326
+ skips: EmailBatchSkips;
3292
3327
  /**
3293
3328
  * Stale Redraftable
3294
3329
  */
3295
3330
  stale_redraftable: number;
3331
+ /**
3332
+ * Stale Sent
3333
+ */
3334
+ stale_sent: number;
3296
3335
  /**
3297
3336
  * Start At
3298
3337
  */
@@ -3319,6 +3358,25 @@ export type EmailBatchResponse = {
3319
3358
  timezone: string;
3320
3359
  window: TimeWindow | null;
3321
3360
  };
3361
+ /**
3362
+ * EmailBatchSkips
3363
+ *
3364
+ * `counts.skipped`, by who decided it.
3365
+ */
3366
+ export type EmailBatchSkips = {
3367
+ /**
3368
+ * Duplicate Recipient
3369
+ */
3370
+ duplicate_recipient: number;
3371
+ /**
3372
+ * Operator
3373
+ */
3374
+ operator: number;
3375
+ /**
3376
+ * Unfillable
3377
+ */
3378
+ unfillable: number;
3379
+ };
3322
3380
  /**
3323
3381
  * EmailRecipientInput
3324
3382
  *
@@ -3410,11 +3468,11 @@ export type EmailRecipientResponse = {
3410
3468
  /**
3411
3469
  * Skip Reason
3412
3470
  */
3413
- skip_reason: string | null;
3471
+ skip_reason: 'operator' | 'duplicate_recipient' | 'unfillable' | null;
3414
3472
  /**
3415
3473
  * Status
3416
3474
  */
3417
- status: 'pending' | 'drafting' | 'draft' | 'draft_failed' | 'skipped' | 'queued' | 'sending' | 'sent' | 'send_failed' | 'canceled';
3475
+ status: 'pending' | 'drafting' | 'draft' | 'draft_failed' | 'skipped' | 'sending' | 'sent' | 'send_failed' | 'queued' | 'canceled';
3418
3476
  /**
3419
3477
  * Task Run Id
3420
3478
  */
@@ -3437,19 +3495,20 @@ export type EmailRecipientResponse = {
3437
3495
  *
3438
3496
  * Where this send's rows are.
3439
3497
  *
3440
- * ``total`` is what the send was created with and never changes — a send's row
3441
- * set is immutable — so ``returned`` is what is left once every other bucket is
3442
- * accounted for: the rows a cancel or a failure handed back as drafts.
3498
+ * ``total`` is the rows a `selected` send was created with, and null for an
3499
+ * `all` send, which cannot know it while drafting runs. ``queued`` and
3500
+ * ``drafting`` are what it still covers — drafts ready to go, and rows still
3501
+ * being written — so both are 0 once it has ended.
3443
3502
  */
3444
3503
  export type EmailSendCounts = {
3445
3504
  /**
3446
- * Queued
3505
+ * Drafting
3447
3506
  */
3448
- queued: number;
3507
+ drafting: number;
3449
3508
  /**
3450
- * Returned
3509
+ * Queued
3451
3510
  */
3452
- returned: number;
3511
+ queued: number;
3453
3512
  /**
3454
3513
  * Send Failed
3455
3514
  */
@@ -3469,7 +3528,7 @@ export type EmailSendCounts = {
3469
3528
  /**
3470
3529
  * Total
3471
3530
  */
3472
- total: number;
3531
+ total: number | null;
3473
3532
  };
3474
3533
  /**
3475
3534
  * EmailSendResponse
@@ -3511,11 +3570,15 @@ export type EmailSendResponse = {
3511
3570
  /**
3512
3571
  * Next Send Reason
3513
3572
  */
3514
- next_send_reason: 'start' | 'window' | 'daily_cap' | 'retry' | 'gap' | null;
3573
+ next_send_reason: 'start' | 'window' | 'daily_cap' | 'retry' | 'gap' | 'drafting' | null;
3515
3574
  /**
3516
3575
  * Reply To
3517
3576
  */
3518
3577
  reply_to: string | null;
3578
+ /**
3579
+ * Scope
3580
+ */
3581
+ scope: 'all' | 'selected';
3519
3582
  /**
3520
3583
  * Send Attempts
3521
3584
  */
@@ -3890,7 +3953,12 @@ export type HandoffTarget = {
3890
3953
  * Liveness of the API process itself.
3891
3954
  */
3892
3955
  export type HealthResponse = {
3893
- model_registry?: ModelRegistryHealth | null;
3956
+ /**
3957
+ * Model Registry
3958
+ */
3959
+ model_registry?: {
3960
+ [key: string]: ModelRegistryHealth;
3961
+ } | null;
3894
3962
  /**
3895
3963
  * Status
3896
3964
  */
@@ -5196,6 +5264,10 @@ export type LLMCatalogEntryResponse = {
5196
5264
  * Label
5197
5265
  */
5198
5266
  label: string | null;
5267
+ /**
5268
+ * Logo Url
5269
+ */
5270
+ logo_url: string | null;
5199
5271
  /**
5200
5272
  * Model
5201
5273
  */
@@ -5225,6 +5297,30 @@ export type LLMCatalogEntryResponse = {
5225
5297
  vision: boolean;
5226
5298
  [key: string]: unknown;
5227
5299
  };
5300
+ /**
5301
+ * LLMModelSearchResponse
5302
+ *
5303
+ * One page of a searched provider's language models — never the whole
5304
+ * registry.
5305
+ *
5306
+ * Ordered by real-world popularity when `q` is empty (OpenRouter ranks its own
5307
+ * list by tokens processed, so the first screen is the models people actually
5308
+ * run) and by match quality when it is not, popularity breaking the ties.
5309
+ */
5310
+ export type LLMModelSearchResponse = {
5311
+ /**
5312
+ * Kind
5313
+ */
5314
+ kind: 'llm';
5315
+ /**
5316
+ * Models
5317
+ */
5318
+ models: Array<LLMCatalogEntryResponse>;
5319
+ /**
5320
+ * Next Cursor
5321
+ */
5322
+ next_cursor: string | null;
5323
+ };
5228
5324
  /**
5229
5325
  * LLMModelSpec
5230
5326
  */
@@ -5233,6 +5329,12 @@ export type LLMModelSpec = {
5233
5329
  * Builtin Tools
5234
5330
  */
5235
5331
  builtin_tools?: Array<BuiltinToolSpec>;
5332
+ /**
5333
+ * Hosts
5334
+ *
5335
+ * OpenRouter only: the hosts allowed to serve this model, from list_model_hosts; the fastest of them answers. Unset lets OpenRouter use any host.
5336
+ */
5337
+ hosts?: Array<string> | null;
5236
5338
  /**
5237
5339
  * Model
5238
5340
  */
@@ -5264,6 +5366,12 @@ export type LLMModelSpecOverride = {
5264
5366
  * Builtin Tools
5265
5367
  */
5266
5368
  builtin_tools?: Array<BuiltinToolSpec> | null;
5369
+ /**
5370
+ * Hosts
5371
+ *
5372
+ * OpenRouter only: the hosts allowed to serve this model, from list_model_hosts; the fastest of them answers. Unset lets OpenRouter use any host.
5373
+ */
5374
+ hosts?: Array<string> | null;
5267
5375
  /**
5268
5376
  * Model
5269
5377
  */
@@ -5365,6 +5473,12 @@ export type LLMSpec = {
5365
5473
  */
5366
5474
  builtin_tools?: Array<BuiltinToolSpec>;
5367
5475
  fallback?: LLMModelSpec | null;
5476
+ /**
5477
+ * Hosts
5478
+ *
5479
+ * OpenRouter only: the hosts allowed to serve this model, from list_model_hosts; the fastest of them answers. Unset lets OpenRouter use any host.
5480
+ */
5481
+ hosts?: Array<string> | null;
5368
5482
  /**
5369
5483
  * Model
5370
5484
  */
@@ -5397,6 +5511,12 @@ export type LLMSpecOverride = {
5397
5511
  */
5398
5512
  builtin_tools?: Array<BuiltinToolSpec> | null;
5399
5513
  fallback?: LLMModelSpecOverride | null;
5514
+ /**
5515
+ * Hosts
5516
+ *
5517
+ * OpenRouter only: the hosts allowed to serve this model, from list_model_hosts; the fastest of them answers. Unset lets OpenRouter use any host.
5518
+ */
5519
+ hosts?: Array<string> | null;
5400
5520
  /**
5401
5521
  * Model
5402
5522
  */
@@ -5545,6 +5665,63 @@ export type McpSelection = {
5545
5665
  integration_id?: string | null;
5546
5666
  mcp?: InlineMcpServer | null;
5547
5667
  };
5668
+ /**
5669
+ * ModelHostResponse
5670
+ *
5671
+ * One endpoint that can serve an OpenRouter language model.
5672
+ */
5673
+ export type ModelHostResponse = {
5674
+ /**
5675
+ * All Endpoints
5676
+ */
5677
+ all_endpoints: boolean;
5678
+ /**
5679
+ * Context Length
5680
+ */
5681
+ context_length: number | null;
5682
+ /**
5683
+ * Host
5684
+ */
5685
+ host: string;
5686
+ /**
5687
+ * Latency P50 Ms
5688
+ */
5689
+ latency_p50_ms: number | null;
5690
+ /**
5691
+ * Logo Url
5692
+ */
5693
+ logo_url: string | null;
5694
+ /**
5695
+ * Name
5696
+ */
5697
+ name: string;
5698
+ pricing: LLMPricing;
5699
+ /**
5700
+ * Quantization
5701
+ */
5702
+ quantization: string | null;
5703
+ /**
5704
+ * Throughput P50
5705
+ */
5706
+ throughput_p50: number | null;
5707
+ /**
5708
+ * Uptime 30M
5709
+ */
5710
+ uptime_30m: number | null;
5711
+ };
5712
+ /**
5713
+ * ModelHostsResponse
5714
+ */
5715
+ export type ModelHostsResponse = {
5716
+ /**
5717
+ * Hosts
5718
+ */
5719
+ hosts: Array<ModelHostResponse>;
5720
+ /**
5721
+ * Model
5722
+ */
5723
+ model: string;
5724
+ };
5548
5725
  /**
5549
5726
  * ModelMetadata
5550
5727
  *
@@ -5564,7 +5741,7 @@ export type ModelMetadata = {
5564
5741
  /**
5565
5742
  * ModelRegistryHealth
5566
5743
  *
5567
- * How fresh this process's searched-provider model list is.
5744
+ * How fresh one kind of this process's searched-provider model list is.
5568
5745
  *
5569
5746
  * A silently stale registry is the one failure this design trades for
5570
5747
  * freshness — a refresh that keeps failing holds the last good snapshot
@@ -5586,25 +5763,6 @@ export type ModelRegistryHealth = {
5586
5763
  */
5587
5764
  models: number;
5588
5765
  };
5589
- /**
5590
- * ModelSearchResponse
5591
- *
5592
- * One page of a searched provider's models — never the whole registry.
5593
- *
5594
- * Ordered by real-world popularity when `q` is empty (OpenRouter ranks its own
5595
- * list by tokens processed, so the first screen is the models people actually
5596
- * run) and by match quality when it is not, popularity breaking the ties.
5597
- */
5598
- export type ModelSearchResponse = {
5599
- /**
5600
- * Models
5601
- */
5602
- models: Array<LLMCatalogEntryResponse>;
5603
- /**
5604
- * Next Cursor
5605
- */
5606
- next_cursor: string | null;
5607
- };
5608
5766
  /**
5609
5767
  * NodeContentResponse
5610
5768
  */
@@ -5654,6 +5812,10 @@ export type NoiseCancellationCatalogEntryResponse = {
5654
5812
  * Label
5655
5813
  */
5656
5814
  label: string | null;
5815
+ /**
5816
+ * Logo Url
5817
+ */
5818
+ logo_url: string | null;
5657
5819
  /**
5658
5820
  * Model
5659
5821
  */
@@ -7132,11 +7294,10 @@ export type PatchEmailRecipientRequest = {
7132
7294
  *
7133
7295
  * Re-steer one send: its pacing, its hours, its ceiling, its start time.
7134
7296
  *
7135
- * It never edits the sender, and it never edits the row set in either
7136
- * direction. To change what a scheduled send contains, cancel it — every unsent
7137
- * row comes back as a draft — and create another. A second way to move a row
7138
- * out of a send would be a second state machine to keep correct for something
7139
- * cancel already covers.
7297
+ * Never its sender and never its scope — "re-steer the pacing, never the
7298
+ * contents". Widening a send is another send; narrowing one has no defensible
7299
+ * answer to "which rows does it keep?". To change what a send covers, cancel it
7300
+ * — its unsent rows simply stay drafts — and create another.
7140
7301
  */
7141
7302
  export type PatchEmailSendRequest = {
7142
7303
  /**
@@ -7310,12 +7471,12 @@ export type PatchStreamConnectionRequest = {
7310
7471
  };
7311
7472
  /**
7312
7473
  * PatchTaskRequest
7313
- *
7314
- * The whole config, replaced. A task is one small object and a field-level
7315
- * patch would only invite half-sent `output` lists.
7316
7474
  */
7317
7475
  export type PatchTaskRequest = {
7318
- config: TaskConfig;
7476
+ /**
7477
+ * Only the fields to change: the same shape as TaskConfig, every field optional.
7478
+ */
7479
+ config: TaskPatch;
7319
7480
  };
7320
7481
  /**
7321
7482
  * PatchTelephonyAccountRequest
@@ -7699,6 +7860,10 @@ export type ProviderEntryResponse = {
7699
7860
  * Logo Url
7700
7861
  */
7701
7862
  logo_url: string;
7863
+ /**
7864
+ * Searched Kinds
7865
+ */
7866
+ searched_kinds: Array<'llm' | 'stt'>;
7702
7867
  };
7703
7868
  /**
7704
7869
  * ProviderKeyResponse
@@ -7919,6 +8084,10 @@ export type RealtimeCatalogEntryResponse = {
7919
8084
  * Languages
7920
8085
  */
7921
8086
  languages: Array<LanguageOption>;
8087
+ /**
8088
+ * Logo Url
8089
+ */
8090
+ logo_url: string | null;
7922
8091
  /**
7923
8092
  * Model
7924
8093
  */
@@ -7945,6 +8114,10 @@ export type RealtimeCatalogEntryResponse = {
7945
8114
  * Speed Min
7946
8115
  */
7947
8116
  speed_min: number;
8117
+ /**
8118
+ * Supports Instruction Update
8119
+ */
8120
+ supports_instruction_update: boolean;
7948
8121
  /**
7949
8122
  * Supports Speed
7950
8123
  */
@@ -8326,11 +8499,10 @@ export type RecordingState = 'none' | 'available' | 'pending' | 'expired' | 'fai
8326
8499
  * Four selections, and they differ in what they REFUSE as much as in what they
8327
8500
  * move, because a redraft discards a draft the tenant has already paid for:
8328
8501
  *
8329
- * - ``all`` — every row in the batch. Rows already sent or queued come back in
8502
+ * - ``all`` — every row in the batch. Rows already sent or mid-send come back in
8330
8503
  * ``rejected``, by name, so a bulk press cannot quietly do less than it said.
8331
8504
  * - ``failed`` — rows whose drafting failed.
8332
- * - ``not_sent`` — every row that has not left and is not about to, with
8333
- * nothing rejected.
8505
+ * - ``not_sent`` — every row that has not left, with nothing rejected.
8334
8506
  * - ``stale_version`` — rows drafted by a task version older than the one
8335
8507
  * published now. The selection that makes "watch the output, improve the
8336
8508
  * task, publish, redraft the rest" a workflow rather than a wish.
@@ -8559,6 +8731,10 @@ export type STTCatalogEntryResponse = {
8559
8731
  * Languages
8560
8732
  */
8561
8733
  languages: Array<LanguageOption>;
8734
+ /**
8735
+ * Logo Url
8736
+ */
8737
+ logo_url: string | null;
8562
8738
  /**
8563
8739
  * Model
8564
8740
  */
@@ -8583,6 +8759,26 @@ export type STTCatalogEntryResponse = {
8583
8759
  streaming: boolean;
8584
8760
  [key: string]: unknown;
8585
8761
  };
8762
+ /**
8763
+ * STTModelSearchResponse
8764
+ *
8765
+ * One page of a searched provider's speech-to-text models, ordered as the
8766
+ * provider lists them.
8767
+ */
8768
+ export type STTModelSearchResponse = {
8769
+ /**
8770
+ * Kind
8771
+ */
8772
+ kind: 'stt';
8773
+ /**
8774
+ * Models
8775
+ */
8776
+ models: Array<STTCatalogEntryResponse>;
8777
+ /**
8778
+ * Next Cursor
8779
+ */
8780
+ next_cursor: string | null;
8781
+ };
8586
8782
  /**
8587
8783
  * STTModelSpec
8588
8784
  */
@@ -8643,6 +8839,10 @@ export type STTPriceLine = {
8643
8839
  * Provider
8644
8840
  */
8645
8841
  provider: string;
8842
+ /**
8843
+ * Provider Reported
8844
+ */
8845
+ provider_reported: boolean;
8646
8846
  rates: STTPricing | null;
8647
8847
  };
8648
8848
  /**
@@ -8716,6 +8916,10 @@ export type STTUsage = {
8716
8916
  * Provider
8717
8917
  */
8718
8918
  provider: string;
8919
+ /**
8920
+ * Reported Cost
8921
+ */
8922
+ reported_cost: string | null;
8719
8923
  };
8720
8924
  /**
8721
8925
  * STTUsageResponse
@@ -8826,7 +9030,7 @@ export type SelectRecipientsRequest = {
8826
9030
  /**
8827
9031
  * Selection
8828
9032
  *
8829
- * Every row this verb can act on: `draft` for skip, `skipped` for restore.
9033
+ * Every row this verb can act on: drafts for skip, rows a person skipped for restore.
8830
9034
  */
8831
9035
  selection?: 'all_eligible' | null;
8832
9036
  };
@@ -9249,6 +9453,10 @@ export type TTSCatalogEntryResponse = {
9249
9453
  * Languages
9250
9454
  */
9251
9455
  languages: Array<LanguageOption>;
9456
+ /**
9457
+ * Logo Url
9458
+ */
9459
+ logo_url: string | null;
9252
9460
  /**
9253
9461
  * Model
9254
9462
  */
@@ -9683,6 +9891,89 @@ export type TaskOutputField = {
9683
9891
  */
9684
9892
  type?: 'string' | 'boolean' | 'integer' | 'number';
9685
9893
  };
9894
+ /**
9895
+ * TaskPatch
9896
+ *
9897
+ * 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.
9898
+ */
9899
+ export type TaskPatch = {
9900
+ /**
9901
+ * Finish Without Result Description
9902
+ *
9903
+ * 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.
9904
+ */
9905
+ finish_without_result_description?: string | null;
9906
+ /**
9907
+ * Kb Ids
9908
+ *
9909
+ * Knowledge bases to read from: their outline goes into the prompt and pages are fetched on demand.
9910
+ */
9911
+ kb_ids?: Array<string> | null;
9912
+ llm?: LLMSpecOverride | null;
9913
+ /**
9914
+ * Max Steps
9915
+ *
9916
+ * 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.
9917
+ */
9918
+ max_steps?: number | null;
9919
+ /**
9920
+ * Mcps
9921
+ *
9922
+ * 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.
9923
+ */
9924
+ mcps?: Array<McpSelection> | null;
9925
+ /**
9926
+ * Name
9927
+ *
9928
+ * Unique in the workspace.
9929
+ */
9930
+ name?: string | null;
9931
+ on_enter?: ToolSelection | null;
9932
+ on_exit?: ToolSelection | null;
9933
+ on_user_turn_completed?: ToolSelection | null;
9934
+ /**
9935
+ * Output
9936
+ *
9937
+ * 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.
9938
+ */
9939
+ output?: Array<TaskOutputField> | null;
9940
+ /**
9941
+ * Prompt
9942
+ *
9943
+ * 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.
9944
+ */
9945
+ prompt?: string | null;
9946
+ /**
9947
+ * Submit Result Description
9948
+ *
9949
+ * Description of the generated `submit_result` tool - what the call is, where the output fields describe the values.
9950
+ */
9951
+ submit_result_description?: string | null;
9952
+ /**
9953
+ * Timeout Seconds
9954
+ *
9955
+ * 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.
9956
+ */
9957
+ timeout_seconds?: number | null;
9958
+ /**
9959
+ * Timezone
9960
+ *
9961
+ * 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.
9962
+ */
9963
+ timezone?: string | null;
9964
+ /**
9965
+ * Tools
9966
+ *
9967
+ * 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.
9968
+ */
9969
+ tools?: Array<ToolSelection> | null;
9970
+ /**
9971
+ * Vars
9972
+ *
9973
+ * 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.
9974
+ */
9975
+ vars?: Array<VarDeclaration> | null;
9976
+ };
9686
9977
  /**
9687
9978
  * TaskResponse
9688
9979
  */
@@ -10773,7 +11064,10 @@ export type TurnPayload = {
10773
11064
  * UpdateAgentRequest
10774
11065
  */
10775
11066
  export type UpdateAgentRequest = {
10776
- config: AgentConfig;
11067
+ /**
11068
+ * Only the fields to change.
11069
+ */
11070
+ config: AgentOverride;
10777
11071
  };
10778
11072
  /**
10779
11073
  * UsageResponse
@@ -12813,6 +13107,10 @@ export type CatalogModelsSearchData = {
12813
13107
  * Cursor
12814
13108
  */
12815
13109
  cursor?: string;
13110
+ /**
13111
+ * Kind
13112
+ */
13113
+ kind?: 'llm' | 'stt';
12816
13114
  };
12817
13115
  url: '/v1/catalog/models';
12818
13116
  };
@@ -12833,11 +13131,50 @@ export type CatalogModelsSearchErrors = {
12833
13131
  export type CatalogModelsSearchError = CatalogModelsSearchErrors[keyof CatalogModelsSearchErrors];
12834
13132
  export type CatalogModelsSearchResults = {
12835
13133
  /**
13134
+ * Response Catalog.Models.Search
13135
+ *
12836
13136
  * Successful Response
12837
13137
  */
12838
- 200: ModelSearchResponse;
13138
+ 200: ({
13139
+ kind: 'llm';
13140
+ } & LLMModelSearchResponse) | ({
13141
+ kind: 'stt';
13142
+ } & STTModelSearchResponse);
12839
13143
  };
12840
13144
  export type CatalogModelsSearchResult = CatalogModelsSearchResults[keyof CatalogModelsSearchResults];
13145
+ export type CatalogModelsHostsData = {
13146
+ body?: never;
13147
+ path?: never;
13148
+ query: {
13149
+ /**
13150
+ * Model
13151
+ */
13152
+ model: string;
13153
+ };
13154
+ url: '/v1/catalog/models/hosts';
13155
+ };
13156
+ export type CatalogModelsHostsErrors = {
13157
+ /**
13158
+ * Missing credential, or one that is revoked or no longer a member of this organization.
13159
+ */
13160
+ 401: ErrorResponse;
13161
+ /**
13162
+ * The request did not match this operation's schema; `detail.errors` lists each field.
13163
+ */
13164
+ 422: ErrorResponse;
13165
+ /**
13166
+ * Unexpected error. Every error this API returns carries this body.
13167
+ */
13168
+ default: ErrorResponse;
13169
+ };
13170
+ export type CatalogModelsHostsError = CatalogModelsHostsErrors[keyof CatalogModelsHostsErrors];
13171
+ export type CatalogModelsHostsResults = {
13172
+ /**
13173
+ * Successful Response
13174
+ */
13175
+ 200: ModelHostsResponse;
13176
+ };
13177
+ export type CatalogModelsHostsResult = CatalogModelsHostsResults[keyof CatalogModelsHostsResults];
12841
13178
  export type CatalogVoicesListData = {
12842
13179
  body?: never;
12843
13180
  path?: never;