effect-jetstream 1.0.4 → 1.2.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.
- package/README.md +77 -4
- package/dist/JetstreamClient.d.ts +2 -1
- package/dist/JetstreamClient.d.ts.map +1 -1
- package/dist/JetstreamClient.js.map +1 -1
- package/dist/JetstreamConfig.d.ts +129 -0
- package/dist/JetstreamConfig.d.ts.map +1 -1
- package/dist/JetstreamConfig.js +14 -1
- package/dist/JetstreamConfig.js.map +1 -1
- package/dist/internal/client.d.ts +2 -1
- package/dist/internal/client.d.ts.map +1 -1
- package/dist/internal/client.js +57 -18
- package/dist/internal/client.js.map +1 -1
- package/dist/internal/decoder.d.ts.map +1 -1
- package/dist/internal/decoder.js +13 -10
- package/dist/internal/decoder.js.map +1 -1
- package/dist/internal/jetstream.d.ts.map +1 -1
- package/dist/internal/jetstream.js +187 -26
- package/dist/internal/jetstream.js.map +1 -1
- package/dist/internal/websocket.d.ts +1 -1
- package/dist/internal/websocket.d.ts.map +1 -1
- package/dist/internal/websocket.js +25 -19
- package/dist/internal/websocket.js.map +1 -1
- package/package.json +13 -3
package/README.md
CHANGED
|
@@ -96,19 +96,44 @@ JetstreamConfig.JetstreamConfig.make({
|
|
|
96
96
|
compress: false,
|
|
97
97
|
|
|
98
98
|
// Optional decoder for compressed payloads
|
|
99
|
-
// If omitted, Bun.zstdDecompress is used without a dictionary and a warning is logged.
|
|
99
|
+
// If omitted in Bun, Bun.zstdDecompress is used without a dictionary and a warning is logged.
|
|
100
|
+
// In non-Bun runtimes, a decoder is required when compress=true.
|
|
100
101
|
// decoder: (data) => Effect.tryPromise(() => Bun.zstdDecompress(data))
|
|
102
|
+
|
|
103
|
+
// Inbound message buffering
|
|
104
|
+
inboundBufferSize: 4096,
|
|
105
|
+
inboundBufferStrategy: "suspend", // "suspend" | "dropping" | "sliding"
|
|
106
|
+
|
|
107
|
+
// Raw ingress buffering (applies before decode)
|
|
108
|
+
ingressBufferSize: 4096,
|
|
109
|
+
ingressBufferStrategy: "dropping", // "suspend" | "dropping" | "sliding"
|
|
110
|
+
|
|
111
|
+
// Outbound message buffering
|
|
112
|
+
outboundBufferSize: 1024,
|
|
113
|
+
|
|
114
|
+
// Reconnect backoff tuning
|
|
115
|
+
reconnectBaseDelayMs: 1000,
|
|
116
|
+
reconnectMaxDelayMs: 30000,
|
|
117
|
+
reconnectJitterFactor: 0, // 0..1 (0 disables jitter)
|
|
118
|
+
|
|
119
|
+
// Runtime observer queue buffering
|
|
120
|
+
runtimeObserverBufferSize: 1024,
|
|
121
|
+
|
|
122
|
+
// Optional runtime observer for instrumentation
|
|
123
|
+
runtimeObserver: (event) => Effect.logDebug("jetstream-runtime", event)
|
|
101
124
|
})
|
|
102
125
|
```
|
|
103
126
|
|
|
104
|
-
When `compress` is true, provide a decoder that understands Jetstream's dictionary. If you omit it, the client falls back to `Bun.zstdDecompress`
|
|
127
|
+
When `compress` is true, provide a decoder that understands Jetstream's dictionary. If you omit it, the client falls back to `Bun.zstdDecompress` only in Bun and logs a warning. In runtimes without Bun, layer construction fails with a typed `ParseError`.
|
|
105
128
|
|
|
106
129
|
## Behavior
|
|
107
130
|
|
|
108
131
|
- Malformed messages are logged and dropped; the stream continues.
|
|
132
|
+
- Raw inbound frames are buffered before decode and may be dropped when ingress is saturated.
|
|
109
133
|
- Record decode failures in `JetstreamClient` are logged and dropped.
|
|
110
134
|
- Handler failures are logged and do not stop processing.
|
|
111
135
|
- Outbound messages are buffered; `send` waits for a ready socket and resends after reconnect.
|
|
136
|
+
- Reconnect backoff uses exponential delay capped by `reconnectMaxDelayMs`, with optional jitter.
|
|
112
137
|
|
|
113
138
|
## Event Types
|
|
114
139
|
|
|
@@ -175,11 +200,59 @@ interface JetstreamClient {
|
|
|
175
200
|
handler: (event: EventFor<K>) => Effect<void>
|
|
176
201
|
) => Effect<void>
|
|
177
202
|
|
|
178
|
-
// Run the client (
|
|
179
|
-
readonly run: Effect<
|
|
203
|
+
// Run the client until the stream ends (e.g. on shutdown)
|
|
204
|
+
readonly run: Effect<void, JetstreamError>
|
|
205
|
+
|
|
206
|
+
// Run the client forever
|
|
207
|
+
readonly runForever: Effect<never, JetstreamError>
|
|
180
208
|
}
|
|
181
209
|
```
|
|
182
210
|
|
|
211
|
+
## Local Harness
|
|
212
|
+
|
|
213
|
+
The repository includes a local Bun harness for smoke/performance testing with Effect metrics.
|
|
214
|
+
|
|
215
|
+
### Commands
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
bun run harness
|
|
219
|
+
bun run harness:live
|
|
220
|
+
bun run harness:replay
|
|
221
|
+
bun run bench:replay
|
|
222
|
+
bun run bench:ci
|
|
223
|
+
bun run bench:matrix
|
|
224
|
+
bun run bench:matrix:quick
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Modes
|
|
228
|
+
|
|
229
|
+
- `live`: connects to Jetstream and tracks throughput/runtime signals.
|
|
230
|
+
- `replay`: replays NDJSON fixture messages (default fixture: `examples/fixtures/jetstream-sample.ndjson`).
|
|
231
|
+
|
|
232
|
+
### Useful Flags
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
bun run harness --mode replay --durationSec 30 --reportEverySec 5 --replayRatePerSec 200
|
|
236
|
+
bun run harness --mode live --collections app.bsky.feed.post --jsonOut tmp/live-report.json
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Optional gate flags fail the run (`exit 1`) when violated:
|
|
240
|
+
|
|
241
|
+
- `--gateMinEventsPerSec`
|
|
242
|
+
- `--gateMaxDecodeErrors`
|
|
243
|
+
- `--gateMaxInboundDrops`
|
|
244
|
+
- `--gateMaxReconnects`
|
|
245
|
+
- `--gateMaxP95LagMs`
|
|
246
|
+
- `--gateMaxP99LagMs`
|
|
247
|
+
|
|
248
|
+
The harness prints periodic summaries and writes a final JSON report (`tmp/harness-report.json` by default).
|
|
249
|
+
|
|
250
|
+
`bench:matrix` runs a baseline matrix across decode-only, replay, and websocket-pipeline scenarios, executes warmup + measured trials, and writes summary artifacts to `tmp/benchmarks/<run-id>/`:
|
|
251
|
+
|
|
252
|
+
- `matrix-summary.json` for machine-readable baselines
|
|
253
|
+
- `matrix-summary.md` for quick comparison tables
|
|
254
|
+
- `reports/*.json` for per-trial raw results
|
|
255
|
+
|
|
183
256
|
## License
|
|
184
257
|
|
|
185
258
|
MIT
|
|
@@ -36,7 +36,8 @@ export interface JetstreamClient {
|
|
|
36
36
|
}) => Effect.Effect<void>) => Effect.Effect<void>;
|
|
37
37
|
readonly onDelete: <C extends Collection>(collection: C, handler: (event: CommitDelete) => Effect.Effect<void>) => Effect.Effect<void>;
|
|
38
38
|
readonly on: <K extends EventKind>(kind: K, handler: (event: EventFor<K>) => Effect.Effect<void>) => Effect.Effect<void>;
|
|
39
|
-
readonly run: Effect.Effect<
|
|
39
|
+
readonly run: Effect.Effect<void, JetstreamError>;
|
|
40
|
+
readonly runForever: Effect.Effect<never, JetstreamError>;
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JetstreamClient.d.ts","sourceRoot":"","sources":["../src/JetstreamClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC1G,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,QAAQ,CAAC,MAAwB,CAAA;AAE7D;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3G,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3G,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,SAAS,EAC/B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"JetstreamClient.d.ts","sourceRoot":"","sources":["../src/JetstreamClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC1G,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,QAAQ,CAAC,MAAwB,CAAA;AAE7D;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3G,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3G,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,SAAS,EAC/B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;CAC1D;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,OAAO,QAAQ,CAAC,GAAkB,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,SAAS,CAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JetstreamClient.js","sourceRoot":"","sources":["../src/JetstreamClient.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAGhD;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAA2B,QAAQ,CAAC,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"JetstreamClient.js","sourceRoot":"","sources":["../src/JetstreamClient.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAGhD;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAA2B,QAAQ,CAAC,MAAM,CAAA;AAkC7D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAwB,QAAQ,CAAC,GAAG,CAAA;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAmD,QAAQ,CAAC,KAAK,CAAA"}
|
|
@@ -9,6 +9,59 @@ import type { ParseError } from "./JetstreamError.js";
|
|
|
9
9
|
* @category models
|
|
10
10
|
*/
|
|
11
11
|
export type JetstreamDecoder = (data: Uint8Array) => Effect.Effect<Uint8Array, ParseError>;
|
|
12
|
+
/**
|
|
13
|
+
* @since 1.2.0
|
|
14
|
+
* @category models
|
|
15
|
+
*/
|
|
16
|
+
export type JetstreamRuntimeEvent = {
|
|
17
|
+
readonly _tag: "ConnectionAttempt";
|
|
18
|
+
readonly timestampMs: number;
|
|
19
|
+
readonly url: string;
|
|
20
|
+
} | {
|
|
21
|
+
readonly _tag: "ConnectionOpened";
|
|
22
|
+
readonly timestampMs: number;
|
|
23
|
+
readonly url: string;
|
|
24
|
+
} | {
|
|
25
|
+
readonly _tag: "ConnectionClosed";
|
|
26
|
+
readonly timestampMs: number;
|
|
27
|
+
readonly reason: string;
|
|
28
|
+
readonly cause?: unknown;
|
|
29
|
+
} | {
|
|
30
|
+
readonly _tag: "DecodeFailed";
|
|
31
|
+
readonly timestampMs: number;
|
|
32
|
+
readonly message: string;
|
|
33
|
+
} | {
|
|
34
|
+
readonly _tag: "InboundDropped";
|
|
35
|
+
readonly timestampMs: number;
|
|
36
|
+
readonly kind: "commit" | "identity" | "account";
|
|
37
|
+
readonly did: string;
|
|
38
|
+
} | {
|
|
39
|
+
readonly _tag: "IngressDropped";
|
|
40
|
+
readonly timestampMs: number;
|
|
41
|
+
readonly sizeBytes: number;
|
|
42
|
+
readonly chunkType: "text" | "binary";
|
|
43
|
+
} | {
|
|
44
|
+
readonly _tag: "OutboundQueued";
|
|
45
|
+
readonly timestampMs: number;
|
|
46
|
+
} | {
|
|
47
|
+
readonly _tag: "OutboundEncoded";
|
|
48
|
+
readonly timestampMs: number;
|
|
49
|
+
} | {
|
|
50
|
+
readonly _tag: "OutboundEncodeFailed";
|
|
51
|
+
readonly timestampMs: number;
|
|
52
|
+
readonly message: string;
|
|
53
|
+
} | {
|
|
54
|
+
readonly _tag: "OutboundSent";
|
|
55
|
+
readonly timestampMs: number;
|
|
56
|
+
} | {
|
|
57
|
+
readonly _tag: "Shutdown";
|
|
58
|
+
readonly timestampMs: number;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* @since 1.2.0
|
|
62
|
+
* @category models
|
|
63
|
+
*/
|
|
64
|
+
export type JetstreamRuntimeObserver = (event: JetstreamRuntimeEvent) => Effect.Effect<void>;
|
|
12
65
|
declare const JetstreamConfig_base: Schema.Class<JetstreamConfig, {
|
|
13
66
|
endpoint: Schema.optionalWith<typeof Schema.String, {
|
|
14
67
|
default: () => string;
|
|
@@ -25,6 +78,34 @@ declare const JetstreamConfig_base: Schema.Class<JetstreamConfig, {
|
|
|
25
78
|
default: () => false;
|
|
26
79
|
}>;
|
|
27
80
|
decoder: Schema.optional<Schema.declare<JetstreamDecoder, JetstreamDecoder, readonly [], never>>;
|
|
81
|
+
inboundBufferSize: Schema.optionalWith<typeof Schema.Number, {
|
|
82
|
+
default: () => number;
|
|
83
|
+
}>;
|
|
84
|
+
inboundBufferStrategy: Schema.optionalWith<Schema.Literal<["suspend", "dropping", "sliding"]>, {
|
|
85
|
+
default: () => "suspend";
|
|
86
|
+
}>;
|
|
87
|
+
ingressBufferSize: Schema.optionalWith<typeof Schema.Number, {
|
|
88
|
+
default: () => number;
|
|
89
|
+
}>;
|
|
90
|
+
ingressBufferStrategy: Schema.optionalWith<Schema.Literal<["suspend", "dropping", "sliding"]>, {
|
|
91
|
+
default: () => "dropping";
|
|
92
|
+
}>;
|
|
93
|
+
outboundBufferSize: Schema.optionalWith<Schema.filter<Schema.filter<Schema.filter<typeof Schema.Number>>>, {
|
|
94
|
+
default: () => number;
|
|
95
|
+
}>;
|
|
96
|
+
reconnectBaseDelayMs: Schema.optionalWith<Schema.filter<Schema.filter<Schema.filter<typeof Schema.Number>>>, {
|
|
97
|
+
default: () => number;
|
|
98
|
+
}>;
|
|
99
|
+
reconnectMaxDelayMs: Schema.optionalWith<Schema.filter<Schema.filter<Schema.filter<typeof Schema.Number>>>, {
|
|
100
|
+
default: () => number;
|
|
101
|
+
}>;
|
|
102
|
+
reconnectJitterFactor: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
103
|
+
default: () => number;
|
|
104
|
+
}>;
|
|
105
|
+
runtimeObserverBufferSize: Schema.optionalWith<typeof Schema.Number, {
|
|
106
|
+
default: () => number;
|
|
107
|
+
}>;
|
|
108
|
+
runtimeObserver: Schema.optional<Schema.declare<JetstreamRuntimeObserver, JetstreamRuntimeObserver, readonly [], never>>;
|
|
28
109
|
}, Schema.Struct.Encoded<{
|
|
29
110
|
endpoint: Schema.optionalWith<typeof Schema.String, {
|
|
30
111
|
default: () => string;
|
|
@@ -41,6 +122,34 @@ declare const JetstreamConfig_base: Schema.Class<JetstreamConfig, {
|
|
|
41
122
|
default: () => false;
|
|
42
123
|
}>;
|
|
43
124
|
decoder: Schema.optional<Schema.declare<JetstreamDecoder, JetstreamDecoder, readonly [], never>>;
|
|
125
|
+
inboundBufferSize: Schema.optionalWith<typeof Schema.Number, {
|
|
126
|
+
default: () => number;
|
|
127
|
+
}>;
|
|
128
|
+
inboundBufferStrategy: Schema.optionalWith<Schema.Literal<["suspend", "dropping", "sliding"]>, {
|
|
129
|
+
default: () => "suspend";
|
|
130
|
+
}>;
|
|
131
|
+
ingressBufferSize: Schema.optionalWith<typeof Schema.Number, {
|
|
132
|
+
default: () => number;
|
|
133
|
+
}>;
|
|
134
|
+
ingressBufferStrategy: Schema.optionalWith<Schema.Literal<["suspend", "dropping", "sliding"]>, {
|
|
135
|
+
default: () => "dropping";
|
|
136
|
+
}>;
|
|
137
|
+
outboundBufferSize: Schema.optionalWith<Schema.filter<Schema.filter<Schema.filter<typeof Schema.Number>>>, {
|
|
138
|
+
default: () => number;
|
|
139
|
+
}>;
|
|
140
|
+
reconnectBaseDelayMs: Schema.optionalWith<Schema.filter<Schema.filter<Schema.filter<typeof Schema.Number>>>, {
|
|
141
|
+
default: () => number;
|
|
142
|
+
}>;
|
|
143
|
+
reconnectMaxDelayMs: Schema.optionalWith<Schema.filter<Schema.filter<Schema.filter<typeof Schema.Number>>>, {
|
|
144
|
+
default: () => number;
|
|
145
|
+
}>;
|
|
146
|
+
reconnectJitterFactor: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
147
|
+
default: () => number;
|
|
148
|
+
}>;
|
|
149
|
+
runtimeObserverBufferSize: Schema.optionalWith<typeof Schema.Number, {
|
|
150
|
+
default: () => number;
|
|
151
|
+
}>;
|
|
152
|
+
runtimeObserver: Schema.optional<Schema.declare<JetstreamRuntimeObserver, JetstreamRuntimeObserver, readonly [], never>>;
|
|
44
153
|
}>, never, {
|
|
45
154
|
readonly endpoint?: string;
|
|
46
155
|
} & {
|
|
@@ -55,6 +164,26 @@ declare const JetstreamConfig_base: Schema.Class<JetstreamConfig, {
|
|
|
55
164
|
readonly compress?: boolean;
|
|
56
165
|
} & {
|
|
57
166
|
readonly decoder?: JetstreamDecoder | undefined;
|
|
167
|
+
} & {
|
|
168
|
+
readonly inboundBufferSize?: number;
|
|
169
|
+
} & {
|
|
170
|
+
readonly inboundBufferStrategy?: "suspend" | "dropping" | "sliding";
|
|
171
|
+
} & {
|
|
172
|
+
readonly ingressBufferSize?: number;
|
|
173
|
+
} & {
|
|
174
|
+
readonly ingressBufferStrategy?: "suspend" | "dropping" | "sliding";
|
|
175
|
+
} & {
|
|
176
|
+
readonly outboundBufferSize?: number;
|
|
177
|
+
} & {
|
|
178
|
+
readonly reconnectBaseDelayMs?: number;
|
|
179
|
+
} & {
|
|
180
|
+
readonly reconnectMaxDelayMs?: number;
|
|
181
|
+
} & {
|
|
182
|
+
readonly reconnectJitterFactor?: number;
|
|
183
|
+
} & {
|
|
184
|
+
readonly runtimeObserverBufferSize?: number;
|
|
185
|
+
} & {
|
|
186
|
+
readonly runtimeObserver?: JetstreamRuntimeObserver | undefined;
|
|
58
187
|
}, {}, {}>;
|
|
59
188
|
/**
|
|
60
189
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JetstreamConfig.d.ts","sourceRoot":"","sources":["../src/JetstreamConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA
|
|
1
|
+
{"version":3,"file":"JetstreamConfig.d.ts","sourceRoot":"","sources":["../src/JetstreamConfig.ts"],"names":[],"mappings":"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"}
|
package/dist/JetstreamConfig.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as Schema from "effect/Schema";
|
|
2
2
|
const JetstreamDecoderSchema = Schema.declare((u) => typeof u === "function");
|
|
3
|
+
const JetstreamRuntimeObserverSchema = Schema.declare((u) => typeof u === "function");
|
|
4
|
+
const PositiveInteger = Schema.Number.pipe(Schema.finite(), Schema.int(), Schema.greaterThan(0));
|
|
5
|
+
const JitterFactor = Schema.Number.pipe(Schema.finite(), Schema.between(0, 1));
|
|
3
6
|
/**
|
|
4
7
|
* @since 1.0.0
|
|
5
8
|
* @category schemas
|
|
@@ -17,7 +20,17 @@ export class JetstreamConfig extends Schema.Class("JetstreamConfig")({
|
|
|
17
20
|
cursor: Schema.optional(Schema.Number),
|
|
18
21
|
maxMessageSizeBytes: Schema.optional(Schema.Number),
|
|
19
22
|
compress: Schema.optionalWith(Schema.Boolean, { default: () => false }),
|
|
20
|
-
decoder: Schema.optional(JetstreamDecoderSchema)
|
|
23
|
+
decoder: Schema.optional(JetstreamDecoderSchema),
|
|
24
|
+
inboundBufferSize: Schema.optionalWith(Schema.Number, { default: () => 4096 }),
|
|
25
|
+
inboundBufferStrategy: Schema.optionalWith(Schema.Literal("suspend", "dropping", "sliding"), { default: () => "suspend" }),
|
|
26
|
+
ingressBufferSize: Schema.optionalWith(Schema.Number, { default: () => 4096 }),
|
|
27
|
+
ingressBufferStrategy: Schema.optionalWith(Schema.Literal("suspend", "dropping", "sliding"), { default: () => "dropping" }),
|
|
28
|
+
outboundBufferSize: Schema.optionalWith(PositiveInteger, { default: () => 1024 }),
|
|
29
|
+
reconnectBaseDelayMs: Schema.optionalWith(PositiveInteger, { default: () => 1000 }),
|
|
30
|
+
reconnectMaxDelayMs: Schema.optionalWith(PositiveInteger, { default: () => 30000 }),
|
|
31
|
+
reconnectJitterFactor: Schema.optionalWith(JitterFactor, { default: () => 0 }),
|
|
32
|
+
runtimeObserverBufferSize: Schema.optionalWith(Schema.Number, { default: () => 1024 }),
|
|
33
|
+
runtimeObserver: Schema.optional(JetstreamRuntimeObserverSchema)
|
|
21
34
|
}) {
|
|
22
35
|
}
|
|
23
36
|
//# sourceMappingURL=JetstreamConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JetstreamConfig.js","sourceRoot":"","sources":["../src/JetstreamConfig.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"JetstreamConfig.js","sourceRoot":"","sources":["../src/JetstreamConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,8 @@ export interface JetstreamClient {
|
|
|
36
36
|
}) => Effect.Effect<void>) => Effect.Effect<void>;
|
|
37
37
|
readonly onDelete: <C extends Collection>(collection: C, handler: (event: CommitDelete) => Effect.Effect<void>) => Effect.Effect<void>;
|
|
38
38
|
readonly on: <K extends EventKind>(kind: K, handler: (event: EventFor<K>) => Effect.Effect<void>) => Effect.Effect<void>;
|
|
39
|
-
readonly run: Effect.Effect<
|
|
39
|
+
readonly run: Effect.Effect<void, JetstreamError>;
|
|
40
|
+
readonly runForever: Effect.Effect<never, JetstreamError>;
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/internal/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,SAAS,EAEV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAGpE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAuD,CAAA;AAEnF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3G,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3G,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,SAAS,EAC/B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/internal/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,SAAS,EAEV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAGpE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAuD,CAAA;AAEnF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3G,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3G,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,SAAS,EAC/B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;CAC1D;AAED;;;GAGG;AACH,eAAO,MAAM,GAAG,+CAA0E,CAAA;AAsE1F;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,SAAS,CA8JhE,CAAA"}
|
package/dist/internal/client.js
CHANGED
|
@@ -21,6 +21,7 @@ export const TypeId = Symbol.for("effect-jetstream/JetstreamClient");
|
|
|
21
21
|
* @category tags
|
|
22
22
|
*/
|
|
23
23
|
export const tag = Context.GenericTag("effect-jetstream/JetstreamClient");
|
|
24
|
+
const decodeFailureSentinel = Symbol.for("effect-jetstream/JetstreamClient/decode-failed");
|
|
24
25
|
const recordSchemas = {
|
|
25
26
|
"app.bsky.feed.post": Post,
|
|
26
27
|
"app.bsky.feed.like": Like,
|
|
@@ -66,35 +67,71 @@ const logRecordFailure = (collection, error, event) => Effect.logWarning("Droppi
|
|
|
66
67
|
export const layer = Layer.effect(tag, Effect.gen(function* () {
|
|
67
68
|
const jetstream = yield* JetstreamTag;
|
|
68
69
|
const handlers = yield* Ref.make([]);
|
|
70
|
+
const decodeCache = new WeakMap();
|
|
71
|
+
const decodeCacheFor = (event) => {
|
|
72
|
+
const cached = decodeCache.get(event);
|
|
73
|
+
if (cached !== undefined) {
|
|
74
|
+
return cached;
|
|
75
|
+
}
|
|
76
|
+
const next = {};
|
|
77
|
+
decodeCache.set(event, next);
|
|
78
|
+
return next;
|
|
79
|
+
};
|
|
69
80
|
const addHandler = (handler) => Ref.update(handlers, (current) => [...current, handler]);
|
|
70
81
|
const onCreate = Effect.fn("JetstreamClient.onCreate")((collection, handler) => addHandler((event) => {
|
|
71
82
|
if (event._tag !== "CommitCreate" || event.commit.collection !== collection) {
|
|
72
83
|
return Effect.void;
|
|
73
84
|
}
|
|
85
|
+
const cache = decodeCacheFor(event);
|
|
86
|
+
if (cache.create === decodeFailureSentinel) {
|
|
87
|
+
return Effect.void;
|
|
88
|
+
}
|
|
89
|
+
if (cache.create !== undefined) {
|
|
90
|
+
return handler(cache.create).pipe(Effect.catchAllCause(logHandlerFailure("onCreate", event)));
|
|
91
|
+
}
|
|
74
92
|
return decodeRecord(collection, event.commit.record).pipe(Effect.matchEffect({
|
|
75
|
-
onFailure: (error) =>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
93
|
+
onFailure: (error) => Effect.sync(() => {
|
|
94
|
+
cache.create = decodeFailureSentinel;
|
|
95
|
+
}).pipe(Effect.zipRight(logRecordFailure(collection, error, event))),
|
|
96
|
+
onSuccess: (record) => {
|
|
97
|
+
const decodedEvent = {
|
|
98
|
+
...event,
|
|
99
|
+
commit: {
|
|
100
|
+
...event.commit,
|
|
101
|
+
record
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
cache.create = decodedEvent;
|
|
105
|
+
return handler(decodedEvent).pipe(Effect.catchAllCause(logHandlerFailure("onCreate", event)));
|
|
106
|
+
}
|
|
83
107
|
}));
|
|
84
108
|
}));
|
|
85
109
|
const onUpdate = Effect.fn("JetstreamClient.onUpdate")((collection, handler) => addHandler((event) => {
|
|
86
110
|
if (event._tag !== "CommitUpdate" || event.commit.collection !== collection) {
|
|
87
111
|
return Effect.void;
|
|
88
112
|
}
|
|
113
|
+
const cache = decodeCacheFor(event);
|
|
114
|
+
if (cache.update === decodeFailureSentinel) {
|
|
115
|
+
return Effect.void;
|
|
116
|
+
}
|
|
117
|
+
if (cache.update !== undefined) {
|
|
118
|
+
return handler(cache.update).pipe(Effect.catchAllCause(logHandlerFailure("onUpdate", event)));
|
|
119
|
+
}
|
|
89
120
|
return decodeRecord(collection, event.commit.record).pipe(Effect.matchEffect({
|
|
90
|
-
onFailure: (error) =>
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
121
|
+
onFailure: (error) => Effect.sync(() => {
|
|
122
|
+
cache.update = decodeFailureSentinel;
|
|
123
|
+
}).pipe(Effect.zipRight(logRecordFailure(collection, error, event))),
|
|
124
|
+
onSuccess: (record) => {
|
|
125
|
+
const decodedEvent = {
|
|
126
|
+
...event,
|
|
127
|
+
commit: {
|
|
128
|
+
...event.commit,
|
|
129
|
+
record
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
cache.update = decodedEvent;
|
|
133
|
+
return handler(decodedEvent).pipe(Effect.catchAllCause(logHandlerFailure("onUpdate", event)));
|
|
134
|
+
}
|
|
98
135
|
}));
|
|
99
136
|
}));
|
|
100
137
|
const onDelete = Effect.fn("JetstreamClient.onDelete")((collection, handler) => addHandler((event) => {
|
|
@@ -110,14 +147,16 @@ export const layer = Layer.effect(tag, Effect.gen(function* () {
|
|
|
110
147
|
return handler(event).pipe(Effect.catchAllCause(logHandlerFailure("on", event)));
|
|
111
148
|
}));
|
|
112
149
|
const dispatchEvent = Effect.fn("JetstreamClient.dispatchEvent")((event) => Ref.get(handlers).pipe(Effect.flatMap((current) => Effect.forEach(current, (handler) => handler(event), { discard: true }))));
|
|
113
|
-
const run = jetstream.stream.pipe(Stream.runForEach(dispatchEvent)
|
|
150
|
+
const run = jetstream.stream.pipe(Stream.runForEach(dispatchEvent));
|
|
151
|
+
const runForever = run.pipe(Effect.zipRight(Effect.never));
|
|
114
152
|
return tag.of({
|
|
115
153
|
[TypeId]: TypeId,
|
|
116
154
|
onCreate,
|
|
117
155
|
onUpdate,
|
|
118
156
|
onDelete,
|
|
119
157
|
on,
|
|
120
|
-
run
|
|
158
|
+
run,
|
|
159
|
+
runForever
|
|
121
160
|
});
|
|
122
161
|
}));
|
|
123
162
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/internal/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,MAAM,EAGP,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAuB,MAAM,sBAAsB,CAAA;AAStE,OAAO,EAAE,GAAG,IAAI,YAAY,EAAkB,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAkB,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/internal/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/internal/decoder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAA;AA6D/B,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,GAAG,UAAU,EACzB,UAAU,gBAAgB,KACzB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/internal/decoder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAA;AA6D/B,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,GAAG,UAAU,EACzB,UAAU,gBAAgB,KACzB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAmH5C,CAAA"}
|
package/dist/internal/decoder.js
CHANGED
|
@@ -62,21 +62,20 @@ export const decodeMessage = (data, decoder) => {
|
|
|
62
62
|
}));
|
|
63
63
|
}
|
|
64
64
|
const { commit } = raw;
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
time_us: raw.time_us,
|
|
68
|
-
kind: "commit"
|
|
69
|
-
};
|
|
65
|
+
const did = raw.did;
|
|
66
|
+
const time_us = raw.time_us;
|
|
70
67
|
switch (commit.operation) {
|
|
71
68
|
case "create":
|
|
72
|
-
if (commit.record
|
|
69
|
+
if (commit.record == null) {
|
|
73
70
|
return yield* Effect.fail(new ParseError({
|
|
74
71
|
message: "Missing record for commit create",
|
|
75
72
|
raw: text.slice(0, 200)
|
|
76
73
|
}));
|
|
77
74
|
}
|
|
78
75
|
return new CommitCreate({
|
|
79
|
-
|
|
76
|
+
did,
|
|
77
|
+
time_us,
|
|
78
|
+
kind: "commit",
|
|
80
79
|
commit: {
|
|
81
80
|
rev: commit.rev,
|
|
82
81
|
operation: "create",
|
|
@@ -87,14 +86,16 @@ export const decodeMessage = (data, decoder) => {
|
|
|
87
86
|
}
|
|
88
87
|
});
|
|
89
88
|
case "update":
|
|
90
|
-
if (commit.record
|
|
89
|
+
if (commit.record == null) {
|
|
91
90
|
return yield* Effect.fail(new ParseError({
|
|
92
91
|
message: "Missing record for commit update",
|
|
93
92
|
raw: text.slice(0, 200)
|
|
94
93
|
}));
|
|
95
94
|
}
|
|
96
95
|
return new CommitUpdate({
|
|
97
|
-
|
|
96
|
+
did,
|
|
97
|
+
time_us,
|
|
98
|
+
kind: "commit",
|
|
98
99
|
commit: {
|
|
99
100
|
rev: commit.rev,
|
|
100
101
|
operation: "update",
|
|
@@ -106,7 +107,9 @@ export const decodeMessage = (data, decoder) => {
|
|
|
106
107
|
});
|
|
107
108
|
case "delete":
|
|
108
109
|
return new CommitDelete({
|
|
109
|
-
|
|
110
|
+
did,
|
|
111
|
+
time_us,
|
|
112
|
+
kind: "commit",
|
|
110
113
|
commit: {
|
|
111
114
|
rev: commit.rev,
|
|
112
115
|
operation: "delete",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/internal/decoder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/internal/decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jetstream.d.ts","sourceRoot":"","sources":["../../src/internal/jetstream.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AAEjD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"jetstream.d.ts","sourceRoot":"","sources":["../../src/internal/jetstream.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AAEjD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAQrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EACV,eAAe,EAGf,aAAa,EACb,wBAAwB,EACzB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAK9D;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAiD,CAAA;AAE7E;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;IAChE,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IACzF,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IACvF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACvC;AAED;;;GAGG;AACH,eAAO,MAAM,GAAG,mCAA8D,CAAA;AA+H9E;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,QAAQ,eAAe,KACtB,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,oBAAoB,CAoTlE,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,IAAI,GACf,QAAQ,eAAe,KACtB,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAGrC,CAAA"}
|
|
@@ -13,11 +13,13 @@ import * as Option from "effect/Option";
|
|
|
13
13
|
import * as Queue from "effect/Queue";
|
|
14
14
|
import * as Ref from "effect/Ref";
|
|
15
15
|
import * as Schedule from "effect/Schedule";
|
|
16
|
+
import * as Schema from "effect/Schema";
|
|
16
17
|
import * as Scope from "effect/Scope";
|
|
17
18
|
import * as Stream from "effect/Stream";
|
|
18
19
|
import { ConnectionError, ParseError } from "../JetstreamError.js";
|
|
19
20
|
import { decodeMessage } from "./decoder.js";
|
|
20
|
-
import {
|
|
21
|
+
import { summarizeParseError } from "./parseError.js";
|
|
22
|
+
import { buildUrl, createSocket } from "./websocket.js";
|
|
21
23
|
/**
|
|
22
24
|
* @since 1.0.0
|
|
23
25
|
* @category symbols
|
|
@@ -28,40 +30,152 @@ export const TypeId = Symbol.for("effect-jetstream/Jetstream");
|
|
|
28
30
|
* @category tags
|
|
29
31
|
*/
|
|
30
32
|
export const tag = Context.GenericTag("effect-jetstream/Jetstream");
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
catch: (error) => new ParseError({
|
|
36
|
-
message: `Zstd decompression failed: ${String(error)}`
|
|
37
|
-
})
|
|
33
|
+
const OptionsUpdateSchema = Schema.Struct({
|
|
34
|
+
wantedCollections: Schema.optional(Schema.Array(Schema.String)),
|
|
35
|
+
wantedDids: Schema.optional(Schema.Array(Schema.String)),
|
|
36
|
+
maxMessageSizeBytes: Schema.optional(Schema.Number)
|
|
38
37
|
});
|
|
38
|
+
const SubscriberSourcedMessageSchema = Schema.Struct({
|
|
39
|
+
type: Schema.Literal("options_update"),
|
|
40
|
+
payload: OptionsUpdateSchema
|
|
41
|
+
});
|
|
42
|
+
const encodeOutboundMessage = Schema.encode(Schema.parseJson(SubscriberSourcedMessageSchema));
|
|
43
|
+
const makeReconnectSchedule = (config) => {
|
|
44
|
+
const capped = Schedule.exponential(config.reconnectBaseDelayMs).pipe(Schedule.union(Schedule.spaced(config.reconnectMaxDelayMs)));
|
|
45
|
+
if (config.reconnectJitterFactor <= 0) {
|
|
46
|
+
return capped;
|
|
47
|
+
}
|
|
48
|
+
const min = Math.max(0, 1 - config.reconnectJitterFactor);
|
|
49
|
+
const max = 1 + config.reconnectJitterFactor;
|
|
50
|
+
return capped.pipe(Schedule.jitteredWith({ min, max }));
|
|
51
|
+
};
|
|
52
|
+
const makeQueue = (capacity, strategy) => {
|
|
53
|
+
switch (strategy) {
|
|
54
|
+
case "dropping":
|
|
55
|
+
return Queue.dropping(capacity);
|
|
56
|
+
case "sliding":
|
|
57
|
+
return Queue.sliding(capacity);
|
|
58
|
+
case "suspend":
|
|
59
|
+
return Queue.bounded(capacity);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const ingressChunkType = (data) => typeof data === "string" ? "text" : "binary";
|
|
63
|
+
const ingressChunkSize = (data) => typeof data === "string" ? data.length : data.byteLength;
|
|
64
|
+
const isPromiseLike = (value) => typeof value === "object" &&
|
|
65
|
+
value !== null &&
|
|
66
|
+
"then" in value &&
|
|
67
|
+
typeof value.then === "function";
|
|
68
|
+
const zstdDecodeError = (error) => new ParseError({
|
|
69
|
+
message: `Zstd decompression failed: ${String(error)}`
|
|
70
|
+
});
|
|
71
|
+
const makeDefaultZstdDecoder = (zstdDecompress) => {
|
|
72
|
+
return (data) => Effect.gen(function* () {
|
|
73
|
+
const decoded = yield* Effect.try({
|
|
74
|
+
try: () => zstdDecompress(data),
|
|
75
|
+
catch: zstdDecodeError
|
|
76
|
+
});
|
|
77
|
+
if (!isPromiseLike(decoded)) {
|
|
78
|
+
return decoded;
|
|
79
|
+
}
|
|
80
|
+
return yield* Effect.tryPromise({
|
|
81
|
+
try: () => Promise.resolve(decoded),
|
|
82
|
+
catch: zstdDecodeError
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
};
|
|
39
86
|
const resolveDecoder = (config) => {
|
|
40
87
|
if (!config.compress) {
|
|
41
|
-
return
|
|
88
|
+
return Effect.succeed({
|
|
89
|
+
decoder: undefined,
|
|
90
|
+
usingDefaultDecoder: false
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (config.decoder !== undefined) {
|
|
94
|
+
return Effect.succeed({
|
|
95
|
+
decoder: config.decoder,
|
|
96
|
+
usingDefaultDecoder: false
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
const bunRuntime = globalThis.Bun;
|
|
100
|
+
if (bunRuntime?.zstdDecompress !== undefined) {
|
|
101
|
+
return Effect.succeed({
|
|
102
|
+
decoder: makeDefaultZstdDecoder(bunRuntime.zstdDecompress),
|
|
103
|
+
usingDefaultDecoder: true
|
|
104
|
+
});
|
|
42
105
|
}
|
|
43
|
-
return
|
|
106
|
+
return Effect.fail(new ParseError({
|
|
107
|
+
message: "Jetstream compression requires a custom decoder when Bun.zstdDecompress is unavailable."
|
|
108
|
+
}));
|
|
44
109
|
};
|
|
45
110
|
/**
|
|
46
111
|
* @since 1.0.0
|
|
47
112
|
* @category layers
|
|
48
113
|
*/
|
|
49
114
|
export const layer = (config) => Layer.scoped(tag, Effect.gen(function* () {
|
|
50
|
-
const url = buildUrl(config);
|
|
115
|
+
const url = yield* buildUrl(config);
|
|
51
116
|
const scope = yield* Effect.scope;
|
|
52
|
-
const mailbox = yield* Mailbox.make(
|
|
53
|
-
|
|
117
|
+
const mailbox = yield* Mailbox.make({
|
|
118
|
+
capacity: config.inboundBufferSize,
|
|
119
|
+
strategy: config.inboundBufferStrategy
|
|
120
|
+
});
|
|
121
|
+
const ingress = yield* makeQueue(config.ingressBufferSize, config.ingressBufferStrategy);
|
|
122
|
+
const outbound = yield* Queue.bounded(config.outboundBufferSize);
|
|
54
123
|
const pending = yield* Ref.make(Option.none());
|
|
55
124
|
const shutdownSignal = yield* Deferred.make();
|
|
56
|
-
const decoder = resolveDecoder(config);
|
|
57
|
-
|
|
125
|
+
const { decoder, usingDefaultDecoder } = yield* resolveDecoder(config);
|
|
126
|
+
const reconnectSchedule = makeReconnectSchedule(config);
|
|
127
|
+
const now = () => Date.now();
|
|
128
|
+
const runtimeObserver = config.runtimeObserver;
|
|
129
|
+
const runtimeEvents = runtimeObserver === undefined
|
|
130
|
+
? Option.none()
|
|
131
|
+
: Option.some(yield* Queue.dropping(config.runtimeObserverBufferSize));
|
|
132
|
+
const emitRuntimeEvent = Effect.fn("Jetstream.emitRuntimeEvent")((event) => Option.isNone(runtimeEvents)
|
|
133
|
+
? Effect.void
|
|
134
|
+
: runtimeEvents.value.offer(event).pipe(Effect.flatMap((accepted) => accepted
|
|
135
|
+
? Effect.void
|
|
136
|
+
: Effect.logDebug("Dropping runtime event because observer queue is full", {
|
|
137
|
+
event: event._tag
|
|
138
|
+
})), Effect.catchAllCause(() => Effect.void)));
|
|
139
|
+
if (Option.isSome(runtimeEvents)) {
|
|
140
|
+
const runtimeObserverFiber = yield* Effect.forkIn(Queue.take(runtimeEvents.value).pipe(Effect.flatMap((event) => runtimeObserver(event).pipe(Effect.catchAllCause(() => Effect.void))), Effect.forever, Effect.catchAllCause((cause) => Cause.isInterrupted(cause)
|
|
141
|
+
? Effect.void
|
|
142
|
+
: Effect.failCause(cause))), scope);
|
|
143
|
+
void runtimeObserverFiber;
|
|
144
|
+
}
|
|
145
|
+
if (usingDefaultDecoder) {
|
|
58
146
|
yield* Effect.logWarning("Jetstream compression enabled without a custom decoder; using Bun.zstdDecompress without a dictionary.");
|
|
59
147
|
}
|
|
60
|
-
const logDecodeError = (error) =>
|
|
148
|
+
const logDecodeError = (error) => emitRuntimeEvent({
|
|
149
|
+
_tag: "DecodeFailed",
|
|
150
|
+
timestampMs: now(),
|
|
151
|
+
message: error.message
|
|
152
|
+
}).pipe(Effect.zipRight(Effect.logWarning("Dropping malformed Jetstream message", {
|
|
61
153
|
message: error.message,
|
|
62
154
|
raw: error.raw
|
|
63
|
-
});
|
|
64
|
-
const
|
|
155
|
+
})));
|
|
156
|
+
const processIngressChunk = Effect.fn("Jetstream.processIngressChunk")((data) => decodeMessage(data, decoder).pipe(Effect.flatMap((message) => mailbox.offer(message).pipe(Effect.flatMap((accepted) => accepted
|
|
157
|
+
? Effect.void
|
|
158
|
+
: emitRuntimeEvent({
|
|
159
|
+
_tag: "InboundDropped",
|
|
160
|
+
timestampMs: now(),
|
|
161
|
+
kind: message.kind,
|
|
162
|
+
did: message.did
|
|
163
|
+
}).pipe(Effect.zipRight(Effect.logDebug("Dropping Jetstream message because inbound buffer is full", {
|
|
164
|
+
kind: message.kind,
|
|
165
|
+
did: message.did
|
|
166
|
+
})))))), Effect.catchAll(logDecodeError)));
|
|
167
|
+
const enqueueIngressChunk = Effect.fn("Jetstream.enqueueIngressChunk")((data) => ingress.offer(data).pipe(Effect.flatMap((accepted) => accepted
|
|
168
|
+
? Effect.void
|
|
169
|
+
: emitRuntimeEvent({
|
|
170
|
+
_tag: "IngressDropped",
|
|
171
|
+
timestampMs: now(),
|
|
172
|
+
sizeBytes: ingressChunkSize(data),
|
|
173
|
+
chunkType: ingressChunkType(data)
|
|
174
|
+
}).pipe(Effect.zipRight(Effect.logDebug("Dropping inbound frame because ingress queue is full", {
|
|
175
|
+
sizeBytes: ingressChunkSize(data),
|
|
176
|
+
chunkType: ingressChunkType(data)
|
|
177
|
+
}))))));
|
|
178
|
+
const ingressLoop = Queue.take(ingress).pipe(Effect.flatMap(processIngressChunk), Effect.forever);
|
|
65
179
|
const takeNextOutbound = Effect.uninterruptibleMask((restore) => Ref.get(pending).pipe(Effect.flatMap((pendingValue) => {
|
|
66
180
|
if (Option.isSome(pendingValue)) {
|
|
67
181
|
return Effect.succeed(pendingValue.value);
|
|
@@ -70,24 +184,67 @@ export const layer = (config) => Layer.scoped(tag, Effect.gen(function* () {
|
|
|
70
184
|
})));
|
|
71
185
|
const writeOne = (writer) => Effect.gen(function* () {
|
|
72
186
|
const next = yield* takeNextOutbound;
|
|
73
|
-
yield*
|
|
187
|
+
const encoded = yield* encodeOutboundMessage(next.message).pipe(Effect.mapError((error) => new ParseError({
|
|
188
|
+
message: `Failed to serialize outbound message: ${summarizeParseError(error)}`
|
|
189
|
+
})), Effect.catchAll((error) => Effect.gen(function* () {
|
|
190
|
+
yield* emitRuntimeEvent({
|
|
191
|
+
_tag: "OutboundEncodeFailed",
|
|
192
|
+
timestampMs: now(),
|
|
193
|
+
message: error.message
|
|
194
|
+
});
|
|
195
|
+
yield* Ref.set(pending, Option.none());
|
|
196
|
+
yield* Deferred.fail(next.done, error);
|
|
197
|
+
return yield* Effect.fail(error);
|
|
198
|
+
})));
|
|
199
|
+
yield* emitRuntimeEvent({
|
|
200
|
+
_tag: "OutboundEncoded",
|
|
201
|
+
timestampMs: now()
|
|
202
|
+
});
|
|
203
|
+
yield* writer(encoded).pipe(Effect.mapError((cause) => new ConnectionError({ reason: "Closed", cause })));
|
|
204
|
+
yield* emitRuntimeEvent({
|
|
205
|
+
_tag: "OutboundSent",
|
|
206
|
+
timestampMs: now()
|
|
207
|
+
});
|
|
74
208
|
yield* Ref.set(pending, Option.none());
|
|
75
209
|
yield* Deferred.succeed(next.done, undefined);
|
|
76
210
|
});
|
|
77
211
|
const writeLoop = (writer) => writeOne(writer).pipe(Effect.forever);
|
|
78
|
-
const readLoop = (socket) => socket.runRaw((data) =>
|
|
212
|
+
const readLoop = (socket) => socket.runRaw((data) => enqueueIngressChunk(data)).pipe(Effect.catchAll((cause) => Effect.fail(new ConnectionError({ reason: "Closed", cause }))), Effect.zipRight(Effect.fail(new ConnectionError({ reason: "Closed", cause: "Socket closed" }))));
|
|
79
213
|
const runConnection = Effect.scoped(Effect.gen(function* () {
|
|
80
|
-
|
|
214
|
+
yield* emitRuntimeEvent({
|
|
215
|
+
_tag: "ConnectionAttempt",
|
|
216
|
+
timestampMs: now(),
|
|
217
|
+
url
|
|
218
|
+
});
|
|
219
|
+
const socket = yield* createSocket(url);
|
|
220
|
+
yield* emitRuntimeEvent({
|
|
221
|
+
_tag: "ConnectionOpened",
|
|
222
|
+
timestampMs: now(),
|
|
223
|
+
url
|
|
224
|
+
});
|
|
81
225
|
const writer = yield* socket.writer;
|
|
82
226
|
yield* Effect.raceFirst(readLoop(socket), writeLoop(writer));
|
|
83
|
-
})).pipe(Effect.
|
|
227
|
+
})).pipe(Effect.tapError((error) => error._tag === "ConnectionError"
|
|
228
|
+
? emitRuntimeEvent({
|
|
229
|
+
_tag: "ConnectionClosed",
|
|
230
|
+
timestampMs: now(),
|
|
231
|
+
reason: error.reason,
|
|
232
|
+
...(error.cause === undefined ? {} : { cause: error.cause })
|
|
233
|
+
})
|
|
234
|
+
: Effect.void), Effect.retry(reconnectSchedule));
|
|
84
235
|
const runConnectionUntilShutdown = Effect.raceFirst(runConnection, Deferred.await(shutdownSignal)).pipe(Effect.catchAllCause((cause) => Cause.isInterrupted(cause)
|
|
85
236
|
? Effect.void
|
|
86
237
|
: Effect.failCause(cause)));
|
|
238
|
+
const ingressFiber = yield* Effect.forkIn(ingressLoop, scope);
|
|
87
239
|
const connectionFiber = yield* Effect.forkIn(runConnectionUntilShutdown, scope);
|
|
88
240
|
const shutdown = Effect.uninterruptible(Effect.gen(function* () {
|
|
241
|
+
yield* emitRuntimeEvent({
|
|
242
|
+
_tag: "Shutdown",
|
|
243
|
+
timestampMs: now()
|
|
244
|
+
});
|
|
89
245
|
yield* Deferred.succeed(shutdownSignal, undefined);
|
|
90
246
|
yield* Fiber.interrupt(connectionFiber);
|
|
247
|
+
yield* Fiber.interrupt(ingressFiber);
|
|
91
248
|
const closed = new ConnectionError({
|
|
92
249
|
reason: "Closed",
|
|
93
250
|
cause: "Jetstream shutdown"
|
|
@@ -101,19 +258,23 @@ export const layer = (config) => Layer.scoped(tag, Effect.gen(function* () {
|
|
|
101
258
|
for (const item of remaining) {
|
|
102
259
|
yield* Deferred.fail(item.done, closed);
|
|
103
260
|
}
|
|
261
|
+
if (Option.isSome(runtimeEvents)) {
|
|
262
|
+
yield* runtimeEvents.value.shutdown;
|
|
263
|
+
}
|
|
264
|
+
yield* ingress.shutdown;
|
|
104
265
|
yield* mailbox.end;
|
|
105
266
|
}));
|
|
106
267
|
yield* Scope.addFinalizer(scope, shutdown);
|
|
107
268
|
const send = Effect.fn("Jetstream.send")((message) => Effect.gen(function* () {
|
|
108
|
-
const isShutdown = yield* Deferred.isDone(shutdownSignal);
|
|
109
|
-
if (isShutdown) {
|
|
110
|
-
return yield* Effect.fail(new ConnectionError({ reason: "Closed", cause: "Jetstream shutdown" }));
|
|
111
|
-
}
|
|
112
269
|
const done = yield* Deferred.make();
|
|
113
270
|
const accepted = yield* Effect.raceFirst(Queue.offer(outbound, { message, done }), Deferred.await(shutdownSignal).pipe(Effect.as(false)));
|
|
114
271
|
if (!accepted) {
|
|
115
272
|
return yield* Effect.fail(new ConnectionError({ reason: "Closed", cause: "Jetstream shutdown" }));
|
|
116
273
|
}
|
|
274
|
+
yield* emitRuntimeEvent({
|
|
275
|
+
_tag: "OutboundQueued",
|
|
276
|
+
timestampMs: now()
|
|
277
|
+
});
|
|
117
278
|
return yield* Deferred.await(done);
|
|
118
279
|
}));
|
|
119
280
|
const updateOptions = Effect.fn("Jetstream.updateOptions")((options) => send({ type: "options_update", payload: options }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jetstream.js","sourceRoot":"","sources":["../../src/internal/jetstream.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAuB,MAAM,sBAAsB,CAAA;AAEvF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAkB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAoB7E;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAY,4BAA4B,CAAC,CAAA;AAE9E,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAC7D,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAC9C,CAAA;AAED,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAO/B,MAAM,kBAAkB,GAAqB,CAAC,IAAI,EAAE,EAAE,CACpD,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,UAAU,CAAC;QACb,OAAO,EAAE,8BAA8B,MAAM,CAAC,KAAK,CAAC,EAAE;KACvD,CAAC;CACL,CAAC,CAAA;AAEJ,MAAM,cAAc,GAAG,CAAC,MAAuB,EAAgC,EAAE;IAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,IAAI,kBAAkB,CAAA;AAC7C,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,MAAuB,EAC8C,EAAE,CACvE,KAAK,CAAC,MAAM,CACV,GAAG,EACH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAoC,CAAA;IACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAkB,kBAAkB,CAAC,CAAA;IAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAiC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9E,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAQ,CAAA;IACnD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAEtC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpD,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACtB,wGAAwG,CACzG,CAAA;IACH,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAE,EAAE,CAC3C,MAAM,CAAC,UAAU,CAAC,sCAAsC,EAAE;QACxD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC,CAAA;IAEJ,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAC1D,CAAC,IAAyB,EAAE,EAAE,CAC5B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACnD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAChC,CACJ,CAAA;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9D,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CACnB,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QAC9B,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACvC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAChB,CACF,CACF,CAAA;IACH,CAAC,CAAC,CACH,CACF,CAAA;IAED,MAAM,QAAQ,GAAG,CAAC,MAAmG,EAAE,EAAE,CACvH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAA;QACpC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAC7E,CAAA;QACD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACtC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEJ,MAAM,SAAS,GAAG,CAAC,MAAmG,EAAE,EAAE,CACxH,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEvC,MAAM,QAAQ,GAAG,CAAC,MAAqB,EAAE,EAAE,CACzC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EACzF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAChG,CAAA;IAEH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;QACnC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAC,CACH,CAAC,IAAI,CACJ,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAChC,CAAA;IAED,MAAM,0BAA0B,GAAG,MAAM,CAAC,SAAS,CACjD,aAAa,EACb,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAC/B,CAAC,IAAI,CACJ,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,IAAI;QACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAC5B,CACF,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;IAE/E,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CACrC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAClD,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;QACvC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,oBAAoB;SAC5B,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACrD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAChD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA;IACpB,CAAC,CAAC,CACH,CAAA;IAED,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE1C,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CACtC,CAAC,OAAiC,EAAuC,EAAE,CACzE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAA;QACnG,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAwB,CAAA;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CACtC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EACxC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CACtD,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAA;QACnG,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC,CAAC,CACL,CAAA;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,yBAAyB,CAAC,CACxD,CAAC,OAAsB,EAAuC,EAAE,CAC9D,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CACrD,CAAA;IAED,OAAO,GAAG,CAAC,EAAE,CAAC;QACZ,CAAC,MAAM,CAAC,EAAE,MAAM;QAChB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjC,IAAI;QACJ,aAAa;QACb,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAA;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,MAAuB,EACiB,EAAE,CAC1C,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAChB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC,CACtD,CAAA"}
|
|
1
|
+
{"version":3,"file":"jetstream.js","sourceRoot":"","sources":["../../src/internal/jetstream.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import * as Effect from "effect/Effect";
|
|
|
6
6
|
import * as Stream from "effect/Stream";
|
|
7
7
|
import { ConnectionError } from "../JetstreamError.js";
|
|
8
8
|
import type { JetstreamConfig } from "../JetstreamConfig.js";
|
|
9
|
-
export declare const buildUrl: (config: JetstreamConfig) => string
|
|
9
|
+
export declare const buildUrl: (config: JetstreamConfig) => Effect.Effect<string, ConnectionError>;
|
|
10
10
|
export declare const createSocket: (url: string) => Effect.Effect<Socket.Socket, ConnectionError, Socket.WebSocketConstructor>;
|
|
11
11
|
export declare const messageStream: (socket: Socket.Socket) => Stream.Stream<string | Uint8Array, ConnectionError>;
|
|
12
12
|
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/internal/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,eAAO,MAAM,QAAQ,GAAI,QAAQ,eAAe,KAAG,
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/internal/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,eAAO,MAAM,QAAQ,GAAI,QAAQ,eAAe,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAgCpF,CAAA;AAEJ,eAAO,MAAM,YAAY,GACvB,KAAK,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,oBAAoB,CAGzE,CAAA;AAEH,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,CAAC,MAAM,KACpB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,eAAe,CAgBjD,CAAA"}
|
|
@@ -5,25 +5,31 @@ import * as Socket from "@effect/platform/Socket";
|
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
6
6
|
import * as Stream from "effect/Stream";
|
|
7
7
|
import { ConnectionError } from "../JetstreamError.js";
|
|
8
|
-
export const buildUrl = (config) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
8
|
+
export const buildUrl = (config) => Effect.try({
|
|
9
|
+
try: () => {
|
|
10
|
+
const url = new URL(config.endpoint);
|
|
11
|
+
for (const collection of config.wantedCollections) {
|
|
12
|
+
url.searchParams.append("wantedCollections", collection);
|
|
13
|
+
}
|
|
14
|
+
for (const did of config.wantedDids) {
|
|
15
|
+
url.searchParams.append("wantedDids", did);
|
|
16
|
+
}
|
|
17
|
+
if (config.cursor !== undefined) {
|
|
18
|
+
url.searchParams.set("cursor", config.cursor.toString());
|
|
19
|
+
}
|
|
20
|
+
if (config.maxMessageSizeBytes !== undefined) {
|
|
21
|
+
url.searchParams.set("maxMessageSizeBytes", config.maxMessageSizeBytes.toString());
|
|
22
|
+
}
|
|
23
|
+
if (config.compress) {
|
|
24
|
+
url.searchParams.set("compress", "true");
|
|
25
|
+
}
|
|
26
|
+
return url.toString();
|
|
27
|
+
},
|
|
28
|
+
catch: (cause) => new ConnectionError({
|
|
29
|
+
reason: "Connect",
|
|
30
|
+
cause
|
|
31
|
+
})
|
|
32
|
+
});
|
|
27
33
|
export const createSocket = (url) => Socket.makeWebSocket(url).pipe(Effect.mapError((cause) => new ConnectionError({ reason: "Connect", cause })));
|
|
28
34
|
export const messageStream = (socket) => Stream.async((emit) => {
|
|
29
35
|
const run = socket.runRaw((data) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/internal/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAGtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAuB,
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/internal/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAGtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAuB,EAA0C,EAAE,CAC1F,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,EAAE,GAAG,EAAE;QACR,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAEpC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAClD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAA;QAC1D,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC1D,CAAC;QAED,IAAI,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC7C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAA;QACpF,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAC1C,CAAC;QAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;IACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,eAAe,CAAC;QAClB,MAAM,EAAE,SAAS;QACjB,KAAK;KACN,CAAC;CACL,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAW,EACiE,EAAE,CAC9E,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAC5B,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAC9E,CAAA;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAqB,EACgC,EAAE,CACvD,MAAM,CAAC,KAAK,CAAuC,CAAC,IAAI,EAAE,EAAE;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CACvB,CAAC,IAAI,EAAE,EAAE;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC,CACF,CAAC,IAAI,CACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACf,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACpE,CAAC,CAAC,CACH,EACD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAC/C,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-jetstream",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Effect-based client for the Bluesky Jetstream API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -31,13 +31,23 @@
|
|
|
31
31
|
"LICENSE"
|
|
32
32
|
],
|
|
33
33
|
"scripts": {
|
|
34
|
-
"
|
|
34
|
+
"clean": "rm -rf dist",
|
|
35
|
+
"build": "bun run clean && tsc",
|
|
35
36
|
"prepare": "effect-language-service patch",
|
|
36
37
|
"typecheck": "tsc --noEmit",
|
|
38
|
+
"test": "bun test",
|
|
39
|
+
"check": "bun run typecheck && bun run test",
|
|
40
|
+
"harness": "bun run examples/harness.ts",
|
|
41
|
+
"harness:live": "bun run examples/harness.ts --mode live --durationSec 60 --reportEverySec 5",
|
|
42
|
+
"harness:replay": "bun run examples/harness.ts --mode replay --durationSec 30 --replayFile examples/fixtures/jetstream-sample.ndjson",
|
|
43
|
+
"bench:replay": "bun run examples/harness.ts --mode replay --durationSec 60 --reportEverySec 5 --replayFile examples/fixtures/jetstream-sample.ndjson --jsonOut tmp/bench-replay.json",
|
|
44
|
+
"bench:ci": "bun run examples/harness.ts --mode replay --durationSec 20 --reportEverySec 5 --replayRatePerSec 500 --replayFile examples/fixtures/jetstream-sample.ndjson --jsonOut tmp/bench-ci.json",
|
|
45
|
+
"bench:matrix": "bun run examples/benchmark-matrix.ts",
|
|
46
|
+
"bench:matrix:quick": "bun run examples/benchmark-matrix.ts --trials 2 --warmupTrials 1 --durationSec 6 --rates 500",
|
|
37
47
|
"prepublishOnly": "bun run build",
|
|
38
48
|
"changeset": "changeset",
|
|
39
49
|
"version": "changeset version",
|
|
40
|
-
"release": "bun run build && changeset publish"
|
|
50
|
+
"release": "bun run check && bun run build && changeset publish"
|
|
41
51
|
},
|
|
42
52
|
"devDependencies": {
|
|
43
53
|
"@changesets/cli": "^2.29.8",
|