@urun-sh/core 0.2.47 → 0.2.49

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/dist/internal.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __urunCreateRequire } from 'node:module'; const require = globalThis.require ?? __urunCreateRequire(import.meta.url);
2
- import{E as r,H as t,I as n,J as a,L as s,M as p,N as m,R as c,S as i,T as l,U as S,V as f,W as x,X as C,a as e,b as o}from"./chunk-MFBAY7ST.mjs";export{e as ChannelMultiplexer,i as DOC_SYNC_WIRE_CONTRACT_VERSION,o as DeferredChannelMultiplexer,f as DeferredDocConnector,s as LoopbackStreamData,x as SessionDocumentImpl,c as TransportSession,r as allocateSession,C as createPresence,S as createWebsocketDocConnector,l as deriveYjsServerUrl,a as ensureNodeWebRTC,t as isNodeRuntime,n as nodeMediasoupHandlerName,m as streamDataLabel,p as transportStreamData};
2
+ import{E as r,H as t,I as n,J as a,L as s,M as p,N as m,R as c,S as i,T as l,U as S,V as f,W as x,X as C,a as e,b as o}from"./chunk-BQIH7RYF.mjs";export{e as ChannelMultiplexer,i as DOC_SYNC_WIRE_CONTRACT_VERSION,o as DeferredChannelMultiplexer,f as DeferredDocConnector,s as LoopbackStreamData,x as SessionDocumentImpl,c as TransportSession,r as allocateSession,C as createPresence,S as createWebsocketDocConnector,l as deriveYjsServerUrl,a as ensureNodeWebRTC,t as isNodeRuntime,n as nodeMediasoupHandlerName,m as streamDataLabel,p as transportStreamData};
@@ -123,8 +123,39 @@ interface RuntimeAvailability {
123
123
  state: 'unavailable' | 'starting' | 'busy';
124
124
 
125
125
  reason?: string;
126
+
127
+ wake?: RuntimeWakeDetail;
128
+ }
129
+
130
+ type RuntimeWakeReasonCode = 'capture-attested' | 'no-portable-golden' | 'portable-golden-release-mismatch' | 'portable-golden-attestation-invalid';
131
+
132
+ interface RuntimeWakeGolden {
133
+ snapshotId: string;
134
+ snapshotCompatKey: string;
135
+ artifactSizeBytes: number;
136
+ durableArenaBytes: number;
137
+ volatileArenaBytes: 0;
138
+ uncoveredWeightBytes: number;
139
+ }
140
+ interface RuntimeWakeDetailBase {
141
+ schema: 'urun.runtime.wake.v1';
142
+ expectationBasis: 'snapshot-registry';
143
+ restoreObservation: 'not-observed';
126
144
  }
127
145
 
146
+ type RuntimeWakeDetail = (RuntimeWakeDetailBase & {
147
+ portability: 'portable';
148
+ expectedWakePath: 'portable-golden-restore';
149
+ reasonCode: 'capture-attested';
150
+ golden: RuntimeWakeGolden;
151
+ }) | (RuntimeWakeDetailBase & {
152
+ portability: 'none';
153
+ expectedWakePath: 'cold-boot';
154
+ reasonCode: Exclude<RuntimeWakeReasonCode, 'capture-attested'>;
155
+
156
+ golden?: never;
157
+ });
158
+
128
159
  type SessionFailureKind = 'create-failed' | 'never-live' | 'transport-failed' | 'media-permission' | 'ended' | 'runtime-failed' | 'expired' | 'produce-timeout';
129
160
 
130
161
  interface SessionPhaseError {
@@ -548,6 +579,8 @@ interface SessionGatewayResponse {
548
579
 
549
580
  runtime_reason?: string;
550
581
 
582
+ runtime_wake?: unknown;
583
+
551
584
  ends_at?: string;
552
585
  error_code?: string;
553
586
  error_message?: string;
@@ -769,28 +802,12 @@ declare class TransportSession {
769
802
 
770
803
  private _wakingSince;
771
804
 
772
- private _mediaMonitorTimer;
773
-
774
- private _lastInboundTotal;
805
+ private _mediaProbeTimer;
775
806
 
776
- private _mediaEverFlowed;
777
-
778
- private _lastInboundAdvanceAt;
779
-
780
- private _mediaDeathHandled;
781
-
782
- private _decodeSignalSeen;
783
-
784
- private _lastFramesDecoded;
785
-
786
- private _lastDecodeAdvanceAt;
807
+ private _joinProbes;
787
808
 
788
809
  private _decodeDeathHandled;
789
810
 
790
- private _latestInboundSample;
791
-
792
- private _decodeWindowStartSample;
793
-
794
811
  private _selectedCandidatePair;
795
812
 
796
813
  private _candidatePairDiagnosticEmitted;
@@ -923,13 +940,14 @@ declare class TransportSession {
923
940
 
924
941
  private _closeConsumersByProducer;
925
942
  private _mediaPollMs;
926
- private _mediaStallTimeoutMs;
927
943
 
928
- private _startMediaMonitor;
929
- private _stopMediaMonitor;
930
- private _sampleMediaLiveness;
944
+ private _firstFrameWindowMs;
945
+
946
+ private _startMediaProbe;
947
+ private _stopMediaProbe;
931
948
 
932
- private _checkDecodeLiveness;
949
+ private _resetJoinProbes;
950
+ private _sampleMediaArrival;
933
951
 
934
952
  private _renegotiate;
935
953
 
@@ -1055,4 +1073,4 @@ interface DataChannelTransport {
1055
1073
 
1056
1074
  declare function transportStreamData(transport: DataChannelTransport): StreamDataTransport;
1057
1075
 
1058
- export { type SessionPhaseName as $, type AccessTokenOptions$1 as A, type PrewakeStatus as B, type ChannelEndpoint as C, DERIVED_LEG_SEP as D, type RecordingBucket as E, type RecordingLifecycle as F, type RecordingStatus as G, type RecordingsAccessor as H, type ReleaseSessionBeaconOptions as I, type RequestOptions as J, type RequestStreamOptions as K, LoopbackStreamData as L, type MediaChunkBinding as M, type RuntimeArtifact as N, type RuntimeArtifactDownload as O, type Presence as P, type RuntimeArtifactsAccessor as Q, type Recording as R, type RuntimeAvailability as S, type Session as T, type SessionDiagnostic as U, type SessionDocument as V, SessionDocumentImpl as W, type SessionEndResult as X, type SessionFailureKind as Y, type SessionPhase as Z, type SessionPhaseError as _, type AccessTokenOptions as a, type SessionStartOptions as a0, type SessionStatus as a1, type SessionStream as a2, type SessionText as a3, type Store as a4, type StoreOptions as a5, type StreamChunkOptions as a6, type StreamDataTransport as a7, TransportSession as a8, type TransportSessionOptions as a9, type TransportState as aa, allocateSession as ab, createPresence as ac, createWebsocketDocConnector as ad, deriveYjsServerUrl as ae, derivedLegName as af, derivedLegRole as ag, isPendingRecording as ah, mediaRecorderChunkSource as ai, prewake as aj, releaseSessionBeacon as ak, streamDataLabel as al, transportStreamData as am, type ActivationEvent as b, type ActivationState as c, type AllocateSessionOptions as d, type AllocatedSession as e, type App as f, type AppOptions as g, type AttachOptions as h, type ChannelMessage as i, ChannelMultiplexer as j, type ChannelName as k, type ChunkReadable as l, DOC_SYNC_WIRE_CONTRACT_VERSION as m, DeferredChannelMultiplexer as n, DeferredDocConnector as o, type DerivedLegRole as p, type DocConnection as q, type DocConnectionState as r, type DocConnector as s, type DocTokenSupplier as t, type MediaChunkSource as u, type MediaChunkSourceFactory as v, type MediaRecorderChunkSourceOptions as w, type PresenceState as x, type PrewakeOptions as y, type PrewakeResult as z };
1076
+ export { type SessionFailureKind as $, type AccessTokenOptions$1 as A, type PrewakeStatus as B, type ChannelEndpoint as C, DERIVED_LEG_SEP as D, type RecordingBucket as E, type RecordingLifecycle as F, type RecordingStatus as G, type RecordingsAccessor as H, type ReleaseSessionBeaconOptions as I, type RequestOptions as J, type RequestStreamOptions as K, LoopbackStreamData as L, type MediaChunkBinding as M, type RuntimeArtifact as N, type RuntimeArtifactDownload as O, type Presence as P, type RuntimeArtifactsAccessor as Q, type Recording as R, type RuntimeAvailability as S, type RuntimeWakeDetail as T, type RuntimeWakeGolden as U, type RuntimeWakeReasonCode as V, type Session as W, type SessionDiagnostic as X, type SessionDocument as Y, SessionDocumentImpl as Z, type SessionEndResult as _, type AccessTokenOptions as a, type SessionPhase as a0, type SessionPhaseError as a1, type SessionPhaseName as a2, type SessionStartOptions as a3, type SessionStatus as a4, type SessionStream as a5, type SessionText as a6, type Store as a7, type StoreOptions as a8, type StreamChunkOptions as a9, type StreamDataTransport as aa, TransportSession as ab, type TransportSessionOptions as ac, type TransportState as ad, allocateSession as ae, createPresence as af, createWebsocketDocConnector as ag, deriveYjsServerUrl as ah, derivedLegName as ai, derivedLegRole as aj, isPendingRecording as ak, mediaRecorderChunkSource as al, prewake as am, releaseSessionBeacon as an, streamDataLabel as ao, transportStreamData as ap, type ActivationEvent as b, type ActivationState as c, type AllocateSessionOptions as d, type AllocatedSession as e, type App as f, type AppOptions as g, type AttachOptions as h, type ChannelMessage as i, ChannelMultiplexer as j, type ChannelName as k, type ChunkReadable as l, DOC_SYNC_WIRE_CONTRACT_VERSION as m, DeferredChannelMultiplexer as n, DeferredDocConnector as o, type DerivedLegRole as p, type DocConnection as q, type DocConnectionState as r, type DocConnector as s, type DocTokenSupplier as t, type MediaChunkSource as u, type MediaChunkSourceFactory as v, type MediaRecorderChunkSourceOptions as w, type PresenceState as x, type PrewakeOptions as y, type PrewakeResult as z };
@@ -123,8 +123,39 @@ interface RuntimeAvailability {
123
123
  state: 'unavailable' | 'starting' | 'busy';
124
124
 
125
125
  reason?: string;
126
+
127
+ wake?: RuntimeWakeDetail;
128
+ }
129
+
130
+ type RuntimeWakeReasonCode = 'capture-attested' | 'no-portable-golden' | 'portable-golden-release-mismatch' | 'portable-golden-attestation-invalid';
131
+
132
+ interface RuntimeWakeGolden {
133
+ snapshotId: string;
134
+ snapshotCompatKey: string;
135
+ artifactSizeBytes: number;
136
+ durableArenaBytes: number;
137
+ volatileArenaBytes: 0;
138
+ uncoveredWeightBytes: number;
139
+ }
140
+ interface RuntimeWakeDetailBase {
141
+ schema: 'urun.runtime.wake.v1';
142
+ expectationBasis: 'snapshot-registry';
143
+ restoreObservation: 'not-observed';
126
144
  }
127
145
 
146
+ type RuntimeWakeDetail = (RuntimeWakeDetailBase & {
147
+ portability: 'portable';
148
+ expectedWakePath: 'portable-golden-restore';
149
+ reasonCode: 'capture-attested';
150
+ golden: RuntimeWakeGolden;
151
+ }) | (RuntimeWakeDetailBase & {
152
+ portability: 'none';
153
+ expectedWakePath: 'cold-boot';
154
+ reasonCode: Exclude<RuntimeWakeReasonCode, 'capture-attested'>;
155
+
156
+ golden?: never;
157
+ });
158
+
128
159
  type SessionFailureKind = 'create-failed' | 'never-live' | 'transport-failed' | 'media-permission' | 'ended' | 'runtime-failed' | 'expired' | 'produce-timeout';
129
160
 
130
161
  interface SessionPhaseError {
@@ -548,6 +579,8 @@ interface SessionGatewayResponse {
548
579
 
549
580
  runtime_reason?: string;
550
581
 
582
+ runtime_wake?: unknown;
583
+
551
584
  ends_at?: string;
552
585
  error_code?: string;
553
586
  error_message?: string;
@@ -769,28 +802,12 @@ declare class TransportSession {
769
802
 
770
803
  private _wakingSince;
771
804
 
772
- private _mediaMonitorTimer;
773
-
774
- private _lastInboundTotal;
805
+ private _mediaProbeTimer;
775
806
 
776
- private _mediaEverFlowed;
777
-
778
- private _lastInboundAdvanceAt;
779
-
780
- private _mediaDeathHandled;
781
-
782
- private _decodeSignalSeen;
783
-
784
- private _lastFramesDecoded;
785
-
786
- private _lastDecodeAdvanceAt;
807
+ private _joinProbes;
787
808
 
788
809
  private _decodeDeathHandled;
789
810
 
790
- private _latestInboundSample;
791
-
792
- private _decodeWindowStartSample;
793
-
794
811
  private _selectedCandidatePair;
795
812
 
796
813
  private _candidatePairDiagnosticEmitted;
@@ -923,13 +940,14 @@ declare class TransportSession {
923
940
 
924
941
  private _closeConsumersByProducer;
925
942
  private _mediaPollMs;
926
- private _mediaStallTimeoutMs;
927
943
 
928
- private _startMediaMonitor;
929
- private _stopMediaMonitor;
930
- private _sampleMediaLiveness;
944
+ private _firstFrameWindowMs;
945
+
946
+ private _startMediaProbe;
947
+ private _stopMediaProbe;
931
948
 
932
- private _checkDecodeLiveness;
949
+ private _resetJoinProbes;
950
+ private _sampleMediaArrival;
933
951
 
934
952
  private _renegotiate;
935
953
 
@@ -1055,4 +1073,4 @@ interface DataChannelTransport {
1055
1073
 
1056
1074
  declare function transportStreamData(transport: DataChannelTransport): StreamDataTransport;
1057
1075
 
1058
- export { type SessionPhaseName as $, type AccessTokenOptions$1 as A, type PrewakeStatus as B, type ChannelEndpoint as C, DERIVED_LEG_SEP as D, type RecordingBucket as E, type RecordingLifecycle as F, type RecordingStatus as G, type RecordingsAccessor as H, type ReleaseSessionBeaconOptions as I, type RequestOptions as J, type RequestStreamOptions as K, LoopbackStreamData as L, type MediaChunkBinding as M, type RuntimeArtifact as N, type RuntimeArtifactDownload as O, type Presence as P, type RuntimeArtifactsAccessor as Q, type Recording as R, type RuntimeAvailability as S, type Session as T, type SessionDiagnostic as U, type SessionDocument as V, SessionDocumentImpl as W, type SessionEndResult as X, type SessionFailureKind as Y, type SessionPhase as Z, type SessionPhaseError as _, type AccessTokenOptions as a, type SessionStartOptions as a0, type SessionStatus as a1, type SessionStream as a2, type SessionText as a3, type Store as a4, type StoreOptions as a5, type StreamChunkOptions as a6, type StreamDataTransport as a7, TransportSession as a8, type TransportSessionOptions as a9, type TransportState as aa, allocateSession as ab, createPresence as ac, createWebsocketDocConnector as ad, deriveYjsServerUrl as ae, derivedLegName as af, derivedLegRole as ag, isPendingRecording as ah, mediaRecorderChunkSource as ai, prewake as aj, releaseSessionBeacon as ak, streamDataLabel as al, transportStreamData as am, type ActivationEvent as b, type ActivationState as c, type AllocateSessionOptions as d, type AllocatedSession as e, type App as f, type AppOptions as g, type AttachOptions as h, type ChannelMessage as i, ChannelMultiplexer as j, type ChannelName as k, type ChunkReadable as l, DOC_SYNC_WIRE_CONTRACT_VERSION as m, DeferredChannelMultiplexer as n, DeferredDocConnector as o, type DerivedLegRole as p, type DocConnection as q, type DocConnectionState as r, type DocConnector as s, type DocTokenSupplier as t, type MediaChunkSource as u, type MediaChunkSourceFactory as v, type MediaRecorderChunkSourceOptions as w, type PresenceState as x, type PrewakeOptions as y, type PrewakeResult as z };
1076
+ export { type SessionFailureKind as $, type AccessTokenOptions$1 as A, type PrewakeStatus as B, type ChannelEndpoint as C, DERIVED_LEG_SEP as D, type RecordingBucket as E, type RecordingLifecycle as F, type RecordingStatus as G, type RecordingsAccessor as H, type ReleaseSessionBeaconOptions as I, type RequestOptions as J, type RequestStreamOptions as K, LoopbackStreamData as L, type MediaChunkBinding as M, type RuntimeArtifact as N, type RuntimeArtifactDownload as O, type Presence as P, type RuntimeArtifactsAccessor as Q, type Recording as R, type RuntimeAvailability as S, type RuntimeWakeDetail as T, type RuntimeWakeGolden as U, type RuntimeWakeReasonCode as V, type Session as W, type SessionDiagnostic as X, type SessionDocument as Y, SessionDocumentImpl as Z, type SessionEndResult as _, type AccessTokenOptions as a, type SessionPhase as a0, type SessionPhaseError as a1, type SessionPhaseName as a2, type SessionStartOptions as a3, type SessionStatus as a4, type SessionStream as a5, type SessionText as a6, type Store as a7, type StoreOptions as a8, type StreamChunkOptions as a9, type StreamDataTransport as aa, TransportSession as ab, type TransportSessionOptions as ac, type TransportState as ad, allocateSession as ae, createPresence as af, createWebsocketDocConnector as ag, deriveYjsServerUrl as ah, derivedLegName as ai, derivedLegRole as aj, isPendingRecording as ak, mediaRecorderChunkSource as al, prewake as am, releaseSessionBeacon as an, streamDataLabel as ao, transportStreamData as ap, type ActivationEvent as b, type ActivationState as c, type AllocateSessionOptions as d, type AllocatedSession as e, type App as f, type AppOptions as g, type AttachOptions as h, type ChannelMessage as i, ChannelMultiplexer as j, type ChannelName as k, type ChunkReadable as l, DOC_SYNC_WIRE_CONTRACT_VERSION as m, DeferredChannelMultiplexer as n, DeferredDocConnector as o, type DerivedLegRole as p, type DocConnection as q, type DocConnectionState as r, type DocConnector as s, type DocTokenSupplier as t, type MediaChunkSource as u, type MediaChunkSourceFactory as v, type MediaRecorderChunkSourceOptions as w, type PresenceState as x, type PrewakeOptions as y, type PrewakeResult as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@urun-sh/core",
3
- "version": "0.2.47",
3
+ "version": "0.2.49",
4
4
  "description": "Core transport and channel primitives for the urun TypeScript SDK",
5
5
  "repository": {
6
6
  "type": "git",