Summary
Add a TurboQuote module to the JS SDK with full UI parity for TurboQuote. This includes:
- 68 static methods across 12 entity groups: Quotes, Line Items, Products, Bundles, Price Books, Companies, Contacts, Templates, Types/Categories, Approval Workflows, and a
createAndSend convenience method
- 11 type files with full TypeScript types for all request/response shapes
- HttpClient extensions:
getRaw() for PDF download, postFormData()/patchFormData() for product image uploads
- 70 unit tests covering all methods with mocked HttpClient
- DX-first design: minimal required fields, single-or-batch line items, direct parameters for simple ops, hidden API inconsistencies (e.g., template endpoint path mismatch)
Follow-up work
Design decisions
See the plan file and PR description for details on architecture choices (single static class, createAndSend convenience, skipSenderValidation, etc.)
Summary
Add a
TurboQuotemodule to the JS SDK with full UI parity for TurboQuote. This includes:createAndSendconvenience methodgetRaw()for PDF download,postFormData()/patchFormData()for product image uploadsFollow-up work
examples/turboquote-*.ts)Design decisions
See the plan file and PR description for details on architecture choices (single static class,
createAndSendconvenience,skipSenderValidation, etc.)