@huskly/ibkr-client 2.2.0 → 2.3.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.
- package/README.md +23 -0
- package/dist/ibkr/ibkrClient.d.ts +51 -1
- package/dist/ibkr/ibkrClient.d.ts.map +1 -1
- package/dist/ibkr/ibkrClient.js +108 -0
- package/dist/ibkr/ibkrClient.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +87 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -99,6 +99,29 @@ validated at runtime. Its broker-neutral account API includes:
|
|
|
99
99
|
makes the read throw. `presentSummaryFieldNames` lists the sorted key NAMES present in the
|
|
100
100
|
summary response, names only and never values, so an operator can confirm the live schema
|
|
101
101
|
without seeing amounts. This method remains a separate read from `getAccountBalances()`.
|
|
102
|
+
- `getContractTransactionEvidence({ conids, currency, days, accountId? })` for the transaction
|
|
103
|
+
activity IBKR states about NAMED contracts. This read never consults held positions, so it
|
|
104
|
+
reaches a contract the account no longer holds - the shape an assigned, exercised, or expired
|
|
105
|
+
option leaves behind. `fetchTransactionHistory()` cannot do this: it loops over held conids only,
|
|
106
|
+
so a gone contract is unreachable through it. The caller states the currency and this read never
|
|
107
|
+
supplies a default, because IBKR converts every figure into the requested currency and a wrong
|
|
108
|
+
currency returns a converted number that looks exactly like a real one. It returns the account
|
|
109
|
+
id, one client-minted `observedAtEpochMillis`, the requested conids, currency, and window, and
|
|
110
|
+
one record for each row IBKR returned. Each record echoes `conid`, `accountId`, `date`,
|
|
111
|
+
`rawDate`, `type`, `description`, `currency`, `amount`, `quantity`, `price`, and `fxRate` exactly
|
|
112
|
+
as the broker stated them. Provider text is verbatim: `type` and `description` keep their own
|
|
113
|
+
case AND their own padding, because they are the only place IBKR names an assignment, and
|
|
114
|
+
trimming them would change what a consumer classifies. A field the broker did not state is
|
|
115
|
+
`null`, a stated zero remains `0`, and a stated whitespace-only string stays that string; a value
|
|
116
|
+
that is not a string reads `null`. `presentFieldNames` lists the sorted key NAMES the row
|
|
117
|
+
carried, names only and never values. The read refuses an empty conid list, a conid that is not a
|
|
118
|
+
positive safe integer, a blank currency, and a window outside 1 through 90 days; it also refuses
|
|
119
|
+
a response that states no transaction ARRAY, because an error envelope, an empty object, or an
|
|
120
|
+
explicit `null` is an unknown broker state and must never reach a consumer looking exactly like a
|
|
121
|
+
completed read that found nothing. A stated empty array is a real answer and is reported as one.
|
|
122
|
+
A missing field inside a row never makes it throw. It proves no event and infers nothing: an empty list
|
|
123
|
+
is not proof that nothing happened, and the CONSUMER decides whether a row states an assignment,
|
|
124
|
+
an exercise, or an expiration.
|
|
102
125
|
- `getOptionSeriesReference(conid)` for one reference read of ONE exact option contract, and
|
|
103
126
|
`getUnderlyingInstrumentReference(conid)` for the same read of an underlying contract. Both read
|
|
104
127
|
`iserver/contract/{conid}/info`. Use this endpoint, not the conid-only `iserver/secdef/info`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IbkrOauth1Config } from "./oauthConfig.js";
|
|
2
|
-
import type { AccountBalances, AccountSettlementEvidence, OptionSeriesReferenceEvidence, UnderlyingInstrumentReferenceEvidence, ActiveDerivativeOrder, AuthStatus, IbkrSessionEvidence, IbkrSessionLifecycleClient, BrokerAccountOrders, BrokerClient, BrokerInstrument, BrokerInstrumentSearchProjection, BrokerOrdersOptions, BrokerPosition, BrokerQuote, BrokerQuoteOptions, BrokerQuoteRequest, BrokerTransactionHistory, BrokerErrorDetail, DerivativeContract, DerivativeContractQuery, DerivativeComboExecutionRequest, DerivativeComboReconciliation, DerivativeComboReconciliationRequest, DerivativeComboPreviewRequest, DerivativeComboPreviewResult, DerivativeContingentChildOrderRequest, DerivativeContingentParentOrderRequest, DerivativeDiscoveryClient, DerivativeExecutionClient, DerivativeExecution, DerivativeExecutionQuery, DerivativeMultiOrderResult, DerivativeOrderGraphLookup, DerivativeOrderGraphRequest, DerivativeOrderGraphResult, DerivativeOrderGraphWarningContinuation, DerivativeOrderCancellationResult, DerivativeOrderCancelRequest, DerivativeOrderLifecycle, DerivativeOrderLookup, DerivativeOrderSubmissionResult, DerivativeSingleOrderRequest, DerivativePreviewClient, DerivativeExpiry, DerivativeExpiryQuery, DerivativeQuote, DerivativeReferenceQuote, OptionChainSnapshot, OptionContract, OptionDefinitionCache, OptionDiscoveryTelemetry, OptionMarketQuote, OptionStrikeRange, OptionQuoteRequest, OptionRight, PriceHistoryContractCandidate, PriceHistoryRequest, PriceHistoryResult, PriceHistoryTelemetry, TradingDiagnostics } from "../types.js";
|
|
2
|
+
import type { AccountBalances, AccountSettlementEvidence, ContractTransactionEvidence, OptionSeriesReferenceEvidence, UnderlyingInstrumentReferenceEvidence, ActiveDerivativeOrder, AuthStatus, IbkrSessionEvidence, IbkrSessionLifecycleClient, BrokerAccountOrders, BrokerClient, BrokerInstrument, BrokerInstrumentSearchProjection, BrokerOrdersOptions, BrokerPosition, BrokerQuote, BrokerQuoteOptions, BrokerQuoteRequest, BrokerTransactionHistory, BrokerErrorDetail, DerivativeContract, DerivativeContractQuery, DerivativeComboExecutionRequest, DerivativeComboReconciliation, DerivativeComboReconciliationRequest, DerivativeComboPreviewRequest, DerivativeComboPreviewResult, DerivativeContingentChildOrderRequest, DerivativeContingentParentOrderRequest, DerivativeDiscoveryClient, DerivativeExecutionClient, DerivativeExecution, DerivativeExecutionQuery, DerivativeMultiOrderResult, DerivativeOrderGraphLookup, DerivativeOrderGraphRequest, DerivativeOrderGraphResult, DerivativeOrderGraphWarningContinuation, DerivativeOrderCancellationResult, DerivativeOrderCancelRequest, DerivativeOrderLifecycle, DerivativeOrderLookup, DerivativeOrderSubmissionResult, DerivativeSingleOrderRequest, DerivativePreviewClient, DerivativeExpiry, DerivativeExpiryQuery, DerivativeQuote, DerivativeReferenceQuote, OptionChainSnapshot, OptionContract, OptionDefinitionCache, OptionDiscoveryTelemetry, OptionMarketQuote, OptionStrikeRange, OptionQuoteRequest, OptionRight, PriceHistoryContractCandidate, PriceHistoryRequest, PriceHistoryResult, PriceHistoryTelemetry, TradingDiagnostics } from "../types.js";
|
|
3
3
|
import { type IbkrRequestSchedulerOptions, type IbkrRequestTelemetry } from "./requestScheduler.js";
|
|
4
4
|
interface IbkrRequestInput {
|
|
5
5
|
path: string;
|
|
@@ -272,6 +272,56 @@ export declare class IbkrClient implements BrokerClient, IbkrSessionLifecycleCli
|
|
|
272
272
|
private fetchQuotes;
|
|
273
273
|
/** Resolve equity/ETF symbols to IBKR contracts via `trsrv/stocks`. */
|
|
274
274
|
searchInstruments(symbol: string, projection?: BrokerInstrumentSearchProjection): Promise<BrokerInstrument[]>;
|
|
275
|
+
/**
|
|
276
|
+
* Read the transaction activity IBKR states for named contracts, without ever
|
|
277
|
+
* asking which contracts the account still holds.
|
|
278
|
+
*
|
|
279
|
+
* {@link fetchTransactionHistory} loops over HELD conids, so a contract that
|
|
280
|
+
* left the account - assigned, exercised, or expired - can never be reached
|
|
281
|
+
* through it. The `pa/transactions` endpoint does not require a conid to be
|
|
282
|
+
* held: it answers for the conids it is given. This method gives it the conids
|
|
283
|
+
* the caller names, so the row of a gone contract stays reachable.
|
|
284
|
+
*
|
|
285
|
+
* The caller states the currency, and this method never supplies a default.
|
|
286
|
+
* IBKR converts every figure into the requested currency, so a wrong currency
|
|
287
|
+
* returns a converted number that looks exactly like a real one.
|
|
288
|
+
* {@link fetchTransactionHistory} reads it from the environment and falls back
|
|
289
|
+
* to `"USD"`; that habit is deliberately not repeated here.
|
|
290
|
+
*
|
|
291
|
+
* Every field is echoed as the broker stated it. A field the broker did not
|
|
292
|
+
* state reads `null`, a stated zero stays `0`, and `type` and `desc` keep
|
|
293
|
+
* their own case. A missing field never makes this method throw. Only an
|
|
294
|
+
* identity or a window this read could not ask about at all is refused.
|
|
295
|
+
*
|
|
296
|
+
* This method proves no event and infers nothing. An empty list is not proof
|
|
297
|
+
* that nothing happened. The CONSUMER, not this package, decides whether a row
|
|
298
|
+
* states an assignment, an exercise, or an expiration.
|
|
299
|
+
*/
|
|
300
|
+
getContractTransactionEvidence(input: {
|
|
301
|
+
/** The conids to ask about. They need not be held. */
|
|
302
|
+
conids: readonly number[];
|
|
303
|
+
/** The currency IBKR must report in. Never defaulted. */
|
|
304
|
+
currency: string;
|
|
305
|
+
/** The window in days back from the broker's today. IBKR serves 1 through 90. */
|
|
306
|
+
days: number;
|
|
307
|
+
/** The account to ask for. Discovered when the caller states none. */
|
|
308
|
+
accountId?: string;
|
|
309
|
+
}): Promise<ContractTransactionEvidence>;
|
|
310
|
+
/**
|
|
311
|
+
* One provider string, echoed exactly as the broker wrote it.
|
|
312
|
+
*
|
|
313
|
+
* {@link trimmedString} is deliberately NOT used here. `type` and `desc` are the only place IBKR
|
|
314
|
+
* names an assignment, an exercise, or an expiration, and the public type states they are echoed
|
|
315
|
+
* exactly. Trimming would change what a consumer classifies and what an audit comparison sees,
|
|
316
|
+
* and a stated whitespace-only string is still a statement, never silence. A value that is not a
|
|
317
|
+
* string is not text the broker stated, so it reads `null`.
|
|
318
|
+
*/
|
|
319
|
+
private verbatimString;
|
|
320
|
+
/**
|
|
321
|
+
* One `pa/transactions` row, echoed. Nothing here maps, classifies, or
|
|
322
|
+
* defaults a value; a field the broker did not state reads `null`.
|
|
323
|
+
*/
|
|
324
|
+
private contractTransactionRecord;
|
|
275
325
|
fetchTransactionHistory(startDate: Date, endDate: Date): Promise<BrokerTransactionHistory[]>;
|
|
276
326
|
fetchOrders(options: BrokerOrdersOptions): Promise<BrokerAccountOrders[]>;
|
|
277
327
|
private validateComboPreview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ibkrClient.d.ts","sourceRoot":"","sources":["../../src/ibkr/ibkrClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ibkrClient.d.ts","sourceRoot":"","sources":["../../src/ibkr/ibkrClient.ts"],"names":[],"mappings":"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"}
|
package/dist/ibkr/ibkrClient.js
CHANGED
|
@@ -1991,6 +1991,114 @@ export class IbkrClient {
|
|
|
1991
1991
|
});
|
|
1992
1992
|
return (response[query] ?? []).flatMap((listing) => this.normalizeStockListing(query, listing));
|
|
1993
1993
|
}
|
|
1994
|
+
/**
|
|
1995
|
+
* Read the transaction activity IBKR states for named contracts, without ever
|
|
1996
|
+
* asking which contracts the account still holds.
|
|
1997
|
+
*
|
|
1998
|
+
* {@link fetchTransactionHistory} loops over HELD conids, so a contract that
|
|
1999
|
+
* left the account - assigned, exercised, or expired - can never be reached
|
|
2000
|
+
* through it. The `pa/transactions` endpoint does not require a conid to be
|
|
2001
|
+
* held: it answers for the conids it is given. This method gives it the conids
|
|
2002
|
+
* the caller names, so the row of a gone contract stays reachable.
|
|
2003
|
+
*
|
|
2004
|
+
* The caller states the currency, and this method never supplies a default.
|
|
2005
|
+
* IBKR converts every figure into the requested currency, so a wrong currency
|
|
2006
|
+
* returns a converted number that looks exactly like a real one.
|
|
2007
|
+
* {@link fetchTransactionHistory} reads it from the environment and falls back
|
|
2008
|
+
* to `"USD"`; that habit is deliberately not repeated here.
|
|
2009
|
+
*
|
|
2010
|
+
* Every field is echoed as the broker stated it. A field the broker did not
|
|
2011
|
+
* state reads `null`, a stated zero stays `0`, and `type` and `desc` keep
|
|
2012
|
+
* their own case. A missing field never makes this method throw. Only an
|
|
2013
|
+
* identity or a window this read could not ask about at all is refused.
|
|
2014
|
+
*
|
|
2015
|
+
* This method proves no event and infers nothing. An empty list is not proof
|
|
2016
|
+
* that nothing happened. The CONSUMER, not this package, decides whether a row
|
|
2017
|
+
* states an assignment, an exercise, or an expiration.
|
|
2018
|
+
*/
|
|
2019
|
+
async getContractTransactionEvidence(input) {
|
|
2020
|
+
this.assertOpen();
|
|
2021
|
+
const currency = input.currency.trim();
|
|
2022
|
+
if (!currency) {
|
|
2023
|
+
throw new Error("Contract transaction evidence requires an explicit currency; it is never defaulted");
|
|
2024
|
+
}
|
|
2025
|
+
if (input.conids.length === 0) {
|
|
2026
|
+
throw new Error("Contract transaction evidence requires at least one conid");
|
|
2027
|
+
}
|
|
2028
|
+
for (const conid of input.conids) {
|
|
2029
|
+
if (!Number.isSafeInteger(conid) || conid <= 0) {
|
|
2030
|
+
throw new Error(`Contract transaction evidence received an unusable conid: ${String(conid)}`);
|
|
2031
|
+
}
|
|
2032
|
+
}
|
|
2033
|
+
if (!Number.isSafeInteger(input.days) || input.days < 1 || input.days > 90) {
|
|
2034
|
+
throw new Error("Contract transaction evidence days must be an integer from 1 through 90");
|
|
2035
|
+
}
|
|
2036
|
+
// Every value the evidence reports is captured BEFORE the await, so a caller that reuses and
|
|
2037
|
+
// mutates its own input object while this read is in flight can never receive evidence that
|
|
2038
|
+
// claims a window or an identity IBKR was not asked for.
|
|
2039
|
+
const conids = [...input.conids];
|
|
2040
|
+
const days = input.days;
|
|
2041
|
+
const accountId = input.accountId ?? (await this.getAccountId());
|
|
2042
|
+
// Read as `unknown`: the declared wire type describes the SUCCESS shape, and the whole point of
|
|
2043
|
+
// the guard below is that IBKR does not always send it.
|
|
2044
|
+
const response = await this.req({
|
|
2045
|
+
path: "pa/transactions",
|
|
2046
|
+
method: "POST",
|
|
2047
|
+
data: { acctIds: [accountId], conids, currency, days },
|
|
2048
|
+
});
|
|
2049
|
+
const envelope = typeof response === "object" && response !== null ? response : {};
|
|
2050
|
+
// A response that states no transaction ARRAY did not answer this question. An error envelope,
|
|
2051
|
+
// an empty object, and an explicit null are unknown broker states, and this package never
|
|
2052
|
+
// reports an unknown state as a successful empty read: the consumer of this evidence decides
|
|
2053
|
+
// whether an assignment happened, and it must not read a refusal as "no activity". A STATED
|
|
2054
|
+
// empty array is a real answer and passes through untouched.
|
|
2055
|
+
if (!Array.isArray(envelope.transactions)) {
|
|
2056
|
+
const present = Object.keys(envelope).sort();
|
|
2057
|
+
throw new Error("IBKR stated no transaction list for this contract transaction read; " +
|
|
2058
|
+
`present response keys: ${present.length === 0 ? "(none)" : present.join(", ")}`);
|
|
2059
|
+
}
|
|
2060
|
+
const rows = envelope.transactions;
|
|
2061
|
+
return {
|
|
2062
|
+
accountId,
|
|
2063
|
+
observedAtEpochMillis: this.now(),
|
|
2064
|
+
requestedConids: conids,
|
|
2065
|
+
requestedCurrency: currency,
|
|
2066
|
+
requestedDays: days,
|
|
2067
|
+
transactions: rows.map((transaction) => this.contractTransactionRecord(transaction)),
|
|
2068
|
+
};
|
|
2069
|
+
}
|
|
2070
|
+
/**
|
|
2071
|
+
* One provider string, echoed exactly as the broker wrote it.
|
|
2072
|
+
*
|
|
2073
|
+
* {@link trimmedString} is deliberately NOT used here. `type` and `desc` are the only place IBKR
|
|
2074
|
+
* names an assignment, an exercise, or an expiration, and the public type states they are echoed
|
|
2075
|
+
* exactly. Trimming would change what a consumer classifies and what an audit comparison sees,
|
|
2076
|
+
* and a stated whitespace-only string is still a statement, never silence. A value that is not a
|
|
2077
|
+
* string is not text the broker stated, so it reads `null`.
|
|
2078
|
+
*/
|
|
2079
|
+
verbatimString(value) {
|
|
2080
|
+
return typeof value === "string" ? value : null;
|
|
2081
|
+
}
|
|
2082
|
+
/**
|
|
2083
|
+
* One `pa/transactions` row, echoed. Nothing here maps, classifies, or
|
|
2084
|
+
* defaults a value; a field the broker did not state reads `null`.
|
|
2085
|
+
*/
|
|
2086
|
+
contractTransactionRecord(transaction) {
|
|
2087
|
+
return {
|
|
2088
|
+
conid: toNullableNumber(transaction.conid),
|
|
2089
|
+
accountId: this.verbatimString(transaction.acctid),
|
|
2090
|
+
date: this.verbatimString(transaction.date),
|
|
2091
|
+
rawDate: this.verbatimString(transaction.rawDate),
|
|
2092
|
+
type: this.verbatimString(transaction.type),
|
|
2093
|
+
description: this.verbatimString(transaction.desc),
|
|
2094
|
+
currency: this.verbatimString(transaction.cur),
|
|
2095
|
+
amount: toNullableNumber(transaction.amt),
|
|
2096
|
+
quantity: toNullableNumber(transaction.qty),
|
|
2097
|
+
price: toNullableNumber(transaction.pr),
|
|
2098
|
+
fxRate: toNullableNumber(transaction.fxRate),
|
|
2099
|
+
presentFieldNames: Object.keys(transaction).sort(),
|
|
2100
|
+
};
|
|
2101
|
+
}
|
|
1994
2102
|
async fetchTransactionHistory(startDate, endDate) {
|
|
1995
2103
|
this.assertOpen();
|
|
1996
2104
|
const accountId = await this.getAccountId();
|