@tigeropenapi/tigeropen 0.4.0 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client/case-convert.js +4 -3
- package/dist/cjs/client/http-client.js +122 -5
- package/dist/cjs/config/client-config.js +56 -12
- package/dist/cjs/config/index.js +3 -1
- package/dist/cjs/config/token-manager.js +54 -4
- package/dist/cjs/index.js +51 -2
- package/dist/cjs/push/push-client.js +40 -15
- package/dist/cjs/quote/quote-client.js +14 -2
- package/dist/cjs/trade/trade-client.js +40 -2
- package/dist/esm/client/api-request.js +1 -1
- package/dist/esm/client/api-response.js +1 -1
- package/dist/esm/client/case-convert.js +4 -3
- package/dist/esm/client/http-client.js +127 -10
- package/dist/esm/client/index.js +6 -6
- package/dist/esm/config/client-config.js +59 -15
- package/dist/esm/config/index.js +4 -3
- package/dist/esm/config/token-manager.js +55 -5
- package/dist/esm/index.js +15 -1
- package/dist/esm/logger/index.js +1 -1
- package/dist/esm/model/contract-helpers.js +1 -1
- package/dist/esm/model/order-helpers.js +1 -1
- package/dist/esm/model/order-status.js +1 -1
- package/dist/esm/push/index.js +5 -5
- package/dist/esm/push/pb/PushData.js +11 -11
- package/dist/esm/push/pb/QuoteBasicData.js +1 -1
- package/dist/esm/push/pb/Response.js +1 -1
- package/dist/esm/push/pb/index.js +17 -17
- package/dist/esm/push/proto-message.js +3 -3
- package/dist/esm/push/push-client.js +47 -22
- package/dist/esm/quote/index.js +1 -1
- package/dist/esm/quote/quote-client.js +16 -4
- package/dist/esm/signer/index.js +2 -2
- package/dist/esm/trade/index.js +1 -1
- package/dist/esm/trade/trade-client.js +43 -5
- package/dist/types/client/case-convert.d.ts +3 -1
- package/dist/types/client/http-client.d.ts +32 -1
- package/dist/types/config/client-config.d.ts +16 -1
- package/dist/types/config/index.d.ts +2 -0
- package/dist/types/config/token-manager.d.ts +27 -3
- package/dist/types/index.d.ts +22 -1
- package/dist/types/model/trade-requests.d.ts +65 -0
- package/dist/types/model/trade.d.ts +102 -11
- package/dist/types/push/push-client.d.ts +5 -3
- package/dist/types/quote/quote-client.d.ts +3 -1
- package/dist/types/trade/trade-client.d.ts +15 -4
- package/package.json +2 -2
|
@@ -96,6 +96,8 @@ export interface OrderIdResult {
|
|
|
96
96
|
export interface Transaction {
|
|
97
97
|
id?: number;
|
|
98
98
|
orderId?: number;
|
|
99
|
+
/** Numeric account ID (wire: accountId). */
|
|
100
|
+
accountId?: number;
|
|
99
101
|
account?: string;
|
|
100
102
|
symbol?: string;
|
|
101
103
|
secType?: string;
|
|
@@ -103,12 +105,24 @@ export interface Transaction {
|
|
|
103
105
|
currency?: string;
|
|
104
106
|
identifier?: string;
|
|
105
107
|
action?: string;
|
|
108
|
+
/** Order/commission price. */
|
|
106
109
|
price?: number;
|
|
110
|
+
/** Fill price (wire: filledPrice). */
|
|
111
|
+
filledPrice?: number;
|
|
107
112
|
quantity?: number;
|
|
108
113
|
filledQuantity?: number;
|
|
114
|
+
/** Scale for filledQuantity (wire: filledQuantityScale). */
|
|
115
|
+
filledQuantityScale?: number;
|
|
116
|
+
/** Order amount. */
|
|
109
117
|
amount?: number;
|
|
118
|
+
/** Fill amount (wire: filledAmount). */
|
|
119
|
+
filledAmount?: number;
|
|
110
120
|
commission?: number;
|
|
111
|
-
|
|
121
|
+
/** Fill timestamp string, format "YYYY-MM-DD HH:MM:SS" (server returns string, not number). */
|
|
122
|
+
transactedAt?: string;
|
|
123
|
+
/** Fill time as Unix millisecond timestamp (wire: transactionTime). */
|
|
124
|
+
transactionTime?: number;
|
|
125
|
+
/** Legacy time field. */
|
|
112
126
|
time?: number;
|
|
113
127
|
}
|
|
114
128
|
export interface ManagedAccount {
|
|
@@ -154,15 +168,25 @@ export interface ForexOrderResult {
|
|
|
154
168
|
rate?: number;
|
|
155
169
|
submitTime?: number;
|
|
156
170
|
}
|
|
171
|
+
/** Segment fund available item (segment_fund_available response). */
|
|
172
|
+
export interface SegmentFundAvailableItem {
|
|
173
|
+
fromSegment?: string;
|
|
174
|
+
currency?: string;
|
|
175
|
+
amount?: number;
|
|
176
|
+
}
|
|
177
|
+
/** Segment fund transfer/cancel response. */
|
|
157
178
|
export interface SegmentFund {
|
|
158
|
-
id?: string;
|
|
159
|
-
status?: string;
|
|
179
|
+
id?: string | number;
|
|
160
180
|
fromSegment?: string;
|
|
161
181
|
toSegment?: string;
|
|
162
182
|
currency?: string;
|
|
163
183
|
amount?: number;
|
|
164
|
-
|
|
165
|
-
|
|
184
|
+
status?: string;
|
|
185
|
+
statusDesc?: string;
|
|
186
|
+
message?: string;
|
|
187
|
+
settledAt?: number;
|
|
188
|
+
createdAt?: number;
|
|
189
|
+
updatedAt?: number;
|
|
166
190
|
}
|
|
167
191
|
export interface SegmentFundHistoryItem {
|
|
168
192
|
id?: number;
|
|
@@ -171,8 +195,10 @@ export interface SegmentFundHistoryItem {
|
|
|
171
195
|
currency?: string;
|
|
172
196
|
amount?: number;
|
|
173
197
|
status?: string;
|
|
174
|
-
|
|
175
|
-
|
|
198
|
+
statusDesc?: string;
|
|
199
|
+
settledAt?: number;
|
|
200
|
+
createdAt?: number;
|
|
201
|
+
updatedAt?: number;
|
|
176
202
|
}
|
|
177
203
|
export interface FundDetails {
|
|
178
204
|
id?: number;
|
|
@@ -187,13 +213,18 @@ export interface FundDetails {
|
|
|
187
213
|
externalId?: string;
|
|
188
214
|
}
|
|
189
215
|
export interface FundingHistoryItem {
|
|
190
|
-
id?:
|
|
191
|
-
|
|
216
|
+
id?: number;
|
|
217
|
+
refId?: string;
|
|
218
|
+
type?: number;
|
|
219
|
+
typeDesc?: string;
|
|
192
220
|
currency?: string;
|
|
193
221
|
amount?: number;
|
|
222
|
+
businessDate?: string;
|
|
194
223
|
status?: string;
|
|
195
|
-
|
|
196
|
-
|
|
224
|
+
statusDesc?: string;
|
|
225
|
+
completedStatus?: boolean;
|
|
226
|
+
createdAt?: number;
|
|
227
|
+
updatedAt?: number;
|
|
197
228
|
}
|
|
198
229
|
export interface TransferItem {
|
|
199
230
|
symbol?: string;
|
|
@@ -233,3 +264,63 @@ export interface PositionTransferExternalRecord {
|
|
|
233
264
|
submitTime?: number;
|
|
234
265
|
updateTime?: number;
|
|
235
266
|
}
|
|
267
|
+
/** 行权检验结果 */
|
|
268
|
+
export interface OptionExerciseCheckResult {
|
|
269
|
+
availableQuantity: number;
|
|
270
|
+
position: number;
|
|
271
|
+
stkPosition: number;
|
|
272
|
+
stkPositionChange: number;
|
|
273
|
+
stkPositionBefore: number;
|
|
274
|
+
stkPositionAfter: number;
|
|
275
|
+
symbol?: string;
|
|
276
|
+
}
|
|
277
|
+
/** 可行权期权持仓条目 */
|
|
278
|
+
export interface OptionExercisePosition {
|
|
279
|
+
contractId?: number;
|
|
280
|
+
symbol?: string;
|
|
281
|
+
stkSymbol?: string;
|
|
282
|
+
expireDate?: string;
|
|
283
|
+
strike?: string;
|
|
284
|
+
callPut?: string;
|
|
285
|
+
market?: string;
|
|
286
|
+
accountId?: number;
|
|
287
|
+
position: number;
|
|
288
|
+
availableQuantity: number;
|
|
289
|
+
}
|
|
290
|
+
/** 可行权持仓分页结果 */
|
|
291
|
+
export interface OptionExercisePositionPageResult {
|
|
292
|
+
pageNum: number;
|
|
293
|
+
pageSize: number;
|
|
294
|
+
itemCount: number;
|
|
295
|
+
pageCount: number;
|
|
296
|
+
items?: OptionExercisePosition[];
|
|
297
|
+
}
|
|
298
|
+
/** 行权申请记录条目 */
|
|
299
|
+
export interface OptionExerciseRecord {
|
|
300
|
+
id?: number;
|
|
301
|
+
contractId?: number;
|
|
302
|
+
symbol?: string;
|
|
303
|
+
stkSymbol?: string;
|
|
304
|
+
expireDate?: string;
|
|
305
|
+
strike?: string;
|
|
306
|
+
callPut?: string;
|
|
307
|
+
/** Exercise | Expire */
|
|
308
|
+
type?: string;
|
|
309
|
+
requestQuantity: number;
|
|
310
|
+
quantity: number;
|
|
311
|
+
/** New | Cancel | Success | Fail */
|
|
312
|
+
status?: string;
|
|
313
|
+
executingDate?: string;
|
|
314
|
+
itmRate: number;
|
|
315
|
+
isForce: boolean;
|
|
316
|
+
reason?: string;
|
|
317
|
+
accountId?: number;
|
|
318
|
+
}
|
|
319
|
+
/** 行权记录分页结果 */
|
|
320
|
+
export interface OptionExerciseRecordPageResult {
|
|
321
|
+
pageNum: number;
|
|
322
|
+
pageSize: number;
|
|
323
|
+
itemCount: number;
|
|
324
|
+
pageCount: number;
|
|
325
|
+
items?: OptionExerciseRecord[];
|
|
326
|
+
}
|
|
@@ -44,10 +44,12 @@ export declare class PushClient {
|
|
|
44
44
|
private useFullTick;
|
|
45
45
|
private socket;
|
|
46
46
|
private _state;
|
|
47
|
+
/** Whether this connect attempt already fell back to unverified TLS */
|
|
48
|
+
private tlsFallback;
|
|
47
49
|
private callbacks;
|
|
48
50
|
/** Subscription state: subject -> Set<symbol> */
|
|
49
51
|
private subscriptions;
|
|
50
|
-
/** Account-level subscriptions */
|
|
52
|
+
/** Account-level subscriptions: subject -> account string used at subscribe time */
|
|
51
53
|
private accountSubs;
|
|
52
54
|
private heartbeatTimer;
|
|
53
55
|
private reconnectTimer;
|
|
@@ -166,6 +168,6 @@ export declare class PushClient {
|
|
|
166
168
|
unsubscribeTransaction(): void;
|
|
167
169
|
/** Get current market data subscriptions */
|
|
168
170
|
getSubscriptions(): Map<SubjectType, string[]>;
|
|
169
|
-
/** Get account-level subscriptions */
|
|
170
|
-
getAccountSubscriptions(): SubjectType
|
|
171
|
+
/** Get account-level subscriptions: subject -> account */
|
|
172
|
+
getAccountSubscriptions(): Map<SubjectType, string>;
|
|
171
173
|
}
|
|
@@ -124,7 +124,9 @@ export declare class QuoteClient {
|
|
|
124
124
|
getFutureBars(req: FutureBarsRequest): Promise<FutureKline[]>;
|
|
125
125
|
/** Client-side paginated futures K-line fetch. */
|
|
126
126
|
getFutureBarsByPage(req: FutureBarsByPageRequest): Promise<FutureKlineItem[]>;
|
|
127
|
-
/** Futures tick trades. wire: future_tick (API v3.0)
|
|
127
|
+
/** Futures tick trades. wire: future_tick (API v3.0)
|
|
128
|
+
* Server returns {contractCode, items:[...]}; unwrap items and backfill contractCode.
|
|
129
|
+
* endIndex defaults to 30 when not set (consistent with Python/Go SDK). */
|
|
128
130
|
getFutureTradeTicks(req: FutureTradeTicksRequest): Promise<FutureTradeTickItem[]>;
|
|
129
131
|
/** Futures depth. wire: future_depth */
|
|
130
132
|
getFutureDepth(req: FutureDepthRequest): Promise<FutureDepth[]>;
|
|
@@ -11,8 +11,8 @@ import type { HttpClient } from '../client/http-client';
|
|
|
11
11
|
import type { OrderRequest, Order } from '../model/order';
|
|
12
12
|
import type { Contract } from '../model/contract';
|
|
13
13
|
import type { Position } from '../model/position';
|
|
14
|
-
import type { Asset, PrimeAsset, PreviewResult, PlaceOrderResult, OrderIdResult, Transaction, ManagedAccount, AnalyticsAsset, AggregateAssets, EstimateTradableQuantity, ForexOrderResult, SegmentFund, SegmentFundHistoryItem, FundDetails, FundingHistoryItem, PositionTransferRecord, PositionTransferDetail, PositionTransferExternalRecord } from '../model/trade';
|
|
15
|
-
import type { OrdersRequest, GetOrderRequest, OrderTransactionsRequest, PositionsRequest, AssetsRequest, ManagedAccountsRequest, DerivativeContractsRequest, AnalyticsAssetRequest, AggregateAssetsRequest, EstimateTradableQuantityRequest, ForexOrderRequest, SegmentFundRequest, FundDetailsRequest, FundingHistoryRequest, PositionTransferRequest, PositionTransferRecordsRequest, PositionTransferDetailRequest, PositionTransferExternalRecordsRequest } from '../model/trade-requests';
|
|
14
|
+
import type { Asset, PrimeAsset, PreviewResult, PlaceOrderResult, OrderIdResult, Transaction, ManagedAccount, AnalyticsAsset, AggregateAssets, EstimateTradableQuantity, ForexOrderResult, SegmentFund, SegmentFundAvailableItem, SegmentFundHistoryItem, FundDetails, FundingHistoryItem, PositionTransferRecord, PositionTransferDetail, PositionTransferExternalRecord, OptionExerciseCheckResult, OptionExercisePositionPageResult, OptionExerciseRecordPageResult } from '../model/trade';
|
|
15
|
+
import type { OrdersRequest, GetOrderRequest, OrderTransactionsRequest, PositionsRequest, AssetsRequest, ManagedAccountsRequest, DerivativeContractsRequest, AnalyticsAssetRequest, AggregateAssetsRequest, EstimateTradableQuantityRequest, ForexOrderRequest, SegmentFundRequest, FundDetailsRequest, FundingHistoryRequest, PositionTransferRequest, PositionTransferRecordsRequest, PositionTransferDetailRequest, PositionTransferExternalRecordsRequest, OptionExerciseCheckRequest, OptionExercisePositionRequest, OptionExerciseSubmitRequest, OptionExerciseRecordsRequest, OptionExerciseCancelRequest } from '../model/trade-requests';
|
|
16
16
|
/** Trading client wrapping all trade-related APIs. */
|
|
17
17
|
export declare class TradeClient {
|
|
18
18
|
private httpClient;
|
|
@@ -91,7 +91,7 @@ export declare class TradeClient {
|
|
|
91
91
|
/** Place forex order (sub-account base-currency swap). */
|
|
92
92
|
placeForexOrder(req: ForexOrderRequest): Promise<ForexOrderResult | undefined>;
|
|
93
93
|
/** Query amount available for inter-segment transfer. Returns array. */
|
|
94
|
-
getSegmentFundAvailable(req: SegmentFundRequest): Promise<
|
|
94
|
+
getSegmentFundAvailable(req: SegmentFundRequest): Promise<SegmentFundAvailableItem[]>;
|
|
95
95
|
/** Query segment fund transfer history. Server returns plain array (no items wrapper). */
|
|
96
96
|
getSegmentFundHistory(req: SegmentFundRequest): Promise<SegmentFundHistoryItem[]>;
|
|
97
97
|
/** Execute an inter-segment fund transfer. */
|
|
@@ -100,7 +100,8 @@ export declare class TradeClient {
|
|
|
100
100
|
cancelSegmentFund(req: SegmentFundRequest): Promise<SegmentFund | undefined>;
|
|
101
101
|
/** Fund-movement details (by segment / currency / fund-type). */
|
|
102
102
|
getFundDetails(req: FundDetailsRequest): Promise<FundDetails[]>;
|
|
103
|
-
/** Funding history (wire method: `transfer_fund`).
|
|
103
|
+
/** Funding history (wire method: `transfer_fund`).
|
|
104
|
+
* Server returns bare list (no items wrapper). */
|
|
104
105
|
getFundingHistory(req: FundingHistoryRequest): Promise<FundingHistoryItem[]>;
|
|
105
106
|
/**
|
|
106
107
|
* Internal position transfer (cross sub-account).
|
|
@@ -113,4 +114,14 @@ export declare class TradeClient {
|
|
|
113
114
|
getPositionTransferDetail(req: PositionTransferDetailRequest): Promise<PositionTransferDetail | undefined>;
|
|
114
115
|
/** Query external position transfer records (DWAC / FOP / etc.). */
|
|
115
116
|
getPositionTransferExternalRecords(req: PositionTransferExternalRecordsRequest): Promise<PositionTransferExternalRecord[]>;
|
|
117
|
+
/** 行权检验:预估行权/作废后正股持仓变化 (wire: option_exercise_check) */
|
|
118
|
+
checkOptionExercise(req: OptionExerciseCheckRequest): Promise<OptionExerciseCheckResult | undefined>;
|
|
119
|
+
/** 查询可行权持仓列表 (wire: option_exercise_position) */
|
|
120
|
+
getOptionExercisePositions(req: OptionExercisePositionRequest): Promise<OptionExercisePositionPageResult | undefined>;
|
|
121
|
+
/** 提交行权/作废申请 (wire: option_exercise_submit) */
|
|
122
|
+
submitOptionExercise(req: OptionExerciseSubmitRequest): Promise<boolean>;
|
|
123
|
+
/** 分页查询行权记录 (wire: option_exercise_record) */
|
|
124
|
+
getOptionExerciseRecords(req: OptionExerciseRecordsRequest): Promise<OptionExerciseRecordPageResult | undefined>;
|
|
125
|
+
/** 撤销行权申请 (wire: option_exercise_cancel) */
|
|
126
|
+
cancelOptionExercise(req: OptionExerciseCancelRequest): Promise<boolean>;
|
|
116
127
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tigeropenapi/tigeropen",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Tiger Brokers OpenAPI TypeScript SDK for market data, trading, and real-time push",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"url": "https://github.com/tigerfintech/openapi-typescript-sdk/issues"
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
|
-
"build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json",
|
|
27
|
+
"build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/fix-esm-imports.mjs",
|
|
28
28
|
"build:esm": "tsc -p tsconfig.json",
|
|
29
29
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
30
30
|
"prepublishOnly": "npm run build",
|