Skip to main content
Releases of @kardinal-ai/sdk. For changes to the API itself, see the API changelog.
Fix: vehicle profile options accepted
  • The options of vehicleProfile, such as withTraffic or grossWeight, are no longer refused as unknown fields by submit, update, parsePlanCreate, and kardinal routing plans validate. Each profile is checked against the options of its own type, so a misspelled option is still reported.
  • If you named these options in allowUnknown to work around the issue in 1.0.0, you can remove them.
First public release, targeting API 1.0.1
  • Client for every endpoint of the Route Optimization API: plans.submit, get, update, delete, list, iterAll, start, stop, getStatus, and solutions.get, getObjectives, wait.
  • Types generated from the API specification, with the API’s field names and descriptions, and run-time validation of plans with zod before sending.
  • Misspelled keys refused before sending (UnknownFieldError), with the closest real field name; allowUnknown to send a field the SDK doesn’t know yet.
  • solutions.wait, which follows a plan’s optimization and resolves with its solution once it’s over.
  • Typed errors for every API error, with .errors, .details, and .retryable; any 403 thrown as KardinalLimitError.
  • Automatic retries of reads, update, delete, start, and stop; submit is never retried.
  • Optional kardinal command-line tool (install commander alongside the package), with local plan validation.
  • ES module, for Node.js 22 or later.