@tastytrade/api 6.0.0 → 7.0.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.
@@ -0,0 +1,61 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <code_scheme name="Project" version="173">
3
+ <HTMLCodeStyleSettings>
4
+ <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
5
+ </HTMLCodeStyleSettings>
6
+ <JSCodeStyleSettings version="0">
7
+ <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
8
+ <option name="FORCE_SEMICOLON_STYLE" value="true" />
9
+ <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
10
+ <option name="USE_DOUBLE_QUOTES" value="false" />
11
+ <option name="FORCE_QUOTE_STYlE" value="true" />
12
+ <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
13
+ <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
14
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
15
+ </JSCodeStyleSettings>
16
+ <TypeScriptCodeStyleSettings version="0">
17
+ <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
18
+ <option name="FORCE_SEMICOLON_STYLE" value="true" />
19
+ <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
20
+ <option name="USE_DOUBLE_QUOTES" value="false" />
21
+ <option name="FORCE_QUOTE_STYlE" value="true" />
22
+ <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
23
+ <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
24
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
25
+ </TypeScriptCodeStyleSettings>
26
+ <VueCodeStyleSettings>
27
+ <option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
28
+ <option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
29
+ </VueCodeStyleSettings>
30
+ <codeStyleSettings language="HTML">
31
+ <option name="SOFT_MARGINS" value="80" />
32
+ <indentOptions>
33
+ <option name="INDENT_SIZE" value="2" />
34
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
35
+ <option name="TAB_SIZE" value="2" />
36
+ </indentOptions>
37
+ </codeStyleSettings>
38
+ <codeStyleSettings language="JavaScript">
39
+ <option name="SOFT_MARGINS" value="80" />
40
+ <indentOptions>
41
+ <option name="INDENT_SIZE" value="2" />
42
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
43
+ <option name="TAB_SIZE" value="2" />
44
+ </indentOptions>
45
+ </codeStyleSettings>
46
+ <codeStyleSettings language="TypeScript">
47
+ <option name="SOFT_MARGINS" value="80" />
48
+ <indentOptions>
49
+ <option name="INDENT_SIZE" value="2" />
50
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
51
+ <option name="TAB_SIZE" value="2" />
52
+ </indentOptions>
53
+ </codeStyleSettings>
54
+ <codeStyleSettings language="Vue">
55
+ <option name="SOFT_MARGINS" value="80" />
56
+ <indentOptions>
57
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
58
+ </indentOptions>
59
+ </codeStyleSettings>
60
+ </code_scheme>
61
+ </component>
@@ -0,0 +1,5 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <state>
3
+ <option name="USE_PER_PROJECT_SETTINGS" value="true" />
4
+ </state>
5
+ </component>
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
+ </profile>
6
+ </component>
package/.idea/misc.xml ADDED
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="rbenv: 3.3.0" project-jdk-type="RUBY_SDK" />
4
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/tastytrade-api-js.iml" filepath="$PROJECT_DIR$/.idea/tastytrade-api-js.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="ModuleRunConfigurationManager">
4
+ <shared />
5
+ </component>
6
+ <component name="NewModuleRootManager">
7
+ <content url="file://$MODULE_DIR$">
8
+ <sourceFolder url="file://$MODULE_DIR$/features" isTestSource="true" />
9
+ <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
10
+ <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
11
+ </content>
12
+ <orderEntry type="inheritedJdk" />
13
+ <orderEntry type="sourceFolder" forTests="false" />
14
+ </component>
15
+ </module>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
package/CHANGELOG.md CHANGED
@@ -6,6 +6,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [7.0.0] - 2026-02-13
10
+
11
+ **⚠️ BREAKING CHANGES - See [UPGRADING.md](UPGRADING.md) for migration guide**
12
+
13
+ ### Added
14
+
15
+ - Added automatic token refresh in AccountStreamer.send() method
16
+
17
+ ### Changed
18
+
19
+ - BREAKING: TastytradeHttpClient constructor now requires full ClientConfig instead of Partial<ClientConfig>
20
+ - BREAKING: OAuth fields in ClientConfig are now required (not optional): clientSecret, refreshToken, and oauthScopes
21
+ - BREAKING: AccountStreamer constructor now accepts TastytradeHttpClient instead of separate TastytradeSession and AccessToken parameters
22
+ - BREAKING: AccountStreamer.send(), subscribeTo(), and subscribeToUser() methods are now async and return Promise<number>
23
+ - BREAKING: ClientConfig type requires clientSecret, refreshToken, and oauthScopes (no longer optional)
24
+ - TastytradeClient.ProdConfig and SandboxConfig now return Partial<ClientConfig> instead of full ClientConfig
25
+ - TastytradeHttpClient.needsTokenRefresh getter now only checks access token expiration (removed session checks)
26
+ - TastytradeHttpClient.authHeader getter now only returns access token (removed session token logic)
27
+ - AccountStreamer.authHeader getter now delegates to httpClient.authHeader
28
+ - AccountStreamer.subscribeToUser() now returns rejected promise with error message for invalid user IDs
29
+ - Updated JSDoc in AccountStreamer to remove session references
30
+
31
+ ### Removed
32
+
33
+ - BREAKING: Removed lib/models/tastytrade-session.ts - session-based authentication no longer supported
34
+ - BREAKING: Removed lib/services/session-service.ts - no more login(), logout(), or validate() methods
35
+ - BREAKING: Removed session property from TastytradeHttpClient
36
+ - BREAKING: Removed sessionService property from TastytradeClient
37
+ - BREAKING: Removed session getter from TastytradeClient
38
+
9
39
  ## [6.0.0] - 2025-10-01
10
40
 
11
41
  ### Added
package/README.md CHANGED
@@ -13,23 +13,12 @@ yarn add @tastytrade/api
13
13
 
14
14
  ## Quickstart
15
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/).
16
+ Please upgrade to the latest version 7.0. See [UPGRADING.md](UPGRADING.md) for migration guide.
18
17
 
19
- ```js
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)
25
-
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'])
29
- ```
18
+ ### Initialization
19
+ You must provide `clientSecret`, `refreshToken`, and `oauthScopes` when instantiating the client.
30
20
 
31
- ### OAuth Authentication
32
- For OAuth-based authentication, provide `clientSecret`, `refreshToken`, and `oauthScopes` when instantiating the client:
21
+ For instructions on obtaining a client secret and refresh token, refer to our [Oauth2 guide](https://developer.tastytrade.com/oauth/).
33
22
 
34
23
  ```js
35
24
  import TastytradeClient from "@tastytrade/api"
@@ -45,7 +34,7 @@ const tastytradeClient = new TastytradeClient({
45
34
  const accounts = await tastytradeClient.accountsAndCustomersService.getCustomerAccounts()
46
35
  ```
47
36
 
48
- The client will automatically generate and refresh access tokens as needed. No need to call `login()` when using OAuth.
37
+ The client will automatically generate and refresh access tokens as needed.
49
38
 
50
39
  ### Targeting a Specific API Version
51
40
  New Api versions are outlined in our [Release Notes](https://developer.tastytrade.com/release-notes/) docs.
package/UPGRADING.md ADDED
@@ -0,0 +1,118 @@
1
+ # Migration Guide: v6.0 → v7.0
2
+
3
+ ## Overview
4
+
5
+ Version 7.0 removes session-based authentication entirely in favor of OAuth token-based authentication. This change simplifies the authentication flow and aligns with modern API security practices.
6
+
7
+ ## Breaking Changes Summary
8
+
9
+ - ❌ **Removed**: `SessionService` (no more `login()`, `logout()`, `validate()`)
10
+ - ❌ **Removed**: `TastytradeSession` class
11
+ - ❌ **Removed**: `session` property from `TastytradeClient`
12
+ - ✅ **Required**: OAuth credentials (`clientSecret`, `refreshToken`, `oauthScopes`) now mandatory in `ClientConfig`
13
+ - ⚠️ **Changed**: `AccountStreamer` constructor signature
14
+ - ⚠️ **Changed**: Several `AccountStreamer` methods now async
15
+
16
+ ## Migration Steps
17
+
18
+ ### 1. Update TastytradeClient Initialization
19
+
20
+ #### Before (v6.0)
21
+
22
+ ```typescript
23
+ import TastytradeClient from 'tastytrade-api'
24
+
25
+ const client = new TastytradeClient({
26
+ baseUrl: 'https://api.tastyworks.com',
27
+ accountStreamerUrl: 'wss://streamer.tastyworks.com'
28
+ })
29
+
30
+ // Login required before making API calls
31
+ await client.sessionService.login(username, password)
32
+
33
+ const accounts = await client.accountsAndCustomersService.getCustomerAccounts()
34
+ ```
35
+
36
+ #### After (v7.0)
37
+
38
+ ```typescript
39
+ import TastytradeClient from 'tastytrade-api'
40
+
41
+ const client = new TastytradeClient({
42
+ baseUrl: 'https://api.tastyworks.com',
43
+ accountStreamerUrl: 'wss://streamer.tastyworks.com',
44
+ clientSecret: 'your-client-secret',
45
+ refreshToken: 'your-refresh-token',
46
+ oauthScopes: ['read', 'trade']
47
+ })
48
+
49
+ // No login needed - client automatically manages tokens
50
+ const accounts = await client.accountsAndCustomersService.getCustomerAccounts()
51
+ ```
52
+
53
+ Or use the predefined configs:
54
+
55
+ ```typescript
56
+ const client = new TastytradeClient({
57
+ ...TastytradeClient.ProdConfig, // baseUrl + accountStreamerUrl
58
+ clientSecret: 'your-client-secret',
59
+ refreshToken: 'your-refresh-token',
60
+ oauthScopes: ['read', 'trade']
61
+ })
62
+ ```
63
+
64
+ ### 2. Remove All SessionService Usage
65
+
66
+ Before (v6.0)
67
+
68
+ ```typescript
69
+ // Login
70
+ await client.sessionService.login(username, password)
71
+
72
+ // Login with remember token
73
+ await client.sessionService.loginWithRememberToken(username, rememberToken)
74
+
75
+ // Validate session
76
+ const isValid = await client.sessionService.validate()
77
+
78
+ // Logout
79
+ await client.sessionService.logout()
80
+
81
+ // Check if logged in
82
+ if (client.session.isValid) {
83
+ // Do something
84
+ }
85
+ ```
86
+
87
+ After (v7.0)
88
+
89
+ ```typescript
90
+ // Access tokens are refreshed automatically. No sessions or session tokens.
91
+ const client = new TastytradeClient(config)
92
+ await client.accountsAndCustomersService.getCustomerAccounts()
93
+ ```
94
+
95
+ ### 3. Update AccountStreamer Method Calls
96
+
97
+ Several AccountStreamer methods now return promises:
98
+
99
+ Before (v6.0)
100
+
101
+ ```typescript
102
+ await streamer.start()
103
+
104
+ streamer.subscribeTo('action', value)
105
+ streamer.subscribeToUser(userExternalId)
106
+ const requestId = streamer.subscribeToAccounts(['account123'])
107
+ ```
108
+
109
+ After (v7.0)
110
+
111
+ ```typescript
112
+ await streamer.start()
113
+
114
+ // Now async - must await
115
+ await streamer.subscribeTo('action', value)
116
+ await streamer.subscribeToUser(userExternalId)
117
+ const requestId = await streamer.subscribeToAccounts(['account123'])
118
+ ```
@@ -1,8 +1,7 @@
1
1
  import type { JsonValue } from './utils/json-util.js';
2
2
  import { JsonBuilder } from './utils/json-util.js';
3
- import TastytradeSession from './models/tastytrade-session.js';
4
3
  import type Logger from './logger.js';
5
- import type AccessToken from './models/access-token.js';
4
+ import TastytradeHttpClient from './services/tastytrade-http-client.js';
6
5
  export declare enum STREAMER_STATE {
7
6
  Open = 0,
8
7
  Closed = 1,
@@ -13,8 +12,7 @@ export type StreamerStateObserver = (streamerState: STREAMER_STATE) => void;
13
12
  export type StreamerMessageObserver = (json: object) => void;
14
13
  export declare class AccountStreamer {
15
14
  private readonly url;
16
- private readonly session;
17
- private readonly accessToken;
15
+ private readonly httpClient;
18
16
  private readonly heartbeatInterval;
19
17
  private readonly logger;
20
18
  private websocket;
@@ -33,8 +31,11 @@ export declare class AccountStreamer {
33
31
  /**
34
32
  *
35
33
  * @param url Url of the account streamer service
34
+ * @param httpClient Instance of TastytradeHttpClient
35
+ * @param logger Logger to use
36
+ * @param heartbeatInterval Interval at which to auto-send heartbeat messages
36
37
  */
37
- constructor(url: string, session: TastytradeSession, accessToken: AccessToken, logger: Logger, heartbeatInterval?: number);
38
+ constructor(url: string, httpClient: TastytradeHttpClient, logger: Logger, heartbeatInterval?: number);
38
39
  get streamerState(): STREAMER_STATE;
39
40
  set streamerState(streamerState: STREAMER_STATE);
40
41
  private get authHeader();
@@ -49,7 +50,7 @@ export declare class AccountStreamer {
49
50
  get isError(): boolean;
50
51
  /**
51
52
  * Entrypoint for beginning a websocket session
52
- * You must have a valid tastytrade session or access token before calling this method
53
+ * You must have a valid tastytrade access token before calling this method
53
54
  * @returns Promise that resolves when the "opened" message is received (see handleOpen)
54
55
  */
55
56
  start(): Promise<boolean>;
@@ -66,20 +67,20 @@ export declare class AccountStreamer {
66
67
  * @param includeSessionToken Attaches session token to message if true
67
68
  * @returns
68
69
  */
69
- send(json: JsonBuilder, includeSessionToken?: boolean): number;
70
+ send(json: JsonBuilder): Promise<number>;
70
71
  /**
71
72
  * Used by other methods to send a specific `action` message
72
73
  * @param action
73
74
  * @param value
74
75
  * @returns
75
76
  */
76
- subscribeTo(action: string, value?: JsonValue): number;
77
+ subscribeTo(action: string, value?: JsonValue): Promise<number>;
77
78
  /**
78
79
  * Subscribes to all user-level messages for given user external id
79
80
  * @param userExternalId "external-id" from login response
80
81
  * @returns Promise that resolves when ack is received
81
82
  */
82
- subscribeToUser(userExternalId: string): void;
83
+ subscribeToUser(userExternalId: string): Promise<number>;
83
84
  /**
84
85
  * Subscribes to all account-level messages for given account numbers
85
86
  * @param accountNumbers List of account numbers to subscribe to
@@ -1 +1 @@
1
- {"version":3,"file":"account-streamer.d.ts","sourceRoot":"","sources":["../lib/account-streamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-streamer.d.ts","sourceRoot":"","sources":["../lib/account-streamer.ts"],"names":[],"mappings":"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"}
@@ -31,11 +31,13 @@ export class AccountStreamer {
31
31
  /**
32
32
  *
33
33
  * @param url Url of the account streamer service
34
+ * @param httpClient Instance of TastytradeHttpClient
35
+ * @param logger Logger to use
36
+ * @param heartbeatInterval Interval at which to auto-send heartbeat messages
34
37
  */
35
- constructor(url, session, accessToken, logger, heartbeatInterval = DEFAULT_HEARTBEAT_INTERVAL) {
38
+ constructor(url, httpClient, logger, heartbeatInterval = DEFAULT_HEARTBEAT_INTERVAL) {
36
39
  this.url = url;
37
- this.session = session;
38
- this.accessToken = accessToken;
40
+ this.httpClient = httpClient;
39
41
  this.heartbeatInterval = heartbeatInterval;
40
42
  this.websocket = null;
41
43
  this.startResolve = null;
@@ -134,13 +136,7 @@ export class AccountStreamer {
134
136
  });
135
137
  }
136
138
  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;
139
+ return this.httpClient.authHeader;
144
140
  }
145
141
  /**
146
142
  * Adds a custom callback that fires when the streamer state changes
@@ -164,7 +160,7 @@ export class AccountStreamer {
164
160
  }
165
161
  /**
166
162
  * Entrypoint for beginning a websocket session
167
- * You must have a valid tastytrade session or access token before calling this method
163
+ * You must have a valid tastytrade access token before calling this method
168
164
  * @returns Promise that resolves when the "opened" message is received (see handleOpen)
169
165
  */
170
166
  async start() {
@@ -240,16 +236,14 @@ export class AccountStreamer {
240
236
  * @param includeSessionToken Attaches session token to message if true
241
237
  * @returns
242
238
  */
243
- send(json, includeSessionToken = true) {
239
+ async send(json) {
244
240
  this.requestCounter += 1;
245
241
  json.add(REQUEST_ID, this.requestCounter);
246
242
  json.add('source', SOURCE);
247
- if (includeSessionToken) {
248
- if (!this.authHeader) {
249
- throw new Error('session or access token not set');
250
- }
251
- json.add('auth-token', this.authHeader);
243
+ if (this.httpClient.needsTokenRefresh) {
244
+ await this.httpClient.generateAccessToken();
252
245
  }
246
+ json.add('auth-token', this.authHeader);
253
247
  const message = JSON.stringify(json.json);
254
248
  const websocket = this.websocket;
255
249
  if (websocket === null) {
@@ -268,7 +262,7 @@ export class AccountStreamer {
268
262
  * @param value
269
263
  * @returns
270
264
  */
271
- subscribeTo(action, value) {
265
+ async subscribeTo(action, value) {
272
266
  const json = new JsonBuilder();
273
267
  json.add('action', action);
274
268
  if (!_.isUndefined(value)) {
@@ -281,11 +275,11 @@ export class AccountStreamer {
281
275
  * @param userExternalId "external-id" from login response
282
276
  * @returns Promise that resolves when ack is received
283
277
  */
284
- subscribeToUser(userExternalId) {
278
+ async subscribeToUser(userExternalId) {
285
279
  if (!userExternalId) {
286
- return;
280
+ return Promise.reject(`Must provide user external id. You provided: ${userExternalId}`);
287
281
  }
288
- this.subscribeTo(MessageAction.USER_MESSAGE_SUBSCRIBE, userExternalId);
282
+ return this.subscribeTo(MessageAction.USER_MESSAGE_SUBSCRIBE, userExternalId);
289
283
  }
290
284
  /**
291
285
  * Subscribes to all account-level messages for given account numbers
@@ -297,7 +291,7 @@ export class AccountStreamer {
297
291
  return Promise.reject('no account numbers');
298
292
  }
299
293
  const value = accountNumbers.length > 1 ? accountNumbers : accountNumbers[0];
300
- const requestId = this.subscribeTo(MessageAction.CONNECT, value);
294
+ const requestId = await this.subscribeTo(MessageAction.CONNECT, value);
301
295
  return new Promise((resolve, reject) => {
302
296
  this.requestPromises.set(requestId, [resolve, reject]);
303
297
  });
@@ -1 +1 @@
1
- {"version":3,"file":"account-streamer.js","sourceRoot":"","sources":["../lib/account-streamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-streamer.js","sourceRoot":"","sources":["../lib/account-streamer.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export default class InstrumentsService {
37
37
  throw new Error('Symbols are required for InstrumentService.getEquityOptions');
38
38
  }
39
39
  //Returns a set of equity options given one or more symbols
40
- const queryParams = { symbols, active, withExpired };
40
+ const queryParams = { symbol: symbols, active, withExpired };
41
41
  const equityOptions = (await this.httpClient.getData(`/instruments/equity-options`, {}, queryParams));
42
42
  return extractResponseData(equityOptions);
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"instruments-service.js","sourceRoot":"","sources":["../../lib/services/instruments-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAE5D,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,mBAAmB,CAAC,UAAoB,EAAE;QAC5C,2EAA2E;QAC3E,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QACvC,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1G,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,CAAC,uBAAuB,CAAC,MAAc;QACxC,2CAA2C;QAC3C,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,oBAAoB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iCAAiC,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACtH,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,CAAA;IACpD,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,WAAW,GAAG,EAAE;QACpC,oDAAoD;QACpD,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACvG,OAAO,mBAAmB,CAAC,cAAc,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,CAAC,oBAAoB,CAAC,WAAW,GAAG,EAAE;QACvC,2EAA2E;QAC3E,MAAM,iBAAiB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACnG,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;IACjD,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,4DAA4D;QAC5D,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,yBAAyB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/F,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAC5C,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,OAAiB,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK;QACxE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAChF,CAAC;QAED,2DAA2D;QAC3D,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;QACpD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACrG,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IACD,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,WAAW,GAAG,EAAE;QACxD,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAA;QAC5G,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAC5C,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE;QAC7B,0EAA0E;QAC1E,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACxF,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,4CAA4C;QAC5C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QAC5F,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAC5C,CAAC;IACD,KAAK,CAAC,wBAAwB;QAC1B,2DAA2D;QAC3D,MAAM,qBAAqB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,qCAAqC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC5G,OAAO,mBAAmB,CAAC,qBAAqB,CAAC,CAAA;IACrD,CAAC;IACD,KAAK,CAAC,4BAA4B,CAAC,QAAgB,EAAE,UAAkB;QACnE,yDAAyD;QACzD,MAAM,yBAAyB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,uCAAuC,QAAQ,IAAI,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC1I,OAAO,mBAAmB,CAAC,yBAAyB,CAAC,CAAA;IACzD,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,EAAE;QACnC,0EAA0E;QAC1E,+CAA+C;QAC/C,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACrG,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IACD,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACtC,qFAAqF;QACrF,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACzG,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,CAAC,kBAAkB;QACpB,qDAAqD;QACrD,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/F,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAA;IAC/C,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,QAAgB,EAAE,IAAY;QACvD,mDAAmD;QACnD,MAAM,mBAAmB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,QAAQ,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvH,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,CAAC,4BAA4B;QAC9B,2CAA2C;QAC3C,MAAM,yBAAyB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,0CAA0C,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACrH,OAAO,mBAAmB,CAAC,yBAAyB,CAAC,CAAA;IACzD,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,EAAE;QAC9B,yEAAyE;QACzE,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1F,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACjC,6DAA6D;QAC7D,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,yBAAyB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAChG,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,2BAA2B,CAAC,MAAc;QAC5C,+GAA+G;QAC/G,MAAM,wBAAwB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,MAAM,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACnH,OAAO,mBAAmB,CAAC,wBAAwB,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACrC,sEAAsE;QACtE,MAAM,iBAAiB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACrG,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;IACjD,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACrC,qDAAqD;QACrD,6DAA6D;QAC7D,MAAM,iBAAiB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,MAAM,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpG,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;IACjD,CAAC;IACD,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACtC,0GAA0G;QAC1G,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,MAAM,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACtG,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,+DAA+D;QAC/D,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvF,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAC3C,CAAC;CACJ"}
1
+ {"version":3,"file":"instruments-service.js","sourceRoot":"","sources":["../../lib/services/instruments-service.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,15 @@
1
- import TastytradeSession from "../models/tastytrade-session.js";
2
1
  import AccessToken from "../models/access-token.js";
3
2
  import type Logger from "../logger.js";
4
3
  import type { ClientConfig } from "../tastytrade-api.js";
5
4
  export default class TastytradeHttpClient {
6
5
  private readonly logger?;
7
6
  baseUrl: string;
8
- clientSecret?: string;
9
- refreshToken?: string;
10
- oauthScopes?: string[];
7
+ clientSecret: string;
8
+ refreshToken: string;
9
+ oauthScopes: string[];
11
10
  readonly accessToken: AccessToken;
12
- readonly session: TastytradeSession;
13
11
  private _targetApiVersion?;
14
- constructor(clientConfig: Partial<ClientConfig>, logger?: Logger);
12
+ constructor(clientConfig: ClientConfig, logger?: Logger);
15
13
  updateConfig(config: Partial<ClientConfig>): void;
16
14
  get needsTokenRefresh(): boolean;
17
15
  get authHeader(): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"tastytrade-http-client.d.ts","sourceRoot":"","sources":["../../lib/services/tastytrade-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,iCAAiC,CAAA;AAC/D,OAAO,WAAW,MAAM,2BAA2B,CAAA;AAKnD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAUxD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAQ;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,SAAgB,WAAW,EAAE,WAAW,CAAA;IACxC,SAAgB,OAAO,EAAE,iBAAiB,CAAA;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAQ;gBAEtB,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM;IAQzD,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAQjD,IAAI,iBAAiB,IAAI,OAAO,CAQ/B;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAQ9B;IAED,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,WAAW;IAON,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;YAkBlC,cAAc;IAgBtB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,EAAE,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAInE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5D,IAAW,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEhD;IAED,IAAW,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAKtD;CACJ"}
1
+ {"version":3,"file":"tastytrade-http-client.d.ts","sourceRoot":"","sources":["../../lib/services/tastytrade-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,2BAA2B,CAAA;AAKnD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAUxD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAQ;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,EAAE,CAAA;IAC5B,SAAgB,WAAW,EAAE,WAAW,CAAA;IACxC,OAAO,CAAC,iBAAiB,CAAC,CAAQ;gBAEtB,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM;IAUhD,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAQjD,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAK9B;IAED,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,WAAW;IAON,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;YAkBlC,cAAc;IAgBtB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,EAAE,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAInE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5D,IAAW,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEhD;IAED,IAAW,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAKtD;CACJ"}
@@ -1,4 +1,3 @@
1
- import TastytradeSession from "../models/tastytrade-session.js";
2
1
  import AccessToken from "../models/access-token.js";
3
2
  import axios from "axios";
4
3
  import qs from 'qs';
@@ -15,7 +14,9 @@ export default class TastytradeHttpClient {
15
14
  this.logger = logger;
16
15
  this.baseUrl = clientConfig.baseUrl;
17
16
  this.accessToken = new AccessToken();
18
- this.session = new TastytradeSession();
17
+ this.clientSecret = clientConfig.clientSecret;
18
+ this.refreshToken = clientConfig.refreshToken;
19
+ this.oauthScopes = clientConfig.oauthScopes;
19
20
  this.updateConfig(clientConfig);
20
21
  }
21
22
  updateConfig(config) {
@@ -26,18 +27,9 @@ export default class TastytradeHttpClient {
26
27
  }
27
28
  }
28
29
  get needsTokenRefresh() {
29
- if (this.session.isValid) {
30
- return false;
31
- }
32
- if (_.isNil(this.refreshToken) || _.isNil(this.clientSecret)) {
33
- return false;
34
- }
35
30
  return this.accessToken.isExpired;
36
31
  }
37
32
  get authHeader() {
38
- if (this.session.isValid) {
39
- return this.session.authToken;
40
- }
41
33
  if (this.accessToken.isValid) {
42
34
  return this.accessToken.authorizationHeader;
43
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tastytrade-http-client.js","sourceRoot":"","sources":["../../lib/services/tastytrade-http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tastytrade-http-client.js","sourceRoot":"","sources":["../../lib/services/tastytrade-http-client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import TastytradeHttpClient from "./services/tastytrade-http-client.js";
2
2
  import { AccountStreamer, STREAMER_STATE, type Disposer, type StreamerStateObserver } from './account-streamer.js';
3
- import SessionService from "./services/session-service.js";
4
3
  import AccountStatusService from "./services/account-status-service.js";
5
4
  import AccountsAndCustomersService from "./services/accounts-and-customers-service.js";
6
5
  import BalancesAndPositionsService from "./services/balances-and-positions-service.js";
@@ -13,7 +12,6 @@ import RiskParametersService from "./services/risk-parameters-service.js";
13
12
  import SymbolSearchService from "./services/symbol-search-service.js";
14
13
  import TransactionsService from "./services/transactions-service.js";
15
14
  import WatchlistsService from "./services/watchlists-service.js";
16
- import TastytradeSession from "./models/tastytrade-session.js";
17
15
  import type Logger from "./logger.js";
18
16
  import { TastytradeLogger, LogLevel } from "./logger.js";
19
17
  import QuoteStreamer, { MarketDataSubscriptionType, CandleType } from "./quote-streamer.js";
@@ -21,21 +19,20 @@ import type AccessToken from "./models/access-token.js";
21
19
  export type ClientConfig = {
22
20
  baseUrl: string;
23
21
  accountStreamerUrl: string;
24
- clientSecret?: string;
25
- refreshToken?: string;
26
- oauthScopes?: string[];
22
+ clientSecret: string;
23
+ refreshToken: string;
24
+ oauthScopes: string[];
27
25
  logger?: Logger;
28
26
  logLevel?: LogLevel;
29
27
  targetApiVersion?: string;
30
28
  };
31
29
  export default class TastytradeClient {
32
- static readonly ProdConfig: ClientConfig;
33
- static readonly SandboxConfig: ClientConfig;
30
+ static readonly ProdConfig: Partial<ClientConfig>;
31
+ static readonly SandboxConfig: Partial<ClientConfig>;
34
32
  readonly logger: TastytradeLogger;
35
33
  readonly httpClient: TastytradeHttpClient;
36
34
  readonly accountStreamer: AccountStreamer;
37
35
  readonly quoteStreamer: QuoteStreamer;
38
- readonly sessionService: SessionService;
39
36
  readonly accountStatusService: AccountStatusService;
40
37
  readonly accountsAndCustomersService: AccountsAndCustomersService;
41
38
  readonly balancesAndPositionsService: BalancesAndPositionsService;
@@ -50,7 +47,6 @@ export default class TastytradeClient {
50
47
  readonly watchlistsService: WatchlistsService;
51
48
  constructor(config: ClientConfig);
52
49
  updateConfig(config: Partial<ClientConfig>): void;
53
- get session(): TastytradeSession;
54
50
  get accessToken(): AccessToken;
55
51
  }
56
52
  export { MarketDataSubscriptionType, CandleType };
@@ -1 +1 @@
1
- {"version":3,"file":"tastytrade-api.d.ts","sourceRoot":"","sources":["../lib/tastytrade-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tastytrade-api.d.ts","sourceRoot":"","sources":["../lib/tastytrade-api.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAGlH,OAAO,oBAAoB,MAAM,sCAAsC,CAAA;AACvE,OAAO,2BAA2B,MAAM,8CAA8C,CAAA;AACtF,OAAO,2BAA2B,MAAM,8CAA8C,CAAA;AACtF,OAAO,kBAAkB,MAAM,mCAAmC,CAAA;AAClE,OAAO,yBAAyB,MAAM,2CAA2C,CAAA;AACjF,OAAO,oBAAoB,MAAM,sCAAsC,CAAA;AACvE,OAAO,iCAAiC,MAAM,qDAAqD,CAAA;AACnG,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AACzE,OAAO,mBAAmB,MAAM,qCAAqC,CAAA;AACrE,OAAO,mBAAmB,MAAM,oCAAoC,CAAA;AACpE,OAAO,iBAAiB,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,aAAa,EAAE,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC3F,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,gBAAuB,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAGvD;IACD,gBAAuB,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,CAG1D;IACD,SAAgB,MAAM,EAAE,gBAAgB,CAAA;IACxC,SAAgB,UAAU,EAAE,oBAAoB,CAAA;IAEhD,SAAgB,eAAe,EAAE,eAAe,CAAA;IAChD,SAAgB,aAAa,EAAE,aAAa,CAAA;IAE5C,SAAgB,oBAAoB,EAAE,oBAAoB,CAAA;IAC1D,SAAgB,2BAA2B,EAAE,2BAA2B,CAAA;IACxE,SAAgB,2BAA2B,EAAE,2BAA2B,CAAA;IACxE,SAAgB,kBAAkB,EAAE,kBAAkB,CAAA;IACtD,SAAgB,yBAAyB,EAAE,yBAAyB,CAAA;IACpE,SAAgB,oBAAoB,EAAE,oBAAoB,CAAA;IAC1D,SAAgB,iCAAiC,EAAE,iCAAiC,CAAA;IACpF,SAAgB,YAAY,EAAE,YAAY,CAAA;IAC1C,SAAgB,qBAAqB,EAAE,qBAAqB,CAAA;IAC5D,SAAgB,mBAAmB,EAAE,mBAAmB,CAAA;IACxD,SAAgB,mBAAmB,EAAE,mBAAmB,CAAA;IACxD,SAAgB,iBAAiB,EAAE,iBAAiB,CAAA;gBAExC,MAAM,EAAE,YAAY;IAsBzB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAKjD,IAAI,WAAW,IAAI,WAAW,CAE7B;CACF;AAED,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,qBAAqB,EAAE,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;AACrC,YAAY,EAAE,MAAM,EAAE,CAAA"}
@@ -1,7 +1,6 @@
1
1
  import TastytradeHttpClient from "./services/tastytrade-http-client.js";
2
2
  import { AccountStreamer, STREAMER_STATE } from './account-streamer.js';
3
3
  //Services:
4
- import SessionService from "./services/session-service.js";
5
4
  import AccountStatusService from "./services/account-status-service.js";
6
5
  import AccountsAndCustomersService from "./services/accounts-and-customers-service.js";
7
6
  import BalancesAndPositionsService from "./services/balances-and-positions-service.js";
@@ -20,7 +19,6 @@ class TastytradeClient {
20
19
  constructor(config) {
21
20
  this.logger = new TastytradeLogger(config.logger, config.logLevel);
22
21
  this.httpClient = new TastytradeHttpClient(config, this.logger);
23
- this.sessionService = new SessionService(this.httpClient);
24
22
  this.accountStatusService = new AccountStatusService(this.httpClient);
25
23
  this.accountsAndCustomersService = new AccountsAndCustomersService(this.httpClient);
26
24
  this.balancesAndPositionsService = new BalancesAndPositionsService(this.httpClient);
@@ -33,16 +31,13 @@ class TastytradeClient {
33
31
  this.symbolSearchService = new SymbolSearchService(this.httpClient);
34
32
  this.transactionsService = new TransactionsService(this.httpClient);
35
33
  this.watchlistsService = new WatchlistsService(this.httpClient);
36
- this.accountStreamer = new AccountStreamer(config.accountStreamerUrl, this.session, this.accessToken, this.logger);
34
+ this.accountStreamer = new AccountStreamer(config.accountStreamerUrl, this.httpClient, this.logger);
37
35
  this.quoteStreamer = new QuoteStreamer(this.accountsAndCustomersService, this.logger);
38
36
  }
39
37
  updateConfig(config) {
40
38
  this.httpClient.updateConfig(config);
41
39
  this.logger.updateConfig(config);
42
40
  }
43
- get session() {
44
- return this.httpClient.session;
45
- }
46
41
  get accessToken() {
47
42
  return this.httpClient.accessToken;
48
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tastytrade-api.js","sourceRoot":"","sources":["../lib/tastytrade-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tastytrade-api.js","sourceRoot":"","sources":["../lib/tastytrade-api.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,cAAc,EAA6C,MAAM,uBAAuB,CAAA;AAElH,WAAW;AACX,OAAO,oBAAoB,MAAM,sCAAsC,CAAA;AACvE,OAAO,2BAA2B,MAAM,8CAA8C,CAAA;AACtF,OAAO,2BAA2B,MAAM,8CAA8C,CAAA;AACtF,OAAO,kBAAkB,MAAM,mCAAmC,CAAA;AAClE,OAAO,yBAAyB,MAAM,2CAA2C,CAAA;AACjF,OAAO,oBAAoB,MAAM,sCAAsC,CAAA;AACvE,OAAO,iCAAiC,MAAM,qDAAqD,CAAA;AACnG,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AACzE,OAAO,mBAAmB,MAAM,qCAAqC,CAAA;AACrE,OAAO,mBAAmB,MAAM,oCAAoC,CAAA;AACpE,OAAO,iBAAiB,MAAM,kCAAkC,CAAA;AAEhE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,aAAa,EAAE,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAc3F,MAAqB,gBAAgB;IA4BnC,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE/D,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,2BAA2B,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnF,IAAI,CAAC,2BAA2B,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnF,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjE,IAAI,CAAC,yBAAyB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/E,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,iCAAiC,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/F,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvE,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnE,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAG/D,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACnG,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACvF,CAAC;IAEM,YAAY,CAAC,MAA6B;QAC/C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAA;IACpC,CAAC;;AAxDsB,2BAAU,GAA0B;IACzD,OAAO,EAAE,4BAA4B;IACrC,kBAAkB,EAAE,+BAA+B;CACpD,CAAA;AACsB,8BAAa,GAA0B;IAC5D,OAAO,EAAE,iCAAiC;IAC1C,kBAAkB,EAAE,oCAAoC;CACzD,CAAA;eARkB,gBAAgB;AA4DrC,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAA6C,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA"}
@@ -2,10 +2,9 @@ import WebSocket from 'isomorphic-ws'
2
2
  import _ from 'lodash'
3
3
  import type { JsonMap, JsonValue } from './utils/json-util.js'
4
4
  import { JsonBuilder } from './utils/json-util.js'
5
- import TastytradeSession from './models/tastytrade-session.js'
6
5
  import { MinTlsVersion } from './utils/constants.js'
7
6
  import type Logger from './logger.js'
8
- import type AccessToken from './models/access-token.js'
7
+ import TastytradeHttpClient from './services/tastytrade-http-client.js'
9
8
 
10
9
  export enum STREAMER_STATE {
11
10
  Open = 0,
@@ -71,11 +70,13 @@ export class AccountStreamer {
71
70
  /**
72
71
  *
73
72
  * @param url Url of the account streamer service
73
+ * @param httpClient Instance of TastytradeHttpClient
74
+ * @param logger Logger to use
75
+ * @param heartbeatInterval Interval at which to auto-send heartbeat messages
74
76
  */
75
77
  constructor(
76
78
  private readonly url: string,
77
- private readonly session: TastytradeSession,
78
- private readonly accessToken: AccessToken,
79
+ private readonly httpClient: TastytradeHttpClient,
79
80
  logger: Logger,
80
81
  private readonly heartbeatInterval: number = DEFAULT_HEARTBEAT_INTERVAL
81
82
  ) {
@@ -95,13 +96,7 @@ export class AccountStreamer {
95
96
  }
96
97
 
97
98
  private get authHeader() {
98
- if (this.session.isValid) {
99
- return this.session.authToken
100
- }
101
- if (this.accessToken.isValid) {
102
- return this.accessToken.authorizationHeader
103
- }
104
- return null
99
+ return this.httpClient.authHeader
105
100
  }
106
101
 
107
102
  /**
@@ -131,7 +126,7 @@ export class AccountStreamer {
131
126
 
132
127
  /**
133
128
  * Entrypoint for beginning a websocket session
134
- * You must have a valid tastytrade session or access token before calling this method
129
+ * You must have a valid tastytrade access token before calling this method
135
130
  * @returns Promise that resolves when the "opened" message is received (see handleOpen)
136
131
  */
137
132
  async start(): Promise<boolean> {
@@ -232,19 +227,17 @@ export class AccountStreamer {
232
227
  * @param includeSessionToken Attaches session token to message if true
233
228
  * @returns
234
229
  */
235
- send(json: JsonBuilder, includeSessionToken = true): number {
230
+ async send(json: JsonBuilder): Promise<number> {
236
231
  this.requestCounter += 1
237
232
  json.add(REQUEST_ID, this.requestCounter)
238
233
  json.add('source', SOURCE)
239
234
 
240
- if (includeSessionToken) {
241
- if (!this.authHeader) {
242
- throw new Error('session or access token not set')
243
- }
244
-
245
- json.add('auth-token', this.authHeader)
235
+ if (this.httpClient.needsTokenRefresh) {
236
+ await this.httpClient.generateAccessToken()
246
237
  }
247
238
 
239
+ json.add('auth-token', this.authHeader)
240
+
248
241
  const message = JSON.stringify(json.json)
249
242
  const websocket = this.websocket
250
243
  if (websocket === null) {
@@ -264,7 +257,7 @@ export class AccountStreamer {
264
257
  * @param value
265
258
  * @returns
266
259
  */
267
- public subscribeTo(action: string, value?: JsonValue): number {
260
+ public async subscribeTo(action: string, value?: JsonValue): Promise<number> {
268
261
  const json = new JsonBuilder()
269
262
  json.add('action', action)
270
263
  if (!_.isUndefined(value)) {
@@ -278,12 +271,12 @@ export class AccountStreamer {
278
271
  * @param userExternalId "external-id" from login response
279
272
  * @returns Promise that resolves when ack is received
280
273
  */
281
- public subscribeToUser(userExternalId: string) {
274
+ public async subscribeToUser(userExternalId: string): Promise<number> {
282
275
  if (!userExternalId) {
283
- return
276
+ return Promise.reject(`Must provide user external id. You provided: ${userExternalId}`)
284
277
  }
285
278
 
286
- this.subscribeTo(MessageAction.USER_MESSAGE_SUBSCRIBE, userExternalId)
279
+ return this.subscribeTo(MessageAction.USER_MESSAGE_SUBSCRIBE, userExternalId)
287
280
  }
288
281
 
289
282
  /**
@@ -298,7 +291,7 @@ export class AccountStreamer {
298
291
 
299
292
  const value: JsonValue =
300
293
  accountNumbers.length > 1 ? accountNumbers : accountNumbers[0]
301
- const requestId = this.subscribeTo(MessageAction.CONNECT, value)
294
+ const requestId = await this.subscribeTo(MessageAction.CONNECT, value)
302
295
 
303
296
  return new Promise<string>((resolve, reject) => {
304
297
  this.requestPromises.set(requestId, [resolve, reject])
@@ -40,7 +40,7 @@ export default class InstrumentsService {
40
40
  }
41
41
 
42
42
  //Returns a set of equity options given one or more symbols
43
- const queryParams = { symbols, active, withExpired }
43
+ const queryParams = { symbol: symbols, active, withExpired }
44
44
  const equityOptions = (await this.httpClient.getData(`/instruments/equity-options`, {}, queryParams))
45
45
  return extractResponseData(equityOptions)
46
46
  }
@@ -1,4 +1,3 @@
1
- import TastytradeSession from "../models/tastytrade-session.js"
2
1
  import AccessToken from "../models/access-token.js"
3
2
  import axios from "axios"
4
3
  import qs from 'qs'
@@ -18,18 +17,19 @@ const ApiVersionRegex = /^\d{8}$/
18
17
  export default class TastytradeHttpClient {
19
18
  private readonly logger?: Logger
20
19
  public baseUrl: string
21
- public clientSecret?: string
22
- public refreshToken?: string
23
- public oauthScopes?: string[]
20
+ public clientSecret: string
21
+ public refreshToken: string
22
+ public oauthScopes: string[]
24
23
  public readonly accessToken: AccessToken
25
- public readonly session: TastytradeSession
26
24
  private _targetApiVersion?: string
27
25
 
28
- constructor(clientConfig: Partial<ClientConfig>, logger?: Logger) {
26
+ constructor(clientConfig: ClientConfig, logger?: Logger) {
29
27
  this.logger = logger
30
28
  this.baseUrl = clientConfig.baseUrl!
31
29
  this.accessToken = new AccessToken()
32
- this.session = new TastytradeSession()
30
+ this.clientSecret = clientConfig.clientSecret
31
+ this.refreshToken = clientConfig.refreshToken
32
+ this.oauthScopes = clientConfig.oauthScopes
33
33
  this.updateConfig(clientConfig)
34
34
  }
35
35
 
@@ -42,19 +42,10 @@ export default class TastytradeHttpClient {
42
42
  }
43
43
 
44
44
  get needsTokenRefresh(): boolean {
45
- if (this.session.isValid) {
46
- return false
47
- }
48
- if (_.isNil(this.refreshToken) || _.isNil(this.clientSecret)) {
49
- return false
50
- }
51
45
  return this.accessToken.isExpired
52
46
  }
53
47
 
54
48
  get authHeader(): string | null {
55
- if (this.session.isValid) {
56
- return this.session.authToken
57
- }
58
49
  if (this.accessToken.isValid) {
59
50
  return this.accessToken.authorizationHeader
60
51
  }
@@ -1,9 +1,7 @@
1
1
  import TastytradeHttpClient from "./services/tastytrade-http-client.js"
2
2
  import { AccountStreamer, STREAMER_STATE, type Disposer, type StreamerStateObserver } from './account-streamer.js'
3
- import _ from 'lodash'
4
3
 
5
4
  //Services:
6
- import SessionService from "./services/session-service.js"
7
5
  import AccountStatusService from "./services/account-status-service.js"
8
6
  import AccountsAndCustomersService from "./services/accounts-and-customers-service.js"
9
7
  import BalancesAndPositionsService from "./services/balances-and-positions-service.js"
@@ -16,7 +14,6 @@ import RiskParametersService from "./services/risk-parameters-service.js"
16
14
  import SymbolSearchService from "./services/symbol-search-service.js"
17
15
  import TransactionsService from "./services/transactions-service.js"
18
16
  import WatchlistsService from "./services/watchlists-service.js"
19
- import TastytradeSession from "./models/tastytrade-session.js"
20
17
  import type Logger from "./logger.js"
21
18
  import { TastytradeLogger, LogLevel } from "./logger.js"
22
19
  import QuoteStreamer, { MarketDataSubscriptionType, CandleType } from "./quote-streamer.js"
@@ -25,20 +22,20 @@ import type AccessToken from "./models/access-token.js"
25
22
  export type ClientConfig = {
26
23
  baseUrl: string,
27
24
  accountStreamerUrl: string,
28
- clientSecret?: string,
29
- refreshToken?: string,
30
- oauthScopes?: string[],
25
+ clientSecret: string,
26
+ refreshToken: string,
27
+ oauthScopes: string[],
31
28
  logger?: Logger,
32
29
  logLevel?: LogLevel
33
30
  targetApiVersion?: string
34
31
  }
35
32
 
36
33
  export default class TastytradeClient {
37
- public static readonly ProdConfig: ClientConfig = {
34
+ public static readonly ProdConfig: Partial<ClientConfig> = {
38
35
  baseUrl: 'https://api.tastyworks.com',
39
36
  accountStreamerUrl: 'wss://streamer.tastyworks.com',
40
37
  }
41
- public static readonly SandboxConfig: ClientConfig = {
38
+ public static readonly SandboxConfig: Partial<ClientConfig> = {
42
39
  baseUrl: 'https://api.cert.tastyworks.com',
43
40
  accountStreamerUrl: 'wss://streamer.cert.tastyworks.com',
44
41
  }
@@ -48,7 +45,6 @@ export default class TastytradeClient {
48
45
  public readonly accountStreamer: AccountStreamer
49
46
  public readonly quoteStreamer: QuoteStreamer
50
47
 
51
- public readonly sessionService: SessionService
52
48
  public readonly accountStatusService: AccountStatusService
53
49
  public readonly accountsAndCustomersService: AccountsAndCustomersService
54
50
  public readonly balancesAndPositionsService: BalancesAndPositionsService
@@ -66,7 +62,6 @@ export default class TastytradeClient {
66
62
  this.logger = new TastytradeLogger(config.logger, config.logLevel)
67
63
  this.httpClient = new TastytradeHttpClient(config, this.logger)
68
64
 
69
- this.sessionService = new SessionService(this.httpClient)
70
65
  this.accountStatusService = new AccountStatusService(this.httpClient)
71
66
  this.accountsAndCustomersService = new AccountsAndCustomersService(this.httpClient)
72
67
  this.balancesAndPositionsService = new BalancesAndPositionsService(this.httpClient)
@@ -81,7 +76,7 @@ export default class TastytradeClient {
81
76
  this.watchlistsService = new WatchlistsService(this.httpClient)
82
77
 
83
78
 
84
- this.accountStreamer = new AccountStreamer(config.accountStreamerUrl, this.session, this.accessToken, this.logger)
79
+ this.accountStreamer = new AccountStreamer(config.accountStreamerUrl, this.httpClient, this.logger)
85
80
  this.quoteStreamer = new QuoteStreamer(this.accountsAndCustomersService, this.logger)
86
81
  }
87
82
 
@@ -90,10 +85,6 @@ export default class TastytradeClient {
90
85
  this.logger.updateConfig(config)
91
86
  }
92
87
 
93
- get session(): TastytradeSession {
94
- return this.httpClient.session
95
- }
96
-
97
88
  get accessToken(): AccessToken {
98
89
  return this.httpClient.accessToken
99
90
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tastytrade/api",
3
- "version": "6.0.0",
3
+ "version": "7.0.0",
4
4
  "type": "module",
5
5
  "module": "dist/tastytrade-api.js",
6
6
  "types": "dist/tastytrade-api.d.ts",
@@ -1,13 +0,0 @@
1
- import _ from 'lodash'
2
-
3
- export default class TastytradeSession {
4
- public authToken: string | null = null
5
-
6
- get isValid() {
7
- return !_.isNil(this.authToken)
8
- }
9
-
10
- clear() {
11
- this.authToken = null
12
- }
13
- }
@@ -1,47 +0,0 @@
1
- import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
-
4
- export default class SessionService {
5
- constructor(public httpClient: TastytradeHttpClient) {
6
- }
7
-
8
- private get clientId(): string {
9
- return '9953f07a-5de4-408c-a8ab-688a6320f00f'
10
- }
11
-
12
- private get clientSecret(): string {
13
- return 'baa245033420a05d013541c0c6ef4f98bb16a1ec'
14
- }
15
-
16
- private get refreshToken(): string {
17
- return 'eyJhbGciOiJFZERTQSIsInR5cCI6InJ0K2p3dCIsImtpZCI6IkZqVTdUT25qVEQ2WnVySlg2cVlwWmVPbzBDQzQ5TnIzR1pUN1E4MTc0cUkiLCJqa3UiOiJodHRwczovL2ludGVyaW9yLWFwaS5hcjIudGFzdHl0cmFkZS5zeXN0ZW1zL29hdXRoL2p3a3MifQ.eyJpc3MiOiJodHRwczovL2FwaS50YXN0eXRyYWRlLmNvbSIsInN1YiI6IlUwMDAwMDM3MTg0IiwiaWF0IjoxNzU4MjQzNjY0LCJhdWQiOiI5OTUzZjA3YS01ZGU0LTQwOGMtYThhYi02ODhhNjMyMGYwMGYiLCJncmFudF9pZCI6Ikc0ZTc4MjFkYy03NTQyLTQ0NTQtODBkMy1iYjU3NGEwMGRkYWMiLCJzY29wZSI6InJlYWQgdHJhZGUifQ.ZsP51rUGQIXsP-cU0OCa-45AwwMp18YxOrT_mrrocClhRL7bfWctX8GOJ35Nn_E48WOuQPxUF3KMhSn1tkqLBQ'
18
- }
19
-
20
- // Sessions: Allows an API client to interact with their session, or create a new one.
21
- async login(usernameOrEmail: string, password: string, rememberMe = false) {
22
- // Create a new user session.
23
- const params = { login: usernameOrEmail, password, rememberMe }
24
- const sessionResponse = await this.httpClient.postData('/sessions', params, {})
25
- const sessionData = extractResponseData(sessionResponse)
26
- this.httpClient.session.authToken = sessionData["session-token"]
27
- return sessionData
28
- }
29
-
30
- async loginWithRememberToken(usernameOrEmail: string, rememberToken: string, rememberMe = false){
31
- // Creates a session using the remember token.
32
- const params = { login: usernameOrEmail, rememberToken, rememberMe }
33
- const sessionData = extractResponseData(await this.httpClient.postData('/sessions', params, {}))
34
- this.httpClient.session.authToken = sessionData["session-token"]
35
- return sessionData
36
- }
37
-
38
- async validate() {
39
- const response = await this.httpClient.postData('/sessions/validate', {}, {});
40
- return extractResponseData(response);
41
- }
42
- async logout(){
43
- const response = await this.httpClient.deleteData('/sessions', {});// added this for the integration tests?
44
- this.httpClient.session.clear()
45
- return { status: response.status };
46
- }
47
- }