Skip to content

feat(http-recorder): prepare public beta release#31018

Open
kitlangton wants to merge 3 commits into
devfrom
feat/http-recorder-distribution
Open

feat(http-recorder): prepare public beta release#31018
kitlangton wants to merge 3 commits into
devfrom
feat/http-recorder-distribution

Conversation

@kitlangton
Copy link
Copy Markdown
Contributor

@kitlangton kitlangton commented Jun 5, 2026

Summary

  • introduce a focused public HTTP API with layer and layerFetch, automatic local record/replay behavior, and declarative additive redaction
  • harden cassette persistence, path confinement, replay claims, binary bodies, null-body responses, secret handling, and record-mode response equivalence
  • preserve request-start order when concurrent upstream responses complete out of order
  • add independent Changesets versioning from 0.0.0 to an initial 0.1.0 beta release PR
  • add trusted beta publishing with provenance and exact-tarball clean-consumer verification
  • bundle the public runtime into one ESM file; the npm artifact contains seven files and exposes only the supported root entrypoint
  • replace the internal README with a concise public guide covering setup, custom clients, refreshes, redaction, ordering, cassette format, and current limits

Verification

  • bun run build && bun run test && bun typecheck in packages/http-recorder (30 tests)
  • bun run verify:package installs the exact tarball into a clean npm consumer, imports it under Node, and typechecks both public layers
  • bun typecheck in packages/llm, packages/core, and packages/opencode
  • repository-wide bun turbo typecheck via the pre-push hook
  • bunx changeset status reports only @opencode-ai/http-recorder at minor
  • Prettier, file-scoped Oxlint, and git diff --check

Release flow

Merging this PR does not publish immediately. Changesets opens a release PR that versions the package from 0.0.0 to 0.1.0 and generates its changelog. Merging that release PR verifies and publishes the tested artifact under the npm beta tag with provenance.

Current beta limits

  • HTTP responses are buffered; streaming timing, cancellation, and backpressure are not reproduced
  • WebSocket recording remains internal pending chronology and scoped-lifecycle redesign
  • malformed/storage cassette diagnostics still need finer distinctions
  • the package pins Effect 4.0.0-beta.74; TypeScript consumers currently need skipLibCheck because of an upstream Effect beta declaration defect

@kitlangton kitlangton changed the title feat(http-recorder): prepare package for distribution feat(http-recorder): prepare public beta release Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant