@tastytrade/api 5.0.0 → 6.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.
Files changed (81) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +87 -43
  3. package/dist/account-streamer.d.ts +6 -3
  4. package/dist/account-streamer.d.ts.map +1 -1
  5. package/dist/account-streamer.js +21 -15
  6. package/dist/account-streamer.js.map +1 -1
  7. package/dist/logger.d.ts +5 -1
  8. package/dist/logger.d.ts.map +1 -1
  9. package/dist/logger.js +4 -0
  10. package/dist/logger.js.map +1 -1
  11. package/dist/market-data-streamer.d.ts.map +1 -1
  12. package/dist/market-data-streamer.js +1 -0
  13. package/dist/market-data-streamer.js.map +1 -1
  14. package/dist/models/access-token.d.ts +12 -0
  15. package/dist/models/access-token.d.ts.map +1 -0
  16. package/dist/models/access-token.js +35 -0
  17. package/dist/models/access-token.js.map +1 -0
  18. package/dist/models/tastytrade-session.d.ts.map +1 -1
  19. package/dist/models/tastytrade-session.js.map +1 -1
  20. package/dist/quote-streamer.d.ts +58 -0
  21. package/dist/quote-streamer.d.ts.map +1 -0
  22. package/dist/quote-streamer.js +132 -0
  23. package/dist/quote-streamer.js.map +1 -0
  24. package/dist/services/account-status-service.js +0 -1
  25. package/dist/services/account-status-service.js.map +1 -1
  26. package/dist/services/accounts-and-customers-service.js +0 -1
  27. package/dist/services/accounts-and-customers-service.js.map +1 -1
  28. package/dist/services/balances-and-positions-service.js +0 -1
  29. package/dist/services/balances-and-positions-service.js.map +1 -1
  30. package/dist/services/instruments-service.js +1 -2
  31. package/dist/services/instruments-service.js.map +1 -1
  32. package/dist/services/margin-requirements-service.js +0 -1
  33. package/dist/services/margin-requirements-service.js.map +1 -1
  34. package/dist/services/market-metrics-service.js +0 -1
  35. package/dist/services/market-metrics-service.js.map +1 -1
  36. package/dist/services/net-liquidating-value-history-service.js +0 -1
  37. package/dist/services/net-liquidating-value-history-service.js.map +1 -1
  38. package/dist/services/orders-service.js +0 -1
  39. package/dist/services/orders-service.js.map +1 -1
  40. package/dist/services/risk-parameters-service.js +0 -1
  41. package/dist/services/risk-parameters-service.js.map +1 -1
  42. package/dist/services/session-service.d.ts +6 -1
  43. package/dist/services/session-service.d.ts.map +1 -1
  44. package/dist/services/session-service.js +10 -2
  45. package/dist/services/session-service.js.map +1 -1
  46. package/dist/services/symbol-search-service.js +0 -1
  47. package/dist/services/symbol-search-service.js.map +1 -1
  48. package/dist/services/tastytrade-http-client.d.ts +16 -2
  49. package/dist/services/tastytrade-http-client.d.ts.map +1 -1
  50. package/dist/services/tastytrade-http-client.js +71 -14
  51. package/dist/services/tastytrade-http-client.js.map +1 -1
  52. package/dist/services/transactions-service.js +0 -1
  53. package/dist/services/transactions-service.js.map +1 -1
  54. package/dist/services/watchlists-service.js +0 -1
  55. package/dist/services/watchlists-service.js.map +1 -1
  56. package/dist/tastytrade-api.d.ts +12 -2
  57. package/dist/tastytrade-api.d.ts.map +1 -1
  58. package/dist/tastytrade-api.js +22 -6
  59. package/dist/tastytrade-api.js.map +1 -1
  60. package/dist/utils/json-util.d.ts.map +1 -1
  61. package/dist/utils/json-util.js +0 -2
  62. package/dist/utils/json-util.js.map +1 -1
  63. package/dist/utils/response-util.d.ts.map +1 -1
  64. package/dist/utils/response-util.js +0 -1
  65. package/dist/utils/response-util.js.map +1 -1
  66. package/eslint.config.cjs +46 -0
  67. package/lib/account-streamer.ts +31 -23
  68. package/lib/logger.ts +6 -1
  69. package/lib/models/access-token.ts +40 -0
  70. package/lib/models/tastytrade-session.ts +1 -1
  71. package/lib/quote-streamer.ts +151 -0
  72. package/lib/services/instruments-service.ts +1 -1
  73. package/lib/services/session-service.ts +13 -1
  74. package/lib/services/tastytrade-http-client.ts +93 -15
  75. package/lib/tastytrade-api.ts +31 -4
  76. package/lib/utils/json-util.ts +0 -2
  77. package/lib/utils/response-util.ts +3 -4
  78. package/package.json +26 -18
  79. package/tsconfig.json +2 -2
  80. package/.eslintrc.cjs +0 -18
  81. package/lib/market-data-streamer.ts +0 -376
@@ -0,0 +1,58 @@
1
+ import { DXLinkFeed, type DXLinkFeedEventListener } from '@dxfeed/dxlink-api';
2
+ import type AccountsAndCustomersService from './services/accounts-and-customers-service.js';
3
+ import type Logger from './logger.js';
4
+ export declare enum MarketDataSubscriptionType {
5
+ Candle = "Candle",
6
+ Quote = "Quote",
7
+ Trade = "Trade",
8
+ Summary = "Summary",
9
+ Profile = "Profile",
10
+ Greeks = "Greeks",
11
+ Underlying = "Underlying"
12
+ }
13
+ export declare enum CandleType {
14
+ Tick = "t",
15
+ Second = "s",
16
+ Minute = "m",
17
+ Hour = "h",
18
+ Day = "d",
19
+ Week = "w",
20
+ Month = "mo",
21
+ ThirdFriday = "o",
22
+ Year = "y",
23
+ Volume = "v",
24
+ Price = "p"
25
+ }
26
+ export default class QuoteStreamer {
27
+ private readonly accountsAndCustomersService;
28
+ private readonly logger;
29
+ dxLinkFeed: DXLinkFeed<any> | null;
30
+ dxLinkUrl: string | null;
31
+ dxLinkAuthToken: string | null;
32
+ eventListeners: DXLinkFeedEventListener[];
33
+ constructor(accountsAndCustomersService: AccountsAndCustomersService, logger: Logger);
34
+ /**
35
+ * Connects to the DxLink WebSocket and sets up the feed
36
+ * Make sure to call disconnect() when done
37
+ * Calls `getApiQuoteToken` to get the connection URL and auth token
38
+ * Make sure you have a valid session or access token before calling this
39
+ */
40
+ connect(): Promise<void>;
41
+ disconnect(): void;
42
+ addEventListener(listener: DXLinkFeedEventListener): () => void;
43
+ removeEventListener(listenerToRemove: DXLinkFeedEventListener): void;
44
+ subscribe(streamerSymbols: string[], types?: MarketDataSubscriptionType[] | null): void;
45
+ unsubscribe(streamerSymbols: string[]): void;
46
+ /**
47
+ * Adds a candle subscription
48
+ * @param streamerSymbol Get this from an instrument's streamer-symbol json response field
49
+ * @param fromTime Epoch timestamp from where you want to start
50
+ * @param period The duration of each candle
51
+ * @param type The duration type of the period
52
+ * For example, a period/type of 5/m means you want each candle to represent 5 minutes of data
53
+ * From there, setting fromTime to 24 hours ago would give you 24 hours of data grouped in 5 minute intervals
54
+ * @returns
55
+ */
56
+ subscribeCandles(streamerSymbol: string, fromTime: number, period: number, type: CandleType): void;
57
+ }
58
+ //# sourceMappingURL=quote-streamer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quote-streamer.d.ts","sourceRoot":"","sources":["../lib/quote-streamer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAgC,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAClI,OAAO,KAAK,2BAA2B,MAAM,8CAA8C,CAAA;AAC3F,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAKrC,oBAAY,0BAA0B;IACpC,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAWD,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,CAAC,OAAO,OAAO,aAAa;IAMpB,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAA+B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALvG,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAO;IACzC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAO;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAO;IACrC,cAAc,EAAE,uBAAuB,EAAE,CAAK;gBAExB,2BAA2B,EAAE,2BAA2B,EAAmB,MAAM,EAAE,MAAM;IAGtH;;;;;OAKG;IACG,OAAO;IAmBb,UAAU;IAUV,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,IAAI;IAW/D,mBAAmB,CAAC,gBAAgB,EAAE,uBAAuB;IAO7D,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,0BAA0B,EAAE,GAAG,IAAW;IAatF,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE;IAYrC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;CAa5F"}
@@ -0,0 +1,132 @@
1
+ import { DXLinkWebSocketClient, DXLinkFeed, FeedContract, FeedDataFormat } from '@dxfeed/dxlink-api';
2
+ import _ from 'lodash';
3
+ // TODO: Make sure this works in node and we don't have to override the global Websocket class
4
+ export var MarketDataSubscriptionType;
5
+ (function (MarketDataSubscriptionType) {
6
+ MarketDataSubscriptionType["Candle"] = "Candle";
7
+ MarketDataSubscriptionType["Quote"] = "Quote";
8
+ MarketDataSubscriptionType["Trade"] = "Trade";
9
+ MarketDataSubscriptionType["Summary"] = "Summary";
10
+ MarketDataSubscriptionType["Profile"] = "Profile";
11
+ MarketDataSubscriptionType["Greeks"] = "Greeks";
12
+ MarketDataSubscriptionType["Underlying"] = "Underlying";
13
+ })(MarketDataSubscriptionType || (MarketDataSubscriptionType = {}));
14
+ const ALL_EVENT_TYPES = [
15
+ MarketDataSubscriptionType.Quote,
16
+ MarketDataSubscriptionType.Trade,
17
+ MarketDataSubscriptionType.Summary,
18
+ MarketDataSubscriptionType.Profile,
19
+ MarketDataSubscriptionType.Greeks,
20
+ MarketDataSubscriptionType.Underlying
21
+ ];
22
+ export var CandleType;
23
+ (function (CandleType) {
24
+ CandleType["Tick"] = "t";
25
+ CandleType["Second"] = "s";
26
+ CandleType["Minute"] = "m";
27
+ CandleType["Hour"] = "h";
28
+ CandleType["Day"] = "d";
29
+ CandleType["Week"] = "w";
30
+ CandleType["Month"] = "mo";
31
+ CandleType["ThirdFriday"] = "o";
32
+ CandleType["Year"] = "y";
33
+ CandleType["Volume"] = "v";
34
+ CandleType["Price"] = "p";
35
+ })(CandleType || (CandleType = {}));
36
+ export default class QuoteStreamer {
37
+ constructor(accountsAndCustomersService, logger) {
38
+ this.accountsAndCustomersService = accountsAndCustomersService;
39
+ this.logger = logger;
40
+ this.dxLinkFeed = null;
41
+ this.dxLinkUrl = null;
42
+ this.dxLinkAuthToken = null;
43
+ this.eventListeners = [];
44
+ }
45
+ /**
46
+ * Connects to the DxLink WebSocket and sets up the feed
47
+ * Make sure to call disconnect() when done
48
+ * Calls `getApiQuoteToken` to get the connection URL and auth token
49
+ * Make sure you have a valid session or access token before calling this
50
+ */
51
+ async connect() {
52
+ const tokenResponse = await this.accountsAndCustomersService.getApiQuoteToken();
53
+ this.dxLinkUrl = _.get(tokenResponse, 'dxlink-url');
54
+ this.dxLinkAuthToken = _.get(tokenResponse, 'token');
55
+ const client = new DXLinkWebSocketClient();
56
+ client.connect(this.dxLinkUrl);
57
+ client.setAuthToken(this.dxLinkAuthToken);
58
+ this.dxLinkFeed = new DXLinkFeed(client, FeedContract.AUTO);
59
+ this.dxLinkFeed.configure({
60
+ acceptAggregationPeriod: 10,
61
+ acceptDataFormat: FeedDataFormat.COMPACT
62
+ });
63
+ this.eventListeners.forEach(listener => this.dxLinkFeed.addEventListener(listener));
64
+ }
65
+ disconnect() {
66
+ if (_.isNil(this.dxLinkFeed)) {
67
+ return;
68
+ }
69
+ this.eventListeners.forEach(listener => this.removeEventListener(listener));
70
+ this.dxLinkFeed = null;
71
+ }
72
+ // Returns a function that can be called to remove the listener
73
+ addEventListener(listener) {
74
+ this.eventListeners.push(listener);
75
+ if (this.dxLinkFeed) {
76
+ this.dxLinkFeed.addEventListener(listener);
77
+ }
78
+ return () => {
79
+ this.removeEventListener(listener);
80
+ };
81
+ }
82
+ removeEventListener(listenerToRemove) {
83
+ _.remove(this.eventListeners, listener => listener === listenerToRemove);
84
+ if (this.dxLinkFeed) {
85
+ this.dxLinkFeed.removeEventListener(listenerToRemove);
86
+ }
87
+ }
88
+ subscribe(streamerSymbols, types = null) {
89
+ if (_.isNil(this.dxLinkFeed)) {
90
+ throw new Error('DxLink feed is not connected');
91
+ }
92
+ types = types ?? ALL_EVENT_TYPES;
93
+ streamerSymbols.forEach(symbol => {
94
+ types.forEach(type => {
95
+ this.dxLinkFeed.addSubscriptions({ type, symbol });
96
+ });
97
+ });
98
+ }
99
+ unsubscribe(streamerSymbols) {
100
+ if (_.isNil(this.dxLinkFeed)) {
101
+ throw new Error('DxLink feed is not connected');
102
+ }
103
+ streamerSymbols.forEach(symbol => {
104
+ ALL_EVENT_TYPES.forEach(type => {
105
+ this.dxLinkFeed.removeSubscriptions({ type, symbol });
106
+ });
107
+ });
108
+ }
109
+ /**
110
+ * Adds a candle subscription
111
+ * @param streamerSymbol Get this from an instrument's streamer-symbol json response field
112
+ * @param fromTime Epoch timestamp from where you want to start
113
+ * @param period The duration of each candle
114
+ * @param type The duration type of the period
115
+ * For example, a period/type of 5/m means you want each candle to represent 5 minutes of data
116
+ * From there, setting fromTime to 24 hours ago would give you 24 hours of data grouped in 5 minute intervals
117
+ * @returns
118
+ */
119
+ subscribeCandles(streamerSymbol, fromTime, period, type) {
120
+ // Example: AAPL{=5m} where each candle represents 5 minutes of data
121
+ const candleSymbol = `${streamerSymbol}{=${period}${type}}`;
122
+ if (_.isNil(this.dxLinkFeed)) {
123
+ throw new Error('DxLink feed is not connected');
124
+ }
125
+ this.dxLinkFeed.addSubscriptions({
126
+ type: MarketDataSubscriptionType.Candle,
127
+ symbol: candleSymbol,
128
+ fromTime
129
+ });
130
+ }
131
+ }
132
+ //# sourceMappingURL=quote-streamer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quote-streamer.js","sourceRoot":"","sources":["../lib/quote-streamer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAgC,MAAM,oBAAoB,CAAA;AAGlI,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,8FAA8F;AAE9F,MAAM,CAAN,IAAY,0BAQX;AARD,WAAY,0BAA0B;IACpC,+CAAiB,CAAA;IACjB,6CAAe,CAAA;IACf,6CAAe,CAAA;IACf,iDAAmB,CAAA;IACnB,iDAAmB,CAAA;IACnB,+CAAiB,CAAA;IACjB,uDAAyB,CAAA;AAC3B,CAAC,EARW,0BAA0B,KAA1B,0BAA0B,QAQrC;AAED,MAAM,eAAe,GAAG;IACtB,0BAA0B,CAAC,KAAK;IAChC,0BAA0B,CAAC,KAAK;IAChC,0BAA0B,CAAC,OAAO;IAClC,0BAA0B,CAAC,OAAO;IAClC,0BAA0B,CAAC,MAAM;IACjC,0BAA0B,CAAC,UAAU;CACtC,CAAA;AAED,MAAM,CAAN,IAAY,UAYX;AAZD,WAAY,UAAU;IACpB,wBAAU,CAAA;IACV,0BAAY,CAAA;IACZ,0BAAY,CAAA;IACZ,wBAAU,CAAA;IACV,uBAAS,CAAA;IACT,wBAAU,CAAA;IACV,0BAAY,CAAA;IACZ,+BAAiB,CAAA;IACjB,wBAAU,CAAA;IACV,0BAAY,CAAA;IACZ,yBAAW,CAAA;AACb,CAAC,EAZW,UAAU,KAAV,UAAU,QAYrB;AAED,MAAM,CAAC,OAAO,OAAO,aAAa;IAMhC,YAA6B,2BAAwD,EAAmB,MAAc;QAAzF,gCAA2B,GAA3B,2BAA2B,CAA6B;QAAmB,WAAM,GAAN,MAAM,CAAQ;QAL/G,eAAU,GAA2B,IAAI,CAAA;QACzC,cAAS,GAAkB,IAAI,CAAA;QAC/B,oBAAe,GAAkB,IAAI,CAAA;QACrC,mBAAc,GAA8B,EAAE,CAAA;IAGrD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,CAAA;QAC/E,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;QACnD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAEpD,MAAM,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAA;QAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAU,CAAC,CAAA;QAC/B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAgB,CAAC,CAAA;QAE1C,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QAE3D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YACxB,uBAAuB,EAAE,EAAE;YAC3B,gBAAgB,EAAE,cAAc,CAAC,OAAO;SACzC,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAA;IACtF,CAAC;IAED,UAAU;QACR,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAM;QACR,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,CAAC;IAED,+DAA+D;IAC/D,gBAAgB,CAAC,QAAiC;QAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACpC,CAAC,CAAA;IACH,CAAC;IAED,mBAAmB,CAAC,gBAAyC;QAC3D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAA;QACxE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,eAAyB,EAAE,QAA6C,IAAI;QACpF,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACjD,CAAC;QAED,KAAK,GAAG,KAAK,IAAI,eAAe,CAAA;QAChC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC/B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACrD,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAC,eAAyB;QACnC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACjD,CAAC;QAED,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC/B,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,IAAI,CAAC,UAAW,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACxD,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,cAAsB,EAAE,QAAgB,EAAE,MAAc,EAAE,IAAgB;QACzF,oEAAoE;QACpE,MAAM,YAAY,GAAG,GAAG,cAAc,KAAK,MAAM,GAAG,IAAI,GAAG,CAAA;QAC3D,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACjD,CAAC;QAED,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC;YAChC,IAAI,EAAE,0BAA0B,CAAC,MAAM;YACvC,MAAM,EAAE,YAAY;YACpB,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  // create the central class that aggregates all services
4
3
  export default class AccountStatusService {
5
4
  constructor(httpClient) {
@@ -1 +1 @@
1
- {"version":3,"file":"account-status-service.js","sourceRoot":"","sources":["../../lib/services/account-status-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,wDAAwD;AACxD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,+KAA+K;IAC/K,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QACxC,gDAAgD;QAChD,MAAM,aAAa,GAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;CACJ"}
1
+ {"version":3,"file":"account-status-service.js","sourceRoot":"","sources":["../../lib/services/account-status-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,wDAAwD;AACxD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,+KAA+K;IAC/K,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QACxC,gDAAgD;QAChD,MAAM,aAAa,GAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;CACJ"}
@@ -1,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  export default class AccountsAndCustomersService {
4
3
  constructor(httpClient) {
5
4
  this.httpClient = httpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"accounts-and-customers-service.js","sourceRoot":"","sources":["../../lib/services/accounts-and-customers-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC5C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IACD,KAAK,CAAC,mBAAmB;QACrB,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvF,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,mBAAmB;QACrB,+BAA+B;QAC/B,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACjF,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,CAAC,2BAA2B;QAC7B,oFAAoF;QACpF,MAAM,wBAAwB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAClG,OAAO,mBAAmB,CAAC,wBAAwB,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,CAAC,8BAA8B,CAAC,aAAqB;QACtD,uCAAuC;QACvC,MAAM,2BAA2B,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACtH,OAAO,mBAAmB,CAAC,2BAA2B,CAAC,CAAA;IAC3D,CAAC;IAED,kIAAkI;IAClI,KAAK,CAAC,gBAAgB;QAClB,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAClF,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;CACJ"}
1
+ {"version":3,"file":"accounts-and-customers-service.js","sourceRoot":"","sources":["../../lib/services/accounts-and-customers-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC5C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IACD,KAAK,CAAC,mBAAmB;QACrB,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvF,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,mBAAmB;QACrB,+BAA+B;QAC/B,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACjF,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,CAAC,2BAA2B;QAC7B,oFAAoF;QACpF,MAAM,wBAAwB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAClG,OAAO,mBAAmB,CAAC,wBAAwB,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,CAAC,8BAA8B,CAAC,aAAqB;QACtD,uCAAuC;QACvC,MAAM,2BAA2B,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACtH,OAAO,mBAAmB,CAAC,2BAA2B,CAAC,CAAA;IAC3D,CAAC;IAED,kIAAkI;IAClI,KAAK,CAAC,gBAAgB;QAClB,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAClF,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;CACJ"}
@@ -1,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  export default class BalancesAndPositionsService {
4
3
  constructor(httpClient) {
5
4
  this.httpClient = httpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"balances-and-positions-service.js","sourceRoot":"","sources":["../../lib/services/balances-and-positions-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC5C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;QAC1D,4CAA4C;QAC5C,8CAA8C;QAC9C,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QAC9G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,uBAAuB,CAAC,aAAqB;QAC/C,mDAAmD;QACnD,MAAM,oBAAoB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3G,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,CAAA;IACpD,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,mBAAmB,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;QAC7D,iEAAiE;QACjE,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,oBAAoB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACxH,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAA;IAC/C,CAAC;CACJ"}
1
+ {"version":3,"file":"balances-and-positions-service.js","sourceRoot":"","sources":["../../lib/services/balances-and-positions-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC5C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;QAC1D,4CAA4C;QAC5C,8CAA8C;QAC9C,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QAC9G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,uBAAuB,CAAC,aAAqB;QAC/C,mDAAmD;QACnD,MAAM,oBAAoB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3G,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,CAAA;IACpD,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,mBAAmB,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;QAC7D,iEAAiE;QACjE,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,oBAAoB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACxH,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAA;IAC/C,CAAC;CACJ"}
@@ -1,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  import _ from 'lodash';
4
3
  export default class InstrumentsService {
5
4
  constructor(httpClient) {
@@ -114,7 +113,7 @@ export default class InstrumentsService {
114
113
  const futureOptionChain = (await this.httpClient.getData(`/futures-option-chains/${symbol}`, {}, {}));
115
114
  return extractResponseData(futureOptionChain);
116
115
  }
117
- //Option-chains: Allows an API client to fetch futures option chains.
116
+ //Option-chains: Allows an API client to fetch equity option chains.
118
117
  async getNestedOptionChain(symbol) {
119
118
  //Returns an option chain given an underlying symbol,
120
119
  //i.e. AAPL in a nested form to minimize redundant processing
@@ -1 +1 @@
1
- {"version":3,"file":"instruments-service.js","sourceRoot":"","sources":["../../lib/services/instruments-service.ts"],"names":[],"mappings":"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"}
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,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  export default class MarginRequirementsService {
4
3
  constructor(httpClient) {
5
4
  this.httpClient = httpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"margin-requirements-service.js","sourceRoot":"","sources":["../../lib/services/margin-requirements-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC1C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QAC7C,iEAAiE;QACjE,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,aAAa,eAAe,CAAC,CAAC,CAAA;QAC5G,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,aAAqB,EAAE,KAAa;QAC7D,4DAA4D;QAC5D,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,aAAa,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QACnH,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;CACJ"}
1
+ {"version":3,"file":"margin-requirements-service.js","sourceRoot":"","sources":["../../lib/services/margin-requirements-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC1C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QAC7C,iEAAiE;QACjE,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,aAAa,eAAe,CAAC,CAAC,CAAA;QAC5G,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,aAAqB,EAAE,KAAa;QAC7D,4DAA4D;QAC5D,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,aAAa,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QACnH,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;CACJ"}
@@ -1,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  export default class MarketMetricsService {
4
3
  constructor(httpClient) {
5
4
  this.httpClient = httpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"market-metrics-service.js","sourceRoot":"","sources":["../../lib/services/market-metrics-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,EAAE;QACnC,wDAAwD;QACxD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACzF,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IACD,KAAK,CAAC,yBAAyB,CAAC,MAAc;QAC1C,8BAA8B;QAC9B,MAAM,sBAAsB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,uDAAuD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvI,OAAO,mBAAmB,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;IACD,KAAK,CAAC,yBAAyB,CAAC,MAAc,EAAE,WAAW,GAAG,EAAE;QAC5D,8BAA8B;QAC9B,MAAM,sBAAsB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,8DAA8D,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACvJ,OAAO,mBAAmB,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;CACJ"}
1
+ {"version":3,"file":"market-metrics-service.js","sourceRoot":"","sources":["../../lib/services/market-metrics-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,EAAE;QACnC,wDAAwD;QACxD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACzF,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IACD,KAAK,CAAC,yBAAyB,CAAC,MAAc;QAC1C,8BAA8B;QAC9B,MAAM,sBAAsB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,uDAAuD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvI,OAAO,mBAAmB,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;IACD,KAAK,CAAC,yBAAyB,CAAC,MAAc,EAAE,WAAW,GAAG,EAAE;QAC5D,8BAA8B;QAC9B,MAAM,sBAAsB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,8DAA8D,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACvJ,OAAO,mBAAmB,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;CACJ"}
@@ -1,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  export default class NetLiquidatingValueHistoryService {
4
3
  constructor(httpClient) {
5
4
  this.httpClient = httpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"net-liquidating-value-history-service.js","sourceRoot":"","sources":["../../lib/services/net-liquidating-value-history-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,iCAAiC;IAClD,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,6BAA6B,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;QACvE,4DAA4D;QAC5D,MAAM,0BAA0B,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,kBAAkB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACjI,OAAO,mBAAmB,CAAC,0BAA0B,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,aAAqB;QAChD,4DAA4D;QAC5D,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,UAAU,CAAC,CAAA;QAC/F,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAA;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"net-liquidating-value-history-service.js","sourceRoot":"","sources":["../../lib/services/net-liquidating-value-history-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,iCAAiC;IAClD,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,6BAA6B,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;QACvE,4DAA4D;QAC5D,MAAM,0BAA0B,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,kBAAkB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACjI,OAAO,mBAAmB,CAAC,0BAA0B,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,aAAqB;QAChD,4DAA4D;QAC5D,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,UAAU,CAAC,CAAA;QAC/F,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAA;IACnD,CAAC;CACF"}
@@ -1,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  export default class OrderService {
4
3
  constructor(httpClient) {
5
4
  this.httpClient = httpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"orders-service.js","sourceRoot":"","sources":["../../lib/services/orders-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orders-service.js","sourceRoot":"","sources":["../../lib/services/orders-service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  export default class RiskParametersService {
4
3
  constructor(httpClient) {
5
4
  this.httpClient = httpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"risk-parameters-service.js","sourceRoot":"","sources":["../../lib/services/risk-parameters-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACtC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,8BAA8B,CAAC,aAAqB,EAAE,gBAAwB;QAChF,+CAA+C;QAC/C,MAAM,2BAA2B,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,wBAAwB,gBAAgB,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3J,OAAO,mBAAmB,CAAC,2BAA2B,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QACxC,wBAAwB;QACxB,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC1G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;CACJ"}
1
+ {"version":3,"file":"risk-parameters-service.js","sourceRoot":"","sources":["../../lib/services/risk-parameters-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACtC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,8BAA8B,CAAC,aAAqB,EAAE,gBAAwB;QAChF,+CAA+C;QAC/C,MAAM,2BAA2B,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,wBAAwB,gBAAgB,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3J,OAAO,mBAAmB,CAAC,2BAA2B,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QACxC,wBAAwB;QACxB,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC1G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;CACJ"}
@@ -2,9 +2,14 @@ import TastytradeHttpClient from "./tastytrade-http-client.js";
2
2
  export default class SessionService {
3
3
  httpClient: TastytradeHttpClient;
4
4
  constructor(httpClient: TastytradeHttpClient);
5
+ private get clientId();
6
+ private get clientSecret();
7
+ private get refreshToken();
5
8
  login(usernameOrEmail: string, password: string, rememberMe?: boolean): Promise<any>;
6
9
  loginWithRememberToken(usernameOrEmail: string, rememberToken: string, rememberMe?: boolean): Promise<any>;
7
10
  validate(): Promise<any>;
8
- logout(): Promise<any>;
11
+ logout(): Promise<{
12
+ status: any;
13
+ }>;
9
14
  }
10
15
  //# sourceMappingURL=session-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-service.d.ts","sourceRoot":"","sources":["../../lib/services/session-service.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,cAAc;IACZ,UAAU,EAAE,oBAAoB;gBAAhC,UAAU,EAAE,oBAAoB;IAI7C,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,UAAQ;IASnE,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,UAAQ;IAQzF,QAAQ;IAIR,MAAM;CAKf"}
1
+ {"version":3,"file":"session-service.d.ts","sourceRoot":"","sources":["../../lib/services/session-service.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,cAAc;IACZ,UAAU,EAAE,oBAAoB;gBAAhC,UAAU,EAAE,oBAAoB;IAGnD,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,YAAY,GAEvB;IAGK,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,UAAQ;IASnE,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,UAAQ;IAQzF,QAAQ;IAIR,MAAM;;;CAKf"}
@@ -1,9 +1,17 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  export default class SessionService {
4
3
  constructor(httpClient) {
5
4
  this.httpClient = httpClient;
6
5
  }
6
+ get clientId() {
7
+ return '9953f07a-5de4-408c-a8ab-688a6320f00f';
8
+ }
9
+ get clientSecret() {
10
+ return 'baa245033420a05d013541c0c6ef4f98bb16a1ec';
11
+ }
12
+ get refreshToken() {
13
+ return 'eyJhbGciOiJFZERTQSIsInR5cCI6InJ0K2p3dCIsImtpZCI6IkZqVTdUT25qVEQ2WnVySlg2cVlwWmVPbzBDQzQ5TnIzR1pUN1E4MTc0cUkiLCJqa3UiOiJodHRwczovL2ludGVyaW9yLWFwaS5hcjIudGFzdHl0cmFkZS5zeXN0ZW1zL29hdXRoL2p3a3MifQ.eyJpc3MiOiJodHRwczovL2FwaS50YXN0eXRyYWRlLmNvbSIsInN1YiI6IlUwMDAwMDM3MTg0IiwiaWF0IjoxNzU4MjQzNjY0LCJhdWQiOiI5OTUzZjA3YS01ZGU0LTQwOGMtYThhYi02ODhhNjMyMGYwMGYiLCJncmFudF9pZCI6Ikc0ZTc4MjFkYy03NTQyLTQ0NTQtODBkMy1iYjU3NGEwMGRkYWMiLCJzY29wZSI6InJlYWQgdHJhZGUifQ.ZsP51rUGQIXsP-cU0OCa-45AwwMp18YxOrT_mrrocClhRL7bfWctX8GOJ35Nn_E48WOuQPxUF3KMhSn1tkqLBQ';
14
+ }
7
15
  // Sessions: Allows an API client to interact with their session, or create a new one.
8
16
  async login(usernameOrEmail, password, rememberMe = false) {
9
17
  // Create a new user session.
@@ -27,7 +35,7 @@ export default class SessionService {
27
35
  async logout() {
28
36
  const response = await this.httpClient.deleteData('/sessions', {}); // added this for the integration tests?
29
37
  this.httpClient.session.clear();
30
- return extractResponseData(response);
38
+ return { status: response.status };
31
39
  }
32
40
  }
33
41
  //# sourceMappingURL=session-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-service.js","sourceRoot":"","sources":["../../lib/services/session-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,YAAmB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACnD,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,KAAK,CAAC,eAAuB,EAAE,QAAgB,EAAE,UAAU,GAAG,KAAK;QACrE,6BAA6B;QAC7B,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;QAC/D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,WAAW,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;QAChE,OAAO,WAAW,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,eAAuB,EAAE,aAAqB,EAAE,UAAU,GAAG,KAAK;QAC7F,8CAA8C;QAC9C,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,CAAA;QACpE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;QAChG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;QAChE,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9E,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,CAAC,MAAM;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA,wCAAwC;QAC3G,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC/B,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;CACJ"}
1
+ {"version":3,"file":"session-service.js","sourceRoot":"","sources":["../../lib/services/session-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,YAAmB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACnD,CAAC;IAED,IAAY,QAAQ;QAChB,OAAO,sCAAsC,CAAA;IACjD,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,0CAA0C,CAAA;IACrD,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,0hBAA0hB,CAAA;IACriB,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,KAAK,CAAC,eAAuB,EAAE,QAAgB,EAAE,UAAU,GAAG,KAAK;QACrE,6BAA6B;QAC7B,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;QAC/D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,WAAW,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;QAChE,OAAO,WAAW,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,eAAuB,EAAE,aAAqB,EAAE,UAAU,GAAG,KAAK;QAC7F,8CAA8C;QAC9C,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,CAAA;QACpE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;QAChG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;QAChE,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9E,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,CAAC,MAAM;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA,wCAAwC;QAC3G,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;CACJ"}
@@ -1,5 +1,4 @@
1
1
  import extractResponseData from "../utils/response-util.js";
2
- import TastytradeHttpClient from "./tastytrade-http-client.js";
3
2
  export default class SymbolSearchService {
4
3
  constructor(httpClient) {
5
4
  this.httpClient = httpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-search-service.js","sourceRoot":"","sources":["../../lib/services/symbol-search-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,aAAa,CAAC,MAAc;QAC9B,kCAAkC;QAClC,MAAM,UAAU,GAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACxF,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC1C,CAAC;CACJ"}
1
+ {"version":3,"file":"symbol-search-service.js","sourceRoot":"","sources":["../../lib/services/symbol-search-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,aAAa,CAAC,MAAc;QAC9B,kCAAkC;QAClC,MAAM,UAAU,GAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACxF,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC1C,CAAC;CACJ"}
@@ -1,16 +1,30 @@
1
1
  import TastytradeSession from "../models/tastytrade-session.js";
2
+ import AccessToken from "../models/access-token.js";
2
3
  import type Logger from "../logger.js";
4
+ import type { ClientConfig } from "../tastytrade-api.js";
3
5
  export default class TastytradeHttpClient {
4
- private readonly baseUrl;
5
6
  private readonly logger?;
7
+ baseUrl: string;
8
+ clientSecret?: string;
9
+ refreshToken?: string;
10
+ oauthScopes?: string[];
11
+ readonly accessToken: AccessToken;
6
12
  readonly session: TastytradeSession;
7
- constructor(baseUrl: string, logger?: Logger);
13
+ private _targetApiVersion?;
14
+ constructor(clientConfig: Partial<ClientConfig>, logger?: Logger);
15
+ updateConfig(config: Partial<ClientConfig>): void;
16
+ get needsTokenRefresh(): boolean;
17
+ get authHeader(): string | null;
8
18
  private getDefaultHeaders;
19
+ private axiosConfig;
20
+ generateAccessToken(): Promise<any>;
9
21
  private executeRequest;
10
22
  getData(url: string, headers?: object, queryParams?: object): Promise<any>;
11
23
  postData(url: string, data: object, headers: object): Promise<any>;
12
24
  putData(url: string, data: object, headers: object): Promise<any>;
13
25
  patchData(url: string, data: object, headers: object): Promise<any>;
14
26
  deleteData(url: string, headers: object): Promise<any>;
27
+ get targetApiVersion(): string | undefined;
28
+ set targetApiVersion(version: string | undefined);
15
29
  }
16
30
  //# sourceMappingURL=tastytrade-http-client.d.ts.map
@@ -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;AAK/D,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAQtC,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAIzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAQ;IAChC,SAAgB,OAAO,EAAE,iBAAiB,CAAA;gBAEb,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAK7D,OAAO,CAAC,iBAAiB;YAeX,cAAc;IAmBtB,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;CAG/D"}
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,4 +1,5 @@
1
1
  import TastytradeSession from "../models/tastytrade-session.js";
2
+ import AccessToken from "../models/access-token.js";
2
3
  import axios from "axios";
3
4
  import qs from 'qs';
4
5
  import { recursiveDasherizeKeys } from "../utils/json-util.js";
@@ -8,37 +9,84 @@ const ParamsSerializer = {
8
9
  return qs.stringify(queryParams, { arrayFormat: 'brackets' });
9
10
  }
10
11
  };
12
+ const ApiVersionRegex = /^\d{8}$/;
11
13
  export default class TastytradeHttpClient {
12
- constructor(baseUrl, logger) {
13
- this.baseUrl = baseUrl;
14
+ constructor(clientConfig, logger) {
14
15
  this.logger = logger;
16
+ this.baseUrl = clientConfig.baseUrl;
17
+ this.accessToken = new AccessToken();
15
18
  this.session = new TastytradeSession();
19
+ this.updateConfig(clientConfig);
20
+ }
21
+ updateConfig(config) {
22
+ const httpClientConfig = _.pick(config, ['clientSecret', 'refreshToken', 'oauthScopes', 'targetApiVersion']);
23
+ if (!_.isEmpty(httpClientConfig)) {
24
+ Object.assign(this, httpClientConfig);
25
+ this.accessToken.clear();
26
+ }
27
+ }
28
+ get needsTokenRefresh() {
29
+ if (this.session.isValid) {
30
+ return false;
31
+ }
32
+ if (_.isNil(this.refreshToken) || _.isNil(this.clientSecret)) {
33
+ return false;
34
+ }
35
+ return this.accessToken.isExpired;
36
+ }
37
+ get authHeader() {
38
+ if (this.session.isValid) {
39
+ return this.session.authToken;
40
+ }
41
+ if (this.accessToken.isValid) {
42
+ return this.accessToken.authorizationHeader;
43
+ }
44
+ return null;
16
45
  }
17
46
  getDefaultHeaders() {
18
47
  const headers = {
19
48
  "Content-Type": "application/json",
20
49
  "Accept": "application/json",
21
- "Authorization": this.session.authToken
50
+ "Authorization": this.authHeader
22
51
  };
52
+ if (!_.isNil(this.targetApiVersion)) {
53
+ headers["Accept-Version"] = this.targetApiVersion;
54
+ }
23
55
  // Only set user agent if running in node
24
56
  if (typeof window === 'undefined') {
25
57
  headers["User-Agent"] = 'tastytrade-sdk-js';
26
58
  }
27
59
  return headers;
28
60
  }
61
+ axiosConfig(method, url, data = {}, headers = {}, params = {}) {
62
+ return _.omitBy({ method, url, baseURL: this.baseUrl, data, headers, params, paramsSerializer: ParamsSerializer }, _.isEmpty);
63
+ }
64
+ async generateAccessToken() {
65
+ if (_.isNil(this.refreshToken) || _.isNil(this.clientSecret) || _.isNil(this.oauthScopes)) {
66
+ throw new Error('Missing required parameters to generate access token (refreshToken, clientSecret, oauthScopes)');
67
+ }
68
+ const params = {
69
+ refresh_token: this.refreshToken,
70
+ client_secret: this.clientSecret,
71
+ scope: this.oauthScopes.join(' '),
72
+ grant_type: 'refresh_token'
73
+ };
74
+ const config = this.axiosConfig('post', '/oauth/token', params);
75
+ this.logger?.info('Making request', config);
76
+ const tokenResponse = await axios.request(config);
77
+ this.accessToken.updateFromTokenResponse(tokenResponse);
78
+ return this.accessToken;
79
+ }
29
80
  async executeRequest(method, url, data = {}, headers = {}, params = {}) {
30
- const dasherizedParams = recursiveDasherizeKeys(params);
31
- const dasherizedData = recursiveDasherizeKeys(data);
81
+ if (this.needsTokenRefresh) {
82
+ await this.generateAccessToken();
83
+ }
84
+ let dasherizedParams = params;
85
+ let dasherizedData = data;
86
+ dasherizedParams = recursiveDasherizeKeys(params);
87
+ dasherizedData = recursiveDasherizeKeys(data);
32
88
  const mergedHeaders = { ...headers, ...this.getDefaultHeaders() };
33
- const config = _.omitBy({
34
- method,
35
- url,
36
- baseURL: this.baseUrl,
37
- data: dasherizedData,
38
- headers: mergedHeaders,
39
- params: dasherizedParams,
40
- paramsSerializer: ParamsSerializer
41
- }, _.isEmpty);
89
+ const config = this.axiosConfig(method, url, dasherizedData, mergedHeaders, dasherizedParams);
42
90
  this.logger?.info('Making request', config);
43
91
  return axios.request(config);
44
92
  }
@@ -57,5 +105,14 @@ export default class TastytradeHttpClient {
57
105
  async deleteData(url, headers) {
58
106
  return this.executeRequest('delete', url, headers);
59
107
  }
108
+ get targetApiVersion() {
109
+ return this._targetApiVersion;
110
+ }
111
+ set targetApiVersion(version) {
112
+ if (!_.isNil(version) && !ApiVersionRegex.test(version)) {
113
+ throw new Error('Invalid API version format. Expected YYYYMMDD.');
114
+ }
115
+ this._targetApiVersion = version;
116
+ }
60
117
  }
61
118
  //# sourceMappingURL=tastytrade-http-client.js.map