reactor-effect-client 0.3.1 → 0.3.2
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 +3 -3
- package/dist/SessionTypes.d.ts +2 -0
- package/dist/SessionTypes.d.ts.map +1 -1
- package/dist/SessionTypes.js.map +1 -1
- package/dist/orchestration/index.d.ts +2 -2
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +1 -1
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/open-h3.d.ts +38 -2
- package/dist/orchestration/open-h3.d.ts.map +1 -1
- package/dist/orchestration/open-h3.js +63 -1
- package/dist/orchestration/open-h3.js.map +1 -1
- package/dist/session/_internal/acquire.d.ts.map +1 -1
- package/dist/session/_internal/acquire.js +13 -2
- package/dist/session/_internal/acquire.js.map +1 -1
- package/dist/session/_internal/remote.d.ts.map +1 -1
- package/dist/session/_internal/remote.js +2 -1
- package/dist/session/_internal/remote.js.map +1 -1
- package/dist/session/index.d.ts +8 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ These seven paths are the complete public export map. Internal file layout does
|
|
|
30
30
|
|
|
31
31
|
## Session ownership
|
|
32
32
|
|
|
33
|
-
The root exports the `Client` service and its `make` and `layer` constructors. They require Effect HTTP and crypto services plus a `PeerFactory`. `create` allocates a remote session; `attach` identifies an existing session without taking ownership of its remote lifetime. Both return the same scope-owned `Session` contract, and `session.connect` starts WebRTC. `createConnected` and `attachConnected` combine those steps and clean up a partial acquisition before reporting failure.
|
|
33
|
+
The root exports the `Client` service and its `make` and `layer` constructors. They require Effect HTTP and crypto services plus a `PeerFactory`. `create` allocates a remote session; `attach` identifies an existing session without taking ownership of its remote lifetime, unless it is given `adopt: true`, which takes that lifetime over: the adopted session is `owned`, so closing it, or a failed `attachConnected`, terminates it, as a process resuming a session its dead owner recorded needs. Both return the same scope-owned `Session` contract, and `session.connect` starts WebRTC. `createConnected` and `attachConnected` combine those steps and clean up a partial acquisition before reporting failure.
|
|
34
34
|
|
|
35
35
|
Releasing an owned session attempts and independently confirms remote termination. Releasing an attached session closes its local resources and publication claims. `session.close` returns a `CloseReport` that retains local cleanup errors and remote termination uncertainty. Supervisors can inspect that evidence without allocating another owner.
|
|
36
36
|
|
|
@@ -102,7 +102,7 @@ const enqueued = engine.enqueue(request).pipe(
|
|
|
102
102
|
|
|
103
103
|
## Tracing
|
|
104
104
|
|
|
105
|
-
The client traces through Effect's `Tracer`, so any tracer the application provides, such as `OtlpTracer`, receives its spans. An operation a caller can cancel has a client span at the call: `reactor.session.create` and `reactor.session.attach`, `reactor.session.connect` and `reactor.session.reconnect` (with an event per phase, from `reactor.connect.described` to `reactor.connect.ready`), `reactor.session.upload` and `reactor.session.close`, and in orchestration `reactor.orchestration.renewal.open`, `recover`, `replace` and `switch`. A request the session owns past its caller's wait, a command or control request (`reactor.session.command`, `reactor.session.control`) or an H3 enqueue (`reactor.h3.enqueue`, with `reactor.h3.reconcile`), has its span on its own execution, so the span ends with the request's outcome even after the caller stopped waiting. Termination returns a verdict rather than failing, so `reactor.coordinator.terminate` and `reactor.session.close` carry it as `reactor.termination.attempted`, `confirmed` and `evidence`: a span that ended without error does not mean a paid session stopped. Spans name identity and outcome only: never a credential, command input, a reply, an upload's name or bytes, or provider text. The renewal tick, frames, streams and heartbeats are not traced.
|
|
105
|
+
The client traces through Effect's `Tracer`, so any tracer the application provides, such as `OtlpTracer`, receives its spans. An operation a caller can cancel has a client span at the call: `reactor.session.create` and `reactor.session.attach`, `reactor.session.connect` and `reactor.session.reconnect` (with an event per phase, from `reactor.connect.described` to `reactor.connect.ready`), `reactor.session.upload` and `reactor.session.close`, and in orchestration `reactor.orchestration.resume` and `reactor.orchestration.renewal.open`, `recover`, `replace` and `switch`. A request the session owns past its caller's wait, a command or control request (`reactor.session.command`, `reactor.session.control`) or an H3 enqueue (`reactor.h3.enqueue`, with `reactor.h3.reconcile`), has its span on its own execution, so the span ends with the request's outcome even after the caller stopped waiting. Termination returns a verdict rather than failing, so `reactor.coordinator.terminate` and `reactor.session.close` carry it as `reactor.termination.attempted`, `confirmed` and `evidence`: a span that ended without error does not mean a paid session stopped. Spans name identity and outcome only: never a credential, command input, a reply, an upload's name or bytes, or provider text. The renewal tick, frames, streams and heartbeats are not traced.
|
|
106
106
|
|
|
107
107
|
## Time options
|
|
108
108
|
|
|
@@ -158,7 +158,7 @@ The adapter exposes autoplay, flush, playback, reset, and other model controls a
|
|
|
158
158
|
|
|
159
159
|
## Orchestration and simulation
|
|
160
160
|
|
|
161
|
-
`reactor-effect-client/orchestration` owns opt-in scheduling, sequence routing, renewal, and recovering media. `fromH3Session(session, options)` builds a physical source from one connected session, deriving its H3 provider view (exposed as `source.provider`) and its decoded media from that session, so a source cannot pair one session's commands with another's media; it needs a host with decoded media (the native host), and `make({ open, ...options })` returns a handle with `engine`, `media`, `mediaState`, sequence operations, and joined cleanup reports. The `open` effect supplies each source and its lifetime budget. `openH3({ mint, onAllocated })` is that effect for paid H3 sessions: it mints the token, allocates the session, runs `onAllocated({ session, grant })` before connecting so the owner can be recorded durably, then connects and derives the source, with the granted length as its lifetime. `Orchestration.layer(options)` provides the handle's `Engine`, `Media` and `Handle` services from one orchestration; each build opens its own paid chain, so bind the layer to a `const`. `engine.observe(options)` is the engine's gap-free observation, as `session.observe` and `provider.observe` are for theirs: it subscribes before reading, returning the current `EngineState` with a stream of every later event (apply events idempotently by `clipId`; after an `Overflow`, observe again). `handle.observe(options)` extends it to the whole handle: the engine and media state, then engine events, renewals and media-state transitions in the one order they happened. `onRenewal` runs on its own reader and never holds the handle's command permit, and the orchestration logs through Effect's logger at debug level. Application scheduling, pricing, persona, and show policy stay outside the session and H3 layers.
|
|
161
|
+
`reactor-effect-client/orchestration` owns opt-in scheduling, sequence routing, renewal, and recovering media. `fromH3Session(session, options)` builds a physical source from one connected session, deriving its H3 provider view (exposed as `source.provider`) and its decoded media from that session, so a source cannot pair one session's commands with another's media; it needs a host with decoded media (the native host), and `make({ open, ...options })` returns a handle with `engine`, `media`, `mediaState`, sequence operations, and joined cleanup reports. The `open` effect supplies each source and its lifetime budget. `openH3({ mint, onAllocated })` is that effect for paid H3 sessions: it mints the token, allocates the session, runs `onAllocated({ session, grant, allocation })` before connecting so the owner can be recorded durably, then connects and derives the source, with the granted length as its lifetime. The `allocation` is the record to persist (`Orchestration.Allocation`, without the token); its `endsAt` is when the granted length ends at the latest. `resumeH3({ allocation, jwt })` is the other half: after the owner died, it attaches to the recorded session with `adopt: true` and derives its source, sending only state and queue reads, never a canvas or other command a playing session refuses, with the time left until `endsAt` as its lifetime, so it is also a renewal `open`, and renewal terminates the session when it retires it. It refuses a record without `endsAt` or past it before anything is sent. `Orchestration.layer(options)` provides the handle's `Engine`, `Media` and `Handle` services from one orchestration; each build opens its own paid chain, so bind the layer to a `const`. `engine.observe(options)` is the engine's gap-free observation, as `session.observe` and `provider.observe` are for theirs: it subscribes before reading, returning the current `EngineState` with a stream of every later event (apply events idempotently by `clipId`; after an `Overflow`, observe again). `handle.observe(options)` extends it to the whole handle: the engine and media state, then engine events, renewals and media-state transitions in the one order they happened. `onRenewal` runs on its own reader and never holds the handle's command permit, and the orchestration logs through Effect's logger at debug level. Application scheduling, pricing, persona, and show policy stay outside the session and H3 layers.
|
|
162
162
|
|
|
163
163
|
`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.
|
|
164
164
|
|
package/dist/SessionTypes.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export type AcquisitionIntent = {
|
|
|
23
23
|
readonly _tag: "Attach";
|
|
24
24
|
readonly sessionId: string;
|
|
25
25
|
readonly connectionId?: number;
|
|
26
|
+
/** The attached session's remote lifetime is taken over: it is owned. */
|
|
27
|
+
readonly adopt?: true;
|
|
26
28
|
};
|
|
27
29
|
/**
|
|
28
30
|
* The session-owned reply budget. The session's default and a call's override
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionTypes.d.ts","sourceRoot":"","sources":["../src/SessionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,KAAK,CAAC,MAAM,qBAAqB,CAAC;AAE9C,MAAM,MAAM,MAAM,GACd,MAAM,GACN,YAAY,GACZ,SAAS,GACT,OAAO,GACP,cAAc,GACd,SAAS,GACT,QAAQ,CAAC;AACb,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAExE,yFAAyF;AACzF,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC3B,GACD;
|
|
1
|
+
{"version":3,"file":"SessionTypes.d.ts","sourceRoot":"","sources":["../src/SessionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,KAAK,CAAC,MAAM,qBAAqB,CAAC;AAE9C,MAAM,MAAM,MAAM,GACd,MAAM,GACN,YAAY,GACZ,SAAS,GACT,OAAO,GACP,cAAc,GACd,SAAS,GACT,QAAQ,CAAC;AACb,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAExE,yFAAyF;AACzF,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;CACvB,CAAC;AAEN;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;CACpD;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB,EAAE,oBAAoB;IAChF;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;IACxD,wFAAwF;IACxF,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAChC,0FAA0F;IAC1F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC;IAClC,wFAAwF;IACxF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;CAC9B;AAED,2BAA2B;AAC3B,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;CACvE;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW,EAAE,eAAe;IAClE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAClD;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOtB,0EAA0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG1E,CAAC;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC;CAAG;AAE9E,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACtF;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;QACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,MAAM,QAAQ,GAAG,eAAe,GACpC,CACI,UAAU,GACV;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;QAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;QACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACH,CACJ,CAAC;AAEJ,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;CAC7B,GAAG,CACE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAA;CAAE,GAC3D;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC;CACnC,CACJ,CAAC;AAEJ,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpD;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,oBAAoB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACvE;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,CAAC,YAAY,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAChF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;CACnC;AACD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;CACpC;AACD,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;CAC5D;AACD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,KAAK,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC"}
|
package/dist/SessionTypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionTypes.js","sourceRoot":"","sources":["../src/SessionTypes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionTypes.js","sourceRoot":"","sources":["../src/SessionTypes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAyGnD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC,OAAO;IAC3B,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACrE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,WAAW;IACnB,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/C,0EAA0E;IAC1E,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC;CAChD,CAAC,CAAC"}
|
|
@@ -7,8 +7,8 @@ export { fromH3Session, isLocalClip } from "./h3-source.js";
|
|
|
7
7
|
export type { H3Source, SessionSourceOptions } from "./h3-source.js";
|
|
8
8
|
export { layer, make } from "./renewal.js";
|
|
9
9
|
export type { Options, Opened, Renewal, MediaTail } from "./renewal.js";
|
|
10
|
-
export { Allocation, openH3 } from "./open-h3.js";
|
|
11
|
-
export type { Allocated, OpenedH3, OpenH3Options } from "./open-h3.js";
|
|
10
|
+
export { Allocation, openH3, resumeH3 } from "./open-h3.js";
|
|
11
|
+
export type { Allocated, OpenedH3, OpenH3Options, ResumeH3Options } from "./open-h3.js";
|
|
12
12
|
export * as References from "./references.js";
|
|
13
13
|
export * as Sequences from "../Sequence.js";
|
|
14
14
|
export * as Submission from "../Submission.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,MAAM,EACN,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,UAAU,EACV,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,MAAM,EACN,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,MAAM,EACN,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,UAAU,EACV,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,MAAM,EACN,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC"}
|
|
@@ -4,7 +4,7 @@ export { Engine, Media, Handle, EngineEvent, BuildTiming, PolicyCleanup, SourceC
|
|
|
4
4
|
export { emptyState, isIdle, isLive, committedMs, securedMs, pendingCount } from "./queries.js";
|
|
5
5
|
export { fromH3Session, isLocalClip } from "./h3-source.js";
|
|
6
6
|
export { layer, make } from "./renewal.js";
|
|
7
|
-
export { Allocation, openH3 } from "./open-h3.js";
|
|
7
|
+
export { Allocation, openH3, resumeH3 } from "./open-h3.js";
|
|
8
8
|
export * as References from "./references.js";
|
|
9
9
|
export * as Sequences from "../Sequence.js";
|
|
10
10
|
export * as Submission from "../Submission.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,MAAM,EACN,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AAqBpB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,MAAM,EACN,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AAqBpB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC"}
|
|
@@ -5,9 +5,10 @@ import type * as Path from "effect/Path";
|
|
|
5
5
|
import * as Schema from "effect/Schema";
|
|
6
6
|
import * as Scope from "effect/Scope";
|
|
7
7
|
import type * as Http from "effect/unstable/http/HttpClient";
|
|
8
|
+
import type * as Redacted from "effect/Redacted";
|
|
8
9
|
import type { TokenGrant } from "../coordinator/_internal/schemas.js";
|
|
9
|
-
import { AcquisitionFailure } from "../errors.js";
|
|
10
|
-
import type { CommandFailure, PolicyFailure
|
|
10
|
+
import { AcquisitionFailure, ReactorError } from "../errors.js";
|
|
11
|
+
import type { CommandFailure, PolicyFailure } from "../errors.js";
|
|
11
12
|
import { Client } from "../session/index.js";
|
|
12
13
|
import type { CreateOptions, Session } from "../session/index.js";
|
|
13
14
|
import type { H3Source, SessionSourceOptions } from "./h3-source.js";
|
|
@@ -23,6 +24,14 @@ export declare const Allocation: Schema.Struct<{
|
|
|
23
24
|
readonly model: Schema.String;
|
|
24
25
|
/** When the grant's token expires, in seconds since the epoch. */
|
|
25
26
|
readonly expiresAt: Schema.Finite;
|
|
27
|
+
/**
|
|
28
|
+
* When the session's granted length ends at the latest, in seconds since the
|
|
29
|
+
* epoch: the grant's `maxSessionSeconds` from just before the create request,
|
|
30
|
+
* so never later than the server's own end. `resumeH3` takes a resumed
|
|
31
|
+
* session's lifetime from it. `openH3` always sets it; a record written by
|
|
32
|
+
* 0.3.0 lacks it.
|
|
33
|
+
*/
|
|
34
|
+
readonly endsAt: Schema.optionalKey<Schema.Finite>;
|
|
26
35
|
}>;
|
|
27
36
|
export interface Allocation extends Schema.Schema.Type<typeof Allocation> {
|
|
28
37
|
}
|
|
@@ -61,5 +70,32 @@ export declare const openH3With: (bind: Bind) => <E = never, R = never>(options:
|
|
|
61
70
|
* `Orchestration.make({ open: openH3(options) })`.
|
|
62
71
|
*/
|
|
63
72
|
export declare const openH3: <E = never, R = never>(options: OpenH3Options<E, R>) => Effect.Effect<OpenedH3, AcquisitionFailure | E, R | Client | Scope.Scope | Crypto.Crypto | FileSystem.FileSystem | Path.Path | Http.HttpClient>;
|
|
73
|
+
export interface ResumeH3Options {
|
|
74
|
+
/** The owner record `openH3` handed to `onAllocated`, with its `endsAt`. */
|
|
75
|
+
readonly allocation: Allocation;
|
|
76
|
+
/** The grant's token, stored beside the record: it authenticates the attach and the termination. */
|
|
77
|
+
readonly jwt: Redacted.Redacted<string>;
|
|
78
|
+
/**
|
|
79
|
+
* The source's options, without `canvas`: a resumed session may be playing,
|
|
80
|
+
* and H3 refuses a canvas change unless it is idle, so the session keeps the
|
|
81
|
+
* canvas it has. `holdLastFrame`, which H3 accepts at any time, still applies.
|
|
82
|
+
*/
|
|
83
|
+
readonly source?: Omit<SessionSourceOptions, "canvas"> | undefined;
|
|
84
|
+
}
|
|
85
|
+
/** `resumeH3` over a given session binder; internal, so tests can supply media. */
|
|
86
|
+
export declare const resumeH3With: (bind: Bind) => (options: ResumeH3Options) => Effect.Effect<OpenedH3, AcquisitionFailure, Client | Scope.Scope | Crypto.Crypto | FileSystem.FileSystem | Path.Path | Http.HttpClient>;
|
|
87
|
+
/**
|
|
88
|
+
* Resume a paid H3 session that `openH3` allocated, from its owner record and
|
|
89
|
+
* token, after its owner died: attach to it and adopt it, so this process owns
|
|
90
|
+
* its remote lifetime and closing the source terminates it, then derive its
|
|
91
|
+
* source. It sends no policy command a busy session refuses: the session keeps
|
|
92
|
+
* its canvas, queue and playback, and only reads state. The lifetime is what
|
|
93
|
+
* remains until the record's `endsAt`, so it is directly a renewal `open`, and
|
|
94
|
+
* renewal terminates the session when it retires it. A record without
|
|
95
|
+
* `endsAt`, for another model, or past its end is refused before anything is
|
|
96
|
+
* sent; a failure after attaching terminates the adopted session and reports
|
|
97
|
+
* that cleanup in the `AcquisitionFailure`.
|
|
98
|
+
*/
|
|
99
|
+
export declare const resumeH3: (options: ResumeH3Options) => Effect.Effect<OpenedH3, AcquisitionFailure, Client | Scope.Scope | Crypto.Crypto | FileSystem.FileSystem | Path.Path | Http.HttpClient>;
|
|
64
100
|
export {};
|
|
65
101
|
//# sourceMappingURL=open-h3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-h3.d.ts","sourceRoot":"","sources":["../../src/orchestration/open-h3.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"open-h3.d.ts","sourceRoot":"","sources":["../../src/orchestration/open-h3.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import * as Clock from "effect/Clock";
|
|
1
2
|
import * as Effect from "effect/Effect";
|
|
2
3
|
import * as Exit from "effect/Exit";
|
|
3
4
|
import * as Schema from "effect/Schema";
|
|
4
5
|
import * as Scope from "effect/Scope";
|
|
5
|
-
import { AcquisitionFailure, isReactorFailure } from "../errors.js";
|
|
6
|
+
import { AcquisitionFailure, isReactorFailure, ReactorError } from "../errors.js";
|
|
6
7
|
import { modelName } from "../h3/profile.js";
|
|
7
8
|
import { noAcquisition } from "../session/_internal/acquire.js";
|
|
8
9
|
import { Client } from "../session/index.js";
|
|
@@ -18,6 +19,14 @@ export const Allocation = Schema.Struct({
|
|
|
18
19
|
model: Schema.String,
|
|
19
20
|
/** When the grant's token expires, in seconds since the epoch. */
|
|
20
21
|
expiresAt: Schema.Finite,
|
|
22
|
+
/**
|
|
23
|
+
* When the session's granted length ends at the latest, in seconds since the
|
|
24
|
+
* epoch: the grant's `maxSessionSeconds` from just before the create request,
|
|
25
|
+
* so never later than the server's own end. `resumeH3` takes a resumed
|
|
26
|
+
* session's lifetime from it. `openH3` always sets it; a record written by
|
|
27
|
+
* 0.3.0 lacks it.
|
|
28
|
+
*/
|
|
29
|
+
endsAt: Schema.optionalKey(Schema.Finite),
|
|
21
30
|
});
|
|
22
31
|
/** `openH3` over a given session binder; internal, so tests can supply media. */
|
|
23
32
|
export const openH3With = (bind) => (options) => Effect.gen(function* () {
|
|
@@ -26,6 +35,8 @@ export const openH3With = (bind) => (options) => Effect.gen(function* () {
|
|
|
26
35
|
// A child of the caller's scope owns the paid session, so a failed open
|
|
27
36
|
// releases it now rather than when a longer-lived caller scope closes.
|
|
28
37
|
const scope = yield* Scope.fork(yield* Effect.scope);
|
|
38
|
+
// The server starts the granted length no earlier than the request.
|
|
39
|
+
const requested = yield* Clock.currentTimeMillis;
|
|
29
40
|
const session = yield* client
|
|
30
41
|
.create({ ...options.create, model: modelName, jwt: grant.jwt })
|
|
31
42
|
.pipe(Scope.provide(scope));
|
|
@@ -39,6 +50,7 @@ export const openH3With = (bind) => (options) => Effect.gen(function* () {
|
|
|
39
50
|
ownership: session.ownership,
|
|
40
51
|
model: modelName,
|
|
41
52
|
expiresAt: grant.expiresAt,
|
|
53
|
+
endsAt: requested / 1000 + grant.granted.maxSessionSeconds,
|
|
42
54
|
},
|
|
43
55
|
});
|
|
44
56
|
yield* session.connect;
|
|
@@ -62,4 +74,54 @@ export const openH3With = (bind) => (options) => Effect.gen(function* () {
|
|
|
62
74
|
* `Orchestration.make({ open: openH3(options) })`.
|
|
63
75
|
*/
|
|
64
76
|
export const openH3 = openH3With(fromH3Session);
|
|
77
|
+
/** `resumeH3` over a given session binder; internal, so tests can supply media. */
|
|
78
|
+
export const resumeH3With = (bind) => (options) => Effect.gen(function* () {
|
|
79
|
+
const refuse = (message) => AcquisitionFailure.from(ReactorError.fromCode("InvalidInput", message, {
|
|
80
|
+
operation: "resume",
|
|
81
|
+
outcome: "not-submitted",
|
|
82
|
+
}), noAcquisition);
|
|
83
|
+
const { allocation } = options;
|
|
84
|
+
if (allocation.model !== modelName)
|
|
85
|
+
return yield* refuse("the allocation is not an H3 session");
|
|
86
|
+
if (allocation.endsAt === undefined)
|
|
87
|
+
return yield* refuse("the allocation has no endsAt, so its remaining lifetime is unknown");
|
|
88
|
+
const endsAt = allocation.endsAt;
|
|
89
|
+
if (!(endsAt * 1000 > (yield* Clock.currentTimeMillis)))
|
|
90
|
+
return yield* refuse("the allocation's granted length has ended");
|
|
91
|
+
if (options.source !== undefined && "canvas" in options.source)
|
|
92
|
+
return yield* refuse("a resumed session keeps its canvas");
|
|
93
|
+
const client = yield* Client;
|
|
94
|
+
// As in openH3, a child scope owns the adopted session, so a failed
|
|
95
|
+
// resume terminates it now rather than when the caller's scope closes.
|
|
96
|
+
const scope = yield* Scope.fork(yield* Effect.scope);
|
|
97
|
+
const resumed = Effect.gen(function* () {
|
|
98
|
+
// A failed connected attach has already terminated what it adopted.
|
|
99
|
+
const session = yield* client.attachConnected({
|
|
100
|
+
sessionId: allocation.sessionId,
|
|
101
|
+
jwt: options.jwt,
|
|
102
|
+
adopt: true,
|
|
103
|
+
});
|
|
104
|
+
return yield* bind(session, options.source).pipe(
|
|
105
|
+
// What is left once the source is ready, since renewal counts from then.
|
|
106
|
+
Effect.flatMap((source) => Clock.currentTimeMillis.pipe(Effect.map((now) => ({
|
|
107
|
+
source,
|
|
108
|
+
lifetime: `${Math.max(1, Math.floor(endsAt * 1000 - now))} millis`,
|
|
109
|
+
})))), Effect.catch((error) => session.close.pipe(Effect.flatMap((report) => Effect.fail(AcquisitionFailure.from(error, report))))));
|
|
110
|
+
}).pipe(Scope.provide(scope));
|
|
111
|
+
yield* Effect.annotateCurrentSpan("reactor.session.id", allocation.sessionId);
|
|
112
|
+
return yield* resumed.pipe(Effect.onExit((exit) => (Exit.isFailure(exit) ? Scope.close(scope, exit) : Effect.void)));
|
|
113
|
+
}).pipe(Effect.withSpan("reactor.orchestration.resume", { kind: "client" }, { captureStackTrace: false }));
|
|
114
|
+
/**
|
|
115
|
+
* Resume a paid H3 session that `openH3` allocated, from its owner record and
|
|
116
|
+
* token, after its owner died: attach to it and adopt it, so this process owns
|
|
117
|
+
* its remote lifetime and closing the source terminates it, then derive its
|
|
118
|
+
* source. It sends no policy command a busy session refuses: the session keeps
|
|
119
|
+
* its canvas, queue and playback, and only reads state. The lifetime is what
|
|
120
|
+
* remains until the record's `endsAt`, so it is directly a renewal `open`, and
|
|
121
|
+
* renewal terminates the session when it retires it. A record without
|
|
122
|
+
* `endsAt`, for another model, or past its end is refused before anything is
|
|
123
|
+
* sent; a failure after attaching terminates the adopted session and reports
|
|
124
|
+
* that cleanup in the `AcquisitionFailure`.
|
|
125
|
+
*/
|
|
126
|
+
export const resumeH3 = resumeH3With(fromH3Session);
|
|
65
127
|
//# sourceMappingURL=open-h3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-h3.js","sourceRoot":"","sources":["../../src/orchestration/open-h3.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"open-h3.js","sourceRoot":"","sources":["../../src/orchestration/open-h3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC1C,CAAC,CAAC;AAwCH,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GACrB,CAAC,IAAU,EAAE,EAAE,CACf,CACE,OAA4B,EAK5B,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAC1E,CAAC;IACF,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,oEAAoE;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM;SAC1B,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;SAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/B,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YACnC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;gBACzB,OAAO;gBACP,KAAK;gBACL,UAAU,EAAE;oBACV,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK,EAAE,SAAS;oBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB;iBAC3D;aACF,CAAC,CAAC;QACL,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAa;YACvB,MAAM;YACN,8DAA8D;YAC9D,QAAQ,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,UAAU;SACvD,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI;IACrB,wEAAwE;IACxE,iFAAiF;IACjF,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CACtF,CACF,CACF,EACD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACzF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEP;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AAehD,mFAAmF;AACnF,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,IAAU,EAAE,EAAE,CACf,CACE,OAAwB,EAKxB,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CACjC,kBAAkB,CAAC,IAAI,CACrB,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE;QAC7C,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,eAAe;KACzB,CAAC,EACF,aAAa,CACd,CAAC;IACJ,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS;QAChC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS;QACjC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,oEAAoE,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM;QAC5D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;IAC7B,oEAAoE;IACpE,uEAAuE;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC,oEAAoE;QACpE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;YAC5C,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI;QAC9C,yEAAyE;QACzE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAY,EAAE,CAAC,CAAC;YAC7B,MAAM;YACN,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS;SACnE,CAAC,CAAC,CACJ,CACF,EACD,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAChF,CACF,CACF,CAAC;IACJ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CACxB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACzF,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CACb,8BAA8B,EAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClB,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CACF,CAAC;AAEN;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acquire.d.ts","sourceRoot":"","sources":["../../../src/session/_internal/acquire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,KAAK,IAAI,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAU,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAqC,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAiB,aAAa,EAAiB,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMjG,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,wEAAwE;AACxE,eAAO,MAAM,aAAa,EAAE,WAc1B,CAAC;AAIH,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,YAClB,OAAO,KACf,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,CAMhD,CAAC;AAEL,8EAA8E;AAC9E,eAAO,MAAM,eAAe,YAAa,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CACV,CAAC;AAErF,4EAA4E;AAC5E,eAAO,MAAM,eAAe,YAAa,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CACV,CAAC;
|
|
1
|
+
{"version":3,"file":"acquire.d.ts","sourceRoot":"","sources":["../../../src/session/_internal/acquire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,KAAK,IAAI,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAU,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAqC,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAiB,aAAa,EAAiB,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMjG,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,wEAAwE;AACxE,eAAO,MAAM,aAAa,EAAE,WAc1B,CAAC;AAIH,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,YAClB,OAAO,KACf,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,CAMhD,CAAC;AAEL,8EAA8E;AAC9E,eAAO,MAAM,eAAe,YAAa,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CACV,CAAC;AAErF,4EAA4E;AAC5E,eAAO,MAAM,eAAe,YAAa,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CACV,CAAC;AAoDrF,yEAAyE;AACzE,eAAO,MAAM,WAAW,kBACP,aAAa,QACtB,IAAI,CAAC,UAAU,SACd,gBAAgB,UACf,MAAM,CAAC,MAAM,KACpB,OA8HF,CAAC"}
|
|
@@ -50,6 +50,11 @@ const validate = (input) => {
|
|
|
50
50
|
}
|
|
51
51
|
const credential = options.jwt === undefined ? {} : { jwt: options.jwt };
|
|
52
52
|
if (input._tag === "Attach") {
|
|
53
|
+
const adopt = input.options.adopt;
|
|
54
|
+
if (adopt !== undefined && adopt !== true)
|
|
55
|
+
throw ReactorError.fromCode("InvalidInput", "attach adopt must be true when given", {
|
|
56
|
+
outcome: "not-submitted",
|
|
57
|
+
});
|
|
53
58
|
return {
|
|
54
59
|
...credential,
|
|
55
60
|
intent: {
|
|
@@ -58,6 +63,7 @@ const validate = (input) => {
|
|
|
58
63
|
...(input.options.connectionId === undefined
|
|
59
64
|
? {}
|
|
60
65
|
: { connectionId: uint32(input.options.connectionId, "attach connectionId") }),
|
|
66
|
+
...(adopt === true ? { adopt } : {}),
|
|
61
67
|
},
|
|
62
68
|
};
|
|
63
69
|
}
|
|
@@ -90,7 +96,10 @@ export const makeFactory = (configuration, http, peers, crypto) => {
|
|
|
90
96
|
// Only validated input reaches the span.
|
|
91
97
|
yield* Effect.annotateCurrentSpan(validated.intent._tag === "Create"
|
|
92
98
|
? { "reactor.model.name": validated.intent.model.name }
|
|
93
|
-
: {
|
|
99
|
+
: {
|
|
100
|
+
"reactor.session.id": validated.intent.sessionId,
|
|
101
|
+
"reactor.session.adopt": validated.intent.adopt === true,
|
|
102
|
+
});
|
|
94
103
|
if (peers.check !== undefined)
|
|
95
104
|
yield* restore(peers.check);
|
|
96
105
|
const bytes = yield* restore(crypto.randomBytes(16)).pipe(Effect.mapError((cause) => ReactorError.fromCode("InvalidState", "could not allocate a request identity", {
|
|
@@ -117,7 +126,9 @@ export const makeFactory = (configuration, http, peers, crypto) => {
|
|
|
117
126
|
const id = yield* implementation.allocate();
|
|
118
127
|
const session = {
|
|
119
128
|
id,
|
|
120
|
-
ownership: validated.intent._tag === "Create"
|
|
129
|
+
ownership: validated.intent._tag === "Create" || validated.intent.adopt === true
|
|
130
|
+
? "owned"
|
|
131
|
+
: "attached",
|
|
121
132
|
connect: implementation.start(),
|
|
122
133
|
reconnect: implementation.reconnect(),
|
|
123
134
|
current: Effect.sync(() => implementation.snapshot),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acquire.js","sourceRoot":"","sources":["../../../src/session/_internal/acquire.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"acquire.js","sourceRoot":"","sources":["../../../src/session/_internal/acquire.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/session/_internal/remote.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,GAAG,WAAW,CAAC;AAEpF,eAAO,MAAM,aAAa,WAAY,MAAM,GAAG,SAAS,KAAG,MAAM,IAAI,WACF,CAAC;AAEpE,uFAAuF;AACvF,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAqB;IAElC,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,YAAY,IAAI,WAAW,CAI1B;IAED,cAAc,IAAI,IAAI,CAErB;IAED,QAAQ,CACN,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,iBAAiB,EACvB,SAAS,EAAE,gBAAgB,GAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/session/_internal/remote.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,GAAG,WAAW,CAAC;AAEpF,eAAO,MAAM,aAAa,WAAY,MAAM,GAAG,SAAS,KAAG,MAAM,IAAI,WACF,CAAC;AAEpE,uFAAuF;AACvF,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAqB;IAElC,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,YAAY,IAAI,WAAW,CAI1B;IAED,cAAc,IAAI,IAAI,CAErB;IAED,QAAQ,CACN,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,iBAAiB,EACvB,SAAS,EAAE,gBAAgB,GAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAiDrC;IAED,eAAe,IAAI,OAAO,CAMzB;CACF"}
|
|
@@ -38,8 +38,9 @@ export class RemoteSession {
|
|
|
38
38
|
return yield* ReactorError.fromCode("InvalidState", "session allocation is already pending or unresolved", { outcome: "unknown" });
|
|
39
39
|
const intent = options.intent;
|
|
40
40
|
if (intent._tag === "Attach") {
|
|
41
|
+
// An adopted session is owned from here on: its cleanup terminates it.
|
|
41
42
|
self.value = {
|
|
42
|
-
ownership: "attached",
|
|
43
|
+
ownership: intent.adopt === true ? "owned" : "attached",
|
|
43
44
|
id: intent.sessionId,
|
|
44
45
|
...(intent.connectionId === undefined ? {} : { connectionId: intent.connectionId }),
|
|
45
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/session/_internal/remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAa/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAA0B,EAAyB,EAAE,CACjF,MAAM,EAAE,SAAS,KAAK,OAAO,IAAI,MAAM,EAAE,SAAS,KAAK,UAAU,CAAC;AAEpE,uFAAuF;AACvF,MAAM,OAAO,aAAa;IAChB,KAAK,CAAqB;IAElC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED,IAAI,OAAO;QACT,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B,MAAM,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,YAAY;YAAE,IAAI,CAAC,KAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACpF,CAAC;IAED,QAAQ,CACN,OAAuB,EACvB,IAAuB,EACvB,SAA2B;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,IAAI,SAAS,CAAC,SAAS;gBACrB,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE;oBACjE,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAC;YACL,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAC1B,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,CACjC,cAAc,EACd,qDAAqD,EACrD,EAAE,OAAO,EAAE,SAAS,EAAE,CACvB,CAAC;YACJ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,GAAG;oBACX,SAAS,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/session/_internal/remote.ts"],"names":[],"mappings":"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"}
|
package/dist/session/index.d.ts
CHANGED
|
@@ -30,6 +30,14 @@ export interface AttachOptions {
|
|
|
30
30
|
readonly sessionId: string;
|
|
31
31
|
readonly connectionId?: number;
|
|
32
32
|
readonly jwt?: Redacted.Redacted<string>;
|
|
33
|
+
/**
|
|
34
|
+
* Take over the session's remote lifetime, as a process that resumes a
|
|
35
|
+
* session its dead owner recorded does: the session is `owned`, so closing
|
|
36
|
+
* it, or a failed connected attach, terminates it and its `CloseReport`
|
|
37
|
+
* says whether the end was confirmed. Without it an attach never
|
|
38
|
+
* terminates the session it joined.
|
|
39
|
+
*/
|
|
40
|
+
readonly adopt?: true;
|
|
33
41
|
}
|
|
34
42
|
/** One lifecycle and command contract, independent of the selected host peer. */
|
|
35
43
|
export interface Session {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,iCAAiC,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,OAAO,EACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,gBAAgB,CAAC,CAAC;CAC5F;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,IAAI,MAAM,iCAAiC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmBhD,OAAO,EAAE,WAAW,EAA2B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,IAAI,MAAM,iCAAiC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmBhD,OAAO,EAAE,WAAW,EAA2B,MAAM,wBAAwB,CAAC;AA8E9E,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,OAAO,EAAmB,CAAC,8BAA8B,CAAC;CAAG;AAEjG,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,aAAa,GAAkB,EAAE,EAC6C,EAAE,CAChF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,WAAW,CAChB,aAAa,EACb,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EACtB,KAAK,CAAC,CAAC,WAAW,EAClB,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CACrB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,aAAa,GAAkB,EAAE,EAC0C,EAAE,CAC7E,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reactor-effect-client",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
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.115",
|
|
60
60
|
"@types/node": "22.20.2",
|
|
61
61
|
"effect": "4.0.0-rc.115",
|
|
62
|
-
"reactor-effect-test-kit": "0.3.
|
|
62
|
+
"reactor-effect-test-kit": "0.3.2",
|
|
63
63
|
"vitest": "5.0.0"
|
|
64
64
|
},
|
|
65
65
|
"scripts": {
|