@replit/river 0.23.2 → 0.23.4
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.
- package/README.md +48 -0
- package/dist/{chunk-LHLQY5FR.js → chunk-BHNINW7F.js} +3 -3
- package/dist/chunk-BHNINW7F.js.map +1 -0
- package/dist/{chunk-3ZS3RHZF.js → chunk-CHOAXTQF.js} +2 -2
- package/dist/chunk-CHOAXTQF.js.map +1 -0
- package/dist/{chunk-KPLLLP3F.js → chunk-PTX6DT5G.js} +2 -2
- package/dist/{chunk-6Z4YTBOM.js → chunk-RWYW2BES.js} +2 -2
- package/dist/{chunk-ZPUDMABQ.js → chunk-WTJY7S3D.js} +2 -2
- package/dist/chunk-WTJY7S3D.js.map +1 -0
- package/dist/{connection-6eb86e22.d.ts → connection-36e8bb12.d.ts} +1 -1
- package/dist/{connection-a25109b5.d.ts → connection-a5bc5e9f.d.ts} +1 -1
- package/dist/index-926aea33.d.ts +133 -0
- package/dist/logging/index.d.cts +1 -2
- package/dist/logging/index.d.ts +1 -2
- package/dist/router/index.cjs +1 -1
- package/dist/router/index.cjs.map +1 -1
- package/dist/router/index.d.cts +10 -10
- package/dist/router/index.d.ts +10 -10
- package/dist/router/index.js +2 -2
- package/dist/{services-0af830a4.d.ts → services-da250ed2.d.ts} +5 -5
- package/dist/transport/impls/uds/client.cjs +2 -2
- package/dist/transport/impls/uds/client.cjs.map +1 -1
- package/dist/transport/impls/uds/client.d.cts +3 -3
- package/dist/transport/impls/uds/client.d.ts +3 -3
- package/dist/transport/impls/uds/client.js +3 -3
- package/dist/transport/impls/uds/server.cjs +1 -1
- package/dist/transport/impls/uds/server.cjs.map +1 -1
- package/dist/transport/impls/uds/server.d.cts +3 -3
- package/dist/transport/impls/uds/server.d.ts +3 -3
- package/dist/transport/impls/uds/server.js +3 -3
- package/dist/transport/impls/ws/client.cjs +2 -2
- package/dist/transport/impls/ws/client.cjs.map +1 -1
- package/dist/transport/impls/ws/client.d.cts +3 -3
- package/dist/transport/impls/ws/client.d.ts +3 -3
- package/dist/transport/impls/ws/client.js +3 -3
- package/dist/transport/impls/ws/server.cjs +1 -1
- package/dist/transport/impls/ws/server.cjs.map +1 -1
- package/dist/transport/impls/ws/server.d.cts +3 -3
- package/dist/transport/impls/ws/server.d.ts +3 -3
- package/dist/transport/impls/ws/server.js +3 -3
- package/dist/transport/index.cjs +2 -2
- package/dist/transport/index.cjs.map +1 -1
- package/dist/transport/index.d.cts +4 -307
- package/dist/transport/index.d.ts +4 -307
- package/dist/transport/index.js +2 -2
- package/dist/transport-4a5e288a.d.ts +535 -0
- package/dist/util/testHelpers.cjs +1 -1
- package/dist/util/testHelpers.cjs.map +1 -1
- package/dist/util/testHelpers.d.cts +3 -3
- package/dist/util/testHelpers.d.ts +3 -3
- package/dist/util/testHelpers.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-3ZS3RHZF.js.map +0 -1
- package/dist/chunk-LHLQY5FR.js.map +0 -1
- package/dist/chunk-ZPUDMABQ.js.map +0 -1
- package/dist/index-72b688b7.d.ts +0 -352
- package/dist/services-eeb6e56f.d.ts +0 -707
- /package/dist/{chunk-KPLLLP3F.js.map → chunk-PTX6DT5G.js.map} +0 -0
- /package/dist/{chunk-6Z4YTBOM.js.map → chunk-RWYW2BES.js.map} +0 -0
package/dist/index-72b688b7.d.ts
DELETED
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
import { ValueError } from '@sinclair/typebox/value';
|
|
2
|
-
import * as _sinclair_typebox from '@sinclair/typebox';
|
|
3
|
-
import { TSchema, Static } from '@sinclair/typebox';
|
|
4
|
-
import { Span, Context } from '@opentelemetry/api';
|
|
5
|
-
import { C as Codec } from './types-3e5768ec.js';
|
|
6
|
-
|
|
7
|
-
declare const LoggingLevels: {
|
|
8
|
-
readonly debug: -1;
|
|
9
|
-
readonly info: 0;
|
|
10
|
-
readonly warn: 1;
|
|
11
|
-
readonly error: 2;
|
|
12
|
-
};
|
|
13
|
-
type LoggingLevel = keyof typeof LoggingLevels;
|
|
14
|
-
type LogFn = (msg: string, ctx?: MessageMetadata, level?: LoggingLevel) => void;
|
|
15
|
-
type Logger = {
|
|
16
|
-
[key in LoggingLevel]: (msg: string, metadata?: MessageMetadata) => void;
|
|
17
|
-
};
|
|
18
|
-
type Tags = 'invariant-violation';
|
|
19
|
-
type MessageMetadata = Partial<{
|
|
20
|
-
protocolVersion: string;
|
|
21
|
-
clientId: string;
|
|
22
|
-
connectedTo: string;
|
|
23
|
-
sessionId: string;
|
|
24
|
-
connId: string;
|
|
25
|
-
transportMessage: Partial<OpaqueTransportMessage>;
|
|
26
|
-
validationErrors: Array<ValueError>;
|
|
27
|
-
tags: Array<Tags>;
|
|
28
|
-
}>;
|
|
29
|
-
declare const stringLogger: LogFn;
|
|
30
|
-
declare const coloredStringLogger: LogFn;
|
|
31
|
-
declare const jsonLogger: LogFn;
|
|
32
|
-
declare function bindLogger(fn: LogFn | Logger | undefined, level?: LoggingLevel): void;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* A connection is the actual raw underlying transport connection.
|
|
36
|
-
* It’s responsible for dispatching to/from the actual connection itself
|
|
37
|
-
* This should be instantiated as soon as the client/server has a connection
|
|
38
|
-
* It’s tied to the lifecycle of the underlying transport connection (i.e. if the WS drops, this connection should be deleted)
|
|
39
|
-
*/
|
|
40
|
-
declare abstract class Connection {
|
|
41
|
-
id: string;
|
|
42
|
-
telemetry?: TelemetryInfo;
|
|
43
|
-
constructor();
|
|
44
|
-
/**
|
|
45
|
-
* Handle adding a callback for when a message is received.
|
|
46
|
-
* @param msg The message that was received.
|
|
47
|
-
*/
|
|
48
|
-
abstract addDataListener(cb: (msg: Uint8Array) => void): void;
|
|
49
|
-
abstract removeDataListener(cb: (msg: Uint8Array) => void): void;
|
|
50
|
-
/**
|
|
51
|
-
* Handle adding a callback for when the connection is closed.
|
|
52
|
-
* This should also be called if an error happens.
|
|
53
|
-
* @param cb The callback to call when the connection is closed.
|
|
54
|
-
*/
|
|
55
|
-
abstract addCloseListener(cb: () => void): void;
|
|
56
|
-
/**
|
|
57
|
-
* Handle adding a callback for when an error is received.
|
|
58
|
-
* This should only be used for logging errors, all cleanup
|
|
59
|
-
* should be delegated to addCloseListener.
|
|
60
|
-
*
|
|
61
|
-
* The implementer should take care such that the implemented
|
|
62
|
-
* connection will call both the close and error callbacks
|
|
63
|
-
* on an error.
|
|
64
|
-
*
|
|
65
|
-
* @param cb The callback to call when an error is received.
|
|
66
|
-
*/
|
|
67
|
-
abstract addErrorListener(cb: (err: Error) => void): void;
|
|
68
|
-
/**
|
|
69
|
-
* Sends a message over the connection.
|
|
70
|
-
* @param msg The message to send.
|
|
71
|
-
* @returns true if the message was sent, false otherwise.
|
|
72
|
-
*/
|
|
73
|
-
abstract send(msg: Uint8Array): boolean;
|
|
74
|
-
/**
|
|
75
|
-
* Closes the connection.
|
|
76
|
-
*/
|
|
77
|
-
abstract close(): void;
|
|
78
|
-
}
|
|
79
|
-
interface SessionOptions {
|
|
80
|
-
/**
|
|
81
|
-
* Frequency at which to send heartbeat acknowledgements
|
|
82
|
-
*/
|
|
83
|
-
heartbeatIntervalMs: number;
|
|
84
|
-
/**
|
|
85
|
-
* Number of elapsed heartbeats without a response message before we consider
|
|
86
|
-
* the connection dead.
|
|
87
|
-
*/
|
|
88
|
-
heartbeatsUntilDead: number;
|
|
89
|
-
/**
|
|
90
|
-
* Duration to wait between connection disconnect and actual session disconnect
|
|
91
|
-
*/
|
|
92
|
-
sessionDisconnectGraceMs: number;
|
|
93
|
-
/**
|
|
94
|
-
* The codec to use for encoding/decoding messages over the wire
|
|
95
|
-
*/
|
|
96
|
-
codec: Codec;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* A session is a higher-level abstraction that operates over the span of potentially multiple transport-level connections
|
|
100
|
-
* - It’s responsible for tracking any metadata for a particular client that might need to be persisted across connections (i.e. the sendBuffer, ack, seq)
|
|
101
|
-
* - This will only be considered disconnected if
|
|
102
|
-
* - the server tells the client that we’ve reconnected but it doesn’t recognize us anymore (server definitely died) or
|
|
103
|
-
* - we hit a grace period after a connection disconnect
|
|
104
|
-
*/
|
|
105
|
-
declare class Session<ConnType extends Connection> {
|
|
106
|
-
private codec;
|
|
107
|
-
private options;
|
|
108
|
-
telemetry: TelemetryInfo;
|
|
109
|
-
/**
|
|
110
|
-
* The buffer of messages that have been sent but not yet acknowledged.
|
|
111
|
-
*/
|
|
112
|
-
private sendBuffer;
|
|
113
|
-
/**
|
|
114
|
-
* The active connection associated with this session
|
|
115
|
-
*/
|
|
116
|
-
connection?: ConnType;
|
|
117
|
-
readonly from: TransportClientId;
|
|
118
|
-
readonly to: TransportClientId;
|
|
119
|
-
/**
|
|
120
|
-
* The unique ID of this session.
|
|
121
|
-
*/
|
|
122
|
-
id: string;
|
|
123
|
-
/**
|
|
124
|
-
* What the other side advertised as their session ID
|
|
125
|
-
* for this session.
|
|
126
|
-
*/
|
|
127
|
-
advertisedSessionId?: string;
|
|
128
|
-
/**
|
|
129
|
-
* Number of messages we've sent along this session (excluding handshake and acks)
|
|
130
|
-
*/
|
|
131
|
-
private seq;
|
|
132
|
-
/**
|
|
133
|
-
* Number of unique messages we've received this session (excluding handshake and acks)
|
|
134
|
-
*/
|
|
135
|
-
private ack;
|
|
136
|
-
/**
|
|
137
|
-
* The grace period between when the inner connection is disconnected
|
|
138
|
-
* and when we should consider the entire session disconnected.
|
|
139
|
-
*/
|
|
140
|
-
private disconnectionGrace?;
|
|
141
|
-
/**
|
|
142
|
-
* Number of heartbeats we've sent without a response.
|
|
143
|
-
*/
|
|
144
|
-
private heartbeatMisses;
|
|
145
|
-
/**
|
|
146
|
-
* The interval for sending heartbeats.
|
|
147
|
-
*/
|
|
148
|
-
private heartbeat;
|
|
149
|
-
constructor(conn: ConnType | undefined, from: TransportClientId, to: TransportClientId, options: SessionOptions, propagationCtx?: PropagationContext);
|
|
150
|
-
get loggingMetadata(): Omit<MessageMetadata, 'parsedMsg'>;
|
|
151
|
-
/**
|
|
152
|
-
* Sends a message over the session's connection.
|
|
153
|
-
* If the connection is not ready or the message fails to send, the message can be buffered for retry unless skipped.
|
|
154
|
-
*
|
|
155
|
-
* @param msg The partial message to be sent, which will be constructed into a full message.
|
|
156
|
-
* @param addToSendBuff Whether to add the message to the send buffer for retry.
|
|
157
|
-
* @returns The full transport ID of the message that was attempted to be sent.
|
|
158
|
-
*/
|
|
159
|
-
send(msg: PartialTransportMessage): string;
|
|
160
|
-
sendHeartbeat(): void;
|
|
161
|
-
resetBufferedMessages(): void;
|
|
162
|
-
sendBufferedMessages(conn: ConnType): void;
|
|
163
|
-
updateBookkeeping(ack: number, seq: number): void;
|
|
164
|
-
closeStaleConnection(conn?: ConnType): void;
|
|
165
|
-
replaceWithNewConnection(newConn: ConnType): void;
|
|
166
|
-
beginGrace(cb: () => void): void;
|
|
167
|
-
cancelGrace(): void;
|
|
168
|
-
close(): void;
|
|
169
|
-
get connected(): boolean;
|
|
170
|
-
get nextExpectedSeq(): number;
|
|
171
|
-
constructMsg<Payload>(partialMsg: PartialTransportMessage<Payload>): TransportMessage<Payload>;
|
|
172
|
-
inspectSendBuffer(): ReadonlyArray<OpaqueTransportMessage>;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
interface PropagationContext {
|
|
176
|
-
traceparent: string;
|
|
177
|
-
tracestate: string;
|
|
178
|
-
}
|
|
179
|
-
interface TelemetryInfo {
|
|
180
|
-
span: Span;
|
|
181
|
-
ctx: Context;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* The context for services/procedures. This is used only on
|
|
186
|
-
* the server.
|
|
187
|
-
*
|
|
188
|
-
* An important detail is that the state prop is always on
|
|
189
|
-
* this interface and it shouldn't be changed, removed, or
|
|
190
|
-
* extended. This prop is for the state of a service.
|
|
191
|
-
*
|
|
192
|
-
* You should use declaration merging to extend this interface
|
|
193
|
-
* with whatever you need. For example, if you need to access
|
|
194
|
-
* a database, you could do:
|
|
195
|
-
*
|
|
196
|
-
* ```ts
|
|
197
|
-
* declare module '@replit/river' {
|
|
198
|
-
* interface ServiceContext {
|
|
199
|
-
* db: Database;
|
|
200
|
-
* }
|
|
201
|
-
* }
|
|
202
|
-
* ```
|
|
203
|
-
*/
|
|
204
|
-
interface ServiceContext {
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* The parsed metadata schema for a service. This is the
|
|
208
|
-
* return value of the {@link ServerHandshakeOptions.validate}
|
|
209
|
-
* if the handshake extension is used.
|
|
210
|
-
|
|
211
|
-
* You should use declaration merging to extend this interface
|
|
212
|
-
* with the sanitized metadata.
|
|
213
|
-
*/
|
|
214
|
-
interface ParsedMetadata {
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* The {@link ServiceContext} with state. This is what is passed to procedures.
|
|
218
|
-
*/
|
|
219
|
-
type ServiceContextWithState<State> = ServiceContext & {
|
|
220
|
-
state: State;
|
|
221
|
-
};
|
|
222
|
-
type ServiceContextWithTransportInfo<State> = ServiceContext & {
|
|
223
|
-
state: Omit<State, typeof Symbol.dispose>;
|
|
224
|
-
to: TransportClientId;
|
|
225
|
-
from: TransportClientId;
|
|
226
|
-
streamId: string;
|
|
227
|
-
session: Session<Connection>;
|
|
228
|
-
metadata: ParsedMetadata;
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
interface ClientHandshakeOptions<MetadataSchema extends TSchema> {
|
|
232
|
-
/**
|
|
233
|
-
* Schema for the metadata that the client sends to the server
|
|
234
|
-
* during the handshake.
|
|
235
|
-
*/
|
|
236
|
-
schema: MetadataSchema;
|
|
237
|
-
/**
|
|
238
|
-
* Gets the {@link HandshakeRequestMetadata} to send to the server.
|
|
239
|
-
*/
|
|
240
|
-
construct: () => Static<MetadataSchema> | Promise<Static<MetadataSchema>>;
|
|
241
|
-
}
|
|
242
|
-
interface ServerHandshakeOptions<MetadataSchema extends TSchema> {
|
|
243
|
-
/**
|
|
244
|
-
* Schema for the metadata that the server receives from the client
|
|
245
|
-
* during the handshake.
|
|
246
|
-
*/
|
|
247
|
-
schema: MetadataSchema;
|
|
248
|
-
/**
|
|
249
|
-
* Parses the {@link HandshakeRequestMetadata} sent by the client, transforming
|
|
250
|
-
* it into {@link ParsedHandshakeMetadata}.
|
|
251
|
-
*
|
|
252
|
-
* May return `false` if the client should be rejected.
|
|
253
|
-
*
|
|
254
|
-
* @param metadata - The metadata sent by the client.
|
|
255
|
-
* @param session - The session that the client would be associated with.
|
|
256
|
-
* @param isReconnect - Whether the client is reconnecting to the session,
|
|
257
|
-
* or if this is a new session.
|
|
258
|
-
*/
|
|
259
|
-
validate: (metadata: Static<MetadataSchema>, previousParsedMetadata?: ParsedMetadata) => false | ParsedMetadata | Promise<false | ParsedMetadata>;
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Generic Typebox schema for a transport message.
|
|
263
|
-
* @template T The type of the payload.
|
|
264
|
-
* @param {T} t The payload schema.
|
|
265
|
-
* @returns The transport message schema.
|
|
266
|
-
*/
|
|
267
|
-
declare const TransportMessageSchema: <T extends TSchema>(t: T) => _sinclair_typebox.TObject<{
|
|
268
|
-
id: _sinclair_typebox.TString;
|
|
269
|
-
from: _sinclair_typebox.TString;
|
|
270
|
-
to: _sinclair_typebox.TString;
|
|
271
|
-
seq: _sinclair_typebox.TInteger;
|
|
272
|
-
ack: _sinclair_typebox.TInteger;
|
|
273
|
-
serviceName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
|
|
274
|
-
procedureName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
|
|
275
|
-
streamId: _sinclair_typebox.TString;
|
|
276
|
-
controlFlags: _sinclair_typebox.TInteger;
|
|
277
|
-
tracing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
|
|
278
|
-
traceparent: _sinclair_typebox.TString;
|
|
279
|
-
tracestate: _sinclair_typebox.TString;
|
|
280
|
-
}>>;
|
|
281
|
-
payload: T;
|
|
282
|
-
}>;
|
|
283
|
-
/**
|
|
284
|
-
* Defines the schema for an opaque transport message that is agnostic to any
|
|
285
|
-
* procedure/service.
|
|
286
|
-
* @returns The transport message schema.
|
|
287
|
-
*/
|
|
288
|
-
declare const OpaqueTransportMessageSchema: _sinclair_typebox.TObject<{
|
|
289
|
-
id: _sinclair_typebox.TString;
|
|
290
|
-
from: _sinclair_typebox.TString;
|
|
291
|
-
to: _sinclair_typebox.TString;
|
|
292
|
-
seq: _sinclair_typebox.TInteger;
|
|
293
|
-
ack: _sinclair_typebox.TInteger;
|
|
294
|
-
serviceName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
|
|
295
|
-
procedureName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
|
|
296
|
-
streamId: _sinclair_typebox.TString;
|
|
297
|
-
controlFlags: _sinclair_typebox.TInteger;
|
|
298
|
-
tracing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
|
|
299
|
-
traceparent: _sinclair_typebox.TString;
|
|
300
|
-
tracestate: _sinclair_typebox.TString;
|
|
301
|
-
}>>;
|
|
302
|
-
payload: _sinclair_typebox.TUnknown;
|
|
303
|
-
}>;
|
|
304
|
-
/**
|
|
305
|
-
* Represents a transport message. This is the same type as {@link TransportMessageSchema} but
|
|
306
|
-
* we can't statically infer generics from generic Typebox schemas so we have to define it again here.
|
|
307
|
-
*
|
|
308
|
-
* TypeScript can't enforce types when a bitmask is involved, so these are the semantics of
|
|
309
|
-
* `controlFlags`:
|
|
310
|
-
* * If `controlFlags & StreamOpenBit == StreamOpenBit`, `streamId` must be set to a unique value
|
|
311
|
-
* (suggestion: use `nanoid`).
|
|
312
|
-
* * If `controlFlags & StreamOpenBit == StreamOpenBit`, `serviceName` and `procedureName` must be set.
|
|
313
|
-
* * If `controlFlags & StreamClosedBit == StreamClosedBit` and the kind is `stream` or `subscription`,
|
|
314
|
-
* `payload` should be discarded (usually contains a control message).
|
|
315
|
-
* * If `controlFlags & AckBit == AckBit`, the message is an explicit acknowledgement message and doesn't
|
|
316
|
-
* contain any payload that is relevant to the application so should not be delivered.
|
|
317
|
-
* @template Payload The type of the payload.
|
|
318
|
-
*/
|
|
319
|
-
interface TransportMessage<Payload = unknown> {
|
|
320
|
-
id: string;
|
|
321
|
-
from: string;
|
|
322
|
-
to: string;
|
|
323
|
-
seq: number;
|
|
324
|
-
ack: number;
|
|
325
|
-
serviceName?: string;
|
|
326
|
-
procedureName?: string;
|
|
327
|
-
streamId: string;
|
|
328
|
-
controlFlags: number;
|
|
329
|
-
tracing?: PropagationContext;
|
|
330
|
-
payload: Payload;
|
|
331
|
-
}
|
|
332
|
-
type PartialTransportMessage<Payload = unknown> = Omit<TransportMessage<Payload>, 'id' | 'from' | 'to' | 'seq' | 'ack'>;
|
|
333
|
-
/**
|
|
334
|
-
* A type alias for a transport message with an opaque payload.
|
|
335
|
-
* @template T - The type of the opaque payload.
|
|
336
|
-
*/
|
|
337
|
-
type OpaqueTransportMessage = TransportMessage;
|
|
338
|
-
type TransportClientId = string;
|
|
339
|
-
/**
|
|
340
|
-
* Checks if the given control flag (usually found in msg.controlFlag) is a stream open message.
|
|
341
|
-
* @param controlFlag - The control flag to check.
|
|
342
|
-
* @returns True if the control flag contains the StreamOpenBit, false otherwise.
|
|
343
|
-
*/
|
|
344
|
-
declare function isStreamOpen(controlFlag: number): boolean;
|
|
345
|
-
/**
|
|
346
|
-
* Checks if the given control flag (usually found in msg.controlFlag) is a stream close message.
|
|
347
|
-
* @param controlFlag - The control flag to check.
|
|
348
|
-
* @returns True if the control flag contains the StreamCloseBit, false otherwise.
|
|
349
|
-
*/
|
|
350
|
-
declare function isStreamClose(controlFlag: number): boolean;
|
|
351
|
-
|
|
352
|
-
export { Connection as C, Logger as L, MessageMetadata as M, OpaqueTransportMessage as O, PartialTransportMessage as P, SessionOptions as S, TransportClientId as T, ServiceContext as a, Session as b, ServerHandshakeOptions as c, ServiceContextWithState as d, ServiceContextWithTransportInfo as e, ClientHandshakeOptions as f, TransportMessageSchema as g, OpaqueTransportMessageSchema as h, TransportMessage as i, isStreamOpen as j, isStreamClose as k, PropagationContext as l, ParsedMetadata as m, coloredStringLogger as n, jsonLogger as o, bindLogger as p, LogFn as q, stringLogger as s };
|