Problem
A clean npm consumer that installs agent-bundle with @agent-bundle/runtime can fail with ERESOLVE now that React 19.3.0 is published.
agent-bundle declares an exact optional peer:
while @agent-bundle/runtime declares:
"react": "^19.2.0",
"react-dom": "^19.2.0"
Without React preinstalled, npm selects React/React DOM 19.3.0 for the runtime and then rejects agent-bundle's exact React 19.2.8 peer. This is a pre-existing manifest inconsistency surfaced while triaging #777; it is not caused by the rslint bump.
#777 pins React 19.2.8 and React DOM 19.2.8 in generated routed templates and in the packed bin-consumer harness. That restores release coverage for the supported consumer state, but the harness pin also stops the clean-consumer proof from detecting peer-range drift.
Acceptance
- Align or safely widen the
agent-bundle and @agent-bundle/runtime React peer ranges so a clean npm install resolves without explicit React preinstallation.
- Preserve React/React DOM version compatibility rather than bypassing peer checks with
--legacy-peer-deps or --force.
- Remove the explicit React pins from
scripts/run-packed-tests.mjs so its clean-consumer install detects future peer drift again.
- Add a regression test for the clean npm consumer install.
- Update the matching English and Chinese installation guidance.
- Include exactly one changeset for the affected publishable package(s).
Problem
A clean npm consumer that installs
agent-bundlewith@agent-bundle/runtimecan fail withERESOLVEnow that React 19.3.0 is published.agent-bundledeclares an exact optional peer:while
@agent-bundle/runtimedeclares:Without React preinstalled, npm selects React/React DOM 19.3.0 for the runtime and then rejects
agent-bundle's exact React 19.2.8 peer. This is a pre-existing manifest inconsistency surfaced while triaging #777; it is not caused by the rslint bump.#777 pins React 19.2.8 and React DOM 19.2.8 in generated routed templates and in the packed bin-consumer harness. That restores release coverage for the supported consumer state, but the harness pin also stops the clean-consumer proof from detecting peer-range drift.
Acceptance
agent-bundleand@agent-bundle/runtimeReact peer ranges so a clean npm install resolves without explicit React preinstallation.--legacy-peer-depsor--force.scripts/run-packed-tests.mjsso its clean-consumer install detects future peer drift again.