tigr-asgi-contract-artifacts 0.1.2.dev7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. tigr_asgi_contract_artifacts-0.1.2.dev7.dist-info/METADATA +436 -0
  2. tigr_asgi_contract_artifacts-0.1.2.dev7.dist-info/RECORD +28 -0
  3. tigr_asgi_contract_artifacts-0.1.2.dev7.dist-info/WHEEL +5 -0
  4. tigr_asgi_contract_artifacts-0.1.2.dev7.dist-info/top_level.txt +1 -0
  5. tigr_contract_artifacts/__init__.py +3 -0
  6. tigr_contract_artifacts/_contract/bindings.yaml +76 -0
  7. tigr_contract_artifacts/_contract/capabilities.yaml +7 -0
  8. tigr_contract_artifacts/_contract/checksums.txt +21 -0
  9. tigr_contract_artifacts/_contract/compatibility.yaml +4 -0
  10. tigr_contract_artifacts/_contract/completion.yaml +4 -0
  11. tigr_contract_artifacts/_contract/exchanges.yaml +4 -0
  12. tigr_contract_artifacts/_contract/families.yaml +6 -0
  13. tigr_contract_artifacts/_contract/ids.yaml +7 -0
  14. tigr_contract_artifacts/_contract/legality/binding_family.yaml +37 -0
  15. tigr_contract_artifacts/_contract/legality/binding_subevent.yaml +259 -0
  16. tigr_contract_artifacts/_contract/legality/family_subevent.yaml +48 -0
  17. tigr_contract_artifacts/_contract/manifest.json +89 -0
  18. tigr_contract_artifacts/_contract/schemas/compatibility.schema.json +38 -0
  19. tigr_contract_artifacts/_contract/schemas/completion.schema.json +9 -0
  20. tigr_contract_artifacts/_contract/schemas/event.schema.json +38 -0
  21. tigr_contract_artifacts/_contract/schemas/scope.schema.json +106 -0
  22. tigr_contract_artifacts/_contract/schemas/sse.schema.json +21 -0
  23. tigr_contract_artifacts/_contract/schemas/transport.schema.json +173 -0
  24. tigr_contract_artifacts/_contract/schemas/websocket.schema.json +14 -0
  25. tigr_contract_artifacts/_contract/schemas/webtransport.schema.json +30 -0
  26. tigr_contract_artifacts/_contract/scope_types.yaml +5 -0
  27. tigr_contract_artifacts/_contract/subevents.yaml +48 -0
  28. tigr_contract_artifacts/access.py +29 -0
@@ -0,0 +1,436 @@
1
+ Metadata-Version: 2.4
2
+ Name: tigr-asgi-contract-artifacts
3
+ Version: 0.1.2.dev7
4
+ Summary: Canonical contract artifacts for the Tigr ASGI contract
5
+ License: Apache-2.0
6
+ Requires-Python: >=3.10
7
+ Description-Content-Type: text/markdown
8
+ Requires-Dist: PyYAML>=6.0
9
+
10
+ # tigr-asgi-contract-artifacts
11
+
12
+ Canonical Python artifact package for the Tigr ASGI contract. This package ships the source artifacts that drive the downstream contract packages.
13
+
14
+ ## Artifact Package Matrix
15
+
16
+ | Ecosystem | Package | Version | Path | Surface files | Notes |
17
+ | --- | --- | --- | --- | --- | --- |
18
+ | python | **`tigr-asgi-contract-artifacts`** | `0.1.2-dev7` | `packages/artifacts-py` | 1 | Vendored file accessors |
19
+ | npm | `@tigrbljs/tigr-asgi-contract-artifacts` | `0.1.2-dev7` | `packages/artifacts-npm` | 4 | Packaged artifact exports |
20
+ | rust | `tigr_asgi_contract_artifacts_rs` | `0.1.2-dev7` | `packages/artifacts-rs` | 1 | Embedded artifact accessors |
21
+
22
+ ## Artifact Inventory Matrix
23
+
24
+ | Artifact path | Category | SHA-256 |
25
+ | --- | --- | --- |
26
+ | `bindings.yaml` | registry | `fa1438b1363b` |
27
+ | `capabilities.yaml` | registry | `389e6a905497` |
28
+ | `compatibility.yaml` | registry | `7f79f950b450` |
29
+ | `completion.yaml` | registry | `036f6b37c6bc` |
30
+ | `exchanges.yaml` | registry | `6c7f8728836f` |
31
+ | `families.yaml` | registry | `75debe47a1e6` |
32
+ | `ids.yaml` | registry | `aec52c6b3ef7` |
33
+ | `legality/binding_family.yaml` | legality | `d73cf6ef3095` |
34
+ | `legality/binding_subevent.yaml` | legality | `d6935ac0f993` |
35
+ | `legality/family_subevent.yaml` | legality | `36fda0df963c` |
36
+ | `schemas/compatibility.schema.json` | schema | `309ba3093d34` |
37
+ | `schemas/completion.schema.json` | schema | `26e6082df0cd` |
38
+ | `schemas/event.schema.json` | schema | `67bb67ddeaab` |
39
+ | `schemas/scope.schema.json` | schema | `2698752580f8` |
40
+ | `schemas/sse.schema.json` | schema | `42e060246611` |
41
+ | `schemas/transport.schema.json` | schema | `865875cec84c` |
42
+ | `schemas/websocket.schema.json` | schema | `b4e38fad362c` |
43
+ | `schemas/webtransport.schema.json` | schema | `e6f9300bfe82` |
44
+ | `scope_types.yaml` | registry | `620b4d20180e` |
45
+ | `subevents.yaml` | registry | `b0abf1e13da9` |
46
+
47
+ ## Release Matrix
48
+
49
+ | Field | Value |
50
+ | --- | --- |
51
+ | Contract name | `tigr-asgi-contract` |
52
+ | Contract version | `0.1.2-dev7` |
53
+ | Artifact version | `0.1.2-dev7` |
54
+ | Serde version | `1` |
55
+ | Schema draft | `2020-12` |
56
+ | Bindings | 6 |
57
+ | Families | 5 |
58
+ | Subevents | 42 |
59
+ | Scope types | 4 |
60
+ | Event types | 19 |
61
+
62
+ ## Scope Type Matrix
63
+
64
+ | ASGI3 scope type | Scope ext fields | Scope event types | Source |
65
+ | --- | --- | --- | --- |
66
+ | `http` | `transport`, `family_capabilities` | `http.request`, `http.disconnect`, `http.response.start`, `http.response.body`, `transport.emit.complete` | `scope.schema.json` |
67
+ | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `scope.schema.json` |
68
+ | `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` |
69
+ | `lifespan` | `transport`, `family_capabilities` | - | `scope.schema.json` |
70
+
71
+ ## Capability Matrix
72
+
73
+ | Capability field | Family alignment | Meaning | Schema source |
74
+ | --- | --- | --- | --- |
75
+ | `request` | `request` | bounded unary invocation available | `transport.schema.json#/$defs/familyCapabilities` |
76
+ | `session` | `session` | long-lived association available | `transport.schema.json#/$defs/familyCapabilities` |
77
+ | `message` | `message` | discrete logical message transport available | `transport.schema.json#/$defs/familyCapabilities` |
78
+ | `stream_in` | `stream` | inbound stream chunks available | `transport.schema.json#/$defs/familyCapabilities` |
79
+ | `stream_out` | `stream` | outbound stream chunks available | `transport.schema.json#/$defs/familyCapabilities` |
80
+ | `datagram` | `datagram` | datagram transport available | `transport.schema.json#/$defs/familyCapabilities` |
81
+
82
+ ## Compatibility Matrix
83
+
84
+ | Compatibility field | Value | Meaning | Source |
85
+ | --- | --- | --- | --- |
86
+ | `contract_name` | `tigr-asgi-contract` | Canonical contract identifier | `contract/compatibility.yaml` |
87
+ | `contract_version` | `0.1.0` | Published contract version | `contract/compatibility.yaml` |
88
+ | `serde_version` | `1` | Serialization surface version | `contract/compatibility.yaml` |
89
+ | `schema_draft` | `2020-12` | JSON Schema draft level | `contract/compatibility.yaml` |
90
+
91
+ ## Completion Matrix
92
+
93
+ | Completion level | Meaning | Default | Source |
94
+ | --- | --- | --- | --- |
95
+ | `accepted_by_runtime` | send accepted by runtime/output queue | no | `contract/completion.yaml` |
96
+ | `flushed_to_transport` | send flushed to transport boundary | yes | `contract/completion.yaml` |
97
+
98
+ ## Event Matrix
99
+
100
+ | Transport event | ASGI3 scope type | Bindings | Related subevents | Meaning |
101
+ | --- | --- | --- | --- | --- |
102
+ | `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 |
103
+ | `http.disconnect` | `http` | `http.stream`, `jsonrpc`, `rest`, `sse` | `request.disconnect`, `stream.abort` | HTTP connection closed by peer or server |
104
+ | `http.response.start` | `http` | `http.stream`, `jsonrpc`, `rest`, `sse` | `response.open`, `stream.open` | HTTP response metadata start |
105
+ | `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 |
106
+ | `websocket.connect` | `websocket` | `websocket` | `session.open` | WebSocket connection open event |
107
+ | `websocket.receive` | `websocket` | `websocket` | `message.decode`, `message.handle`, `message.in` | Inbound WebSocket frame |
108
+ | `websocket.disconnect` | `websocket` | `websocket` | `session.disconnect` | WebSocket disconnect signal |
109
+ | `websocket.accept` | `websocket` | `websocket` | `session.accept`, `session.ready` | WebSocket accept handshake response |
110
+ | `websocket.send` | `websocket` | `websocket` | `message.ack`, `message.nack`, `message.out`, `message.replay`, `message.snapshot`, `session.heartbeat`, `session.sync` | Outbound WebSocket frame |
111
+ | `websocket.close` | `websocket` | `websocket` | `session.close` | WebSocket close frame |
112
+ | `webtransport.connect` | `webtransport` | `webtransport` | `session.open` | WebTransport session connect event |
113
+ | `webtransport.accept` | `webtransport` | `webtransport` | `session.accept`, `session.ready` | WebTransport accept event |
114
+ | `webtransport.stream.receive` | `webtransport` | `webtransport` | `message.decode`, `message.handle`, `message.in`, `stream.chunk_in` | Inbound WebTransport stream frame |
115
+ | `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 |
116
+ | `webtransport.datagram.receive` | `webtransport` | `webtransport` | `datagram.handle`, `datagram.in`, `message.decode`, `message.handle`, `message.in` | Inbound WebTransport datagram |
117
+ | `webtransport.datagram.send` | `webtransport` | `webtransport` | `datagram.ack`, `datagram.out`, `message.ack`, `message.nack` | Outbound WebTransport datagram |
118
+ | `webtransport.disconnect` | `webtransport` | `webtransport` | `session.disconnect` | WebTransport disconnect signal |
119
+ | `webtransport.close` | `webtransport` | `webtransport` | `datagram.close`, `session.close`, `stream.abort`, `stream.close` | WebTransport close event |
120
+ | `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 |
121
+
122
+ ## Family Matrix
123
+
124
+ | Family | Subevent count | Required bindings | Optional bindings | Subevents |
125
+ | --- | --- | --- | --- | --- |
126
+ | `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` |
127
+ | `session` | 8 | `sse`, `websocket`, `webtransport` | - | `session.open`, `session.accept`, `session.ready`, `session.heartbeat`, `session.sync`, `session.close`, `session.disconnect`, `session.emit_complete` |
128
+ | `message` | 9 | `sse`, `websocket` | `webtransport` | `message.in`, `message.decode`, `message.handle`, `message.out`, `message.ack`, `message.nack`, `message.replay`, `message.snapshot`, `message.emit_complete` |
129
+ | `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` |
130
+ | `datagram` | 6 | `webtransport` | - | `datagram.in`, `datagram.handle`, `datagram.out`, `datagram.ack`, `datagram.close`, `datagram.emit_complete` |
131
+
132
+ ## Subevent Matrix
133
+
134
+ | Subevent | Family | Family legality | Required bindings | Optional bindings | Derived bindings | Related transport events |
135
+ | --- | --- | --- | --- | --- | --- | --- |
136
+ | `request.open` | `request` | `R` required | `rest`, `jsonrpc`, `http.stream`, `sse` | - | - | `http.request` |
137
+ | `request.body_in` | `request` | `R` required | `rest`, `jsonrpc` | `http.stream`, `sse` | - | `http.request` |
138
+ | `request.chunk_in` | `request` | `R` required | - | - | `http.stream` | `http.request` |
139
+ | `request.accept` | `request` | `R` required | - | `rest`, `jsonrpc`, `http.stream`, `sse` | - | `http.request` |
140
+ | `request.close` | `request` | `R` required | `rest`, `jsonrpc`, `http.stream`, `sse` | - | - | `http.request` |
141
+ | `request.disconnect` | `request` | `R` required | - | `rest`, `jsonrpc`, `http.stream`, `sse` | - | `http.disconnect` |
142
+ | `response.open` | `request` | `R` required | `rest`, `jsonrpc`, `http.stream` | `sse` | - | `http.response.start` |
143
+ | `response.body_out` | `request` | `R` required | `rest`, `jsonrpc` | `http.stream` | - | `http.response.body` |
144
+ | `response.chunk_out` | `request` | `R` required | - | - | `http.stream`, `sse` | `http.response.body` |
145
+ | `response.close` | `request` | `R` required | - | `rest`, `jsonrpc`, `http.stream`, `sse` | - | `http.response.body` |
146
+ | `response.emit_complete` | `request` | `R` required | `rest`, `jsonrpc`, `http.stream`, `sse` | - | - | `transport.emit.complete` |
147
+ | `session.open` | `session` | `R` required | `sse`, `websocket`, `webtransport` | - | - | `websocket.connect`, `webtransport.connect` |
148
+ | `session.accept` | `session` | `R` required | `sse`, `websocket`, `webtransport` | - | - | `websocket.accept`, `webtransport.accept` |
149
+ | `session.ready` | `session` | `R` required | `sse`, `websocket`, `webtransport` | - | - | `websocket.accept`, `webtransport.accept` |
150
+ | `session.heartbeat` | `session` | `R` required | - | `sse`, `websocket`, `webtransport` | - | `websocket.send`, `webtransport.stream.send` |
151
+ | `session.sync` | `session` | `R` required | - | `sse`, `websocket`, `webtransport` | - | `websocket.send`, `webtransport.stream.send` |
152
+ | `session.close` | `session` | `R` required | `sse`, `websocket`, `webtransport` | - | - | `websocket.close`, `webtransport.close` |
153
+ | `session.disconnect` | `session` | `R` required | - | `sse`, `websocket`, `webtransport` | - | `websocket.disconnect`, `webtransport.disconnect` |
154
+ | `session.emit_complete` | `session` | `R` required | - | `sse`, `websocket`, `webtransport` | - | `transport.emit.complete` |
155
+ | `message.in` | `message` | `R` required | `websocket` | `webtransport` | - | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
156
+ | `message.decode` | `message` | `R` required | - | `websocket`, `webtransport` | `jsonrpc` | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
157
+ | `message.handle` | `message` | `R` required | `websocket` | `webtransport` | - | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
158
+ | `message.out` | `message` | `R` required | `sse`, `websocket` | `webtransport` | - | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
159
+ | `message.ack` | `message` | `R` required | - | `websocket`, `webtransport` | - | `websocket.send`, `webtransport.stream.send`, `webtransport.datagram.send` |
160
+ | `message.nack` | `message` | `R` required | - | `websocket`, `webtransport` | - | `websocket.send`, `webtransport.stream.send`, `webtransport.datagram.send` |
161
+ | `message.replay` | `message` | `R` required | - | `sse`, `websocket`, `webtransport` | - | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
162
+ | `message.snapshot` | `message` | `R` required | - | `sse`, `websocket`, `webtransport` | - | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
163
+ | `message.emit_complete` | `message` | `R` required | `sse`, `websocket` | `webtransport` | - | `transport.emit.complete` |
164
+ | `stream.open` | `stream` | `R` required | `http.stream`, `sse`, `webtransport` | `rest`, `jsonrpc` | - | `webtransport.stream.send`, `http.response.start` |
165
+ | `stream.chunk_in` | `stream` | `R` required | `http.stream`, `webtransport` | `rest`, `jsonrpc` | - | `webtransport.stream.receive`, `http.request` |
166
+ | `stream.chunk_out` | `stream` | `R` required | `http.stream`, `sse`, `webtransport` | `rest`, `jsonrpc` | - | `webtransport.stream.send`, `http.response.body` |
167
+ | `stream.flush` | `stream` | `R` required | - | `http.stream`, `sse`, `webtransport` | - | `webtransport.stream.send`, `http.response.body` |
168
+ | `stream.finalize` | `stream` | `R` required | `http.stream`, `webtransport` | `rest`, `jsonrpc`, `sse` | - | `webtransport.stream.send`, `http.response.body` |
169
+ | `stream.abort` | `stream` | `R` required | - | `http.stream`, `sse`, `webtransport` | - | `webtransport.close`, `http.disconnect` |
170
+ | `stream.close` | `stream` | `R` required | `http.stream`, `sse`, `webtransport` | `rest`, `jsonrpc` | - | `webtransport.close`, `http.response.body` |
171
+ | `stream.emit_complete` | `stream` | `R` required | `http.stream`, `sse`, `webtransport` | `rest`, `jsonrpc` | - | `transport.emit.complete` |
172
+ | `datagram.in` | `datagram` | `R` required | `webtransport` | - | - | `webtransport.datagram.receive` |
173
+ | `datagram.handle` | `datagram` | `R` required | `webtransport` | - | - | `webtransport.datagram.receive` |
174
+ | `datagram.out` | `datagram` | `R` required | `webtransport` | - | - | `webtransport.datagram.send` |
175
+ | `datagram.ack` | `datagram` | `R` required | - | `webtransport` | - | `webtransport.datagram.send` |
176
+ | `datagram.close` | `datagram` | `R` required | `webtransport` | - | - | `webtransport.close` |
177
+ | `datagram.emit_complete` | `datagram` | `R` required | `webtransport` | - | - | `transport.emit.complete` |
178
+
179
+ ## Binding Subevent Matrix
180
+
181
+ Every row is a concrete `binding x subevent` record sourced from the legality registries.
182
+
183
+ | 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 |
184
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
185
+ | `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` |
186
+ | `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` |
187
+ | `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` |
188
+ | `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` |
189
+ | `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` |
190
+ | `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` |
191
+ | `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` |
192
+ | `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` |
193
+ | `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` |
194
+ | `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` |
195
+ | `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` |
196
+ | `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` |
197
+ | `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` |
198
+ | `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` |
199
+ | `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` |
200
+ | `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` |
201
+ | `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` |
202
+ | `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` |
203
+ | `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` |
204
+ | `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` |
205
+ | `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` |
206
+ | `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` |
207
+ | `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` |
208
+ | `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` |
209
+ | `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` |
210
+ | `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` |
211
+ | `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` |
212
+ | `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` |
213
+ | `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` |
214
+ | `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` |
215
+ | `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` |
216
+ | `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` |
217
+ | `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` |
218
+ | `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` |
219
+ | `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` |
220
+ | `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` |
221
+ | `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` |
222
+ | `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` |
223
+ | `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` |
224
+ | `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` |
225
+ | `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` |
226
+ | `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` |
227
+ | `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` |
228
+ | `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` |
229
+ | `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` |
230
+ | `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` |
231
+ | `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` |
232
+ | `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` |
233
+ | `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` |
234
+ | `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` |
235
+ | `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` |
236
+ | `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` |
237
+ | `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` |
238
+ | `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` |
239
+ | `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` |
240
+ | `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` |
241
+ | `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` |
242
+ | `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` |
243
+ | `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` |
244
+ | `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` |
245
+ | `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` |
246
+ | `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` |
247
+ | `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` |
248
+ | `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` |
249
+ | `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` |
250
+ | `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` |
251
+ | `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` |
252
+ | `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` |
253
+ | `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` |
254
+ | `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` |
255
+ | `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` |
256
+ | `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` |
257
+ | `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` |
258
+ | `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` |
259
+ | `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` |
260
+ | `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` |
261
+ | `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` |
262
+ | `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` |
263
+ | `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` |
264
+ | `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` |
265
+ | `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` |
266
+ | `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` |
267
+ | `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` |
268
+ | `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` |
269
+ | `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` |
270
+ | `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` |
271
+ | `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` |
272
+ | `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` |
273
+ | `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` |
274
+ | `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` |
275
+ | `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` |
276
+ | `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` |
277
+ | `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` |
278
+ | `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` |
279
+ | `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` |
280
+ | `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` |
281
+ | `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` |
282
+ | `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` |
283
+ | `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` |
284
+ | `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` |
285
+ | `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` |
286
+ | `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` |
287
+ | `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` |
288
+ | `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` |
289
+ | `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` |
290
+ | `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` |
291
+ | `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` |
292
+ | `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` |
293
+ | `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` |
294
+ | `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` |
295
+ | `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` |
296
+ | `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` |
297
+ | `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` |
298
+ | `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` |
299
+ | `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` |
300
+ | `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` |
301
+ | `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` |
302
+ | `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` |
303
+ | `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` |
304
+ | `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` |
305
+ | `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` |
306
+ | `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` |
307
+ | `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` |
308
+ | `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` |
309
+ | `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` |
310
+ | `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` |
311
+ | `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` |
312
+ | `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` |
313
+ | `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` |
314
+ | `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` |
315
+ | `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` |
316
+ | `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` |
317
+ | `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` |
318
+ | `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` |
319
+ | `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` |
320
+ | `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` |
321
+ | `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` |
322
+ | `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` |
323
+ | `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` |
324
+ | `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` |
325
+ | `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` |
326
+ | `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` |
327
+ | `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.close` | `session` | `R` required | `R` required | `websocket.close`, `webtransport.close` |
328
+ | `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.disconnect` | `session` | `R` required | `O` optional | `websocket.disconnect`, `webtransport.disconnect` |
329
+ | `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.emit_complete` | `session` | `R` required | `O` optional | `transport.emit.complete` |
330
+ | `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` | - | `message.in` | `message` | `R` required | `F` forbidden | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
331
+ | `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` | - | `message.decode` | `message` | `R` required | `F` forbidden | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
332
+ | `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` | - | `message.handle` | `message` | `R` required | `F` forbidden | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
333
+ | `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` | - | `message.out` | `message` | `R` required | `R` required | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
334
+ | `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` | - | `message.ack` | `message` | `R` required | `F` forbidden | `websocket.send`, `webtransport.stream.send`, `webtransport.datagram.send` |
335
+ | `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` | - | `message.nack` | `message` | `R` required | `F` forbidden | `websocket.send`, `webtransport.stream.send`, `webtransport.datagram.send` |
336
+ | `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` | - | `message.replay` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
337
+ | `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` | - | `message.snapshot` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
338
+ | `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` | - | `message.emit_complete` | `message` | `R` required | `R` required | `transport.emit.complete` |
339
+ | `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` | - | `stream.open` | `stream` | `R` required | `R` required | `webtransport.stream.send`, `http.response.start` |
340
+ | `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` | - | `stream.chunk_in` | `stream` | `R` required | `F` forbidden | `webtransport.stream.receive`, `http.request` |
341
+ | `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` | - | `stream.chunk_out` | `stream` | `R` required | `R` required | `webtransport.stream.send`, `http.response.body` |
342
+ | `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` | - | `stream.flush` | `stream` | `R` required | `O` optional | `webtransport.stream.send`, `http.response.body` |
343
+ | `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` | - | `stream.finalize` | `stream` | `R` required | `O` optional | `webtransport.stream.send`, `http.response.body` |
344
+ | `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` | - | `stream.abort` | `stream` | `R` required | `O` optional | `webtransport.close`, `http.disconnect` |
345
+ | `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` | - | `stream.close` | `stream` | `R` required | `R` required | `webtransport.close`, `http.response.body` |
346
+ | `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` | - | `stream.emit_complete` | `stream` | `R` required | `R` required | `transport.emit.complete` |
347
+ | `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` | - | `datagram.in` | `datagram` | `R` required | `F` forbidden | `webtransport.datagram.receive` |
348
+ | `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` | - | `datagram.handle` | `datagram` | `R` required | `F` forbidden | `webtransport.datagram.receive` |
349
+ | `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` | - | `datagram.out` | `datagram` | `R` required | `F` forbidden | `webtransport.datagram.send` |
350
+ | `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` | - | `datagram.ack` | `datagram` | `R` required | `F` forbidden | `webtransport.datagram.send` |
351
+ | `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` | - | `datagram.close` | `datagram` | `R` required | `F` forbidden | `webtransport.close` |
352
+ | `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` | - | `datagram.emit_complete` | `datagram` | `R` required | `F` forbidden | `transport.emit.complete` |
353
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `request.open` | `request` | `R` required | `F` forbidden | `http.request` |
354
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `request.body_in` | `request` | `R` required | `F` forbidden | `http.request` |
355
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `request.chunk_in` | `request` | `R` required | `F` forbidden | `http.request` |
356
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `request.accept` | `request` | `R` required | `F` forbidden | `http.request` |
357
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `request.close` | `request` | `R` required | `F` forbidden | `http.request` |
358
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `request.disconnect` | `request` | `R` required | `F` forbidden | `http.disconnect` |
359
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `response.open` | `request` | `R` required | `F` forbidden | `http.response.start` |
360
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `response.body_out` | `request` | `R` required | `F` forbidden | `http.response.body` |
361
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `response.chunk_out` | `request` | `R` required | `F` forbidden | `http.response.body` |
362
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `response.close` | `request` | `R` required | `F` forbidden | `http.response.body` |
363
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `response.emit_complete` | `request` | `R` required | `F` forbidden | `transport.emit.complete` |
364
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `session.open` | `session` | `R` required | `R` required | `websocket.connect`, `webtransport.connect` |
365
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `session.accept` | `session` | `R` required | `R` required | `websocket.accept`, `webtransport.accept` |
366
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `session.ready` | `session` | `R` required | `R` required | `websocket.accept`, `webtransport.accept` |
367
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `session.heartbeat` | `session` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send` |
368
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `session.sync` | `session` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send` |
369
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `session.close` | `session` | `R` required | `R` required | `websocket.close`, `webtransport.close` |
370
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `session.disconnect` | `session` | `R` required | `O` optional | `websocket.disconnect`, `webtransport.disconnect` |
371
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `session.emit_complete` | `session` | `R` required | `O` optional | `transport.emit.complete` |
372
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `message.in` | `message` | `R` required | `R` required | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
373
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `message.decode` | `message` | `R` required | `O` optional | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
374
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `message.handle` | `message` | `R` required | `R` required | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
375
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `message.out` | `message` | `R` required | `R` required | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
376
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `message.ack` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `webtransport.datagram.send` |
377
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `message.nack` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `webtransport.datagram.send` |
378
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `message.replay` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
379
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `message.snapshot` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
380
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `message.emit_complete` | `message` | `R` required | `R` required | `transport.emit.complete` |
381
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `stream.open` | `stream` | `R` required | `F` forbidden | `webtransport.stream.send`, `http.response.start` |
382
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `stream.chunk_in` | `stream` | `R` required | `F` forbidden | `webtransport.stream.receive`, `http.request` |
383
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `stream.chunk_out` | `stream` | `R` required | `F` forbidden | `webtransport.stream.send`, `http.response.body` |
384
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `stream.flush` | `stream` | `R` required | `F` forbidden | `webtransport.stream.send`, `http.response.body` |
385
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `stream.finalize` | `stream` | `R` required | `F` forbidden | `webtransport.stream.send`, `http.response.body` |
386
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `stream.abort` | `stream` | `R` required | `F` forbidden | `webtransport.close`, `http.disconnect` |
387
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `stream.close` | `stream` | `R` required | `F` forbidden | `webtransport.close`, `http.response.body` |
388
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `stream.emit_complete` | `stream` | `R` required | `F` forbidden | `transport.emit.complete` |
389
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `datagram.in` | `datagram` | `R` required | `F` forbidden | `webtransport.datagram.receive` |
390
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `datagram.handle` | `datagram` | `R` required | `F` forbidden | `webtransport.datagram.receive` |
391
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `datagram.out` | `datagram` | `R` required | `F` forbidden | `webtransport.datagram.send` |
392
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `datagram.ack` | `datagram` | `R` required | `F` forbidden | `webtransport.datagram.send` |
393
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `datagram.close` | `datagram` | `R` required | `F` forbidden | `webtransport.close` |
394
+ | `websocket` | `ws`, `wss` | `duplex` | `websocket` | `transport`, `family_capabilities`, `websocket` | `websocket.connect`, `websocket.receive`, `websocket.disconnect`, `websocket.accept`, `websocket.send`, `websocket.close`, `transport.emit.complete` | `session`, `message` | - | `datagram.emit_complete` | `datagram` | `R` required | `F` forbidden | `transport.emit.complete` |
395
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `request.open` | `request` | `R` required | `F` forbidden | `http.request` |
396
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `request.body_in` | `request` | `R` required | `F` forbidden | `http.request` |
397
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `request.chunk_in` | `request` | `R` required | `F` forbidden | `http.request` |
398
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `request.accept` | `request` | `R` required | `F` forbidden | `http.request` |
399
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `request.close` | `request` | `R` required | `F` forbidden | `http.request` |
400
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `request.disconnect` | `request` | `R` required | `F` forbidden | `http.disconnect` |
401
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `response.open` | `request` | `R` required | `F` forbidden | `http.response.start` |
402
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `response.body_out` | `request` | `R` required | `F` forbidden | `http.response.body` |
403
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `response.chunk_out` | `request` | `R` required | `F` forbidden | `http.response.body` |
404
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `response.close` | `request` | `R` required | `F` forbidden | `http.response.body` |
405
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `response.emit_complete` | `request` | `R` required | `F` forbidden | `transport.emit.complete` |
406
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `session.open` | `session` | `R` required | `R` required | `websocket.connect`, `webtransport.connect` |
407
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `session.accept` | `session` | `R` required | `R` required | `websocket.accept`, `webtransport.accept` |
408
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `session.ready` | `session` | `R` required | `R` required | `websocket.accept`, `webtransport.accept` |
409
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `session.heartbeat` | `session` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send` |
410
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `session.sync` | `session` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send` |
411
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `session.close` | `session` | `R` required | `R` required | `websocket.close`, `webtransport.close` |
412
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `session.disconnect` | `session` | `R` required | `O` optional | `websocket.disconnect`, `webtransport.disconnect` |
413
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `session.emit_complete` | `session` | `R` required | `O` optional | `transport.emit.complete` |
414
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `message.in` | `message` | `R` required | `O` optional | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
415
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `message.decode` | `message` | `R` required | `O` optional | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
416
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `message.handle` | `message` | `R` required | `O` optional | `websocket.receive`, `webtransport.stream.receive`, `webtransport.datagram.receive` |
417
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `message.out` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
418
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `message.ack` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `webtransport.datagram.send` |
419
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `message.nack` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `webtransport.datagram.send` |
420
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `message.replay` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
421
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `message.snapshot` | `message` | `R` required | `O` optional | `websocket.send`, `webtransport.stream.send`, `http.response.body` |
422
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `message.emit_complete` | `message` | `R` required | `O` optional | `transport.emit.complete` |
423
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `stream.open` | `stream` | `R` required | `R` required | `webtransport.stream.send`, `http.response.start` |
424
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `stream.chunk_in` | `stream` | `R` required | `R` required | `webtransport.stream.receive`, `http.request` |
425
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `stream.chunk_out` | `stream` | `R` required | `R` required | `webtransport.stream.send`, `http.response.body` |
426
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `stream.flush` | `stream` | `R` required | `O` optional | `webtransport.stream.send`, `http.response.body` |
427
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `stream.finalize` | `stream` | `R` required | `R` required | `webtransport.stream.send`, `http.response.body` |
428
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `stream.abort` | `stream` | `R` required | `O` optional | `webtransport.close`, `http.disconnect` |
429
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `stream.close` | `stream` | `R` required | `R` required | `webtransport.close`, `http.response.body` |
430
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `stream.emit_complete` | `stream` | `R` required | `R` required | `transport.emit.complete` |
431
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `datagram.in` | `datagram` | `R` required | `R` required | `webtransport.datagram.receive` |
432
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `datagram.handle` | `datagram` | `R` required | `R` required | `webtransport.datagram.receive` |
433
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `datagram.out` | `datagram` | `R` required | `R` required | `webtransport.datagram.send` |
434
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `datagram.ack` | `datagram` | `R` required | `O` optional | `webtransport.datagram.send` |
435
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `datagram.close` | `datagram` | `R` required | `R` required | `webtransport.close` |
436
+ | `webtransport` | `webtransport` | `duplex` | `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` | `session`, `stream`, `datagram` | `message` | `datagram.emit_complete` | `datagram` | `R` required | `R` required | `transport.emit.complete` |