Compatibility
Iro’s npm packages have independent 0.x versions until the release phase: a minor may break, and says so in its release notes. Each package declares peer ranges on the ones it works with (@iro-labs/sdk on @iro-labs/client, @iro-labs/llm-service on the SDK, the CLI on both), so npm refuses a combination that doesn’t fit.
npm create iro writes the versions of its row into a new project. Every row below is tested in CI: a project made by that create-iro with exactly those versions installs, builds, typechecks, packs and runs a service under iro dev --headless.
create-iro |
@iro-labs/cli |
@iro-labs/sdk |
@iro-labs/client |
@iro-labs/llm-service |
Notes |
|---|---|---|---|---|---|
0.1.0 |
0.1.0 |
0.1.0 |
0.1.0 |
0.1.0 |
The first release. |
Contracts keep name@major; a minor only adds. The kernel and Iro’s contracts are not published: the CLI carries its own copy of the kernel, and the SDK and client carry the contracts’ types, so they stay free to change. An app imports only the packages above (lint-enforced for Iro’s own apps).