Skip to content

Export ./stream and ./persistence subpaths (room-name codecs, isAwarenessRoom, Persistence) for integrators #67

Description

@bgeils

Summary

The package exports only ., ./plugins/s3, and ./package.json. Integrators who operate y/hub in production end up needing a handful of internals, and today the only options are deep source imports (break on package layout changes) or re-implementing formats byte-for-byte (break silently on format changes). Concretely, we currently need:

  • isAwarenessRoom(room) — we special-case awareness rooms in admin tooling and worker policy (see Awareness-only rooms grow without bound when compaction stops — add write-time MAXLEN caps / first-class ephemeral rooms #64).
  • encodeRoomName / decodeRoomName / encodeQuarantineName — admin/ops tooling that lists streams, inspects quarantines, and reconciles lost compact tasks must reproduce the key formats; v0.7.0's uriEncode (escaping !'()*) is exactly the kind of change that silently breaks a hand-rolled copy.
  • A ./persistence subpath exporting Persistence — we pin regression tests against the store SQL's idempotency (ON CONFLICT presence) so a future regression to a plain INSERT fails in CI instead of production.
  • A ./stream subpath (Stream + the name codecs) for integration tests that exercise the stream layer against real Redis.

Ask

Add ./stream and ./persistence export subpaths and export the room-name codecs + isAwarenessRoom from the root. Happy to send the PR — it is package.json exports plus re-exports, no behavior change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions