@adaptic/utils 0.0.1001 → 0.0.1003
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/index.cjs +802 -183
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +800 -184
- package/dist/index.mjs.map +1 -1
- package/dist/test.js +70 -0
- package/dist/test.js.map +1 -1
- package/dist/types/__tests__/broker-factory.test.d.ts +2 -0
- package/dist/types/__tests__/broker-factory.test.d.ts.map +1 -0
- package/dist/types/__tests__/broker-types.test.d.ts +2 -0
- package/dist/types/__tests__/broker-types.test.d.ts.map +1 -0
- package/dist/types/alpaca/client.d.ts +1 -1
- package/dist/types/alpaca/client.d.ts.map +1 -1
- package/dist/types/alpaca/legacy/auth.d.ts +27 -0
- package/dist/types/alpaca/legacy/auth.d.ts.map +1 -1
- package/dist/types/alpaca/legacy/index.d.ts +1 -1
- package/dist/types/alpaca/legacy/index.d.ts.map +1 -1
- package/dist/types/alpaca-trading-api.d.ts +68 -4
- package/dist/types/alpaca-trading-api.d.ts.map +1 -1
- package/dist/types/broker/factory.d.ts +70 -0
- package/dist/types/broker/factory.d.ts.map +1 -0
- package/dist/types/broker/index.d.ts +9 -0
- package/dist/types/broker/index.d.ts.map +1 -0
- package/dist/types/crypto.d.ts.map +1 -1
- package/dist/types/errors/index.d.ts +14 -0
- package/dist/types/errors/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/performance-metrics.d.ts.map +1 -1
- package/dist/types/price-utils.d.ts.map +1 -1
- package/dist/types/rate-limiter.d.ts +21 -0
- package/dist/types/rate-limiter.d.ts.map +1 -1
- package/dist/types/types/alpaca-types.d.ts +2 -0
- package/dist/types/types/alpaca-types.d.ts.map +1 -1
- package/dist/types/types/broker-types.d.ts +112 -0
- package/dist/types/types/broker-types.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broker-factory.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/broker-factory.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broker-types.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/broker-types.test.ts"],"names":[],"mappings":""}
|
|
@@ -90,7 +90,7 @@ export declare class AlpacaClient {
|
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
92
92
|
* Create or get a cached Alpaca client
|
|
93
|
-
* Uses apiKey as cache key for connection pooling
|
|
93
|
+
* Uses provider + apiKey + accountType as cache key for connection pooling
|
|
94
94
|
*/
|
|
95
95
|
export declare function createAlpacaClient(config: AlpacaClientConfig): AlpacaClient;
|
|
96
96
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/alpaca/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,MAAM,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/alpaca/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAahD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAyB;gBAE5B,MAAM,EAAE,kBAAkB;IAuBtC;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,SAAS,IAAI,kBAAkB;IAI/B;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;;;;;OAQG;IACG,oBAAoB,CAAC,CAAC,EAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC;IAeb;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAmB1D;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIpC;;;;;;;;OAQG;IACG,WAAW,CAAC,CAAC,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAgB,EACjD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;CA0Dd;AAUD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAW3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAkBlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -29,7 +29,34 @@ export interface ValidatedAuth {
|
|
|
29
29
|
*
|
|
30
30
|
* @param auth - The authentication details for Alpaca
|
|
31
31
|
* @returns Validated authentication credentials
|
|
32
|
+
* @throws UnsupportedBrokerError if `auth.provider` is set to a non-ALPACA provider
|
|
32
33
|
* @throws Error if authentication details are missing or invalid
|
|
33
34
|
*/
|
|
34
35
|
export declare function validateAuth(auth: AlpacaAuth): Promise<ValidatedAuth>;
|
|
36
|
+
/**
|
|
37
|
+
* Resolves broker credentials for a backend brokerage-account id.
|
|
38
|
+
*
|
|
39
|
+
* This is the SINGLE backend-coupled credential lookup in this package —
|
|
40
|
+
* every account-id-based credential resolution must flow through here so
|
|
41
|
+
* that backend model changes touch exactly one function.
|
|
42
|
+
*
|
|
43
|
+
* SP2 transition note: today the id is an `AlpacaAccount.id` resolved via
|
|
44
|
+
* `adaptic.alpacaAccount.get`. When backend-legacy publishes the
|
|
45
|
+
* `BrokerageAccount` model (backfilled with `id = AlpacaAccount.id`, so the
|
|
46
|
+
* id space is identical), the switch to `adaptic.brokerageAccount.get`
|
|
47
|
+
* happens INSIDE this function only, following the sequencing rule in
|
|
48
|
+
* CLAUDE.md ("Multi-Broker Sequencing Rule"): backend-legacy publishes →
|
|
49
|
+
* utils bumps the dependency and switches this helper → utils publishes →
|
|
50
|
+
* engine bumps its pin. Do not reference `brokerageAccount` anywhere in
|
|
51
|
+
* this package before the pinned backend-legacy version exports it.
|
|
52
|
+
*
|
|
53
|
+
* The lookup is a no-cache GraphQL round trip to backend-legacy; callers
|
|
54
|
+
* holding inline credentials should never reach it (see `validateAuth`
|
|
55
|
+
* precedence).
|
|
56
|
+
*
|
|
57
|
+
* @param brokerageAccountId - Backend brokerage-account id (currently the AlpacaAccount id)
|
|
58
|
+
* @returns Validated authentication credentials
|
|
59
|
+
* @throws Error if the account is not found or its credentials are incomplete
|
|
60
|
+
*/
|
|
61
|
+
export declare function resolveBrokerCredentials(brokerageAccountId: string): Promise<ValidatedAuth>;
|
|
35
62
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/alpaca/legacy/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/alpaca/legacy/auth.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAItD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CA6C3E;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,wBAAwB,CAC5C,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,aAAa,CAAC,CAyBxB"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module @adaptic/utils/alpaca/legacy
|
|
7
7
|
*/
|
|
8
|
-
export { validateAuth, type ValidatedAuth } from "./auth";
|
|
8
|
+
export { resolveBrokerCredentials, validateAuth, type ValidatedAuth, } from "./auth";
|
|
9
9
|
export { roundPriceForAlpaca, cleanContent } from "./utils";
|
|
10
10
|
export { makeRequest, createOrder, getOrders, cancelAllOrders, getOrder, replaceOrder, cancelOrder, createLimitOrder, } from "./orders";
|
|
11
11
|
export { fetchAllPositions, fetchPosition, closePosition, closeAllPositions, closeAllPositionsAfterHours, } from "./positions";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/alpaca/legacy/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/alpaca/legacy/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,KAAK,aAAa,GACnB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5D,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -43,6 +43,54 @@ export declare class AlpacaTradingAPI {
|
|
|
43
43
|
* @returns The rounded price
|
|
44
44
|
*/
|
|
45
45
|
private roundPriceForAlpaca;
|
|
46
|
+
/**
|
|
47
|
+
* Derive a deterministic `client_order_id` from an order's semantic
|
|
48
|
+
* parameters so that a client-timeout-triggered retry re-submits the SAME id
|
|
49
|
+
* and Alpaca rejects the duplicate broker-side instead of double-filling.
|
|
50
|
+
*
|
|
51
|
+
* The id is stable for identical parameters within a single
|
|
52
|
+
* {@link CLIENT_ORDER_ID_WINDOW_MS} bucket and scoped per account. Callers
|
|
53
|
+
* that must place genuinely distinct yet otherwise-identical orders should
|
|
54
|
+
* pass an explicit `clientOrderId` rather than relying on this default.
|
|
55
|
+
*
|
|
56
|
+
* @param parts - Ordered, stringifiable components uniquely describing the
|
|
57
|
+
* order (e.g. order kind, symbol, side, quantity, price, intent).
|
|
58
|
+
* @returns An Alpaca-safe `client_order_id` (prefix + truncated SHA-256 hex).
|
|
59
|
+
*/
|
|
60
|
+
private deriveClientOrderId;
|
|
61
|
+
/**
|
|
62
|
+
* Collect the human-readable failure entries from a bulk Multi-Status (207)
|
|
63
|
+
* response body (`DELETE /orders`, `DELETE /positions`). Each element carries
|
|
64
|
+
* its own per-item HTTP status; any element with status >=
|
|
65
|
+
* {@link HTTP_STATUS_MIN_ERROR} is a failure the caller must be able to see.
|
|
66
|
+
*
|
|
67
|
+
* @param entries - Parsed 207 response array.
|
|
68
|
+
* @returns One `"<identifier>:<status>"` string per failed entry.
|
|
69
|
+
*/
|
|
70
|
+
private collectMultiStatusFailures;
|
|
71
|
+
/**
|
|
72
|
+
* Flatten a single position with a marketable limit order, deriving the
|
|
73
|
+
* closing side, intent, and slippage-adjusted limit price from the latest
|
|
74
|
+
* quote. Throws when no usable quote/price is available for the symbol so the
|
|
75
|
+
* caller can record a per-position failure via {@link Promise.allSettled}
|
|
76
|
+
* without aborting the flatten of the remaining positions.
|
|
77
|
+
*
|
|
78
|
+
* @param position - The position to close.
|
|
79
|
+
* @param quotesResponse - Latest quotes keyed by symbol.
|
|
80
|
+
* @param extendedHours - Whether the closing order is an extended-hours order.
|
|
81
|
+
*/
|
|
82
|
+
private closePositionWithLimitOrder;
|
|
83
|
+
/**
|
|
84
|
+
* Flatten every supplied position independently and surface an aggregate
|
|
85
|
+
* failure if any could not be closed. Positions are attempted concurrently
|
|
86
|
+
* with {@link Promise.allSettled} so a data gap or broker rejection on one
|
|
87
|
+
* symbol never silently prevents the others from being flattened.
|
|
88
|
+
*
|
|
89
|
+
* @param positions - Positions to flatten.
|
|
90
|
+
* @param extendedHours - Whether the closing orders are extended-hours orders.
|
|
91
|
+
* @throws Error listing every symbol that failed to flatten.
|
|
92
|
+
*/
|
|
93
|
+
private flattenPositionsWithLimitOrders;
|
|
46
94
|
private handleAuthMessage;
|
|
47
95
|
private handleListenMessage;
|
|
48
96
|
private handleTradeUpdate;
|
|
@@ -99,7 +147,7 @@ export declare class AlpacaTradingAPI {
|
|
|
99
147
|
* @param position_intent (string) - the position intent of the order
|
|
100
148
|
* @returns The created AlpacaOrder with order ID and details
|
|
101
149
|
*/
|
|
102
|
-
createTrailingStop(symbol: string, qty: number, side: "buy" | "sell", trailPercent100: number, position_intent: "buy_to_open" | "buy_to_close" | "sell_to_open" | "sell_to_close"): Promise<AlpacaOrder>;
|
|
150
|
+
createTrailingStop(symbol: string, qty: number, side: "buy" | "sell", trailPercent100: number, position_intent: "buy_to_open" | "buy_to_close" | "sell_to_open" | "sell_to_close", clientOrderId?: string): Promise<AlpacaOrder>;
|
|
103
151
|
/**
|
|
104
152
|
* Create a market order
|
|
105
153
|
* @param symbol (string) - the symbol of the order
|
|
@@ -122,7 +170,17 @@ export declare class AlpacaTradingAPI {
|
|
|
122
170
|
*/
|
|
123
171
|
updateTrailingStop(symbol: string, trailPercent100: number): Promise<AlpacaOrder | null>;
|
|
124
172
|
/**
|
|
125
|
-
* Cancel all open orders
|
|
173
|
+
* Cancel all open orders.
|
|
174
|
+
*
|
|
175
|
+
* Alpaca's bulk cancel returns a 207 Multi-Status body whose top-level status
|
|
176
|
+
* is 2xx even when individual orders failed to cancel; this method inspects
|
|
177
|
+
* the per-order statuses and throws if any order could not be canceled, so a
|
|
178
|
+
* caller acting as a live-stop failsafe cannot record success while orders
|
|
179
|
+
* remain live. Transport/HTTP errors propagate unchanged (matching the
|
|
180
|
+
* throw-on-failure contract of {@link cancelOrder}).
|
|
181
|
+
*
|
|
182
|
+
* @throws Error if the bulk cancel request fails or any individual order
|
|
183
|
+
* could not be canceled.
|
|
126
184
|
*/
|
|
127
185
|
cancelAllOrders(): Promise<void>;
|
|
128
186
|
/**
|
|
@@ -198,18 +256,24 @@ export declare class AlpacaTradingAPI {
|
|
|
198
256
|
* @param position_intent Position intent (buy_to_open, buy_to_close, sell_to_open, sell_to_close)
|
|
199
257
|
* @param type Order type (market or limit)
|
|
200
258
|
* @param limitPrice Limit price (required for limit orders)
|
|
259
|
+
* @param clientOrderId Optional idempotency key; a deterministic one is
|
|
260
|
+
* derived from the order parameters when omitted so a client-timeout retry
|
|
261
|
+
* is de-duplicated broker-side.
|
|
201
262
|
* @returns The created order
|
|
202
263
|
*/
|
|
203
|
-
createOptionOrder(symbol: string, qty: number, side: "buy" | "sell", position_intent: "buy_to_open" | "buy_to_close" | "sell_to_open" | "sell_to_close", type: "market" | "limit", limitPrice?: number): Promise<AlpacaOrder>;
|
|
264
|
+
createOptionOrder(symbol: string, qty: number, side: "buy" | "sell", position_intent: "buy_to_open" | "buy_to_close" | "sell_to_open" | "sell_to_close", type: "market" | "limit", limitPrice?: number, clientOrderId?: string): Promise<AlpacaOrder>;
|
|
204
265
|
/**
|
|
205
266
|
* Create a multi-leg option order
|
|
206
267
|
* @param legs Array of order legs
|
|
207
268
|
* @param qty Quantity of the multi-leg order (must be a whole number)
|
|
208
269
|
* @param type Order type (market or limit)
|
|
209
270
|
* @param limitPrice Limit price (required for limit orders)
|
|
271
|
+
* @param clientOrderId Optional idempotency key; a deterministic one is
|
|
272
|
+
* derived from the legs and order parameters when omitted so a
|
|
273
|
+
* client-timeout retry is de-duplicated broker-side.
|
|
210
274
|
* @returns The created multi-leg order
|
|
211
275
|
*/
|
|
212
|
-
createMultiLegOptionOrder(legs: OrderLeg[], qty: number, type: "market" | "limit", limitPrice?: number): Promise<AlpacaOrder>;
|
|
276
|
+
createMultiLegOptionOrder(legs: OrderLeg[], qty: number, type: "market" | "limit", limitPrice?: number, clientOrderId?: string): Promise<AlpacaOrder>;
|
|
213
277
|
/**
|
|
214
278
|
* Exercise an option contract
|
|
215
279
|
* @param symbolOrContractId The symbol or ID of the option contract to exercise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpaca-trading-api.d.ts","sourceRoot":"","sources":["../../src/alpaca-trading-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"alpaca-trading-api.d.ts","sourceRoot":"","sources":["../../src/alpaca-trading-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { BrokerCredentials, BrokerageAccountType } from "../types/broker-types";
|
|
2
|
+
/**
|
|
3
|
+
* Provider-agnostic view of a broker client's configuration.
|
|
4
|
+
*
|
|
5
|
+
* Structural subset of `AlpacaClientConfig` so the existing `AlpacaClient`
|
|
6
|
+
* satisfies it without modification; future providers must expose at least
|
|
7
|
+
* this surface.
|
|
8
|
+
*/
|
|
9
|
+
export interface BrokerClientConfig {
|
|
10
|
+
/** API key for the brokerage. */
|
|
11
|
+
apiKey: string;
|
|
12
|
+
/** API secret for the brokerage. */
|
|
13
|
+
apiSecret: string;
|
|
14
|
+
/** Trading mode — selects paper vs live routing at the broker. */
|
|
15
|
+
accountType: BrokerageAccountType;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Provider-agnostic result of a broker credential validation round trip.
|
|
19
|
+
*
|
|
20
|
+
* Structural subset of the Alpaca `ValidatedCredentials` shape.
|
|
21
|
+
*/
|
|
22
|
+
export interface BrokerValidatedCredentials extends BrokerClientConfig {
|
|
23
|
+
/** Broker-side account id. */
|
|
24
|
+
accountId: string;
|
|
25
|
+
/** Broker-side account number. */
|
|
26
|
+
accountNumber: string;
|
|
27
|
+
/** True when the credentials authenticated successfully. */
|
|
28
|
+
isValid: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Minimal provider-agnostic trading-client contract.
|
|
32
|
+
*
|
|
33
|
+
* This is exactly the surface the existing `AlpacaClient` already satisfies
|
|
34
|
+
* (structurally) — rate-limited execution, paper/live introspection, config
|
|
35
|
+
* access, and credential validation. Engine-side broker adapters should
|
|
36
|
+
* depend on this interface rather than on `AlpacaClient` directly so IBKR /
|
|
37
|
+
* COINBASE clients can slot in without call-site changes.
|
|
38
|
+
*/
|
|
39
|
+
export interface BrokerTradingClient {
|
|
40
|
+
/**
|
|
41
|
+
* Execute a broker SDK operation with rate limiting and retry.
|
|
42
|
+
*
|
|
43
|
+
* @param operation - Async function that calls the broker SDK
|
|
44
|
+
* @param label - Human-readable label for logging
|
|
45
|
+
* @returns Result of the operation
|
|
46
|
+
*/
|
|
47
|
+
executeWithRateLimit<T>(operation: () => Promise<T>, label: string): Promise<T>;
|
|
48
|
+
/** Check if the client is in paper-trading mode. */
|
|
49
|
+
isPaper(): boolean;
|
|
50
|
+
/** Get the client's configuration. */
|
|
51
|
+
getConfig(): BrokerClientConfig;
|
|
52
|
+
/** Validate credentials by fetching account info from the broker. */
|
|
53
|
+
validateCredentials(): Promise<BrokerValidatedCredentials>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create (or reuse from cache) a broker trading client for the given
|
|
57
|
+
* credentials.
|
|
58
|
+
*
|
|
59
|
+
* ALPACA delegates to `createAlpacaClient`, whose connection-pool cache key
|
|
60
|
+
* is provider-scoped (`ALPACA-<apiKey>-<accountType>`), so a future
|
|
61
|
+
* provider reusing an identical apiKey string can never collide with an
|
|
62
|
+
* Alpaca client. All other providers — including unknown provider strings
|
|
63
|
+
* from untyped callers — throw {@link UnsupportedBrokerError}.
|
|
64
|
+
*
|
|
65
|
+
* @param credentials - Discriminated broker credentials union
|
|
66
|
+
* @returns A provider-appropriate {@link BrokerTradingClient}
|
|
67
|
+
* @throws UnsupportedBrokerError for any provider other than ALPACA
|
|
68
|
+
*/
|
|
69
|
+
export declare function createBrokerClient(credentials: BrokerCredentials): BrokerTradingClient;
|
|
70
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/broker/factory.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,WAAW,EAAE,oBAAoB,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,oBAAoB,CAAC,CAAC,EACpB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,oDAAoD;IACpD,OAAO,IAAI,OAAO,CAAC;IACnB,sCAAsC;IACtC,SAAS,IAAI,kBAAkB,CAAC;IAChC,qEAAqE;IACrE,mBAAmB,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAC5D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,iBAAiB,GAC7B,mBAAmB,CAmBrB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Broker Module
|
|
3
|
+
* Provider-agnostic broker client factory and contracts (SP2 multi-broker
|
|
4
|
+
* seam). Only ALPACA is implemented today.
|
|
5
|
+
*
|
|
6
|
+
* @module @adaptic/utils/broker
|
|
7
|
+
*/
|
|
8
|
+
export { createBrokerClient, type BrokerClientConfig, type BrokerTradingClient, type BrokerValidatedCredentials, } from "./factory";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/broker/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,GAChC,MAAM,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AAgBjC;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAAA;CAAE,CAAC,CA8E5C;AAED,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAqH9B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE;IACN,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,EACD,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,oBAAoB,CAAC,CA+C/B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE;IACN,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,EACD,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,oBAAoB,CAAC,CA+C/B"}
|
|
@@ -118,6 +118,20 @@ export declare class NetworkError extends AdapticUtilsError {
|
|
|
118
118
|
readonly service: string;
|
|
119
119
|
constructor(message: string, service: string, cause?: unknown);
|
|
120
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Unsupported brokerage provider errors
|
|
123
|
+
* Thrown when a broker operation is requested for a provider that has no
|
|
124
|
+
* implemented integration (e.g. IBKR or COINBASE before their adapters land,
|
|
125
|
+
* or an unrecognised provider string from an untyped caller).
|
|
126
|
+
* Never retryable — the caller must route to a supported provider.
|
|
127
|
+
*/
|
|
128
|
+
export declare class UnsupportedBrokerError extends AdapticUtilsError {
|
|
129
|
+
/** The provider that was requested but is not supported. */
|
|
130
|
+
readonly provider: string;
|
|
131
|
+
constructor(
|
|
132
|
+
/** The provider that was requested but is not supported. */
|
|
133
|
+
provider: string, cause?: unknown);
|
|
134
|
+
}
|
|
121
135
|
/**
|
|
122
136
|
* Data parsing and format errors
|
|
123
137
|
* Used when API responses cannot be parsed or are in unexpected format
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ import * as tu from "./time-utils";
|
|
|
20
20
|
import * as Types from "./types";
|
|
21
21
|
import * as volatilityNs from "./volatility";
|
|
22
22
|
export { getLogger, resetLogger, setLogger, type Logger } from "./logger";
|
|
23
|
-
export { AdapticUtilsError, AlpacaApiError, AlphaVantageError, AuthenticationError, DataFormatError, HttpClientError, HttpServerError, MassiveApiError, NetworkError, RateLimitError, TimeoutError, ValidationError, WebSocketError, } from "./errors";
|
|
23
|
+
export { AdapticUtilsError, AlpacaApiError, AlphaVantageError, AuthenticationError, DataFormatError, HttpClientError, HttpServerError, MassiveApiError, NetworkError, RateLimitError, TimeoutError, UnsupportedBrokerError, ValidationError, WebSocketError, } from "./errors";
|
|
24
24
|
export { validateAlpacaCredentials, validateAlphaVantageApiKey, validateMassiveApiKey, } from "./utils/auth-validator";
|
|
25
25
|
export { MARKET_DATA_API, TRADING_API, WEBSOCKET_STREAMS, getCryptoStreamUrl, getOptionsStreamUrl, getStockStreamUrl, getTradingApiUrl, getTradingWebSocketUrl, type AccountType, } from "./config/api-endpoints";
|
|
26
26
|
export { DEFAULT_CACHE_OPTIONS, StampedeProtectedCache, createStampedeProtectedCache, type CacheEntry, type CacheLoader, type CacheStats, type StampedeProtectedCacheOptions, } from "./cache/stampede-protected-cache";
|
|
@@ -40,6 +40,7 @@ export { AlpacaTradingAPI } from "./alpaca-trading-api";
|
|
|
40
40
|
export declare const createAlpacaTradingAPI: (credentials: Types.AlpacaCredentials) => AlpacaTradingAPI;
|
|
41
41
|
export declare const createAlpacaMarketDataAPI: () => AlpacaMarketDataAPI;
|
|
42
42
|
export * from "./alpaca";
|
|
43
|
+
export { createBrokerClient, type BrokerClientConfig, type BrokerTradingClient, type BrokerValidatedCredentials, } from "./broker";
|
|
43
44
|
export * as tradingPolicy from "./trading-policy";
|
|
44
45
|
export * as atr from "./atr";
|
|
45
46
|
export * as volatility from "./volatility";
|
|
@@ -363,7 +364,7 @@ export declare const adaptic: {
|
|
|
363
364
|
fetchUniversalSnapshot: (tickers: string[], options?: {
|
|
364
365
|
apiKey?: string;
|
|
365
366
|
type?: string;
|
|
366
|
-
order
|
|
367
|
+
order?: string;
|
|
367
368
|
limit?: number;
|
|
368
369
|
sort?: string;
|
|
369
370
|
}) => Promise<Types.MassiveIndicesSnapshotResponse>;
|
|
@@ -760,7 +761,7 @@ export declare const adptc: {
|
|
|
760
761
|
fetchUniversalSnapshot: (tickers: string[], options?: {
|
|
761
762
|
apiKey?: string;
|
|
762
763
|
type?: string;
|
|
763
|
-
order
|
|
764
|
+
order?: string;
|
|
764
765
|
limit?: number;
|
|
765
766
|
sort?: string;
|
|
766
767
|
}) => Promise<Types.MassiveIndicesSnapshotResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,iBAAiB,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAgB,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,cAAc,CAAC;AAM7C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAG1E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,cAAc,GACf,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,WAAW,GACjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,6BAA6B,GACnC,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,SAAS,EACT,KAAK,WAAW,GACjB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AAEtC,cAAc,gCAAgC,CAAC;AAG/C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EAEpB,0BAA0B,EAC1B,eAAe,EACf,8BAA8B,EAC9B,kCAAkC,EAClC,8BAA8B,EAC9B,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,oCAAoC,EACpC,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EAEjB,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EACjC,8BAA8B,EAC9B,kCAAkC,EAClC,uBAAuB,EACvB,kBAAkB,IAAI,qBAAqB,EAC3C,2BAA2B,EAE3B,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,QAAQ,EACR,WAAW,EACX,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,6BAA6B,EAC7B,yBAAyB,EACzB,uCAAuC,EACvC,eAAe,EACf,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,eAAO,MAAM,sBAAsB,GACjC,aAAa,KAAK,CAAC,iBAAiB,qBAGrC,CAAC;AAEF,eAAO,MAAM,yBAAyB,2BAErC,CAAC;AAGF,cAAc,UAAU,CAAC;AAKzB,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,GAChC,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAGlD,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACtB,cAAc,EACd,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAG1F,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;QAoBhB,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEAyJ5C,CAAA;;;;;;;;;;;;;;;;;4BAjJoC,CAAC;0BAAwB,CAAC;;;;;;;;;;;QANtF,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAEjF,2EAA2E;;QAE3E,6FAA6F;;QAE7F,yFAAyF;;QAIzF,4EAA4E;;;;;;;;;;QAU5E,sEAAsE;;;;;;;;QAQtE,sEAAsE;;QAEtE,mDAAmD;;QAEnD,iDAAiD;;QAEjD,8BAA8B;;QAE9B,+BAA+B;;QAE/B,4CAA4C;;;;;;;QAE5C,mDAAmD;;;;;QAEnD,+CAA+C;;QAI/C,+CAA+C;;;;;;;;QAQ/C,wCAAwC;;QAExC,+DAA+D;;QAE/D,mEAAmE;;QAEnE,sEAAsE;;QAEtE,kDAAkD;;;;QAIlD,4CAA4C;;;;;;;kBAvS/B,CAAC;;;iBA0HA,CAAC;eACd,CAAC;iBAAiB,CAAC;kBAEf,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBP,CAAC;;;kBAoRmsV,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAtKpvV,CAAC;;;kBA4GN,CAAC;;;kBA0D8yjB,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAAp/gB,CAAC;;;iBAAiE,CAAC;oBAAsB,CAAC;;kBAAoC,CAAC;;;;;eAA48L,CAAC;;;iBAAiE,CAAC;oBAAsB,CAAC;;kBAAoC,CAAC;;;;;kBAAk0N,CAAC;oBAAsB,CAAC;;;;;;kBAxY3ld,CAAC;;;kBAoEI,CAAC;;;kBA2D4B,CAAC;;;kBAoDf,CAAA;;;kBAiDxB,CAAA;gBAAkB,CAAC;iBACnB,CAAH;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgJtC;;;WAGG;;QAEH;;;;WAIG;;;;;;;;;;;CAON,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;QA9Ld,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEAyJ5C,CAAA;;;;;;;;;;;;;;;;;4BAjJoC,CAAC;0BAAwB,CAAC;;;;;;;;;;;QANtF,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAEjF,2EAA2E;;QAE3E,6FAA6F;;QAE7F,yFAAyF;;QAIzF,4EAA4E;;;;;;;;;;QAU5E,sEAAsE;;;;;;;;QAQtE,sEAAsE;;QAEtE,mDAAmD;;QAEnD,iDAAiD;;QAEjD,8BAA8B;;QAE9B,+BAA+B;;QAE/B,4CAA4C;;;;;;;QAE5C,mDAAmD;;;;;QAEnD,+CAA+C;;QAI/C,+CAA+C;;;;;;;;QAQ/C,wCAAwC;;QAExC,+DAA+D;;QAE/D,mEAAmE;;QAEnE,sEAAsE;;QAEtE,kDAAkD;;;;QAIlD,4CAA4C;;;;;;;kBAvS/B,CAAC;;;iBA0HA,CAAC;eACd,CAAC;iBAAiB,CAAC;kBAEf,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBP,CAAC;;;kBAoRmsV,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAtKpvV,CAAC;;;kBA4GN,CAAC;;;kBA0D8yjB,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAAp/gB,CAAC;;;iBAAiE,CAAC;oBAAsB,CAAC;;kBAAoC,CAAC;;;;;eAA48L,CAAC;;;iBAAiE,CAAC;oBAAsB,CAAC;;kBAAoC,CAAC;;;;;kBAAk0N,CAAC;oBAAsB,CAAC;;;;;;kBAxY3ld,CAAC;;;kBAoEI,CAAC;;;kBA2D4B,CAAC;;;kBAoDf,CAAA;;;kBAiDxB,CAAA;gBAAkB,CAAC;iBACnB,CAAH;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgJtC;;;WAGG;;QAEH;;;;WAIG;;;;;;;;;;;CASqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance-metrics.d.ts","sourceRoot":"","sources":["../../src/performance-metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"performance-metrics.d.ts","sourceRoot":"","sources":["../../src/performance-metrics.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,mBAAmB,EAKpB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAoZ/B;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,gBAAgB,EAAE,wBAAwB,EAC1C,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CA4ND;AAkCD,UAAU,cAAc;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB,GACL,cAAc,CAuHhB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAU,GACnB,MAAM,CAGR;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAchE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,YAAY,EAAE,GAC5B;IAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAAC,uBAAuB,EAAE,MAAM,EAAE,CAAA;CAAE,CA4E1E;AAkFD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,GACzB,mBAAmB,CAoErB;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,wBAAwB,EAC1C,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,CA8GjB;AAmED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,MAAM,EACN,MAAM,EACN,SAAS,EACT,aAAa,GACd,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0J5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price-utils.d.ts","sourceRoot":"","sources":["../../src/price-utils.ts"],"names":[],"mappings":"AAEA,OAAgB,
|
|
1
|
+
{"version":3,"file":"price-utils.d.ts","sourceRoot":"","sources":["../../src/price-utils.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAe,cAAc,EAAE,MAAM,eAAe,CAAC;AA8K5D,eAAO,MAAM,gBAAgB,GAAU,OAAO,KAAK,CAAC,KAAK,KAAG,OAAO,CAAC,MAAM,CAqBzE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,WAAW,EAAE,EACzB,gBAAgB,CAAC,EAAE,sBAAsB,EACzC,cAAc,CAAC,EAAE,cAAc,EAC/B,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;EA0HhB"}
|
|
@@ -43,6 +43,13 @@ export declare class TokenBucketRateLimiter {
|
|
|
43
43
|
private queue;
|
|
44
44
|
private readonly timeoutMs;
|
|
45
45
|
private processingQueue;
|
|
46
|
+
/**
|
|
47
|
+
* Single pending timer that wakes the limiter to refill tokens and drain the
|
|
48
|
+
* queue. Without this, a queued request would only be released by a
|
|
49
|
+
* subsequent {@link acquire} call and would otherwise stall until its own
|
|
50
|
+
* timeout fired. `null` means no wake-up is currently scheduled.
|
|
51
|
+
*/
|
|
52
|
+
private wakeTimer;
|
|
46
53
|
/**
|
|
47
54
|
* Creates a new rate limiter instance
|
|
48
55
|
*
|
|
@@ -82,6 +89,20 @@ export declare class TokenBucketRateLimiter {
|
|
|
82
89
|
* ```
|
|
83
90
|
*/
|
|
84
91
|
acquire(): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Schedules a single wake-up timer that refills tokens and drains the queue.
|
|
94
|
+
*
|
|
95
|
+
* The delay is the time required to accrue the tokens still needed to release
|
|
96
|
+
* the next queued request at the configured refill rate. Only one timer is
|
|
97
|
+
* ever outstanding (guarded by {@link wakeTimer}); the timer is `unref`'d so
|
|
98
|
+
* it never keeps the Node.js process alive on its own. When it fires it
|
|
99
|
+
* refills, drains what it can, and re-arms itself if work remains.
|
|
100
|
+
*/
|
|
101
|
+
private scheduleQueueWake;
|
|
102
|
+
/**
|
|
103
|
+
* Clears any pending wake-up timer.
|
|
104
|
+
*/
|
|
105
|
+
private clearWakeTimer;
|
|
85
106
|
/**
|
|
86
107
|
* Refills tokens based on elapsed time and processes queued requests
|
|
87
108
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,CAAC;AAkB1B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IA8BrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IA7BnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC;;;;;OAKG;IACH,OAAO,CAAC,SAAS,CAA+B;IAEhD;;;;;;;;;;;;;;;OAeG;gBAC0B,MAAM,EAAE,iBAAiB;IAMtD;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsD9B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAYd;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAsCpB;;;;OAIG;IACH,kBAAkB,IAAI,MAAM;IAK5B;;;;OAIG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;;OAKG;IACH,KAAK,IAAI,IAAI;CAyBd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY;IACvB;;;;;;OAMG;;IAQH;;;;;;;OAOG;;IAQH;;;;;;;;;;;;;;;;;OAiBG;;CAOJ,CAAC"}
|
|
@@ -21,6 +21,7 @@ export interface AlpacaAuth {
|
|
|
21
21
|
alpacaApiKey?: string;
|
|
22
22
|
alpacaApiSecret?: string;
|
|
23
23
|
type?: "PAPER" | "LIVE";
|
|
24
|
+
provider?: "ALPACA";
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* Options for fetching Alpaca account details.
|
|
@@ -205,6 +206,7 @@ export interface CreateMultiLegOrderParams {
|
|
|
205
206
|
type: OrderType;
|
|
206
207
|
limit_price?: string;
|
|
207
208
|
time_in_force: TimeInForce;
|
|
209
|
+
client_order_id?: string;
|
|
208
210
|
legs: Array<{
|
|
209
211
|
symbol: string;
|
|
210
212
|
ratio_qty: string;
|