reactor-effect-client 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +6 -2
  2. package/dist/duration.d.ts +2 -0
  3. package/dist/duration.d.ts.map +1 -1
  4. package/dist/duration.js +1 -1
  5. package/dist/duration.js.map +1 -1
  6. package/dist/orchestration/h3-source.d.ts.map +1 -1
  7. package/dist/orchestration/h3-source.js +28 -9
  8. package/dist/orchestration/h3-source.js.map +1 -1
  9. package/dist/orchestration/index.d.ts +2 -2
  10. package/dist/orchestration/index.d.ts.map +1 -1
  11. package/dist/orchestration/index.js +1 -1
  12. package/dist/orchestration/index.js.map +1 -1
  13. package/dist/orchestration/queries.d.ts.map +1 -1
  14. package/dist/orchestration/queries.js +3 -0
  15. package/dist/orchestration/queries.js.map +1 -1
  16. package/dist/orchestration/renewal-state.d.ts +16 -4
  17. package/dist/orchestration/renewal-state.d.ts.map +1 -1
  18. package/dist/orchestration/renewal-state.js +9 -4
  19. package/dist/orchestration/renewal-state.js.map +1 -1
  20. package/dist/orchestration/renewal.d.ts +12 -0
  21. package/dist/orchestration/renewal.d.ts.map +1 -1
  22. package/dist/orchestration/renewal.js +98 -12
  23. package/dist/orchestration/renewal.js.map +1 -1
  24. package/dist/orchestration/scheduler-key.d.ts +13 -0
  25. package/dist/orchestration/scheduler-key.d.ts.map +1 -0
  26. package/dist/orchestration/scheduler-key.js +62 -0
  27. package/dist/orchestration/scheduler-key.js.map +1 -0
  28. package/dist/orchestration/scheduler-policy.d.ts +81 -0
  29. package/dist/orchestration/scheduler-policy.d.ts.map +1 -0
  30. package/dist/orchestration/scheduler-policy.js +203 -0
  31. package/dist/orchestration/scheduler-policy.js.map +1 -0
  32. package/dist/orchestration/scheduler.d.ts +182 -0
  33. package/dist/orchestration/scheduler.d.ts.map +1 -0
  34. package/dist/orchestration/scheduler.js +1430 -0
  35. package/dist/orchestration/scheduler.js.map +1 -0
  36. package/dist/orchestration/source-slot.d.ts +4 -1
  37. package/dist/orchestration/source-slot.d.ts.map +1 -1
  38. package/dist/orchestration/source-slot.js +31 -1
  39. package/dist/orchestration/source-slot.js.map +1 -1
  40. package/dist/orchestration/types.d.ts +62 -5
  41. package/dist/orchestration/types.d.ts.map +1 -1
  42. package/dist/orchestration/types.js.map +1 -1
  43. package/dist/simulation/_internal/source.d.ts.map +1 -1
  44. package/dist/simulation/_internal/source.js +38 -27
  45. package/dist/simulation/_internal/source.js.map +1 -1
  46. package/package.json +2 -2
  47. package/dist/orchestration/lineup.d.ts +0 -109
  48. package/dist/orchestration/lineup.d.ts.map +0 -1
  49. package/dist/orchestration/lineup.js +0 -249
  50. package/dist/orchestration/lineup.js.map +0 -1
@@ -124,32 +124,39 @@ export const source = (options = {}) => Effect.gen(function* () {
124
124
  samples: new Int16Array(frame.samples),
125
125
  }).pipe(Effect.asVoid)),
126
126
  };
127
- const state = Effect.sync(() => Object.freeze({
128
- availability: closed || failed !== undefined ? "Unavailable" : "Ready",
129
- queued: Object.freeze(generation.filter((clip) => !clip.popped && clip !== building).map((clip) => clip.record)),
130
- generationOrder: Object.freeze(generation.filter((clip) => !clip.popped).map((clip) => clip.record.clipId)),
131
- building: building === undefined || building.popped
132
- ? Option.none()
133
- : Option.some({
134
- record: building.record,
135
- startedAt: options.timing === "unknown"
136
- ? Option.none()
137
- : Option.fromUndefinedOr(building.buildStartedAt),
138
- }),
139
- ready: Object.freeze(playout.filter((clip) => !clip.popped).map((clip) => clip.record)),
140
- playing: playing === undefined
141
- ? Option.none()
142
- : Option.some({
143
- clipId: playing.clip.record.clipId,
144
- record: Option.some(playing.clip.record),
145
- startedAt: Option.some(playing.startedAt),
146
- }),
147
- continuable: Object.freeze([...retained]),
148
- failed: Object.freeze([...failures]),
149
- started,
150
- canvas: Option.some(canvas),
151
- capacities: Object.freeze({ generation: generationCapacity, playout: playoutCapacity }),
152
- }));
127
+ const state = Effect.sync(() => {
128
+ const availability = closed || failed !== undefined ? "Unavailable" : "Ready";
129
+ return Object.freeze({
130
+ availability,
131
+ sessions: [{ sessionId: id, availability }],
132
+ preferredSessionId: Option.some(id),
133
+ retiringSessionId: Option.none(),
134
+ queued: Object.freeze(generation.filter((clip) => !clip.popped && clip !== building).map((clip) => clip.record)),
135
+ generationOrder: Object.freeze(generation.filter((clip) => !clip.popped).map((clip) => clip.record.clipId)),
136
+ building: building === undefined || building.popped
137
+ ? Option.none()
138
+ : Option.some({
139
+ record: building.record,
140
+ startedAt: options.timing === "unknown"
141
+ ? Option.none()
142
+ : Option.fromUndefinedOr(building.buildStartedAt),
143
+ }),
144
+ ready: Object.freeze(playout.filter((clip) => !clip.popped).map((clip) => clip.record)),
145
+ playing: playing === undefined
146
+ ? Option.none()
147
+ : Option.some({
148
+ clipId: playing.clip.record.clipId,
149
+ record: Option.some(playing.clip.record),
150
+ startedAt: Option.some(playing.startedAt),
151
+ startedAtMonotonicMillis: playing.startedAtMonotonicMillis,
152
+ }),
153
+ continuable: Object.freeze([...retained]),
154
+ failed: Object.freeze([...failures]),
155
+ started,
156
+ canvas: Option.some(canvas),
157
+ capacities: Object.freeze({ generation: generationCapacity, playout: playoutCapacity }),
158
+ });
159
+ });
153
160
  const builder = Effect.gen(function* () {
154
161
  while (!closed && failed === undefined) {
155
162
  const next = generation.find((clip) => !clip.popped);
@@ -226,7 +233,7 @@ export const source = (options = {}) => Effect.gen(function* () {
226
233
  }
227
234
  playout = playout.filter((clip) => clip !== next);
228
235
  const at = clock.currentTimeMillisUnsafe();
229
- playing = { clip: next, startedAt: at };
236
+ playing = { clip: next, startedAt: at, startedAtMonotonicMillis: monotonicMillis(clock) };
230
237
  started = true;
231
238
  const stopped = yield* Deferred.make();
232
239
  stopSignal = stopped;
@@ -235,6 +242,7 @@ export const source = (options = {}) => Effect.gen(function* () {
235
242
  clipId: next.record.clipId,
236
243
  durationSeconds: next.record.durationSeconds,
237
244
  at,
245
+ atMonotonicMillis: playing.startedAtMonotonicMillis,
238
246
  });
239
247
  yield* signalBuild;
240
248
  const presentation = options.present === undefined
@@ -257,6 +265,8 @@ export const source = (options = {}) => Effect.gen(function* () {
257
265
  _tag: "Ended",
258
266
  clipId: next.record.clipId,
259
267
  termination: wasStopped ? "stopped" : "finished",
268
+ at: clock.currentTimeMillisUnsafe(),
269
+ atMonotonicMillis: monotonicMillis(clock),
260
270
  });
261
271
  if (!wasStopped && autoplay && playout.length === 0)
262
272
  emit({ _tag: "Starved", at: clock.currentTimeMillisUnsafe() });
@@ -330,6 +340,7 @@ export const source = (options = {}) => Effect.gen(function* () {
330
340
  const seconds = alignSecondsTo(profile, request.durationSeconds);
331
341
  const record = Object.freeze({
332
342
  clipId,
343
+ sessionId: id,
333
344
  seq,
334
345
  durationSeconds: seconds,
335
346
  request,
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/simulation/_internal/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/simulation/_internal/source.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactor-effect-client",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Scoped Reactor sessions, H3 provider state and explicit orchestration over Effect",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -59,7 +59,7 @@
59
59
  "@effect/vitest": "^4.0.0-rc.117",
60
60
  "@types/node": "22.20.2",
61
61
  "effect": "^4.0.0-rc.117",
62
- "reactor-effect-test-kit": "0.4.0",
62
+ "reactor-effect-test-kit": "0.5.0",
63
63
  "vitest": "5.0.0"
64
64
  },
65
65
  "scripts": {
@@ -1,109 +0,0 @@
1
- import * as Context from "effect/Context";
2
- import * as Effect from "effect/Effect";
3
- import * as Layer from "effect/Layer";
4
- import type * as Scope from "effect/Scope";
5
- import { ReactorError } from "../errors.js";
6
- import { ClipRequest, PolicyFailure } from "./request.js";
7
- import type { ClipId } from "./request.js";
8
- import { Engine } from "./types.js";
9
- import type { EngineError, RemoveOutcome } from "./types.js";
10
- /**
11
- * How a lineup clip began playing, or why it never will.
12
- *
13
- * - `Started`: `at` is when the start was observed, in epoch milliseconds, as
14
- * the engine's `Started` event reports it.
15
- * - `Failed`: it will not play. Its build failed, it was lost with its
16
- * session, it was removed with `remove`, or it was still waiting when the
17
- * orchestration failed or closed.
18
- * - `Unobserved`: it may have played, but its start was never observed. The
19
- * lineup lost sight of it (after its observer fell behind, the clip was no
20
- * longer queued, or was playing with no start time), or saw it end without
21
- * seeing it start. There is no `at`: the lineup never invents a start.
22
- *
23
- * `Unobserved` was added in 0.4.0, so a switch over `ClipFate` written for
24
- * 0.3.4 must handle it.
25
- */
26
- export type ClipFate = {
27
- readonly _tag: "Started";
28
- readonly at: number;
29
- readonly durationSeconds: number;
30
- } | {
31
- readonly _tag: "Failed";
32
- readonly reason: string;
33
- } | {
34
- readonly _tag: "Unobserved";
35
- };
36
- /** A clip the lineup enqueued. */
37
- export interface LineupClip {
38
- readonly clipId: ClipId;
39
- /** Waits until the clip's fate is known: it started, it will not play, or its start went unobserved. */
40
- readonly fate: Effect.Effect<ClipFate>;
41
- /**
42
- * Takes the clip out of its queue before it starts. A removed clip will not
43
- * play, even one that was already building (`in_flight`): the source
44
- * discards that build. Its fate is then `Failed` with reason `Removed`.
45
- */
46
- readonly remove: Effect.Effect<RemoveOutcome, EngineError>;
47
- }
48
- export interface LineupOptions {
49
- /** What plays while no clip is waiting. */
50
- readonly filler: {
51
- /** Filler clips kept Ready behind the playing clip, from 1 to 1024. */
52
- readonly ready: number;
53
- /**
54
- * The nth filler clip, counting from zero. A lineup asks for each n once, in
55
- * order, and enqueues that request until it is admitted, so a refusal before
56
- * it was sent does not skip an n. A new lineup starts again from zero, so
57
- * keep `clip` pure: the same n may be asked for again.
58
- */
59
- readonly clip: (n: number) => ClipRequest;
60
- };
61
- }
62
- export interface LineupState {
63
- /** What is playing: a lineup clip, filler, a clip the lineup did not enqueue, or nothing. */
64
- readonly playing: "clip" | "filler" | "other" | "none";
65
- /** Filler clips Ready behind the playing clip. */
66
- readonly readyFiller: number;
67
- /** How many times playout ran dry since the lineup started. */
68
- readonly starved: number;
69
- }
70
- export interface LineupShape {
71
- /**
72
- * Enqueues a clip behind the clips already waiting and ahead of all waiting
73
- * filler. The lineup chooses its place, so a request that names its own
74
- * `position` or `before` is refused. The request is captured before any of
75
- * its fields is read, as `Engine.enqueue` captures it.
76
- */
77
- readonly enqueue: (request: ClipRequest) => Effect.Effect<LineupClip, EngineError>;
78
- readonly state: Effect.Effect<LineupState>;
79
- }
80
- declare const Lineup_base: Context.ServiceClass<Lineup, "reactor-effect-client/Orchestration/Lineup", LineupShape>;
81
- /** A lineup over the orchestration's `Engine`; `layerLineup` provides it. */
82
- export declare class Lineup extends Lineup_base {
83
- }
84
- /**
85
- * Clips ahead of filler: the clips an application enqueues play in the order
86
- * it enqueued them, and filler keeps playout from running dry in between.
87
- *
88
- * - A clip is enqueued behind the clips already waiting and ahead of every
89
- * waiting filler clip. Once Ready it moves directly behind the Ready clips,
90
- * so clips overtake filler only, never each other. A clip the lineup did not
91
- * enqueue, such as one in a resumed session's queue, counts as a clip.
92
- * - `filler.ready` filler clips are kept Ready behind the playing clip and
93
- * built one at a time, so a clip waits behind one filler build at worst.
94
- * - Playback is the orchestration's autoplay, which is on unless the
95
- * application turns it off: a Ready clip starts when the playing clip ends,
96
- * so nothing is cut.
97
- *
98
- * The lineup knows its own clips by the requests it captured, so it reads no
99
- * clip metadata. It reorders and refills after each engine change
100
- * and at least once a second, which covers a quiet engine such as a
101
- * replacement session that starts empty. During a renewal's overlap a clip's
102
- * place counts both sessions' queues, so it may wait behind one more filler
103
- * build, and it still passes no clip.
104
- */
105
- export declare const makeLineup: (options: LineupOptions) => Effect.Effect<LineupShape, ReactorError | PolicyFailure, Engine | Scope.Scope>;
106
- /** The lineup as a service, over the `Engine` in context. */
107
- export declare const layerLineup: (options: LineupOptions) => Layer.Layer<Lineup, ReactorError | PolicyFailure, Engine>;
108
- export {};
109
- //# sourceMappingURL=lineup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lineup.d.ts","sourceRoot":"","sources":["../../src/orchestration/lineup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAkB,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAc,WAAW,EAA4B,aAAa,EAAE,MAAM,YAAY,CAAC;AAEnG;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAEpC,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wGAAwG;IACxG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE;QACf,uEAAuE;QACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB;;;;;WAKG;QACH,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC;KAC3C,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACvD,kDAAkD;IAClD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;CAC5C;;AAED,6EAA6E;AAC7E,qBAAa,MAAO,SAAQ,WAE3B;CAAG;AAOJ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,UAAU,YACZ,aAAa,KACrB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAoQ5E,CAAC;AAEL,6DAA6D;AAC7D,eAAO,MAAM,WAAW,YACb,aAAa,KACrB,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,EAAE,MAAM,CAChB,CAAC"}
@@ -1,249 +0,0 @@
1
- import * as Context from "effect/Context";
2
- import * as Deferred from "effect/Deferred";
3
- import * as Effect from "effect/Effect";
4
- import * as Exit from "effect/Exit";
5
- import * as Layer from "effect/Layer";
6
- import * as Option from "effect/Option";
7
- import * as Queue from "effect/Queue";
8
- import * as Result from "effect/Result";
9
- import * as Semaphore from "effect/Semaphore";
10
- import * as Stream from "effect/Stream";
11
- import { ReactorError } from "../errors.js";
12
- import { captureRequest, ClipRequest, PolicyFailure } from "./request.js";
13
- import { activeIds, generation } from "./routing.js";
14
- import { Engine } from "./types.js";
15
- /** A lineup over the orchestration's `Engine`; `layerLineup` provides it. */
16
- export class Lineup extends Context.Service()("reactor-effect-client/Orchestration/Lineup") {
17
- }
18
- const logDebug = (message, reason) => Effect.logDebug(message, { reason }).pipe(Effect.annotateLogs({ module: "reactor.orchestration" }));
19
- /**
20
- * Clips ahead of filler: the clips an application enqueues play in the order
21
- * it enqueued them, and filler keeps playout from running dry in between.
22
- *
23
- * - A clip is enqueued behind the clips already waiting and ahead of every
24
- * waiting filler clip. Once Ready it moves directly behind the Ready clips,
25
- * so clips overtake filler only, never each other. A clip the lineup did not
26
- * enqueue, such as one in a resumed session's queue, counts as a clip.
27
- * - `filler.ready` filler clips are kept Ready behind the playing clip and
28
- * built one at a time, so a clip waits behind one filler build at worst.
29
- * - Playback is the orchestration's autoplay, which is on unless the
30
- * application turns it off: a Ready clip starts when the playing clip ends,
31
- * so nothing is cut.
32
- *
33
- * The lineup knows its own clips by the requests it captured, so it reads no
34
- * clip metadata. It reorders and refills after each engine change
35
- * and at least once a second, which covers a quiet engine such as a
36
- * replacement session that starts empty. During a renewal's overlap a clip's
37
- * place counts both sessions' queues, so it may wait behind one more filler
38
- * build, and it still passes no clip.
39
- */
40
- export const makeLineup = (options) => Effect.gen(function* () {
41
- const engine = yield* Engine;
42
- const target = options.filler.ready;
43
- if (!Number.isSafeInteger(target) || target < 1 || target > 1024)
44
- return yield* ReactorError.fromCode("InvalidInput", "A lineup keeps from 1 to 1024 filler clips Ready");
45
- const fillers = new WeakSet();
46
- const clips = new WeakSet();
47
- const fillerAt = (n) => captureRequest(options.filler.clip(n)).pipe(Effect.tap((request) => Effect.sync(() => fillers.add(request))));
48
- // The filler to enqueue next, kept until it is admitted, and the n it came
49
- // from. The first is captured here, so a malformed filler request fails the
50
- // lineup rather than every refill, and it is the first filler enqueued.
51
- let fillerIndex = 0;
52
- let upcoming = yield* fillerAt(0);
53
- // Admitted: enqueued, or sent with an unknown outcome, which the renewal
54
- // resolves by replacing the session. A refusal keeps the same request.
55
- const admitted = Effect.sync(() => {
56
- fillerIndex++;
57
- upcoming = undefined;
58
- });
59
- const isFiller = (record) => record.request !== undefined && fillers.has(record.request);
60
- const isClip = (record) => record.request !== undefined && clips.has(record.request);
61
- const playing = (state) => {
62
- if (Option.isNone(state.playing))
63
- return "none";
64
- const record = state.playing.value.record;
65
- if (Option.isNone(record))
66
- return "other";
67
- return isFiller(record.value) ? "filler" : isClip(record.value) ? "clip" : "other";
68
- };
69
- const permit = yield* Semaphore.make(1);
70
- const changed = yield* Queue.dropping(1);
71
- const waiting = new Map();
72
- // Fates observed while an enqueue waits for its reply, before the reply names
73
- // the clip: a clip can fail before its enqueue returns.
74
- let unclaimed;
75
- let ended;
76
- let starved = 0;
77
- const release = (clipId, fate) => Effect.suspend(() => {
78
- const waiter = waiting.get(clipId);
79
- if (waiter === undefined)
80
- return Effect.succeed(false);
81
- waiting.delete(clipId);
82
- return Effect.as(Deferred.succeed(waiter, fate), true);
83
- });
84
- const settle = (clipId, fate) => release(clipId, fate).pipe(Effect.tap((released) => Effect.sync(() => {
85
- if (!released)
86
- unclaimed?.set(clipId, fate);
87
- })));
88
- const settleAll = (reason) => Effect.suspend(() => {
89
- ended = reason;
90
- const waiters = [...waiting.values()];
91
- waiting.clear();
92
- return Effect.forEach(waiters, (waiter) => Deferred.succeed(waiter, { _tag: "Failed", reason }), { discard: true });
93
- });
94
- yield* Effect.addFinalizer(() => settleAll("The lineup closed"));
95
- // Ready clips take the front of playout in the order they already have: each
96
- // moves only forward, and only over filler. The moves come from one reading
97
- // of the state, which each move leaves true for the clips after it. A move
98
- // that fails means its clip started or left, and that change wakes the next pass.
99
- const order = Effect.gen(function* () {
100
- const ready = (yield* engine.state).ready;
101
- const ahead = ready.flatMap((record, index) => (isFiller(record) ? [] : [{ record, index }]));
102
- for (const [rank, clip] of ahead.entries()) {
103
- if (clip.index === rank)
104
- continue;
105
- const moved = yield* Effect.result(engine.move(clip.record.clipId, rank, "playout"));
106
- if (Result.isFailure(moved))
107
- return;
108
- }
109
- });
110
- // One filler clip at most waits for generation, enqueued only while fewer
111
- // than `ready` are Ready, so a clip queues behind one filler build at worst.
112
- const refill = Effect.gen(function* () {
113
- const state = yield* engine.state;
114
- if (state.availability !== "Ready")
115
- return;
116
- if (generation(state).some(isFiller))
117
- return;
118
- if (state.ready.filter(isFiller).length >= target)
119
- return;
120
- const request = upcoming ?? (yield* fillerAt(fillerIndex));
121
- upcoming = request;
122
- yield* engine.enqueue(request).pipe(Effect.tap(() => admitted), Effect.tapError((failure) => failure.context.outcome === "unknown" ? admitted : Effect.void));
123
- });
124
- const reconcile = permit
125
- .withPermit(Effect.andThen(order, refill))
126
- .pipe(Effect.catch((failure) => logDebug("lineup reconcile deferred", failure.reason._tag)));
127
- const record = (event) => {
128
- switch (event._tag) {
129
- case "Started":
130
- return Effect.asVoid(settle(event.clipId, {
131
- _tag: "Started",
132
- at: event.at,
133
- durationSeconds: event.durationSeconds,
134
- }));
135
- case "Failed":
136
- return Effect.asVoid(settle(event.clipId, { _tag: "Failed", reason: event.reason }));
137
- case "Ended":
138
- // Its start settles a clip first; a clip still waiting here ended
139
- // without its start being seen. Only a registered waiter is settled,
140
- // so a start held for an enqueue in flight is never overwritten.
141
- return Effect.asVoid(release(event.clipId, { _tag: "Unobserved" }));
142
- case "Starved":
143
- return Effect.sync(() => {
144
- starved++;
145
- });
146
- case "SessionFailed":
147
- return settleAll(`The orchestration failed: ${event.failure.message}`);
148
- default:
149
- return Effect.void;
150
- }
151
- };
152
- // After an observer falls behind, the fresh state settles what it can. A
153
- // waiting clip that is playing started: at its observed start time, or
154
- // unobserved when the state has none. One listed failed failed. On a Ready
155
- // engine, one in no queue, not playing and not failed left while the lineup
156
- // could not see it, so it may have played: unobserved. A closed or
157
- // recovering engine's state proves no such thing, and its clips keep
158
- // waiting for the close or a later observation. Anything queued keeps waiting.
159
- const recover = (state) => Effect.gen(function* () {
160
- const playing = Option.getOrUndefined(state.playing);
161
- const active = new Set(activeIds(state));
162
- const complete = state.availability === "Ready";
163
- for (const clipId of [...waiting.keys()]) {
164
- if (playing?.clipId === clipId)
165
- yield* settle(clipId, Option.isSome(playing.startedAt) && Option.isSome(playing.record)
166
- ? {
167
- _tag: "Started",
168
- at: playing.startedAt.value,
169
- durationSeconds: playing.record.value.durationSeconds,
170
- }
171
- : { _tag: "Unobserved" });
172
- else if (state.failed.includes(clipId))
173
- yield* settle(clipId, { _tag: "Failed", reason: "The clip failed unobserved" });
174
- else if (complete && !active.has(clipId))
175
- yield* settle(clipId, { _tag: "Unobserved" });
176
- }
177
- });
178
- const wake = Effect.sync(() => Queue.offerUnsafe(changed, undefined));
179
- const observe = Effect.scoped(Effect.gen(function* () {
180
- const observation = yield* engine.observe({ capacity: 4096 });
181
- yield* recover(observation.initial);
182
- yield* wake;
183
- yield* observation.events.pipe(Stream.runForEach((event) => Effect.andThen(record(event),
184
- // Queued and Building follow the lineup's own enqueues: nothing to reorder.
185
- event._tag === "Queued" || event._tag === "Building" ? Effect.void : wake)));
186
- }));
187
- // The events end when the orchestration closes. An observer 4096 events behind
188
- // observes again from a fresh state; any other failure ends the lineup's view.
189
- const watch = Effect.gen(function* () {
190
- for (;;) {
191
- const observed = yield* Effect.result(observe);
192
- if (Result.isSuccess(observed))
193
- return yield* settleAll("The orchestration closed");
194
- if (observed.failure.reason._tag !== "Overflow")
195
- return yield* settleAll(`The engine's events failed: ${observed.failure.message}`);
196
- yield* logDebug("lineup observer fell behind", "Overflow");
197
- }
198
- });
199
- yield* Effect.forkScoped(watch);
200
- // The reconciler never holds up the observer, so a fate settles as soon as it
201
- // is seen, even while an enqueue holds the permit.
202
- yield* Effect.forkScoped(Effect.gen(function* () {
203
- while (ended === undefined) {
204
- yield* Effect.timeoutOption(Queue.take(changed), "1 second");
205
- yield* reconcile;
206
- }
207
- }));
208
- const remove = (clipId) => engine
209
- .remove(clipId)
210
- .pipe(Effect.tap(() => release(clipId, { _tag: "Failed", reason: "Removed" })));
211
- const enqueue = (input) => permit.withPermit(Effect.gen(function* () {
212
- // Captured before any field is read, so a caller's accessor never runs
213
- // and a malformed request is refused as InvalidRequest.
214
- const captured = yield* captureRequest(input);
215
- if (captured.position !== undefined || captured.before !== undefined)
216
- return yield* PolicyFailure.refuse("InvalidRequest", "A lineup chooses where its clips go", "enqueue");
217
- const last = generation(yield* engine.state).findLastIndex((record) => !isFiller(record));
218
- const request = yield* captureRequest(new ClipRequest({ ...captured, position: last + 1 }));
219
- clips.add(request);
220
- const fate = yield* Deferred.make();
221
- const seen = new Map();
222
- unclaimed = seen;
223
- const clipId = yield* engine.enqueue(request).pipe(Effect.onExit((exit) => Exit.isFailure(exit)
224
- ? Effect.sync(() => {
225
- unclaimed = undefined;
226
- })
227
- : Effect.void));
228
- // From here to registering the waiter nothing yields, so no fate is missed.
229
- const early = seen.get(clipId) ??
230
- (ended === undefined ? undefined : { _tag: "Failed", reason: ended });
231
- unclaimed = undefined;
232
- if (early === undefined)
233
- waiting.set(clipId, fate);
234
- else
235
- yield* Deferred.succeed(fate, early);
236
- return { clipId, fate: Deferred.await(fate), remove: remove(clipId) };
237
- }));
238
- return {
239
- enqueue,
240
- state: Effect.map(engine.state, (state) => ({
241
- playing: playing(state),
242
- readyFiller: state.ready.filter(isFiller).length,
243
- starved,
244
- })),
245
- };
246
- });
247
- /** The lineup as a service, over the `Engine` in context. */
248
- export const layerLineup = (options) => Layer.effect(Lineup, makeLineup(options));
249
- //# sourceMappingURL=lineup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lineup.js","sourceRoot":"","sources":["../../src/orchestration/lineup.ts"],"names":[],"mappings":"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"}