@qtsurfer/api-client 0.19.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -112,12 +112,34 @@ type Account = {
112
112
  * Your current subscription tier.
113
113
  */
114
114
  tier: string;
115
+ /**
116
+ * Maximum number of strategy executions (and sweeps) you can have running at the same time
117
+ * through the API. Starting one past this number is answered with `429`, whose message
118
+ * carries the same number. The value already includes any API allowance your plan has.
119
+ *
120
+ */
121
+ maxExecute: number;
122
+ /**
123
+ * Maximum length, in days, of the time range of a backtest on one of your own datasets.
124
+ */
125
+ maxRangeDays: number;
126
+ /**
127
+ * Largest full grid, in parameter combinations, a sweep may run with the `grid` sampler.
128
+ * A grid with more combinations is refused with `400`; the `random` and `lhs` samplers run
129
+ * only their `samples` and are not held to it.
130
+ *
131
+ */
132
+ maxSweepCartesian: number;
133
+ /**
134
+ * Maximum length, in hours, of the time range of one dataset import from an exchange.
135
+ */
136
+ maxImportRangeHours: number;
115
137
  /**
116
138
  * Maximum number of active datasets your tier allows.
117
139
  */
118
140
  maxDatasets: number;
119
141
  /**
120
- * Maximum size, in bytes, of a single dataset version.
142
+ * Maximum size, in bytes, of a single dataset version as stored, that is the `bytes` of its ready version. For a CSV upload that is the converted file, not the file you upload, so estimate from the number of rows. The Datasets guide has the details.
121
143
  */
122
144
  maxDatasetBytes: number;
123
145
  /**
@@ -490,6 +512,11 @@ type SweepAxis = {
490
512
  values: Array<number | boolean>;
491
513
  };
492
514
  type SweepSpecRequest = {
515
+ /**
516
+ * `grid` runs every combination of the axes and is held to your plan's
517
+ * `maxSweepCartesian` (`GET /account`); `random` and `lhs` run `samples` combinations and are not.
518
+ *
519
+ */
493
520
  sampler?: "grid" | "random" | "lhs";
494
521
  /**
495
522
  * Reproducibility seed. If omitted, the server generates one with Java's
@@ -1158,6 +1185,12 @@ type StrategySummary = {
1158
1185
  *
1159
1186
  */
1160
1187
  requiredSources?: Array<string>;
1188
+ /**
1189
+ * When you deleted this strategy. Only ever present in `GET /strategies?includeDeleted=true`,
1190
+ * and only on strategies you have deleted.
1191
+ *
1192
+ */
1193
+ deletedAt?: string;
1161
1194
  };
1162
1195
  /**
1163
1196
  * What is known about a registered strategy: that it compiled, and what validating it found.
@@ -1269,6 +1302,12 @@ type Dataset = {
1269
1302
  *
1270
1303
  */
1271
1304
  currentVersionId?: string;
1305
+ /**
1306
+ * When you deleted this dataset. Only ever present in `GET /datasets?includeDeleted=true`,
1307
+ * and only on datasets you have deleted.
1308
+ *
1309
+ */
1310
+ deletedAt?: string;
1272
1311
  /**
1273
1312
  * When `currentVersionId` last changed. Absent until it has a value.
1274
1313
  */
@@ -1709,13 +1748,23 @@ type StartLiveRequest = {
1709
1748
  [key: string]: unknown;
1710
1749
  };
1711
1750
  /**
1712
- * A `public` run appears in `GET /live/public` and its signal channel accepts subscriptions from anyone, not only you.
1751
+ * A `public` run appears in `GET /live/public` and its signal channel accepts subscriptions from anyone, not only you — from the moment it is promoted to `live`. While it is a `sandbox` trial, `public` is only what you asked for, and only you can read it.
1713
1752
  */
1714
1753
  visibility?: "private" | "public";
1715
1754
  /**
1716
- * Request that this run's signals be relayed over its WebSocket channel once it reaches the `live` stage — see the "Live execution" guide. Has no effect while the run is still in the `sandbox` stage, regardless of this value.
1755
+ * Request that this run's signals be relayed over its WebSocket channel, from its first signal — in the `sandbox` stage too, where only you can subscribe to it. See the "Live execution" guide.
1717
1756
  */
1718
1757
  relay?: boolean;
1758
+ /**
1759
+ * Ask for a **stream URL**: a secret address that a simple client, or a service that passes your signals
1760
+ * on to others, can open as a plain WebSocket to receive this run's signals as they are produced, one JSON
1761
+ * text frame per signal, with none of the live-execution protocol around it. The URL comes back as
1762
+ * `streamUrl` in the response to this call. Available from the `sandbox` stage on, on the plans that may
1763
+ * broadcast; any other plan gets `429`. It can be asked for **only when the run is started** (not added
1764
+ * later), and it also turns `relay` on. See the "Live execution" guide, "A plain WebSocket stream of a run".
1765
+ *
1766
+ */
1767
+ stream?: boolean;
1719
1768
  name?: string;
1720
1769
  description?: string;
1721
1770
  paper?: LivePaperConfig;
@@ -1772,6 +1821,18 @@ type UpdateLiveParamsRequest = {
1772
1821
  [key: string]: unknown;
1773
1822
  };
1774
1823
  };
1824
+ type SendLiveCommandRequest = {
1825
+ /**
1826
+ * The command's text — non-blank.
1827
+ */
1828
+ command: string;
1829
+ /**
1830
+ * An optional map of your own choosing, alongside command. Absent means none; when given, it must be a JSON object, and `command` and `properties` are the only keys the body may carry. Each entry lands as a top-level entry on the strategy's `CommandRequest` — no key is off limits, since the command's own text is kept separately.
1831
+ */
1832
+ properties?: {
1833
+ [key: string]: unknown;
1834
+ };
1835
+ };
1775
1836
  /**
1776
1837
  * A live run's full state, as returned by starting, reading, or stopping it through its strategy.
1777
1838
  */
@@ -1785,11 +1846,11 @@ type LiveRun = {
1785
1846
  description?: string;
1786
1847
  visibility: "private" | "public";
1787
1848
  /**
1788
- * A new run always starts `SANDBOX` — a trial run compared against a second execution for agreement — and moves to `LIVE` once it passes.
1849
+ * A new run always starts `SANDBOX`, a 24-hour trial in which it is compared against a second execution and checked for resource use and stability. A run that passes moves to `LIVE` automatically when the 24 hours are up.
1789
1850
  */
1790
1851
  stage: "SANDBOX" | "LIVE";
1791
1852
  /**
1792
- * `STARTING` until first observed running; otherwise the runner's own reported state (e.g. `RUNNING`).
1853
+ * The run's health right now: `STARTING` (no runner has reported on it yet), `RUNNING`, `LAGGING` (behind the market data, usually while catching up; clears by itself), `HUNG` (stuck inside one strategy call for longer than allowed; clears when it returns), `DEGRADED` (its independent executions produced different signals), `FAILED` (refused, could not start or failed while running; `reason` says why) or `STOPPED`. `LAGGING`, `HUNG` and `DEGRADED` come and go on a running run. The set may grow: read an unknown value as a running run with something to look at. See the Live execution guide.
1793
1854
  */
1794
1855
  state: string;
1795
1856
  /**
@@ -1797,7 +1858,17 @@ type LiveRun = {
1797
1858
  */
1798
1859
  desired: "RUNNING" | "STOPPED";
1799
1860
  /**
1800
- * Present only when the run stopped because it exceeded its resource allowance.
1861
+ * Why the run stopped or failed, when there is something to say; absent otherwise. It is never a
1862
+ * stack trace or an internal message. Either `resource: ...` (the platform stopped the run for
1863
+ * exceeding its resource allowance; the text says which limit) or one of a fixed set of sentences for
1864
+ * a `FAILED` run: the strategy cannot consume the source type the run was started with, the run's
1865
+ * definition was refused, the run could not start after several attempts, the strategy failed while
1866
+ * processing data, the run lost its data feed, or the generic `The run failed.`. The set may grow:
1867
+ * read an unrecognised sentence as a failure and do not parse it. A `FAILED` run usually stays
1868
+ * `desired: RUNNING` until you stop it, and counts as active (`409` on a new start, and toward your
1869
+ * live-run limit) until then; one that can never run because its strategy cannot consume its source
1870
+ * type is stopped by the platform itself (`desired: STOPPED`), so it holds no place.
1871
+ *
1801
1872
  */
1802
1873
  reason?: string;
1803
1874
  sources: Array<LiveSource>;
@@ -1809,7 +1880,7 @@ type LiveRun = {
1809
1880
  */
1810
1881
  paramsVersion: number;
1811
1882
  /**
1812
- * Whether this run's signals are being relayed over the WebSocket channel described in the "Live execution" guide, right now. This is the effective value — `false` on a `sandbox` run regardless of what was requested at start; matches the requested value once `stage` reaches `live`.
1883
+ * Whether this run's signals are relayed over the WebSocket channel described in the "Live execution" guide. It is the value requested at start, in either stage.
1813
1884
  */
1814
1885
  relay: boolean;
1815
1886
  /**
@@ -1817,7 +1888,7 @@ type LiveRun = {
1817
1888
  */
1818
1889
  startedAtMs: number;
1819
1890
  /**
1820
- * The sandbox trial's promotion verdict, once one exists. Shape is not yet stabilized as public API — treat as opaque diagnostics.
1891
+ * The sandbox trial's promotion verdict. Absent for the whole 24-hour trial and present once it ends, so an absent `gate` means the trial has not finished. `passed` is the verdict; the rest is diagnostic detail whose shape is not yet stabilized as public API: treat it as opaque.
1821
1892
  */
1822
1893
  gate?: {
1823
1894
  [key: string]: unknown;
@@ -1826,6 +1897,97 @@ type LiveRun = {
1826
1897
  * The run's paper trading configuration as accepted at start, normalised. Absent when the run has no paper trading.
1827
1898
  */
1828
1899
  paper?: LivePaperConfig;
1900
+ /**
1901
+ * The run's latest counters. Returned by the two reads, `GET /strategy/{strategyId}/live` and
1902
+ * `GET /live/{runId}`; never by starting or stopping a run. Absent until the first snapshot exists
1903
+ * (a run that has just started), and absent is not zero.
1904
+ *
1905
+ */
1906
+ stats?: LiveRunStats;
1907
+ };
1908
+ /**
1909
+ * What a run has been doing, as of its last snapshot. The platform refreshes it about once a minute
1910
+ * while the run is being executed, so `opsPerSecond` is an average over that interval, not an
1911
+ * instantaneous rate.
1912
+ *
1913
+ */
1914
+ type LiveRunStats = {
1915
+ /**
1916
+ * Updates of instruments the run has accepted since it started executing. It can start again from zero if the run is restarted.
1917
+ */
1918
+ processed: number;
1919
+ /**
1920
+ * Updates accepted per second over the last refresh interval. `0` when none arrived.
1921
+ */
1922
+ opsPerSecond: number;
1923
+ /**
1924
+ * How many distinct instruments the run has received an update for.
1925
+ */
1926
+ instrumentsSeen: number;
1927
+ /**
1928
+ * Epoch milliseconds when these counters were last written.
1929
+ */
1930
+ asOfMs: number;
1931
+ /**
1932
+ * Epoch milliseconds of the last snapshot in which `processed` had grown. Absent until the run has
1933
+ * processed anything. A run fed by a source that updates rarely (a funding rate, for example) can
1934
+ * stay flat for hours: that is how such a run behaves, not a fault.
1935
+ *
1936
+ */
1937
+ progressedAtMs?: number;
1938
+ /**
1939
+ * `true` when the run is meant to be running (`desired` is `RUNNING`) and its counters have not
1940
+ * been refreshed for several refresh intervals: the platform has stopped updating them, which is
1941
+ * worth checking against `state`. `false` otherwise. A run whose `processed` is flat is not stale;
1942
+ * `progressedAtMs` is how to tell it apart.
1943
+ *
1944
+ */
1945
+ stale: boolean;
1946
+ };
1947
+ /**
1948
+ * A run as returned by `GET /live/{runId}`, the full state of `LiveRun` plus when it last changed.
1949
+ */
1950
+ type LiveRunDetail = LiveRun & {
1951
+ /**
1952
+ * Epoch milliseconds of the run's last change, from any cause. It only moves forward, so of two reads of the same run the one with the larger value is the newer.
1953
+ */
1954
+ updatedAtMs: number;
1955
+ };
1956
+ /**
1957
+ * A run as `LiveRun` describes it, plus its `streamUrl` when it has one. It is what **starting a run** and
1958
+ * `GET /strategy/{strategyId}/live` return: your own run, read with your own credentials. Stopping a run
1959
+ * and `GET /live/{runId}` return `LiveRun`, which never carries the URL.
1960
+ *
1961
+ */
1962
+ type LiveRunWithStream = LiveRun & {
1963
+ /**
1964
+ * The run's secret stream URL (`wss://…`). **Treat it like a password**: anyone who holds it can read
1965
+ * this run's signals, from the sandbox stage on. Present only when the run was started with
1966
+ * `stream: true`, is wanted running, has not had its stream revoked, and your plan still lets you
1967
+ * broadcast; absent otherwise (a plan that lets you broadcast again gets the same URL back). Rotate
1968
+ * it with `POST /live/{runId}/stream` if it leaks, revoke it with `DELETE /live/{runId}/stream`.
1969
+ *
1970
+ */
1971
+ streamUrl?: string;
1972
+ };
1973
+ /**
1974
+ * A run's new stream URL, as returned by `POST /live/{runId}/stream`.
1975
+ */
1976
+ type LiveStreamUrl = {
1977
+ /**
1978
+ * The run's new secret stream URL. The previous one has stopped working.
1979
+ */
1980
+ streamUrl: string;
1981
+ };
1982
+ /**
1983
+ * What `DELETE /live/{runId}/stream` returns.
1984
+ */
1985
+ type LiveStreamRevoked = {
1986
+ runId: string;
1987
+ /**
1988
+ * Always `true`.
1989
+ */
1990
+ revoked: boolean;
1829
1991
  };
1830
1992
  /**
1831
1993
  * A run's state as returned by `PATCH /live/{runId}` — narrower than `LiveRun` (no `strategyId`, `params`, or `desired`), since this endpoint is addressed by `runId` alone.
@@ -1852,17 +2014,31 @@ type LiveRunSummary = {
1852
2014
  description?: string;
1853
2015
  visibility: "private" | "public";
1854
2016
  /**
1855
- * A new run always starts `SANDBOX` — a trial run compared against a second execution for agreement — and moves to `LIVE` once it passes.
2017
+ * A new run always starts `SANDBOX`, a 24-hour trial in which it is compared against a second execution and checked for resource use and stability. A run that passes moves to `LIVE` automatically when the 24 hours are up.
1856
2018
  */
1857
2019
  stage: "SANDBOX" | "LIVE";
1858
2020
  /**
1859
- * `STARTING` until first observed running; otherwise the runner's own reported state (e.g. `RUNNING`).
2021
+ * The run's health right now: `STARTING` (no runner has reported on it yet), `RUNNING`, `LAGGING` (behind the market data, usually while catching up; clears by itself), `HUNG` (stuck inside one strategy call for longer than allowed; clears when it returns), `DEGRADED` (its independent executions produced different signals), `FAILED` (refused, could not start or failed while running; `reason` says why) or `STOPPED`. `LAGGING`, `HUNG` and `DEGRADED` come and go on a running run. The set may grow: read an unknown value as a running run with something to look at. See the Live execution guide.
1860
2022
  */
1861
2023
  state: string;
1862
2024
  /**
1863
2025
  * What you last asked for. `state` can lag this briefly after `DELETE`.
1864
2026
  */
1865
2027
  desired: "RUNNING" | "STOPPED";
2028
+ /**
2029
+ * Why the run stopped or failed, when there is something to say; absent otherwise. It is never a
2030
+ * stack trace or an internal message. Either `resource: ...` (the platform stopped the run for
2031
+ * exceeding its resource allowance; the text says which limit) or one of a fixed set of sentences for
2032
+ * a `FAILED` run: the strategy cannot consume the source type the run was started with, the run's
2033
+ * definition was refused, the run could not start after several attempts, the strategy failed while
2034
+ * processing data, the run lost its data feed, or the generic `The run failed.`. The set may grow:
2035
+ * read an unrecognised sentence as a failure and do not parse it. A `FAILED` run usually stays
2036
+ * `desired: RUNNING` until you stop it, and counts as active (`409` on a new start, and toward your
2037
+ * live-run limit) until then; one that can never run because its strategy cannot consume its source
2038
+ * type is stopped by the platform itself (`desired: STOPPED`), so it holds no place.
2039
+ *
2040
+ */
2041
+ reason?: string;
1866
2042
  sources: Array<LiveSource>;
1867
2043
  /**
1868
2044
  * Epoch milliseconds this run was started.
@@ -2055,7 +2231,7 @@ type LiveSignal = {
2055
2231
  instrument: LiveSignalInstrument | null;
2056
2232
  order?: LiveSignalOrder;
2057
2233
  /**
2058
- * The signal's own free-form payload.
2234
+ * The signal's own free-form payload, what the strategy put there with `signal.set(...)`. Whoever may read the run may read it, so on a `public` run it is public. A signal whose `data` is over 8 KiB (8,192 bytes of its JSON) is not pushed on the WebSocket channel, and `GET /live/{runId}/signals` returns it whole.
2059
2235
  */
2060
2236
  data?: {
2061
2237
  [key: string]: unknown;
@@ -2102,6 +2278,17 @@ type LiveParamsUpdateResult = {
2102
2278
  */
2103
2279
  effectiveAtMs: number;
2104
2280
  };
2281
+ type LiveCommandResult = {
2282
+ runId: string;
2283
+ /**
2284
+ * This command's own id, generated fresh for this call. A retried request is a second, distinct command — this endpoint takes no idempotency key.
2285
+ */
2286
+ commandId: string;
2287
+ /**
2288
+ * Epoch milliseconds — the market position every execution applies this command at.
2289
+ */
2290
+ effectiveAtMs: number;
2291
+ };
2105
2292
  type AuthenticateData = {
2106
2293
  body?: never;
2107
2294
  path?: never;
@@ -2338,7 +2525,14 @@ type DownloadKlinesResponse = DownloadKlinesResponses[keyof DownloadKlinesRespon
2338
2525
  type ListStrategiesData = {
2339
2526
  body?: never;
2340
2527
  path?: never;
2341
- query?: never;
2528
+ query?: {
2529
+ /**
2530
+ * `true` also lists the strategies you have deleted, each with its `deletedAt`. Any other
2531
+ * value, or leaving it out, lists only the ones you have not deleted.
2532
+ *
2533
+ */
2534
+ includeDeleted?: boolean;
2535
+ };
2342
2536
  url: "/strategies";
2343
2537
  };
2344
2538
  type ListStrategiesResponses = {
@@ -2368,6 +2562,10 @@ type CompileStrategyErrors = {
2368
2562
  *
2369
2563
  */
2370
2564
  400: ResponseError;
2565
+ /**
2566
+ * The source is larger than 32 KiB (32768 bytes). Every endpoint that reads a request body caps it, and the message names the cap; see the Strategy guide.
2567
+ */
2568
+ 413: ResponseError;
2371
2569
  /**
2372
2570
  * Too many compilations in flight. Retry later.
2373
2571
  */
@@ -2619,7 +2817,9 @@ type ExecuteSweepData = {
2619
2817
  type ExecuteSweepErrors = {
2620
2818
  /**
2621
2819
  * Invalid sweep specification, a `type` that cannot be swept yet (`funding`), or the
2622
- * expanded grid exceeds the server limit.
2820
+ * expanded grid exceeds the server limit. A full `grid` with more combinations than your
2821
+ * plan allows (`maxSweepCartesian` in `GET /account`) is refused with a message that asks
2822
+ * for the `random` or `lhs` sampler.
2623
2823
  *
2624
2824
  */
2625
2825
  400: ResponseError;
@@ -2961,7 +3161,14 @@ type GetBacktestResultResponse = GetBacktestResultResponses[keyof GetBacktestRes
2961
3161
  type ListDatasetsData = {
2962
3162
  body?: never;
2963
3163
  path?: never;
2964
- query?: never;
3164
+ query?: {
3165
+ /**
3166
+ * `true` also lists the datasets you have deleted, each with its `deletedAt`. Any other
3167
+ * value, or leaving it out, lists only the ones you have not deleted.
3168
+ *
3169
+ */
3170
+ includeDeleted?: boolean;
3171
+ };
2965
3172
  url: "/datasets";
2966
3173
  };
2967
3174
  type ListDatasetsResponses = {
@@ -3118,7 +3325,7 @@ type FinalizeDatasetUploadErrors = {
3118
3325
  */
3119
3326
  409: ResponseError;
3120
3327
  /**
3121
- * The uploaded file exceeds your tier's size limit for a dataset.
3328
+ * The uploaded file is many times your tier's size limit for a dataset. The limit itself applies to the stored size, which is known only after conversion, so an upload that passes here can still end `failed` when ingest finishes.
3122
3329
  */
3123
3330
  413: ResponseError;
3124
3331
  /**
@@ -3286,9 +3493,9 @@ type GetLiveErrors = {
3286
3493
  type GetLiveError = GetLiveErrors[keyof GetLiveErrors];
3287
3494
  type GetLiveResponses = {
3288
3495
  /**
3289
- * The run's current state
3496
+ * The run's current state, with its `streamUrl` when it has one
3290
3497
  */
3291
- 200: LiveRun;
3498
+ 200: LiveRunWithStream;
3292
3499
  };
3293
3500
  type GetLiveResponse = GetLiveResponses[keyof GetLiveResponses];
3294
3501
  type StartLiveData = {
@@ -3304,7 +3511,7 @@ type StartLiveData = {
3304
3511
  };
3305
3512
  type StartLiveErrors = {
3306
3513
  /**
3307
- * Malformed `sources` (not exactly one entry, missing field, unsupported `type`), an invalid `visibility`, an invalid `paper` block (an unknown field, a wrong type or an out-of-range value), or no `paper` block for a strategy that listens to its own execution events.
3514
+ * Malformed `sources` (not exactly one entry, missing field, unsupported `type`), a `type` the strategy cannot consume (a ticker strategy with a `kline` source, or the reverse; the message names both), an invalid `visibility`, an invalid `paper` block (an unknown field, a wrong type or an out-of-range value), or no `paper` block for a strategy that listens to its own execution events. A `relay` or `stream` that is not `true` or `false`, or a `stream` where streams are not available yet.
3308
3515
  */
3309
3516
  400: ResponseError;
3310
3517
  /**
@@ -3316,9 +3523,10 @@ type StartLiveErrors = {
3316
3523
  */
3317
3524
  409: ResponseError;
3318
3525
  /**
3319
- * Your plan does not include live runs, would exceed your concurrent-run or
3320
- * instrument-count limit, or the platform is at capacity right now. Carries a
3321
- * `Retry-After` header.
3526
+ * One of two kinds. **Your plan** does not include live runs, would exceed your concurrent-run or
3527
+ * instrument-count limit, or does not let you ask for a `stream`: the message names your plan, and
3528
+ * retrying will not help until something changes, so there is no `Retry-After`. Or **the platform is at
3529
+ * capacity** right now: a `Retry-After` header says when to try again.
3322
3530
  *
3323
3531
  */
3324
3532
  429: ResponseError;
@@ -3326,9 +3534,9 @@ type StartLiveErrors = {
3326
3534
  type StartLiveError = StartLiveErrors[keyof StartLiveErrors];
3327
3535
  type StartLiveResponses = {
3328
3536
  /**
3329
- * Started — the run's own state, in the sandbox stage
3537
+ * Started — the run's own state, in the sandbox stage, with its `streamUrl` when you asked for a stream
3330
3538
  */
3331
- 201: LiveRun;
3539
+ 201: LiveRunWithStream;
3332
3540
  };
3333
3541
  type StartLiveResponse = StartLiveResponses[keyof StartLiveResponses];
3334
3542
  type ListLiveData = {
@@ -3389,6 +3597,31 @@ type ListPublicLiveResponses = {
3389
3597
  200: PublicLiveListResponse;
3390
3598
  };
3391
3599
  type ListPublicLiveResponse = ListPublicLiveResponses[keyof ListPublicLiveResponses];
3600
+ type GetLiveRunData = {
3601
+ body?: never;
3602
+ path: {
3603
+ /**
3604
+ * The `runId` from `POST`/`GET`/`DELETE` `.../live`, from `GET /live` or from `GET /live/public`
3605
+ */
3606
+ runId: string;
3607
+ };
3608
+ query?: never;
3609
+ url: "/live/{runId}";
3610
+ };
3611
+ type GetLiveRunErrors = {
3612
+ /**
3613
+ * No such run, or you do not own it — the two look identical on purpose.
3614
+ */
3615
+ 404: ResponseError;
3616
+ };
3617
+ type GetLiveRunError = GetLiveRunErrors[keyof GetLiveRunErrors];
3618
+ type GetLiveRunResponses = {
3619
+ /**
3620
+ * The run
3621
+ */
3622
+ 200: LiveRunDetail;
3623
+ };
3624
+ type GetLiveRunResponse = GetLiveRunResponses[keyof GetLiveRunResponses];
3392
3625
  type UpdateLiveData = {
3393
3626
  body?: UpdateLiveRequest;
3394
3627
  path: {
@@ -3436,7 +3669,7 @@ type UpdateLiveParamsErrors = {
3436
3669
  */
3437
3670
  404: ResponseError;
3438
3671
  /**
3439
- * This run's compilation has no declared properties on record — recompile the strategy to enable runtime parameter updates.
3672
+ * This run's compiled strategy has no record of the parameters it declares. Register the strategy again with `POST /strategy` and start a new run, since a run keeps the compiled version it started with.
3440
3673
  */
3441
3674
  409: ResponseError;
3442
3675
  };
@@ -3448,6 +3681,106 @@ type UpdateLiveParamsResponses = {
3448
3681
  200: LiveParamsUpdateResult;
3449
3682
  };
3450
3683
  type UpdateLiveParamsResponse = UpdateLiveParamsResponses[keyof UpdateLiveParamsResponses];
3684
+ type SendLiveCommandData = {
3685
+ body: SendLiveCommandRequest;
3686
+ path: {
3687
+ runId: string;
3688
+ };
3689
+ query?: never;
3690
+ url: "/live/{runId}/commands";
3691
+ };
3692
+ type SendLiveCommandErrors = {
3693
+ /**
3694
+ * `command` missing, not a string, blank; `properties` given but not an object; or the body carries any key other than `command` and `properties`.
3695
+ */
3696
+ 400: ResponseError;
3697
+ /**
3698
+ * No such run, or you do not own it.
3699
+ */
3700
+ 404: ResponseError;
3701
+ /**
3702
+ * One of three reasons, each its own message: the run is not running, so there is nothing to tell;
3703
+ * this run's compiled strategy has no record of whether it handles commands — register the strategy
3704
+ * again with `POST /strategy` and start a new run, since a run keeps the compiled version it started
3705
+ * with; or the strategy does not implement `CommandRequestHandler` at all.
3706
+ *
3707
+ */
3708
+ 409: ResponseError;
3709
+ /**
3710
+ * The request body is larger than 2 KiB (2048 bytes). Every endpoint that reads a request body caps it, and the message names the cap.
3711
+ */
3712
+ 413: ResponseError;
3713
+ /**
3714
+ * The command could not be delivered right now, and it was not sent — unlike a parameter update, a command has no fallback path. Try again.
3715
+ */
3716
+ 503: ResponseError;
3717
+ };
3718
+ type SendLiveCommandError = SendLiveCommandErrors[keyof SendLiveCommandErrors];
3719
+ type SendLiveCommandResponses = {
3720
+ /**
3721
+ * Accepted — on its way to every execution behind the run.
3722
+ */
3723
+ 202: LiveCommandResult;
3724
+ };
3725
+ type SendLiveCommandResponse = SendLiveCommandResponses[keyof SendLiveCommandResponses];
3726
+ type RevokeLiveStreamData = {
3727
+ body?: never;
3728
+ path: {
3729
+ runId: string;
3730
+ };
3731
+ query?: never;
3732
+ url: "/live/{runId}/stream";
3733
+ };
3734
+ type RevokeLiveStreamErrors = {
3735
+ /**
3736
+ * No such run, or you do not own it.
3737
+ */
3738
+ 404: ResponseError;
3739
+ /**
3740
+ * The run was started without a stream, so there is nothing to revoke.
3741
+ */
3742
+ 409: ResponseError;
3743
+ };
3744
+ type RevokeLiveStreamError = RevokeLiveStreamErrors[keyof RevokeLiveStreamErrors];
3745
+ type RevokeLiveStreamResponses = {
3746
+ /**
3747
+ * Revoked (or already revoked).
3748
+ */
3749
+ 200: LiveStreamRevoked;
3750
+ };
3751
+ type RevokeLiveStreamResponse = RevokeLiveStreamResponses[keyof RevokeLiveStreamResponses];
3752
+ type RotateLiveStreamData = {
3753
+ body?: never;
3754
+ path: {
3755
+ runId: string;
3756
+ };
3757
+ query?: never;
3758
+ url: "/live/{runId}/stream";
3759
+ };
3760
+ type RotateLiveStreamErrors = {
3761
+ /**
3762
+ * No such run, or you do not own it.
3763
+ */
3764
+ 404: ResponseError;
3765
+ /**
3766
+ * One of three reasons, each its own message: the run was started without a stream; its stream was
3767
+ * revoked (a revoked stream cannot be restored: start the run again with a stream); or the run is stopped.
3768
+ *
3769
+ */
3770
+ 409: ResponseError;
3771
+ /**
3772
+ * Your plan does not let you broadcast a run's signals. The message names your plan; retrying will not help until it changes, so there is no `Retry-After`.
3773
+ */
3774
+ 429: ResponseError;
3775
+ };
3776
+ type RotateLiveStreamError = RotateLiveStreamErrors[keyof RotateLiveStreamErrors];
3777
+ type RotateLiveStreamResponses = {
3778
+ /**
3779
+ * The new URL.
3780
+ */
3781
+ 200: LiveStreamUrl;
3782
+ };
3783
+ type RotateLiveStreamResponse = RotateLiveStreamResponses[keyof RotateLiveStreamResponses];
3451
3784
  type GetLiveRunSignalsData = {
3452
3785
  body?: never;
3453
3786
  path: {
@@ -3707,6 +4040,10 @@ declare const downloadKlines: <ThrowOnError extends boolean = false>(options: Op
3707
4040
  * many strategies you have. Check a specific strategy's validation with `GET
3708
4041
  * /strategy/{strategyId}`.
3709
4042
  *
4043
+ * With `includeDeleted=true`, strategies you have deleted are listed too, each with the
4044
+ * `deletedAt` it was deleted at — useful to keep a copy of your list in sync, telling a
4045
+ * deleted strategy apart from one that never existed.
4046
+ *
3710
4047
  */
3711
4048
  declare const listStrategies: <ThrowOnError extends boolean = false>(options?: Options<ListStrategiesData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<{
3712
4049
  strategies: Array<StrategySummary>;
@@ -3728,6 +4065,11 @@ declare const listStrategies: <ThrowOnError extends boolean = false>(options?: O
3728
4065
  * included, is read from `GET /strategy/{strategyId}`. One place to ask, so there is no second
3729
4066
  * answer to keep in step.
3730
4067
  *
4068
+ * A `200` means the source parsed and compiled, not that it will run. What only shows once the
4069
+ * strategy sets up its indicators is found by `validate`: for QTScript, a window on an indicator
4070
+ * name that is not registered (`window nosuch m1 { ... }`) registers, and `validate` ends `failed`
4071
+ * on that line.
4072
+ *
3731
4073
  * For **Java**, the `strategyId` is derived from what the code *means*, not from how it is
3732
4074
  * written. Adding a comment, inserting a blank line, re-indenting, reordering imports, or
3733
4075
  * moving a method around all return the **same** id — you have not created a second strategy.
@@ -4021,6 +4363,10 @@ declare const getBacktestResult: <ThrowOnError extends boolean = false>(options:
4021
4363
  * Every dataset you have created and not deleted, most recently created first. Never a `404`
4022
4364
  * — an empty array if you have none, same convention as `GET /strategies`.
4023
4365
  *
4366
+ * With `includeDeleted=true`, datasets you have deleted are listed too, each with the
4367
+ * `deletedAt` it was deleted at — useful to keep a copy of your list in sync, telling a
4368
+ * deleted dataset apart from one that never existed.
4369
+ *
4024
4370
  */
4025
4371
  declare const listDatasets: <ThrowOnError extends boolean = false>(options?: Options<ListDatasetsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<{
4026
4372
  datasets: Array<Dataset>;
@@ -4155,7 +4501,8 @@ declare const getDatasetImport: <ThrowOnError extends boolean = false>(options:
4155
4501
  * Requests a stop. The run winds down at its own next check-in rather than instantly —
4156
4502
  * poll `GET`/`PATCH` `.../live` and expect `state` to remain `RUNNING` for a short window
4157
4503
  * after `desired` flips to `STOPPED`. Calling this again on an already-stopped run is not an
4158
- * error; it returns the same (unchanged) state.
4504
+ * error; it returns the same (unchanged) state. A stopped run has no stream: its `streamUrl`, if it had one,
4505
+ * stops working and is not in this response.
4159
4506
  *
4160
4507
  */
4161
4508
  declare const stopLive: <ThrowOnError extends boolean = false>(options: Options<StopLiveData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveRun, ResponseError, ThrowOnError>;
@@ -4163,10 +4510,15 @@ declare const stopLive: <ThrowOnError extends boolean = false>(options: Options<
4163
4510
  * Get this strategy's current (or most recent) live run
4164
4511
  * The run you last started for this strategy — its most complete state, including `params`
4165
4512
  * and the promotion `gate` once the sandbox trial has one to report. Returns the run's last
4166
- * known state even after it has stopped; this endpoint never disappears history.
4513
+ * known state even after it has stopped; this endpoint never disappears history. When the run was started
4514
+ * with a `stream`, `streamUrl` is here too while the run is running and your plan allows it.
4515
+ *
4516
+ * While the run is being executed it also carries `stats`, the run's latest counters (updates
4517
+ * processed, rate, instruments seen), refreshed about once a minute. Starting or stopping a run
4518
+ * does not return them; read them here.
4167
4519
  *
4168
4520
  */
4169
- declare const getLive: <ThrowOnError extends boolean = false>(options: Options<GetLiveData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveRun, ResponseError, ThrowOnError>;
4521
+ declare const getLive: <ThrowOnError extends boolean = false>(options: Options<GetLiveData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveRunWithStream, ResponseError, ThrowOnError>;
4170
4522
  /**
4171
4523
  * Start a strategy on a live market feed
4172
4524
  * Starts your strategy against a live market feed. A new run always begins in the **sandbox**
@@ -4202,8 +4554,13 @@ declare const getLive: <ThrowOnError extends boolean = false>(options: Options<G
4202
4554
  * (it overrides `getExecutionCallback()`) has no other execution venue, so it cannot start
4203
4555
  * without a `paper` block.
4204
4556
  *
4557
+ * **A plain WebSocket stream.** Pass `stream: true` to get a secret URL for this run's signals that a simple
4558
+ * client, or a service that passes them on to others, can open as an ordinary WebSocket, from the sandbox stage
4559
+ * on. The URL is in the response (`streamUrl`) and in `GET /strategy/{strategyId}/live`; treat it like a
4560
+ * password. See the "Live execution" guide.
4561
+ *
4205
4562
  */
4206
- declare const startLive: <ThrowOnError extends boolean = false>(options: Options<StartLiveData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveRun, ResponseError, ThrowOnError>;
4563
+ declare const startLive: <ThrowOnError extends boolean = false>(options: Options<StartLiveData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveRunWithStream, ResponseError, ThrowOnError>;
4207
4564
  /**
4208
4565
  * List your own live runs
4209
4566
  * Every run you have started, in any `stage`, `desired` state, or `visibility` — newest
@@ -4214,13 +4571,30 @@ declare const startLive: <ThrowOnError extends boolean = false>(options: Options
4214
4571
  declare const listLive: <ThrowOnError extends boolean = false>(options?: Options<ListLiveData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveListResponse, ResponseError, ThrowOnError>;
4215
4572
  /**
4216
4573
  * Browse public live runs
4217
- * Every run whose owner marked it `public` and is currently live and running — anyone's,
4218
- * yours included, and listed without revealing who owns it. Most recently started first.
4574
+ * Every run whose owner marked it `public`, that has been promoted to `live` and is running —
4575
+ * anyone's, yours included, and listed without revealing who owns it. A `public` run still in
4576
+ * its `sandbox` trial is not listed. Most recently started first.
4219
4577
  *
4220
4578
  * This is the only `Live Execution` endpoint that needs no `Authorization` header.
4221
4579
  *
4222
4580
  */
4223
4581
  declare const listPublicLive: <ThrowOnError extends boolean = false>(options?: Options<ListPublicLiveData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<PublicLiveListResponse, ResponseError, ThrowOnError>;
4582
+ /**
4583
+ * Read one of your runs by its id
4584
+ * Owner only, addressed by `runId` directly rather than through its strategy: the run's own
4585
+ * canonical identity, which is what `POST`/`GET`/`DELETE` `.../live`, `GET /live` and
4586
+ * `GET /live/public` all hand out. Use it to re-read one specific run — including one you
4587
+ * stopped long ago or that is no longer your strategy's most recent — without paging through
4588
+ * `GET /live`.
4589
+ *
4590
+ * Returns the same state as `GET /strategy/{strategyId}/live` (`strategyId` is the strategy's
4591
+ * id, and `stats` is there too), plus `updatedAtMs`: when the run last changed, from any cause — a
4592
+ * state change, a promotion, a parameter update, a stop. A refresh of `stats` is not a change of
4593
+ * the run and does not move `updatedAtMs`. A run that is public is reachable by others through
4594
+ * `GET /live/public`, never through this route.
4595
+ *
4596
+ */
4597
+ declare const getLiveRun: <ThrowOnError extends boolean = false>(options: Options<GetLiveRunData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveRunDetail, ResponseError, ThrowOnError>;
4224
4598
  /**
4225
4599
  * Change a run's visibility, name, or description
4226
4600
  * Owner only, addressed by `runId` directly rather than through its strategy — this is a
@@ -4248,6 +4622,45 @@ declare const updateLive: <ThrowOnError extends boolean = false>(options: Option
4248
4622
  *
4249
4623
  */
4250
4624
  declare const updateLiveParams: <ThrowOnError extends boolean = false>(options: Options<UpdateLiveParamsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveParamsUpdateResult, ResponseError, ThrowOnError>;
4625
+ /**
4626
+ * Tell a running strategy a command
4627
+ * Tells a running strategy something **while it stays live**, without restarting it — for a strategy that
4628
+ * implements the engine's `CommandRequestHandler`. Owner only.
4629
+ *
4630
+ * A command is an event, not a stored setting: it is delivered once to every execution behind the run, at
4631
+ * the same market position, and nothing about it is written to the run's state. **It is transient** — a
4632
+ * replica that restarts replays only its recent market history, so a command from before that only reaches
4633
+ * one that was already running when it arrived. Anything the strategy needs to remember across a restart
4634
+ * belongs in a parameter (`PUT /live/{runId}/params`), which does have a stored value; a command does not.
4635
+ *
4636
+ * The command's text is a plain string; an optional `properties` object of your own choosing travels
4637
+ * alongside it. Each entry lands as a top-level entry on the `CommandRequest` the handler receives —
4638
+ * `request.get("<key>")` in Java, `$command.<key>` sugar in QTScript — no key is off limits, since the
4639
+ * command's own text is kept separately.
4640
+ *
4641
+ */
4642
+ declare const sendLiveCommand: <ThrowOnError extends boolean = false>(options: Options<SendLiveCommandData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveCommandResult, ResponseError, ThrowOnError>;
4643
+ /**
4644
+ * Revoke a run's stream URL
4645
+ * Revokes a run's stream URL **for good**: connections open on it are closed within about 15 seconds and it
4646
+ * answers `404` from then on. The run itself is not touched, and a stream cannot be added to it again; start
4647
+ * the run again with `stream: true` for a new URL. Owner only, and always allowed, whatever your plan or the
4648
+ * run's state. Repeating it is not an error.
4649
+ *
4650
+ */
4651
+ declare const revokeLiveStream: <ThrowOnError extends boolean = false>(options: Options<RevokeLiveStreamData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveStreamRevoked, ResponseError, ThrowOnError>;
4652
+ /**
4653
+ * Rotate a run's stream URL
4654
+ * Gives a run a **new** stream URL and retires the old one: connections open on the old URL are closed
4655
+ * within about 15 seconds and the old URL answers `404` from then on. Use it when the URL may have leaked.
4656
+ * Owner only, and only for a run that is running and was started with `stream: true` (the URL cannot be added
4657
+ * to a run later, and a revoked one cannot be brought back). The plan is checked again: a plan that may not
4658
+ * broadcast gets `429`.
4659
+ *
4660
+ * See the "Live execution" guide, "A plain WebSocket stream of a run".
4661
+ *
4662
+ */
4663
+ declare const rotateLiveStream: <ThrowOnError extends boolean = false>(options: Options<RotateLiveStreamData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveStreamUrl, ResponseError, ThrowOnError>;
4251
4664
  /**
4252
4665
  * Read a run's signals
4253
4666
  * Returns one page of the signals a run has already produced, newest-last, optionally from a
@@ -4271,8 +4684,9 @@ declare const updateLiveParams: <ThrowOnError extends boolean = false>(options:
4271
4684
  * serving a shortened page that looks complete. Treat that as a normal outcome: read
4272
4685
  * `availableSinceMs` from the error and start again from there.
4273
4686
  *
4274
- * Readable by the run's owner, and by anyone if the run is `public` — the same rule the
4275
- * signal channel applies to a subscription.
4687
+ * Readable by the run's owner, and by anyone if the run is `public` and has reached the `live`
4688
+ * stage — the same rule the signal channel applies to a subscription. A `sandbox` run is read
4689
+ * by its owner only, whatever visibility it asked for.
4276
4690
  *
4277
4691
  */
4278
4692
  declare const getLiveRunSignals: <ThrowOnError extends boolean = false>(options: Options<GetLiveRunSignalsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LiveSignalPage, ResponseError, ThrowOnError>;
@@ -4288,8 +4702,8 @@ declare const getLiveRunSignals: <ThrowOnError extends boolean = false>(options:
4288
4702
  * mark`, taken every minute of market time). Until either exists the account holds its
4289
4703
  * starting capital.
4290
4704
  *
4291
- * Readable by the run's owner, and by anyone if the run is `public`. A run started without
4292
- * a `paper` block answers `404`.
4705
+ * Readable by the run's owner, and by anyone if the run is `public` and has reached the `live`
4706
+ * stage. A run started without a `paper` block answers `404`.
4293
4707
  *
4294
4708
  */
4295
4709
  declare const getLiveRunPaper: <ThrowOnError extends boolean = false>(options: Options<GetLiveRunPaperData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LivePaper, ResponseError, ThrowOnError>;
@@ -4304,7 +4718,8 @@ declare const getLiveRunPaper: <ThrowOnError extends boolean = false>(options: O
4304
4718
  * `currency` narrows to one account; without it, every account's points come interleaved by
4305
4719
  * time, each carrying its currency.
4306
4720
  *
4307
- * Readable by the run's owner, and by anyone if the run is `public`.
4721
+ * Readable by the run's owner, and by anyone if the run is `public` and has reached the `live`
4722
+ * stage.
4308
4723
  *
4309
4724
  */
4310
4725
  declare const getLiveRunPaperEquity: <ThrowOnError extends boolean = false>(options: Options<GetLiveRunPaperEquityData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<LivePaperEquityPage, ResponseError, ThrowOnError>;
@@ -4320,4 +4735,4 @@ declare const mintLiveConnectionToken: <ThrowOnError extends boolean = false>(op
4320
4735
 
4321
4736
  declare const client: _hey_api_client_fetch.Client;
4322
4737
 
4323
- export { type AcceptedJob, type Account, type AccountLinks, type AccountUsage, type AccountUsageLinks, type AuthTokenError, type AuthTokenResponse, type AuthenticateData, type AuthenticateError, type AuthenticateErrors, type AuthenticateResponse, type AuthenticateResponses, type BacktestJobResult, type CancelBacktestData, type CancelBacktestError, type CancelBacktestErrors, type CancelBacktestResponse, type CancelBacktestResponses, type CancelSweepData, type CancelSweepError, type CancelSweepErrors, type CancelSweepResponse, type CancelSweepResponses, type ClientOptions, type CompileStrategyData, type CompileStrategyError, type CompileStrategyErrors, type CompileStrategyResponse, type CompileStrategyResponses, type CoverageWindow, type CreateDatasetData, type CreateDatasetError, type CreateDatasetErrors, type CreateDatasetResponse, type CreateDatasetResponses, type DataSourceType, type Dataset, type DatasetCreated, type DatasetImportCreated, type DatasetImportDexRequest, type DatasetImportRequest, type DatasetImportState, type DatasetUploadSession, type DatasetUploadState, type DatasetUploadTarget, type DatasetVersion, type DatasetWithLinks, type DeclaredProperty, type DeleteDatasetData, type DeleteDatasetError, type DeleteDatasetErrors, type DeleteDatasetResponse, type DeleteDatasetResponses, type DeleteStrategyData, type DeleteStrategyError, type DeleteStrategyErrors, type DeleteStrategyResponse, type DeleteStrategyResponses, type DownloadKlinesData, type DownloadKlinesError, type DownloadKlinesErrors, type DownloadKlinesResponse, type DownloadKlinesResponses, type DownloadTickersData, type DownloadTickersError, type DownloadTickersErrors, type DownloadTickersResponse, type DownloadTickersResponses, type EquityCurveMeta, type EquityCurveOptions, type EquityCurveOutMode, type EquityCurveRequest, type EquityCurveResult, type EquityPoint, type Exchange, type ExecuteBacktestData, type ExecuteBacktestError, type ExecuteBacktestErrors, type ExecuteBacktestResponse, type ExecuteBacktestResponses, type ExecuteSweepAccepted, type ExecuteSweepData, type ExecuteSweepError, type ExecuteSweepErrors, type ExecuteSweepRequest, type ExecuteSweepResponse, type ExecuteSweepResponses, type ExecuteSweepResult, type FinalizeDatasetUploadData, type FinalizeDatasetUploadError, type FinalizeDatasetUploadErrors, type FinalizeDatasetUploadResponse, type FinalizeDatasetUploadResponses, type GetAccountData, type GetAccountResponse, type GetAccountResponses, type GetAccountUsageData, type GetAccountUsageResponse, type GetAccountUsageResponses, type GetBacktestResultData, type GetBacktestResultError, type GetBacktestResultErrors, type GetBacktestResultResponse, type GetBacktestResultResponses, type GetDatasetData, type GetDatasetError, type GetDatasetErrors, type GetDatasetImportData, type GetDatasetImportError, type GetDatasetImportErrors, type GetDatasetImportResponse, type GetDatasetImportResponses, type GetDatasetResponse, type GetDatasetResponses, type GetDatasetUploadData, type GetDatasetUploadError, type GetDatasetUploadErrors, type GetDatasetUploadResponse, type GetDatasetUploadResponses, type GetLiveData, type GetLiveError, type GetLiveErrors, type GetLiveResponse, type GetLiveResponses, type GetLiveRunPaperData, type GetLiveRunPaperEquityData, type GetLiveRunPaperEquityError, type GetLiveRunPaperEquityErrors, type GetLiveRunPaperEquityResponse, type GetLiveRunPaperEquityResponses, type GetLiveRunPaperError, type GetLiveRunPaperErrors, type GetLiveRunPaperResponse, type GetLiveRunPaperResponses, type GetLiveRunSignalsData, type GetLiveRunSignalsError, type GetLiveRunSignalsErrors, type GetLiveRunSignalsResponse, type GetLiveRunSignalsResponses, type GetPrepareStatusData, type GetPrepareStatusError, type GetPrepareStatusErrors, type GetPrepareStatusResponse, type GetPrepareStatusResponses, type GetStrategyCodeData, type GetStrategyCodeError, type GetStrategyCodeErrors, type GetStrategyCodeResponse, type GetStrategyCodeResponses, type GetStrategyData, type GetStrategyError, type GetStrategyErrors, type GetStrategyResponse, type GetStrategyResponses, type GetSweepResultData, type GetSweepResultError, type GetSweepResultErrors, type GetSweepResultResponse, type GetSweepResultResponses, type GetSweepRunEquityCurveData, type GetSweepRunEquityCurveError, type GetSweepRunEquityCurveErrors, type GetSweepRunEquityCurveResponse, type GetSweepRunEquityCurveResponses, type GetSweepSensitivityData, type GetSweepSensitivityError, type GetSweepSensitivityErrors, type GetSweepSensitivityResponse, type GetSweepSensitivityResponses, type HalLink, type ImportDatasetData, type ImportDatasetError, type ImportDatasetErrors, type ImportDatasetResponse, type ImportDatasetResponses, type Instrument, type InstrumentCoverage, type InstrumentDetail, type InstrumentLinks, type InstrumentListMeta, type InstrumentListResponse, type JobState, type ListDatasetsData, type ListDatasetsResponse, type ListDatasetsResponses, type ListExchangesData, type ListExchangesResponse, type ListExchangesResponses, type ListInstrumentsData, type ListInstrumentsError, type ListInstrumentsErrors, type ListInstrumentsResponse, type ListInstrumentsResponses, type ListLiveData, type ListLiveError, type ListLiveErrors, type ListLiveResponse, type ListLiveResponses, type ListPublicLiveData, type ListPublicLiveError, type ListPublicLiveErrors, type ListPublicLiveResponse, type ListPublicLiveResponses, type ListSegmentInstrumentsData, type ListSegmentInstrumentsError, type ListSegmentInstrumentsErrors, type ListSegmentInstrumentsResponse, type ListSegmentInstrumentsResponses, type ListStrategiesData, type ListStrategiesResponse, type ListStrategiesResponses, type LiveConnectionToken, type LiveListResponse, type LivePaper, type LivePaperAccount, type LivePaperConfig, type LivePaperEquityPage, type LivePaperEquityPoint, type LivePaperKpi, type LivePaperPosition, type LiveParamsUpdateResult, type LiveRun, type LiveRunCompact, type LiveRunSummary, type LiveSignal, type LiveSignalInstrument, type LiveSignalOrder, type LiveSignalPage, type LiveSource, type MintLiveConnectionTokenData, type MintLiveConnectionTokenResponse, type MintLiveConnectionTokenResponses, type Notice, type OpenDatasetUploadData, type OpenDatasetUploadError, type OpenDatasetUploadErrors, type OpenDatasetUploadResponse, type OpenDatasetUploadResponses, type Options, type PrepareBacktestData, type PrepareBacktestError, type PrepareBacktestErrors, type PrepareBacktestResponse, type PrepareBacktestResponses, type PrepareJobState, type PrepareRequest, type PublicLiveListLinks, type PublicLiveListResponse, type PublicLiveNextLink, type PublicLiveRun, type ResponseError, type ResultMap, type ScalarStrategyParamValue, type StartLiveData, type StartLiveError, type StartLiveErrors, type StartLiveRequest, type StartLiveResponse, type StartLiveResponses, type StopLiveData, type StopLiveError, type StopLiveErrors, type StopLiveResponse, type StopLiveResponses, type StrategyId, type StrategyLinks, type StrategyState, type StrategySummary, type SweepAxis, type SweepBaseConfig, type SweepHeatmap, type SweepHeatmapCell, type SweepMarginal, type SweepMarginalPoint, type SweepProgress, type SweepRunRow, type SweepSensitivity, type SweepSpecRequest, type UpdateLiveData, type UpdateLiveError, type UpdateLiveErrors, type UpdateLiveParamsData, type UpdateLiveParamsError, type UpdateLiveParamsErrors, type UpdateLiveParamsRequest, type UpdateLiveParamsResponse, type UpdateLiveParamsResponses, type UpdateLiveRequest, type UpdateLiveResponse, type UpdateLiveResponses, type ValidateStrategyData, type ValidateStrategyError, type ValidateStrategyErrors, type ValidateStrategyResponse, type ValidateStrategyResponses, type WalkForwardAccepted, type WalkForwardFold, type WalkForwardRequest, type WalkForwardResult, authenticate, cancelBacktest, cancelSweep, client, compileStrategy, createDataset, deleteDataset, deleteStrategy, downloadKlines, downloadTickers, executeBacktest, executeSweep, finalizeDatasetUpload, getAccount, getAccountUsage, getBacktestResult, getDataset, getDatasetImport, getDatasetUpload, getLive, getLiveRunPaper, getLiveRunPaperEquity, getLiveRunSignals, getPrepareStatus, getStrategy, getStrategyCode, getSweepResult, getSweepRunEquityCurve, getSweepSensitivity, importDataset, listDatasets, listExchanges, listInstruments, listLive, listPublicLive, listSegmentInstruments, listStrategies, mintLiveConnectionToken, openDatasetUpload, prepareBacktest, startLive, stopLive, updateLive, updateLiveParams, validateStrategy };
4738
+ export { type AcceptedJob, type Account, type AccountLinks, type AccountUsage, type AccountUsageLinks, type AuthTokenError, type AuthTokenResponse, type AuthenticateData, type AuthenticateError, type AuthenticateErrors, type AuthenticateResponse, type AuthenticateResponses, type BacktestJobResult, type CancelBacktestData, type CancelBacktestError, type CancelBacktestErrors, type CancelBacktestResponse, type CancelBacktestResponses, type CancelSweepData, type CancelSweepError, type CancelSweepErrors, type CancelSweepResponse, type CancelSweepResponses, type ClientOptions, type CompileStrategyData, type CompileStrategyError, type CompileStrategyErrors, type CompileStrategyResponse, type CompileStrategyResponses, type CoverageWindow, type CreateDatasetData, type CreateDatasetError, type CreateDatasetErrors, type CreateDatasetResponse, type CreateDatasetResponses, type DataSourceType, type Dataset, type DatasetCreated, type DatasetImportCreated, type DatasetImportDexRequest, type DatasetImportRequest, type DatasetImportState, type DatasetUploadSession, type DatasetUploadState, type DatasetUploadTarget, type DatasetVersion, type DatasetWithLinks, type DeclaredProperty, type DeleteDatasetData, type DeleteDatasetError, type DeleteDatasetErrors, type DeleteDatasetResponse, type DeleteDatasetResponses, type DeleteStrategyData, type DeleteStrategyError, type DeleteStrategyErrors, type DeleteStrategyResponse, type DeleteStrategyResponses, type DownloadKlinesData, type DownloadKlinesError, type DownloadKlinesErrors, type DownloadKlinesResponse, type DownloadKlinesResponses, type DownloadTickersData, type DownloadTickersError, type DownloadTickersErrors, type DownloadTickersResponse, type DownloadTickersResponses, type EquityCurveMeta, type EquityCurveOptions, type EquityCurveOutMode, type EquityCurveRequest, type EquityCurveResult, type EquityPoint, type Exchange, type ExecuteBacktestData, type ExecuteBacktestError, type ExecuteBacktestErrors, type ExecuteBacktestResponse, type ExecuteBacktestResponses, type ExecuteSweepAccepted, type ExecuteSweepData, type ExecuteSweepError, type ExecuteSweepErrors, type ExecuteSweepRequest, type ExecuteSweepResponse, type ExecuteSweepResponses, type ExecuteSweepResult, type FinalizeDatasetUploadData, type FinalizeDatasetUploadError, type FinalizeDatasetUploadErrors, type FinalizeDatasetUploadResponse, type FinalizeDatasetUploadResponses, type GetAccountData, type GetAccountResponse, type GetAccountResponses, type GetAccountUsageData, type GetAccountUsageResponse, type GetAccountUsageResponses, type GetBacktestResultData, type GetBacktestResultError, type GetBacktestResultErrors, type GetBacktestResultResponse, type GetBacktestResultResponses, type GetDatasetData, type GetDatasetError, type GetDatasetErrors, type GetDatasetImportData, type GetDatasetImportError, type GetDatasetImportErrors, type GetDatasetImportResponse, type GetDatasetImportResponses, type GetDatasetResponse, type GetDatasetResponses, type GetDatasetUploadData, type GetDatasetUploadError, type GetDatasetUploadErrors, type GetDatasetUploadResponse, type GetDatasetUploadResponses, type GetLiveData, type GetLiveError, type GetLiveErrors, type GetLiveResponse, type GetLiveResponses, type GetLiveRunData, type GetLiveRunError, type GetLiveRunErrors, type GetLiveRunPaperData, type GetLiveRunPaperEquityData, type GetLiveRunPaperEquityError, type GetLiveRunPaperEquityErrors, type GetLiveRunPaperEquityResponse, type GetLiveRunPaperEquityResponses, type GetLiveRunPaperError, type GetLiveRunPaperErrors, type GetLiveRunPaperResponse, type GetLiveRunPaperResponses, type GetLiveRunResponse, type GetLiveRunResponses, type GetLiveRunSignalsData, type GetLiveRunSignalsError, type GetLiveRunSignalsErrors, type GetLiveRunSignalsResponse, type GetLiveRunSignalsResponses, type GetPrepareStatusData, type GetPrepareStatusError, type GetPrepareStatusErrors, type GetPrepareStatusResponse, type GetPrepareStatusResponses, type GetStrategyCodeData, type GetStrategyCodeError, type GetStrategyCodeErrors, type GetStrategyCodeResponse, type GetStrategyCodeResponses, type GetStrategyData, type GetStrategyError, type GetStrategyErrors, type GetStrategyResponse, type GetStrategyResponses, type GetSweepResultData, type GetSweepResultError, type GetSweepResultErrors, type GetSweepResultResponse, type GetSweepResultResponses, type GetSweepRunEquityCurveData, type GetSweepRunEquityCurveError, type GetSweepRunEquityCurveErrors, type GetSweepRunEquityCurveResponse, type GetSweepRunEquityCurveResponses, type GetSweepSensitivityData, type GetSweepSensitivityError, type GetSweepSensitivityErrors, type GetSweepSensitivityResponse, type GetSweepSensitivityResponses, type HalLink, type ImportDatasetData, type ImportDatasetError, type ImportDatasetErrors, type ImportDatasetResponse, type ImportDatasetResponses, type Instrument, type InstrumentCoverage, type InstrumentDetail, type InstrumentLinks, type InstrumentListMeta, type InstrumentListResponse, type JobState, type ListDatasetsData, type ListDatasetsResponse, type ListDatasetsResponses, type ListExchangesData, type ListExchangesResponse, type ListExchangesResponses, type ListInstrumentsData, type ListInstrumentsError, type ListInstrumentsErrors, type ListInstrumentsResponse, type ListInstrumentsResponses, type ListLiveData, type ListLiveError, type ListLiveErrors, type ListLiveResponse, type ListLiveResponses, type ListPublicLiveData, type ListPublicLiveError, type ListPublicLiveErrors, type ListPublicLiveResponse, type ListPublicLiveResponses, type ListSegmentInstrumentsData, type ListSegmentInstrumentsError, type ListSegmentInstrumentsErrors, type ListSegmentInstrumentsResponse, type ListSegmentInstrumentsResponses, type ListStrategiesData, type ListStrategiesResponse, type ListStrategiesResponses, type LiveCommandResult, type LiveConnectionToken, type LiveListResponse, type LivePaper, type LivePaperAccount, type LivePaperConfig, type LivePaperEquityPage, type LivePaperEquityPoint, type LivePaperKpi, type LivePaperPosition, type LiveParamsUpdateResult, type LiveRun, type LiveRunCompact, type LiveRunDetail, type LiveRunStats, type LiveRunSummary, type LiveRunWithStream, type LiveSignal, type LiveSignalInstrument, type LiveSignalOrder, type LiveSignalPage, type LiveSource, type LiveStreamRevoked, type LiveStreamUrl, type MintLiveConnectionTokenData, type MintLiveConnectionTokenResponse, type MintLiveConnectionTokenResponses, type Notice, type OpenDatasetUploadData, type OpenDatasetUploadError, type OpenDatasetUploadErrors, type OpenDatasetUploadResponse, type OpenDatasetUploadResponses, type Options, type PrepareBacktestData, type PrepareBacktestError, type PrepareBacktestErrors, type PrepareBacktestResponse, type PrepareBacktestResponses, type PrepareJobState, type PrepareRequest, type PublicLiveListLinks, type PublicLiveListResponse, type PublicLiveNextLink, type PublicLiveRun, type ResponseError, type ResultMap, type RevokeLiveStreamData, type RevokeLiveStreamError, type RevokeLiveStreamErrors, type RevokeLiveStreamResponse, type RevokeLiveStreamResponses, type RotateLiveStreamData, type RotateLiveStreamError, type RotateLiveStreamErrors, type RotateLiveStreamResponse, type RotateLiveStreamResponses, type ScalarStrategyParamValue, type SendLiveCommandData, type SendLiveCommandError, type SendLiveCommandErrors, type SendLiveCommandRequest, type SendLiveCommandResponse, type SendLiveCommandResponses, type StartLiveData, type StartLiveError, type StartLiveErrors, type StartLiveRequest, type StartLiveResponse, type StartLiveResponses, type StopLiveData, type StopLiveError, type StopLiveErrors, type StopLiveResponse, type StopLiveResponses, type StrategyId, type StrategyLinks, type StrategyState, type StrategySummary, type SweepAxis, type SweepBaseConfig, type SweepHeatmap, type SweepHeatmapCell, type SweepMarginal, type SweepMarginalPoint, type SweepProgress, type SweepRunRow, type SweepSensitivity, type SweepSpecRequest, type UpdateLiveData, type UpdateLiveError, type UpdateLiveErrors, type UpdateLiveParamsData, type UpdateLiveParamsError, type UpdateLiveParamsErrors, type UpdateLiveParamsRequest, type UpdateLiveParamsResponse, type UpdateLiveParamsResponses, type UpdateLiveRequest, type UpdateLiveResponse, type UpdateLiveResponses, type ValidateStrategyData, type ValidateStrategyError, type ValidateStrategyErrors, type ValidateStrategyResponse, type ValidateStrategyResponses, type WalkForwardAccepted, type WalkForwardFold, type WalkForwardRequest, type WalkForwardResult, authenticate, cancelBacktest, cancelSweep, client, compileStrategy, createDataset, deleteDataset, deleteStrategy, downloadKlines, downloadTickers, executeBacktest, executeSweep, finalizeDatasetUpload, getAccount, getAccountUsage, getBacktestResult, getDataset, getDatasetImport, getDatasetUpload, getLive, getLiveRun, getLiveRunPaper, getLiveRunPaperEquity, getLiveRunSignals, getPrepareStatus, getStrategy, getStrategyCode, getSweepResult, getSweepRunEquityCurve, getSweepSensitivity, importDataset, listDatasets, listExchanges, listInstruments, listLive, listPublicLive, listSegmentInstruments, listStrategies, mintLiveConnectionToken, openDatasetUpload, prepareBacktest, revokeLiveStream, rotateLiveStream, sendLiveCommand, startLive, stopLive, updateLive, updateLiveParams, validateStrategy };