@huskly/ibkr-client 2.4.3 → 2.7.1
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 +77 -0
- package/dist/flex/flexClient.d.ts +17 -0
- package/dist/flex/flexClient.d.ts.map +1 -0
- package/dist/flex/flexClient.js +153 -0
- package/dist/flex/flexClient.js.map +1 -0
- package/dist/flex/flexStatement.d.ts +10 -0
- package/dist/flex/flexStatement.d.ts.map +1 -0
- package/dist/flex/flexStatement.js +104 -0
- package/dist/flex/flexStatement.js.map +1 -0
- package/dist/flex/types.d.ts +24 -0
- package/dist/flex/types.d.ts.map +1 -0
- package/dist/flex/types.js +2 -0
- package/dist/flex/types.js.map +1 -0
- package/dist/ibkr/equityContract.d.ts +4 -0
- package/dist/ibkr/equityContract.d.ts.map +1 -0
- package/dist/ibkr/equityContract.js +45 -0
- package/dist/ibkr/equityContract.js.map +1 -0
- package/dist/ibkr/ibkrClient.d.ts +10 -1
- package/dist/ibkr/ibkrClient.d.ts.map +1 -1
- package/dist/ibkr/ibkrClient.js +148 -1
- package/dist/ibkr/ibkrClient.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +31 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -75,6 +75,70 @@ Version 2.0.0 makes session and write safety evidence explicit:
|
|
|
75
75
|
- Handle both `requested` and `recovery_required` cancellation results. Only an unambiguous broker
|
|
76
76
|
acknowledgement returns `requested`.
|
|
77
77
|
|
|
78
|
+
## Flex statement evidence
|
|
79
|
+
|
|
80
|
+
`FlexClient` is a separate, read-only client for the
|
|
81
|
+
[IBKR Flex Web Service](https://www.interactivebrokers.com/docs/web-api/flex-web-service/introduction).
|
|
82
|
+
It does not use OAuth brokerage credentials or create a brokerage session.
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
import { FlexClient } from "@huskly/ibkr-client";
|
|
86
|
+
|
|
87
|
+
// Obtain these values from private deployment settings, not a tracked file.
|
|
88
|
+
const flex = new FlexClient(flexToken);
|
|
89
|
+
const referenceCode = await flex.requestReport(
|
|
90
|
+
{
|
|
91
|
+
queryId,
|
|
92
|
+
fromDate: "20260901",
|
|
93
|
+
toDate: "20260902",
|
|
94
|
+
},
|
|
95
|
+
abortSignal
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
// Schedule this call after generation. A report can still be pending.
|
|
99
|
+
const result = await flex.readStatement(referenceCode, abortSignal);
|
|
100
|
+
if (result.status === "pending") {
|
|
101
|
+
// Schedule another read of this reference code. Do not request a new report.
|
|
102
|
+
} else {
|
|
103
|
+
consumeStatementEvidence(result.statements, result.observedAtEpochMillis);
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Create a Flex Web Service token and an Activity Flex Query in Client Portal first.
|
|
108
|
+
Use an unfiltered query with detailed Cash Transactions and Transfers sections,
|
|
109
|
+
all cash-transaction types, account identity, transaction identity, source amount,
|
|
110
|
+
currency, date/time, and statement date range. Retain the query's time-zone and
|
|
111
|
+
date/time format settings. A query that omits a section, filters rows, aggregates
|
|
112
|
+
transactions, or reports only trade confirmations cannot prove cash-flow coverage.
|
|
113
|
+
The client does not inspect the saved query's configuration or certify completeness.
|
|
114
|
+
|
|
115
|
+
Each method makes one GET request to the fixed documented HTTPS host. It ignores
|
|
116
|
+
any URL returned by generation, refuses redirects, and uses a 30-second deadline
|
|
117
|
+
plus optional caller cancellation. There is no automatic retry or polling loop.
|
|
118
|
+
The caller must obey IBKR's generation limits: at most one request per second and
|
|
119
|
+
10 per minute. `requestReport()` returns the reference code, not statement data.
|
|
120
|
+
`readStatement()` returns `pending` only for error code `1019`. Other service
|
|
121
|
+
refusals throw `FlexServiceError` with a validated four-digit code or `null`.
|
|
122
|
+
Errors omit private response text and token-bearing URLs, including error causes.
|
|
123
|
+
Never log tokens, request URLs, reference codes, or raw statement evidence.
|
|
124
|
+
|
|
125
|
+
`parseFlexStatement(xml)` is also exported for an already retrieved XML report.
|
|
126
|
+
Each result preserves statement attributes and CashTransaction/Transfer attributes
|
|
127
|
+
as strings. Missing sections are `null`; explicitly empty sections are `[]`.
|
|
128
|
+
Missing currency or time fields are not inferred. XML entities such as `&`
|
|
129
|
+
are decoded, but DTD and entity declarations are refused. Malformed structures,
|
|
130
|
+
repeated target sections, unexpected target rows, and inconsistent stated counts
|
|
131
|
+
are refused rather than silently discarded. Other statement sections are not
|
|
132
|
+
part of this focused result. Input is limited to 8 MiB of UTF-8 data and 32 nested
|
|
133
|
+
tags. XML parser diagnostics are not exposed because they can contain private data.
|
|
134
|
+
|
|
135
|
+
A ready report can lag current balances. Validate report identity, source dates,
|
|
136
|
+
query configuration, currencies, event classification, and corrections before
|
|
137
|
+
using it for performance. Date-only or ambiguous local times do not establish an
|
|
138
|
+
intraday flow time. The returned observation time is when this client parsed the
|
|
139
|
+
report, not when its financial data became effective. The existing contract-filtered
|
|
140
|
+
`fetchTransactionHistory()` is unchanged and is not an account-wide cash-flow feed.
|
|
141
|
+
|
|
78
142
|
## Library API
|
|
79
143
|
|
|
80
144
|
`IbkrClient` owns IBKR authentication, requests, raw response types, and
|
|
@@ -147,6 +211,10 @@ validated at runtime. Its broker-neutral account API includes:
|
|
|
147
211
|
settlement style on this endpoint, and a known adjusted class (`TLRY1`) reports the same
|
|
148
212
|
`multiplier` `"100"` and the same `cfi_code` `"OPXXXS"` as a standard class (`SPY`). The CONSUMER
|
|
149
213
|
decides what the facts qualify.
|
|
214
|
+
- `resolveEquityContract(symbol)` returns one exact SMART-routed US `STK` identity. It requires
|
|
215
|
+
one IBKR `isUS` listing and verifies the conid, symbol, security type, USD currency, and SMART
|
|
216
|
+
routing against `iserver/contract/{conid}/info`. Empty, ambiguous, incomplete, or conflicting
|
|
217
|
+
evidence fails closed.
|
|
150
218
|
- `getQuotes()` and `searchInstruments()` for equity/ETF discovery and quotes. Quote requests accept
|
|
151
219
|
a symbol and an optional broker ID. A broker ID reads that exact contract without symbol
|
|
152
220
|
discovery. A request without one can also resolve a complete OSI option symbol without loading
|
|
@@ -475,6 +543,15 @@ normalized result includes paper/live environment, commission, initial and maint
|
|
|
475
543
|
warnings, rejection reasons, and `submitted: false`. An incomplete nominal success fails closed.
|
|
476
544
|
Permission metadata is diagnostic only; the What-If response remains authoritative.
|
|
477
545
|
|
|
546
|
+
### Guarded US equity order execution
|
|
547
|
+
|
|
548
|
+
`resolveEquityContract(symbol)` must produce the exact contract before an order can be previewed.
|
|
549
|
+
`previewEquityOrder(...)` sends one What-If request and always returns `submitted: false`.
|
|
550
|
+
`submitEquityOrder(...)` accepts only BUY or SELL limit orders for positive whole-share quantities
|
|
551
|
+
and requires a stable client order ID. `cancelEquityOrder(...)` sends one cancellation request. These
|
|
552
|
+
broker writes never retry automatically. Warning, lifecycle, and recovery evidence use the same
|
|
553
|
+
strict normalization as single derivative orders.
|
|
554
|
+
|
|
478
555
|
### Guarded derivative order execution
|
|
479
556
|
|
|
480
557
|
`IbkrClient` implements a separate `DerivativeExecutionClient` capability for callers that have
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { FlexReportRequest, FlexStatementResult } from "./types.js";
|
|
2
|
+
/** A redacted refusal. Only the provider's four-digit error code is retained. */
|
|
3
|
+
export declare class FlexServiceError extends Error {
|
|
4
|
+
readonly code: string | null;
|
|
5
|
+
constructor(code: string | null);
|
|
6
|
+
}
|
|
7
|
+
/** Read-only Flex transport. It has no brokerage session or order capability. */
|
|
8
|
+
export declare class FlexClient {
|
|
9
|
+
#private;
|
|
10
|
+
constructor(token: string);
|
|
11
|
+
/** Generate once. The caller owns scheduling and the documented pacing limits. */
|
|
12
|
+
requestReport(input: FlexReportRequest, signal?: AbortSignal): Promise<string>;
|
|
13
|
+
/** Retrieve once. A pending report must be scheduled by the caller, not polled here. */
|
|
14
|
+
readStatement(referenceCode: string, signal?: AbortSignal): Promise<FlexStatementResult>;
|
|
15
|
+
private request;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=flexClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexClient.d.ts","sourceRoot":"","sources":["../../src/flex/flexClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIzE,iFAAiF;AACjF,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBACjB,IAAI,EAAE,MAAM,GAAG,IAAI;CAUhC;AAuDD,iFAAiF;AACjF,qBAAa,UAAU;;gBAGT,KAAK,EAAE,MAAM;IAKzB,kFAAkF;IAC5E,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBpF,wFAAwF;IAClF,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAchF,OAAO;CAiCtB"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { FLEX_MAX_BYTES, flexStatementsOf, object, parseFlexDocument } from "./flexStatement.js";
|
|
2
|
+
const BASE = "https://ndcdyn.interactivebrokers.com/AccountManagement/FlexWebService";
|
|
3
|
+
/** A redacted refusal. Only the provider's four-digit error code is retained. */
|
|
4
|
+
export class FlexServiceError extends Error {
|
|
5
|
+
code;
|
|
6
|
+
constructor(code) {
|
|
7
|
+
const safe = code !== null && /^\d{4}$/.test(code) ? code : null;
|
|
8
|
+
super(safe === null
|
|
9
|
+
? "Flex service refused the request"
|
|
10
|
+
: `Flex service refused the request (${safe})`);
|
|
11
|
+
this.name = "FlexServiceError";
|
|
12
|
+
this.code = safe;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function identifier(value) {
|
|
16
|
+
if (!/^\d{1,64}$/.test(value))
|
|
17
|
+
throw new Error("Invalid Flex query or reference identifier");
|
|
18
|
+
}
|
|
19
|
+
function reportDay(value) {
|
|
20
|
+
if (!/^\d{8}$/.test(value))
|
|
21
|
+
throw new Error("Invalid Flex report date");
|
|
22
|
+
const iso = `${value.slice(0, 4)}-${value.slice(4, 6)}-${value.slice(6, 8)}`;
|
|
23
|
+
const timestamp = Date.parse(`${iso}T00:00:00Z`);
|
|
24
|
+
if (!Number.isFinite(timestamp) || new Date(timestamp).toISOString().slice(0, 10) !== iso) {
|
|
25
|
+
throw new Error("Invalid Flex report date");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function serviceResponse(document) {
|
|
29
|
+
if (Object.keys(document).length !== 1)
|
|
30
|
+
throw new Error("Malformed Flex service response");
|
|
31
|
+
return object(document["FlexStatementResponse"]);
|
|
32
|
+
}
|
|
33
|
+
function failure(response) {
|
|
34
|
+
const code = response["ErrorCode"];
|
|
35
|
+
return new FlexServiceError(typeof code === "string" ? code : null);
|
|
36
|
+
}
|
|
37
|
+
async function boundedText(response, signal) {
|
|
38
|
+
const reader = response.body?.getReader();
|
|
39
|
+
if (reader === undefined)
|
|
40
|
+
throw new Error("Empty Flex response");
|
|
41
|
+
try {
|
|
42
|
+
const statedLength = Number(response.headers.get("content-length"));
|
|
43
|
+
if (statedLength > FLEX_MAX_BYTES)
|
|
44
|
+
throw new Error("Oversized Flex response");
|
|
45
|
+
const chunks = [];
|
|
46
|
+
let bytes = 0;
|
|
47
|
+
for (;;) {
|
|
48
|
+
signal.throwIfAborted();
|
|
49
|
+
const next = await reader.read();
|
|
50
|
+
if (next.done)
|
|
51
|
+
break;
|
|
52
|
+
const chunk = next.value;
|
|
53
|
+
if (!(chunk instanceof Uint8Array))
|
|
54
|
+
throw new Error("Malformed Flex response stream");
|
|
55
|
+
bytes += chunk.byteLength;
|
|
56
|
+
if (bytes > FLEX_MAX_BYTES)
|
|
57
|
+
throw new Error("Oversized Flex response");
|
|
58
|
+
chunks.push(chunk);
|
|
59
|
+
}
|
|
60
|
+
signal.throwIfAborted();
|
|
61
|
+
return new TextDecoder("utf-8", { fatal: true }).decode(Buffer.concat(chunks));
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
try {
|
|
65
|
+
await reader.cancel();
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
/* Do not expose a transport diagnostic. */
|
|
69
|
+
}
|
|
70
|
+
reader.releaseLock();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/** Read-only Flex transport. It has no brokerage session or order capability. */
|
|
74
|
+
export class FlexClient {
|
|
75
|
+
#token;
|
|
76
|
+
constructor(token) {
|
|
77
|
+
if (token.trim() === "")
|
|
78
|
+
throw new Error("A Flex access token is required");
|
|
79
|
+
this.#token = token;
|
|
80
|
+
}
|
|
81
|
+
/** Generate once. The caller owns scheduling and the documented pacing limits. */
|
|
82
|
+
async requestReport(input, signal) {
|
|
83
|
+
identifier(input.queryId);
|
|
84
|
+
reportDay(input.fromDate);
|
|
85
|
+
reportDay(input.toDate);
|
|
86
|
+
if (input.fromDate > input.toDate)
|
|
87
|
+
throw new Error("Flex report dates are not ordered");
|
|
88
|
+
const document = await this.request("SendRequest", {
|
|
89
|
+
q: input.queryId,
|
|
90
|
+
fd: input.fromDate,
|
|
91
|
+
td: input.toDate,
|
|
92
|
+
}, signal);
|
|
93
|
+
const response = serviceResponse(document);
|
|
94
|
+
if (response["Status"] === "Fail")
|
|
95
|
+
throw failure(response);
|
|
96
|
+
if (response["Status"] !== "Success" || typeof response["ReferenceCode"] !== "string") {
|
|
97
|
+
throw new Error("Malformed Flex generation acknowledgement");
|
|
98
|
+
}
|
|
99
|
+
identifier(response["ReferenceCode"]);
|
|
100
|
+
return response["ReferenceCode"];
|
|
101
|
+
}
|
|
102
|
+
/** Retrieve once. A pending report must be scheduled by the caller, not polled here. */
|
|
103
|
+
async readStatement(referenceCode, signal) {
|
|
104
|
+
identifier(referenceCode);
|
|
105
|
+
const document = await this.request("GetStatement", { q: referenceCode }, signal);
|
|
106
|
+
if (document["FlexStatementResponse"] !== undefined) {
|
|
107
|
+
const response = serviceResponse(document);
|
|
108
|
+
if (response["Status"] !== "Fail")
|
|
109
|
+
throw new Error("Malformed Flex retrieval response");
|
|
110
|
+
const error = failure(response);
|
|
111
|
+
if (error.code === "1019")
|
|
112
|
+
return { status: "pending", code: "1019" };
|
|
113
|
+
throw error;
|
|
114
|
+
}
|
|
115
|
+
const statements = flexStatementsOf(document);
|
|
116
|
+
return { status: "ready", observedAtEpochMillis: Date.now(), statements };
|
|
117
|
+
}
|
|
118
|
+
async request(operation, params, caller) {
|
|
119
|
+
const deadline = AbortSignal.timeout(30_000);
|
|
120
|
+
// AbortSignal.any requires Node 20.3; keep the package's Node 20.0 contract.
|
|
121
|
+
const controller = new AbortController();
|
|
122
|
+
const abort = () => {
|
|
123
|
+
controller.abort();
|
|
124
|
+
};
|
|
125
|
+
deadline.addEventListener("abort", abort, { once: true });
|
|
126
|
+
caller?.addEventListener("abort", abort, { once: true });
|
|
127
|
+
if (caller?.aborted === true || deadline.aborted)
|
|
128
|
+
abort();
|
|
129
|
+
const signal = controller.signal;
|
|
130
|
+
let text;
|
|
131
|
+
try {
|
|
132
|
+
signal.throwIfAborted();
|
|
133
|
+
const url = new URL(`${BASE}/${operation}`);
|
|
134
|
+
url.search = new URLSearchParams({ ...params, t: this.#token, v: "3" }).toString();
|
|
135
|
+
const response = await fetch(url, { method: "GET", redirect: "error", signal });
|
|
136
|
+
if (!response.ok)
|
|
137
|
+
throw new Error("Flex HTTP refusal");
|
|
138
|
+
text = await boundedText(response, signal);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
// No cause: fetch errors can contain token-bearing URLs or response data.
|
|
142
|
+
if (signal.aborted)
|
|
143
|
+
throw new DOMException("Flex request aborted", "AbortError");
|
|
144
|
+
throw new Error("Flex request failed");
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
deadline.removeEventListener("abort", abort);
|
|
148
|
+
caller?.removeEventListener("abort", abort);
|
|
149
|
+
}
|
|
150
|
+
return parseFlexDocument(text);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=flexClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexClient.js","sourceRoot":"","sources":["../../src/flex/flexClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FlexStatementEvidence } from "./types.js";
|
|
2
|
+
/** A bound on both HTTP bytes and direct parser input. */
|
|
3
|
+
export declare const FLEX_MAX_BYTES: number;
|
|
4
|
+
export declare function object(value: unknown): Record<string, unknown>;
|
|
5
|
+
/** Never include the XML parser's diagnostic: it can contain private source data. */
|
|
6
|
+
export declare function parseFlexDocument(xml: string): Record<string, unknown>;
|
|
7
|
+
export declare function flexStatementsOf(document: Record<string, unknown>): readonly FlexStatementEvidence[];
|
|
8
|
+
/** Parse cash and transfer sections, not an assertion that a query is unfiltered. */
|
|
9
|
+
export declare function parseFlexStatement(xml: string): readonly FlexStatementEvidence[];
|
|
10
|
+
//# sourceMappingURL=flexStatement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexStatement.d.ts","sourceRoot":"","sources":["../../src/flex/flexStatement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,0DAA0D;AAC1D,eAAO,MAAM,cAAc,QAAkB,CAAC;AAY9C,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK9D;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAatE;AAmDD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,SAAS,qBAAqB,EAAE,CAiBlC;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,qBAAqB,EAAE,CAEhF"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { XMLParser } from "fast-xml-parser";
|
|
2
|
+
import { SyntaxValidator } from "fast-xml-validator";
|
|
3
|
+
/** A bound on both HTTP bytes and direct parser input. */
|
|
4
|
+
export const FLEX_MAX_BYTES = 8 * 1024 * 1024;
|
|
5
|
+
const parser = new XMLParser({
|
|
6
|
+
ignoreAttributes: false,
|
|
7
|
+
attributeNamePrefix: "",
|
|
8
|
+
attributesGroupName: "$",
|
|
9
|
+
parseAttributeValue: false,
|
|
10
|
+
parseTagValue: false,
|
|
11
|
+
trimValues: false,
|
|
12
|
+
ignoreDeclaration: true,
|
|
13
|
+
maxNestedTags: 32,
|
|
14
|
+
});
|
|
15
|
+
export function object(value) {
|
|
16
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
17
|
+
throw new Error("Malformed Flex document structure");
|
|
18
|
+
}
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
/** Never include the XML parser's diagnostic: it can contain private source data. */
|
|
22
|
+
export function parseFlexDocument(xml) {
|
|
23
|
+
if (Buffer.byteLength(xml, "utf8") > FLEX_MAX_BYTES || /<!DOCTYPE|<!ENTITY/i.test(xml)) {
|
|
24
|
+
throw new Error("Flex XML exceeds safe input limits");
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
SyntaxValidator.validate(xml, {
|
|
28
|
+
invalidCharSequence: { comment: true, tagValue: true, attrLt: true },
|
|
29
|
+
});
|
|
30
|
+
const parsed = parser.parse(xml);
|
|
31
|
+
return object(parsed);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
throw new Error("Malformed Flex XML");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function attributes(node) {
|
|
38
|
+
const raw = node["$"] === undefined ? {} : object(node["$"]);
|
|
39
|
+
const result = {};
|
|
40
|
+
for (const [key, value] of Object.entries(raw)) {
|
|
41
|
+
if (typeof value !== "string")
|
|
42
|
+
throw new Error("Malformed Flex attributes");
|
|
43
|
+
Object.defineProperty(result, key, { value, enumerable: true });
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
function onlyChildren(node, allowed) {
|
|
48
|
+
for (const key of Object.keys(node)) {
|
|
49
|
+
if (key === "$" || allowed.includes(key))
|
|
50
|
+
continue;
|
|
51
|
+
if (key === "#text" && typeof node[key] === "string" && node[key].trim() === "")
|
|
52
|
+
continue;
|
|
53
|
+
throw new Error("Unexpected Flex document content");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function list(value) {
|
|
57
|
+
return Array.isArray(value) ? value : [value];
|
|
58
|
+
}
|
|
59
|
+
function checkCount(node, count, required) {
|
|
60
|
+
const stated = attributes(node)["count"];
|
|
61
|
+
if (stated === undefined && !required)
|
|
62
|
+
return;
|
|
63
|
+
if (stated === undefined || !/^\d+$/.test(stated) || Number(stated) !== count) {
|
|
64
|
+
throw new Error("Flex document count mismatch");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function section(statement, name, rowName) {
|
|
68
|
+
const raw = statement[name];
|
|
69
|
+
if (raw === undefined)
|
|
70
|
+
return null;
|
|
71
|
+
if (typeof raw === "string" && raw.trim() === "")
|
|
72
|
+
return [];
|
|
73
|
+
const node = object(raw);
|
|
74
|
+
onlyChildren(node, [rowName]);
|
|
75
|
+
const rows = node[rowName] === undefined ? [] : list(node[rowName]);
|
|
76
|
+
checkCount(node, rows.length, false);
|
|
77
|
+
return rows.map((row) => {
|
|
78
|
+
const fields = object(row);
|
|
79
|
+
onlyChildren(fields, []);
|
|
80
|
+
return attributes(fields);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
export function flexStatementsOf(document) {
|
|
84
|
+
onlyChildren(document, ["FlexQueryResponse"]);
|
|
85
|
+
const response = object(document["FlexQueryResponse"]);
|
|
86
|
+
onlyChildren(response, ["FlexStatements"]);
|
|
87
|
+
const container = object(response["FlexStatements"]);
|
|
88
|
+
onlyChildren(container, ["FlexStatement"]);
|
|
89
|
+
const statements = container["FlexStatement"] === undefined ? [] : list(container["FlexStatement"]);
|
|
90
|
+
checkCount(container, statements.length, true);
|
|
91
|
+
return statements.map((raw) => {
|
|
92
|
+
const statement = object(raw);
|
|
93
|
+
return {
|
|
94
|
+
statementAttributes: attributes(statement),
|
|
95
|
+
cashTransactions: section(statement, "CashTransactions", "CashTransaction"),
|
|
96
|
+
transfers: section(statement, "Transfers", "Transfer"),
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/** Parse cash and transfer sections, not an assertion that a query is unfiltered. */
|
|
101
|
+
export function parseFlexStatement(xml) {
|
|
102
|
+
return flexStatementsOf(parseFlexDocument(xml));
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=flexStatement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexStatement.js","sourceRoot":"","sources":["../../src/flex/flexStatement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Date overrides for a saved Activity Flex Query. */
|
|
2
|
+
export interface FlexReportRequest {
|
|
3
|
+
readonly queryId: string;
|
|
4
|
+
/** Inclusive report day, YYYYMMDD. */
|
|
5
|
+
readonly fromDate: string;
|
|
6
|
+
/** Inclusive report day, YYYYMMDD. */
|
|
7
|
+
readonly toDate: string;
|
|
8
|
+
}
|
|
9
|
+
/** Raw attributes. Currency, timestamps, and amounts are never inferred. */
|
|
10
|
+
export interface FlexStatementEvidence {
|
|
11
|
+
readonly statementAttributes: Readonly<Record<string, string>>;
|
|
12
|
+
/** Null means absent; an explicit empty section is an empty array. */
|
|
13
|
+
readonly cashTransactions: readonly Readonly<Record<string, string>>[] | null;
|
|
14
|
+
readonly transfers: readonly Readonly<Record<string, string>>[] | null;
|
|
15
|
+
}
|
|
16
|
+
export type FlexStatementResult = {
|
|
17
|
+
readonly status: "pending";
|
|
18
|
+
readonly code: "1019";
|
|
19
|
+
} | {
|
|
20
|
+
readonly status: "ready";
|
|
21
|
+
readonly observedAtEpochMillis: number;
|
|
22
|
+
readonly statements: readonly FlexStatementEvidence[];
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/flex/types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,sEAAsE;IACtE,QAAQ,CAAC,gBAAgB,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;CACxE;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrD;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACvD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/flex/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EquityContract } from "../types.js";
|
|
2
|
+
/** Normalize one complete US equity identity without inferring missing contract facts. */
|
|
3
|
+
export declare function normalizeEquityContract(input: unknown): EquityContract | null;
|
|
4
|
+
//# sourceMappingURL=equityContract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equityContract.d.ts","sourceRoot":"","sources":["../../src/ibkr/equityContract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAiBlD,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CA+B7E"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const exactKeys = new Set([
|
|
2
|
+
"conid",
|
|
3
|
+
"assetClass",
|
|
4
|
+
"symbol",
|
|
5
|
+
"exchange",
|
|
6
|
+
"primaryExchange",
|
|
7
|
+
"currency",
|
|
8
|
+
]);
|
|
9
|
+
function normalizedText(value, pattern) {
|
|
10
|
+
if (typeof value !== "string" || /[\r\n\t]/.test(value))
|
|
11
|
+
return null;
|
|
12
|
+
const normalized = value.trim().toUpperCase();
|
|
13
|
+
return pattern.test(normalized) ? normalized : null;
|
|
14
|
+
}
|
|
15
|
+
/** Normalize one complete US equity identity without inferring missing contract facts. */
|
|
16
|
+
export function normalizeEquityContract(input) {
|
|
17
|
+
if (typeof input !== "object" || input === null || Array.isArray(input))
|
|
18
|
+
return null;
|
|
19
|
+
const record = input;
|
|
20
|
+
if (Object.keys(record).some((key) => !exactKeys.has(key)))
|
|
21
|
+
return null;
|
|
22
|
+
const conid = record["conid"];
|
|
23
|
+
const symbol = normalizedText(record["symbol"], /^[A-Z0-9][A-Z0-9 .-]{0,31}$/);
|
|
24
|
+
const exchange = normalizedText(record["exchange"], /^[A-Z0-9][A-Z0-9._ -]{0,31}$/);
|
|
25
|
+
const primaryExchange = normalizedText(record["primaryExchange"], /^[A-Z0-9][A-Z0-9._ -]{0,31}$/);
|
|
26
|
+
const currency = normalizedText(record["currency"], /^[A-Z]{3}$/);
|
|
27
|
+
if (!Number.isSafeInteger(conid) ||
|
|
28
|
+
conid <= 0 ||
|
|
29
|
+
record["assetClass"] !== "STK" ||
|
|
30
|
+
symbol === null ||
|
|
31
|
+
exchange !== "SMART" ||
|
|
32
|
+
primaryExchange === null ||
|
|
33
|
+
currency !== "USD") {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return Object.freeze({
|
|
37
|
+
conid: conid,
|
|
38
|
+
assetClass: "STK",
|
|
39
|
+
symbol,
|
|
40
|
+
exchange: "SMART",
|
|
41
|
+
primaryExchange,
|
|
42
|
+
currency: "USD",
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=equityContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equityContract.js","sourceRoot":"","sources":["../../src/ibkr/equityContract.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,iBAAiB;IACjB,UAAU;CACX,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAc,EAAE,OAAe;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAExE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,8BAA8B,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;IAElE,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAC3B,KAAgB,IAAI,CAAC;QACtB,MAAM,CAAC,YAAY,CAAC,KAAK,KAAK;QAC9B,MAAM,KAAK,IAAI;QACf,QAAQ,KAAK,OAAO;QACpB,eAAe,KAAK,IAAI;QACxB,QAAQ,KAAK,KAAK,EAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,KAAe;QACtB,UAAU,EAAE,KAAK;QACjB,MAAM;QACN,QAAQ,EAAE,OAAO;QACjB,eAAe;QACf,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IbkrOauth1Config } from "./oauthConfig.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";
|
|
2
|
+
import type { AccountBalances, AccountSettlementEvidence, ContractTransactionEvidence, OptionSeriesReferenceEvidence, UnderlyingInstrumentReferenceEvidence, ActiveDerivativeOrder, AuthStatus, IbkrSessionEvidence, IbkrSessionLifecycleClient, BrokerAccountOrders, BrokerClient, BrokerInstrument, BrokerInstrumentSearchProjection, BrokerOrdersOptions, BrokerPosition, BrokerQuote, BrokerQuoteOptions, BrokerQuoteRequest, BrokerTransactionHistory, BrokerErrorDetail, EquityContract, EquityOrderCancelRequest, EquityOrderPreviewRequest, EquityOrderPreviewResult, EquityOrderRequest, 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;
|
|
@@ -116,6 +116,8 @@ export declare class IbkrClient implements BrokerClient, IbkrSessionLifecycleCli
|
|
|
116
116
|
close(): Promise<void>;
|
|
117
117
|
getAuthStatus(): Promise<AuthStatus>;
|
|
118
118
|
getTradingDiagnostics(accountId: string): Promise<TradingDiagnostics>;
|
|
119
|
+
previewEquityOrder(request: EquityOrderPreviewRequest): Promise<EquityOrderPreviewResult>;
|
|
120
|
+
submitEquityOrder(request: EquityOrderRequest): Promise<DerivativeOrderSubmissionResult>;
|
|
119
121
|
previewDerivativeCombo(request: DerivativeComboPreviewRequest): Promise<DerivativeComboPreviewResult>;
|
|
120
122
|
submitDerivativeCombo(request: DerivativeComboExecutionRequest): Promise<DerivativeOrderSubmissionResult>;
|
|
121
123
|
submitDerivativeSingleOrder(request: DerivativeSingleOrderRequest): Promise<DerivativeOrderSubmissionResult>;
|
|
@@ -178,6 +180,9 @@ export declare class IbkrClient implements BrokerClient, IbkrSessionLifecycleCli
|
|
|
178
180
|
listActiveDerivativeOrders(accountId: string): Promise<ActiveDerivativeOrder[]>;
|
|
179
181
|
getDerivativeExecutions(input: DerivativeExecutionQuery): Promise<DerivativeExecution[]>;
|
|
180
182
|
reconcileDerivativeComboExecution(request: DerivativeComboReconciliationRequest): Promise<DerivativeComboReconciliation>;
|
|
183
|
+
getEquityOrderStatus(accountId: string, orderId: string): Promise<DerivativeOrderLifecycle>;
|
|
184
|
+
findEquityOrder(input: DerivativeOrderLookup): Promise<DerivativeOrderLifecycle>;
|
|
185
|
+
cancelEquityOrder(input: EquityOrderCancelRequest): Promise<DerivativeOrderCancellationResult>;
|
|
181
186
|
cancelDerivativeOrder(input: DerivativeOrderCancelRequest): Promise<DerivativeOrderCancellationResult>;
|
|
182
187
|
getAccountId(): Promise<string>;
|
|
183
188
|
getAccountBalances(): Promise<AccountBalances>;
|
|
@@ -271,6 +276,8 @@ export declare class IbkrClient implements BrokerClient, IbkrSessionLifecycleCli
|
|
|
271
276
|
getQuotes(requests: readonly BrokerQuoteRequest[], options?: BrokerQuoteOptions): Promise<Record<string, BrokerQuote>>;
|
|
272
277
|
private fetchQuotes;
|
|
273
278
|
/** Resolve equity/ETF symbols to IBKR contracts via `trsrv/stocks`. */
|
|
279
|
+
/** Resolve one exact SMART-routed US stock or ETF contract. */
|
|
280
|
+
resolveEquityContract(symbol: string): Promise<EquityContract>;
|
|
274
281
|
searchInstruments(symbol: string, projection?: BrokerInstrumentSearchProjection): Promise<BrokerInstrument[]>;
|
|
275
282
|
/**
|
|
276
283
|
* Read the transaction activity IBKR states for named contracts, without ever
|
|
@@ -348,6 +355,8 @@ export declare class IbkrClient implements BrokerClient, IbkrSessionLifecycleCli
|
|
|
348
355
|
private recoveryOrderMatchesGraphNode;
|
|
349
356
|
private exactStatusTicketMatchesGraphNode;
|
|
350
357
|
private terminalOrderMatchesGraphNode;
|
|
358
|
+
private validateEquityOrderFields;
|
|
359
|
+
private equityOrderTicket;
|
|
351
360
|
private validateSingleOrder;
|
|
352
361
|
private validateSingleOrderFields;
|
|
353
362
|
private cmeOperatorMetadata;
|
|
@@ -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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"}
|