Sync opam package metadata including x-maintenance-intent
and external dependency specifications.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
HTTP/2 Implementation:
- Add h2_frame module for RFC 7540 frame parsing/serialization
- Add h2_hpack module for RFC 7541 header compression (HPACK)
- Add h2_stream for HTTP/2 stream state machine
- Add h2_connection for multiplexed connection management
- Add h2_client high-level API matching HTTP/1.1 interface
- Add h2_adapter for protocol version abstraction
URI Library Migration:
- Replace custom Huri.t with Uri.t from uri opam package
- Keep Huri.write for efficient Buf_write serialization
- Remove Uri module shadowing from requests and apubt libraries
- Use Uri.* functions directly throughout codebase
Requests Library Reorganization:
- core/: fundamental types (body, headers, status, method, error)
- features/: optional functionality (auth, cache, retry, signature)
- h1/: HTTP/1.1 client implementation
- h2/: HTTP/2 client implementation
- parsing/: header and structured field parsers
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
matrix_proto changes:
- Add pp functions to all matrix_id modules (User_id, Room_id, etc.)
- Add make constructors and accessor functions to event content types
- Add pp functions to Msgtype, Event_type, and message content types
- Add doc comments with @see links to Matrix spec
matrix_client changes:
- Create 13 missing .mli files: backup, calls, matrix_client, olm,
push, room_preview, send_queue, sliding_sync, spaces, store,
timeline, uiaa, verification
- Fix type annotation in verification.ml
All tests pass and dune build @doc-full produces no warnings.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixes for "dune build @doc-full" warnings:
- Escape @room as \@room in rooms.mli to avoid unknown tag warning
- Escape {roomId} as \{roomId\} in spaces.ml to fix bad markup
- Fix {!restore_session} -> {!with_session} in client.mli (wrong function name)
- Fix {!Matrix_id} etc. -> {!module-Id} etc. in matrix_proto.ml
- Remove open statements from matrix_event.mli and matrix_sync.mli,
using fully qualified paths (Matrix_id.User_id.t etc.) instead
- Create matrix_proto.mli that re-exports internal modules with
@canonical tags to resolve "Hidden fields" warnings
The hidden fields warnings occurred because types in .mli files
referenced Matrix_id types via open statements, but odoc couldn't
resolve these through the Matrix_proto wrapper. The fix re-exports
the internal modules so odoc can resolve type paths in documentation.
Sources used:
- ocaml-dev:ocaml-docs skill for odoc v3 reference syntax and
hidden fields resolution patterns (@canonical, module re-exports)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>