npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@tigrbljs/tigr-asgi-contract-artifacts

v0.3.2

Published

Canonical npm artifact package for the Tigr ASGI contract. This package ships the source artifacts that drive the downstream contract packages.

Downloads

807

Readme

@tigrbljs/tigr-asgi-contract-artifacts

Canonical npm artifact package for the Tigr ASGI contract. This package ships the source artifacts that drive the downstream contract packages.

Artifact Package Matrix

| Ecosystem | Package | Version | Path | Surface files | Notes | | --- | --- | --- | --- | --- | --- | | python | tigr-asgi-contract-artifacts | 0.3.2 | packages/artifacts-py | 1 | Vendored file accessors | | npm | @tigrbljs/tigr-asgi-contract-artifacts | 0.3.2 | packages/artifacts-npm | 4 | Packaged artifact exports | | rust | tigr_asgi_contract_artifacts_rs | 0.3.2 | packages/artifacts-rs | 1 | Embedded artifact accessors |

Artifact Inventory Matrix

| Artifact path | Category | SHA-256 | | --- | --- | --- | | automata.yaml | registry | 5fb86aa93259 | | bindings.yaml | registry | fa1438b1363b | | capabilities.yaml | registry | 389e6a905497 | | compatibility.yaml | registry | d90c5c30ab2c | | completion.yaml | registry | 036f6b37c6bc | | exchanges.yaml | registry | 6c7f8728836f | | extensions.yaml | registry | 7da670b74348 | | families.yaml | registry | 75debe47a1e6 | | frames.yaml | registry | 31bf50bec7ba | | ids.yaml | registry | aec52c6b3ef7 | | legality/binding_family.yaml | legality | d73cf6ef3095 | | legality/binding_subevent.yaml | legality | d6935ac0f993 | | legality/family_subevent.yaml | legality | 36fda0df963c | | protocols.yaml | registry | b36b61b2e29a | | schemas/automata.schema.json | schema | 651e4d388282 | | schemas/compatibility.schema.json | schema | 309ba3093d34 | | schemas/completion.schema.json | schema | 26e6082df0cd | | schemas/event.schema.json | schema | ac6b7a078104 | | schemas/extensions.schema.json | schema | 132fed861e37 | | schemas/frames.schema.json | schema | 944448bebdff | | schemas/jsonrpc.schema.json | schema | c885d927555d | | schemas/pathsend.schema.json | schema | 5ded01ee80d8 | | schemas/protocols.schema.json | schema | 2cabd7b55baa | | schemas/scope.schema.json | schema | 2698752580f8 | | schemas/sse.schema.json | schema | 42e060246611 | | schemas/tls.schema.json | schema | c66e49f6031a | | schemas/transport.schema.json | schema | 865875cec84c | | schemas/websocket.schema.json | schema | b4e38fad362c | | schemas/webtransport.schema.json | schema | e6f9300bfe82 | | scope_types.yaml | registry | 620b4d20180e | | subevents.yaml | registry | b0abf1e13da9 | | surfaces.yaml | registry | ed9c01e2355e |

Release Matrix

| Field | Value | | --- | --- | | Contract name | tigr-asgi-contract | | Contract version | 0.3.2 | | Artifact version | 0.3.2 | | Serde version | 1 | | Schema draft | 2020-12 | | Bindings | 6 | | Families | 5 | | Subevents | 42 | | Scope types | 4 | | Event types | 26 |

Scope Type Matrix

| ASGI3 scope type | Scope ext fields | Scope event types | Source | | --- | --- | --- | --- | | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | scope.schema.json | | websocket | transport, family_capabilities, websocket | websocket.connect, websocket.receive, websocket.disconnect, websocket.accept, websocket.send, websocket.close, transport.emit.complete | scope.schema.json | | webtransport | transport, family_capabilities, webtransport | webtransport.connect, webtransport.accept, webtransport.stream.receive, webtransport.stream.send, webtransport.datagram.receive, webtransport.datagram.send, webtransport.disconnect, webtransport.close, transport.emit.complete | scope.schema.json | | lifespan | transport, family_capabilities | - | scope.schema.json |

Capability Matrix

| Capability field | Family alignment | Meaning | Schema source | | --- | --- | --- | --- | | request | request | bounded unary invocation available | transport.schema.json#/$defs/familyCapabilities | | session | session | long-lived association available | transport.schema.json#/$defs/familyCapabilities | | message | message | discrete logical message transport available | transport.schema.json#/$defs/familyCapabilities | | stream_in | stream | inbound stream chunks available | transport.schema.json#/$defs/familyCapabilities | | stream_out | stream | outbound stream chunks available | transport.schema.json#/$defs/familyCapabilities | | datagram | datagram | datagram transport available | transport.schema.json#/$defs/familyCapabilities |

Compatibility Matrix

| Compatibility field | Value | Meaning | Source | | --- | --- | --- | --- | | contract_name | tigr-asgi-contract | Canonical contract identifier | contract/compatibility.yaml | | contract_version | 0.1.2 | Published contract version | contract/compatibility.yaml | | serde_version | 1 | Serialization surface version | contract/compatibility.yaml | | schema_draft | 2020-12 | JSON Schema draft level | contract/compatibility.yaml |

Completion Matrix

| Completion level | Meaning | Default | Source | | --- | --- | --- | --- | | accepted_by_runtime | send accepted by runtime/output queue | no | contract/completion.yaml | | flushed_to_transport | send flushed to transport boundary | yes | contract/completion.yaml |

Event Matrix

| Transport event | ASGI3 scope type | Bindings | Related subevents | Meaning | | --- | --- | --- | --- | --- | | http.request | http | http.stream, jsonrpc, rest, sse | request.accept, request.body_in, request.chunk_in, request.close, request.open, stream.chunk_in | Inbound HTTP request unit | | http.disconnect | http | http.stream, jsonrpc, rest, sse | request.disconnect, stream.abort | HTTP connection closed by peer or server | | http.response.start | http | http.stream, jsonrpc, rest, sse | response.open, stream.open | HTTP response metadata start | | http.response.body | http | http.stream, jsonrpc, rest, sse | message.out, message.replay, message.snapshot, response.body_out, response.chunk_out, response.close, stream.chunk_out, stream.close, stream.finalize, stream.flush | HTTP response body frame | | http.response.pathsend | http | http.stream, jsonrpc, rest, sse | - | | | websocket.connect | websocket | websocket | session.open | WebSocket connection open event | | websocket.receive | websocket | websocket | message.decode, message.handle, message.in | Inbound WebSocket frame | | websocket.disconnect | websocket | websocket | session.disconnect | WebSocket disconnect signal | | websocket.accept | websocket | websocket | session.accept, session.ready | WebSocket accept handshake response | | websocket.send | websocket | websocket | message.ack, message.nack, message.out, message.replay, message.snapshot, session.heartbeat, session.sync | Outbound WebSocket frame | | websocket.close | websocket | websocket | session.close | WebSocket close frame | | webtransport.connect | webtransport | webtransport | session.open | WebTransport session connect event | | webtransport.accept | webtransport | webtransport | session.accept, session.ready | WebTransport accept event | | webtransport.stream.receive | webtransport | webtransport | message.decode, message.handle, message.in, stream.chunk_in | Inbound WebTransport stream frame | | webtransport.stream.send | webtransport | webtransport | message.ack, message.nack, message.out, message.replay, message.snapshot, session.heartbeat, session.sync, stream.chunk_out, stream.finalize, stream.flush, stream.open | Outbound WebTransport stream frame | | webtransport.datagram.receive | webtransport | webtransport | datagram.handle, datagram.in, message.decode, message.handle, message.in | Inbound WebTransport datagram | | webtransport.datagram.send | webtransport | webtransport | datagram.ack, datagram.out, message.ack, message.nack | Outbound WebTransport datagram | | webtransport.disconnect | webtransport | webtransport | session.disconnect | WebTransport disconnect signal | | webtransport.close | webtransport | webtransport | datagram.close, session.close, stream.abort, stream.close | WebTransport close event | | lifespan.startup | http, websocket, webtransport | - | - | | | lifespan.startup.complete | http, websocket, webtransport | - | - | | | lifespan.startup.failed | http, websocket, webtransport | - | - | | | lifespan.shutdown | http, websocket, webtransport | - | - | | | lifespan.shutdown.complete | http, websocket, webtransport | - | - | | | lifespan.shutdown.failed | http, websocket, webtransport | - | - | | | transport.emit.complete | http, websocket, webtransport | http.stream, jsonrpc, rest, sse, websocket, webtransport | datagram.emit_complete, message.emit_complete, response.emit_complete, session.emit_complete, stream.emit_complete | Completion emission event |

Family Matrix

| Family | Subevent count | Required bindings | Optional bindings | Subevents | | --- | --- | --- | --- | --- | | request | 11 | rest, jsonrpc, http.stream, sse | - | request.open, request.body_in, request.chunk_in, request.accept, request.close, request.disconnect, response.open, response.body_out, response.chunk_out, response.close, response.emit_complete | | session | 8 | sse, websocket, webtransport | - | session.open, session.accept, session.ready, session.heartbeat, session.sync, session.close, session.disconnect, session.emit_complete | | message | 9 | sse, websocket | webtransport | message.in, message.decode, message.handle, message.out, message.ack, message.nack, message.replay, message.snapshot, message.emit_complete | | stream | 8 | http.stream, sse, webtransport | rest, jsonrpc | stream.open, stream.chunk_in, stream.chunk_out, stream.flush, stream.finalize, stream.abort, stream.close, stream.emit_complete | | datagram | 6 | webtransport | - | datagram.in, datagram.handle, datagram.out, datagram.ack, datagram.close, datagram.emit_complete |

Subevent Matrix

| Subevent | Family | Family legality | Required bindings | Optional bindings | Derived bindings | Related transport events | | --- | --- | --- | --- | --- | --- | --- | | request.open | request | R required | rest, jsonrpc, http.stream, sse | - | - | http.request | | request.body_in | request | R required | rest, jsonrpc | http.stream, sse | - | http.request | | request.chunk_in | request | R required | - | - | http.stream | http.request | | request.accept | request | R required | - | rest, jsonrpc, http.stream, sse | - | http.request | | request.close | request | R required | rest, jsonrpc, http.stream, sse | - | - | http.request | | request.disconnect | request | R required | - | rest, jsonrpc, http.stream, sse | - | http.disconnect | | response.open | request | R required | rest, jsonrpc, http.stream | sse | - | http.response.start | | response.body_out | request | R required | rest, jsonrpc | http.stream | - | http.response.body | | response.chunk_out | request | R required | - | - | http.stream, sse | http.response.body | | response.close | request | R required | - | rest, jsonrpc, http.stream, sse | - | http.response.body | | response.emit_complete | request | R required | rest, jsonrpc, http.stream, sse | - | - | transport.emit.complete | | session.open | session | R required | sse, websocket, webtransport | - | - | websocket.connect, webtransport.connect | | session.accept | session | R required | sse, websocket, webtransport | - | - | websocket.accept, webtransport.accept | | session.ready | session | R required | sse, websocket, webtransport | - | - | websocket.accept, webtransport.accept | | session.heartbeat | session | R required | - | sse, websocket, webtransport | - | websocket.send, webtransport.stream.send | | session.sync | session | R required | - | sse, websocket, webtransport | - | websocket.send, webtransport.stream.send | | session.close | session | R required | sse, websocket, webtransport | - | - | websocket.close, webtransport.close | | session.disconnect | session | R required | - | sse, websocket, webtransport | - | websocket.disconnect, webtransport.disconnect | | session.emit_complete | session | R required | - | sse, websocket, webtransport | - | transport.emit.complete | | message.in | message | R required | websocket | webtransport | - | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | message.decode | message | R required | - | websocket, webtransport | jsonrpc | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | message.handle | message | R required | websocket | webtransport | - | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | message.out | message | R required | sse, websocket | webtransport | - | websocket.send, webtransport.stream.send, http.response.body | | message.ack | message | R required | - | websocket, webtransport | - | websocket.send, webtransport.stream.send, webtransport.datagram.send | | message.nack | message | R required | - | websocket, webtransport | - | websocket.send, webtransport.stream.send, webtransport.datagram.send | | message.replay | message | R required | - | sse, websocket, webtransport | - | websocket.send, webtransport.stream.send, http.response.body | | message.snapshot | message | R required | - | sse, websocket, webtransport | - | websocket.send, webtransport.stream.send, http.response.body | | message.emit_complete | message | R required | sse, websocket | webtransport | - | transport.emit.complete | | stream.open | stream | R required | http.stream, sse, webtransport | rest, jsonrpc | - | webtransport.stream.send, http.response.start | | stream.chunk_in | stream | R required | http.stream, webtransport | rest, jsonrpc | - | webtransport.stream.receive, http.request | | stream.chunk_out | stream | R required | http.stream, sse, webtransport | rest, jsonrpc | - | webtransport.stream.send, http.response.body | | stream.flush | stream | R required | - | http.stream, sse, webtransport | - | webtransport.stream.send, http.response.body | | stream.finalize | stream | R required | http.stream, webtransport | rest, jsonrpc, sse | - | webtransport.stream.send, http.response.body | | stream.abort | stream | R required | - | http.stream, sse, webtransport | - | webtransport.close, http.disconnect | | stream.close | stream | R required | http.stream, sse, webtransport | rest, jsonrpc | - | webtransport.close, http.response.body | | stream.emit_complete | stream | R required | http.stream, sse, webtransport | rest, jsonrpc | - | transport.emit.complete | | datagram.in | datagram | R required | webtransport | - | - | webtransport.datagram.receive | | datagram.handle | datagram | R required | webtransport | - | - | webtransport.datagram.receive | | datagram.out | datagram | R required | webtransport | - | - | webtransport.datagram.send | | datagram.ack | datagram | R required | - | webtransport | - | webtransport.datagram.send | | datagram.close | datagram | R required | webtransport | - | - | webtransport.close | | datagram.emit_complete | datagram | R required | webtransport | - | - | transport.emit.complete |

Binding Subevent Matrix

Every row is a concrete binding x subevent record sourced from the legality registries.

| Binding | Protocols | Exchange | ASGI3 scope type | Scope ext fields | Scope event types | Required families | Optional families | Subevent | Family | Family legality | Binding legality | Related transport events | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.open | request | R required | R required | http.request | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.body_in | request | R required | R required | http.request | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.chunk_in | request | R required | F forbidden | http.request | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.accept | request | R required | O optional | http.request | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.close | request | R required | R required | http.request | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.disconnect | request | R required | O optional | http.disconnect | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.open | request | R required | R required | http.response.start | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.body_out | request | R required | R required | http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.chunk_out | request | R required | F forbidden | http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.close | request | R required | O optional | http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.emit_complete | request | R required | R required | transport.emit.complete | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.open | session | R required | F forbidden | websocket.connect, webtransport.connect | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.accept | session | R required | F forbidden | websocket.accept, webtransport.accept | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.ready | session | R required | F forbidden | websocket.accept, webtransport.accept | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.heartbeat | session | R required | F forbidden | websocket.send, webtransport.stream.send | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.sync | session | R required | F forbidden | websocket.send, webtransport.stream.send | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.close | session | R required | F forbidden | websocket.close, webtransport.close | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.disconnect | session | R required | F forbidden | websocket.disconnect, webtransport.disconnect | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.emit_complete | session | R required | F forbidden | transport.emit.complete | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.in | message | R required | F forbidden | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.decode | message | R required | F forbidden | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.handle | message | R required | F forbidden | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.out | message | R required | F forbidden | websocket.send, webtransport.stream.send, http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.ack | message | R required | F forbidden | websocket.send, webtransport.stream.send, webtransport.datagram.send | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.nack | message | R required | F forbidden | websocket.send, webtransport.stream.send, webtransport.datagram.send | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.replay | message | R required | F forbidden | websocket.send, webtransport.stream.send, http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.snapshot | message | R required | F forbidden | websocket.send, webtransport.stream.send, http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.emit_complete | message | R required | F forbidden | transport.emit.complete | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.open | stream | R required | O optional | webtransport.stream.send, http.response.start | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.chunk_in | stream | R required | O optional | webtransport.stream.receive, http.request | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.chunk_out | stream | R required | O optional | webtransport.stream.send, http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.flush | stream | R required | F forbidden | webtransport.stream.send, http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.finalize | stream | R required | O optional | webtransport.stream.send, http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.abort | stream | R required | F forbidden | webtransport.close, http.disconnect | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.close | stream | R required | O optional | webtransport.close, http.response.body | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.emit_complete | stream | R required | O optional | transport.emit.complete | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.in | datagram | R required | F forbidden | webtransport.datagram.receive | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.handle | datagram | R required | F forbidden | webtransport.datagram.receive | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.out | datagram | R required | F forbidden | webtransport.datagram.send | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.ack | datagram | R required | F forbidden | webtransport.datagram.send | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.close | datagram | R required | F forbidden | webtransport.close | | rest | http.rest, https.rest | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.emit_complete | datagram | R required | F forbidden | transport.emit.complete | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.open | request | R required | R required | http.request | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.body_in | request | R required | R required | http.request | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.chunk_in | request | R required | F forbidden | http.request | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.accept | request | R required | O optional | http.request | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.close | request | R required | R required | http.request | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | request.disconnect | request | R required | O optional | http.disconnect | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.open | request | R required | R required | http.response.start | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.body_out | request | R required | R required | http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.chunk_out | request | R required | F forbidden | http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.close | request | R required | O optional | http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | response.emit_complete | request | R required | R required | transport.emit.complete | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.open | session | R required | F forbidden | websocket.connect, webtransport.connect | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.accept | session | R required | F forbidden | websocket.accept, webtransport.accept | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.ready | session | R required | F forbidden | websocket.accept, webtransport.accept | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.heartbeat | session | R required | F forbidden | websocket.send, webtransport.stream.send | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.sync | session | R required | F forbidden | websocket.send, webtransport.stream.send | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.close | session | R required | F forbidden | websocket.close, webtransport.close | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.disconnect | session | R required | F forbidden | websocket.disconnect, webtransport.disconnect | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | session.emit_complete | session | R required | F forbidden | transport.emit.complete | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.in | message | R required | F forbidden | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.decode | message | R required | D derived | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.handle | message | R required | F forbidden | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.out | message | R required | F forbidden | websocket.send, webtransport.stream.send, http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.ack | message | R required | F forbidden | websocket.send, webtransport.stream.send, webtransport.datagram.send | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.nack | message | R required | F forbidden | websocket.send, webtransport.stream.send, webtransport.datagram.send | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.replay | message | R required | F forbidden | websocket.send, webtransport.stream.send, http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.snapshot | message | R required | F forbidden | websocket.send, webtransport.stream.send, http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | message.emit_complete | message | R required | F forbidden | transport.emit.complete | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.open | stream | R required | O optional | webtransport.stream.send, http.response.start | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.chunk_in | stream | R required | O optional | webtransport.stream.receive, http.request | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.chunk_out | stream | R required | O optional | webtransport.stream.send, http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.flush | stream | R required | F forbidden | webtransport.stream.send, http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.finalize | stream | R required | O optional | webtransport.stream.send, http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.abort | stream | R required | F forbidden | webtransport.close, http.disconnect | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.close | stream | R required | O optional | webtransport.close, http.response.body | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | stream.emit_complete | stream | R required | O optional | transport.emit.complete | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.in | datagram | R required | F forbidden | webtransport.datagram.receive | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.handle | datagram | R required | F forbidden | webtransport.datagram.receive | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.out | datagram | R required | F forbidden | webtransport.datagram.send | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.ack | datagram | R required | F forbidden | webtransport.datagram.send | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.close | datagram | R required | F forbidden | webtransport.close | | jsonrpc | http.jsonrpc, https.jsonrpc | unary | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request | stream | datagram.emit_complete | datagram | R required | F forbidden | transport.emit.complete | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | request.open | request | R required | R required | http.request | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | request.body_in | request | R required | O optional | http.request | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | request.chunk_in | request | R required | D derived | http.request | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | request.accept | request | R required | O optional | http.request | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | request.close | request | R required | R required | http.request | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | request.disconnect | request | R required | O optional | http.disconnect | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | response.open | request | R required | R required | http.response.start | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | response.body_out | request | R required | O optional | http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | response.chunk_out | request | R required | D derived | http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | response.close | request | R required | O optional | http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | response.emit_complete | request | R required | R required | transport.emit.complete | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | session.open | session | R required | F forbidden | websocket.connect, webtransport.connect | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | session.accept | session | R required | F forbidden | websocket.accept, webtransport.accept | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | session.ready | session | R required | F forbidden | websocket.accept, webtransport.accept | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | session.heartbeat | session | R required | F forbidden | websocket.send, webtransport.stream.send | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | session.sync | session | R required | F forbidden | websocket.send, webtransport.stream.send | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | session.close | session | R required | F forbidden | websocket.close, webtransport.close | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | session.disconnect | session | R required | F forbidden | websocket.disconnect, webtransport.disconnect | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | session.emit_complete | session | R required | F forbidden | transport.emit.complete | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | message.in | message | R required | F forbidden | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | message.decode | message | R required | F forbidden | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | message.handle | message | R required | F forbidden | websocket.receive, webtransport.stream.receive, webtransport.datagram.receive | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | message.out | message | R required | F forbidden | websocket.send, webtransport.stream.send, http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | message.ack | message | R required | F forbidden | websocket.send, webtransport.stream.send, webtransport.datagram.send | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | message.nack | message | R required | F forbidden | websocket.send, webtransport.stream.send, webtransport.datagram.send | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | message.replay | message | R required | F forbidden | websocket.send, webtransport.stream.send, http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | message.snapshot | message | R required | F forbidden | websocket.send, webtransport.stream.send, http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | message.emit_complete | message | R required | F forbidden | transport.emit.complete | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | stream.open | stream | R required | R required | webtransport.stream.send, http.response.start | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | stream.chunk_in | stream | R required | R required | webtransport.stream.receive, http.request | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | stream.chunk_out | stream | R required | R required | webtransport.stream.send, http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | stream.flush | stream | R required | O optional | webtransport.stream.send, http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | stream.finalize | stream | R required | R required | webtransport.stream.send, http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | stream.abort | stream | R required | O optional | webtransport.close, http.disconnect | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | stream.close | stream | R required | R required | webtransport.close, http.response.body | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | stream.emit_complete | stream | R required | R required | transport.emit.complete | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | datagram.in | datagram | R required | F forbidden | webtransport.datagram.receive | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | datagram.handle | datagram | R required | F forbidden | webtransport.datagram.receive | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | datagram.out | datagram | R required | F forbidden | webtransport.datagram.send | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | datagram.ack | datagram | R required | F forbidden | webtransport.datagram.send | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | datagram.close | datagram | R required | F forbidden | webtransport.close | | http.stream | http.stream, https.stream | server_stream | http | transport, family_capabilities | http.request, http.disconnect, http.response.start, http.response.body, transport.emit.complete | request, stream | - | datagram.emit_complete | datagram | R required | F forbidden | transport.emit.complete | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | request.open | request | R required | R required | http.request | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | request.body_in | request | R required | O optional | http.request | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | request.chunk_in | request | R required | F forbidden | http.request | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | request.accept | request | R required | O optional | http.request | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | request.close | request | R required | R required | http.request | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | request.disconnect | request | R required | O optional | http.disconnect | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | response.open | request | R required | O optional | http.response.start | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | response.body_out | request | R required | F forbidden | http.response.body | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | response.chunk_out | request | R required | D derived | http.response.body | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | response.close | request | R required | O optional | http.response.body | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | response.emit_complete | request | R required | R required | transport.emit.complete | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | session.open | session | R required | R required | websocket.connect, webtransport.connect | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | session.accept | session | R required | R required | websocket.accept, webtransport.accept | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | session.ready | session | R required | R required | websocket.accept, webtransport.accept | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | session.heartbeat | session | R required | O optional | websocket.send, webtransport.stream.send | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | session.sync | session | R required | O optional | websocket.send, webtransport.stream.send | | sse | http.sse, https.sse | server_stream | http | transport, family_capabilities, sse | http.disconnect, http.request, http.response.body, http.response.start, transport.emit.complete | request, session, message, stream | - | `session.cl