Gap
LimitlessExchange exposes watchUserPositions(callback) — a Limitless-specific WebSocket subscription that streams live updates to the authenticated user's positions. The method is implemented in the Python SDK but is entirely absent from the TypeScript SDK.
Core
File: core/src/exchanges/limitless/index.ts line 483
async watchUserPositions(callback: (data: any) => void): Promise<void>
Delegates to LimitlessWebSocket.watchUserPositions (core/src/exchanges/limitless/websocket.ts line 204). A dedicated example ships at core/examples/api-reference/exchange-specific/limitless-watchUserPositions.ts.
TypeScript SDK
Missing — sdks/typescript/pmxt/client.ts has no watchUserPositions method. The Limitless subclass defined near line 2442 of that file is a constructor-only extension of Exchange with no additional methods. Searching the entire sdks/typescript/ tree for watchUserPositions returns zero results.
Python SDK
Present — sdks/python/pmxt/client.py line 2155:
def watch_user_positions(self, callback: Optional[Any] = None) -> List[Position]
Calls the sidecar's /watchUserPositions endpoint and is part of the Python SDK's public surface.
Evidence
grep -rn "watchUserPositions" sdks/typescript/ returns zero results. grep -n "watch_user_positions" sdks/python/pmxt/client.py returns line 2155. grep -n "watchUserPositions" core/src/exchanges/limitless/index.ts returns line 483. The example file core/examples/api-reference/exchange-specific/limitless-watchUserPositions.ts exists and documents the intended SDK usage pattern.
Impact
TypeScript SDK users building Limitless integrations cannot subscribe to live position updates for the authenticated user. Real-time portfolio dashboards and risk-management tools that react to position changes must either use the Python SDK, poll fetchPositions on a timer, or reach directly into the sidecar WebSocket. The Python SDK parity gap means TypeScript users have a materially reduced Limitless account-streaming experience compared to Python users.
Found by automated Core-to-SDK surface coverage audit
Gap
LimitlessExchangeexposeswatchUserPositions(callback)— a Limitless-specific WebSocket subscription that streams live updates to the authenticated user's positions. The method is implemented in the Python SDK but is entirely absent from the TypeScript SDK.Core
File:
core/src/exchanges/limitless/index.tsline 483Delegates to
LimitlessWebSocket.watchUserPositions(core/src/exchanges/limitless/websocket.tsline 204). A dedicated example ships atcore/examples/api-reference/exchange-specific/limitless-watchUserPositions.ts.TypeScript SDK
Missing —
sdks/typescript/pmxt/client.tshas nowatchUserPositionsmethod. TheLimitlesssubclass defined near line 2442 of that file is a constructor-only extension ofExchangewith no additional methods. Searching the entiresdks/typescript/tree forwatchUserPositionsreturns zero results.Python SDK
Present —
sdks/python/pmxt/client.pyline 2155:Calls the sidecar's
/watchUserPositionsendpoint and is part of the Python SDK's public surface.Evidence
grep -rn "watchUserPositions" sdks/typescript/returns zero results.grep -n "watch_user_positions" sdks/python/pmxt/client.pyreturns line 2155.grep -n "watchUserPositions" core/src/exchanges/limitless/index.tsreturns line 483. The example filecore/examples/api-reference/exchange-specific/limitless-watchUserPositions.tsexists and documents the intended SDK usage pattern.Impact
TypeScript SDK users building Limitless integrations cannot subscribe to live position updates for the authenticated user. Real-time portfolio dashboards and risk-management tools that react to position changes must either use the Python SDK, poll
fetchPositionson a timer, or reach directly into the sidecar WebSocket. The Python SDK parity gap means TypeScript users have a materially reduced Limitless account-streaming experience compared to Python users.Found by automated Core-to-SDK surface coverage audit