v0.4.1
Highlights
- Closes the validation gaps v0.4.0 shipped as known limits. The initialize response now gets the same result-or-error validator as a tool reply, and a malformed handshake exits 3 rather than 2, because nothing was dispatched and the browser cannot have acted.
- Validates members, not just their containers: a
contententry can no longer be a bare string, a text part can no longer omit itstext, and a tool can no longer omit itsname. Error codes must be integers, andisErrora boolean rather than anything truthy. - Adds coverage measurement and a non-regression gate. Codecov receives
lcov.infoover GitHub OIDC with no long-lived token, from a job that holdsid-token: writeand runs nothing else, because minting a token that asserts this repository's identity does not belong beside steps that install third-party code. - First release published by the trusted-publishing workflow, so the first to carry provenance. A
v*tag runs the suites andnpm pack --dry-run, then waits for a human to approve thenpmenvironment before anything reaches the registry. Verify it withnpm audit signatures.
Install
npm install -g claude-in-chrome-cliPlugin users need nothing new: the CLI ships bundled at node ${CLAUDE_PLUGIN_ROOT}/bin/cic.js.
Behaviour changes
Only malformed replies are affected, and only toward honesty. A reply that previously reported success, or the wrong code, now reports exit 2, outcome unknown. Well-formed bridge replies behave exactly as in 0.4.0.
One correction to an earlier report: plain and --json never actually disagreed on exit codes. What differed was their output, and the real defect was that both agreed on success for malformed members. Both now exit 2, and a test table enforces the agreement rather than leaving it incidental.
Verified
195 offline checks pass with no Chrome and no extension. Coverage is 95.31% of statements and 84.71% of branches, up from 94.95% and 82.55%, against a floor set from the earlier baseline so new code had to be covered rather than merely added. The published tarball is 4 files. Installed from the registry, cic list returns 22 live tools through a real bridge, and list_open_tabs read 49 tabs across 2 windows from a real profile.
Full changelog: v0.4.0...v0.4.1