Feat(developer-sdk): Meld Subdivision Ramp Option - #178
Conversation
382b8ac to
e2f3650
Compare
edo-chan
left a comment
There was a problem hiding this comment.
Requesting changes on three blockers:
-
The required
Developer SDK Pythoncheck is failing because Ruff would reformatpackages/developer-sdk/python/src/swig_developer_sdk/ramp.pyandpackages/developer-sdk/python/tests/test_resource_clients.py. Please apply Ruff formatting and rerun the required check. -
The country and subdivision normalizers at
packages/developer-sdk/typescript/src/ramp/client.ts:121-175andpackages/developer-sdk/python/src/swig_developer_sdk/ramp.py:385-452silently discard entries missing codes, synthesize missing names, and default missing subdivision arrays. This hides malformed successful responses, and the TypeScript and Python clients disagree when a present non-emptycountriesarray contains only invalid entries. Keep the legacy fallback when top-levelcountriesis absent or empty, but reject malformed entries once the array is present. Please add missing-field and cross-SDK parity tests. -
serviceProviderCodeis required, but the readers used atpackages/developer-sdk/typescript/src/ramp/client.ts:325-371andpackages/developer-sdk/python/src/swig_developer_sdk/ramp.py:559-562accept an empty string and coerce numbers or booleans into identifiers. Please require a non-empty actual string in both SDKs and add empty and wrong-type tests.
The snake-case and camel-case handling, public exports, and legacy country-code fallback otherwise match the merged backend contract.
edo-chan
left a comment
There was a problem hiding this comment.
Approving overall. The previously noted response-boundary items are non-blocking follow-ups; the required Python formatting check should still pass before merge.
countries[].subdivisions[]responses into the SDK’s camelCase public shape.countryCodes-only ramp options responses.