@tastytrade/api 5.0.0 → 6.0.1
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/CHANGELOG.md +29 -0
- package/README.md +87 -43
- package/dist/account-streamer.d.ts +6 -3
- package/dist/account-streamer.d.ts.map +1 -1
- package/dist/account-streamer.js +21 -15
- package/dist/account-streamer.js.map +1 -1
- package/dist/logger.d.ts +5 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +4 -0
- package/dist/logger.js.map +1 -1
- package/dist/market-data-streamer.d.ts.map +1 -1
- package/dist/market-data-streamer.js +1 -0
- package/dist/market-data-streamer.js.map +1 -1
- package/dist/models/access-token.d.ts +12 -0
- package/dist/models/access-token.d.ts.map +1 -0
- package/dist/models/access-token.js +35 -0
- package/dist/models/access-token.js.map +1 -0
- package/dist/models/tastytrade-session.d.ts.map +1 -1
- package/dist/models/tastytrade-session.js.map +1 -1
- package/dist/quote-streamer.d.ts +58 -0
- package/dist/quote-streamer.d.ts.map +1 -0
- package/dist/quote-streamer.js +132 -0
- package/dist/quote-streamer.js.map +1 -0
- package/dist/services/account-status-service.js +0 -1
- package/dist/services/account-status-service.js.map +1 -1
- package/dist/services/accounts-and-customers-service.js +0 -1
- package/dist/services/accounts-and-customers-service.js.map +1 -1
- package/dist/services/balances-and-positions-service.js +0 -1
- package/dist/services/balances-and-positions-service.js.map +1 -1
- package/dist/services/instruments-service.js +2 -3
- package/dist/services/instruments-service.js.map +1 -1
- package/dist/services/margin-requirements-service.js +0 -1
- package/dist/services/margin-requirements-service.js.map +1 -1
- package/dist/services/market-metrics-service.js +0 -1
- package/dist/services/market-metrics-service.js.map +1 -1
- package/dist/services/net-liquidating-value-history-service.js +0 -1
- package/dist/services/net-liquidating-value-history-service.js.map +1 -1
- package/dist/services/orders-service.js +0 -1
- package/dist/services/orders-service.js.map +1 -1
- package/dist/services/risk-parameters-service.js +0 -1
- package/dist/services/risk-parameters-service.js.map +1 -1
- package/dist/services/session-service.d.ts +6 -1
- package/dist/services/session-service.d.ts.map +1 -1
- package/dist/services/session-service.js +10 -2
- package/dist/services/session-service.js.map +1 -1
- package/dist/services/symbol-search-service.js +0 -1
- package/dist/services/symbol-search-service.js.map +1 -1
- package/dist/services/tastytrade-http-client.d.ts +16 -2
- package/dist/services/tastytrade-http-client.d.ts.map +1 -1
- package/dist/services/tastytrade-http-client.js +71 -14
- package/dist/services/tastytrade-http-client.js.map +1 -1
- package/dist/services/transactions-service.js +0 -1
- package/dist/services/transactions-service.js.map +1 -1
- package/dist/services/watchlists-service.js +0 -1
- package/dist/services/watchlists-service.js.map +1 -1
- package/dist/tastytrade-api.d.ts +12 -2
- package/dist/tastytrade-api.d.ts.map +1 -1
- package/dist/tastytrade-api.js +22 -6
- package/dist/tastytrade-api.js.map +1 -1
- package/dist/utils/json-util.d.ts.map +1 -1
- package/dist/utils/json-util.js +0 -2
- package/dist/utils/json-util.js.map +1 -1
- package/dist/utils/response-util.d.ts.map +1 -1
- package/dist/utils/response-util.js +0 -1
- package/dist/utils/response-util.js.map +1 -1
- package/eslint.config.cjs +46 -0
- package/lib/account-streamer.ts +31 -23
- package/lib/logger.ts +6 -1
- package/lib/models/access-token.ts +40 -0
- package/lib/models/tastytrade-session.ts +1 -1
- package/lib/quote-streamer.ts +151 -0
- package/lib/services/instruments-service.ts +2 -2
- package/lib/services/session-service.ts +13 -1
- package/lib/services/tastytrade-http-client.ts +93 -15
- package/lib/tastytrade-api.ts +31 -4
- package/lib/utils/json-util.ts +0 -2
- package/lib/utils/response-util.ts +3 -4
- package/package.json +26 -18
- package/tsconfig.json +2 -2
- package/.eslintrc.cjs +0 -18
- package/lib/market-data-streamer.ts +0 -376
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [6.0.0] - 2025-10-01
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Added `QuoteStreamer` wrapper for DxFeed's DxLink streamer package for market data
|
|
14
|
+
- Added `heartbeatInterval` parameter to `AccountStreamer` constructor (default: 20 seconds)
|
|
15
|
+
- Added unit tests for HTTP client
|
|
16
|
+
- Setup Prettier for consistent code formatting [#54](https://github.com/tastytrade/tastytrade-api-js/pull/54)
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Updated Jest configuration to support ESM modules and transform `@dxfeed` packages
|
|
21
|
+
- Fixed integration and unit tests to work with current codebase
|
|
22
|
+
- Updated README with:
|
|
23
|
+
- OAuth authentication instructions
|
|
24
|
+
- API version targeting instructions
|
|
25
|
+
- QuoteStreamer usage instructions
|
|
26
|
+
- Session-based auth deprecation notice
|
|
27
|
+
- Updated dependency versions [#52](https://github.com/tastytrade/tastytrade-api-js/pull/52)
|
|
28
|
+
- Enabled builds on latest LTS Node version [#53](https://github.com/tastytrade/tastytrade-api-js/pull/53)
|
|
29
|
+
|
|
30
|
+
### Removed
|
|
31
|
+
|
|
32
|
+
- Removed the deprecated `MarketDataStreamer` and replaced it with `QuoteStreamer`
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- Fixed Jest hanging after tests complete by adding `forceExit: true` configuration
|
|
37
|
+
|
|
9
38
|
## [5.0.0] - 2024-09-17
|
|
10
39
|
|
|
11
40
|
The `TastytradeClient` constructor now takes a single config object instead of 2 urls.
|
package/README.md
CHANGED
|
@@ -2,67 +2,104 @@
|
|
|
2
2
|
|
|
3
3
|
## Installation
|
|
4
4
|
npm:
|
|
5
|
-
|
|
5
|
+
```bash
|
|
6
|
+
npm i @tastytrade/api
|
|
7
|
+
```
|
|
6
8
|
|
|
7
9
|
yarn:
|
|
8
|
-
|
|
10
|
+
```bash
|
|
11
|
+
yarn add @tastytrade/api
|
|
12
|
+
```
|
|
9
13
|
|
|
10
14
|
## Quickstart
|
|
15
|
+
|
|
16
|
+
### Session-based Authentication
|
|
17
|
+
Session auth is deprecated for Api users. Please migrate to Oauth (instructions below). You can create an Oauth application for your own account by going to [my.tastytrade.com](https://my.tastytrade.com/app.html#/manage/api-access/open-api/).
|
|
18
|
+
|
|
11
19
|
```js
|
|
12
|
-
import
|
|
20
|
+
import TastytradeClient from "@tastytrade/api"
|
|
21
|
+
|
|
22
|
+
// Use built-in configs or provide your own
|
|
23
|
+
const tastytradeClient = new TastytradeClient(TastytradeClient.ProdConfig)
|
|
24
|
+
// Or for sandbox: new TastytradeClient(TastytradeClient.SandboxConfig)
|
|
13
25
|
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const accountPositions = await tastytradeApi.balancesAndPositionsService.getPositionsList(accounts[0].account['account-number'])
|
|
26
|
+
await tastytradeClient.sessionService.login(usernameOrEmail, password)
|
|
27
|
+
const accounts = await tastytradeClient.accountsAndCustomersService.getCustomerAccounts()
|
|
28
|
+
const accountPositions = await tastytradeClient.balancesAndPositionsService.getPositionsList(accounts[0].account['account-number'])
|
|
18
29
|
```
|
|
19
30
|
|
|
20
|
-
###
|
|
21
|
-
|
|
31
|
+
### OAuth Authentication
|
|
32
|
+
For OAuth-based authentication, provide `clientSecret`, `refreshToken`, and `oauthScopes` when instantiating the client:
|
|
22
33
|
|
|
23
|
-
Here's a node example of how you can subscribe to some future option quotes using `@dxfeed/dxlink-api`:
|
|
24
34
|
```js
|
|
25
|
-
|
|
26
|
-
* Below code assumes you've hit GET /api-quote-tokens and received a token
|
|
27
|
-
* You should also hit GET /futures-option-chains/{future_contract_code}/nested to get the future options you want to subscribe to
|
|
28
|
-
* There is an equivalent GET /option-chains/{underlying_ticker_symbol}/nested for equity options
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
const WebSocket = require('isomorphic-ws')
|
|
32
|
-
const { DXLinkWebSocketClient, DXLinkFeed, FeedDataFormat } = require('@dxfeed/dxlink-api')
|
|
33
|
-
global.WebSocket = WebSocket
|
|
35
|
+
import TastytradeClient from "@tastytrade/api"
|
|
34
36
|
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
const tastytradeClient = new TastytradeClient({
|
|
38
|
+
...TastytradeClient.ProdConfig,
|
|
39
|
+
clientSecret: 'your-client-secret',
|
|
40
|
+
refreshToken: 'your-refresh-token',
|
|
41
|
+
oauthScopes: ['read', 'trade'] // Specify required scopes
|
|
42
|
+
})
|
|
39
43
|
|
|
40
|
-
|
|
44
|
+
// Access tokens are automatically generated and refreshed
|
|
45
|
+
const accounts = await tastytradeClient.accountsAndCustomersService.getCustomerAccounts()
|
|
46
|
+
```
|
|
41
47
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
acceptEventFields: {
|
|
47
|
-
Quote: ['eventSymbol', 'askPrice', 'bidPrice']
|
|
48
|
-
},
|
|
49
|
-
})
|
|
48
|
+
The client will automatically generate and refresh access tokens as needed. No need to call `login()` when using OAuth.
|
|
49
|
+
|
|
50
|
+
### Targeting a Specific API Version
|
|
51
|
+
New Api versions are outlined in our [Release Notes](https://developer.tastytrade.com/release-notes/) docs.
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
You can optionally target a specific API version by providing `targetApiVersion` when instantiating the client:
|
|
54
|
+
|
|
55
|
+
```js
|
|
56
|
+
import TastytradeClient from "@tastytrade/api"
|
|
57
|
+
|
|
58
|
+
const tastytradeClient = new TastytradeClient({
|
|
59
|
+
...TastytradeClient.ProdConfig,
|
|
60
|
+
targetApiVersion: '20250813' // YYYYMMDD format
|
|
55
61
|
})
|
|
62
|
+
```
|
|
56
63
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
64
|
+
This will add an `Accept-Version` header to all API requests. If not specified, the latest API version will be used.
|
|
65
|
+
|
|
66
|
+
You can also override default headers via `axios`:
|
|
67
|
+
```
|
|
68
|
+
axios.defaults.headers.common['Accept-Version'] = '20250813';
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Market Data
|
|
72
|
+
We provide a wrapper for DxFeed's `@dxfeed/dxlink-api` package for retrieving quotes and candles. Once logged in, call `connect()` to fetch a quote auth token and connect to the DxLink streamer.
|
|
73
|
+
|
|
74
|
+
**Important:** Call `connect()` before `subscribe()`.
|
|
75
|
+
|
|
76
|
+
```js
|
|
77
|
+
import TastytradeClient, { CandleType } from "@tastytrade/api"
|
|
78
|
+
|
|
79
|
+
const tastytradeClient = new TastytradeClient(TastytradeClient.ProdConfig)
|
|
80
|
+
await tastytradeClient.sessionService.login(usernameOrEmail, password)
|
|
81
|
+
|
|
82
|
+
// Add event listener before connecting
|
|
83
|
+
tastytradeClient.quoteStreamer.addEventListener((events) => {
|
|
84
|
+
console.log('Received market data:', events)
|
|
60
85
|
})
|
|
86
|
+
|
|
87
|
+
// Connect first
|
|
88
|
+
await tastytradeClient.quoteStreamer.connect()
|
|
89
|
+
|
|
90
|
+
// Then subscribe to symbols
|
|
91
|
+
tastytradeClient.quoteStreamer.subscribe(['AAPL', 'TSLA'])
|
|
92
|
+
|
|
93
|
+
// Subscribe to 5 minute candles starting from 1 year ago
|
|
94
|
+
tastytradeClient.quoteStreamer.subscribeCandles('AAPL', new Date().setFullYear(new Date().getFullYear() - 1), 5, CandleType.Minute)
|
|
95
|
+
|
|
96
|
+
// Disconnect when done
|
|
97
|
+
await tastytradeClient.quoteStreamer.disconnect()
|
|
61
98
|
```
|
|
62
99
|
|
|
63
100
|
To run the above code, save it to a file and run `node <filename>.js` in a terminal.
|
|
64
101
|
|
|
65
|
-
When
|
|
102
|
+
When subscribing to options, use the `put-streamer-symbol` or `call-streamer-symbol` from the `GET /futures-option-chains/{future_contract_code}/nested` endpoint:
|
|
66
103
|
```js
|
|
67
104
|
// GET /futures-option-chains/ES/nested response:
|
|
68
105
|
{
|
|
@@ -74,11 +111,11 @@ When adding a subscription, the `symbol` value should be the `put-streamer-symbo
|
|
|
74
111
|
}
|
|
75
112
|
```
|
|
76
113
|
|
|
77
|
-
|
|
114
|
+
For equities quotes, use the ticker symbol (e.g., `AAPL`).
|
|
78
115
|
|
|
79
116
|
### Account Streamer
|
|
80
117
|
```js
|
|
81
|
-
import
|
|
118
|
+
import TastytradeClient from "@tastytrade/api"
|
|
82
119
|
import _ from 'lodash'
|
|
83
120
|
|
|
84
121
|
function handleStreamerMessage(json) {
|
|
@@ -89,7 +126,7 @@ function handleStreamerStateChange(streamerState) {
|
|
|
89
126
|
console.log('streamer state changed: ', streamerState)
|
|
90
127
|
}
|
|
91
128
|
|
|
92
|
-
const tastytradeClient = new
|
|
129
|
+
const tastytradeClient = new TastytradeClient({ baseUrl, accountStreamerUrl })
|
|
93
130
|
const accountStreamer = tastytradeClient.accountStreamer
|
|
94
131
|
const loginResponse = await tastytradeClient.sessionService.login(usernameOrEmail, password)
|
|
95
132
|
const accounts = await tastytradeClient.accountsAndCustomersService.getCustomerAccounts()
|
|
@@ -128,6 +165,13 @@ API_ACCOUNT_NUMBER=<your cert account number>
|
|
|
128
165
|
|
|
129
166
|
These values should match whatever username/password/account you set up in the tastytrade sandbox environment. Head to developer.tastyworks.com to get that set up.
|
|
130
167
|
|
|
168
|
+
Run tests:
|
|
169
|
+
```bash
|
|
170
|
+
npm test # Run all tests
|
|
171
|
+
npm run unit-test # Run unit tests only
|
|
172
|
+
npm run integration-test # Run integration tests only
|
|
173
|
+
```
|
|
174
|
+
|
|
131
175
|
## Running example app
|
|
132
176
|
```sh
|
|
133
177
|
npm run build
|
|
@@ -2,6 +2,7 @@ import type { JsonValue } from './utils/json-util.js';
|
|
|
2
2
|
import { JsonBuilder } from './utils/json-util.js';
|
|
3
3
|
import TastytradeSession from './models/tastytrade-session.js';
|
|
4
4
|
import type Logger from './logger.js';
|
|
5
|
+
import type AccessToken from './models/access-token.js';
|
|
5
6
|
export declare enum STREAMER_STATE {
|
|
6
7
|
Open = 0,
|
|
7
8
|
Closed = 1,
|
|
@@ -13,6 +14,8 @@ export type StreamerMessageObserver = (json: object) => void;
|
|
|
13
14
|
export declare class AccountStreamer {
|
|
14
15
|
private readonly url;
|
|
15
16
|
private readonly session;
|
|
17
|
+
private readonly accessToken;
|
|
18
|
+
private readonly heartbeatInterval;
|
|
16
19
|
private readonly logger;
|
|
17
20
|
private websocket;
|
|
18
21
|
private startResolve;
|
|
@@ -31,10 +34,10 @@ export declare class AccountStreamer {
|
|
|
31
34
|
*
|
|
32
35
|
* @param url Url of the account streamer service
|
|
33
36
|
*/
|
|
34
|
-
constructor(url: string, session: TastytradeSession, logger: Logger);
|
|
37
|
+
constructor(url: string, session: TastytradeSession, accessToken: AccessToken, logger: Logger, heartbeatInterval?: number);
|
|
35
38
|
get streamerState(): STREAMER_STATE;
|
|
36
39
|
set streamerState(streamerState: STREAMER_STATE);
|
|
37
|
-
private get
|
|
40
|
+
private get authHeader();
|
|
38
41
|
/**
|
|
39
42
|
* Adds a custom callback that fires when the streamer state changes
|
|
40
43
|
* @param observer
|
|
@@ -46,7 +49,7 @@ export declare class AccountStreamer {
|
|
|
46
49
|
get isError(): boolean;
|
|
47
50
|
/**
|
|
48
51
|
* Entrypoint for beginning a websocket session
|
|
49
|
-
* You must have a valid tastytrade
|
|
52
|
+
* You must have a valid tastytrade session or access token before calling this method
|
|
50
53
|
* @returns Promise that resolves when the "opened" message is received (see handleOpen)
|
|
51
54
|
*/
|
|
52
55
|
start(): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-streamer.d.ts","sourceRoot":"","sources":["../lib/account-streamer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,iBAAiB,MAAM,gCAAgC,CAAA;AAE9D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"account-streamer.d.ts","sourceRoot":"","sources":["../lib/account-streamer.ts"],"names":[],"mappings":"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"}
|
package/dist/account-streamer.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import WebSocket from 'isomorphic-ws';
|
|
2
2
|
import _ from 'lodash';
|
|
3
3
|
import { JsonBuilder } from './utils/json-util.js';
|
|
4
|
-
import TastytradeSession from './models/tastytrade-session.js';
|
|
5
4
|
import { MinTlsVersion } from './utils/constants.js';
|
|
6
5
|
export var STREAMER_STATE;
|
|
7
6
|
(function (STREAMER_STATE) {
|
|
@@ -18,7 +17,7 @@ var MessageAction;
|
|
|
18
17
|
MessageAction["QUOTE_ALERTS_SUBSCRIBE"] = "quote-alerts-subscribe";
|
|
19
18
|
MessageAction["USER_MESSAGE_SUBSCRIBE"] = "user-message-subscribe";
|
|
20
19
|
})(MessageAction || (MessageAction = {}));
|
|
21
|
-
const
|
|
20
|
+
const DEFAULT_HEARTBEAT_INTERVAL = 2000; // 20 seconds
|
|
22
21
|
const SOURCE = 'tastytrade-api-js-sdk';
|
|
23
22
|
const REQUEST_ID = 'request-id';
|
|
24
23
|
function removeElement(array, element) {
|
|
@@ -33,9 +32,11 @@ export class AccountStreamer {
|
|
|
33
32
|
*
|
|
34
33
|
* @param url Url of the account streamer service
|
|
35
34
|
*/
|
|
36
|
-
constructor(url, session, logger) {
|
|
35
|
+
constructor(url, session, accessToken, logger, heartbeatInterval = DEFAULT_HEARTBEAT_INTERVAL) {
|
|
37
36
|
this.url = url;
|
|
38
37
|
this.session = session;
|
|
38
|
+
this.accessToken = accessToken;
|
|
39
|
+
this.heartbeatInterval = heartbeatInterval;
|
|
39
40
|
this.websocket = null;
|
|
40
41
|
this.startResolve = null;
|
|
41
42
|
this.startReject = null;
|
|
@@ -101,7 +102,7 @@ export class AccountStreamer {
|
|
|
101
102
|
this.handleOneMessage = (json) => {
|
|
102
103
|
this.logger.info('Message received: ', json);
|
|
103
104
|
const action = json.action;
|
|
104
|
-
this.streamerMessageObservers.forEach(observer => observer(json));
|
|
105
|
+
this.streamerMessageObservers.forEach((observer) => observer(json));
|
|
105
106
|
if (action) {
|
|
106
107
|
if (action === MessageAction.HEARTBEAT) {
|
|
107
108
|
// schedule next heartbeat
|
|
@@ -128,12 +129,18 @@ export class AccountStreamer {
|
|
|
128
129
|
}
|
|
129
130
|
set streamerState(streamerState) {
|
|
130
131
|
this._streamerState = streamerState;
|
|
131
|
-
this.streamerStateObservers.forEach(observer => {
|
|
132
|
+
this.streamerStateObservers.forEach((observer) => {
|
|
132
133
|
observer(streamerState);
|
|
133
134
|
});
|
|
134
135
|
}
|
|
135
|
-
get
|
|
136
|
-
|
|
136
|
+
get authHeader() {
|
|
137
|
+
if (this.session.isValid) {
|
|
138
|
+
return this.session.authToken;
|
|
139
|
+
}
|
|
140
|
+
if (this.accessToken.isValid) {
|
|
141
|
+
return this.accessToken.authorizationHeader;
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
137
144
|
}
|
|
138
145
|
/**
|
|
139
146
|
* Adds a custom callback that fires when the streamer state changes
|
|
@@ -157,7 +164,7 @@ export class AccountStreamer {
|
|
|
157
164
|
}
|
|
158
165
|
/**
|
|
159
166
|
* Entrypoint for beginning a websocket session
|
|
160
|
-
* You must have a valid tastytrade
|
|
167
|
+
* You must have a valid tastytrade session or access token before calling this method
|
|
161
168
|
* @returns Promise that resolves when the "opened" message is received (see handleOpen)
|
|
162
169
|
*/
|
|
163
170
|
async start() {
|
|
@@ -205,9 +212,9 @@ export class AccountStreamer {
|
|
|
205
212
|
// Heartbeat already scheduled
|
|
206
213
|
return;
|
|
207
214
|
}
|
|
208
|
-
this.logger.info('Scheduling heartbeat with interval: ',
|
|
215
|
+
this.logger.info('Scheduling heartbeat with interval: ', this.heartbeatInterval);
|
|
209
216
|
const scheduler = typeof window === 'undefined' ? setTimeout : window.setTimeout;
|
|
210
|
-
this.heartbeatTimerId = scheduler(this.sendHeartbeat,
|
|
217
|
+
this.heartbeatTimerId = scheduler(this.sendHeartbeat, this.heartbeatInterval);
|
|
211
218
|
}
|
|
212
219
|
get isHeartbeatScheduled() {
|
|
213
220
|
return !_.isNil(this.heartbeatTimerId);
|
|
@@ -238,11 +245,10 @@ export class AccountStreamer {
|
|
|
238
245
|
json.add(REQUEST_ID, this.requestCounter);
|
|
239
246
|
json.add('source', SOURCE);
|
|
240
247
|
if (includeSessionToken) {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
throw new Error('sessionToken not set');
|
|
248
|
+
if (!this.authHeader) {
|
|
249
|
+
throw new Error('session or access token not set');
|
|
244
250
|
}
|
|
245
|
-
json.add('auth-token',
|
|
251
|
+
json.add('auth-token', this.authHeader);
|
|
246
252
|
}
|
|
247
253
|
const message = JSON.stringify(json.json);
|
|
248
254
|
const websocket = this.websocket;
|
|
@@ -302,7 +308,7 @@ export class AccountStreamer {
|
|
|
302
308
|
return;
|
|
303
309
|
}
|
|
304
310
|
const websocket = this.websocket;
|
|
305
|
-
queued.forEach(msg => {
|
|
311
|
+
queued.forEach((msg) => {
|
|
306
312
|
websocket.send(msg);
|
|
307
313
|
});
|
|
308
314
|
this.queued = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-streamer.js","sourceRoot":"","sources":["../lib/account-streamer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"account-streamer.js","sourceRoot":"","sources":["../lib/account-streamer.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
CHANGED
|
@@ -10,8 +10,12 @@ export declare enum LogLevel {
|
|
|
10
10
|
}
|
|
11
11
|
export declare class TastytradeLogger implements Logger {
|
|
12
12
|
logLevel: LogLevel;
|
|
13
|
-
|
|
13
|
+
logger: Logger | null;
|
|
14
14
|
constructor(logger?: Logger, logLevel?: LogLevel);
|
|
15
|
+
updateConfig(config: Partial<{
|
|
16
|
+
logger: Logger;
|
|
17
|
+
logLevel: LogLevel;
|
|
18
|
+
}>): void;
|
|
15
19
|
error(...data: any[]): void;
|
|
16
20
|
info(...data: any[]): void;
|
|
17
21
|
warn(...data: any[]): void;
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../lib/logger.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,WAAW,MAAM;IAC7B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC5B;AAED,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAED,qBAAa,gBAAiB,YAAW,MAAM;IACtC,QAAQ,EAAE,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../lib/logger.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,WAAW,MAAM;IAC7B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC5B;AAED,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAED,qBAAa,gBAAiB,YAAW,MAAM;IACtC,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAO;gBAEvB,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAKzC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAC,CAAC;IAKzE,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM1B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM1B,OAAO,CAAC,SAAS;CAMlB"}
|
package/dist/logger.js
CHANGED
|
@@ -11,6 +11,10 @@ export class TastytradeLogger {
|
|
|
11
11
|
this.logger = logger ?? null;
|
|
12
12
|
this.logLevel = logLevel ?? LogLevel.ERROR;
|
|
13
13
|
}
|
|
14
|
+
updateConfig(config) {
|
|
15
|
+
const loggerConfig = _.pick(config, ['logger', 'logLevel']);
|
|
16
|
+
Object.assign(this, loggerConfig);
|
|
17
|
+
}
|
|
14
18
|
error(...data) {
|
|
15
19
|
if (this.shouldLog(LogLevel.ERROR)) {
|
|
16
20
|
this.logger.error(...data);
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAQtB,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,OAAO,gBAAgB;IAI3B,YAAY,MAAe,EAAE,QAAmB;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAQtB,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,OAAO,gBAAgB;IAI3B,YAAY,MAAe,EAAE,QAAmB;QAFzC,WAAM,GAAkB,IAAI,CAAA;QAGjC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAA;IAC5C,CAAC;IAEM,YAAY,CAAC,MAAqD;QACvE,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAClB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnD,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-data-streamer.d.ts","sourceRoot":"","sources":["../lib/market-data-streamer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"market-data-streamer.d.ts","sourceRoot":"","sources":["../lib/market-data-streamer.ts"],"names":[],"mappings":"AAMA,oBAAY,0BAA0B;IACpC,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,oBAAY,UAAU;IACpB,IAAI,MAAM;IACV,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,IAAI,MAAM;IACV,GAAG,MAAM;IACT,IAAI,MAAM;IACV,KAAK,OAAO;IACZ,WAAW,MAAM;IACjB,IAAI,MAAM;IACV,MAAM,MAAM;IACZ,KAAK,MAAM;CACZ;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;AACpD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;AAChD,MAAM,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAA;AAI/D,MAAM,MAAM,yBAAyB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAA;AAC/F,KAAK,OAAO,GAAG,MAAM,IAAI,CAAA;AASzB,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,mBAAmB,CAAmB;IAC9C,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,kBAAkB,CAA+C;IACzE,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,kBAAkB,CAAY;;IAMtC,eAAe,CAAC,YAAY,EAAE,kBAAkB,EAAE,SAAS,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO;IAU3F,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;IAUvD,0BAA0B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO;IAUzE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAelC,UAAU;IAoBV,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO;;;KAA2E,GAAG,OAAO;IAiB5H;;;;;;;;OAQG;IACH,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB;IAmBlG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO;;;KAA2E;IAUrH,sBAAsB,CAAC,SAAS,SAAmB;IASnD,eAAe,CAAC,SAAS,EAAE,MAAM;IAmBjC,eAAe,CAAC,SAAS,EAAE,MAAM;IAIjC,IAAI,qBAAqB,YAExB;IAED,IAAI,WAAW,YAEd;IAED,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,uBAAuB;IAa/B;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,cAAc;IAQtB,IAAI,kBAAkB,YAErB;IAED,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,WAAW;CAOpB"}
|
|
@@ -2,6 +2,7 @@ import WebSocket from 'isomorphic-ws';
|
|
|
2
2
|
import _ from 'lodash';
|
|
3
3
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
4
|
import { MinTlsVersion } from './utils/constants.js';
|
|
5
|
+
import { DXLinkWebSocketClient, DXLinkFeed } from '@dxfeed/dxlink-api';
|
|
5
6
|
export var MarketDataSubscriptionType;
|
|
6
7
|
(function (MarketDataSubscriptionType) {
|
|
7
8
|
MarketDataSubscriptionType["Candle"] = "Candle";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-data-streamer.js","sourceRoot":"","sources":["../lib/market-data-streamer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"market-data-streamer.js","sourceRoot":"","sources":["../lib/market-data-streamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default class AccessToken {
|
|
2
|
+
token: string;
|
|
3
|
+
expiresIn: number;
|
|
4
|
+
get isExpired(): boolean;
|
|
5
|
+
get isValid(): boolean;
|
|
6
|
+
get isEmpty(): boolean;
|
|
7
|
+
get expiration(): Date;
|
|
8
|
+
updateFromTokenResponse(tokenResponse: any): void;
|
|
9
|
+
get authorizationHeader(): string | null;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=access-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../lib/models/access-token.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,WAAW;IACrB,KAAK,SAAK;IACV,SAAS,SAAI;IAEpB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,UAAU,SAGb;IAEM,uBAAuB,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI;IAKxD,IAAI,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAKvC;IAED,KAAK;CAIR"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
export default class AccessToken {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.token = '';
|
|
5
|
+
this.expiresIn = 0;
|
|
6
|
+
}
|
|
7
|
+
get isExpired() {
|
|
8
|
+
return this.isEmpty || Date.now() >= this.expiration.getTime();
|
|
9
|
+
}
|
|
10
|
+
get isValid() {
|
|
11
|
+
return !_.isNil(this.token) && !this.isExpired;
|
|
12
|
+
}
|
|
13
|
+
get isEmpty() {
|
|
14
|
+
return _.isNil(this.token) || this.token.length === 0;
|
|
15
|
+
}
|
|
16
|
+
get expiration() {
|
|
17
|
+
// Set expiration a bit earlier to account for clock skew
|
|
18
|
+
return new Date(Date.now() + ((this.expiresIn - 30) * 1000));
|
|
19
|
+
}
|
|
20
|
+
updateFromTokenResponse(tokenResponse) {
|
|
21
|
+
this.token = _.get(tokenResponse, "data.access_token");
|
|
22
|
+
this.expiresIn = _.get(tokenResponse, "data.expires_in");
|
|
23
|
+
}
|
|
24
|
+
get authorizationHeader() {
|
|
25
|
+
if (this.isValid) {
|
|
26
|
+
return `Bearer ${this.token}`;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
clear() {
|
|
31
|
+
this.token = '';
|
|
32
|
+
this.expiresIn = 0;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=access-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../lib/models/access-token.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,WAAW;IAAhC;QACW,UAAK,GAAG,EAAE,CAAA;QACV,cAAS,GAAG,CAAC,CAAA;IAmCxB,CAAC;IAjCG,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACnE,CAAC;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU;QACV,yDAAyD;QACzD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,uBAAuB,CAAC,aAAkB;QAC/C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;IACtB,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tastytrade-session.d.ts","sourceRoot":"","sources":["../../lib/models/tastytrade-session.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"tastytrade-session.d.ts","sourceRoot":"","sources":["../../lib/models/tastytrade-session.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAO;IAEtC,IAAI,OAAO,YAEV;IAED,KAAK;CAGR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tastytrade-session.js","sourceRoot":"","sources":["../../lib/models/tastytrade-session.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAAtC;
|
|
1
|
+
{"version":3,"file":"tastytrade-session.js","sourceRoot":"","sources":["../../lib/models/tastytrade-session.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAAtC;QACW,cAAS,GAAkB,IAAI,CAAA;IAS1C,CAAC;IAPG,IAAI,OAAO;QACT,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACzB,CAAC;CACJ"}
|