reactor-effect-client 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -170,13 +170,13 @@ Continuous adapters must supply globally unique physical source IDs and never re
170
170
 
171
171
  `ClipRequest.sameSessionAs` targets the physical session that owns a known clip, including one already ready or playing, while leaving queue position unchanged. `before` requests insertion ahead of a clip still in the generation queue. Source affinity, insertion anchors, continuation, and sequence ownership must agree; missing, conflicting, retired, or recovering ownership fails locally with a `not-submitted` outcome. This keeps a dependent request on its required session during renewal without inventing an insertion point.
172
172
 
173
- `Orchestration.makeScheduler(options)` is an opt-in clip scheduler over the `Engine`; `layerScheduler(options)` provides it as an Effect service. Apps submit stable keys into priority lanes, listed highest first. The `lineup(filler)` preset supplies one `line` lane above generated filler. Each lane is FIFO unless a deadline gives an earlier item priority for build admission. The scheduler admits one build at a time by default, keeps a floor and target of playable Ready seconds, and orders Ready clips within each physical session. Filler is generated by a pure `clip({ index, runwaySeconds, targetSeconds, durationSeconds })` callback and is never owed. `durationSeconds` is a suggested requested length within `filler.lengths` (H3's 5 to 15.084 seconds by default): before an `At` anchor, one of equal clips that tile the gap the runway leaves, adjusted by the measured actual over requested length, so filler ends on the anchor instead of running past it; otherwise the shortest length, since a shorter clip brings the next boundary, and a reaction, sooner. Choosing content by that context, a category for a long gap or an anchor ahead, stays with the callback. A replacement session has its own queue and runway during renewal; once an app clip is Ready there, the retiring session's Ready filler is withdrawn when no sequence keeps that session preferred and no old item is queued or building. The switch then follows its playing clip. It waits for that clip's missing video frames only for the renewal's `handoffGrace` past its `Ended`, or past the source first reporting nothing playing if `Ended` was lost: 250 ms by default and at most 5 seconds, since the retiring session running dry within it is not reported as `Starved`. Renewal checks every 100 ms, so the switch can come up to one check after the grace. A frame can land after `Ended`, but one the provider never sent never does. Frame loss, in that clip or earlier, and source drop totals remain on `Switched.tail`. Audio remains explicitly unverified. `EngineState.handoffReady` exposes this condition, and the `HandoffReady` engine event reports a final clip that arrived in full; neither establishes presented output. A submitted request cannot set `position`, `before`, `sameSessionAs`, `continueFrom` or sequence ownership, because those can override the scheduler's order. Continuity is asked for instead: `continuity: "previous"` on an item, group part, insert or replacement builds its clip continuing from the clip that airs just before it on its session (H3 `continue_from_clip_id`, which carries motion, camera and audio across the boundary). The scheduler resolves that clip when it builds: a Ready clip or item ranked just ahead of it, else the clip playing there. It waits while that item is not built yet, and builds the clip independently when there is none or the provider no longer offers it for continuation. A clip that continues takes at most two audio references of its own. Continuity is fixed at build time, so a later insert between the two clips does not rebuild the one after it; replace that clip to continue from the insert.
173
+ `Orchestration.makeScheduler(options)` is an opt-in clip scheduler over the `Engine`; `layerScheduler(options)` provides it as an Effect service. Apps submit stable keys into priority lanes, listed highest first. The `lineup(filler)` preset supplies one `line` lane above generated filler. Each lane is FIFO unless a deadline gives an earlier item priority for build admission. The scheduler admits one build at a time by default, keeps a floor and target of playable Ready seconds, and orders Ready clips within each physical session. Filler is generated by a pure `clip({ index, runwaySeconds, targetSeconds, durationSeconds })` callback and is never owed. `durationSeconds` is a suggested requested length within `filler.lengths` (H3's 5 to 15.084 seconds by default): before an `At` anchor, one of equal clips that tile the gap the runway leaves, adjusted by the measured actual over requested length, so filler ends on the anchor instead of running past it; otherwise the shortest length, since a shorter clip brings the next boundary, and a reaction, sooner. Choosing content by that context, a category for a long gap or an anchor ahead, stays with the callback. A replacement session has its own queue and runway during renewal; once an app clip is Ready there, the retiring session's Ready filler is withdrawn when no sequence keeps that session preferred and no old item is queued or building. The switch then follows its playing clip. It waits for that clip's missing video frames only for the renewal's `handoffGrace` past its `Ended`, or past the source first reporting nothing playing if `Ended` was lost: 250 ms by default and at most 5 seconds, since the retiring session running dry within it is not reported as `Starved`. Renewal checks every 100 ms, so the switch can come up to one check after the grace. A frame can land after `Ended`, but one the provider never sent never does. Frame loss, in that clip or earlier, and source drop totals remain on `Switched.tail`. Audio remains explicitly unverified. `EngineState.handoffReady` exposes this condition, and the `HandoffReady` engine event reports a final clip that arrived in full; neither establishes presented output. A submitted request cannot set `position`, `before`, `sameSessionAs`, `continueFrom` or sequence ownership, because those can override the scheduler's order. Continuity is asked for instead: `continuity: "previous"` on an item, group part, insert or replacement builds its clip continuing from the clip that airs just before it on its session (H3 `continue_from_clip_id`, which carries motion, camera and audio across the boundary). The scheduler resolves that clip when it builds: a Ready clip or item ranked just ahead of it, else the clip playing there. It waits while that item is not built yet, and builds the clip independently when there is none or the provider no longer offers it for continuation. If the continued build would be Ready only after that clip ends, the clips Ready behind it air first. The clip then continues from the one that will be playing by then, and airs right behind it, one clip later than its place, rather than after a clip it does not continue from. The build is projected from the scheduler's measured continued builds. Before one is measured, it is projected at 2.5 times an independent build: on hosted H3 a continued 5 s clip took 5.45 s against about 2.2 s. H3 continues only from a generated clip, so a clip still to be built is never chosen. Holding the last frame (`holdLastFrame`) makes a boundary gapless, not continuous; only continuity joins the picture. A clip that continues takes at most two audio references of its own. Continuity is fixed at build time, so a later insert between the two clips does not rebuild the one after it; replace that clip to continue from the insert.
174
174
 
175
175
  Every planned `Switched` event includes immutable `handoff` evidence captured when the switch becomes eligible, before source-pressure and close waits. Its `sessionId` still names the retiring source; `handoff.replacementSessionId` names the new source. The decision is `no-observed-start`, `count-complete` or `grace-elapsed`, with the final clip's local decoded-frame counts and the observed grace origin (`Ended` or `Idle`) when available. `no-observed-start` means no local `Started` observation; it does not prove nothing played. Aggregate `tail` remains unchanged. The public `handoff` field is optional so historical event values remain assignable. These observations do not establish audio or presented-output completeness, and hosted qualification remains unrun.
176
176
 
177
177
  The `scheduler-renewal` qualification harness uses the public orchestration owner, `openH3`, scheduler and accepted drain. Its offline matrix exercises `make` and `makeContinuous`; paid qualification selects continuous with `retainedSuccessfulCleanups: 1`, `maxUnresolvedCleanups: 2` and `maxSessions: 2`. It retains both original source-cleanup reports and reconciles the compact summary. No paid scheduler-renewal run has occurred; hosted timing, audio completeness and presented or encoded output remain unqualified.
178
178
 
179
- `submit({ key, lane, request, window, start })` returns a handle with `started`, `outcome` and `firstDecisive` effects. `started` and `firstDecisive` retain the first observed start or definitive disposition; `outcome` waits for the end or definitive disposition. None settles on interim `Unknown`. Repeating a retained key and spec returns the same handle; a changed spec fails `KeyMismatch`. Active keys are retained until settled. `maxHistory` bounds completed key retention (4096 by default, zero disables history); older completed keys can be submitted anew once evicted. Handles already held by callers keep their original results. Applications needing longer deduplication retain their own key ledger. `window.notBefore` and `window.startBy` are relative monotonic durations, with firm deadlines dropped on expiry and soft deadlines recorded late at start. `start` defaults to `Follow` (the next boundary in its lane); `At` names an epoch millisecond anchor and a late policy (`nextBoundary`, `skipIfLaterThan`, or `drop`); `Asap` airs at the next boundary ahead of everything waiting in every lane and builds first; `Manual` is built ahead and held until `release(key)`, which sends it to the next boundary as `Asap`. A held item ranks behind everything, is not runway, and is built early only while filler keeps the runway at its floor; if it would still be next with less than 1.5 s of the playing clip left, it is removed and rebuilt, as a future `At` clip is. With filler off it is built once released. A drain withdraws a held item, since it cannot air without a release. `release` of a key that holds nothing fails with `InvalidRequest`. The scheduler fills toward an upcoming anchor, and cuts a playing clip only for a lane declared with `cut: true`. `WouldMissDeadline` rejects an item that cannot start before its deadline: after the rest of the playing clip and the Ready clips ranked ahead of it, and, once the scheduler has measured three builds, after its own build and every build that must go before it (the one in flight, higher lanes, a replacement or a started group in its lane, and earlier deadlines). A negative `startBy` offset is refused too. The projection is optimistic, so a refusal means the deadline cannot be met. After the same measurements, a firm item that can no longer start before its deadline, because work arrived ahead of it, is dropped as `late` before it takes the build slot. The scheduler measures each build from sending it to its clip being Ready, per requested second of clip, and the actual over the requested length; `state.estimates` reports the median and p95 of its recent builds. A nonzero runway floor is raised to one p95 build of the next filler clip plus a second, so a refill started at the floor is Ready before the picture runs out; a zero floor still keeps filler off. The runway counts the playing clip from the engine's own start observation, so a new clip is never counted as empty while its Started event is being handled. A refused `At` removal is paced and retried; an uncertain removal waits for a fresh observation before retrying. Actual starts remain observable even when the provider could not hold the anchor. `withdraw(key)` waits for a provider-confirmed removal, including an in-flight build. A refused removal is not an outcome: the scheduler retries it a second later, and again after each refusal, until the clip is removed (`withdrawn`), starts (`already-started`) or settles another way (`not-found` for a failure, `already-started` if it ended or its start went unobserved). Only an unknown removal outcome fails the call, since the removal may already have taken effect. `drain()` stops admission, withdraws waiting clips and waits for the current clip to end. `drain({ finish: "accepted" })` lets all accepted items reach their disposition, including those still waiting to build, and keeps filler playing and refilling until every one of them is Ready, with its `At` anchor reached, has started or has settled, so a build in progress does not freeze the host. An `Unknown` item does not hold filler, but it holds successful drain completion until it settles. The scheduler's unknown-recovery deadline bounds waiter settlement if uncertainty remains; that failure does not establish remote cleanup completion. Both then stop filler admission, and both call `engine.stopRenewal` immediately, even while an enqueue is pending: new replacements cannot open, an opening replacement is cancelled and joined, and already acquired sources may finish. Expiry still retires a source and surfaces failure if no existing replacement can continue. The first drain call selects its mode. The owner closes its orchestration handle after drain completes.
179
+ `submit({ key, lane, request, window, start })` returns a handle with `started`, `outcome` and `firstDecisive` effects. `started` and `firstDecisive` retain the first observed start or definitive disposition; `outcome` waits for the end or definitive disposition. None settles on interim `Unknown`. Repeating a retained key and spec returns the same handle; a changed spec fails `KeyMismatch`. Active keys are retained until settled. `maxHistory` bounds completed key retention (4096 by default, zero disables history); older completed keys can be submitted anew once evicted. Handles already held by callers keep their original results. Applications needing longer deduplication retain their own key ledger. `window.notBefore` and `window.startBy` are relative monotonic durations, with firm deadlines dropped on expiry and soft deadlines recorded late at start. `start` defaults to `Follow` (the next boundary in its lane); `At` names an epoch millisecond anchor and a late policy (`nextBoundary`, `skipIfLaterThan`, or `drop`); `Asap` airs at the next boundary ahead of everything waiting in every lane and builds first; `Manual` is built ahead and held until `release(key)`, which sends it to the next boundary as `Asap`. A held item ranks behind everything, is not runway, and is built early only while filler keeps the runway at its floor; if it would still be next with less than 1.5 s of the playing clip left, it is removed and rebuilt, as a future `At` clip is. With filler off it is built once released. A drain withdraws a held item, since it cannot air without a release. `release` of a key that holds nothing fails with `InvalidRequest`. The scheduler fills toward an upcoming anchor, and cuts a playing clip only for a lane declared with `cut: true`. `WouldMissDeadline` rejects an item that cannot start before its deadline: after the rest of the playing clip and the Ready clips ranked ahead of it, and, once the scheduler has measured three builds, after its own build and every build that must go before it (the one in flight, higher lanes, a replacement or a started group in its lane, and earlier deadlines). A negative `startBy` offset is refused too. The projection is optimistic, so a refusal means the deadline cannot be met. After the same measurements, a firm item that can no longer start before its deadline, because work arrived ahead of it, is dropped as `late` before it takes the build slot. The scheduler measures each build from sending it to its clip being Ready, per requested second of clip, and the actual over the requested length; `state.estimates` reports the median and p95 of its recent builds, with continued builds measured apart as `continuedBuild`. A nonzero runway floor is raised to one p95 build of the next filler clip plus a second, so a refill started at the floor is Ready before the picture runs out; a zero floor still keeps filler off. The runway counts the playing clip from the engine's own start observation, so a new clip is never counted as empty while its Started event is being handled. A refused `At` removal is paced and retried; an uncertain removal waits for a fresh observation before retrying. Actual starts remain observable even when the provider could not hold the anchor. `withdraw(key)` waits for a provider-confirmed removal, including an in-flight build. A refused removal is not an outcome: the scheduler retries it a second later, and again after each refusal, until the clip is removed (`withdrawn`), starts (`already-started`) or settles another way (`not-found` for a failure, `already-started` if it ended or its start went unobserved). Only an unknown removal outcome fails the call, since the removal may already have taken effect. `drain()` stops admission, withdraws waiting clips and waits for the current clip to end. `drain({ finish: "accepted" })` lets all accepted items reach their disposition, including those still waiting to build, and keeps filler playing and refilling until every one of them is Ready, with its `At` anchor reached, has started or has settled, so a build in progress does not freeze the host. An `Unknown` item does not hold filler, but it holds successful drain completion until it settles. The scheduler's unknown-recovery deadline bounds waiter settlement if uncertainty remains; that failure does not establish remote cleanup completion. Both then stop filler admission, and both call `engine.stopRenewal` immediately, even while an enqueue is pending: new replacements cannot open, an opening replacement is cancelled and joined, and already acquired sources may finish. Expiry still retires a source and surfaces failure if no existing replacement can continue. The first drain call selects its mode. The owner closes its orchestration handle after drain completes.
180
180
 
181
181
  `submitGroup({ key, lane, parts, window })` submits a group: parts, each with its own key and request, that build in order and air back to back, such as the beats of one spoken line. It returns a handle per part. Once a group's first part is admitted, its remaining parts build before any other item in its lane, so a deadline can move a whole group ahead of others in its lane but never split one. Once a part has started, the group's remaining Ready parts stay ahead of the rest of their lane. A higher lane can still go in at a boundary between parts. The window applies to the first part, and a group takes no `start` mode. `withdraw` accepts a group key, which withdraws every unstarted part, or a part key, which withdraws that part and every part after it; a part key's reply is that part's own outcome. A part that fails or is dropped, other than by being replaced, withdraws the parts after it, recorded as `Dropped` with reason `withdrawn`. Repeating a group key with the same parts returns the same handle. A changed group, or a key already used by an item or part, fails with `KeyMismatch`. A group holds at most 64 parts.
182
182
 
@@ -192,7 +192,7 @@ Each lane can declare how it treats a new submission and whether it may cut. `co
192
192
 
193
193
  An item, group part, insert or replacement can carry up to 32 `cues`, secondary events such as an overlay, a caption or a browser action tied to its clip: each has a `name` and fires at an offset from the clip's observed start (`{ from: "start", offset }`) or back from its end (`{ from: "end", offset }`, measured from the provider's actual length). `scheduler.cues` publishes each `{ key, name, at }` once, within the scheduler's 100 ms turn of its time, while the clip plays. A cue that falls after a clip ended early, when it was cut, never fires, and a clip whose start was not observed fires none. A cue is a scheduling fact, not proof that the frame it names was presented.
194
194
 
195
- `asRun` is an unbounded per-item lifecycle stream: Accepted, Building, Ready, Started, Ended, Dropped, Failed, Unobserved or Unknown. The plan outlives a session: when renewal replaces a lost session, an item whose clip was queued, building or Ready there, and so never aired, is carried to the replacement and rebuilt under the same key, recorded as `Accepted` again with `carried: { sessionId }` for the lost session. A clip that was playing when its session was lost still settles `Failed`, since part of it aired, and an item whose enqueue outcome was unknown on the lost session still settles as terminal `Unknown`. Each item also has an `outcome` wait. `Started.durationSeconds` is the provider-observed duration. `Failed.reason` distinguishes `Clip` failure, `Command` refusal and `Scheduler` termination, retaining the original typed cause where available. `scheduler.failure` exposes the original terminal failure only after retained item waits, actor-owned control replies and `state.accepting = false` are committed, so a supervisor may immediately close its owner without stranding those waits. An owner closed from a handle wait or an `asRun` subscriber also finds each item's recorded evidence settled, not replaced, and evidence recorded before a terminal claim is on `asRun` before that claim's settlement and before `scheduler.failure` publishes. Typed termination retains terminal `Unknown` and already observed `Started`/`firstDecisive` evidence, and a withdrawal of an item already recorded `Dropped` replies `withdrawn`; unexpected defects or interruption preserve the original Cause. The signal does not wait for resumed callers or establish remote cleanup completion. Scope closure signals `Closed`, and pending or subsequent control calls fail with `SessionClosed`. `Started.at` and `Ended.at` are observed epoch times; elapsed airtime and deadline windows use Effect's monotonic clock. `Unobserved` means an acknowledged clip's start was not seen, including after observation overflow. `Unknown` means dispatch has no acknowledgment. A keyed clip observed later can still acquire its Ready or Started evidence. An absent queue snapshot cannot prove an unknown clip never played, so the scheduler never replays that key automatically. A replay would be safe only with proof that the provider never accepted the enqueue: a queue read the provider answered after processing it, which needs H3 to process commands in the order it receives them. That ordering is not documented or qualified on hosted H3, so an unknown key stays unknown; a clip lost with a replaced session is rebuilt because it was seen queued or Ready there and never started. The renewal engine fences each enqueue to its selected physical source before dispatch; an unknown outcome becomes terminal when that source retires without keyed proof. A custom engine that cannot fence its source retains uncertainty until keyed evidence or scheduler failure; the unknown-recovery deadline prevents indefinite scheduler service behind it. A withdrawal of that key fails with the original uncertain outcome unless a provider clip is found and removed. The scheduler carries an item key in library-owned provider metadata and leaves the app's request metadata untouched. As-run records provider evidence; an app that needs proof of presented or encoded output must gather that separately.
195
+ `asRun` is an unbounded per-item lifecycle stream: Accepted, Building, Ready, Started, Ended, Dropped, Failed, Unobserved or Unknown. The plan outlives a session: when renewal replaces a lost session, an item whose clip was queued, building or Ready there, and so never aired, is carried to the replacement and rebuilt under the same key, recorded as `Accepted` again with `carried: { sessionId }` for the lost session. An item whose clip is lost before it was built, with two sessions in a row, settles `Failed` instead. Reactor terminates a session given a flagged prompt, possibly after accepting the clip, so such a clip would end every session it was rebuilt on, each billed at least a minute. A clip that was built passed screening, and is rebuilt however often it is lost. A clip that was playing when its session was lost still settles `Failed`, since part of it aired, and an item whose enqueue outcome was unknown on the lost session still settles as terminal `Unknown`. Each item also has an `outcome` wait. `Started.durationSeconds` is the provider-observed duration. `Failed.reason` distinguishes `Clip` failure, `Command` refusal and `Scheduler` termination, retaining the original typed cause where available. `scheduler.failure` exposes the original terminal failure only after retained item waits, actor-owned control replies and `state.accepting = false` are committed, so a supervisor may immediately close its owner without stranding those waits. An owner closed from a handle wait or an `asRun` subscriber also finds each item's recorded evidence settled, not replaced, and evidence recorded before a terminal claim is on `asRun` before that claim's settlement and before `scheduler.failure` publishes. Typed termination retains terminal `Unknown` and already observed `Started`/`firstDecisive` evidence, and a withdrawal of an item already recorded `Dropped` replies `withdrawn`; unexpected defects or interruption preserve the original Cause. The signal does not wait for resumed callers or establish remote cleanup completion. Scope closure signals `Closed`, and pending or subsequent control calls fail with `SessionClosed`. `Started.at` and `Ended.at` are observed epoch times; elapsed airtime and deadline windows use Effect's monotonic clock. `Unobserved` means an acknowledged clip's start was not seen, including after observation overflow. `Unknown` means dispatch has no acknowledgment. A keyed clip observed later can still acquire its Ready or Started evidence. An absent queue snapshot cannot prove an unknown clip never played, so the scheduler never replays that key automatically. A replay would be safe only with proof that the provider never accepted the enqueue: a queue read the provider answered after processing it, which needs H3 to process commands in the order it receives them. Reactor does not document that ordering. Its runtime runs a model's command handlers between generation steps, and they may be asynchronous. Three prompt-only probes on hosted H3 found commands applied in the order sent, which does not cover an enqueue that uploads references. So an unknown key stays unknown; a clip lost with a replaced session is rebuilt because it was seen queued or Ready there and never started. The renewal engine fences each enqueue to its selected physical source before dispatch; an unknown outcome becomes terminal when that source retires without keyed proof. A custom engine that cannot fence its source retains uncertainty until keyed evidence or scheduler failure; the unknown-recovery deadline prevents indefinite scheduler service behind it. A withdrawal of that key fails with the original uncertain outcome unless a provider clip is found and removed. The scheduler carries an item key in library-owned provider metadata and leaves the app's request metadata untouched. As-run records provider evidence; an app that needs proof of presented or encoded output must gather that separately.
196
196
 
197
197
  `Orchestration.Submission` models an inert prepared operation. Preparation may be interrupted before commit; once execution commits, callers joining or abandoning the result do not replay the dispatch. `CommandFailure.context` distinguishes `not-submitted`, `unknown`, and `replied` outcomes independently of the transport error category, and an engine command fails with `EngineError`, a `CommandFailure` or a local `PolicyFailure`.
198
198
 
@@ -1 +1 @@
1
- {"version":3,"file":"renewal.d.ts","sourceRoot":"","sources":["../../src/orchestration/renewal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renewal.d.ts","sourceRoot":"","sources":["../../src/orchestration/renewal.ts"],"names":[],"mappings":"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"}
@@ -805,6 +805,10 @@ const makeOwner = (options, continuous) => Effect.gen(function* () {
805
805
  },
806
806
  });
807
807
  });
808
+ // H3's stop is not scoped to a clip, and its reply comes before the session reports the
809
+ // clip ended, so for a moment the session still names a stopped clip as playing. A clip
810
+ // is stopped at most once: a second cut would stop the clip that started after it.
811
+ let stopped;
808
812
  const owner = (id, operation) => Effect.gen(function* () {
809
813
  const matches = yield* Effect.forEach([...slots.values()].filter((slot) => !slot.closed), (slot) => slot.source.state.pipe(Effect.map((state) => ({ slot, state }))));
810
814
  const found = matches.filter(({ state }) => activeIds(state).includes(id));
@@ -855,8 +859,15 @@ const makeOwner = (options, continuous) => Effect.gen(function* () {
855
859
  }
856
860
  }))),
857
861
  remove: (id) => commands.withPermit(guard("pop", owner(id, "pop").pipe(Effect.flatMap(({ slot }) => slot.source.remove(id))))),
858
- cut: (id) => commands.withPermit(guard("stop", owner(id, "stop").pipe(Effect.flatMap(({ slot, state }) => Option.getOrUndefined(state.playing)?.clipId === id
859
- ? slot.source.stop
862
+ cut: (id) => commands.withPermit(guard("stop", owner(id, "stop").pipe(Effect.flatMap(({ slot, state }) => Option.getOrUndefined(state.playing)?.clipId === id && stopped !== id
863
+ ? slot.source.stop.pipe(Effect.onExit((exit) => {
864
+ // Only a stop that was never sent leaves the clip to be stopped again.
865
+ const error = Exit.findError(exit);
866
+ if (!(error._tag === "Success" &&
867
+ error.success.context.outcome === "not-submitted"))
868
+ stopped = id;
869
+ return Effect.void;
870
+ }))
860
871
  : PolicyFailure.refuse("NotFound", "The clip is no longer playing", "stop"))))),
861
872
  move: (id, position, queue) => commands.withPermit(guard("move", Effect.gen(function* () {
862
873
  if (!Number.isSafeInteger(position) || position < 0)
@@ -1 +1 @@
1
- {"version":3,"file":"renewal.js","sourceRoot":"","sources":["../../src/orchestration/renewal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renewal.js","sourceRoot":"","sources":["../../src/orchestration/renewal.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,11 @@ export interface PlannedItem {
45
45
  readonly asap?: boolean;
46
46
  /** Built continuing from the clip that airs just before it. */
47
47
  readonly continuity?: "previous";
48
+ /**
49
+ * The clip it was built to continue from, when that clip airs after its place: it would
50
+ * not be Ready before the clip ahead of it ended. It waits behind that clip until it starts.
51
+ */
52
+ readonly follows?: ClipId;
48
53
  }
49
54
  /**
50
55
  * The indexes of a playing clip's cues that fall due by `untilMs` and have not fired, in
@@ -71,13 +76,28 @@ export interface Estimates {
71
76
  readonly median: number;
72
77
  readonly p95: number;
73
78
  } | undefined;
79
+ /** The same for clips built continuing from another, which take longer. */
80
+ readonly continuedBuild?: {
81
+ readonly median: number;
82
+ readonly p95: number;
83
+ } | undefined;
74
84
  /** A built clip's actual length over its requested length. */
75
85
  readonly length: number;
76
86
  }
77
87
  /** Enough measured builds to act on. */
78
88
  export declare const minimumSamples = 3;
79
- /** Estimates from recent samples: build seconds per requested second, and actual over requested length. */
80
- export declare const estimatesFrom: (build: ReadonlyArray<number>, length: ReadonlyArray<number>) => Estimates;
89
+ /**
90
+ * Estimates from recent samples: build seconds per requested second, of independent and of
91
+ * continued clips, and actual over requested length.
92
+ */
93
+ export declare const estimatesFrom: (build: ReadonlyArray<number>, length: ReadonlyArray<number>, continued?: ReadonlyArray<number>) => Estimates;
94
+ /**
95
+ * Build seconds per requested second that a continued build is projected at, erring long:
96
+ * the p95 of measured continued builds, or their longest while there are fewer than three;
97
+ * failing those, the same of independent builds times `continuedBuildFactor`. Undefined
98
+ * before any build was measured.
99
+ */
100
+ export declare const continuedBuildRate: (build: ReadonlyArray<number>, continued: ReadonlyArray<number>) => number | undefined;
81
101
  /**
82
102
  * An edit batch that has not taken effect yet. Until it does, what it withdraws is only
83
103
  * cover: it airs after everything else in its lane, so any clip the batch adds goes first.
@@ -127,6 +147,8 @@ export interface PolicySnapshot {
127
147
  readonly brokenGroups: ReadonlyMap<ItemKey, number>;
128
148
  readonly batches: ReadonlyArray<PendingBatch>;
129
149
  readonly estimates: Estimates;
150
+ /** What a continued build is projected at, per requested second; see `continuedBuildRate`. */
151
+ readonly continuedBuildRate: number | undefined;
130
152
  /** When the filler build in flight on the preferred source was sent, if one is. */
131
153
  readonly fillerDispatchedAtMs: number | undefined;
132
154
  /** The requested length of the next filler clip, if known. */
@@ -138,7 +160,7 @@ export interface PolicySnapshot {
138
160
  readonly min: number;
139
161
  readonly max: number;
140
162
  };
141
- /** A playing clip whose cut was refused is not cut again. */
163
+ /** A playing clip already cut, or whose cut was refused, is not cut again. */
142
164
  readonly blockedCut: ClipId | undefined;
143
165
  }
144
166
  export type PolicyAction = {
@@ -150,6 +172,8 @@ export type PolicyAction = {
150
172
  readonly key: ItemKey;
151
173
  /** The generated clip it continues from, for an item that asks for continuity. */
152
174
  readonly continueFrom?: ClipId;
175
+ /** Set when that clip airs after the item's place, so the item must wait behind it. */
176
+ readonly follows?: ClipId;
153
177
  } | {
154
178
  readonly _tag: "Cut";
155
179
  readonly clipId: ClipId;
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-policy.d.ts","sourceRoot":"","sources":["../../src/orchestration/scheduler-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler-policy.d.ts","sourceRoot":"","sources":["../../src/orchestration/scheduler-policy.ts"],"names":[],"mappings":"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"}