@capitalconnect/typescript-sdk 1.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 (45) hide show
  1. package/dist/client.d.ts +73 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +291 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/errors.d.ts +23 -0
  6. package/dist/errors.d.ts.map +1 -0
  7. package/dist/errors.js +54 -0
  8. package/dist/errors.js.map +1 -0
  9. package/dist/index.d.ts +4 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +22 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/types/accounts.d.ts +97 -0
  14. package/dist/types/accounts.d.ts.map +1 -0
  15. package/dist/types/accounts.js +3 -0
  16. package/dist/types/accounts.js.map +1 -0
  17. package/dist/types/common.d.ts +54 -0
  18. package/dist/types/common.d.ts.map +1 -0
  19. package/dist/types/common.js +10 -0
  20. package/dist/types/common.js.map +1 -0
  21. package/dist/types/connections.d.ts +13 -0
  22. package/dist/types/connections.d.ts.map +1 -0
  23. package/dist/types/connections.js +3 -0
  24. package/dist/types/connections.js.map +1 -0
  25. package/dist/types/crypto.d.ts +17 -0
  26. package/dist/types/crypto.d.ts.map +1 -0
  27. package/dist/types/crypto.js +3 -0
  28. package/dist/types/crypto.js.map +1 -0
  29. package/dist/types/index.d.ts +8 -0
  30. package/dist/types/index.d.ts.map +1 -0
  31. package/dist/types/index.js +24 -0
  32. package/dist/types/index.js.map +1 -0
  33. package/dist/types/options.d.ts +46 -0
  34. package/dist/types/options.d.ts.map +1 -0
  35. package/dist/types/options.js +3 -0
  36. package/dist/types/options.js.map +1 -0
  37. package/dist/types/orders.d.ts +98 -0
  38. package/dist/types/orders.d.ts.map +1 -0
  39. package/dist/types/orders.js +3 -0
  40. package/dist/types/orders.js.map +1 -0
  41. package/dist/types/symbols.d.ts +27 -0
  42. package/dist/types/symbols.d.ts.map +1 -0
  43. package/dist/types/symbols.js +3 -0
  44. package/dist/types/symbols.js.map +1 -0
  45. package/package.json +33 -0
@@ -0,0 +1,73 @@
1
+ import { CapitalConnectConfig, TradingEnvironment, BrokerageMetadata, UniversalSymbol } from './types/common';
2
+ import { Connection } from './types/connections';
3
+ import { Account, Balance, Holdings, AggregatedBalances, Activity } from './types/accounts';
4
+ import { Order, OrdersResponse, OrderImpactResponse, PlacedOrder, CancelledOrder, OrderRequest } from './types/orders';
5
+ import { OptionsChainResponse, OptionHolding, OptionsOrderRequest, OptionsOrderPreview } from './types/options';
6
+ import { CryptoPair, CryptoQuote } from './types/crypto';
7
+ import { SymbolSearchResult, Quote } from './types/symbols';
8
+ export declare class CapitalConnectClient {
9
+ private http;
10
+ constructor(config: CapitalConnectConfig);
11
+ private handleError;
12
+ private userParams;
13
+ private get;
14
+ private post;
15
+ private del;
16
+ registerUser(externalUserId: string): Promise<{
17
+ userId: string;
18
+ userSecret: string;
19
+ }>;
20
+ deleteUser(externalUserId: string): Promise<{
21
+ success: boolean;
22
+ message: string;
23
+ }>;
24
+ listConnections(userId: string, userSecret: string, _environment?: TradingEnvironment): Promise<Connection[]>;
25
+ getConnection(userId: string, userSecret: string, connectionId: string, _environment?: TradingEnvironment): Promise<Connection>;
26
+ deleteConnection(userId: string, userSecret: string, connectionId: string, _environment?: TradingEnvironment): Promise<void>;
27
+ listAccounts(userId: string, userSecret: string, _environment?: TradingEnvironment): Promise<Account[]>;
28
+ getAccountDetails(userId: string, userSecret: string, accountId: string, _environment?: TradingEnvironment): Promise<Account>;
29
+ getAccountBalance(userId: string, userSecret: string, accountId: string, _environment?: TradingEnvironment): Promise<Balance>;
30
+ getAccountHoldings(userId: string, userSecret: string, accountId: string, _environment?: TradingEnvironment): Promise<Holdings>;
31
+ getAllUserHoldings(userId: string, userSecret: string, _environment?: TradingEnvironment): Promise<Holdings[]>;
32
+ getAccountOrders(userId: string, userSecret: string, accountId: string, _environment?: TradingEnvironment, startDate?: string, endDate?: string): Promise<OrdersResponse>;
33
+ listAccountOrders(userId: string, userSecret: string, accountId: string, _environment?: TradingEnvironment, state?: 'all' | 'open' | 'executed', days?: number): Promise<Order[] | null>;
34
+ getAccountActivities(userId: string, userSecret: string, accountId: string, _environment?: TradingEnvironment, options?: {
35
+ limit?: number;
36
+ offset?: number;
37
+ startDate?: string;
38
+ endDate?: string;
39
+ type?: string;
40
+ }): Promise<Activity[]>;
41
+ getFullTransactionHistory(userId: string, userSecret: string, _environment?: TradingEnvironment, startDate?: string, endDate?: string, accounts?: string, type?: string): Promise<Activity[]>;
42
+ searchSymbols(query: string): Promise<SymbolSearchResult[]>;
43
+ getSymbolDetail(query: string): Promise<UniversalSymbol>;
44
+ getAccountQuotes(userId: string, userSecret: string, accountId: string, symbols: string[], _environment?: TradingEnvironment): Promise<Quote[]>;
45
+ getAggregatedBalances(userId: string, userSecret: string, _environment?: TradingEnvironment): Promise<AggregatedBalances>;
46
+ calculateOrderImpact(userId: string, userSecret: string, accountId: string, orderData: OrderRequest, _environment?: TradingEnvironment): Promise<OrderImpactResponse>;
47
+ placeOrder(userId: string, userSecret: string, accountId: string, orderData: OrderRequest, _environment?: TradingEnvironment): Promise<PlacedOrder>;
48
+ cancelOrder(userId: string, userSecret: string, accountId: string, brokerageOrderId: string, _environment?: TradingEnvironment): Promise<CancelledOrder>;
49
+ getOptionsChain(userId: string, userSecret: string, accountId: string, symbol: string, _environment?: TradingEnvironment, options?: {
50
+ expiryDate?: string;
51
+ strikePriceNear?: number;
52
+ noOfStrikes?: number;
53
+ optionType?: string;
54
+ }): Promise<OptionsChainResponse>;
55
+ getOptionHoldings(userId: string, userSecret: string, accountId: string, _environment?: TradingEnvironment): Promise<OptionHolding[]>;
56
+ previewOptionsOrder(userId: string, userSecret: string, accountId: string, connectionId: string, order: OptionsOrderRequest, _environment?: TradingEnvironment): Promise<OptionsOrderPreview>;
57
+ placeOptionsOrder(userId: string, userSecret: string, accountId: string, connectionId: string, order: OptionsOrderRequest, previewId: string, _environment?: TradingEnvironment): Promise<PlacedOrder>;
58
+ getCryptoPairs(userId: string, userSecret: string, accountId: string, _environment?: TradingEnvironment): Promise<CryptoPair[]>;
59
+ getCryptoQuote(userId: string, userSecret: string, accountId: string, symbol: string, _environment?: TradingEnvironment): Promise<CryptoQuote>;
60
+ checkApiStatus(): Promise<{
61
+ status: string;
62
+ }>;
63
+ getSupportedBrokerages(): Promise<BrokerageMetadata[]>;
64
+ getPerformanceHistory(_userId: string, _userSecret: string, _startDate: string, _endDate: string, _environment?: TradingEnvironment, _accounts?: string, _detailed?: boolean): Promise<{
65
+ totalEquityTimeframe: any[];
66
+ contributions?: any;
67
+ dividendIncome?: number;
68
+ }>;
69
+ generateConnectionPortal(userId: string, userSecret: string, _environment?: TradingEnvironment, broker?: string, reconnect?: string, customRedirect?: string, connectionType?: string): Promise<{
70
+ redirectURI: string;
71
+ }>;
72
+ }
73
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.CapitalConnectClient = void 0;
37
+ const axios_1 = __importStar(require("axios"));
38
+ const errors_1 = require("./errors");
39
+ class CapitalConnectClient {
40
+ http;
41
+ constructor(config) {
42
+ this.http = axios_1.default.create({
43
+ baseURL: config.baseUrl,
44
+ timeout: config.timeout || 30000,
45
+ headers: {
46
+ 'x-api-key': config.apiKey,
47
+ 'x-api-secret': config.apiSecret,
48
+ 'Content-Type': 'application/json',
49
+ },
50
+ });
51
+ }
52
+ handleError(error) {
53
+ if (error instanceof axios_1.AxiosError) {
54
+ const status = error.response?.status;
55
+ const data = error.response?.data;
56
+ const message = data?.message || data?.error || error.message;
57
+ switch (status) {
58
+ case 401: throw new errors_1.AuthenticationError(message, data);
59
+ case 404: throw new errors_1.NotFoundError(message, data);
60
+ case 429: {
61
+ const retryAfter = error.response?.headers?.['retry-after'];
62
+ throw new errors_1.RateLimitError(message, retryAfter ? parseInt(retryAfter) : undefined, data);
63
+ }
64
+ default:
65
+ if (status && status >= 500)
66
+ throw new errors_1.ServerError(message, status, data);
67
+ throw new errors_1.CapitalConnectError(message, status || 0, 'API_ERROR', data);
68
+ }
69
+ }
70
+ if (error instanceof Error && error.message?.includes('ECONNREFUSED')) {
71
+ throw new errors_1.ConnectionError(error.message);
72
+ }
73
+ throw new errors_1.CapitalConnectError(String(error), 0, 'UNKNOWN_ERROR');
74
+ }
75
+ userParams(externalUserId, userSecret) {
76
+ return { 'external-user-id': externalUserId, 'user-secret': userSecret };
77
+ }
78
+ async get(path, params) {
79
+ try {
80
+ const { data } = await this.http.get(path, { params });
81
+ return data;
82
+ }
83
+ catch (error) {
84
+ this.handleError(error);
85
+ }
86
+ }
87
+ async post(path, body, params) {
88
+ try {
89
+ const { data } = await this.http.post(path, body, { params });
90
+ return data;
91
+ }
92
+ catch (error) {
93
+ this.handleError(error);
94
+ }
95
+ }
96
+ async del(path, params) {
97
+ try {
98
+ const { data } = await this.http.delete(path, { params });
99
+ return data;
100
+ }
101
+ catch (error) {
102
+ this.handleError(error);
103
+ }
104
+ }
105
+ // ─── User Management ─────────────────────────────────────────
106
+ async registerUser(externalUserId) {
107
+ return this.post('/register-user', { externalUserId });
108
+ }
109
+ async deleteUser(externalUserId) {
110
+ return this.del('/delete-user', { 'external-user-id': externalUserId });
111
+ }
112
+ // ─── Connections ──────────────────────────────────────────────
113
+ async listConnections(userId, userSecret, _environment) {
114
+ return this.get('/connections', this.userParams(userId, userSecret));
115
+ }
116
+ async getConnection(userId, userSecret, connectionId, _environment) {
117
+ return this.get(`/connections/${connectionId}`, this.userParams(userId, userSecret));
118
+ }
119
+ async deleteConnection(userId, userSecret, connectionId, _environment) {
120
+ await this.del(`/connections/${connectionId}`, this.userParams(userId, userSecret));
121
+ }
122
+ // ─── Accounts ─────────────────────────────────────────────────
123
+ async listAccounts(userId, userSecret, _environment) {
124
+ return this.get('/accounts', this.userParams(userId, userSecret));
125
+ }
126
+ async getAccountDetails(userId, userSecret, accountId, _environment) {
127
+ return this.get(`/accounts/${accountId}`, this.userParams(userId, userSecret));
128
+ }
129
+ async getAccountBalance(userId, userSecret, accountId, _environment) {
130
+ return this.get(`/accounts/${accountId}/balances`, this.userParams(userId, userSecret));
131
+ }
132
+ async getAccountHoldings(userId, userSecret, accountId, _environment) {
133
+ return this.get(`/accounts/${accountId}/holdings`, this.userParams(userId, userSecret));
134
+ }
135
+ async getAllUserHoldings(userId, userSecret, _environment) {
136
+ const accounts = await this.listAccounts(userId, userSecret);
137
+ return Promise.all(accounts.map(a => this.getAccountHoldings(userId, userSecret, a.id)));
138
+ }
139
+ // ─── Orders & Activities ──────────────────────────────────────
140
+ async getAccountOrders(userId, userSecret, accountId, _environment, startDate, endDate) {
141
+ const params = this.userParams(userId, userSecret);
142
+ if (startDate)
143
+ params.start_date = startDate;
144
+ if (endDate)
145
+ params.end_date = endDate;
146
+ return this.get(`/accounts/${accountId}/orders`, params);
147
+ }
148
+ async listAccountOrders(userId, userSecret, accountId, _environment, state, days) {
149
+ const params = this.userParams(userId, userSecret);
150
+ if (state)
151
+ params.state = state;
152
+ if (days)
153
+ params.days = days;
154
+ const response = await this.get(`/accounts/${accountId}/orders`, params);
155
+ return response.orders;
156
+ }
157
+ async getAccountActivities(userId, userSecret, accountId, _environment, options) {
158
+ const params = { ...this.userParams(userId, userSecret) };
159
+ if (options?.limit)
160
+ params.limit = options.limit;
161
+ if (options?.offset)
162
+ params.offset = options.offset;
163
+ if (options?.startDate)
164
+ params.start_date = options.startDate;
165
+ if (options?.endDate)
166
+ params.end_date = options.endDate;
167
+ if (options?.type)
168
+ params.type = options.type;
169
+ const response = await this.get(`/accounts/${accountId}/activities`, params);
170
+ return response.activities;
171
+ }
172
+ async getFullTransactionHistory(userId, userSecret, _environment, startDate, endDate, accounts, type) {
173
+ const allAccountIds = accounts
174
+ ? accounts.split(',')
175
+ : (await this.listAccounts(userId, userSecret)).map(a => a.id);
176
+ const results = await Promise.all(allAccountIds.map(id => this.getAccountActivities(userId, userSecret, id, undefined, { startDate, endDate, type })));
177
+ return results.flat().sort((a, b) => new Date(b.trade_date || 0).getTime() - new Date(a.trade_date || 0).getTime());
178
+ }
179
+ // ─── Symbols & Quotes ─────────────────────────────────────────
180
+ async searchSymbols(query) {
181
+ return this.post('/symbols/search', { substring: query });
182
+ }
183
+ async getSymbolDetail(query) {
184
+ return this.get(`/symbols/${encodeURIComponent(query)}`);
185
+ }
186
+ async getAccountQuotes(userId, userSecret, accountId, symbols, _environment) {
187
+ return this.get(`/accounts/${accountId}/quotes`, {
188
+ ...this.userParams(userId, userSecret),
189
+ symbols: symbols.join(','),
190
+ });
191
+ }
192
+ async getAggregatedBalances(userId, userSecret, _environment) {
193
+ const accounts = await this.listAccounts(userId, userSecret);
194
+ const balances = await Promise.all(accounts.map(a => this.getAccountBalance(userId, userSecret, a.id)));
195
+ return {
196
+ totalValue: balances.reduce((sum, b) => sum + (b.total?.amount || 0), 0),
197
+ cashBalance: balances.reduce((sum, b) => sum + (b.cash?.amount || 0), 0),
198
+ holdingsValue: balances.reduce((sum, b) => sum + ((b.total?.amount || 0) - (b.cash?.amount || 0)), 0),
199
+ };
200
+ }
201
+ // ─── Trading ──────────────────────────────────────────────────
202
+ async calculateOrderImpact(userId, userSecret, accountId, orderData, _environment) {
203
+ return this.post('/trade/impact', {
204
+ ...orderData,
205
+ userId,
206
+ userSecret,
207
+ account_id: accountId,
208
+ });
209
+ }
210
+ async placeOrder(userId, userSecret, accountId, orderData, _environment) {
211
+ return this.post('/trade/place', orderData, {
212
+ ...this.userParams(userId, userSecret),
213
+ });
214
+ }
215
+ async cancelOrder(userId, userSecret, accountId, brokerageOrderId, _environment) {
216
+ return this.post('/trade/cancel', { accountId, orderId: brokerageOrderId }, {
217
+ ...this.userParams(userId, userSecret),
218
+ });
219
+ }
220
+ // ─── Options ──────────────────────────────────────────────────
221
+ async getOptionsChain(userId, userSecret, accountId, symbol, _environment, options) {
222
+ const response = await this.get(`/accounts/${accountId}/options/chain`, {
223
+ ...this.userParams(userId, userSecret),
224
+ symbol,
225
+ ...(options?.expiryDate && { expiry_date: options.expiryDate }),
226
+ ...(options?.strikePriceNear && { strike_price_near: options.strikePriceNear }),
227
+ ...(options?.noOfStrikes && { no_of_strikes: options.noOfStrikes }),
228
+ ...(options?.optionType && { option_type: options.optionType }),
229
+ });
230
+ return response.chain;
231
+ }
232
+ async getOptionHoldings(userId, userSecret, accountId, _environment) {
233
+ const response = await this.get(`/accounts/${accountId}/options/holdings`, this.userParams(userId, userSecret));
234
+ return response.holdings;
235
+ }
236
+ async previewOptionsOrder(userId, userSecret, accountId, connectionId, order, _environment) {
237
+ return this.post(`/accounts/${accountId}/options/orders/impact`, order, {
238
+ ...this.userParams(userId, userSecret),
239
+ connectionId,
240
+ });
241
+ }
242
+ async placeOptionsOrder(userId, userSecret, accountId, connectionId, order, previewId, _environment) {
243
+ const response = await this.post(`/accounts/${accountId}/options/orders`, { order, previewId }, {
244
+ ...this.userParams(userId, userSecret),
245
+ connectionId,
246
+ });
247
+ return response.order;
248
+ }
249
+ // ─── Crypto ───────────────────────────────────────────────────
250
+ async getCryptoPairs(userId, userSecret, accountId, _environment) {
251
+ return this.get(`/accounts/${accountId}/crypto/pairs`, this.userParams(userId, userSecret));
252
+ }
253
+ async getCryptoQuote(userId, userSecret, accountId, symbol, _environment) {
254
+ return this.get(`/accounts/${accountId}/crypto/quote`, {
255
+ ...this.userParams(userId, userSecret),
256
+ symbol,
257
+ });
258
+ }
259
+ // ─── Utility ──────────────────────────────────────────────────
260
+ async checkApiStatus() {
261
+ return { status: 'ok' };
262
+ }
263
+ async getSupportedBrokerages() {
264
+ return [
265
+ { id: 'coinbase', slug: 'COINBASE', name: 'Coinbase' },
266
+ { id: 'etrade', slug: 'ETRADE', name: 'E*TRADE' },
267
+ { id: 'alpaca', slug: 'ALPACA', name: 'Alpaca' },
268
+ { id: 'ibkr', slug: 'IBKR', name: 'Interactive Brokers' },
269
+ { id: 'schwab', slug: 'SCHWAB', name: 'Charles Schwab' },
270
+ { id: 'tradier', slug: 'TRADIER', name: 'Tradier' },
271
+ { id: 'webull', slug: 'WEBULL', name: 'Webull' },
272
+ { id: 'tradovate', slug: 'TRADOVATE', name: 'Tradovate' },
273
+ ];
274
+ }
275
+ async getPerformanceHistory(_userId, _userSecret, _startDate, _endDate, _environment, _accounts, _detailed) {
276
+ return { totalEquityTimeframe: [] };
277
+ }
278
+ async generateConnectionPortal(userId, userSecret, _environment, broker, reconnect, customRedirect, connectionType) {
279
+ const result = await this.post('/portals', {
280
+ externalUserId: userId,
281
+ userSecret,
282
+ ...(broker && { broker }),
283
+ ...(reconnect && { reconnect }),
284
+ ...(customRedirect && { customRedirect }),
285
+ ...(connectionType && { connectionType }),
286
+ });
287
+ return { redirectURI: result.portalUrl };
288
+ }
289
+ }
290
+ exports.CapitalConnectClient = CapitalConnectClient;
291
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export declare class CapitalConnectError extends Error {
2
+ statusCode: number;
3
+ code: string;
4
+ details?: any | undefined;
5
+ constructor(message: string, statusCode: number, code: string, details?: any | undefined);
6
+ }
7
+ export declare class AuthenticationError extends CapitalConnectError {
8
+ constructor(message?: string, details?: any);
9
+ }
10
+ export declare class NotFoundError extends CapitalConnectError {
11
+ constructor(message?: string, details?: any);
12
+ }
13
+ export declare class RateLimitError extends CapitalConnectError {
14
+ retryAfter?: number;
15
+ constructor(message?: string, retryAfter?: number, details?: any);
16
+ }
17
+ export declare class ServerError extends CapitalConnectError {
18
+ constructor(message?: string, statusCode?: number, details?: any);
19
+ }
20
+ export declare class ConnectionError extends CapitalConnectError {
21
+ constructor(message?: string, details?: any);
22
+ }
23
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IAGnC,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,CAAC,EAAE,GAAG;gBAHpB,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,GAAG,YAAA;CAKvB;AAED,qBAAa,mBAAoB,SAAQ,mBAAmB;gBAC9C,OAAO,SAA0B,EAAE,OAAO,CAAC,EAAE,GAAG;CAI7D;AAED,qBAAa,aAAc,SAAQ,mBAAmB;gBACxC,OAAO,SAAuB,EAAE,OAAO,CAAC,EAAE,GAAG;CAI1D;AAED,qBAAa,cAAe,SAAQ,mBAAmB;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;gBACf,OAAO,SAAwB,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAKhF;AAED,qBAAa,WAAY,SAAQ,mBAAmB;gBACtC,OAAO,SAA0B,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI/E;AAED,qBAAa,eAAgB,SAAQ,mBAAmB;gBAC1C,OAAO,SAA6B,EAAE,OAAO,CAAC,EAAE,GAAG;CAIhE"}
package/dist/errors.js ADDED
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConnectionError = exports.ServerError = exports.RateLimitError = exports.NotFoundError = exports.AuthenticationError = exports.CapitalConnectError = void 0;
4
+ class CapitalConnectError extends Error {
5
+ statusCode;
6
+ code;
7
+ details;
8
+ constructor(message, statusCode, code, details) {
9
+ super(message);
10
+ this.statusCode = statusCode;
11
+ this.code = code;
12
+ this.details = details;
13
+ this.name = 'CapitalConnectError';
14
+ }
15
+ }
16
+ exports.CapitalConnectError = CapitalConnectError;
17
+ class AuthenticationError extends CapitalConnectError {
18
+ constructor(message = 'Authentication failed', details) {
19
+ super(message, 401, 'AUTHENTICATION_ERROR', details);
20
+ this.name = 'AuthenticationError';
21
+ }
22
+ }
23
+ exports.AuthenticationError = AuthenticationError;
24
+ class NotFoundError extends CapitalConnectError {
25
+ constructor(message = 'Resource not found', details) {
26
+ super(message, 404, 'NOT_FOUND', details);
27
+ this.name = 'NotFoundError';
28
+ }
29
+ }
30
+ exports.NotFoundError = NotFoundError;
31
+ class RateLimitError extends CapitalConnectError {
32
+ retryAfter;
33
+ constructor(message = 'Rate limit exceeded', retryAfter, details) {
34
+ super(message, 429, 'RATE_LIMIT', details);
35
+ this.name = 'RateLimitError';
36
+ this.retryAfter = retryAfter;
37
+ }
38
+ }
39
+ exports.RateLimitError = RateLimitError;
40
+ class ServerError extends CapitalConnectError {
41
+ constructor(message = 'Internal server error', statusCode = 500, details) {
42
+ super(message, statusCode, 'SERVER_ERROR', details);
43
+ this.name = 'ServerError';
44
+ }
45
+ }
46
+ exports.ServerError = ServerError;
47
+ class ConnectionError extends CapitalConnectError {
48
+ constructor(message = 'Could not connect to API', details) {
49
+ super(message, 0, 'CONNECTION_ERROR', details);
50
+ this.name = 'ConnectionError';
51
+ }
52
+ }
53
+ exports.ConnectionError = ConnectionError;
54
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAoB,SAAQ,KAAK;IAGnC;IACA;IACA;IAJT,YACE,OAAe,EACR,UAAkB,EAClB,IAAY,EACZ,OAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAM;QAGpB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAVD,kDAUC;AAED,MAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,YAAY,OAAO,GAAG,uBAAuB,EAAE,OAAa;QAC1D,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAED,MAAa,aAAc,SAAQ,mBAAmB;IACpD,YAAY,OAAO,GAAG,oBAAoB,EAAE,OAAa;QACvD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAED,MAAa,cAAe,SAAQ,mBAAmB;IAC9C,UAAU,CAAU;IAC3B,YAAY,OAAO,GAAG,qBAAqB,EAAE,UAAmB,EAAE,OAAa;QAC7E,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAPD,wCAOC;AAED,MAAa,WAAY,SAAQ,mBAAmB;IAClD,YAAY,OAAO,GAAG,uBAAuB,EAAE,UAAU,GAAG,GAAG,EAAE,OAAa;QAC5E,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AALD,kCAKC;AAED,MAAa,eAAgB,SAAQ,mBAAmB;IACtD,YAAY,OAAO,GAAG,0BAA0B,EAAE,OAAa;QAC7D,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC"}
@@ -0,0 +1,4 @@
1
+ export { CapitalConnectClient } from './client';
2
+ export * from './types';
3
+ export * from './errors';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.CapitalConnectClient = void 0;
18
+ var client_1 = require("./client");
19
+ Object.defineProperty(exports, "CapitalConnectClient", { enumerable: true, get: function () { return client_1.CapitalConnectClient; } });
20
+ __exportStar(require("./types"), exports);
21
+ __exportStar(require("./errors"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAgD;AAAvC,8GAAA,oBAAoB,OAAA;AAC7B,0CAAwB;AACxB,2CAAyB"}
@@ -0,0 +1,97 @@
1
+ import { Currency, UniversalSymbol } from './common';
2
+ export interface AccountBalance {
3
+ total?: {
4
+ amount: number;
5
+ currency: string;
6
+ };
7
+ cash?: {
8
+ amount: number;
9
+ currency: string;
10
+ };
11
+ }
12
+ export interface Account {
13
+ id: string;
14
+ brokerage_authorization: string;
15
+ portfolio_group?: string;
16
+ name: string;
17
+ number: string;
18
+ institution_name: string;
19
+ meta?: Record<string, any>;
20
+ cash_restrictions?: any[];
21
+ created_date?: string;
22
+ sync_status?: {
23
+ holdings?: {
24
+ initial_sync_completed: boolean;
25
+ };
26
+ transactions?: {
27
+ initial_sync_completed: boolean;
28
+ };
29
+ };
30
+ balance?: AccountBalance;
31
+ raw_type?: string;
32
+ status?: string;
33
+ cash?: number;
34
+ currency?: string;
35
+ }
36
+ export interface Balance {
37
+ total: {
38
+ amount: number;
39
+ currency: string;
40
+ };
41
+ cash: {
42
+ amount: number;
43
+ currency: string;
44
+ };
45
+ }
46
+ export interface Position {
47
+ symbol: UniversalSymbol;
48
+ units: number;
49
+ price: number;
50
+ open_pnl: number;
51
+ fractional_units?: number;
52
+ average_purchase_price: number;
53
+ currency: Currency;
54
+ }
55
+ export interface OptionPosition {
56
+ symbol?: any;
57
+ units?: number;
58
+ average_purchase_price?: number;
59
+ currency?: Currency;
60
+ }
61
+ export interface Holdings {
62
+ account: Account;
63
+ balances: Balance[];
64
+ positions: Position[];
65
+ option_positions: OptionPosition[];
66
+ total_value: {
67
+ value: number;
68
+ currency: string;
69
+ };
70
+ }
71
+ export interface AggregatedBalances {
72
+ totalValue: number;
73
+ cashBalance: number;
74
+ holdingsValue: number;
75
+ }
76
+ export interface Activity {
77
+ id: string;
78
+ account: {
79
+ id: string;
80
+ };
81
+ symbol: UniversalSymbol | null;
82
+ option_symbol: any | null;
83
+ price: number;
84
+ units: number;
85
+ amount: number;
86
+ currency: Currency;
87
+ type: string;
88
+ option_type: string | null;
89
+ description: string;
90
+ trade_date: string | null;
91
+ settlement_date: string | null;
92
+ fee: number;
93
+ fx_rate: number | null;
94
+ institution: string;
95
+ external_reference_id: string | null;
96
+ }
97
+ //# sourceMappingURL=accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/types/accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/types/accounts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ export interface CapitalConnectConfig {
2
+ baseUrl: string;
3
+ apiKey: string;
4
+ apiSecret: string;
5
+ timeout?: number;
6
+ }
7
+ export interface Currency {
8
+ id: string;
9
+ code: string;
10
+ name: string;
11
+ }
12
+ export interface Exchange {
13
+ id: string;
14
+ code: string;
15
+ mic_code: string | null;
16
+ name: string;
17
+ timezone: string;
18
+ start_time: string | null;
19
+ close_time: string | null;
20
+ suffix: string | null;
21
+ }
22
+ export interface SecurityType {
23
+ id: string;
24
+ code: string;
25
+ description: string;
26
+ is_supported: boolean;
27
+ }
28
+ export interface UniversalSymbol {
29
+ id: string;
30
+ symbol: string;
31
+ raw_symbol: string;
32
+ description: string | null;
33
+ currency: Currency;
34
+ exchange?: Exchange;
35
+ type?: SecurityType;
36
+ figi_code: string | null;
37
+ figi_instrument: any | null;
38
+ currencies?: Currency[];
39
+ }
40
+ export declare enum TradingEnvironment {
41
+ SANDBOX = "sandbox",
42
+ LIVE = "live"
43
+ }
44
+ export interface BrokerageMetadata {
45
+ id: string;
46
+ slug: string;
47
+ name: string;
48
+ display_name?: string;
49
+ description?: string;
50
+ aws_s3_logo_url?: string;
51
+ allows_trading?: boolean;
52
+ exchanges?: Exchange[];
53
+ }
54
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,GAAG,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;CACzB;AAGD,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TradingEnvironment = void 0;
4
+ // Mirrors TradingEnvironment from uptick_backend — accepted but ignored
5
+ var TradingEnvironment;
6
+ (function (TradingEnvironment) {
7
+ TradingEnvironment["SANDBOX"] = "sandbox";
8
+ TradingEnvironment["LIVE"] = "live";
9
+ })(TradingEnvironment || (exports.TradingEnvironment = TradingEnvironment = {}));
10
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":";;;AA4CA,wEAAwE;AACxE,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,mCAAa,CAAA;AACf,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B"}
@@ -0,0 +1,13 @@
1
+ import { BrokerageMetadata } from './common';
2
+ export interface Connection {
3
+ id: string;
4
+ created: string;
5
+ updated: string;
6
+ brokerage: BrokerageMetadata;
7
+ name?: string;
8
+ type?: string;
9
+ disabled?: boolean;
10
+ disabled_date?: string;
11
+ meta?: Record<string, unknown>;
12
+ }
13
+ //# sourceMappingURL=connections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../src/types/connections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=connections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/types/connections.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ export interface CryptoPair {
2
+ id: string;
3
+ symbol: string;
4
+ base?: any;
5
+ quote?: any;
6
+ description?: string;
7
+ }
8
+ export interface CryptoQuote {
9
+ bid_price?: number;
10
+ ask_price?: number;
11
+ high_price?: number;
12
+ last_trade_price?: number;
13
+ low_price?: number;
14
+ open_price?: number;
15
+ symbol?: string;
16
+ }
17
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/types/crypto.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/types/crypto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export * from './common';
2
+ export * from './connections';
3
+ export * from './accounts';
4
+ export * from './orders';
5
+ export * from './options';
6
+ export * from './crypto';
7
+ export * from './symbols';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./common"), exports);
18
+ __exportStar(require("./connections"), exports);
19
+ __exportStar(require("./accounts"), exports);
20
+ __exportStar(require("./orders"), exports);
21
+ __exportStar(require("./options"), exports);
22
+ __exportStar(require("./crypto"), exports);
23
+ __exportStar(require("./symbols"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,gDAA8B;AAC9B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,4CAA0B"}
@@ -0,0 +1,46 @@
1
+ export interface OptionsChainStrike {
2
+ strikePrice: number;
3
+ callSymbolId: string;
4
+ putSymbolId: string;
5
+ }
6
+ export interface OptionsChainRoot {
7
+ optionRoot: string;
8
+ multiplier?: number;
9
+ chainPerStrikePrice: OptionsChainStrike[];
10
+ }
11
+ export interface OptionsChainExpiry {
12
+ expiryDate: string;
13
+ description?: string;
14
+ optionExerciseType?: 'AMERICAN' | 'EUROPEAN';
15
+ chainPerRoot: OptionsChainRoot[];
16
+ }
17
+ export type OptionsChainResponse = OptionsChainExpiry[];
18
+ export interface OptionsLeg {
19
+ option_symbol_id: string;
20
+ action: 'BUY_TO_OPEN' | 'BUY_TO_CLOSE' | 'SELL_TO_OPEN' | 'SELL_TO_CLOSE';
21
+ quantity: number;
22
+ }
23
+ export interface OptionsOrderRequest {
24
+ order_type: 'LIMIT' | 'MARKET';
25
+ time_in_force: 'Day' | 'GTC' | 'FOK' | 'IOC';
26
+ legs: OptionsLeg[];
27
+ price?: number;
28
+ limit_price?: string;
29
+ price_effect?: 'CREDIT' | 'DEBIT';
30
+ }
31
+ export interface OptionsOrderPreview {
32
+ trade: any;
33
+ trade_impacts: any[];
34
+ combined_remaining_balance: any;
35
+ }
36
+ export interface OptionsOrderResponse {
37
+ brokerage_order_id: string;
38
+ orders: any[];
39
+ }
40
+ export interface OptionHolding {
41
+ symbol?: any;
42
+ units?: number;
43
+ average_purchase_price?: number;
44
+ currency?: any;
45
+ }
46
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC7C,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,EAAE,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,aAAa,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,CAAC;IAC1E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B,aAAa,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAC7C,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,GAAG,CAAC;IACX,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,0BAA0B,EAAE,GAAG,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
1
+ import { UniversalSymbol } from './common';
2
+ export type OrderStatus = 'PENDING' | 'ACCEPTED' | 'CANCELED' | 'CANCELLED' | 'EXECUTED' | 'FILLED' | 'PARTIAL' | 'REJECTED' | 'NOT_EXECUTED' | 'EXPIRED';
3
+ export type OrderAction = 'BUY' | 'SELL';
4
+ export type OrderType = 'Market' | 'Limit' | 'Stop' | 'StopLimit';
5
+ export type TimeInForce = 'Day' | 'GTC' | 'FOK' | 'IOC';
6
+ export interface Order {
7
+ brokerage_order_id: string;
8
+ id: string;
9
+ status: OrderStatus;
10
+ symbol: string;
11
+ universal_symbol?: UniversalSymbol;
12
+ option_symbol?: any;
13
+ action: OrderAction;
14
+ total_quantity: number;
15
+ open_quantity: number;
16
+ canceled_quantity: number;
17
+ filled_quantity: number;
18
+ units?: number;
19
+ filled_units?: number;
20
+ quantity?: number;
21
+ execution_price: number | null;
22
+ average_price: number | null;
23
+ limit_price: number | null;
24
+ stop_price: number | null;
25
+ price?: number | null;
26
+ order_type: string;
27
+ time_in_force: string;
28
+ time_placed: string;
29
+ time_updated: string | null;
30
+ time_executed: string | null;
31
+ created_at?: string;
32
+ filled_at?: string | null;
33
+ expiry_date: string | null;
34
+ }
35
+ export interface OrdersResponse {
36
+ orders: Order[];
37
+ hasMore: boolean;
38
+ nextCursor: string | null;
39
+ }
40
+ export interface TradeImpact {
41
+ account: string;
42
+ currency: string;
43
+ remaining_cash: number;
44
+ estimated_commissions: number;
45
+ forex_fees: number;
46
+ price?: number;
47
+ amount?: number;
48
+ }
49
+ export interface OrderImpactResponse {
50
+ trade: {
51
+ id: string;
52
+ account: {
53
+ id: string;
54
+ };
55
+ universal_symbol: UniversalSymbol;
56
+ action: string;
57
+ order_type: string;
58
+ price: number;
59
+ units: number;
60
+ time_in_force: string;
61
+ };
62
+ trade_impacts: TradeImpact[];
63
+ combined_remaining_balance: {
64
+ account: string;
65
+ currency: string;
66
+ cash: number;
67
+ };
68
+ }
69
+ export interface PlacedOrder extends Order {
70
+ }
71
+ export interface CancelledOrder {
72
+ id: string;
73
+ account_id: string;
74
+ brokerage_order_id: string;
75
+ status: 'cancelled';
76
+ cancelled_at: string;
77
+ }
78
+ export interface OrderRequest {
79
+ account_id?: string;
80
+ accountId?: string;
81
+ action: OrderAction;
82
+ symbol?: string;
83
+ universal_symbol_id?: string;
84
+ order_type?: string;
85
+ orderType?: string;
86
+ time_in_force?: string;
87
+ timeInForce?: string;
88
+ price?: number;
89
+ stop?: number;
90
+ units?: number;
91
+ notional_value?: number;
92
+ notionalValue?: number;
93
+ }
94
+ export interface CancelOrderRequest {
95
+ accountId: string;
96
+ orderId: string;
97
+ }
98
+ //# sourceMappingURL=orders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/types/orders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=orders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/types/orders.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { Currency, Exchange, SecurityType, UniversalSymbol } from './common';
2
+ export interface SymbolSearchResult {
3
+ id: string;
4
+ symbol: string;
5
+ raw_symbol?: string;
6
+ name?: string;
7
+ description?: string;
8
+ currency?: Currency;
9
+ exchange?: Exchange;
10
+ type?: SecurityType;
11
+ }
12
+ export interface Quote {
13
+ symbol: UniversalSymbol;
14
+ last_trade_price: number | null;
15
+ bid_price: number | null;
16
+ ask_price: number | null;
17
+ bid_size: number | null;
18
+ ask_size: number | null;
19
+ timestamp: string | null;
20
+ volume: number | null;
21
+ high: number | null;
22
+ low: number | null;
23
+ open: number | null;
24
+ previous_close: number | null;
25
+ change_percent: number | null;
26
+ }
27
+ //# sourceMappingURL=symbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/types/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/types/symbols.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@capitalconnect/typescript-sdk",
3
+ "version": "1.0.0",
4
+ "description": "TypeScript SDK for the Capital Connect brokerage aggregation API",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/rakhaxor/brokerage-platform"
16
+ },
17
+ "license": "MIT",
18
+ "author": "CapitalConnect",
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "test": "jest",
22
+ "clean": "rm -rf dist"
23
+ },
24
+ "dependencies": {
25
+ "axios": "^1.6.0"
26
+ },
27
+ "devDependencies": {
28
+ "typescript": "^5.3.0",
29
+ "@types/jest": "^29.5.0",
30
+ "jest": "^29.7.0",
31
+ "ts-jest": "^29.1.0"
32
+ }
33
+ }