SDK Drift Report
Category: Model / return-type drift
TypeScript location: sdks/typescript/pmxt/models.ts line 965 — MatchedMarketCluster
Python location: sdks/python/pmxt/models.py line 716 — MatchedMarketCluster
What the drift is
TypeScript declares volume24h as a required number field:
// sdks/typescript/pmxt/models.ts line 965
export interface MatchedMarketCluster {
...
volume24h: number; // required
}
Python declares the same field as optional with a default of None:
# sdks/python/pmxt/models.py line 716
@dataclass
class MatchedMarketCluster:
...
volume_24h: Optional[float] = None # optional
Why it matters
TypeScript callers can safely access cluster.volume24h without a null check. Python callers who follow the TypeScript contract and assume the value is always present will get unexpected None values and potential TypeErrors.
Expected behaviour
Both SDKs should agree on whether volume24h / volume_24h is required or optional. The field optionality should match the actual server contract.
SDK Drift Report
Category: Model / return-type drift
TypeScript location:
sdks/typescript/pmxt/models.tsline 965 —MatchedMarketClusterPython location:
sdks/python/pmxt/models.pyline 716 —MatchedMarketClusterWhat the drift is
TypeScript declares
volume24has a requirednumberfield:Python declares the same field as optional with a default of
None:Why it matters
TypeScript callers can safely access
cluster.volume24hwithout a null check. Python callers who follow the TypeScript contract and assume the value is always present will get unexpectedNonevalues and potentialTypeErrors.Expected behaviour
Both SDKs should agree on whether
volume24h/volume_24his required or optional. The field optionality should match the actual server contract.