@procedures/client 0.7.0 → 0.8.1

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 (234) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/README.md +115 -11
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/adapters/http/client/transport.d.ts +4 -0
  5. package/dist/adapters/http/client/transport.d.ts.map +1 -1
  6. package/dist/adapters/http/client/transport.js +11 -1
  7. package/dist/adapters/http/client/transport.js.map +1 -1
  8. package/dist/adapters/http/client/types.d.ts +19 -0
  9. package/dist/adapters/http/client/types.d.ts.map +1 -1
  10. package/dist/adapters/http/server/cors.d.ts +64 -0
  11. package/dist/adapters/http/server/cors.d.ts.map +1 -0
  12. package/dist/adapters/http/server/cors.js +113 -0
  13. package/dist/adapters/http/server/cors.js.map +1 -0
  14. package/dist/adapters/http/server/handler.d.ts +136 -0
  15. package/dist/adapters/http/server/handler.d.ts.map +1 -0
  16. package/dist/adapters/http/server/handler.js +495 -0
  17. package/dist/adapters/http/server/handler.js.map +1 -0
  18. package/dist/adapters/http/server/strategies.d.ts +14 -5
  19. package/dist/adapters/http/server/strategies.d.ts.map +1 -1
  20. package/dist/adapters/http/server/strategies.js.map +1 -1
  21. package/dist/adapters/http/server/transport.d.ts +36 -46
  22. package/dist/adapters/http/server/transport.d.ts.map +1 -1
  23. package/dist/adapters/http/server/transport.js +58 -433
  24. package/dist/adapters/http/server/transport.js.map +1 -1
  25. package/dist/adapters/http/server/types.d.ts +13 -0
  26. package/dist/adapters/http/server/types.d.ts.map +1 -1
  27. package/dist/adapters/websocket/client/transport.d.ts +7 -3
  28. package/dist/adapters/websocket/client/transport.d.ts.map +1 -1
  29. package/dist/adapters/websocket/client/transport.js +9 -3
  30. package/dist/adapters/websocket/client/transport.js.map +1 -1
  31. package/dist/adapters/websocket/server/transport.d.ts +56 -1
  32. package/dist/adapters/websocket/server/transport.d.ts.map +1 -1
  33. package/dist/adapters/websocket/server/transport.js +174 -17
  34. package/dist/adapters/websocket/server/transport.js.map +1 -1
  35. package/dist/adapters/websocket/server/types.d.ts +10 -3
  36. package/dist/adapters/websocket/server/types.d.ts.map +1 -1
  37. package/dist/adapters/websocket/server/upgrade-router.d.ts +28 -0
  38. package/dist/adapters/websocket/server/upgrade-router.d.ts.map +1 -0
  39. package/dist/adapters/websocket/server/upgrade-router.js +62 -0
  40. package/dist/adapters/websocket/server/upgrade-router.js.map +1 -0
  41. package/dist/adapters/websocket/server/upgrade.d.ts +68 -0
  42. package/dist/adapters/websocket/server/upgrade.d.ts.map +1 -0
  43. package/dist/adapters/websocket/server/upgrade.js +49 -0
  44. package/dist/adapters/websocket/server/upgrade.js.map +1 -0
  45. package/dist/adapters/websocket/shared/rpc.d.ts +2 -0
  46. package/dist/adapters/websocket/shared/rpc.d.ts.map +1 -1
  47. package/dist/adapters/websocket/shared/rpc.js +8 -2
  48. package/dist/adapters/websocket/shared/rpc.js.map +1 -1
  49. package/dist/browser.d.ts +14 -6
  50. package/dist/browser.d.ts.map +1 -1
  51. package/dist/browser.js +12 -3
  52. package/dist/browser.js.map +1 -1
  53. package/dist/client/client.d.ts +43 -0
  54. package/dist/client/client.d.ts.map +1 -1
  55. package/dist/client/client.js +69 -1
  56. package/dist/client/client.js.map +1 -1
  57. package/dist/client/errors/registry.d.ts.map +1 -1
  58. package/dist/client/errors/registry.js +1 -0
  59. package/dist/client/errors/registry.js.map +1 -1
  60. package/dist/client/middleware/retry.d.ts +4 -0
  61. package/dist/client/middleware/retry.d.ts.map +1 -1
  62. package/dist/client/middleware/retry.js +86 -78
  63. package/dist/client/middleware/retry.js.map +1 -1
  64. package/dist/events/bus.d.ts +32 -14
  65. package/dist/events/bus.d.ts.map +1 -1
  66. package/dist/events/bus.js +119 -65
  67. package/dist/events/bus.js.map +1 -1
  68. package/dist/events/index.d.ts +3 -2
  69. package/dist/events/index.d.ts.map +1 -1
  70. package/dist/events/index.js.map +1 -1
  71. package/dist/events/publisher.d.ts +14 -0
  72. package/dist/events/publisher.d.ts.map +1 -1
  73. package/dist/events/publisher.js +62 -10
  74. package/dist/events/publisher.js.map +1 -1
  75. package/dist/events/remote.d.ts +80 -18
  76. package/dist/events/remote.d.ts.map +1 -1
  77. package/dist/events/remote.js +448 -58
  78. package/dist/events/remote.js.map +1 -1
  79. package/dist/events/rows.d.ts +31 -0
  80. package/dist/events/rows.d.ts.map +1 -0
  81. package/dist/events/rows.js +39 -0
  82. package/dist/events/rows.js.map +1 -0
  83. package/dist/events/types.d.ts +13 -2
  84. package/dist/events/types.d.ts.map +1 -1
  85. package/dist/index.d.ts +1 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +1 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/node.d.ts +14 -0
  90. package/dist/node.d.ts.map +1 -1
  91. package/dist/node.js +9 -0
  92. package/dist/node.js.map +1 -1
  93. package/dist/procedures/caller.d.ts +33 -0
  94. package/dist/procedures/caller.d.ts.map +1 -0
  95. package/dist/procedures/caller.js +27 -0
  96. package/dist/procedures/caller.js.map +1 -0
  97. package/dist/procedures/capability.d.ts +6 -0
  98. package/dist/procedures/capability.d.ts.map +1 -1
  99. package/dist/procedures/capability.js +25 -0
  100. package/dist/procedures/capability.js.map +1 -1
  101. package/dist/procedures/collection/changes.d.ts +94 -0
  102. package/dist/procedures/collection/changes.d.ts.map +1 -0
  103. package/dist/procedures/collection/changes.js +182 -0
  104. package/dist/procedures/collection/changes.js.map +1 -0
  105. package/dist/procedures/collection/index.d.ts +8 -3
  106. package/dist/procedures/collection/index.d.ts.map +1 -1
  107. package/dist/procedures/collection/index.js +6 -1
  108. package/dist/procedures/collection/index.js.map +1 -1
  109. package/dist/procedures/collection/procedures.d.ts +39 -2
  110. package/dist/procedures/collection/procedures.d.ts.map +1 -1
  111. package/dist/procedures/collection/procedures.js +131 -8
  112. package/dist/procedures/collection/procedures.js.map +1 -1
  113. package/dist/procedures/collection/query.d.ts +246 -0
  114. package/dist/procedures/collection/query.d.ts.map +1 -0
  115. package/dist/procedures/collection/query.js +854 -0
  116. package/dist/procedures/collection/query.js.map +1 -0
  117. package/dist/procedures/collection/schemas.d.ts +59 -0
  118. package/dist/procedures/collection/schemas.d.ts.map +1 -1
  119. package/dist/procedures/collection/schemas.js +172 -6
  120. package/dist/procedures/collection/schemas.js.map +1 -1
  121. package/dist/procedures/collection/storage.d.ts +64 -6
  122. package/dist/procedures/collection/storage.d.ts.map +1 -1
  123. package/dist/procedures/collection/storage.js +23 -0
  124. package/dist/procedures/collection/storage.js.map +1 -1
  125. package/dist/procedures/elicit.d.ts +190 -0
  126. package/dist/procedures/elicit.d.ts.map +1 -0
  127. package/dist/procedures/elicit.js +127 -0
  128. package/dist/procedures/elicit.js.map +1 -0
  129. package/dist/procedures/hints.d.ts +43 -0
  130. package/dist/procedures/hints.d.ts.map +1 -0
  131. package/dist/procedures/hints.js +74 -0
  132. package/dist/procedures/hints.js.map +1 -0
  133. package/dist/procedures/index.d.ts +12 -3
  134. package/dist/procedures/index.d.ts.map +1 -1
  135. package/dist/procedures/index.js +7 -1
  136. package/dist/procedures/index.js.map +1 -1
  137. package/dist/procedures/invoke.d.ts +20 -0
  138. package/dist/procedures/invoke.d.ts.map +1 -1
  139. package/dist/procedures/invoke.js +16 -0
  140. package/dist/procedures/invoke.js.map +1 -1
  141. package/dist/procedures/progress.d.ts +24 -0
  142. package/dist/procedures/progress.d.ts.map +1 -0
  143. package/dist/procedures/progress.js +11 -0
  144. package/dist/procedures/progress.js.map +1 -0
  145. package/dist/procedures/registry.d.ts.map +1 -1
  146. package/dist/procedures/registry.js +5 -0
  147. package/dist/procedures/registry.js.map +1 -1
  148. package/dist/procedures/types.d.ts +92 -0
  149. package/dist/procedures/types.d.ts.map +1 -1
  150. package/dist/procedures/types.js.map +1 -1
  151. package/dist/procedures/untrusted.d.ts +28 -0
  152. package/dist/procedures/untrusted.d.ts.map +1 -0
  153. package/dist/procedures/untrusted.js +32 -0
  154. package/dist/procedures/untrusted.js.map +1 -0
  155. package/dist/protocol.d.ts +1 -1
  156. package/dist/protocol.d.ts.map +1 -1
  157. package/dist/protocol.js +1 -0
  158. package/dist/protocol.js.map +1 -1
  159. package/dist/server/browser-guard.d.ts +12 -2
  160. package/dist/server/browser-guard.d.ts.map +1 -1
  161. package/dist/server/browser-guard.js +43 -6
  162. package/dist/server/browser-guard.js.map +1 -1
  163. package/dist/server/host-policy.d.ts +10 -1
  164. package/dist/server/host-policy.d.ts.map +1 -1
  165. package/dist/server/host-policy.js +5 -0
  166. package/dist/server/host-policy.js.map +1 -1
  167. package/dist/server/index.d.ts +1 -1
  168. package/dist/server/index.d.ts.map +1 -1
  169. package/dist/server/index.js.map +1 -1
  170. package/dist/server/procedure-server.d.ts +75 -9
  171. package/dist/server/procedure-server.d.ts.map +1 -1
  172. package/dist/server/procedure-server.js +151 -17
  173. package/dist/server/procedure-server.js.map +1 -1
  174. package/dist/server/request-auth.d.ts +51 -4
  175. package/dist/server/request-auth.d.ts.map +1 -1
  176. package/dist/server/request-auth.js +116 -5
  177. package/dist/server/request-auth.js.map +1 -1
  178. package/dist/server/types.d.ts +73 -5
  179. package/dist/server/types.d.ts.map +1 -1
  180. package/dist/server/types.js.map +1 -1
  181. package/dist/timers.d.ts +5 -0
  182. package/dist/timers.d.ts.map +1 -1
  183. package/dist/timers.js +3 -1
  184. package/dist/timers.js.map +1 -1
  185. package/package.json +5 -1
  186. package/src/adapters/http/client/transport.ts +11 -1
  187. package/src/adapters/http/client/types.ts +22 -0
  188. package/src/adapters/http/server/cors.ts +144 -0
  189. package/src/adapters/http/server/handler.ts +624 -0
  190. package/src/adapters/http/server/strategies.ts +16 -6
  191. package/src/adapters/http/server/transport.ts +66 -479
  192. package/src/adapters/http/server/types.ts +15 -0
  193. package/src/adapters/websocket/client/transport.ts +9 -3
  194. package/src/adapters/websocket/server/transport.ts +189 -18
  195. package/src/adapters/websocket/server/types.ts +11 -3
  196. package/src/adapters/websocket/server/upgrade-router.ts +77 -0
  197. package/src/adapters/websocket/server/upgrade.ts +88 -0
  198. package/src/adapters/websocket/shared/rpc.ts +9 -2
  199. package/src/browser.ts +85 -2
  200. package/src/client/client.ts +83 -1
  201. package/src/client/errors/registry.ts +1 -0
  202. package/src/client/middleware/retry.ts +89 -78
  203. package/src/events/bus.ts +141 -73
  204. package/src/events/index.ts +3 -0
  205. package/src/events/publisher.ts +71 -10
  206. package/src/events/remote.ts +575 -73
  207. package/src/events/rows.ts +48 -0
  208. package/src/events/types.ts +15 -2
  209. package/src/index.ts +1 -1
  210. package/src/node.ts +21 -0
  211. package/src/procedures/caller.ts +45 -0
  212. package/src/procedures/capability.ts +21 -0
  213. package/src/procedures/collection/changes.ts +245 -0
  214. package/src/procedures/collection/index.ts +56 -1
  215. package/src/procedures/collection/procedures.ts +185 -7
  216. package/src/procedures/collection/query.ts +1009 -0
  217. package/src/procedures/collection/schemas.ts +233 -7
  218. package/src/procedures/collection/storage.ts +84 -6
  219. package/src/procedures/elicit.ts +320 -0
  220. package/src/procedures/hints.ts +91 -0
  221. package/src/procedures/index.ts +82 -2
  222. package/src/procedures/invoke.ts +31 -0
  223. package/src/procedures/progress.ts +25 -0
  224. package/src/procedures/registry.ts +4 -0
  225. package/src/procedures/types.ts +102 -0
  226. package/src/procedures/untrusted.ts +50 -0
  227. package/src/protocol.ts +3 -1
  228. package/src/server/browser-guard.ts +48 -6
  229. package/src/server/host-policy.ts +13 -1
  230. package/src/server/index.ts +3 -0
  231. package/src/server/procedure-server.ts +185 -20
  232. package/src/server/request-auth.ts +128 -6
  233. package/src/server/types.ts +82 -5
  234. package/src/timers.ts +8 -1
@@ -131,11 +131,12 @@ export declare class WebSocketTransport implements Transport {
131
131
  /**
132
132
  * This function subscribes to topics of the bus of the server (`documentation/EVENTS.md`). The
133
133
  * handler gets each event in order. After a drop, the transport sends the subscription again on
134
- * the new connection. The events between the drop and the new confirmation are lost.
134
+ * the new connection. The events between the drop and the new confirmation are lost. The
135
+ * subscribers of the same topics with the same options share one call.
135
136
  *
136
137
  * @param topics - One topic, or a list of 1 to 64 topics
137
138
  * @param handler - The handler of each event. A promise that it gives holds the next event.
138
- * @param options - `onSubscribed`, `onError`, a signal, the metadata of the call
139
+ * @param options - `onSubscribed`, `onError`, a signal, the metadata of the call, the resubscribe rules
139
140
  * @returns The unsubscribe function, with the `ready` promise of the first confirmation
140
141
  *
141
142
  * @example
@@ -155,7 +156,10 @@ export declare class WebSocketTransport implements Transport {
155
156
  * @param options - A signal, `onSubscribed`, the metadata of the call
156
157
  */
157
158
  events<T = unknown>(topics: string | readonly string[], options?: RemoteEventsOptions): AsyncIterable<RemoteEvent<T>>;
158
- /** The parts of the subscriptions of this transport: its connection, its backoff, its close and `onEvent`. */
159
+ /**
160
+ * The parts of the subscriptions of this transport: its connection, its backoff, its
161
+ * `maxAttempts`, its clock, its close and `onEvent`.
162
+ */
159
163
  private subscriptionHooks;
160
164
  /**
161
165
  * This function resolves when the transport is connected, or when the signal aborts. It has no
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/client/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/client/transport.ts"],"names":[],"mappings":"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"}
@@ -767,11 +767,12 @@ export class WebSocketTransport {
767
767
  /**
768
768
  * This function subscribes to topics of the bus of the server (`documentation/EVENTS.md`). The
769
769
  * handler gets each event in order. After a drop, the transport sends the subscription again on
770
- * the new connection. The events between the drop and the new confirmation are lost.
770
+ * the new connection. The events between the drop and the new confirmation are lost. The
771
+ * subscribers of the same topics with the same options share one call.
771
772
  *
772
773
  * @param topics - One topic, or a list of 1 to 64 topics
773
774
  * @param handler - The handler of each event. A promise that it gives holds the next event.
774
- * @param options - `onSubscribed`, `onError`, a signal, the metadata of the call
775
+ * @param options - `onSubscribed`, `onError`, a signal, the metadata of the call, the resubscribe rules
775
776
  * @returns The unsubscribe function, with the `ready` promise of the first confirmation
776
777
  *
777
778
  * @example
@@ -795,12 +796,17 @@ export class WebSocketTransport {
795
796
  events(topics, options = {}) {
796
797
  return remoteEvents(this, topics, options, this.subscriptionHooks());
797
798
  }
798
- /** The parts of the subscriptions of this transport: its connection, its backoff, its close and `onEvent`. */
799
+ /**
800
+ * The parts of the subscriptions of this transport: its connection, its backoff, its
801
+ * `maxAttempts`, its clock, its close and `onEvent`.
802
+ */
799
803
  subscriptionHooks() {
800
804
  return {
801
805
  lifetime: this.subscriptions.signal,
802
806
  ready: (signal) => this.whenConnected(signal),
803
807
  backoff: (attempt) => reconnectDelay(attempt, this.options.reconnect),
808
+ maxAttempts: this.options.reconnect.maxAttempts,
809
+ clock: this.clock,
804
810
  onEvent: (event) => {
805
811
  if (!this.options.onEvent)
806
812
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/websocket/client/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/websocket/client/transport.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,15 @@
3
3
  *
4
4
  * Adapts WebSocket connections to unified RPC format.
5
5
  * Supports bidirectional streaming and persistent connections.
6
+ *
7
+ * The transport runs the `WebSocketServer` of `ws` in its "no server" mode (CLI-3). `upgrade()`
8
+ * takes the upgrade requests of its path. With the option `server`, the transport attaches
9
+ * `upgrade()` to that server through one router for each server, so two endpoints of different
10
+ * paths can share a server. Without it, the owner of the listener gives the upgrades to
11
+ * `upgrade()`, or mounts `upgradeHandler()` of `@procedures/client/node`.
6
12
  */
13
+ import type { IncomingMessage } from "http";
14
+ import type { Duplex } from "stream";
7
15
  import type { ServerTransport } from "../../../server/types.js";
8
16
  import type { Message, ResponseItem, Transport } from "../../../client/types.js";
9
17
  import type { RequestHandler } from "../../../server/types.js";
@@ -38,6 +46,16 @@ export declare class WebSocketServerTransport implements ServerTransport {
38
46
  readonly name = "websocket";
39
47
  private wss;
40
48
  private options;
49
+ /** The more headers that carry a secret (CLI-2a) */
50
+ private readonly secretHeaders;
51
+ /** The function that detaches `upgrade()` from the `server` of the options */
52
+ private detach;
53
+ /** True after `stopIntake()`: a new upgrade gets 503, and a new call gets `UNAVAILABLE` */
54
+ private intakeStopped;
55
+ /** The functions that `drain()` waits on: each one runs when no call is in flight */
56
+ private idleWaiters;
57
+ /** True: a cookie of an upgrade is trusted only from a named origin, with or without an auth path */
58
+ private cookiesNamed;
41
59
  private server;
42
60
  private connections;
43
61
  /** The time until the first frame of a call to a client, in milliseconds (R24) */
@@ -54,11 +72,16 @@ export declare class WebSocketServerTransport implements ServerTransport {
54
72
  * sends (served by the server) and the calls that the server sends to the client.
55
73
  */
56
74
  private readonly channels;
75
+ /**
76
+ * The transport of the remote events of each connection: one object for each connection, so the
77
+ * subscriptions of one connection to the same topics share one call (EVENTS.md).
78
+ */
79
+ private readonly eventTransports;
57
80
  /** The browser checks of each connection (see `server/browser-guard.ts`) */
58
81
  private readonly guard;
59
82
  private connectHandlers;
60
83
  private disconnectHandlers;
61
- constructor(server: RequestHandler, options: WebSocketServerTransportOptions);
84
+ constructor(server: RequestHandler, options?: WebSocketServerTransportOptions);
62
85
  /**
63
86
  * One beat of the heartbeat: a connection that missed too many pongs closes at once (its close
64
87
  * event aborts its requests), and each other connection gets a ping.
@@ -67,6 +90,33 @@ export declare class WebSocketServerTransport implements ServerTransport {
67
90
  start(): Promise<void>;
68
91
  stop(): Promise<void>;
69
92
  isRunning(): boolean;
93
+ /** The path of the WebSocket endpoint. */
94
+ get path(): string;
95
+ /** This method gives true when an upgrade request is for the path of this endpoint. */
96
+ matches(req: IncomingMessage): boolean;
97
+ /**
98
+ * This method takes an upgrade request of its path and gives true. The browser checks, the
99
+ * `authenticate` handler and the handshake of `ws` follow. It gives false for another path, or
100
+ * before `start()`, and does not touch the socket. After `stopIntake()`, it refuses the upgrade
101
+ * with 503.
102
+ */
103
+ upgrade(req: IncomingMessage, socket: Duplex, head: Buffer): boolean;
104
+ /**
105
+ * This method stops the intake: a new upgrade gets 503, and a new call on an open connection gets
106
+ * the retryable error `UNAVAILABLE`. The calls in flight go on. `start()` accepts again.
107
+ */
108
+ stopIntake(): void;
109
+ /** The number of the calls in flight on all connections, open streams too. */
110
+ inFlight(): number;
111
+ /**
112
+ * This method waits until no call is in flight, until the `deadline` (milliseconds on the
113
+ * monotonic clock of `performance.now()`), or until the signal aborts.
114
+ */
115
+ drain(deadline: number, signal?: AbortSignal): Promise<void>;
116
+ /** This method stops the transport: the same as `stop()`. */
117
+ close(): Promise<void>;
118
+ /** A call ended: a drain can end when no call is in flight. */
119
+ private callSettled;
70
120
  /**
71
121
  * Handle new WebSocket connection.
72
122
  */
@@ -147,6 +197,11 @@ export declare class WebSocketServerTransport implements ServerTransport {
147
197
  * @param options - A signal, `onSubscribed`, the metadata of the call
148
198
  */
149
199
  events<T = unknown>(connectionId: string, topics: string | readonly string[], options?: RemoteEventsOptions): AsyncIterable<RemoteEvent<T>>;
200
+ /**
201
+ * The transport of the remote events of a connection: the same object for each subscription of
202
+ * a tracked connection. The close of the connection removes it.
203
+ */
204
+ private eventTransportFor;
150
205
  /**
151
206
  * Call a procedure on a specific client (server-to-client RPC). It gives the value of the
152
207
  * call, and fails with its error. It is a wrapper of `callConnection` (roadmap R24).
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/transport.ts"],"names":[],"mappings":"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"}