mirror of
https://github.com/hanzoai/python-sdk.git
synced 2026-10-23 20:23:00 +00:00
The document at the pinned ref names no `crm` tag and serves no /v1/crm, so `hanzoai.cloud.api.crm_api` is a module the generator had nothing to write — the import has raised ModuleNotFoundError since the emission that dropped it. This is the document's call, not a generation defect. The client emits one module per tag and its 120 modules are exactly the 120 tags api.hanzo.ai declares, with no difference in either direction; cli's spec/cloud.json, projected from this same ref and digest, likewise carries neither the tag nor the routes. So the expectation moves to the spec rather than the client moving to the expectation. Unlike tracker, analytics and chat before it, crm did not fold into another product: contacts, companies, opportunities and applications have no successor address anywhere in the document. billing replaces it because it has been in every emission since the first generated client, which is the property the test is really asserting — that whole products, not just the AI routes, reach the SDK. Co-authored-by: Hanzo Dev <[email protected]>