@natsail/effect 0.2.1 → 0.4.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 +55 -4
- package/dist/index.d.ts +28 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +182 -21
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -99,7 +99,52 @@ Delivery into the bounded Stream is the ordered-consumer acceptance boundary. If
|
|
|
99
99
|
|
|
100
100
|
## Atomic replay materialization
|
|
101
101
|
|
|
102
|
-
`
|
|
102
|
+
Use `jetStreamStates()` with a reducing session when Effect, React, or RxJS
|
|
103
|
+
should share one keyed JetStream consumer. Replay, reconnect, and the first
|
|
104
|
+
hydrated live state are immediate. Later cumulative live states are coalesced
|
|
105
|
+
to the latest value in one bounded presentation window:
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
import { Stream } from 'effect'
|
|
109
|
+
|
|
110
|
+
import { jetStreamStates } from '@natsail/effect'
|
|
111
|
+
import { defineReducingJetStreamSession } from '@natsail/jetstream'
|
|
112
|
+
|
|
113
|
+
const conversationDefinition = defineReducingJetStreamSession(
|
|
114
|
+
runtime,
|
|
115
|
+
`conversation:${conversationId}`,
|
|
116
|
+
{
|
|
117
|
+
stream: 'CHAT',
|
|
118
|
+
filter: `chat.room.${conversationId}`,
|
|
119
|
+
start: 'all',
|
|
120
|
+
codec: chatEventCodec,
|
|
121
|
+
recovery: {},
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
scope: 'conversation:v1',
|
|
125
|
+
initial: () => emptyConversation(),
|
|
126
|
+
reduce: (state, delivery) => reduceConversation(state, delivery.value),
|
|
127
|
+
}
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
const render = jetStreamStates(conversationDefinition, {
|
|
131
|
+
liveBatchWithin: '16 millis',
|
|
132
|
+
}).pipe(
|
|
133
|
+
Stream.filter((snapshot) => snapshot.phase === 'live'),
|
|
134
|
+
Stream.runForEach((snapshot) => updateConversation(snapshot.data))
|
|
135
|
+
)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Every delivery still reaches the shared reducer serially. Coalescing only
|
|
139
|
+
limits downstream state notifications. Concurrent Effect consumers retain
|
|
140
|
+
separate registry handles but share the same source and latest cumulative
|
|
141
|
+
state. Set `liveBatchWithin` to zero to observe every reduced state.
|
|
142
|
+
|
|
143
|
+
Use `materializeJetStream()` instead when each Effect consumer should own a
|
|
144
|
+
cold JetStream source and the batch reducer itself needs typed Effect failures
|
|
145
|
+
or services. It avoids rendering every intermediate historical state, emits an
|
|
146
|
+
initial `replaying` state, silently reduces bounded replay batches, emits one
|
|
147
|
+
complete `live` state at catch-up, and then emits microbatched live updates:
|
|
103
148
|
|
|
104
149
|
```ts
|
|
105
150
|
import { Effect, Stream } from 'effect'
|
|
@@ -122,16 +167,20 @@ const conversation = materializeJetStream(
|
|
|
122
167
|
},
|
|
123
168
|
{
|
|
124
169
|
bufferSize: 256,
|
|
125
|
-
|
|
126
|
-
|
|
170
|
+
batchPolicy: { maxItems: 256, maxWaitMs: 16 },
|
|
171
|
+
workBudget: { yieldAfterMs: 4, scheduler },
|
|
127
172
|
}
|
|
128
173
|
)
|
|
129
174
|
|
|
130
175
|
const render = conversation.pipe(Stream.runForEach((snapshot) => updateConversation(snapshot.data)))
|
|
131
176
|
```
|
|
132
177
|
|
|
178
|
+
`materializeNatsJetStreamEvents(events, materializer, options)` applies the same batching and atomic replay rules to an existing `NatsailJetStreamEvent` Stream. Use it when another component already owns event acquisition; `materializeJetStream()` remains the managed NATS source path.
|
|
179
|
+
|
|
133
180
|
`reduceBatch` is a native Effect. Its typed error and service requirements remain in the returned Stream type. Package-owned recovery can resume admitted events while the current materialized state remains alive. A fresh materializer rebuilds from replay, so `resume` is rejected until a state store can commit the materialized state and cursor atomically.
|
|
134
181
|
|
|
182
|
+
`batchSize` and `batchWithin` remain compatible aliases. The shared policy additionally supports byte bounds with `sizeOf`. Durable JetStream queues remain lossless: their only overflow modes are backpressure (`suspend`) or a typed `error`.
|
|
183
|
+
|
|
135
184
|
## Explicit-ack processing
|
|
136
185
|
|
|
137
186
|
Use `runJetStreamProcessor()` for durable work queues or other named consumer workflows:
|
|
@@ -177,10 +226,12 @@ An interrupted request aborts the underlying NATS request. `makeNatsailScopedLay
|
|
|
177
226
|
|
|
178
227
|
## Shared sessions
|
|
179
228
|
|
|
180
|
-
`sessionSnapshots()` and `sessionValues()` remain available for application state that should share one validated `SessionRegistry` source. Each Effect consumer retains one registry handle, and the handle is released whenever the Stream completes, fails, or is interrupted.
|
|
229
|
+
`jetStreamStates()` is the replay-aware presentation adapter for shared reducing JetStream definitions. `sessionSnapshots()` and `sessionValues()` remain available for other application state that should share one validated `SessionRegistry` source. Each Effect consumer retains one registry handle, and the handle is released whenever the Stream completes, fails, or is interrupted.
|
|
181
230
|
|
|
182
231
|
Session Streams queue at most 32 snapshots by default. Overflow fails with `NatsailStreamBufferOverflowError`; applications may explicitly choose `dropping`, `sliding`, a different bound, or `unbounded`.
|
|
183
232
|
|
|
233
|
+
When Core telemetry is enabled, `error` overflow paths report `natsail.buffer.signals` before the typed stream failure. The measurement contains only the stable source and overflow signal; it does not contain the subject, stream, or session key.
|
|
234
|
+
|
|
184
235
|
Session snapshot buffering happens after the registry updates. Use direct subject Streams when downstream Effect demand must reach the NATSail delivery handler.
|
|
185
236
|
|
|
186
237
|
NATSail continues to own connection, authentication, ordered-consumer recovery, and checkpoints. The Effect adapter does not create a second connection or retry loop. The service exposes `runtime` and `sessions` for JetStream manager calls and other advanced nats.js or custom session operations without leaving the Layer-owned lifecycle.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Cause, Context, Effect, Layer, Stream } from 'effect';
|
|
2
|
-
import type {
|
|
3
|
-
import type
|
|
4
|
-
import { type JetStreamCatchUp, type JetStreamDelivery, type JetStreamProcessingDelivery, type JetStreamProcessorOptions, type ReducingJetStreamSessionOptions, type JetStreamSessionSourceOptions, type StreamCursor } from '@natsail/jetstream';
|
|
1
|
+
import { Cause, Context, Duration, Effect, Layer, Stream } from 'effect';
|
|
2
|
+
import type { CoreRequestOptions, NatsailBatchPolicy, CoreSubscriptionOptions, NatsConnection, NatsRuntime, NatsRuntimeEvent, NatsRuntimeReconnectOptions, NatsRuntimeStatusEvent, NatsailWorkBudget } from '@natsail/core';
|
|
3
|
+
import { type JetStreamCatchUp, type JetStreamDelivery, type JetStreamProcessingDelivery, type JetStreamProcessorOptions, type ReducingJetStreamSessionOptions, type JetStreamSessionSourceOptions, type JetStreamStateSnapshot, type StreamCursor } from '@natsail/jetstream';
|
|
5
4
|
import type { SessionDefinition, SessionRegistry, SessionRegistryEvent, SessionSnapshot } from '@natsail/session';
|
|
6
5
|
export type NatsailOperation = 'connection' | 'publish' | 'reconnect' | 'request' | 'restart-session' | 'runtime-events' | 'session-events';
|
|
7
6
|
declare const NatsailOperationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
|
|
@@ -92,11 +91,15 @@ export interface NatsailJetStreamMaterializer<Value, State, E = never, R = never
|
|
|
92
91
|
}
|
|
93
92
|
/** A fresh materializer must rebuild state and therefore cannot resume only an event cursor. */
|
|
94
93
|
export type NatsailJetStreamMaterializeSourceOptions<T> = ReducingJetStreamSessionOptions<T>;
|
|
95
|
-
export interface NatsailJetStreamMaterializeOptions extends NatsailJetStreamStreamOptions {
|
|
94
|
+
export interface NatsailJetStreamMaterializeOptions<Value = unknown> extends NatsailJetStreamStreamOptions {
|
|
96
95
|
/** Maximum deliveries reduced in one application call. Defaults to 256. */
|
|
97
96
|
readonly batchSize?: number;
|
|
98
97
|
/** Maximum wait before a partial live batch is reduced. Defaults to 16ms. */
|
|
99
98
|
readonly batchWithin?: Duration.Input;
|
|
99
|
+
/** Shared count/byte/time policy. Takes precedence over the legacy aliases above. */
|
|
100
|
+
readonly batchPolicy?: NatsailBatchPolicy<JetStreamDelivery<Value>>;
|
|
101
|
+
/** Cooperative time slice between serial materializer calls. */
|
|
102
|
+
readonly workBudget?: NatsailWorkBudget;
|
|
100
103
|
}
|
|
101
104
|
export interface NatsailJetStreamMaterializedState<State> {
|
|
102
105
|
readonly phase: 'replaying' | 'live';
|
|
@@ -106,6 +109,14 @@ export interface NatsailJetStreamMaterializedState<State> {
|
|
|
106
109
|
readonly delivered: number;
|
|
107
110
|
};
|
|
108
111
|
}
|
|
112
|
+
export interface NatsailJetStreamStateOptions extends NatsailSessionStreamOptions {
|
|
113
|
+
/**
|
|
114
|
+
* Maximum time that subsequent cumulative live states are coalesced. Replay,
|
|
115
|
+
* reconnect, and the first hydrated live state remain immediate. Defaults to
|
|
116
|
+
* 16ms; use zero to observe every reduced state.
|
|
117
|
+
*/
|
|
118
|
+
readonly liveBatchWithin?: Duration.Input;
|
|
119
|
+
}
|
|
109
120
|
export interface NatsailSessionStreamOptions {
|
|
110
121
|
/** Maximum queued snapshots. Defaults to 32. Use `unbounded` only deliberately. */
|
|
111
122
|
readonly bufferSize?: number | 'unbounded';
|
|
@@ -137,7 +148,9 @@ export interface NatsailService {
|
|
|
137
148
|
/** Ordered JetStream deliveries without the caught-up control event. */
|
|
138
149
|
jetStreamDeliveries<T>(options: JetStreamSessionSourceOptions<T>, streamOptions?: NatsailJetStreamStreamOptions): Stream.Stream<JetStreamDelivery<T>, NatsailJetStreamStreamError>;
|
|
139
150
|
/** Rebuilds replay silently, emits once at catch-up, then microbatches live state. */
|
|
140
|
-
materializeJetStream<Value, State, E, R>(options: NatsailJetStreamMaterializeSourceOptions<Value>, materializer: NatsailJetStreamMaterializer<Value, State, E, R>, streamOptions?: NatsailJetStreamMaterializeOptions): Stream.Stream<NatsailJetStreamMaterializedState<State>, NatsailJetStreamStreamError | E, R>;
|
|
151
|
+
materializeJetStream<Value, State, E, R>(options: NatsailJetStreamMaterializeSourceOptions<Value>, materializer: NatsailJetStreamMaterializer<Value, State, E, R>, streamOptions?: NatsailJetStreamMaterializeOptions<Value>): Stream.Stream<NatsailJetStreamMaterializedState<State>, NatsailJetStreamStreamError | E, R>;
|
|
152
|
+
/** Observes one registry-shared reducing JetStream definition. */
|
|
153
|
+
jetStreamStates<State>(definition: SessionDefinition<JetStreamStateSnapshot<State>>, options?: NatsailJetStreamStateOptions): Stream.Stream<JetStreamStateSnapshot<State>, NatsailSessionStreamError>;
|
|
141
154
|
/** Runs an explicit-ack processor and acknowledges only after the Effect succeeds. */
|
|
142
155
|
runJetStreamProcessor<T, E, R>(options: JetStreamProcessorOptions<T>, handler: (delivery: JetStreamProcessingDelivery<T>) => Effect.Effect<void, E, R>): Effect.Effect<void, NatsailJetStreamError | E, R>;
|
|
143
156
|
restartSession(key: string): Effect.Effect<void, NatsailOperationError>;
|
|
@@ -148,6 +161,8 @@ declare const Natsail_base: Context.ServiceClass<Natsail, "@natsail/effect/Natsa
|
|
|
148
161
|
/** Context service supplied by a NATSail Effect Layer. */
|
|
149
162
|
export declare class Natsail extends Natsail_base {
|
|
150
163
|
}
|
|
164
|
+
/** Materializes an existing JetStream event stream with the service's batching semantics. */
|
|
165
|
+
export declare function materializeNatsJetStreamEvents<Value, State, E, R, SourceError, SourceContext>(events: Stream.Stream<NatsailJetStreamEvent<Value>, SourceError, SourceContext>, materializer: NatsailJetStreamMaterializer<Value, State, E, R>, options?: NatsailJetStreamMaterializeOptions<Value>): Stream.Stream<NatsailJetStreamMaterializedState<State>, SourceError | E, SourceContext | R>;
|
|
151
166
|
/** Creates a service over application-owned runtime and registry objects. */
|
|
152
167
|
export declare function makeNatsail(resource: NatsailResource): NatsailService;
|
|
153
168
|
/**
|
|
@@ -166,7 +181,13 @@ export declare function jetStreamDeliveries<T>(options: JetStreamSessionSourceOp
|
|
|
166
181
|
* Rebuilds historical state without rendering every intermediate state, emits
|
|
167
182
|
* one atomic live snapshot at catch-up, and then emits microbatched updates.
|
|
168
183
|
*/
|
|
169
|
-
export declare function materializeJetStream<Value, State, E, R>(options: NatsailJetStreamMaterializeSourceOptions<Value>, materializer: NatsailJetStreamMaterializer<Value, State, E, R>, streamOptions?: NatsailJetStreamMaterializeOptions): Stream.Stream<NatsailJetStreamMaterializedState<State>, NatsailJetStreamStreamError | E, Natsail | R>;
|
|
184
|
+
export declare function materializeJetStream<Value, State, E, R>(options: NatsailJetStreamMaterializeSourceOptions<Value>, materializer: NatsailJetStreamMaterializer<Value, State, E, R>, streamOptions?: NatsailJetStreamMaterializeOptions<Value>): Stream.Stream<NatsailJetStreamMaterializedState<State>, NatsailJetStreamStreamError | E, Natsail | R>;
|
|
185
|
+
/**
|
|
186
|
+
* Observes cumulative state from one registry-shared reducing JetStream
|
|
187
|
+
* definition. Every source update is retained by the registry; only downstream
|
|
188
|
+
* live presentation notifications are coalesced.
|
|
189
|
+
*/
|
|
190
|
+
export declare function jetStreamStates<State>(definition: SessionDefinition<JetStreamStateSnapshot<State>>, options?: NatsailJetStreamStateOptions): Stream.Stream<JetStreamStateSnapshot<State>, NatsailSessionStreamError, Natsail>;
|
|
170
191
|
/**
|
|
171
192
|
* Runs a named explicit-ack JetStream processor. The message is acknowledged
|
|
172
193
|
* only after the supplied Effect completes successfully.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Cause, Context, Data, Effect, Exit, Layer, Option, Queue, Stream } from 'effect';
|
|
1
|
+
import { Cause, Clock, Context, Data, Duration, Effect, Exit, Layer, Option, Queue, Schedule, Sink, Stream, } from 'effect';
|
|
2
|
+
import { createNatsailWorkController, defineNatsailBatchPolicy, NATS_RUNTIME_ADAPTER, } from '@natsail/core';
|
|
2
3
|
import { createJetStreamSessionSource, processJetStream, } from '@natsail/jetstream';
|
|
3
4
|
export class NatsailOperationError extends Data.TaggedError('NatsailOperationError') {
|
|
4
5
|
}
|
|
@@ -109,6 +110,18 @@ function jetStreamError(options, stage, cause) {
|
|
|
109
110
|
message: `NATSail JetStream ${options.stream} ${stage} failed: ${describeCause(cause)}`,
|
|
110
111
|
});
|
|
111
112
|
}
|
|
113
|
+
function reportBufferOverflow(runtime, source) {
|
|
114
|
+
const telemetry = runtime[NATS_RUNTIME_ADAPTER]?.telemetry;
|
|
115
|
+
if (!telemetry?.enabled)
|
|
116
|
+
return;
|
|
117
|
+
telemetry.record({
|
|
118
|
+
type: 'counter',
|
|
119
|
+
name: 'natsail.buffer.signals',
|
|
120
|
+
value: 1,
|
|
121
|
+
at: telemetry.now(),
|
|
122
|
+
attributes: { signal: 'overflow', source },
|
|
123
|
+
});
|
|
124
|
+
}
|
|
112
125
|
function createSubjectStream(runtime, options, streamOptions) {
|
|
113
126
|
const resolved = resolveSubjectStreamOptions(streamOptions);
|
|
114
127
|
const streamName = `subject:${options.subject}`;
|
|
@@ -121,6 +134,8 @@ function createSubjectStream(runtime, options, streamOptions) {
|
|
|
121
134
|
const lease = yield* Effect.acquireRelease(Effect.try({
|
|
122
135
|
try: () => runtime.subscribe(subscriptionOptions, async (value) => {
|
|
123
136
|
const accepted = await Effect.runPromise(Queue.offer(queue, value));
|
|
137
|
+
if (!accepted)
|
|
138
|
+
reportBufferOverflow(runtime, 'effect');
|
|
124
139
|
if (!accepted &&
|
|
125
140
|
resolved.overflowStrategy === 'error' &&
|
|
126
141
|
queue.state._tag === 'Open') {
|
|
@@ -170,6 +185,8 @@ function createJetStreamEventStream(runtime, options, streamOptions) {
|
|
|
170
185
|
void catchUpMarkerEnqueued.catch(() => undefined);
|
|
171
186
|
const offerEvent = async (event) => {
|
|
172
187
|
const accepted = await Effect.runPromise(Queue.offer(queue, event));
|
|
188
|
+
if (!accepted)
|
|
189
|
+
reportBufferOverflow(runtime, 'effect');
|
|
173
190
|
if (!accepted && resolved.overflowStrategy === 'error' && queue.state._tag === 'Open') {
|
|
174
191
|
const overflow = new NatsailStreamBufferOverflowError({
|
|
175
192
|
stream: streamName,
|
|
@@ -223,16 +240,20 @@ function createJetStreamEventStream(runtime, options, streamOptions) {
|
|
|
223
240
|
function createJetStreamDeliveryStream(runtime, options, streamOptions) {
|
|
224
241
|
return createJetStreamEventStream(runtime, options, streamOptions).pipe(Stream.filter((event) => event.type === 'delivery'), Stream.map((event) => event.delivery));
|
|
225
242
|
}
|
|
226
|
-
function
|
|
227
|
-
const
|
|
228
|
-
const
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
243
|
+
function materializeJetStreamEventStream(events, materializer, streamOptions = {}, telemetry) {
|
|
244
|
+
const configuredPolicy = streamOptions.batchPolicy;
|
|
245
|
+
const batchPolicy = defineNatsailBatchPolicy({
|
|
246
|
+
...configuredPolicy,
|
|
247
|
+
maxItems: configuredPolicy?.maxItems ?? streamOptions.batchSize ?? 256,
|
|
248
|
+
maxWaitMs: configuredPolicy?.maxWaitMs ??
|
|
249
|
+
Duration.toMillis(Duration.fromInputUnsafe(streamOptions.batchWithin ?? '16 millis')),
|
|
250
|
+
});
|
|
251
|
+
const batchSize = batchPolicy.maxItems;
|
|
252
|
+
const batchWithin = batchPolicy.maxWaitMs;
|
|
235
253
|
return Stream.suspend(() => {
|
|
254
|
+
const work = streamOptions.workBudget === undefined
|
|
255
|
+
? undefined
|
|
256
|
+
: createNatsailWorkController(streamOptions.workBudget, telemetry, 'effect');
|
|
236
257
|
const initial = materializer.initial();
|
|
237
258
|
const initialAccumulator = {
|
|
238
259
|
phase: 'replaying',
|
|
@@ -244,12 +265,13 @@ function createJetStreamMaterializedStream(runtime, options, materializer, strea
|
|
|
244
265
|
data: initial,
|
|
245
266
|
replay: { delivered: 0 },
|
|
246
267
|
};
|
|
247
|
-
const updates =
|
|
268
|
+
const updates = events.pipe((events) => Stream.aggregateWithin(events, Sink.fold(() => [], (batch) => batch.length < batchSize && batch[batch.length - 1]?.type !== 'caught-up', (batch, event) => Effect.succeed([...batch, event])), Schedule.spaced(batchWithin)), Stream.mapAccumEffect(() => initialAccumulator, (previous, events) => Effect.gen(function* () {
|
|
248
269
|
let data = previous.data;
|
|
249
270
|
let phase = previous.phase;
|
|
250
271
|
let cursor = previous.cursor;
|
|
251
272
|
let replayDelivered = previous.replayDelivered;
|
|
252
273
|
let pending = [];
|
|
274
|
+
let pendingBytes = 0;
|
|
253
275
|
const snapshots = [];
|
|
254
276
|
const snapshot = () => ({
|
|
255
277
|
phase: 'live',
|
|
@@ -262,16 +284,35 @@ function createJetStreamMaterializedStream(runtime, options, materializer, strea
|
|
|
262
284
|
return Effect.void;
|
|
263
285
|
const deliveries = pending;
|
|
264
286
|
pending = [];
|
|
287
|
+
pendingBytes = 0;
|
|
288
|
+
work?.reset();
|
|
265
289
|
return materializer.reduceBatch(data, deliveries).pipe(Effect.tap((nextData) => Effect.sync(() => {
|
|
266
290
|
data = nextData;
|
|
267
291
|
cursor = deliveries[deliveries.length - 1]?.cursor ?? cursor;
|
|
268
292
|
if (phase === 'replaying')
|
|
269
293
|
replayDelivered += deliveries.length;
|
|
270
|
-
})), Effect.asVoid);
|
|
294
|
+
})), Effect.andThen(work === undefined ? Effect.void : Effect.promise(() => work.checkpoint())), Effect.asVoid);
|
|
271
295
|
};
|
|
272
296
|
for (const event of events) {
|
|
273
297
|
if (event.type === 'delivery') {
|
|
298
|
+
if (batchPolicy.maxBytes !== undefined) {
|
|
299
|
+
const size = batchPolicy.sizeOf(event.delivery);
|
|
300
|
+
if (!Number.isFinite(size) || size < 0) {
|
|
301
|
+
return yield* Effect.die(new TypeError('NATSail batch sizeOf must return a finite non-negative number'));
|
|
302
|
+
}
|
|
303
|
+
if (size > batchPolicy.maxBytes) {
|
|
304
|
+
return yield* Effect.die(new RangeError(`NATSail Effect delivery size ${size} exceeds maxBytes ${batchPolicy.maxBytes}`));
|
|
305
|
+
}
|
|
306
|
+
if (pending.length > 0 && pendingBytes + size > batchPolicy.maxBytes) {
|
|
307
|
+
yield* reducePending();
|
|
308
|
+
}
|
|
309
|
+
pendingBytes += size;
|
|
310
|
+
}
|
|
274
311
|
pending.push(event.delivery);
|
|
312
|
+
if ((batchPolicy.maxItems !== undefined && pending.length >= batchPolicy.maxItems) ||
|
|
313
|
+
(batchPolicy.maxBytes !== undefined && pendingBytes >= batchPolicy.maxBytes)) {
|
|
314
|
+
yield* reducePending();
|
|
315
|
+
}
|
|
275
316
|
continue;
|
|
276
317
|
}
|
|
277
318
|
yield* reducePending();
|
|
@@ -295,6 +336,16 @@ function createJetStreamMaterializedStream(runtime, options, materializer, strea
|
|
|
295
336
|
return Stream.concat(Stream.succeed(initialSnapshot), updates);
|
|
296
337
|
});
|
|
297
338
|
}
|
|
339
|
+
/** Materializes an existing JetStream event stream with the service's batching semantics. */
|
|
340
|
+
export function materializeNatsJetStreamEvents(events, materializer, options = {}) {
|
|
341
|
+
return materializeJetStreamEventStream(events, materializer, options);
|
|
342
|
+
}
|
|
343
|
+
function createJetStreamMaterializedStream(runtime, options, materializer, streamOptions = {}) {
|
|
344
|
+
if (options.resume) {
|
|
345
|
+
throw new TypeError('A JetStream materializer cannot resume an event cursor without restoring matching materialized state');
|
|
346
|
+
}
|
|
347
|
+
return materializeJetStreamEventStream(createJetStreamEventStream(runtime, options, streamOptions), materializer, streamOptions, runtime[NATS_RUNTIME_ADAPTER]?.telemetry);
|
|
348
|
+
}
|
|
298
349
|
function runJetStreamProcessorEffect(runtime, options, handler) {
|
|
299
350
|
return Effect.scoped(Effect.gen(function* () {
|
|
300
351
|
const context = yield* Effect.context();
|
|
@@ -330,7 +381,7 @@ function runJetStreamProcessorEffect(runtime, options, handler) {
|
|
|
330
381
|
}));
|
|
331
382
|
}));
|
|
332
383
|
}
|
|
333
|
-
function createSessionSnapshotStream(sessions, definition, options) {
|
|
384
|
+
function createSessionSnapshotStream(runtime, sessions, definition, options) {
|
|
334
385
|
const resolved = resolveStreamOptions(options);
|
|
335
386
|
return Stream.callback((queue) => Effect.gen(function* () {
|
|
336
387
|
const handle = yield* Effect.acquireRelease(Effect.try({
|
|
@@ -343,6 +394,8 @@ function createSessionSnapshotStream(sessions, definition, options) {
|
|
|
343
394
|
return;
|
|
344
395
|
const snapshot = handle.getSnapshot();
|
|
345
396
|
const accepted = Queue.offerUnsafe(queue, snapshot);
|
|
397
|
+
if (!accepted)
|
|
398
|
+
reportBufferOverflow(runtime, 'session');
|
|
346
399
|
if (!accepted &&
|
|
347
400
|
resolved.bufferSize !== 'unbounded' &&
|
|
348
401
|
resolved.overflowStrategy === 'error') {
|
|
@@ -372,6 +425,111 @@ function createSessionSnapshotStream(sessions, definition, options) {
|
|
|
372
425
|
strategy: resolved.callbackOptions.strategy,
|
|
373
426
|
});
|
|
374
427
|
}
|
|
428
|
+
function createSessionValueStream(runtime, sessions, definition, options) {
|
|
429
|
+
return createSessionSnapshotStream(runtime, sessions, definition, options).pipe(Stream.mapAccum(() => -1, (valueRevision, snapshot) => {
|
|
430
|
+
if (snapshot.valueRevision !== valueRevision &&
|
|
431
|
+
Object.prototype.hasOwnProperty.call(snapshot, 'value')) {
|
|
432
|
+
return [snapshot.valueRevision, [snapshot.value]];
|
|
433
|
+
}
|
|
434
|
+
return [valueRevision, []];
|
|
435
|
+
}));
|
|
436
|
+
}
|
|
437
|
+
function resolveLiveBatchMs(input) {
|
|
438
|
+
try {
|
|
439
|
+
if (typeof input === 'number' && !Number.isFinite(input))
|
|
440
|
+
throw new TypeError();
|
|
441
|
+
const duration = Duration.fromInputUnsafe(input);
|
|
442
|
+
const milliseconds = Duration.toMillis(duration);
|
|
443
|
+
if (!Duration.isFinite(duration) || !Number.isFinite(milliseconds) || milliseconds < 0) {
|
|
444
|
+
throw new TypeError();
|
|
445
|
+
}
|
|
446
|
+
return milliseconds;
|
|
447
|
+
}
|
|
448
|
+
catch {
|
|
449
|
+
throw new TypeError('NATSail Effect liveBatchWithin must be a finite non-negative duration');
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
function coalesceJetStreamStates(source, liveBatchMs) {
|
|
453
|
+
if (liveBatchMs === 0)
|
|
454
|
+
return source;
|
|
455
|
+
return Stream.transformPull(source, (pull) => Effect.sync(() => {
|
|
456
|
+
let buffered = [];
|
|
457
|
+
let bufferedIndex = 0;
|
|
458
|
+
let seenLive = false;
|
|
459
|
+
let pendingLive;
|
|
460
|
+
let flushAt;
|
|
461
|
+
let terminal;
|
|
462
|
+
const flushPending = (output) => {
|
|
463
|
+
if (pendingLive === undefined)
|
|
464
|
+
return;
|
|
465
|
+
output.push(pendingLive);
|
|
466
|
+
pendingLive = undefined;
|
|
467
|
+
flushAt = undefined;
|
|
468
|
+
};
|
|
469
|
+
const next = Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
|
|
470
|
+
const output = [];
|
|
471
|
+
while (true) {
|
|
472
|
+
while (bufferedIndex < buffered.length) {
|
|
473
|
+
const value = buffered[bufferedIndex++];
|
|
474
|
+
if (value.phase !== 'live') {
|
|
475
|
+
flushPending(output);
|
|
476
|
+
seenLive = false;
|
|
477
|
+
output.push(value);
|
|
478
|
+
continue;
|
|
479
|
+
}
|
|
480
|
+
if (!seenLive) {
|
|
481
|
+
seenLive = true;
|
|
482
|
+
output.push(value);
|
|
483
|
+
continue;
|
|
484
|
+
}
|
|
485
|
+
pendingLive = value;
|
|
486
|
+
flushAt ??= (yield* Clock.currentTimeMillis) + liveBatchMs;
|
|
487
|
+
}
|
|
488
|
+
buffered = [];
|
|
489
|
+
bufferedIndex = 0;
|
|
490
|
+
if (output.length > 0) {
|
|
491
|
+
return output;
|
|
492
|
+
}
|
|
493
|
+
if (terminal !== undefined) {
|
|
494
|
+
if (pendingLive !== undefined) {
|
|
495
|
+
flushPending(output);
|
|
496
|
+
return output;
|
|
497
|
+
}
|
|
498
|
+
return yield* Effect.failCause(terminal);
|
|
499
|
+
}
|
|
500
|
+
if (pendingLive === undefined) {
|
|
501
|
+
const result = yield* restore(Effect.exit(pull));
|
|
502
|
+
if (Exit.isFailure(result))
|
|
503
|
+
terminal = result.cause;
|
|
504
|
+
else
|
|
505
|
+
buffered.push(...result.value);
|
|
506
|
+
continue;
|
|
507
|
+
}
|
|
508
|
+
const now = yield* Clock.currentTimeMillis;
|
|
509
|
+
const remaining = Math.max(0, (flushAt ?? now) - now);
|
|
510
|
+
if (remaining === 0) {
|
|
511
|
+
flushPending(output);
|
|
512
|
+
return output;
|
|
513
|
+
}
|
|
514
|
+
const result = yield* restore(Effect.raceFirst(Effect.exit(pull).pipe(Effect.map((exit) => ({ _tag: 'Pulled', exit }))), Effect.sleep(remaining).pipe(Effect.as({ _tag: 'Elapsed' }))));
|
|
515
|
+
if (result._tag === 'Elapsed') {
|
|
516
|
+
flushPending(output);
|
|
517
|
+
return output;
|
|
518
|
+
}
|
|
519
|
+
if (Exit.isFailure(result.exit))
|
|
520
|
+
terminal = result.exit.cause;
|
|
521
|
+
else
|
|
522
|
+
buffered.push(...result.exit.value);
|
|
523
|
+
}
|
|
524
|
+
}));
|
|
525
|
+
return next;
|
|
526
|
+
}));
|
|
527
|
+
}
|
|
528
|
+
function createJetStreamStateStream(runtime, sessions, definition, options = {}) {
|
|
529
|
+
const { liveBatchWithin = '16 millis', ...sessionOptions } = options;
|
|
530
|
+
const liveBatchMs = resolveLiveBatchMs(liveBatchWithin);
|
|
531
|
+
return coalesceJetStreamStates(createSessionValueStream(runtime, sessions, definition, sessionOptions), liveBatchMs);
|
|
532
|
+
}
|
|
375
533
|
/** Creates a service over application-owned runtime and registry objects. */
|
|
376
534
|
export function makeNatsail(resource) {
|
|
377
535
|
const { runtime, sessions } = resource;
|
|
@@ -393,16 +551,11 @@ export function makeNatsail(resource) {
|
|
|
393
551
|
jetStreamEvents: (options, streamOptions) => createJetStreamEventStream(runtime, options, streamOptions),
|
|
394
552
|
jetStreamDeliveries: (options, streamOptions) => createJetStreamDeliveryStream(runtime, options, streamOptions),
|
|
395
553
|
materializeJetStream: (options, materializer, streamOptions) => createJetStreamMaterializedStream(runtime, options, materializer, streamOptions),
|
|
554
|
+
jetStreamStates: (definition, options) => createJetStreamStateStream(runtime, sessions, definition, options),
|
|
396
555
|
runJetStreamProcessor: (options, handler) => runJetStreamProcessorEffect(runtime, options, handler),
|
|
397
556
|
restartSession: (key) => tryRuntimePromise('restart-session', () => sessions.restart(key)),
|
|
398
|
-
sessionSnapshots: (definition, options) => createSessionSnapshotStream(sessions, definition, options),
|
|
399
|
-
sessionValues: (definition, options) =>
|
|
400
|
-
if (snapshot.valueRevision !== valueRevision &&
|
|
401
|
-
Object.prototype.hasOwnProperty.call(snapshot, 'value')) {
|
|
402
|
-
return [snapshot.valueRevision, [snapshot.value]];
|
|
403
|
-
}
|
|
404
|
-
return [valueRevision, []];
|
|
405
|
-
})),
|
|
557
|
+
sessionSnapshots: (definition, options) => createSessionSnapshotStream(runtime, sessions, definition, options),
|
|
558
|
+
sessionValues: (definition, options) => createSessionValueStream(runtime, sessions, definition, options),
|
|
406
559
|
};
|
|
407
560
|
}
|
|
408
561
|
/**
|
|
@@ -430,6 +583,14 @@ export function jetStreamDeliveries(options, streamOptions) {
|
|
|
430
583
|
export function materializeJetStream(options, materializer, streamOptions) {
|
|
431
584
|
return Stream.unwrap(Natsail.useSync((service) => service.materializeJetStream(options, materializer, streamOptions)));
|
|
432
585
|
}
|
|
586
|
+
/**
|
|
587
|
+
* Observes cumulative state from one registry-shared reducing JetStream
|
|
588
|
+
* definition. Every source update is retained by the registry; only downstream
|
|
589
|
+
* live presentation notifications are coalesced.
|
|
590
|
+
*/
|
|
591
|
+
export function jetStreamStates(definition, options) {
|
|
592
|
+
return Stream.unwrap(Natsail.useSync((service) => service.jetStreamStates(definition, options)));
|
|
593
|
+
}
|
|
433
594
|
/**
|
|
434
595
|
* Runs a named explicit-ack JetStream processor. The message is acknowledged
|
|
435
596
|
* only after the supplied Effect completes successfully.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@natsail/effect",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Scoped Effect v4 Streams for Core NATS, JetStream, and shared sessions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nats",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"tag": "next"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@natsail/
|
|
43
|
-
"@natsail/
|
|
44
|
-
"@natsail/
|
|
42
|
+
"@natsail/core": "^0.3.0",
|
|
43
|
+
"@natsail/jetstream": "^0.5.0",
|
|
44
|
+
"@natsail/session": "^0.4.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"effect": "4.0.0-rc.112"
|