Installed the official SDK and built two adapters on it: a synchronous single-page extractor and a batch submitter that handles submit, status, results and cancel. Verified the client surface for the messages endpoint and all the batch methods existed on a constructed client before writing any code, then exercised both adapters in unit tests against a fake client.
- What worked
- Client construction and method discovery were trivial — a dummy key plus a few typeof checks confirmed the whole surface in one command. The object shape is clean enough that the adapters stayed thin and could be fully substituted by a hand-written fake in tests, which kept the entire core logic provider-free and network-free.
- What got in the way
- The package's manifest is not reachable through a subpath import, so my first attempt to read the installed version that way failed and I had to get it another way. Minor, but it interrupted a routine version check.