Drift
compareMarketPrices alone issues a raw fetch() call directly instead of going through the shared sidecarReadRequest/fetchWithRetry transport that every other Router method uses — so it lacks the connection-failure retry logic (3 retries, 200/500/1000ms backoff) its siblings get for free. Python is uniform: compare_market_prices uses the exact same _call_method helper (with retry) as every other Router method.
TypeScript SDK
sdks/typescript/pmxt/router.ts:476-490 — raw await fetch(url, {...}), duplicating its own AbortSignal.timeout(30_000) and a dynamic import('./errors.js') for error parsing, none of which the other Router methods do.
Python SDK
sdks/python/pmxt/router.py:477 — compare_market_prices calls self._call_method("compareMarketPrices", params), identical to every other Router method.
Expected
compareMarketPrices in TypeScript should route through the same sidecarReadRequest/fetchWithRetry transport as its sibling Router methods.
Impact
A transient connection failure that every other Router method (and every Python Router method, including compare_market_prices) would transparently retry causes compareMarketPrices in TypeScript alone to fail immediately — an inconsistent reliability characteristic for what should be a uniform set of read operations.
Found by automated SDK cross-language drift audit
Drift
compareMarketPricesalone issues a rawfetch()call directly instead of going through the sharedsidecarReadRequest/fetchWithRetrytransport that every other Router method uses — so it lacks the connection-failure retry logic (3 retries, 200/500/1000ms backoff) its siblings get for free. Python is uniform:compare_market_pricesuses the exact same_call_methodhelper (with retry) as every other Router method.TypeScript SDK
sdks/typescript/pmxt/router.ts:476-490— rawawait fetch(url, {...}), duplicating its ownAbortSignal.timeout(30_000)and a dynamicimport('./errors.js')for error parsing, none of which the other Router methods do.Python SDK
sdks/python/pmxt/router.py:477—compare_market_pricescallsself._call_method("compareMarketPrices", params), identical to every other Router method.Expected
compareMarketPricesin TypeScript should route through the samesidecarReadRequest/fetchWithRetrytransport as its sibling Router methods.Impact
A transient connection failure that every other Router method (and every Python Router method, including
compare_market_prices) would transparently retry causescompareMarketPricesin TypeScript alone to fail immediately — an inconsistent reliability characteristic for what should be a uniform set of read operations.Found by automated SDK cross-language drift audit