@talqing/sdk 0.4.0 → 0.4.2

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.
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  // This file is auto-generated by @hey-api/openapi-ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.TalqingApi = exports.Webhooks = exports.Tools2 = exports.Versions2 = exports.Telephony = exports.Providers = exports.PhoneNumbers = exports.Accounts = exports.Tasks2 = exports.Runs = exports.Secrets = exports.Schemas = exports.Functions = exports.Observability = exports.Knowledge2 = exports.Pages = exports.Nodes = exports.Integrations = exports.Triggers = exports.McpTools = exports.Email = exports.Senders = exports.Batches2 = exports.Recipients2 = exports.Copilot = exports.Tools = exports.Tasks = exports.Knowledge = exports.Agents2 = exports.Conversations = exports.Sessions = exports.Items = exports.Messages = exports.Catalog = exports.Voices = exports.Elevenlabs = exports.Avatars = exports.Calls = exports.ScreenRecording = exports.Recording = exports.Batches = exports.Recipients = exports.Analysis = exports.ProviderKeys = exports.Billing = exports.Credits = exports.Agents = exports.Versions = void 0;
4
+ exports.Tools2 = exports.Versions3 = exports.Tasks2 = exports.Versions2 = exports.Runs = exports.Telephony = exports.Providers = exports.PhoneNumbers = exports.Accounts = exports.Streams = exports.Secrets = exports.Schemas = exports.Functions = exports.Observability = exports.Knowledge2 = exports.Pages = exports.Nodes = exports.Integrations = exports.Triggers = exports.McpTools = exports.Email = exports.Senders = exports.Batches2 = exports.Sends = exports.Recipients2 = exports.Copilot = exports.Tools = exports.Tasks = exports.Knowledge = exports.Agents2 = exports.Conversations = exports.Sessions = exports.Items = exports.Messages = exports.Catalog = exports.Voices = exports.Elevenlabs = exports.Models = exports.Avatars = exports.Calls = exports.ScreenRecording = exports.Recording = exports.Batches = exports.Recipients = exports.Analysis = exports.ProviderKeys = exports.Billing = exports.Credits = exports.Agents = exports.Versions = void 0;
5
+ exports.TalqingApi = exports.Webhooks = void 0;
5
6
  const client_gen_js_1 = require("./client.gen.js");
6
7
  const index_js_1 = require("./client/index.js");
7
8
  class HeyApiClient {
@@ -1092,6 +1093,37 @@ class Avatars extends HeyApiClient {
1092
1093
  }
1093
1094
  }
1094
1095
  exports.Avatars = Avatars;
1096
+ class Models extends HeyApiClient {
1097
+ /**
1098
+ * Search Models
1099
+ *
1100
+ * Search the language models a provider offers too many of to list.
1101
+ *
1102
+ * `GET /catalog` carries every model except these. A provider marked
1103
+ * `browse: "search"` there — OpenRouter — reaches hundreds of models through
1104
+ * one key, so they are searched a page at a time instead. With no `q` the order
1105
+ * is real-world popularity. Everything returned is a valid `llm.model`.
1106
+ */
1107
+ search(parameters, options) {
1108
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
1109
+ { in: 'query', key: 'q' },
1110
+ { in: 'query', key: 'limit' },
1111
+ { in: 'query', key: 'cursor' }
1112
+ ] }]);
1113
+ return (options?.client ?? this.client).get({
1114
+ responseStyle: 'data',
1115
+ security: [{ scheme: 'bearer', type: 'http' }, {
1116
+ in: 'cookie',
1117
+ name: 'talqing_session',
1118
+ type: 'apiKey'
1119
+ }],
1120
+ url: '/v1/catalog/models',
1121
+ ...options,
1122
+ ...params
1123
+ });
1124
+ }
1125
+ }
1126
+ exports.Models = Models;
1095
1127
  class Elevenlabs extends HeyApiClient {
1096
1128
  /**
1097
1129
  * Add Elevenlabs Voice
@@ -1207,6 +1239,10 @@ class Catalog extends HeyApiClient {
1207
1239
  * `realtime` lists the speech-to-speech models. One of those replaces `stt`,
1208
1240
  * `llm` and `tts` together, so an agent sets either `realtime` or the three
1209
1241
  * cascade slots, never both.
1242
+ *
1243
+ * One provider's models are NOT here: a `providers` entry whose `browse` is
1244
+ * `search` reaches hundreds of them through one key, and they are searched
1245
+ * through `GET /catalog/models` instead.
1210
1246
  */
1211
1247
  get(options) {
1212
1248
  return (options?.client ?? this.client).get({
@@ -1223,6 +1259,9 @@ class Catalog extends HeyApiClient {
1223
1259
  get avatars() {
1224
1260
  return this._avatars ?? (this._avatars = new Avatars({ client: this.client }));
1225
1261
  }
1262
+ get models() {
1263
+ return this._models ?? (this._models = new Models({ client: this.client }));
1264
+ }
1226
1265
  get voices() {
1227
1266
  return this._voices ?? (this._voices = new Voices({ client: this.client }));
1228
1267
  }
@@ -1794,6 +1833,38 @@ class Recipients2 extends HeyApiClient {
1794
1833
  }
1795
1834
  });
1796
1835
  }
1836
+ /**
1837
+ * Redraft Email Batch Recipients
1838
+ *
1839
+ * Draft rows again from scratch. **Each one runs the task and is billed again.**
1840
+ *
1841
+ * `selection` is `failed` (drafting failed), `stale_version` (drafted by an
1842
+ * older published version of the task), `not_sent`, or `all` — which names
1843
+ * every row it refuses. Rows already sent or queued are never redrafted.
1844
+ *
1845
+ * This revives a batch that had finished drafting, and a person's edited cells
1846
+ * survive unless you pass `clear_overrides` — and are what the task is given.
1847
+ * Refused on a canceled batch, whose rows can never draft again.
1848
+ */
1849
+ redraft(parameters, options) {
1850
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { key: 'redraftRequest', map: 'body' }] }]);
1851
+ return (options?.client ?? this.client).post({
1852
+ responseStyle: 'data',
1853
+ security: [{ scheme: 'bearer', type: 'http' }, {
1854
+ in: 'cookie',
1855
+ name: 'talqing_session',
1856
+ type: 'apiKey'
1857
+ }],
1858
+ url: '/v1/email/batches/{batch_id}/redraft',
1859
+ ...options,
1860
+ ...params,
1861
+ headers: {
1862
+ 'Content-Type': 'application/json',
1863
+ ...options?.headers,
1864
+ ...params.headers
1865
+ }
1866
+ });
1867
+ }
1797
1868
  /**
1798
1869
  * Restore Email Batch Recipients
1799
1870
  *
@@ -1819,17 +1890,14 @@ class Recipients2 extends HeyApiClient {
1819
1890
  });
1820
1891
  }
1821
1892
  /**
1822
- * Retry Email Batch Recipients
1893
+ * Skip Email Batch Recipients
1823
1894
  *
1824
- * Draft rows whose first attempt failed, again.
1895
+ * Take rows out of consideration. Reversible with `restore`.
1825
1896
  *
1826
- * `selection: "all_eligible"` means every row whose drafting failed. This is
1827
- * the one action that revives a batch that has already finished drafting: it
1828
- * goes back to `drafting` and picks up exactly the rows you retried — the
1829
- * alternative would be telling you that twelve failed rows are unrecoverable
1830
- * because the other 4 988 finished first.
1897
+ * Accepts drafted rows and rows whose drafting failed. Takes either
1898
+ * `recipient_ids` or `selection: "all_eligible"`, which here means both.
1831
1899
  */
1832
- retry(parameters, options) {
1900
+ skip(parameters, options) {
1833
1901
  const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { key: 'selectRecipientsRequest', map: 'body' }] }]);
1834
1902
  return (options?.client ?? this.client).post({
1835
1903
  responseStyle: 'data',
@@ -1838,7 +1906,7 @@ class Recipients2 extends HeyApiClient {
1838
1906
  name: 'talqing_session',
1839
1907
  type: 'apiKey'
1840
1908
  }],
1841
- url: '/v1/email/batches/{batch_id}/retry',
1909
+ url: '/v1/email/batches/{batch_id}/skip',
1842
1910
  ...options,
1843
1911
  ...params,
1844
1912
  headers: {
@@ -1848,21 +1916,48 @@ class Recipients2 extends HeyApiClient {
1848
1916
  }
1849
1917
  });
1850
1918
  }
1919
+ }
1920
+ exports.Recipients2 = Recipients2;
1921
+ class Sends extends HeyApiClient {
1922
+ /**
1923
+ * List Email Sends
1924
+ *
1925
+ * Every send on this batch, newest first, with its counts and its schedule.
1926
+ */
1927
+ list(parameters, options) {
1928
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
1929
+ { in: 'path', key: 'batch_id' },
1930
+ { in: 'query', key: 'limit' },
1931
+ { in: 'query', key: 'offset' }
1932
+ ] }]);
1933
+ return (options?.client ?? this.client).get({
1934
+ responseStyle: 'data',
1935
+ security: [{ scheme: 'bearer', type: 'http' }, {
1936
+ in: 'cookie',
1937
+ name: 'talqing_session',
1938
+ type: 'apiKey'
1939
+ }],
1940
+ url: '/v1/email/batches/{batch_id}/sends',
1941
+ ...options,
1942
+ ...params
1943
+ });
1944
+ }
1851
1945
  /**
1852
- * Send Email Batch Recipients
1946
+ * Create Email Send
1853
1947
  *
1854
- * Send the rows you name. **This mails real people and cannot be undone.**
1948
+ * Send these rows. **This mails real people and cannot be undone.**
1855
1949
  *
1856
- * At most 50 rows per call, named one by one — there is no "select all" and no
1857
- * bulk form of this. A row whose `to`, `subject` or `body` does not resolve
1858
- * comes back in `rejected` and stays a draft; fix it with
1859
- * `patch_email_batch_recipient` and try again.
1950
+ * Name `recipient_ids`, or pass `selection: "all_drafts"` for every reviewed
1951
+ * draft. A row whose `to`, `subject` or `body` does not resolve comes back in
1952
+ * `rejected` and stays a draft; fix it with `patch_email_batch_recipient`.
1860
1953
  *
1861
- * `from_email`, `from_name` and `reply_to` override the sender for this call
1862
- * only, and must be on a domain verified on the same Resend account.
1954
+ * The send is a row you can steer: `start_at` schedules it, `window` holds it
1955
+ * to business hours, `send_gap_seconds` paces it and `send_daily_cap` bounds
1956
+ * how many leave per day. Everything omitted comes from the batch. Cancel it
1957
+ * and every unsent row comes back as a draft.
1863
1958
  */
1864
- send(parameters, options) {
1865
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { key: 'sendEmailBatchRequest', map: 'body' }] }]);
1959
+ create(parameters, options) {
1960
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { key: 'createEmailSendRequest', map: 'body' }] }]);
1866
1961
  return (options?.client ?? this.client).post({
1867
1962
  responseStyle: 'data',
1868
1963
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -1870,7 +1965,7 @@ class Recipients2 extends HeyApiClient {
1870
1965
  name: 'talqing_session',
1871
1966
  type: 'apiKey'
1872
1967
  }],
1873
- url: '/v1/email/batches/{batch_id}/send',
1968
+ url: '/v1/email/batches/{batch_id}/sends',
1874
1969
  ...options,
1875
1970
  ...params,
1876
1971
  headers: {
@@ -1881,24 +1976,49 @@ class Recipients2 extends HeyApiClient {
1881
1976
  });
1882
1977
  }
1883
1978
  /**
1884
- * Skip Email Batch Recipients
1979
+ * Get Email Send
1885
1980
  *
1886
- * Take drafted rows out of consideration. Reversible with `restore`.
1981
+ * One send: where its rows are, and when it next does something.
1887
1982
  *
1888
- * Takes either `recipient_ids` or `selection: "all_eligible"`, which here means
1889
- * every row that has a draft. The reversible verbs keep that shorthand while
1890
- * `send` does not, because the rule is about irreversibility rather than bulk.
1983
+ * `next_send_reason` says which gate is holding it — `start`, `window`,
1984
+ * `daily_cap`, `retry` or `gap`.
1891
1985
  */
1892
- skip(parameters, options) {
1893
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { key: 'selectRecipientsRequest', map: 'body' }] }]);
1894
- return (options?.client ?? this.client).post({
1986
+ get(parameters, options) {
1987
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { in: 'path', key: 'send_id' }] }]);
1988
+ return (options?.client ?? this.client).get({
1895
1989
  responseStyle: 'data',
1896
1990
  security: [{ scheme: 'bearer', type: 'http' }, {
1897
1991
  in: 'cookie',
1898
1992
  name: 'talqing_session',
1899
1993
  type: 'apiKey'
1900
1994
  }],
1901
- url: '/v1/email/batches/{batch_id}/skip',
1995
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}',
1996
+ ...options,
1997
+ ...params
1998
+ });
1999
+ }
2000
+ /**
2001
+ * Patch Email Send
2002
+ *
2003
+ * Re-steer one send: its pace, its hours, its daily cap, its start time.
2004
+ *
2005
+ * Never its sender, and never which rows it holds — to change that, cancel it
2006
+ * and create another. `start_at` moves only before the send has begun.
2007
+ */
2008
+ update(parameters, options) {
2009
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
2010
+ { in: 'path', key: 'batch_id' },
2011
+ { in: 'path', key: 'send_id' },
2012
+ { key: 'patchEmailSendRequest', map: 'body' }
2013
+ ] }]);
2014
+ return (options?.client ?? this.client).patch({
2015
+ responseStyle: 'data',
2016
+ security: [{ scheme: 'bearer', type: 'http' }, {
2017
+ in: 'cookie',
2018
+ name: 'talqing_session',
2019
+ type: 'apiKey'
2020
+ }],
2021
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}',
1902
2022
  ...options,
1903
2023
  ...params,
1904
2024
  headers: {
@@ -1908,8 +2028,70 @@ class Recipients2 extends HeyApiClient {
1908
2028
  }
1909
2029
  });
1910
2030
  }
2031
+ /**
2032
+ * Cancel Email Send
2033
+ *
2034
+ * Stop this send, and give every row it has not sent back as a draft.
2035
+ *
2036
+ * Not a destructive action: the drafts come back exactly as they were, ready
2037
+ * for another send. It is also the only way to change what a scheduled send
2038
+ * contains — a send's rows are fixed once it exists.
2039
+ */
2040
+ cancel(parameters, options) {
2041
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { in: 'path', key: 'send_id' }] }]);
2042
+ return (options?.client ?? this.client).post({
2043
+ responseStyle: 'data',
2044
+ security: [{ scheme: 'bearer', type: 'http' }, {
2045
+ in: 'cookie',
2046
+ name: 'talqing_session',
2047
+ type: 'apiKey'
2048
+ }],
2049
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}/cancel',
2050
+ ...options,
2051
+ ...params
2052
+ });
2053
+ }
2054
+ /**
2055
+ * Pause Email Send
2056
+ *
2057
+ * Stop sending. It takes hold on the next email, and nothing is lost —
2058
+ * the rows stay queued for whenever you resume.
2059
+ */
2060
+ pause(parameters, options) {
2061
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { in: 'path', key: 'send_id' }] }]);
2062
+ return (options?.client ?? this.client).post({
2063
+ responseStyle: 'data',
2064
+ security: [{ scheme: 'bearer', type: 'http' }, {
2065
+ in: 'cookie',
2066
+ name: 'talqing_session',
2067
+ type: 'apiKey'
2068
+ }],
2069
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}/pause',
2070
+ ...options,
2071
+ ...params
2072
+ });
2073
+ }
2074
+ /**
2075
+ * Resume Email Send
2076
+ *
2077
+ * Undo a pause and carry on from where it stopped.
2078
+ */
2079
+ resume(parameters, options) {
2080
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { in: 'path', key: 'send_id' }] }]);
2081
+ return (options?.client ?? this.client).post({
2082
+ responseStyle: 'data',
2083
+ security: [{ scheme: 'bearer', type: 'http' }, {
2084
+ in: 'cookie',
2085
+ name: 'talqing_session',
2086
+ type: 'apiKey'
2087
+ }],
2088
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}/resume',
2089
+ ...options,
2090
+ ...params
2091
+ });
2092
+ }
1911
2093
  }
1912
- exports.Recipients2 = Recipients2;
2094
+ exports.Sends = Sends;
1913
2095
  class Batches2 extends HeyApiClient {
1914
2096
  /**
1915
2097
  * List Email Batches
@@ -1950,13 +2132,16 @@ class Batches2 extends HeyApiClient {
1950
2132
  * scraped contacts — and this runs on your account under your agreement.
1951
2133
  *
1952
2134
  * **Nothing is sent that a person has not selected.** Creating a batch only
1953
- * starts drafting; sending is a separate call over at most 50 named rows.
2135
+ * starts drafting; sending is a separate call that creates a send you can
2136
+ * schedule, pace, pause and cancel.
1954
2137
  *
1955
- * **Every row runs your task as it stands right now** — a task has no
1956
- * versions, so editing it mid-batch changes every row drafted after that.
2138
+ * **Every row runs the task's CURRENT published version**, re-read every pass,
2139
+ * so publishing a better prompt mid-batch changes every row drafted after it.
1957
2140
  *
1958
2141
  * `field_map` points `to`, `subject` and `body` at a column of your list or at
1959
- * a field the task produces. An invalid batch is a 400 listing every problem.
2142
+ * a field the task produces. `window` is when email may LEAVE, inherited by
2143
+ * every send; drafting is not restricted by hours. An invalid batch is a 400
2144
+ * listing every problem.
1960
2145
  *
1961
2146
  * There is no spend cap: every row runs the task and is billed, so a 5 000-row
1962
2147
  * batch doing research costs 5 000 task runs whether or not anything is sent.
@@ -1985,8 +2170,8 @@ class Batches2 extends HeyApiClient {
1985
2170
  *
1986
2171
  * One batch: its policy, its per-status counts and what drafting has cost.
1987
2172
  *
1988
- * While the batch is waiting on a start time or a closed window, the response
1989
- * also carries `next_draft_at`.
2173
+ * `drafted_versions` says which published version of the task wrote how many
2174
+ * rows, and `sent_today` how much of `send_daily_cap` is left today.
1990
2175
  */
1991
2176
  get(parameters, options) {
1992
2177
  const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }] }]);
@@ -2007,10 +2192,12 @@ class Batches2 extends HeyApiClient {
2007
2192
  *
2008
2193
  * Edit a batch's policy. The next drafting pass reads the new row.
2009
2194
  *
2010
- * Pacing and the calling window are editable at any time. The sender, the body
2011
- * format and the field map freeze once the batch has sent anything changing
2012
- * them then would make the rows already delivered no longer describe what they
2013
- * were sent as. `start_at` moves only while the batch is still scheduled.
2195
+ * Pacing, the window and the daily cap are editable at any time; the sending
2196
+ * half is the DEFAULT for the next send, and a send already created carries its
2197
+ * own copy. The sender, the body format and the field map freeze once the batch
2198
+ * has sent anything changing them then would make the rows already delivered
2199
+ * no longer describe what they were sent as. `start_at` moves only while the
2200
+ * batch is still scheduled.
2014
2201
  */
2015
2202
  update(parameters, options) {
2016
2203
  const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }, { key: 'patchEmailBatchRequest', map: 'body' }] }]);
@@ -2034,12 +2221,12 @@ class Batches2 extends HeyApiClient {
2034
2221
  /**
2035
2222
  * Cancel Email Batch
2036
2223
  *
2037
- * Stop drafting for good. This is the only terminal action a batch cannot
2038
- * be deleted, because it is the record of what was sent to whom.
2224
+ * Stop drafting for good. A batch cannot be deleted, because it is the
2225
+ * record of what was sent to whom.
2039
2226
  *
2040
- * Rows already drafted are **not** touched: cancelling stops drafting, and
2041
- * drafts already produced are still worth reviewing and sending. Rows never
2042
- * reached report as `canceled`.
2227
+ * Rows already drafted are **not** touched and neither is any send: cancelling
2228
+ * stops drafting, and drafts already produced are still worth reviewing and
2229
+ * sending. Rows never reached report as `canceled`.
2043
2230
  */
2044
2231
  cancel(parameters, options) {
2045
2232
  const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'batch_id' }] }]);
@@ -2099,6 +2286,9 @@ class Batches2 extends HeyApiClient {
2099
2286
  get recipients() {
2100
2287
  return this._recipients ?? (this._recipients = new Recipients2({ client: this.client }));
2101
2288
  }
2289
+ get sends() {
2290
+ return this._sends ?? (this._sends = new Sends({ client: this.client }));
2291
+ }
2102
2292
  }
2103
2293
  exports.Batches2 = Batches2;
2104
2294
  class Senders extends HeyApiClient {
@@ -2927,103 +3117,11 @@ class Secrets extends HeyApiClient {
2927
3117
  }
2928
3118
  }
2929
3119
  exports.Secrets = Secrets;
2930
- class Runs extends HeyApiClient {
2931
- /**
2932
- * List Task Runs
2933
- *
2934
- * This task's runs, newest first, each with its output, trace and cost.
2935
- *
2936
- * A run records the task's *name* and nothing else about the definition it ran
2937
- * under, so two runs either side of an edit are indistinguishable here.
2938
- */
2939
- list(parameters, options) {
2940
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
2941
- { in: 'path', key: 'task_id' },
2942
- { in: 'query', key: 'limit' },
2943
- { in: 'query', key: 'offset' }
2944
- ] }]);
2945
- return (options?.client ?? this.client).get({
2946
- responseStyle: 'data',
2947
- security: [{ scheme: 'bearer', type: 'http' }, {
2948
- in: 'cookie',
2949
- name: 'talqing_session',
2950
- type: 'apiKey'
2951
- }],
2952
- url: '/v1/tasks/{task_id}/runs',
2953
- ...options,
2954
- ...params
2955
- });
2956
- }
2957
- /**
2958
- * Run Task
2959
- *
2960
- * Run the task once with the variables you supply, and wait for the result.
2961
- *
2962
- * **This executes for real**: the tools call your endpoints with your secrets,
2963
- * the MCP servers spend your credits, and the model spends your tokens. A task
2964
- * that books a slot, charges a card or sends a message will do so.
2965
- *
2966
- * `vars` must match what the task declares — an unknown name is refused rather
2967
- * than dropped. The response is the whole run: the structured `output`, a
2968
- * `trace` of every tool call, the steps used and what the tokens cost. On
2969
- * failure `error.type` says whose problem it is. Secrets are redacted.
2970
- */
2971
- create(parameters, options) {
2972
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }, { key: 'runTaskRequest', map: 'body' }] }]);
2973
- return (options?.client ?? this.client).post({
2974
- responseStyle: 'data',
2975
- security: [{ scheme: 'bearer', type: 'http' }, {
2976
- in: 'cookie',
2977
- name: 'talqing_session',
2978
- type: 'apiKey'
2979
- }],
2980
- url: '/v1/tasks/{task_id}/runs',
2981
- ...options,
2982
- ...params,
2983
- headers: {
2984
- 'Content-Type': 'application/json',
2985
- ...options?.headers,
2986
- ...params.headers
2987
- }
2988
- });
2989
- }
2990
- /**
2991
- * Get Task Run
2992
- *
2993
- * One run in full: what it produced, every tool it called on the way, and
2994
- * what it cost.
2995
- *
2996
- * This is what answers "why did it write that" for a caller holding one run id
2997
- * — an email batch's review table links each drafted row here. Secret values
2998
- * are redacted from the trace, and a trace that was cut reports it.
2999
- */
3000
- get(parameters, options) {
3001
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }, { in: 'path', key: 'run_id' }] }]);
3002
- return (options?.client ?? this.client).get({
3003
- responseStyle: 'data',
3004
- security: [{ scheme: 'bearer', type: 'http' }, {
3005
- in: 'cookie',
3006
- name: 'talqing_session',
3007
- type: 'apiKey'
3008
- }],
3009
- url: '/v1/tasks/{task_id}/runs/{run_id}',
3010
- ...options,
3011
- ...params
3012
- });
3013
- }
3014
- }
3015
- exports.Runs = Runs;
3016
- class Tasks2 extends HeyApiClient {
3120
+ class Streams extends HeyApiClient {
3017
3121
  /**
3018
- * List Tasks
3019
- *
3020
- * List the workspace's agent tasks.
3122
+ * List Stream Connections
3021
3123
  *
3022
- * A task is an agent nobody talks to: a prompt, one LLM, tools and MCP
3023
- * servers, the variables it takes as input, and the typed result it must
3024
- * produce. `last_run` says how the most recent run of each one went, so a
3025
- * task whose prompt stopped calling `submit_result` is visible here rather
3026
- * than only in its own history.
3124
+ * List WebSocket media-stream connections a partner can dial.
3027
3125
  */
3028
3126
  list(parameters, options) {
3029
3127
  const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'query', key: 'limit' }, { in: 'query', key: 'offset' }] }]);
@@ -3034,30 +3132,21 @@ class Tasks2 extends HeyApiClient {
3034
3132
  name: 'talqing_session',
3035
3133
  type: 'apiKey'
3036
3134
  }],
3037
- url: '/v1/tasks',
3135
+ url: '/v1/streams',
3038
3136
  ...options,
3039
3137
  ...params
3040
3138
  });
3041
3139
  }
3042
3140
  /**
3043
- * Create Task
3044
- *
3045
- * Create an agent task: an agent nobody talks to, which takes named inputs
3046
- * and returns a typed result.
3141
+ * Create Stream Connection
3047
3142
  *
3048
- * A task has no draft and no publish step: it is valid the moment it saves and
3049
- * callable immediately. An invalid config is a 400 listing every problem and
3050
- * nothing is stored.
3051
- *
3052
- * `output` is what makes this a task rather than a chat agent — declare the
3053
- * fields the model must produce and it is given a `submit_result` tool built
3054
- * from them. `vars` are its inputs, read as `{{vars.name}}`.
3143
+ * Create a connection a streaming partner can dial.
3055
3144
  *
3056
- * `warnings` reports the non-fatal problems. There is no publish screen to
3057
- * show them on, so read them here.
3145
+ * One connection per agent per dialect: the URL names both, so a second would
3146
+ * only be the same URL again.
3058
3147
  */
3059
3148
  create(parameters, options) {
3060
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ key: 'createTaskRequest', map: 'body' }] }]);
3149
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ key: 'createStreamConnectionRequest', map: 'body' }] }]);
3061
3150
  return (options?.client ?? this.client).post({
3062
3151
  responseStyle: 'data',
3063
3152
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -3065,7 +3154,7 @@ class Tasks2 extends HeyApiClient {
3065
3154
  name: 'talqing_session',
3066
3155
  type: 'apiKey'
3067
3156
  }],
3068
- url: '/v1/tasks',
3157
+ url: '/v1/streams',
3069
3158
  ...options,
3070
3159
  ...params,
3071
3160
  headers: {
@@ -3076,12 +3165,12 @@ class Tasks2 extends HeyApiClient {
3076
3165
  });
3077
3166
  }
3078
3167
  /**
3079
- * Delete Task
3168
+ * Delete Stream Connection
3080
3169
  *
3081
- * Delete a task. Its run history survives, still named after it.
3170
+ * Delete a stream connection. Calls it already carried are kept.
3082
3171
  */
3083
3172
  delete(parameters, options) {
3084
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }] }]);
3173
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'connection_id' }] }]);
3085
3174
  return (options?.client ?? this.client).delete({
3086
3175
  responseStyle: 'data',
3087
3176
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -3089,18 +3178,18 @@ class Tasks2 extends HeyApiClient {
3089
3178
  name: 'talqing_session',
3090
3179
  type: 'apiKey'
3091
3180
  }],
3092
- url: '/v1/tasks/{task_id}',
3181
+ url: '/v1/streams/{connection_id}',
3093
3182
  ...options,
3094
3183
  ...params
3095
3184
  });
3096
3185
  }
3097
3186
  /**
3098
- * Get Task
3187
+ * Get Stream Connection
3099
3188
  *
3100
- * Fetch one task's config and how its last run went.
3189
+ * One stream connection, with the URL to hand the partner.
3101
3190
  */
3102
3191
  get(parameters, options) {
3103
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }] }]);
3192
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'connection_id' }] }]);
3104
3193
  return (options?.client ?? this.client).get({
3105
3194
  responseStyle: 'data',
3106
3195
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -3108,23 +3197,21 @@ class Tasks2 extends HeyApiClient {
3108
3197
  name: 'talqing_session',
3109
3198
  type: 'apiKey'
3110
3199
  }],
3111
- url: '/v1/tasks/{task_id}',
3200
+ url: '/v1/streams/{connection_id}',
3112
3201
  ...options,
3113
3202
  ...params
3114
3203
  });
3115
3204
  }
3116
3205
  /**
3117
- * Update Task
3206
+ * Patch Stream Connection
3118
3207
  *
3119
- * Replace a task's config.
3208
+ * Rename a connection, point it at another agent, or disable it.
3120
3209
  *
3121
- * The whole config is sent, so include every field you mean to keep, and it is
3122
- * validated exactly as `create_task` is. The edit takes effect on the next run
3123
- * — a task has no versions, so there is no old wording to go back to and no
3124
- * record of which definition produced an earlier run.
3210
+ * Disabling refuses new calls immediately and is the only way to stop a URL
3211
+ * answering; calls already running are untouched.
3125
3212
  */
3126
3213
  update(parameters, options) {
3127
- const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }, { key: 'patchTaskRequest', map: 'body' }] }]);
3214
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'connection_id' }, { key: 'patchStreamConnectionRequest', map: 'body' }] }]);
3128
3215
  return (options?.client ?? this.client).patch({
3129
3216
  responseStyle: 'data',
3130
3217
  security: [{ scheme: 'bearer', type: 'http' }, {
@@ -3132,7 +3219,7 @@ class Tasks2 extends HeyApiClient {
3132
3219
  name: 'talqing_session',
3133
3220
  type: 'apiKey'
3134
3221
  }],
3135
- url: '/v1/tasks/{task_id}',
3222
+ url: '/v1/streams/{connection_id}',
3136
3223
  ...options,
3137
3224
  ...params,
3138
3225
  headers: {
@@ -3142,11 +3229,8 @@ class Tasks2 extends HeyApiClient {
3142
3229
  }
3143
3230
  });
3144
3231
  }
3145
- get runs() {
3146
- return this._runs ?? (this._runs = new Runs({ client: this.client }));
3147
- }
3148
3232
  }
3149
- exports.Tasks2 = Tasks2;
3233
+ exports.Streams = Streams;
3150
3234
  class Accounts extends HeyApiClient {
3151
3235
  /**
3152
3236
  * List Telephony Accounts
@@ -3540,6 +3624,9 @@ class Providers extends HeyApiClient {
3540
3624
  }
3541
3625
  exports.Providers = Providers;
3542
3626
  class Telephony extends HeyApiClient {
3627
+ get streams() {
3628
+ return this._streams ?? (this._streams = new Streams({ client: this.client }));
3629
+ }
3543
3630
  get accounts() {
3544
3631
  return this._accounts ?? (this._accounts = new Accounts({ client: this.client }));
3545
3632
  }
@@ -3551,9 +3638,324 @@ class Telephony extends HeyApiClient {
3551
3638
  }
3552
3639
  }
3553
3640
  exports.Telephony = Telephony;
3554
- class Versions2 extends HeyApiClient {
3641
+ class Runs extends HeyApiClient {
3555
3642
  /**
3556
- * Get Tool Version
3643
+ * List Task Runs
3644
+ *
3645
+ * This task's runs, newest first, each with its output, trace and cost.
3646
+ *
3647
+ * `task_version` says which published definition each one ran, and is null for
3648
+ * a run of the draft.
3649
+ */
3650
+ list(parameters, options) {
3651
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [
3652
+ { in: 'path', key: 'task_id' },
3653
+ { in: 'query', key: 'limit' },
3654
+ { in: 'query', key: 'offset' }
3655
+ ] }]);
3656
+ return (options?.client ?? this.client).get({
3657
+ responseStyle: 'data',
3658
+ security: [{ scheme: 'bearer', type: 'http' }, {
3659
+ in: 'cookie',
3660
+ name: 'talqing_session',
3661
+ type: 'apiKey'
3662
+ }],
3663
+ url: '/v1/tasks/{task_id}/runs',
3664
+ ...options,
3665
+ ...params
3666
+ });
3667
+ }
3668
+ /**
3669
+ * Run Task
3670
+ *
3671
+ * Run the task once with the variables you supply, and wait for the result.
3672
+ *
3673
+ * **This executes for real**: the tools call your endpoints with your secrets,
3674
+ * the MCP servers spend your credits, and the model spends your tokens. A task
3675
+ * that books a slot, charges a card or sends a message will do so.
3676
+ *
3677
+ * Runs the published version unless `version` names another one, or `"draft"`
3678
+ * to run the unpublished config. `vars` must match what that version declares
3679
+ * — an unknown name is refused rather than dropped. The response is the whole
3680
+ * run: the structured `output`, a `trace` of every tool call, the steps used
3681
+ * and what the tokens cost. On failure `error.type` says whose problem it is.
3682
+ * Secrets are redacted.
3683
+ */
3684
+ create(parameters, options) {
3685
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }, { key: 'runTaskRequest', map: 'body' }] }]);
3686
+ return (options?.client ?? this.client).post({
3687
+ responseStyle: 'data',
3688
+ security: [{ scheme: 'bearer', type: 'http' }, {
3689
+ in: 'cookie',
3690
+ name: 'talqing_session',
3691
+ type: 'apiKey'
3692
+ }],
3693
+ url: '/v1/tasks/{task_id}/runs',
3694
+ ...options,
3695
+ ...params,
3696
+ headers: {
3697
+ 'Content-Type': 'application/json',
3698
+ ...options?.headers,
3699
+ ...params.headers
3700
+ }
3701
+ });
3702
+ }
3703
+ /**
3704
+ * Get Task Run
3705
+ *
3706
+ * One run in full: what it produced, every tool it called on the way, and
3707
+ * what it cost.
3708
+ *
3709
+ * This is what answers "why did it write that" for a caller holding one run id
3710
+ * — an email batch's review table links each drafted row here. Secret values
3711
+ * are redacted from the trace, and a trace that was cut reports it.
3712
+ */
3713
+ get(parameters, options) {
3714
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }, { in: 'path', key: 'run_id' }] }]);
3715
+ return (options?.client ?? this.client).get({
3716
+ responseStyle: 'data',
3717
+ security: [{ scheme: 'bearer', type: 'http' }, {
3718
+ in: 'cookie',
3719
+ name: 'talqing_session',
3720
+ type: 'apiKey'
3721
+ }],
3722
+ url: '/v1/tasks/{task_id}/runs/{run_id}',
3723
+ ...options,
3724
+ ...params
3725
+ });
3726
+ }
3727
+ }
3728
+ exports.Runs = Runs;
3729
+ class Versions2 extends HeyApiClient {
3730
+ /**
3731
+ * Get Task Version
3732
+ *
3733
+ * Fetch what one published version of a task actually contains.
3734
+ *
3735
+ * `get_task` lists the versions and when each was published; this returns the
3736
+ * frozen definition itself — prompt, model, output fields and the tool
3737
+ * versions it pinned, exactly as they were at that publish.
3738
+ */
3739
+ get(parameters, options) {
3740
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }, { in: 'path', key: 'version' }] }]);
3741
+ return (options?.client ?? this.client).get({
3742
+ responseStyle: 'data',
3743
+ security: [{ scheme: 'bearer', type: 'http' }, {
3744
+ in: 'cookie',
3745
+ name: 'talqing_session',
3746
+ type: 'apiKey'
3747
+ }],
3748
+ url: '/v1/tasks/{task_id}/versions/{version}',
3749
+ ...options,
3750
+ ...params
3751
+ });
3752
+ }
3753
+ /**
3754
+ * Rollback Task Version
3755
+ *
3756
+ * Put an earlier published version of a task back into production.
3757
+ *
3758
+ * That version becomes live **immediately** and **replaces the current draft**,
3759
+ * so any unpublished edits are lost. No new version is created. The restored
3760
+ * draft tracks each tool's latest published version, not the ones this version
3761
+ * pinned.
3762
+ */
3763
+ rollback(parameters, options) {
3764
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }, { in: 'path', key: 'version' }] }]);
3765
+ return (options?.client ?? this.client).post({
3766
+ responseStyle: 'data',
3767
+ security: [{ scheme: 'bearer', type: 'http' }, {
3768
+ in: 'cookie',
3769
+ name: 'talqing_session',
3770
+ type: 'apiKey'
3771
+ }],
3772
+ url: '/v1/tasks/{task_id}/versions/{version}/rollback',
3773
+ ...options,
3774
+ ...params
3775
+ });
3776
+ }
3777
+ }
3778
+ exports.Versions2 = Versions2;
3779
+ class Tasks2 extends HeyApiClient {
3780
+ /**
3781
+ * List Tasks
3782
+ *
3783
+ * List the workspace's agent tasks.
3784
+ *
3785
+ * A task is an agent nobody talks to: a prompt, one LLM, tools and MCP
3786
+ * servers, the variables it takes as input, and the typed result it must
3787
+ * produce. Each item carries the full draft config, the published version
3788
+ * number (null while it has never been published), and `last_run`.
3789
+ */
3790
+ list(parameters, options) {
3791
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'query', key: 'limit' }, { in: 'query', key: 'offset' }] }]);
3792
+ return (options?.client ?? this.client).get({
3793
+ responseStyle: 'data',
3794
+ security: [{ scheme: 'bearer', type: 'http' }, {
3795
+ in: 'cookie',
3796
+ name: 'talqing_session',
3797
+ type: 'apiKey'
3798
+ }],
3799
+ url: '/v1/tasks',
3800
+ ...options,
3801
+ ...params
3802
+ });
3803
+ }
3804
+ /**
3805
+ * Create Task
3806
+ *
3807
+ * Create an agent task: an agent nobody talks to, which takes named inputs
3808
+ * and returns a typed result.
3809
+ *
3810
+ * `output` is what makes this a task rather than a chat agent — declare the
3811
+ * fields the model must produce and it is given a `submit_result` tool built
3812
+ * from them. `vars` are its inputs, read as `{{vars.name}}`. The task starts
3813
+ * unpublished; publish it before running it.
3814
+ */
3815
+ create(parameters, options) {
3816
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ key: 'createTaskRequest', map: 'body' }] }]);
3817
+ return (options?.client ?? this.client).post({
3818
+ responseStyle: 'data',
3819
+ security: [{ scheme: 'bearer', type: 'http' }, {
3820
+ in: 'cookie',
3821
+ name: 'talqing_session',
3822
+ type: 'apiKey'
3823
+ }],
3824
+ url: '/v1/tasks',
3825
+ ...options,
3826
+ ...params,
3827
+ headers: {
3828
+ 'Content-Type': 'application/json',
3829
+ ...options?.headers,
3830
+ ...params.headers
3831
+ }
3832
+ });
3833
+ }
3834
+ /**
3835
+ * Delete Task
3836
+ *
3837
+ * Delete a task and its published versions. Its runs survive, still named
3838
+ * after it.
3839
+ */
3840
+ delete(parameters, options) {
3841
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }] }]);
3842
+ return (options?.client ?? this.client).delete({
3843
+ responseStyle: 'data',
3844
+ security: [{ scheme: 'bearer', type: 'http' }, {
3845
+ in: 'cookie',
3846
+ name: 'talqing_session',
3847
+ type: 'apiKey'
3848
+ }],
3849
+ url: '/v1/tasks/{task_id}',
3850
+ ...options,
3851
+ ...params
3852
+ });
3853
+ }
3854
+ /**
3855
+ * Get Task
3856
+ *
3857
+ * Fetch one task's draft config, published version, history and last run.
3858
+ */
3859
+ get(parameters, options) {
3860
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }] }]);
3861
+ return (options?.client ?? this.client).get({
3862
+ responseStyle: 'data',
3863
+ security: [{ scheme: 'bearer', type: 'http' }, {
3864
+ in: 'cookie',
3865
+ name: 'talqing_session',
3866
+ type: 'apiKey'
3867
+ }],
3868
+ url: '/v1/tasks/{task_id}',
3869
+ ...options,
3870
+ ...params
3871
+ });
3872
+ }
3873
+ /**
3874
+ * Update Task
3875
+ *
3876
+ * Replace the task's draft config with the one supplied.
3877
+ *
3878
+ * The whole config is sent, so include every field you mean to keep. Writes
3879
+ * land on the draft only — runs and email batches keep using the published
3880
+ * version until you publish again.
3881
+ */
3882
+ update(parameters, options) {
3883
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }, { key: 'patchTaskRequest', map: 'body' }] }]);
3884
+ return (options?.client ?? this.client).patch({
3885
+ responseStyle: 'data',
3886
+ security: [{ scheme: 'bearer', type: 'http' }, {
3887
+ in: 'cookie',
3888
+ name: 'talqing_session',
3889
+ type: 'apiKey'
3890
+ }],
3891
+ url: '/v1/tasks/{task_id}',
3892
+ ...options,
3893
+ ...params,
3894
+ headers: {
3895
+ 'Content-Type': 'application/json',
3896
+ ...options?.headers,
3897
+ ...params.headers
3898
+ }
3899
+ });
3900
+ }
3901
+ /**
3902
+ * Publish Task
3903
+ *
3904
+ * Freeze the current draft as a new immutable version and make it live.
3905
+ *
3906
+ * Validation must pass. Publishing pins every attached tool to the tool
3907
+ * version live right now, so republishing a tool does not change this task
3908
+ * until the task is published again.
3909
+ */
3910
+ publish(parameters, options) {
3911
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }] }]);
3912
+ return (options?.client ?? this.client).post({
3913
+ responseStyle: 'data',
3914
+ security: [{ scheme: 'bearer', type: 'http' }, {
3915
+ in: 'cookie',
3916
+ name: 'talqing_session',
3917
+ type: 'apiKey'
3918
+ }],
3919
+ url: '/v1/tasks/{task_id}/publish',
3920
+ ...options,
3921
+ ...params
3922
+ });
3923
+ }
3924
+ /**
3925
+ * Validate Task
3926
+ *
3927
+ * Run publish-grade validation on the draft without publishing it.
3928
+ *
3929
+ * Covers everything a draft write checks plus what publishing adds: a
3930
+ * workspace API key for the model, at least one output field, the operation
3931
+ * trees of the attached tools, and the email batches already drafting with
3932
+ * this task. Returns errors (blocking) and warnings (advisory).
3933
+ */
3934
+ validate(parameters, options) {
3935
+ const params = (0, index_js_1.buildClientParams)([parameters], [{ args: [{ in: 'path', key: 'task_id' }] }]);
3936
+ return (options?.client ?? this.client).post({
3937
+ responseStyle: 'data',
3938
+ security: [{ scheme: 'bearer', type: 'http' }, {
3939
+ in: 'cookie',
3940
+ name: 'talqing_session',
3941
+ type: 'apiKey'
3942
+ }],
3943
+ url: '/v1/tasks/{task_id}/validate',
3944
+ ...options,
3945
+ ...params
3946
+ });
3947
+ }
3948
+ get runs() {
3949
+ return this._runs ?? (this._runs = new Runs({ client: this.client }));
3950
+ }
3951
+ get versions() {
3952
+ return this._versions ?? (this._versions = new Versions2({ client: this.client }));
3953
+ }
3954
+ }
3955
+ exports.Tasks2 = Tasks2;
3956
+ class Versions3 extends HeyApiClient {
3957
+ /**
3958
+ * Get Tool Version
3557
3959
  *
3558
3960
  * Fetch what one published version of a tool actually contains.
3559
3961
  *
@@ -3602,7 +4004,7 @@ class Versions2 extends HeyApiClient {
3602
4004
  });
3603
4005
  }
3604
4006
  }
3605
- exports.Versions2 = Versions2;
4007
+ exports.Versions3 = Versions3;
3606
4008
  class Tools2 extends HeyApiClient {
3607
4009
  /**
3608
4010
  * List Tools
@@ -3808,7 +4210,7 @@ class Tools2 extends HeyApiClient {
3808
4210
  });
3809
4211
  }
3810
4212
  get versions() {
3811
- return this._versions ?? (this._versions = new Versions2({ client: this.client }));
4213
+ return this._versions ?? (this._versions = new Versions3({ client: this.client }));
3812
4214
  }
3813
4215
  }
3814
4216
  exports.Tools2 = Tools2;
@@ -4001,7 +4403,9 @@ class TalqingApi extends HeyApiClient {
4001
4403
  * Liveness probe: `200` once this process is serving. Unauthenticated.
4002
4404
  *
4003
4405
  * It answers for the API process, not its dependencies — a `200` here does
4004
- * not promise Postgres, Redis or LiveKit are reachable.
4406
+ * not promise Postgres, Redis or LiveKit are reachable. The one thing it
4407
+ * does report is `model_registry`, because that snapshot lives in this
4408
+ * process's memory and nothing else can see how old it is.
4005
4409
  */
4006
4410
  health(options) {
4007
4411
  return (options?.client ?? this.client).get({
@@ -4049,12 +4453,12 @@ class TalqingApi extends HeyApiClient {
4049
4453
  get secrets() {
4050
4454
  return this._secrets ?? (this._secrets = new Secrets({ client: this.client }));
4051
4455
  }
4052
- get tasks() {
4053
- return this._tasks ?? (this._tasks = new Tasks2({ client: this.client }));
4054
- }
4055
4456
  get telephony() {
4056
4457
  return this._telephony ?? (this._telephony = new Telephony({ client: this.client }));
4057
4458
  }
4459
+ get tasks() {
4460
+ return this._tasks ?? (this._tasks = new Tasks2({ client: this.client }));
4461
+ }
4058
4462
  get tools() {
4059
4463
  return this._tools ?? (this._tools = new Tools2({ client: this.client }));
4060
4464
  }