@procedures/client 0.2.2 → 0.3.0

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 (299) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +61 -38
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/adapters/http/client/transport.d.ts.map +1 -1
  5. package/dist/adapters/http/client/transport.js +35 -3
  6. package/dist/adapters/http/client/transport.js.map +1 -1
  7. package/dist/adapters/http/client/types.d.ts +3 -2
  8. package/dist/adapters/http/client/types.d.ts.map +1 -1
  9. package/dist/adapters/http/server/transport.d.ts +2 -2
  10. package/dist/adapters/http/server/transport.d.ts.map +1 -1
  11. package/dist/adapters/http/server/transport.js +53 -20
  12. package/dist/adapters/http/server/transport.js.map +1 -1
  13. package/dist/adapters/http/shared/headers.d.ts +1 -1
  14. package/dist/adapters/http/shared/headers.d.ts.map +1 -1
  15. package/dist/adapters/http/shared/headers.js +7 -6
  16. package/dist/adapters/http/shared/headers.js.map +1 -1
  17. package/dist/adapters/local/client/transport.d.ts +3 -0
  18. package/dist/adapters/local/client/transport.d.ts.map +1 -1
  19. package/dist/adapters/local/client/transport.js +63 -4
  20. package/dist/adapters/local/client/transport.js.map +1 -1
  21. package/dist/adapters/local/client/types.d.ts +15 -0
  22. package/dist/adapters/local/client/types.d.ts.map +1 -1
  23. package/dist/adapters/local/client/types.js.map +1 -1
  24. package/dist/adapters/mock/client/transport.d.ts +3 -2
  25. package/dist/adapters/mock/client/transport.d.ts.map +1 -1
  26. package/dist/adapters/mock/client/transport.js +8 -5
  27. package/dist/adapters/mock/client/transport.js.map +1 -1
  28. package/dist/adapters/mock/client/types.d.ts +7 -6
  29. package/dist/adapters/mock/client/types.d.ts.map +1 -1
  30. package/dist/adapters/port/transport.d.ts +62 -0
  31. package/dist/adapters/port/transport.d.ts.map +1 -0
  32. package/dist/adapters/port/transport.js +94 -0
  33. package/dist/adapters/port/transport.js.map +1 -0
  34. package/dist/adapters/websocket/client/index.d.ts +1 -1
  35. package/dist/adapters/websocket/client/index.d.ts.map +1 -1
  36. package/dist/adapters/websocket/client/index.js.map +1 -1
  37. package/dist/adapters/websocket/client/transport.d.ts +47 -7
  38. package/dist/adapters/websocket/client/transport.d.ts.map +1 -1
  39. package/dist/adapters/websocket/client/transport.js +213 -67
  40. package/dist/adapters/websocket/client/transport.js.map +1 -1
  41. package/dist/adapters/websocket/client/types.d.ts +70 -21
  42. package/dist/adapters/websocket/client/types.d.ts.map +1 -1
  43. package/dist/adapters/websocket/client/types.js.map +1 -1
  44. package/dist/adapters/websocket/server/transport.d.ts +65 -24
  45. package/dist/adapters/websocket/server/transport.d.ts.map +1 -1
  46. package/dist/adapters/websocket/server/transport.js +192 -263
  47. package/dist/adapters/websocket/server/transport.js.map +1 -1
  48. package/dist/adapters/websocket/server/types.d.ts +20 -1
  49. package/dist/adapters/websocket/server/types.d.ts.map +1 -1
  50. package/dist/adapters/websocket/shared/rpc.d.ts +129 -0
  51. package/dist/adapters/websocket/shared/rpc.d.ts.map +1 -0
  52. package/dist/adapters/websocket/shared/rpc.js +425 -0
  53. package/dist/adapters/websocket/shared/rpc.js.map +1 -0
  54. package/dist/browser.d.ts +29 -7
  55. package/dist/browser.d.ts.map +1 -1
  56. package/dist/browser.js +26 -3
  57. package/dist/browser.js.map +1 -1
  58. package/dist/client/call-types.d.ts +10 -10
  59. package/dist/client/call-types.d.ts.map +1 -1
  60. package/dist/client/call-types.js +1 -6
  61. package/dist/client/call-types.js.map +1 -1
  62. package/dist/client/client.d.ts +6 -1
  63. package/dist/client/client.d.ts.map +1 -1
  64. package/dist/client/client.js +23 -9
  65. package/dist/client/client.js.map +1 -1
  66. package/dist/client/deadline.d.ts +38 -0
  67. package/dist/client/deadline.d.ts.map +1 -0
  68. package/dist/client/deadline.js +60 -0
  69. package/dist/client/deadline.js.map +1 -0
  70. package/dist/client/errors/factory.d.ts.map +1 -1
  71. package/dist/client/errors/factory.js +11 -7
  72. package/dist/client/errors/factory.js.map +1 -1
  73. package/dist/client/index.d.ts +9 -2
  74. package/dist/client/index.d.ts.map +1 -1
  75. package/dist/client/index.js +8 -2
  76. package/dist/client/index.js.map +1 -1
  77. package/dist/client/middleware/cache.d.ts +19 -5
  78. package/dist/client/middleware/cache.d.ts.map +1 -1
  79. package/dist/client/middleware/cache.js +106 -18
  80. package/dist/client/middleware/cache.js.map +1 -1
  81. package/dist/client/middleware/circuit-breaker.d.ts +28 -10
  82. package/dist/client/middleware/circuit-breaker.d.ts.map +1 -1
  83. package/dist/client/middleware/circuit-breaker.js +35 -24
  84. package/dist/client/middleware/circuit-breaker.js.map +1 -1
  85. package/dist/client/middleware/contexts.d.ts +16 -10
  86. package/dist/client/middleware/contexts.d.ts.map +1 -1
  87. package/dist/client/middleware/contexts.js.map +1 -1
  88. package/dist/client/middleware/items.d.ts +31 -2
  89. package/dist/client/middleware/items.d.ts.map +1 -1
  90. package/dist/client/middleware/items.js +86 -6
  91. package/dist/client/middleware/items.js.map +1 -1
  92. package/dist/client/middleware/lru.d.ts +2 -0
  93. package/dist/client/middleware/lru.d.ts.map +1 -1
  94. package/dist/client/middleware/lru.js +11 -0
  95. package/dist/client/middleware/lru.js.map +1 -1
  96. package/dist/client/middleware/rate-limit.d.ts +7 -6
  97. package/dist/client/middleware/rate-limit.d.ts.map +1 -1
  98. package/dist/client/middleware/rate-limit.js +9 -6
  99. package/dist/client/middleware/rate-limit.js.map +1 -1
  100. package/dist/client/middleware/resilience.d.ts +61 -0
  101. package/dist/client/middleware/resilience.d.ts.map +1 -0
  102. package/dist/client/middleware/resilience.js +59 -0
  103. package/dist/client/middleware/resilience.js.map +1 -0
  104. package/dist/client/middleware/retry.d.ts +45 -11
  105. package/dist/client/middleware/retry.d.ts.map +1 -1
  106. package/dist/client/middleware/retry.js +102 -22
  107. package/dist/client/middleware/retry.js.map +1 -1
  108. package/dist/client/middleware/timeout.d.ts +15 -12
  109. package/dist/client/middleware/timeout.d.ts.map +1 -1
  110. package/dist/client/middleware/timeout.js +46 -37
  111. package/dist/client/middleware/timeout.js.map +1 -1
  112. package/dist/client/middleware/tracing.d.ts.map +1 -1
  113. package/dist/client/middleware/tracing.js +11 -3
  114. package/dist/client/middleware/tracing.js.map +1 -1
  115. package/dist/client/types.d.ts +9 -1
  116. package/dist/client/types.d.ts.map +1 -1
  117. package/dist/client/types.js.map +1 -1
  118. package/dist/clock.d.ts +19 -0
  119. package/dist/clock.d.ts.map +1 -0
  120. package/dist/clock.js +18 -0
  121. package/dist/clock.js.map +1 -0
  122. package/dist/duration.d.ts +37 -0
  123. package/dist/duration.d.ts.map +1 -0
  124. package/dist/duration.js +44 -0
  125. package/dist/duration.js.map +1 -0
  126. package/dist/machines.d.ts +90 -0
  127. package/dist/machines.d.ts.map +1 -0
  128. package/dist/machines.js +127 -0
  129. package/dist/machines.js.map +1 -0
  130. package/dist/procedures/capability.d.ts +3 -6
  131. package/dist/procedures/capability.d.ts.map +1 -1
  132. package/dist/procedures/capability.js +11 -9
  133. package/dist/procedures/capability.js.map +1 -1
  134. package/dist/procedures/collection/index.d.ts +3 -3
  135. package/dist/procedures/collection/index.d.ts.map +1 -1
  136. package/dist/procedures/collection/index.js +1 -1
  137. package/dist/procedures/collection/index.js.map +1 -1
  138. package/dist/procedures/collection/procedures.d.ts.map +1 -1
  139. package/dist/procedures/collection/procedures.js +49 -1
  140. package/dist/procedures/collection/procedures.js.map +1 -1
  141. package/dist/procedures/collection/schemas.d.ts +33 -0
  142. package/dist/procedures/collection/schemas.d.ts.map +1 -1
  143. package/dist/procedures/collection/schemas.js +68 -0
  144. package/dist/procedures/collection/schemas.js.map +1 -1
  145. package/dist/procedures/collection/storage.d.ts +37 -0
  146. package/dist/procedures/collection/storage.d.ts.map +1 -1
  147. package/dist/procedures/core/array.d.ts.map +1 -1
  148. package/dist/procedures/core/array.js +26 -15
  149. package/dist/procedures/core/array.js.map +1 -1
  150. package/dist/procedures/core/index.d.ts.map +1 -1
  151. package/dist/procedures/core/index.js +8 -0
  152. package/dist/procedures/core/index.js.map +1 -1
  153. package/dist/procedures/core/meta.d.ts.map +1 -1
  154. package/dist/procedures/core/meta.js +2 -1
  155. package/dist/procedures/core/meta.js.map +1 -1
  156. package/dist/procedures/core/object.d.ts.map +1 -1
  157. package/dist/procedures/core/object.js +42 -13
  158. package/dist/procedures/core/object.js.map +1 -1
  159. package/dist/procedures/core/operands.d.ts.map +1 -1
  160. package/dist/procedures/core/operands.js +6 -1
  161. package/dist/procedures/core/operands.js.map +1 -1
  162. package/dist/procedures/core/string.d.ts.map +1 -1
  163. package/dist/procedures/core/string.js +4 -2
  164. package/dist/procedures/core/string.js.map +1 -1
  165. package/dist/procedures/define-procedure.d.ts +19 -7
  166. package/dist/procedures/define-procedure.d.ts.map +1 -1
  167. package/dist/procedures/define-procedure.js +66 -21
  168. package/dist/procedures/define-procedure.js.map +1 -1
  169. package/dist/procedures/effects.d.ts +16 -0
  170. package/dist/procedures/effects.d.ts.map +1 -1
  171. package/dist/procedures/effects.js +33 -0
  172. package/dist/procedures/effects.js.map +1 -1
  173. package/dist/procedures/idempotency.d.ts +73 -0
  174. package/dist/procedures/idempotency.d.ts.map +1 -0
  175. package/dist/procedures/idempotency.js +131 -0
  176. package/dist/procedures/idempotency.js.map +1 -0
  177. package/dist/procedures/index.d.ts +7 -3
  178. package/dist/procedures/index.d.ts.map +1 -1
  179. package/dist/procedures/index.js +6 -2
  180. package/dist/procedures/index.js.map +1 -1
  181. package/dist/procedures/interceptors.d.ts +17 -4
  182. package/dist/procedures/interceptors.d.ts.map +1 -1
  183. package/dist/procedures/interceptors.js +18 -7
  184. package/dist/procedures/interceptors.js.map +1 -1
  185. package/dist/procedures/invoke.d.ts +15 -3
  186. package/dist/procedures/invoke.d.ts.map +1 -1
  187. package/dist/procedures/invoke.js +8 -3
  188. package/dist/procedures/invoke.js.map +1 -1
  189. package/dist/procedures/manifest.d.ts +83 -0
  190. package/dist/procedures/manifest.d.ts.map +1 -0
  191. package/dist/procedures/manifest.js +90 -0
  192. package/dist/procedures/manifest.js.map +1 -0
  193. package/dist/procedures/runtime-programs.d.ts +19 -0
  194. package/dist/procedures/runtime-programs.d.ts.map +1 -0
  195. package/dist/procedures/runtime-programs.js +24 -0
  196. package/dist/procedures/runtime-programs.js.map +1 -0
  197. package/dist/procedures/types.d.ts +20 -1
  198. package/dist/procedures/types.d.ts.map +1 -1
  199. package/dist/procedures/types.js.map +1 -1
  200. package/dist/protocol.d.ts +40 -0
  201. package/dist/protocol.d.ts.map +1 -0
  202. package/dist/protocol.js +58 -0
  203. package/dist/protocol.js.map +1 -0
  204. package/dist/server/host-policy.d.ts +4 -3
  205. package/dist/server/host-policy.d.ts.map +1 -1
  206. package/dist/server/host-policy.js +6 -3
  207. package/dist/server/host-policy.js.map +1 -1
  208. package/dist/server/host-procedures.d.ts +31 -0
  209. package/dist/server/host-procedures.d.ts.map +1 -0
  210. package/dist/server/host-procedures.js +75 -0
  211. package/dist/server/host-procedures.js.map +1 -0
  212. package/dist/server/index.d.ts +3 -3
  213. package/dist/server/index.d.ts.map +1 -1
  214. package/dist/server/index.js +1 -1
  215. package/dist/server/index.js.map +1 -1
  216. package/dist/server/procedure-server.d.ts +110 -4
  217. package/dist/server/procedure-server.d.ts.map +1 -1
  218. package/dist/server/procedure-server.js +269 -17
  219. package/dist/server/procedure-server.js.map +1 -1
  220. package/dist/server/request-auth.d.ts +19 -0
  221. package/dist/server/request-auth.d.ts.map +1 -0
  222. package/dist/server/request-auth.js +32 -0
  223. package/dist/server/request-auth.js.map +1 -0
  224. package/dist/server/types.d.ts +32 -0
  225. package/dist/server/types.d.ts.map +1 -1
  226. package/dist/server/types.js.map +1 -1
  227. package/dist/timers.d.ts +60 -0
  228. package/dist/timers.d.ts.map +1 -0
  229. package/dist/timers.js +33 -0
  230. package/dist/timers.js.map +1 -0
  231. package/dist/tracing/traceparent.d.ts +26 -0
  232. package/dist/tracing/traceparent.d.ts.map +1 -0
  233. package/dist/tracing/traceparent.js +53 -0
  234. package/dist/tracing/traceparent.js.map +1 -0
  235. package/package.json +7 -1
  236. package/src/adapters/http/client/transport.ts +31 -3
  237. package/src/adapters/http/client/types.ts +3 -2
  238. package/src/adapters/http/server/transport.ts +60 -24
  239. package/src/adapters/http/shared/headers.ts +7 -6
  240. package/src/adapters/local/client/transport.ts +70 -5
  241. package/src/adapters/local/client/types.ts +18 -0
  242. package/src/adapters/mock/client/transport.ts +9 -6
  243. package/src/adapters/mock/client/types.ts +7 -6
  244. package/src/adapters/port/transport.ts +124 -0
  245. package/src/adapters/websocket/client/index.ts +1 -0
  246. package/src/adapters/websocket/client/transport.ts +232 -73
  247. package/src/adapters/websocket/client/types.ts +80 -21
  248. package/src/adapters/websocket/server/transport.ts +199 -301
  249. package/src/adapters/websocket/server/types.ts +20 -1
  250. package/src/adapters/websocket/shared/rpc.ts +453 -0
  251. package/src/browser.ts +51 -3
  252. package/src/client/call-types.ts +10 -14
  253. package/src/client/client.ts +28 -9
  254. package/src/client/deadline.ts +64 -0
  255. package/src/client/errors/factory.ts +12 -8
  256. package/src/client/index.ts +21 -3
  257. package/src/client/middleware/cache.ts +120 -23
  258. package/src/client/middleware/circuit-breaker.ts +65 -35
  259. package/src/client/middleware/contexts.ts +17 -10
  260. package/src/client/middleware/items.ts +101 -6
  261. package/src/client/middleware/lru.ts +12 -0
  262. package/src/client/middleware/rate-limit.ts +9 -7
  263. package/src/client/middleware/resilience.ts +81 -0
  264. package/src/client/middleware/retry.ts +146 -34
  265. package/src/client/middleware/timeout.ts +55 -46
  266. package/src/client/middleware/tracing.ts +13 -4
  267. package/src/client/types.ts +9 -1
  268. package/src/clock.ts +21 -0
  269. package/src/duration.ts +56 -0
  270. package/src/machines.ts +186 -0
  271. package/src/procedures/capability.ts +11 -9
  272. package/src/procedures/collection/index.ts +9 -1
  273. package/src/procedures/collection/procedures.ts +57 -0
  274. package/src/procedures/collection/schemas.ts +110 -0
  275. package/src/procedures/collection/storage.ts +38 -0
  276. package/src/procedures/core/array.ts +27 -16
  277. package/src/procedures/core/index.ts +8 -0
  278. package/src/procedures/core/meta.ts +2 -1
  279. package/src/procedures/core/object.ts +48 -14
  280. package/src/procedures/core/operands.ts +7 -0
  281. package/src/procedures/core/string.ts +4 -2
  282. package/src/procedures/define-procedure.ts +82 -24
  283. package/src/procedures/effects.ts +35 -0
  284. package/src/procedures/idempotency.ts +152 -0
  285. package/src/procedures/index.ts +18 -2
  286. package/src/procedures/interceptors.ts +28 -11
  287. package/src/procedures/invoke.ts +19 -5
  288. package/src/procedures/manifest.ts +158 -0
  289. package/src/procedures/runtime-programs.ts +27 -0
  290. package/src/procedures/types.ts +20 -1
  291. package/src/protocol.ts +97 -0
  292. package/src/server/host-policy.ts +8 -5
  293. package/src/server/host-procedures.ts +102 -0
  294. package/src/server/index.ts +5 -2
  295. package/src/server/procedure-server.ts +324 -10
  296. package/src/server/request-auth.ts +35 -0
  297. package/src/server/types.ts +37 -0
  298. package/src/timers.ts +82 -0
  299. package/src/tracing/traceparent.ts +61 -0
@@ -3,8 +3,12 @@
3
3
  *
4
4
  * Type definitions for WebSocket client adapter.
5
5
  */
6
+ import type { Duration } from "../../../duration.js";
7
+ import type { Clock } from "../../../clock.js";
8
+ import type { MachineTransition } from "../../../machines.js";
9
+ import type { RequestHandler } from "../../../server/types.js";
6
10
  /**
7
- * WebSocket client transport options.
11
+ * WebSocket client transport options. Each time is a `Duration` (roadmap R11).
8
12
  */
9
13
  export interface WebSocketTransportOptions {
10
14
  /**
@@ -27,32 +31,41 @@ export interface WebSocketTransportOptions {
27
31
  */
28
32
  maxAttempts?: number;
29
33
  /**
30
- * Initial delay before reconnecting (ms).
31
- * @default 1000
34
+ * Initial delay before reconnecting.
35
+ * @default 1 second
32
36
  */
33
- initialDelay?: number;
37
+ initialDelay?: Duration;
34
38
  /**
35
- * Maximum delay between reconnection attempts (ms).
36
- * @default 30000
39
+ * Maximum delay between reconnection attempts.
40
+ * @default 30 seconds
37
41
  */
38
- maxDelay?: number;
42
+ maxDelay?: Duration;
39
43
  /**
40
44
  * Backoff multiplier for reconnection delay.
41
45
  * @default 1.5
42
46
  */
43
47
  backoffMultiplier?: number;
48
+ /**
49
+ * The random part of each reconnect delay, from 0 to 1. With 1 (full jitter), the delay is a
50
+ * random time from 0 to the backoff delay, so many clients that lost one server do not
51
+ * reconnect at the same time (roadmap R3). 0 gives the backoff delay exactly.
52
+ * @default 1
53
+ */
54
+ jitter?: number;
44
55
  };
45
56
  /**
46
- * Connection timeout (ms): how long to wait for the WebSocket to open.
47
- * @default 10000
57
+ * Connection timeout: how long to wait for the WebSocket to open. A handshake that takes
58
+ * longer closes the socket, and the transport reconnects (roadmap R3: before, an address that
59
+ * never answered kept the socket in CONNECTING).
60
+ * @default 10 seconds
48
61
  */
49
- connectionTimeout?: number;
62
+ connectionTimeout?: Duration;
50
63
  /**
51
- * Request timeout (ms): how long to wait for the response to one request.
64
+ * Request timeout: how long to wait for the response to one request.
52
65
  * (Before, requests used connectionTimeout, so every call was capped at 10s.)
53
- * @default 30000
66
+ * @default 30 seconds
54
67
  */
55
- requestTimeout?: number;
68
+ requestTimeout?: Duration;
56
69
  /**
57
70
  * The number of stream items that the transport holds for a reader that has not taken them.
58
71
  * The server sends no more items until the reader takes some (deep dive TRN-3).
@@ -69,15 +82,21 @@ export interface WebSocketTransportOptions {
69
82
  */
70
83
  enabled?: boolean;
71
84
  /**
72
- * Heartbeat interval (ms).
73
- * @default 30000
85
+ * Heartbeat interval.
86
+ * @default 20 seconds (`TIMER_DEFAULTS.webSocketClient.heartbeatIntervalMs`)
87
+ */
88
+ interval?: Duration;
89
+ /**
90
+ * Heartbeat timeout.
91
+ * @default 5 seconds
74
92
  */
75
- interval?: number;
93
+ timeout?: Duration;
76
94
  /**
77
- * Heartbeat timeout (ms).
78
- * @default 5000
95
+ * The number of pings without a pong, one after the other, that drop the connection. The
96
+ * time to find a dead server is at most `misses × interval + timeout`.
97
+ * @default 1
79
98
  */
80
- timeout?: number;
99
+ misses?: number;
81
100
  };
82
101
  /**
83
102
  * Callback when connection is established.
@@ -97,15 +116,43 @@ export interface WebSocketTransportOptions {
97
116
  onError?: (error: Error) => void;
98
117
  /**
99
118
  * Handler for server-initiated procedure calls.
100
- * Called when the server wants to call a procedure on this client.
119
+ * Called when the server wants to call a procedure on this client. It gets the path and the
120
+ * input, and gives the value. `serve` is the full form (roadmap R24).
101
121
  */
102
122
  onServerRequest?: ServerRequestHandler;
123
+ /**
124
+ * The handler of the calls that the server sends to this client (roadmap R24), for example a
125
+ * `ProcedureServer` with the registry of the client. A call gets the same frames as a call of
126
+ * the client: streaming, credit, cancel, the signal and the deadline (`procedure-timeout`). The
127
+ * server reaches it with `callConnection()` or `transportFor()`. Without it (and without
128
+ * `onServerRequest`), the client answers each call of the server with `NOT_FOUND`.
129
+ */
130
+ serve?: RequestHandler;
103
131
  /**
104
132
  * Handler for subscription events.
105
133
  * Called when the server pushes an event to a subscribed topic.
106
134
  */
107
135
  onEvent?: EventHandler;
136
+ /**
137
+ * The clock of each timer of the transport: the handshake, the requests, the heartbeat and the
138
+ * reconnect (roadmap R35). The default is the clock of the platform. A test gives a fake clock.
139
+ */
140
+ clock?: Clock;
141
+ /**
142
+ * This function gets each change of the state, with its event, as a transition of
143
+ * `WEBSOCKET_CONNECTION_MACHINE` (roadmap R35). A test replays them against the document.
144
+ */
145
+ onTransition?: (transition: MachineTransition) => void;
146
+ /**
147
+ * The class of the sockets. The default is the global `WebSocket`. In Node, give the `WebSocket`
148
+ * of the `ws` package: a drop then ends its socket at once with `terminate()`. The global
149
+ * `WebSocket` has only `close()`, which waits for the answer of the peer. With a dead peer, the
150
+ * socket stays open until the kernel stops it, at most 15 minutes (the harness cells of R36).
151
+ */
152
+ webSocket?: WebSocketClass;
108
153
  }
154
+ /** A class of WebSockets: the global `WebSocket`, or the `WebSocket` of the `ws` package. */
155
+ export type WebSocketClass = new (url: string) => unknown;
109
156
  /**
110
157
  * WebSocket connection state.
111
158
  */
@@ -123,7 +170,9 @@ export interface WebSocketMessage<T = unknown> {
123
170
  /** Message ID for request/response matching */
124
171
  id: string;
125
172
  /** Message type */
126
- type: "request" | "response" | "error" | "stream" | "cancel" | "credit" | "ping" | "pong" | "server-request" | "server-response" | "event";
173
+ type: "hello" | "request" | "response" | "error" | "stream" | "cancel" | "credit" | "ping" | "pong" | "server-request" | "server-response" | "event";
174
+ /** The protocol version of a `hello` frame (roadmap R25). */
175
+ protocol?: number;
127
176
  /** RPC method (for requests) */
128
177
  method?: {
129
178
  service: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/client/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/adapters/websocket/client/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2HH;;GAEG;AACH,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,+CAA6B,CAAA;IAC7B,+CAA6B,CAAA;AAC/B,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/adapters/websocket/client/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmLH;;GAEG;AACH,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,+CAA6B,CAAA;IAC7B,+CAA6B,CAAA;AAC/B,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB"}
@@ -5,24 +5,64 @@
5
5
  * Supports bidirectional streaming and persistent connections.
6
6
  */
7
7
  import type { ServerTransport } from "../../../server/types.js";
8
- import type { Server } from "../../../server/server.js";
8
+ import type { Message, ResponseItem, Transport } from "../../../client/types.js";
9
+ import type { RequestHandler } from "../../../server/types.js";
9
10
  import type { WebSocketServerTransportOptions, WebSocketMessage, TrackedConnection, ConnectionEventHandler } from "./types.js";
11
+ /**
12
+ * WebSocket server transport adapter.
13
+ *
14
+ * Provides persistent, bidirectional RPC over WebSocket.
15
+ * Perfect for real-time updates and streaming responses.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { createServer } from "http";
20
+ * const httpServer = createServer();
21
+ *
22
+ * const server = new Server();
23
+ * const wsTransport = new WebSocketServerTransport(server, {
24
+ * server: httpServer,
25
+ * path: "/ws",
26
+ * authenticate: async (req) => {
27
+ * // Verify token from query string or headers
28
+ * return true;
29
+ * }
30
+ * });
31
+ *
32
+ * await wsTransport.start();
33
+ * httpServer.listen(3000);
34
+ * ```
35
+ */
10
36
  export declare class WebSocketServerTransport implements ServerTransport {
11
37
  readonly name = "websocket";
12
38
  private wss;
13
39
  private options;
14
40
  private server;
15
41
  private connections;
42
+ /** The time until the first frame of a call to a client, in milliseconds (R24) */
43
+ private readonly reverseRequestTimeoutMs;
44
+ /** The heartbeat of the server, or undefined when it is off (roadmap R3) */
45
+ private readonly heartbeat;
46
+ private heartbeatTimer;
47
+ /** The pings without a pong, one after the other, of each connection */
48
+ private readonly missedPongs;
16
49
  private trackedConnections;
17
- private pendingRequests;
18
50
  private connectionCounter;
19
- private inflight;
20
- private credits;
51
+ /**
52
+ * The calls of each connection in the two directions (roadmap R24): the calls that the client
53
+ * sends (served by the server) and the calls that the server sends to the client.
54
+ */
55
+ private readonly channels;
21
56
  /** The browser checks of each connection (see `server/browser-guard.ts`) */
22
57
  private readonly guard;
23
58
  private connectHandlers;
24
59
  private disconnectHandlers;
25
- constructor(server: Server, options: WebSocketServerTransportOptions);
60
+ constructor(server: RequestHandler, options: WebSocketServerTransportOptions);
61
+ /**
62
+ * One beat of the heartbeat: a connection that missed too many pongs closes at once (its close
63
+ * event aborts its requests), and each other connection gets a ping.
64
+ */
65
+ private beat;
26
66
  start(): Promise<void>;
27
67
  stop(): Promise<void>;
28
68
  isRunning(): boolean;
@@ -31,32 +71,20 @@ export declare class WebSocketServerTransport implements ServerTransport {
31
71
  */
32
72
  private handleConnection;
33
73
  /**
34
- * Reject the server-to-client requests that wait for a connection that went away,
35
- * instead of letting them wait for their timeout (BUGS-2026-07 L29).
74
+ * The server request of a `request` frame of a connection: the metadata of the frame and of the
75
+ * connection, the signal of the call, and the credentials of the upgrade (roadmap R18).
36
76
  */
37
- private abortInflightFor;
38
- private rejectPendingFor;
77
+ private requestOf;
39
78
  /**
40
- * Handle WebSocket message.
79
+ * Handle WebSocket message: a heartbeat, a frame of a call that the server sent (a response,
80
+ * an error, a stream), or a frame of a call of the client (a request, a cancel, a credit).
41
81
  */
42
82
  private handleMessage;
43
- /**
44
- * Send a stream response (BUGS-2026-07 H5): one "stream" frame for each item, then a frame
45
- * with `stream.done`. An error of the stream ends it with an "error" frame. When the signal
46
- * aborts (a cancel message, a closed connection), the loop stops, and the stream's handler
47
- * gets return().
48
- *
49
- * Flow control (deep dive TRN-3): the stream takes its next item only when the client has
50
- * credit for it (when the request carried credit), and waits while the connection's send
51
- * buffer holds more than `highWaterMark` bytes.
52
- */
53
- private sendStream;
54
83
  /**
55
84
  * Send a frame. When the connection's send buffer is past the high-water mark, wait until
56
85
  * the socket has written this frame, or the signal aborts.
57
86
  */
58
87
  private sendWithBackpressure;
59
- private sendResponse;
60
88
  /**
61
89
  * Send error to client.
62
90
  */
@@ -86,11 +114,24 @@ export declare class WebSocketServerTransport implements ServerTransport {
86
114
  */
87
115
  sendToConnection(connectionId: string, message: WebSocketMessage): void;
88
116
  /**
89
- * Call a procedure on a specific client (server-to-client RPC).
90
- * Returns a promise that resolves with the client's response.
117
+ * Send a call to a client (roadmap R24): the same frames as the calls of the client, with
118
+ * streaming, credit, cancel, the signal and the remaining time of the call. The client serves it
119
+ * with its own handler (the `serve` option of `WebSocketTransport`). An unknown connection gives a
120
+ * `CONNECTION_NOT_FOUND` error item.
121
+ */
122
+ callConnection<TReq, TRes>(connectionId: string, message: Message<TReq>): AsyncIterable<ResponseItem<TRes>>;
123
+ /**
124
+ * A transport to one client: a `Client` over it calls the procedures that the client serves,
125
+ * with each client middleware (retry, timeouts) of the caller (roadmap R24).
126
+ */
127
+ transportFor(connectionId: string): Transport;
128
+ /**
129
+ * Call a procedure on a specific client (server-to-client RPC). It gives the value of the
130
+ * call, and fails with its error. It is a wrapper of `callConnection` (roadmap R24).
91
131
  */
92
132
  callClient(connectionId: string, path: string[], input: unknown, timeout?: number): Promise<unknown>;
93
133
  /**
134
+ * Register a handler for new connections. /**
94
135
  * Register a handler for new connections.
95
136
  * Returns a function to unregister the handler.
96
137
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,0BAA0B,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EACV,+BAA+B,EAC/B,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAsFpB,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,OAAO,CAKb;IACF,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAA6B;IAGhD,OAAO,CAAC,kBAAkB,CAAwC;IAClE,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,iBAAiB,CAAK;IAI9B,OAAO,CAAC,QAAQ,CAAsC;IAGtD,OAAO,CAAC,OAAO,CAAmC;IAElD,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAG5C,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,kBAAkB,CAAgC;IAE1D,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,+BAA+B,EAanE;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAuC3B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA4B1B;IAED,SAAS,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoExB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;YACW,aAAa;IA0H3B;;;;;;;;;OASG;YACW,UAAU;IAuCxB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB;;OAEG;IACH,OAAO,CAAC,IAAI;IAMZ;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAIzC;IAED;;OAEG;IACH,kBAAkB,IAAI,MAAM,CAE3B;IAMD;;OAEG;IACH,qBAAqB,IAAI,iBAAiB,EAAE,CAE3C;IAED;;OAEG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAExE;IAED;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAKtE;IAED;;;OAGG;IACH,UAAU,CACR,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,OAAO,EACd,OAAO,SAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CA+BlB;IAED;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAQrD;IAED;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAQxD;IAED;;OAEG;IACH,wBAAwB,CACtB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAKN;IAED;;OAEG;IACH,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAKxE;CACF"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EACV,+BAA+B,EAC/B,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAQpB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,OAAO,CAKb;IACF,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAA6B;IAEhD,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACjD,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAC7E,OAAO,CAAC,cAAc,CAA6C;IACnE,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAGhE,OAAO,CAAC,kBAAkB,CAAwC;IAClE,OAAO,CAAC,iBAAiB,CAAK;IAE9B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2E;IAEpG,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAG5C,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,kBAAkB,CAAgC;IAE1D,YAAY,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,+BAA+B,EAqB3E;IAED;;;OAGG;IACH,OAAO,CAAC,IAAI;IAkBN,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C3B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAiC1B;IAED,SAAS,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8FxB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAoBjB;;;OAGG;YACW,aAAa;IAgD3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB;;OAEG;IACH,OAAO,CAAC,IAAI;IAMZ;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAIzC;IAED;;OAEG;IACH,kBAAkB,IAAI,MAAM,CAE3B;IAMD;;OAEG;IACH,qBAAqB,IAAI,iBAAiB,EAAE,CAE3C;IAED;;OAEG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAExE;IAED;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAKtE;IAED;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAa1G;IAED;;;OAGG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAM5C;IAED;;;OAGG;IACG,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,SAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBxG;IAED;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAQrD;IAED;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAQxD;IAED;;OAEG;IACH,wBAAwB,CACtB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAKN;IAED;;OAEG;IACH,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAKxE;CACF"}