wire-mesh-core 1.45.2 → 1.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/frame-codec.d.cts +1 -1
- package/dist/adapters/frame-codec.d.mts +1 -1
- package/dist/adapters/node-identity.d.cts +2 -2
- package/dist/adapters/node-identity.d.mts +2 -2
- package/dist/adapters/tcp-transport.d.cts +1 -1
- package/dist/adapters/tcp-transport.d.mts +1 -1
- package/dist/adapters/tls-transport.d.cts +1 -1
- package/dist/adapters/tls-transport.d.mts +1 -1
- package/dist/domain/bulk.cjs +26 -0
- package/dist/domain/bulk.d.cts +10 -2
- package/dist/domain/bulk.d.mts +10 -2
- package/dist/domain/bulk.mjs +26 -1
- package/dist/domain/capability-grant.d.cts +3 -3
- package/dist/domain/capability-grant.d.mts +3 -3
- package/dist/domain/capability-request.d.cts +2 -2
- package/dist/domain/capability-request.d.mts +2 -2
- package/dist/domain/data-sync.d.cts +2 -2
- package/dist/domain/data-sync.d.mts +2 -2
- package/dist/domain/device-id.d.cts +1 -1
- package/dist/domain/device-id.d.mts +1 -1
- package/dist/domain/grant-candidates.d.cts +1 -1
- package/dist/domain/grant-candidates.d.mts +1 -1
- package/dist/domain/handshake.d.cts +1 -1
- package/dist/domain/handshake.d.mts +1 -1
- package/dist/domain/mesh-session.d.cts +3 -3
- package/dist/domain/mesh-session.d.mts +3 -3
- package/dist/domain/notice-board.d.cts +3 -3
- package/dist/domain/notice-board.d.mts +3 -3
- package/dist/domain/relay-hub.d.cts +2 -2
- package/dist/domain/relay-hub.d.mts +2 -2
- package/dist/domain/relay-use-gate.d.cts +2 -2
- package/dist/domain/relay-use-gate.d.mts +2 -2
- package/dist/domain/revocation-view.d.cts +2 -2
- package/dist/domain/revocation-view.d.mts +2 -2
- package/dist/domain/room-rekey.d.cts +3 -3
- package/dist/domain/room-rekey.d.mts +3 -3
- package/dist/domain/room-token-verification.d.cts +1 -1
- package/dist/domain/room-token-verification.d.mts +1 -1
- package/dist/domain/room.d.cts +4 -4
- package/dist/domain/room.d.mts +4 -4
- package/dist/domain/shard-manifest.d.cts +1 -1
- package/dist/domain/shard-manifest.d.mts +1 -1
- package/dist/domain/tokens.d.cts +1 -1
- package/dist/domain/tokens.d.mts +1 -1
- package/dist/domain/webrtc-signaling.cjs +107 -0
- package/dist/domain/webrtc-signaling.d.cts +38 -0
- package/dist/domain/webrtc-signaling.d.mts +38 -0
- package/dist/domain/webrtc-signaling.mjs +93 -0
- package/dist/generated/protocol.cjs +14 -1
- package/dist/generated/protocol.d.cts +2 -2
- package/dist/generated/protocol.d.mts +2 -2
- package/dist/generated/protocol.mjs +13 -2
- package/dist/{identity-B4XBWkqg.d.cts → identity-DHf0J6IA.d.cts} +1 -1
- package/dist/{identity-CIb9dGkJ.d.mts → identity-Oelt3uEn.d.mts} +1 -1
- package/dist/ports/identity.d.cts +1 -1
- package/dist/ports/identity.d.mts +1 -1
- package/dist/ports/transport.d.cts +1 -1
- package/dist/ports/transport.d.mts +1 -1
- package/dist/{protocol-gbXtNeOc.d.cts → protocol-D8CU6s2_.d.cts} +57 -1
- package/dist/{protocol-gbXtNeOc.d.mts → protocol-D8CU6s2_.d.mts} +57 -1
- package/dist/{room-token-verification-BggPfYr8.d.mts → room-token-verification-BQhqt1Rm.d.mts} +2 -2
- package/dist/{room-token-verification-CkQV0Iq7.d.cts → room-token-verification-DQGdYNg4.d.cts} +2 -2
- package/dist/{tokens-C9Kwy0Gk.d.cts → tokens-B1-MAIST.d.cts} +2 -2
- package/dist/{tokens-k172l0Iy.d.mts → tokens-Bh82oidM.d.mts} +2 -2
- package/dist/{transport-DAsFqDDS.d.cts → transport-BNeF6kDe.d.mts} +1 -1
- package/dist/{transport-Dy4h2eNY.d.mts → transport-BbSGNRFZ.d.cts} +1 -1
- package/package.json +37 -34
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_tokens = require("../tokens-DxGVURpB.cjs");
|
|
3
|
+
//#region src/domain/webrtc-signaling.ts
|
|
4
|
+
/** The one capability verb gating every core/webrtc message shape: an authority over this node's own signaling as a whole, not three separate resources, mirroring how core/exec's exec:pty gates all of its own inner verbs. webrtc.sfu-track-map is gated by this same verb (see spec/webrtc.cddl's own comment): an SFU able to shape a negotiation can already misreport whose media is on which mid, so a separate capability over the track-map itself would guard nothing a client doesn't already have to trust the SFU for. */
|
|
5
|
+
const WEBRTC_SIGNAL_VERB = "webrtc:signal";
|
|
6
|
+
/** No path: there is no filesystem subtree involved in signaling, only the node itself. */
|
|
7
|
+
const WEBRTC_SIGNAL_SCOPE = { kind: "node" };
|
|
8
|
+
function isWebrtcOffer(params) {
|
|
9
|
+
return typeof params === "object" && "verb" in params && params.verb === "webrtc.offer";
|
|
10
|
+
}
|
|
11
|
+
function isWebrtcAnswer(params) {
|
|
12
|
+
return typeof params === "object" && "verb" in params && params.verb === "webrtc.answer";
|
|
13
|
+
}
|
|
14
|
+
function isWebrtcIceCandidate(params) {
|
|
15
|
+
return typeof params === "object" && "verb" in params && params.verb === "webrtc.ice-candidate";
|
|
16
|
+
}
|
|
17
|
+
function isSfuTrackMap(params) {
|
|
18
|
+
return typeof params === "object" && "verb" in params && params.verb === "webrtc.sfu-track-map";
|
|
19
|
+
}
|
|
20
|
+
function buildOfferCommand(negotiationId, sdp) {
|
|
21
|
+
return {
|
|
22
|
+
verb: WEBRTC_SIGNAL_VERB,
|
|
23
|
+
params: {
|
|
24
|
+
verb: "webrtc.offer",
|
|
25
|
+
"negotiation-id": negotiationId,
|
|
26
|
+
sdp
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function buildAnswerCommand(negotiationId, sdp) {
|
|
31
|
+
return {
|
|
32
|
+
verb: WEBRTC_SIGNAL_VERB,
|
|
33
|
+
params: {
|
|
34
|
+
verb: "webrtc.answer",
|
|
35
|
+
"negotiation-id": negotiationId,
|
|
36
|
+
sdp
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function buildIceCandidateCommand(negotiationId, candidate) {
|
|
41
|
+
return {
|
|
42
|
+
verb: WEBRTC_SIGNAL_VERB,
|
|
43
|
+
params: {
|
|
44
|
+
verb: "webrtc.ice-candidate",
|
|
45
|
+
"negotiation-id": negotiationId,
|
|
46
|
+
...candidate !== void 0 ? { candidate } : {}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Builds the manage-command an SFU sends to report which room member each SDP mid on a negotiation belongs to: sent once a negotiation completes (the initial track set) and again, as a full resend rather than an incremental diff, on every membership change. An empty tracks array is itself a valid, meaningful message (the call is now empty), not a degenerate case. */
|
|
51
|
+
function buildSfuTrackMapCommand(negotiationId, tracks) {
|
|
52
|
+
return {
|
|
53
|
+
verb: WEBRTC_SIGNAL_VERB,
|
|
54
|
+
params: {
|
|
55
|
+
verb: "webrtc.sfu-track-map",
|
|
56
|
+
"negotiation-id": negotiationId,
|
|
57
|
+
tracks: [...tracks]
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function wireIceCandidateFromRtc(candidate) {
|
|
62
|
+
return {
|
|
63
|
+
candidate: candidate.candidate,
|
|
64
|
+
...candidate.sdpMid !== null ? { "sdp-mid": candidate.sdpMid } : {},
|
|
65
|
+
...candidate.sdpMLineIndex !== null ? { "sdp-m-line-index": candidate.sdpMLineIndex } : {},
|
|
66
|
+
...candidate.usernameFragment !== null ? { "username-fragment": candidate.usernameFragment } : {}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function rtcIceCandidateInitFromWire(wire) {
|
|
70
|
+
return {
|
|
71
|
+
candidate: wire.candidate,
|
|
72
|
+
...wire["sdp-mid"] !== void 0 ? { sdpMid: wire["sdp-mid"] } : {},
|
|
73
|
+
...wire["sdp-m-line-index"] !== void 0 ? { sdpMLineIndex: wire["sdp-m-line-index"] } : {},
|
|
74
|
+
...wire["username-fragment"] !== void 0 ? { usernameFragment: wire["username-fragment"] } : {}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/** A fresh, independent, monotonically increasing negotiation-id source starting at 0, extracted as its own pure function so id allocation is testable without an RTCPeerConnection or any transport. */
|
|
78
|
+
function createNegotiationIdAllocator() {
|
|
79
|
+
let next = 0;
|
|
80
|
+
return () => {
|
|
81
|
+
const id = next;
|
|
82
|
+
next += 1;
|
|
83
|
+
return id;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/** True when an incoming offer's own token authorizes webrtc:signal against this node's scope: verifyCapabilityToken checks the token's own internal validity and delegation chain; the capability/scope match against what is actually being invoked here is this caller's own responsibility, same as any other domain's request handler. expectedBearer is deliberately not checked: neither a browser client's MeshSession nor an SFU's own connection handling exposes a way to learn a peer's device-id independently of the token itself, unlike a scope with a path that constrains a specific resource. */
|
|
87
|
+
async function authorizeIncomingOffer(incoming, options) {
|
|
88
|
+
if (incoming.token === void 0) return false;
|
|
89
|
+
const verdict = await require_tokens.verifyCapabilityToken(incoming.token, options);
|
|
90
|
+
if (!verdict.ok) return false;
|
|
91
|
+
return verdict.claims.capability === "webrtc:signal" && verdict.claims.scope.kind === WEBRTC_SIGNAL_SCOPE.kind;
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
exports.WEBRTC_SIGNAL_SCOPE = WEBRTC_SIGNAL_SCOPE;
|
|
95
|
+
exports.WEBRTC_SIGNAL_VERB = WEBRTC_SIGNAL_VERB;
|
|
96
|
+
exports.authorizeIncomingOffer = authorizeIncomingOffer;
|
|
97
|
+
exports.buildAnswerCommand = buildAnswerCommand;
|
|
98
|
+
exports.buildIceCandidateCommand = buildIceCandidateCommand;
|
|
99
|
+
exports.buildOfferCommand = buildOfferCommand;
|
|
100
|
+
exports.buildSfuTrackMapCommand = buildSfuTrackMapCommand;
|
|
101
|
+
exports.createNegotiationIdAllocator = createNegotiationIdAllocator;
|
|
102
|
+
exports.isSfuTrackMap = isSfuTrackMap;
|
|
103
|
+
exports.isWebrtcAnswer = isWebrtcAnswer;
|
|
104
|
+
exports.isWebrtcIceCandidate = isWebrtcIceCandidate;
|
|
105
|
+
exports.isWebrtcOffer = isWebrtcOffer;
|
|
106
|
+
exports.rtcIceCandidateInitFromWire = rtcIceCandidateInitFromWire;
|
|
107
|
+
exports.wireIceCandidateFromRtc = wireIceCandidateFromRtc;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Bt as WebrtcAnswer, H as ManageCommandParams, Ht as WebrtcOffer, Mt as SfuTrackMap, V as ManageCommand, Vt as WebrtcIceCandidate, f as CapabilityScope, jt as SfuTrackEntry, z as IceCandidateInit } from "../protocol-D8CU6s2_.cjs";
|
|
2
|
+
import { IncomingManageRequest } from "./mesh-session.cjs";
|
|
3
|
+
import { u as VerifyCapabilityTokenOptions } from "../tokens-B1-MAIST.cjs";
|
|
4
|
+
//#region src/domain/webrtc-signaling.d.ts
|
|
5
|
+
/** The one capability verb gating every core/webrtc message shape: an authority over this node's own signaling as a whole, not three separate resources, mirroring how core/exec's exec:pty gates all of its own inner verbs. webrtc.sfu-track-map is gated by this same verb (see spec/webrtc.cddl's own comment): an SFU able to shape a negotiation can already misreport whose media is on which mid, so a separate capability over the track-map itself would guard nothing a client doesn't already have to trust the SFU for. */
|
|
6
|
+
export declare const WEBRTC_SIGNAL_VERB = "webrtc:signal";
|
|
7
|
+
/** No path: there is no filesystem subtree involved in signaling, only the node itself. */
|
|
8
|
+
export declare const WEBRTC_SIGNAL_SCOPE: CapabilityScope;
|
|
9
|
+
export declare function isWebrtcOffer(params: ManageCommandParams): params is WebrtcOffer;
|
|
10
|
+
export declare function isWebrtcAnswer(params: ManageCommandParams): params is WebrtcAnswer;
|
|
11
|
+
export declare function isWebrtcIceCandidate(params: ManageCommandParams): params is WebrtcIceCandidate;
|
|
12
|
+
export declare function isSfuTrackMap(params: ManageCommandParams): params is SfuTrackMap;
|
|
13
|
+
export declare function buildOfferCommand(negotiationId: number, sdp: string): ManageCommand;
|
|
14
|
+
export declare function buildAnswerCommand(negotiationId: number, sdp: string): ManageCommand;
|
|
15
|
+
export declare function buildIceCandidateCommand(negotiationId: number, candidate?: Readonly<IceCandidateInit>): ManageCommand;
|
|
16
|
+
/** Builds the manage-command an SFU sends to report which room member each SDP mid on a negotiation belongs to: sent once a negotiation completes (the initial track set) and again, as a full resend rather than an incremental diff, on every membership change. An empty tracks array is itself a valid, meaningful message (the call is now empty), not a degenerate case. */
|
|
17
|
+
export declare function buildSfuTrackMapCommand(negotiationId: number, tracks: readonly SfuTrackEntry[]): ManageCommand;
|
|
18
|
+
/** The subset of RTCIceCandidate's own fields this module actually reads: a real RTCIceCandidate satisfies this structurally, and so does a plain test object or a server-side candidate description, with no cast needed either way. */
|
|
19
|
+
export type MinimalRtcIceCandidate = Readonly<{
|
|
20
|
+
candidate: string;
|
|
21
|
+
sdpMid: string | null;
|
|
22
|
+
sdpMLineIndex: number | null;
|
|
23
|
+
usernameFragment: string | null;
|
|
24
|
+
}>;
|
|
25
|
+
export declare function wireIceCandidateFromRtc(candidate: MinimalRtcIceCandidate): IceCandidateInit;
|
|
26
|
+
/** The subset of RTCIceCandidateInit's own shape this module produces: structurally identical to the DOM lib's own type (candidate, sdpMid, sdpMLineIndex, usernameFragment, each optional), so a caller in an environment with the DOM lib available (web-console) can pass this straight to RTCPeerConnection.addIceCandidate() with no cast, while core itself stays free of any DOM lib dependency. */
|
|
27
|
+
export interface WireRtcIceCandidateInit {
|
|
28
|
+
candidate?: string;
|
|
29
|
+
sdpMid?: string;
|
|
30
|
+
sdpMLineIndex?: number;
|
|
31
|
+
usernameFragment?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare function rtcIceCandidateInitFromWire(wire: Readonly<IceCandidateInit>): WireRtcIceCandidateInit;
|
|
34
|
+
/** A fresh, independent, monotonically increasing negotiation-id source starting at 0, extracted as its own pure function so id allocation is testable without an RTCPeerConnection or any transport. */
|
|
35
|
+
export declare function createNegotiationIdAllocator(): () => number;
|
|
36
|
+
/** True when an incoming offer's own token authorizes webrtc:signal against this node's scope: verifyCapabilityToken checks the token's own internal validity and delegation chain; the capability/scope match against what is actually being invoked here is this caller's own responsibility, same as any other domain's request handler. expectedBearer is deliberately not checked: neither a browser client's MeshSession nor an SFU's own connection handling exposes a way to learn a peer's device-id independently of the token itself, unlike a scope with a path that constrains a specific resource. */
|
|
37
|
+
export declare function authorizeIncomingOffer(incoming: Readonly<IncomingManageRequest>, options: Readonly<VerifyCapabilityTokenOptions>): Promise<boolean>;
|
|
38
|
+
//#endregion
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Bt as WebrtcAnswer, H as ManageCommandParams, Ht as WebrtcOffer, Mt as SfuTrackMap, V as ManageCommand, Vt as WebrtcIceCandidate, f as CapabilityScope, jt as SfuTrackEntry, z as IceCandidateInit } from "../protocol-D8CU6s2_.mjs";
|
|
2
|
+
import { IncomingManageRequest } from "./mesh-session.mjs";
|
|
3
|
+
import { u as VerifyCapabilityTokenOptions } from "../tokens-Bh82oidM.mjs";
|
|
4
|
+
//#region src/domain/webrtc-signaling.d.ts
|
|
5
|
+
/** The one capability verb gating every core/webrtc message shape: an authority over this node's own signaling as a whole, not three separate resources, mirroring how core/exec's exec:pty gates all of its own inner verbs. webrtc.sfu-track-map is gated by this same verb (see spec/webrtc.cddl's own comment): an SFU able to shape a negotiation can already misreport whose media is on which mid, so a separate capability over the track-map itself would guard nothing a client doesn't already have to trust the SFU for. */
|
|
6
|
+
export declare const WEBRTC_SIGNAL_VERB = "webrtc:signal";
|
|
7
|
+
/** No path: there is no filesystem subtree involved in signaling, only the node itself. */
|
|
8
|
+
export declare const WEBRTC_SIGNAL_SCOPE: CapabilityScope;
|
|
9
|
+
export declare function isWebrtcOffer(params: ManageCommandParams): params is WebrtcOffer;
|
|
10
|
+
export declare function isWebrtcAnswer(params: ManageCommandParams): params is WebrtcAnswer;
|
|
11
|
+
export declare function isWebrtcIceCandidate(params: ManageCommandParams): params is WebrtcIceCandidate;
|
|
12
|
+
export declare function isSfuTrackMap(params: ManageCommandParams): params is SfuTrackMap;
|
|
13
|
+
export declare function buildOfferCommand(negotiationId: number, sdp: string): ManageCommand;
|
|
14
|
+
export declare function buildAnswerCommand(negotiationId: number, sdp: string): ManageCommand;
|
|
15
|
+
export declare function buildIceCandidateCommand(negotiationId: number, candidate?: Readonly<IceCandidateInit>): ManageCommand;
|
|
16
|
+
/** Builds the manage-command an SFU sends to report which room member each SDP mid on a negotiation belongs to: sent once a negotiation completes (the initial track set) and again, as a full resend rather than an incremental diff, on every membership change. An empty tracks array is itself a valid, meaningful message (the call is now empty), not a degenerate case. */
|
|
17
|
+
export declare function buildSfuTrackMapCommand(negotiationId: number, tracks: readonly SfuTrackEntry[]): ManageCommand;
|
|
18
|
+
/** The subset of RTCIceCandidate's own fields this module actually reads: a real RTCIceCandidate satisfies this structurally, and so does a plain test object or a server-side candidate description, with no cast needed either way. */
|
|
19
|
+
export type MinimalRtcIceCandidate = Readonly<{
|
|
20
|
+
candidate: string;
|
|
21
|
+
sdpMid: string | null;
|
|
22
|
+
sdpMLineIndex: number | null;
|
|
23
|
+
usernameFragment: string | null;
|
|
24
|
+
}>;
|
|
25
|
+
export declare function wireIceCandidateFromRtc(candidate: MinimalRtcIceCandidate): IceCandidateInit;
|
|
26
|
+
/** The subset of RTCIceCandidateInit's own shape this module produces: structurally identical to the DOM lib's own type (candidate, sdpMid, sdpMLineIndex, usernameFragment, each optional), so a caller in an environment with the DOM lib available (web-console) can pass this straight to RTCPeerConnection.addIceCandidate() with no cast, while core itself stays free of any DOM lib dependency. */
|
|
27
|
+
export interface WireRtcIceCandidateInit {
|
|
28
|
+
candidate?: string;
|
|
29
|
+
sdpMid?: string;
|
|
30
|
+
sdpMLineIndex?: number;
|
|
31
|
+
usernameFragment?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare function rtcIceCandidateInitFromWire(wire: Readonly<IceCandidateInit>): WireRtcIceCandidateInit;
|
|
34
|
+
/** A fresh, independent, monotonically increasing negotiation-id source starting at 0, extracted as its own pure function so id allocation is testable without an RTCPeerConnection or any transport. */
|
|
35
|
+
export declare function createNegotiationIdAllocator(): () => number;
|
|
36
|
+
/** True when an incoming offer's own token authorizes webrtc:signal against this node's scope: verifyCapabilityToken checks the token's own internal validity and delegation chain; the capability/scope match against what is actually being invoked here is this caller's own responsibility, same as any other domain's request handler. expectedBearer is deliberately not checked: neither a browser client's MeshSession nor an SFU's own connection handling exposes a way to learn a peer's device-id independently of the token itself, unlike a scope with a path that constrains a specific resource. */
|
|
37
|
+
export declare function authorizeIncomingOffer(incoming: Readonly<IncomingManageRequest>, options: Readonly<VerifyCapabilityTokenOptions>): Promise<boolean>;
|
|
38
|
+
//#endregion
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { i as verifyCapabilityToken } from "../tokens-CdQwzCyJ.mjs";
|
|
2
|
+
//#region src/domain/webrtc-signaling.ts
|
|
3
|
+
/** The one capability verb gating every core/webrtc message shape: an authority over this node's own signaling as a whole, not three separate resources, mirroring how core/exec's exec:pty gates all of its own inner verbs. webrtc.sfu-track-map is gated by this same verb (see spec/webrtc.cddl's own comment): an SFU able to shape a negotiation can already misreport whose media is on which mid, so a separate capability over the track-map itself would guard nothing a client doesn't already have to trust the SFU for. */
|
|
4
|
+
const WEBRTC_SIGNAL_VERB = "webrtc:signal";
|
|
5
|
+
/** No path: there is no filesystem subtree involved in signaling, only the node itself. */
|
|
6
|
+
const WEBRTC_SIGNAL_SCOPE = { kind: "node" };
|
|
7
|
+
function isWebrtcOffer(params) {
|
|
8
|
+
return typeof params === "object" && "verb" in params && params.verb === "webrtc.offer";
|
|
9
|
+
}
|
|
10
|
+
function isWebrtcAnswer(params) {
|
|
11
|
+
return typeof params === "object" && "verb" in params && params.verb === "webrtc.answer";
|
|
12
|
+
}
|
|
13
|
+
function isWebrtcIceCandidate(params) {
|
|
14
|
+
return typeof params === "object" && "verb" in params && params.verb === "webrtc.ice-candidate";
|
|
15
|
+
}
|
|
16
|
+
function isSfuTrackMap(params) {
|
|
17
|
+
return typeof params === "object" && "verb" in params && params.verb === "webrtc.sfu-track-map";
|
|
18
|
+
}
|
|
19
|
+
function buildOfferCommand(negotiationId, sdp) {
|
|
20
|
+
return {
|
|
21
|
+
verb: WEBRTC_SIGNAL_VERB,
|
|
22
|
+
params: {
|
|
23
|
+
verb: "webrtc.offer",
|
|
24
|
+
"negotiation-id": negotiationId,
|
|
25
|
+
sdp
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function buildAnswerCommand(negotiationId, sdp) {
|
|
30
|
+
return {
|
|
31
|
+
verb: WEBRTC_SIGNAL_VERB,
|
|
32
|
+
params: {
|
|
33
|
+
verb: "webrtc.answer",
|
|
34
|
+
"negotiation-id": negotiationId,
|
|
35
|
+
sdp
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function buildIceCandidateCommand(negotiationId, candidate) {
|
|
40
|
+
return {
|
|
41
|
+
verb: WEBRTC_SIGNAL_VERB,
|
|
42
|
+
params: {
|
|
43
|
+
verb: "webrtc.ice-candidate",
|
|
44
|
+
"negotiation-id": negotiationId,
|
|
45
|
+
...candidate !== void 0 ? { candidate } : {}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/** Builds the manage-command an SFU sends to report which room member each SDP mid on a negotiation belongs to: sent once a negotiation completes (the initial track set) and again, as a full resend rather than an incremental diff, on every membership change. An empty tracks array is itself a valid, meaningful message (the call is now empty), not a degenerate case. */
|
|
50
|
+
function buildSfuTrackMapCommand(negotiationId, tracks) {
|
|
51
|
+
return {
|
|
52
|
+
verb: WEBRTC_SIGNAL_VERB,
|
|
53
|
+
params: {
|
|
54
|
+
verb: "webrtc.sfu-track-map",
|
|
55
|
+
"negotiation-id": negotiationId,
|
|
56
|
+
tracks: [...tracks]
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function wireIceCandidateFromRtc(candidate) {
|
|
61
|
+
return {
|
|
62
|
+
candidate: candidate.candidate,
|
|
63
|
+
...candidate.sdpMid !== null ? { "sdp-mid": candidate.sdpMid } : {},
|
|
64
|
+
...candidate.sdpMLineIndex !== null ? { "sdp-m-line-index": candidate.sdpMLineIndex } : {},
|
|
65
|
+
...candidate.usernameFragment !== null ? { "username-fragment": candidate.usernameFragment } : {}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function rtcIceCandidateInitFromWire(wire) {
|
|
69
|
+
return {
|
|
70
|
+
candidate: wire.candidate,
|
|
71
|
+
...wire["sdp-mid"] !== void 0 ? { sdpMid: wire["sdp-mid"] } : {},
|
|
72
|
+
...wire["sdp-m-line-index"] !== void 0 ? { sdpMLineIndex: wire["sdp-m-line-index"] } : {},
|
|
73
|
+
...wire["username-fragment"] !== void 0 ? { usernameFragment: wire["username-fragment"] } : {}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/** A fresh, independent, monotonically increasing negotiation-id source starting at 0, extracted as its own pure function so id allocation is testable without an RTCPeerConnection or any transport. */
|
|
77
|
+
function createNegotiationIdAllocator() {
|
|
78
|
+
let next = 0;
|
|
79
|
+
return () => {
|
|
80
|
+
const id = next;
|
|
81
|
+
next += 1;
|
|
82
|
+
return id;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/** True when an incoming offer's own token authorizes webrtc:signal against this node's scope: verifyCapabilityToken checks the token's own internal validity and delegation chain; the capability/scope match against what is actually being invoked here is this caller's own responsibility, same as any other domain's request handler. expectedBearer is deliberately not checked: neither a browser client's MeshSession nor an SFU's own connection handling exposes a way to learn a peer's device-id independently of the token itself, unlike a scope with a path that constrains a specific resource. */
|
|
86
|
+
async function authorizeIncomingOffer(incoming, options) {
|
|
87
|
+
if (incoming.token === void 0) return false;
|
|
88
|
+
const verdict = await verifyCapabilityToken(incoming.token, options);
|
|
89
|
+
if (!verdict.ok) return false;
|
|
90
|
+
return verdict.claims.capability === "webrtc:signal" && verdict.claims.scope.kind === WEBRTC_SIGNAL_SCOPE.kind;
|
|
91
|
+
}
|
|
92
|
+
//#endregion
|
|
93
|
+
export { WEBRTC_SIGNAL_SCOPE, WEBRTC_SIGNAL_VERB, authorizeIncomingOffer, buildAnswerCommand, buildIceCandidateCommand, buildOfferCommand, buildSfuTrackMapCommand, createNegotiationIdAllocator, isSfuTrackMap, isWebrtcAnswer, isWebrtcIceCandidate, isWebrtcOffer, rtcIceCandidateInitFromWire, wireIceCandidateFromRtc };
|
|
@@ -48,7 +48,8 @@ const manageCommandParamsSchema = zod.z.lazy(() => zod.z.union([
|
|
|
48
48
|
zod.z.union([
|
|
49
49
|
zod.z.lazy(() => webrtcOfferSchema),
|
|
50
50
|
zod.z.lazy(() => webrtcAnswerSchema),
|
|
51
|
-
zod.z.lazy(() => webrtcIceCandidateSchema)
|
|
51
|
+
zod.z.lazy(() => webrtcIceCandidateSchema),
|
|
52
|
+
zod.z.lazy(() => sfuTrackMapSchema)
|
|
52
53
|
])
|
|
53
54
|
]));
|
|
54
55
|
const bulkDataFrameSchema = zod.z.lazy(() => zod.z.object({
|
|
@@ -427,6 +428,16 @@ const coordinatorFrameSchema = zod.z.lazy(() => zod.z.object({
|
|
|
427
428
|
"coordinator": zod.z.lazy(() => deviceIdSchema),
|
|
428
429
|
"capacity-hint": zod.z.number().int().nonnegative().optional()
|
|
429
430
|
}));
|
|
431
|
+
const sfuTrackMapSchema = zod.z.lazy(() => zod.z.object({
|
|
432
|
+
"verb": zod.z.literal("webrtc.sfu-track-map"),
|
|
433
|
+
"negotiation-id": zod.z.number().int().nonnegative(),
|
|
434
|
+
"tracks": zod.z.array(zod.z.lazy(() => sfuTrackEntrySchema))
|
|
435
|
+
}));
|
|
436
|
+
const sfuTrackEntrySchema = zod.z.lazy(() => zod.z.object({
|
|
437
|
+
"mid": zod.z.string(),
|
|
438
|
+
"member": zod.z.lazy(() => deviceIdSchema),
|
|
439
|
+
"kind": zod.z.union([zod.z.literal("audio"), zod.z.literal("video")])
|
|
440
|
+
}));
|
|
430
441
|
const webrtcOfferSchema = zod.z.lazy(() => zod.z.object({
|
|
431
442
|
"verb": zod.z.literal("webrtc.offer"),
|
|
432
443
|
"negotiation-id": zod.z.number().int().nonnegative(),
|
|
@@ -533,6 +544,8 @@ exports.roomPathSchema = roomPathSchema;
|
|
|
533
544
|
exports.roomReadSchema = roomReadSchema;
|
|
534
545
|
exports.roomRekeySchema = roomRekeySchema;
|
|
535
546
|
exports.roomSendSchema = roomSendSchema;
|
|
547
|
+
exports.sfuTrackEntrySchema = sfuTrackEntrySchema;
|
|
548
|
+
exports.sfuTrackMapSchema = sfuTrackMapSchema;
|
|
536
549
|
exports.streamAckFrameSchema = streamAckFrameSchema;
|
|
537
550
|
exports.streamDataFrameSchema = streamDataFrameSchema;
|
|
538
551
|
exports.streamEndFrameSchema = streamEndFrameSchema;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as PeerIdentity, $n as
|
|
2
|
-
export { BulkAckFrame, BulkCancel, BulkDataFrame, BulkEndFrame, BulkOpen, BulkResume, CandidateKind, CandidatesFrame, CapabilityGrant, CapabilityGrantOk, CapabilityRequest, CapabilityScope, CapabilityToken, CapabilityVerb, CloseFrame, CoordinatorFrame, CoreCapability, CoreDomainName, CoseHeaderAlg, CoseHeaderKid, CoseHeaderLabel, CoseSign1, CoseTokenHeaders, DataEntriesFrame, DataHaveFrame, DataRequestFrame, DeviceId, DeviceIdHex, DmRoomPath, DomainId, ExecList, ExecSessionInfo, Frame, FrameVariant, GossipFrame, HandleClaims, HandleRecord, HandshakeFrame, IceCandidateInit, IdentityKey, ManageCommand, ManageCommandParams, ManageError, ManageOk, ManageRequestFrame, ManageResponseFrame, MessageRef, NamespacedCapability, NamespacedDomainId, ObservedAddressFrame, OwnerNamedRoomPath, PeerAdvert, PeerIdentity, PingFrame, PrivateUseCapability, PrivateUseDomainId, ProcKill, ProcSignal, ProcSpawn, ProtocolVersion, PtyKill, PtyResize, PtySpawn, PtyWrite, RelayConnectFrame, RelayDataFrame, RelayInboundFrame, RelayOfferFrame, RevocationAnnounceFrame, RevocationClaims, RevocationEntry, RoomInvite, RoomJoin, RoomJoinOk, RoomLeave, RoomMember, RoomMembers, RoomMembersOk, RoomNotice, RoomNoticeClaims, RoomPath, RoomRead, RoomRekey, RoomSend, StreamAckFrame, StreamDataFrame, StreamEndFrame, StreamSession, SyncPunchFrame, TokenClaims, TransferId, WebrtcAnswer, WebrtcIceCandidate, WebrtcOffer, WireCandidate, bulkAckFrameSchema, bulkCancelSchema, bulkDataFrameSchema, bulkEndFrameSchema, bulkOpenSchema, bulkResumeSchema, candidateKindSchema, candidatesFrameSchema, capabilityGrantOkSchema, capabilityGrantSchema, capabilityRequestSchema, capabilityScopeSchema, capabilityTokenSchema, capabilityVerbSchema, closeFrameSchema, coordinatorFrameSchema, coreCapabilitySchema, coreDomainNameSchema, coseHeaderAlgSchema, coseHeaderKidSchema, coseHeaderLabelSchema, coseSign1Schema, coseTokenHeadersSchema, dataEntriesFrameSchema, dataHaveFrameSchema, dataRequestFrameSchema, deviceIdHexSchema, deviceIdSchema, dmRoomPathSchema, domainIdSchema, execListSchema, execSessionInfoSchema, frameSchema, frameVariantSchema, gossipFrameSchema, handleClaimsSchema, handleRecordSchema, handshakeFrameSchema, iceCandidateInitSchema, identityKeySchema, manageCommandParamsSchema, manageCommandSchema, manageErrorSchema, manageOkSchema, manageRequestFrameSchema, manageResponseFrameSchema, messageRefSchema, namespacedCapabilitySchema, namespacedDomainIdSchema, observedAddressFrameSchema, ownerNamedRoomPathSchema, peerAdvertSchema, peerIdentitySchema, pingFrameSchema, privateUseCapabilitySchema, privateUseDomainIdSchema, procKillSchema, procSignalSchema, procSpawnSchema, protocolVersionSchema, ptyKillSchema, ptyResizeSchema, ptySpawnSchema, ptyWriteSchema, relayConnectFrameSchema, relayDataFrameSchema, relayInboundFrameSchema, relayOfferFrameSchema, revocationAnnounceFrameSchema, revocationClaimsSchema, revocationEntrySchema, roomInviteSchema, roomJoinOkSchema, roomJoinSchema, roomLeaveSchema, roomMemberSchema, roomMembersOkSchema, roomMembersSchema, roomNoticeClaimsSchema, roomNoticeSchema, roomPathSchema, roomReadSchema, roomRekeySchema, roomSendSchema, streamAckFrameSchema, streamDataFrameSchema, streamEndFrameSchema, streamSessionSchema, syncPunchFrameSchema, tokenClaimsSchema, transferIdSchema, webrtcAnswerSchema, webrtcIceCandidateSchema, webrtcOfferSchema, wireCandidateSchema };
|
|
1
|
+
import { $ as PeerIdentity, $n as ptyWriteSchema, $t as capabilityGrantSchema, A as DomainId, An as manageCommandParamsSchema, Ar as webrtcIceCandidateSchema, At as RoomSend, B as IdentityKey, Bn as ownerNamedRoomPathSchema, Bt as WebrtcAnswer, C as CoseTokenHeaders, Cn as frameVariantSchema, Cr as streamDataFrameSchema, Ct as RoomMembers, D as DeviceId, Dn as handshakeFrameSchema, Dr as tokenClaimsSchema, Dt as RoomPath, E as DataRequestFrame, En as handleRecordSchema, Er as syncPunchFrameSchema, Et as RoomNoticeClaims, F as GossipFrame, Fn as manageResponseFrameSchema, Ft as StreamEndFrame, G as ManageRequestFrame, Gn as privateUseDomainIdSchema, Gt as bulkCancelSchema, H as ManageCommandParams, Hn as peerIdentitySchema, Ht as WebrtcOffer, I as HandleClaims, In as messageRefSchema, It as StreamSession, J as NamespacedCapability, Jn as procSpawnSchema, Jt as bulkOpenSchema, K as ManageResponseFrame, Kn as procKillSchema, Kt as bulkDataFrameSchema, L as HandleRecord, Ln as namespacedCapabilitySchema, Lt as SyncPunchFrame, M as ExecSessionInfo, Mn as manageErrorSchema, Mr as wireCandidateSchema, Mt as SfuTrackMap, N as Frame, Nn as manageOkSchema, Nt as StreamAckFrame, O as DeviceIdHex, On as iceCandidateInitSchema, Or as transferIdSchema, Ot as RoomRead, P as FrameVariant, Pn as manageRequestFrameSchema, Pt as StreamDataFrame, Q as PeerAdvert, Qn as ptySpawnSchema, Qt as capabilityGrantOkSchema, R as HandshakeFrame, Rn as namespacedDomainIdSchema, Rt as TokenClaims, S as CoseSign1, Sn as frameSchema, Sr as streamAckFrameSchema, St as RoomMember, T as DataHaveFrame, Tn as handleClaimsSchema, Tr as streamSessionSchema, Tt as RoomNotice, U as ManageError, Un as pingFrameSchema, Ut as WireCandidate, V as ManageCommand, Vn as peerAdvertSchema, Vt as WebrtcIceCandidate, W as ManageOk, Wn as privateUseCapabilitySchema, Wt as bulkAckFrameSchema, X as ObservedAddressFrame, Xn as ptyKillSchema, Xt as candidateKindSchema, Y as NamespacedDomainId, Yn as protocolVersionSchema, Yt as bulkResumeSchema, Z as OwnerNamedRoomPath, Zn as ptyResizeSchema, Zt as candidatesFrameSchema, _ as CoreCapability, _n as deviceIdSchema, _r as roomReadSchema, _t as RevocationEntry, a as BulkOpen, an as coordinatorFrameSchema, ar as revocationClaimsSchema, at as ProcSpawn, b as CoseHeaderKid, bn as execListSchema, br as sfuTrackEntrySchema, bt as RoomJoinOk, c as CandidatesFrame, cn as coseHeaderAlgSchema, cr as roomJoinOkSchema, ct as PtyResize, d as CapabilityRequest, dn as coseSign1Schema, dr as roomMemberSchema, dt as RelayConnectFrame, en as capabilityRequestSchema, er as relayConnectFrameSchema, et as PingFrame, f as CapabilityScope, fn as coseTokenHeadersSchema, fr as roomMembersOkSchema, ft as RelayDataFrame, g as CoordinatorFrame, gn as deviceIdHexSchema, gr as roomPathSchema, gt as RevocationClaims, h as CloseFrame, hn as dataRequestFrameSchema, hr as roomNoticeSchema, ht as RevocationAnnounceFrame, i as BulkEndFrame, in as closeFrameSchema, ir as revocationAnnounceFrameSchema, it as ProcSignal, j as ExecList, jn as manageCommandSchema, jr as webrtcOfferSchema, jt as SfuTrackEntry, k as DmRoomPath, kn as identityKeySchema, kr as webrtcAnswerSchema, kt as RoomRekey, l as CapabilityGrant, ln as coseHeaderKidSchema, lr as roomJoinSchema, lt as PtySpawn, m as CapabilityVerb, mn as dataHaveFrameSchema, mr as roomNoticeClaimsSchema, mt as RelayOfferFrame, n as BulkCancel, nn as capabilityTokenSchema, nr as relayInboundFrameSchema, nt as PrivateUseDomainId, o as BulkResume, on as coreCapabilitySchema, or as revocationEntrySchema, ot as ProtocolVersion, p as CapabilityToken, pn as dataEntriesFrameSchema, pr as roomMembersSchema, pt as RelayInboundFrame, q as MessageRef, qn as procSignalSchema, qt as bulkEndFrameSchema, r as BulkDataFrame, rn as capabilityVerbSchema, rr as relayOfferFrameSchema, rt as ProcKill, s as CandidateKind, sn as coreDomainNameSchema, sr as roomInviteSchema, st as PtyKill, t as BulkAckFrame, tn as capabilityScopeSchema, tr as relayDataFrameSchema, tt as PrivateUseCapability, u as CapabilityGrantOk, un as coseHeaderLabelSchema, ur as roomLeaveSchema, ut as PtyWrite, v as CoreDomainName, vn as dmRoomPathSchema, vr as roomRekeySchema, vt as RoomInvite, w as DataEntriesFrame, wn as gossipFrameSchema, wr as streamEndFrameSchema, wt as RoomMembersOk, x as CoseHeaderLabel, xn as execSessionInfoSchema, xr as sfuTrackMapSchema, xt as RoomLeave, y as CoseHeaderAlg, yn as domainIdSchema, yr as roomSendSchema, yt as RoomJoin, z as IceCandidateInit, zn as observedAddressFrameSchema, zt as TransferId } from "../protocol-D8CU6s2_.cjs";
|
|
2
|
+
export { BulkAckFrame, BulkCancel, BulkDataFrame, BulkEndFrame, BulkOpen, BulkResume, CandidateKind, CandidatesFrame, CapabilityGrant, CapabilityGrantOk, CapabilityRequest, CapabilityScope, CapabilityToken, CapabilityVerb, CloseFrame, CoordinatorFrame, CoreCapability, CoreDomainName, CoseHeaderAlg, CoseHeaderKid, CoseHeaderLabel, CoseSign1, CoseTokenHeaders, DataEntriesFrame, DataHaveFrame, DataRequestFrame, DeviceId, DeviceIdHex, DmRoomPath, DomainId, ExecList, ExecSessionInfo, Frame, FrameVariant, GossipFrame, HandleClaims, HandleRecord, HandshakeFrame, IceCandidateInit, IdentityKey, ManageCommand, ManageCommandParams, ManageError, ManageOk, ManageRequestFrame, ManageResponseFrame, MessageRef, NamespacedCapability, NamespacedDomainId, ObservedAddressFrame, OwnerNamedRoomPath, PeerAdvert, PeerIdentity, PingFrame, PrivateUseCapability, PrivateUseDomainId, ProcKill, ProcSignal, ProcSpawn, ProtocolVersion, PtyKill, PtyResize, PtySpawn, PtyWrite, RelayConnectFrame, RelayDataFrame, RelayInboundFrame, RelayOfferFrame, RevocationAnnounceFrame, RevocationClaims, RevocationEntry, RoomInvite, RoomJoin, RoomJoinOk, RoomLeave, RoomMember, RoomMembers, RoomMembersOk, RoomNotice, RoomNoticeClaims, RoomPath, RoomRead, RoomRekey, RoomSend, SfuTrackEntry, SfuTrackMap, StreamAckFrame, StreamDataFrame, StreamEndFrame, StreamSession, SyncPunchFrame, TokenClaims, TransferId, WebrtcAnswer, WebrtcIceCandidate, WebrtcOffer, WireCandidate, bulkAckFrameSchema, bulkCancelSchema, bulkDataFrameSchema, bulkEndFrameSchema, bulkOpenSchema, bulkResumeSchema, candidateKindSchema, candidatesFrameSchema, capabilityGrantOkSchema, capabilityGrantSchema, capabilityRequestSchema, capabilityScopeSchema, capabilityTokenSchema, capabilityVerbSchema, closeFrameSchema, coordinatorFrameSchema, coreCapabilitySchema, coreDomainNameSchema, coseHeaderAlgSchema, coseHeaderKidSchema, coseHeaderLabelSchema, coseSign1Schema, coseTokenHeadersSchema, dataEntriesFrameSchema, dataHaveFrameSchema, dataRequestFrameSchema, deviceIdHexSchema, deviceIdSchema, dmRoomPathSchema, domainIdSchema, execListSchema, execSessionInfoSchema, frameSchema, frameVariantSchema, gossipFrameSchema, handleClaimsSchema, handleRecordSchema, handshakeFrameSchema, iceCandidateInitSchema, identityKeySchema, manageCommandParamsSchema, manageCommandSchema, manageErrorSchema, manageOkSchema, manageRequestFrameSchema, manageResponseFrameSchema, messageRefSchema, namespacedCapabilitySchema, namespacedDomainIdSchema, observedAddressFrameSchema, ownerNamedRoomPathSchema, peerAdvertSchema, peerIdentitySchema, pingFrameSchema, privateUseCapabilitySchema, privateUseDomainIdSchema, procKillSchema, procSignalSchema, procSpawnSchema, protocolVersionSchema, ptyKillSchema, ptyResizeSchema, ptySpawnSchema, ptyWriteSchema, relayConnectFrameSchema, relayDataFrameSchema, relayInboundFrameSchema, relayOfferFrameSchema, revocationAnnounceFrameSchema, revocationClaimsSchema, revocationEntrySchema, roomInviteSchema, roomJoinOkSchema, roomJoinSchema, roomLeaveSchema, roomMemberSchema, roomMembersOkSchema, roomMembersSchema, roomNoticeClaimsSchema, roomNoticeSchema, roomPathSchema, roomReadSchema, roomRekeySchema, roomSendSchema, sfuTrackEntrySchema, sfuTrackMapSchema, streamAckFrameSchema, streamDataFrameSchema, streamEndFrameSchema, streamSessionSchema, syncPunchFrameSchema, tokenClaimsSchema, transferIdSchema, webrtcAnswerSchema, webrtcIceCandidateSchema, webrtcOfferSchema, wireCandidateSchema };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as PeerIdentity, $n as
|
|
2
|
-
export { BulkAckFrame, BulkCancel, BulkDataFrame, BulkEndFrame, BulkOpen, BulkResume, CandidateKind, CandidatesFrame, CapabilityGrant, CapabilityGrantOk, CapabilityRequest, CapabilityScope, CapabilityToken, CapabilityVerb, CloseFrame, CoordinatorFrame, CoreCapability, CoreDomainName, CoseHeaderAlg, CoseHeaderKid, CoseHeaderLabel, CoseSign1, CoseTokenHeaders, DataEntriesFrame, DataHaveFrame, DataRequestFrame, DeviceId, DeviceIdHex, DmRoomPath, DomainId, ExecList, ExecSessionInfo, Frame, FrameVariant, GossipFrame, HandleClaims, HandleRecord, HandshakeFrame, IceCandidateInit, IdentityKey, ManageCommand, ManageCommandParams, ManageError, ManageOk, ManageRequestFrame, ManageResponseFrame, MessageRef, NamespacedCapability, NamespacedDomainId, ObservedAddressFrame, OwnerNamedRoomPath, PeerAdvert, PeerIdentity, PingFrame, PrivateUseCapability, PrivateUseDomainId, ProcKill, ProcSignal, ProcSpawn, ProtocolVersion, PtyKill, PtyResize, PtySpawn, PtyWrite, RelayConnectFrame, RelayDataFrame, RelayInboundFrame, RelayOfferFrame, RevocationAnnounceFrame, RevocationClaims, RevocationEntry, RoomInvite, RoomJoin, RoomJoinOk, RoomLeave, RoomMember, RoomMembers, RoomMembersOk, RoomNotice, RoomNoticeClaims, RoomPath, RoomRead, RoomRekey, RoomSend, StreamAckFrame, StreamDataFrame, StreamEndFrame, StreamSession, SyncPunchFrame, TokenClaims, TransferId, WebrtcAnswer, WebrtcIceCandidate, WebrtcOffer, WireCandidate, bulkAckFrameSchema, bulkCancelSchema, bulkDataFrameSchema, bulkEndFrameSchema, bulkOpenSchema, bulkResumeSchema, candidateKindSchema, candidatesFrameSchema, capabilityGrantOkSchema, capabilityGrantSchema, capabilityRequestSchema, capabilityScopeSchema, capabilityTokenSchema, capabilityVerbSchema, closeFrameSchema, coordinatorFrameSchema, coreCapabilitySchema, coreDomainNameSchema, coseHeaderAlgSchema, coseHeaderKidSchema, coseHeaderLabelSchema, coseSign1Schema, coseTokenHeadersSchema, dataEntriesFrameSchema, dataHaveFrameSchema, dataRequestFrameSchema, deviceIdHexSchema, deviceIdSchema, dmRoomPathSchema, domainIdSchema, execListSchema, execSessionInfoSchema, frameSchema, frameVariantSchema, gossipFrameSchema, handleClaimsSchema, handleRecordSchema, handshakeFrameSchema, iceCandidateInitSchema, identityKeySchema, manageCommandParamsSchema, manageCommandSchema, manageErrorSchema, manageOkSchema, manageRequestFrameSchema, manageResponseFrameSchema, messageRefSchema, namespacedCapabilitySchema, namespacedDomainIdSchema, observedAddressFrameSchema, ownerNamedRoomPathSchema, peerAdvertSchema, peerIdentitySchema, pingFrameSchema, privateUseCapabilitySchema, privateUseDomainIdSchema, procKillSchema, procSignalSchema, procSpawnSchema, protocolVersionSchema, ptyKillSchema, ptyResizeSchema, ptySpawnSchema, ptyWriteSchema, relayConnectFrameSchema, relayDataFrameSchema, relayInboundFrameSchema, relayOfferFrameSchema, revocationAnnounceFrameSchema, revocationClaimsSchema, revocationEntrySchema, roomInviteSchema, roomJoinOkSchema, roomJoinSchema, roomLeaveSchema, roomMemberSchema, roomMembersOkSchema, roomMembersSchema, roomNoticeClaimsSchema, roomNoticeSchema, roomPathSchema, roomReadSchema, roomRekeySchema, roomSendSchema, streamAckFrameSchema, streamDataFrameSchema, streamEndFrameSchema, streamSessionSchema, syncPunchFrameSchema, tokenClaimsSchema, transferIdSchema, webrtcAnswerSchema, webrtcIceCandidateSchema, webrtcOfferSchema, wireCandidateSchema };
|
|
1
|
+
import { $ as PeerIdentity, $n as ptyWriteSchema, $t as capabilityGrantSchema, A as DomainId, An as manageCommandParamsSchema, Ar as webrtcIceCandidateSchema, At as RoomSend, B as IdentityKey, Bn as ownerNamedRoomPathSchema, Bt as WebrtcAnswer, C as CoseTokenHeaders, Cn as frameVariantSchema, Cr as streamDataFrameSchema, Ct as RoomMembers, D as DeviceId, Dn as handshakeFrameSchema, Dr as tokenClaimsSchema, Dt as RoomPath, E as DataRequestFrame, En as handleRecordSchema, Er as syncPunchFrameSchema, Et as RoomNoticeClaims, F as GossipFrame, Fn as manageResponseFrameSchema, Ft as StreamEndFrame, G as ManageRequestFrame, Gn as privateUseDomainIdSchema, Gt as bulkCancelSchema, H as ManageCommandParams, Hn as peerIdentitySchema, Ht as WebrtcOffer, I as HandleClaims, In as messageRefSchema, It as StreamSession, J as NamespacedCapability, Jn as procSpawnSchema, Jt as bulkOpenSchema, K as ManageResponseFrame, Kn as procKillSchema, Kt as bulkDataFrameSchema, L as HandleRecord, Ln as namespacedCapabilitySchema, Lt as SyncPunchFrame, M as ExecSessionInfo, Mn as manageErrorSchema, Mr as wireCandidateSchema, Mt as SfuTrackMap, N as Frame, Nn as manageOkSchema, Nt as StreamAckFrame, O as DeviceIdHex, On as iceCandidateInitSchema, Or as transferIdSchema, Ot as RoomRead, P as FrameVariant, Pn as manageRequestFrameSchema, Pt as StreamDataFrame, Q as PeerAdvert, Qn as ptySpawnSchema, Qt as capabilityGrantOkSchema, R as HandshakeFrame, Rn as namespacedDomainIdSchema, Rt as TokenClaims, S as CoseSign1, Sn as frameSchema, Sr as streamAckFrameSchema, St as RoomMember, T as DataHaveFrame, Tn as handleClaimsSchema, Tr as streamSessionSchema, Tt as RoomNotice, U as ManageError, Un as pingFrameSchema, Ut as WireCandidate, V as ManageCommand, Vn as peerAdvertSchema, Vt as WebrtcIceCandidate, W as ManageOk, Wn as privateUseCapabilitySchema, Wt as bulkAckFrameSchema, X as ObservedAddressFrame, Xn as ptyKillSchema, Xt as candidateKindSchema, Y as NamespacedDomainId, Yn as protocolVersionSchema, Yt as bulkResumeSchema, Z as OwnerNamedRoomPath, Zn as ptyResizeSchema, Zt as candidatesFrameSchema, _ as CoreCapability, _n as deviceIdSchema, _r as roomReadSchema, _t as RevocationEntry, a as BulkOpen, an as coordinatorFrameSchema, ar as revocationClaimsSchema, at as ProcSpawn, b as CoseHeaderKid, bn as execListSchema, br as sfuTrackEntrySchema, bt as RoomJoinOk, c as CandidatesFrame, cn as coseHeaderAlgSchema, cr as roomJoinOkSchema, ct as PtyResize, d as CapabilityRequest, dn as coseSign1Schema, dr as roomMemberSchema, dt as RelayConnectFrame, en as capabilityRequestSchema, er as relayConnectFrameSchema, et as PingFrame, f as CapabilityScope, fn as coseTokenHeadersSchema, fr as roomMembersOkSchema, ft as RelayDataFrame, g as CoordinatorFrame, gn as deviceIdHexSchema, gr as roomPathSchema, gt as RevocationClaims, h as CloseFrame, hn as dataRequestFrameSchema, hr as roomNoticeSchema, ht as RevocationAnnounceFrame, i as BulkEndFrame, in as closeFrameSchema, ir as revocationAnnounceFrameSchema, it as ProcSignal, j as ExecList, jn as manageCommandSchema, jr as webrtcOfferSchema, jt as SfuTrackEntry, k as DmRoomPath, kn as identityKeySchema, kr as webrtcAnswerSchema, kt as RoomRekey, l as CapabilityGrant, ln as coseHeaderKidSchema, lr as roomJoinSchema, lt as PtySpawn, m as CapabilityVerb, mn as dataHaveFrameSchema, mr as roomNoticeClaimsSchema, mt as RelayOfferFrame, n as BulkCancel, nn as capabilityTokenSchema, nr as relayInboundFrameSchema, nt as PrivateUseDomainId, o as BulkResume, on as coreCapabilitySchema, or as revocationEntrySchema, ot as ProtocolVersion, p as CapabilityToken, pn as dataEntriesFrameSchema, pr as roomMembersSchema, pt as RelayInboundFrame, q as MessageRef, qn as procSignalSchema, qt as bulkEndFrameSchema, r as BulkDataFrame, rn as capabilityVerbSchema, rr as relayOfferFrameSchema, rt as ProcKill, s as CandidateKind, sn as coreDomainNameSchema, sr as roomInviteSchema, st as PtyKill, t as BulkAckFrame, tn as capabilityScopeSchema, tr as relayDataFrameSchema, tt as PrivateUseCapability, u as CapabilityGrantOk, un as coseHeaderLabelSchema, ur as roomLeaveSchema, ut as PtyWrite, v as CoreDomainName, vn as dmRoomPathSchema, vr as roomRekeySchema, vt as RoomInvite, w as DataEntriesFrame, wn as gossipFrameSchema, wr as streamEndFrameSchema, wt as RoomMembersOk, x as CoseHeaderLabel, xn as execSessionInfoSchema, xr as sfuTrackMapSchema, xt as RoomLeave, y as CoseHeaderAlg, yn as domainIdSchema, yr as roomSendSchema, yt as RoomJoin, z as IceCandidateInit, zn as observedAddressFrameSchema, zt as TransferId } from "../protocol-D8CU6s2_.mjs";
|
|
2
|
+
export { BulkAckFrame, BulkCancel, BulkDataFrame, BulkEndFrame, BulkOpen, BulkResume, CandidateKind, CandidatesFrame, CapabilityGrant, CapabilityGrantOk, CapabilityRequest, CapabilityScope, CapabilityToken, CapabilityVerb, CloseFrame, CoordinatorFrame, CoreCapability, CoreDomainName, CoseHeaderAlg, CoseHeaderKid, CoseHeaderLabel, CoseSign1, CoseTokenHeaders, DataEntriesFrame, DataHaveFrame, DataRequestFrame, DeviceId, DeviceIdHex, DmRoomPath, DomainId, ExecList, ExecSessionInfo, Frame, FrameVariant, GossipFrame, HandleClaims, HandleRecord, HandshakeFrame, IceCandidateInit, IdentityKey, ManageCommand, ManageCommandParams, ManageError, ManageOk, ManageRequestFrame, ManageResponseFrame, MessageRef, NamespacedCapability, NamespacedDomainId, ObservedAddressFrame, OwnerNamedRoomPath, PeerAdvert, PeerIdentity, PingFrame, PrivateUseCapability, PrivateUseDomainId, ProcKill, ProcSignal, ProcSpawn, ProtocolVersion, PtyKill, PtyResize, PtySpawn, PtyWrite, RelayConnectFrame, RelayDataFrame, RelayInboundFrame, RelayOfferFrame, RevocationAnnounceFrame, RevocationClaims, RevocationEntry, RoomInvite, RoomJoin, RoomJoinOk, RoomLeave, RoomMember, RoomMembers, RoomMembersOk, RoomNotice, RoomNoticeClaims, RoomPath, RoomRead, RoomRekey, RoomSend, SfuTrackEntry, SfuTrackMap, StreamAckFrame, StreamDataFrame, StreamEndFrame, StreamSession, SyncPunchFrame, TokenClaims, TransferId, WebrtcAnswer, WebrtcIceCandidate, WebrtcOffer, WireCandidate, bulkAckFrameSchema, bulkCancelSchema, bulkDataFrameSchema, bulkEndFrameSchema, bulkOpenSchema, bulkResumeSchema, candidateKindSchema, candidatesFrameSchema, capabilityGrantOkSchema, capabilityGrantSchema, capabilityRequestSchema, capabilityScopeSchema, capabilityTokenSchema, capabilityVerbSchema, closeFrameSchema, coordinatorFrameSchema, coreCapabilitySchema, coreDomainNameSchema, coseHeaderAlgSchema, coseHeaderKidSchema, coseHeaderLabelSchema, coseSign1Schema, coseTokenHeadersSchema, dataEntriesFrameSchema, dataHaveFrameSchema, dataRequestFrameSchema, deviceIdHexSchema, deviceIdSchema, dmRoomPathSchema, domainIdSchema, execListSchema, execSessionInfoSchema, frameSchema, frameVariantSchema, gossipFrameSchema, handleClaimsSchema, handleRecordSchema, handshakeFrameSchema, iceCandidateInitSchema, identityKeySchema, manageCommandParamsSchema, manageCommandSchema, manageErrorSchema, manageOkSchema, manageRequestFrameSchema, manageResponseFrameSchema, messageRefSchema, namespacedCapabilitySchema, namespacedDomainIdSchema, observedAddressFrameSchema, ownerNamedRoomPathSchema, peerAdvertSchema, peerIdentitySchema, pingFrameSchema, privateUseCapabilitySchema, privateUseDomainIdSchema, procKillSchema, procSignalSchema, procSpawnSchema, protocolVersionSchema, ptyKillSchema, ptyResizeSchema, ptySpawnSchema, ptyWriteSchema, relayConnectFrameSchema, relayDataFrameSchema, relayInboundFrameSchema, relayOfferFrameSchema, revocationAnnounceFrameSchema, revocationClaimsSchema, revocationEntrySchema, roomInviteSchema, roomJoinOkSchema, roomJoinSchema, roomLeaveSchema, roomMemberSchema, roomMembersOkSchema, roomMembersSchema, roomNoticeClaimsSchema, roomNoticeSchema, roomPathSchema, roomReadSchema, roomRekeySchema, roomSendSchema, sfuTrackEntrySchema, sfuTrackMapSchema, streamAckFrameSchema, streamDataFrameSchema, streamEndFrameSchema, streamSessionSchema, syncPunchFrameSchema, tokenClaimsSchema, transferIdSchema, webrtcAnswerSchema, webrtcIceCandidateSchema, webrtcOfferSchema, wireCandidateSchema };
|
|
@@ -47,7 +47,8 @@ const manageCommandParamsSchema = z.lazy(() => z.union([
|
|
|
47
47
|
z.union([
|
|
48
48
|
z.lazy(() => webrtcOfferSchema),
|
|
49
49
|
z.lazy(() => webrtcAnswerSchema),
|
|
50
|
-
z.lazy(() => webrtcIceCandidateSchema)
|
|
50
|
+
z.lazy(() => webrtcIceCandidateSchema),
|
|
51
|
+
z.lazy(() => sfuTrackMapSchema)
|
|
51
52
|
])
|
|
52
53
|
]));
|
|
53
54
|
const bulkDataFrameSchema = z.lazy(() => z.object({
|
|
@@ -426,6 +427,16 @@ const coordinatorFrameSchema = z.lazy(() => z.object({
|
|
|
426
427
|
"coordinator": z.lazy(() => deviceIdSchema),
|
|
427
428
|
"capacity-hint": z.number().int().nonnegative().optional()
|
|
428
429
|
}));
|
|
430
|
+
const sfuTrackMapSchema = z.lazy(() => z.object({
|
|
431
|
+
"verb": z.literal("webrtc.sfu-track-map"),
|
|
432
|
+
"negotiation-id": z.number().int().nonnegative(),
|
|
433
|
+
"tracks": z.array(z.lazy(() => sfuTrackEntrySchema))
|
|
434
|
+
}));
|
|
435
|
+
const sfuTrackEntrySchema = z.lazy(() => z.object({
|
|
436
|
+
"mid": z.string(),
|
|
437
|
+
"member": z.lazy(() => deviceIdSchema),
|
|
438
|
+
"kind": z.union([z.literal("audio"), z.literal("video")])
|
|
439
|
+
}));
|
|
429
440
|
const webrtcOfferSchema = z.lazy(() => z.object({
|
|
430
441
|
"verb": z.literal("webrtc.offer"),
|
|
431
442
|
"negotiation-id": z.number().int().nonnegative(),
|
|
@@ -448,4 +459,4 @@ const iceCandidateInitSchema = z.lazy(() => z.object({
|
|
|
448
459
|
"username-fragment": z.string().optional()
|
|
449
460
|
}));
|
|
450
461
|
//#endregion
|
|
451
|
-
export { bulkAckFrameSchema, bulkCancelSchema, bulkDataFrameSchema, bulkEndFrameSchema, bulkOpenSchema, bulkResumeSchema, candidateKindSchema, candidatesFrameSchema, capabilityGrantOkSchema, capabilityGrantSchema, capabilityRequestSchema, capabilityScopeSchema, capabilityTokenSchema, capabilityVerbSchema, closeFrameSchema, coordinatorFrameSchema, coreCapabilitySchema, coreDomainNameSchema, coseHeaderAlgSchema, coseHeaderKidSchema, coseHeaderLabelSchema, coseSign1Schema, coseTokenHeadersSchema, dataEntriesFrameSchema, dataHaveFrameSchema, dataRequestFrameSchema, deviceIdHexSchema, deviceIdSchema, dmRoomPathSchema, domainIdSchema, execListSchema, execSessionInfoSchema, frameSchema, frameVariantSchema, gossipFrameSchema, handleClaimsSchema, handleRecordSchema, handshakeFrameSchema, iceCandidateInitSchema, identityKeySchema, manageCommandParamsSchema, manageCommandSchema, manageErrorSchema, manageOkSchema, manageRequestFrameSchema, manageResponseFrameSchema, messageRefSchema, namespacedCapabilitySchema, namespacedDomainIdSchema, observedAddressFrameSchema, ownerNamedRoomPathSchema, peerAdvertSchema, peerIdentitySchema, pingFrameSchema, privateUseCapabilitySchema, privateUseDomainIdSchema, procKillSchema, procSignalSchema, procSpawnSchema, protocolVersionSchema, ptyKillSchema, ptyResizeSchema, ptySpawnSchema, ptyWriteSchema, relayConnectFrameSchema, relayDataFrameSchema, relayInboundFrameSchema, relayOfferFrameSchema, revocationAnnounceFrameSchema, revocationClaimsSchema, revocationEntrySchema, roomInviteSchema, roomJoinOkSchema, roomJoinSchema, roomLeaveSchema, roomMemberSchema, roomMembersOkSchema, roomMembersSchema, roomNoticeClaimsSchema, roomNoticeSchema, roomPathSchema, roomReadSchema, roomRekeySchema, roomSendSchema, streamAckFrameSchema, streamDataFrameSchema, streamEndFrameSchema, streamSessionSchema, syncPunchFrameSchema, tokenClaimsSchema, transferIdSchema, webrtcAnswerSchema, webrtcIceCandidateSchema, webrtcOfferSchema, wireCandidateSchema };
|
|
462
|
+
export { bulkAckFrameSchema, bulkCancelSchema, bulkDataFrameSchema, bulkEndFrameSchema, bulkOpenSchema, bulkResumeSchema, candidateKindSchema, candidatesFrameSchema, capabilityGrantOkSchema, capabilityGrantSchema, capabilityRequestSchema, capabilityScopeSchema, capabilityTokenSchema, capabilityVerbSchema, closeFrameSchema, coordinatorFrameSchema, coreCapabilitySchema, coreDomainNameSchema, coseHeaderAlgSchema, coseHeaderKidSchema, coseHeaderLabelSchema, coseSign1Schema, coseTokenHeadersSchema, dataEntriesFrameSchema, dataHaveFrameSchema, dataRequestFrameSchema, deviceIdHexSchema, deviceIdSchema, dmRoomPathSchema, domainIdSchema, execListSchema, execSessionInfoSchema, frameSchema, frameVariantSchema, gossipFrameSchema, handleClaimsSchema, handleRecordSchema, handshakeFrameSchema, iceCandidateInitSchema, identityKeySchema, manageCommandParamsSchema, manageCommandSchema, manageErrorSchema, manageOkSchema, manageRequestFrameSchema, manageResponseFrameSchema, messageRefSchema, namespacedCapabilitySchema, namespacedDomainIdSchema, observedAddressFrameSchema, ownerNamedRoomPathSchema, peerAdvertSchema, peerIdentitySchema, pingFrameSchema, privateUseCapabilitySchema, privateUseDomainIdSchema, procKillSchema, procSignalSchema, procSpawnSchema, protocolVersionSchema, ptyKillSchema, ptyResizeSchema, ptySpawnSchema, ptyWriteSchema, relayConnectFrameSchema, relayDataFrameSchema, relayInboundFrameSchema, relayOfferFrameSchema, revocationAnnounceFrameSchema, revocationClaimsSchema, revocationEntrySchema, roomInviteSchema, roomJoinOkSchema, roomJoinSchema, roomLeaveSchema, roomMemberSchema, roomMembersOkSchema, roomMembersSchema, roomNoticeClaimsSchema, roomNoticeSchema, roomPathSchema, roomReadSchema, roomRekeySchema, roomSendSchema, sfuTrackEntrySchema, sfuTrackMapSchema, streamAckFrameSchema, streamDataFrameSchema, streamEndFrameSchema, streamSessionSchema, syncPunchFrameSchema, tokenClaimsSchema, transferIdSchema, webrtcAnswerSchema, webrtcIceCandidateSchema, webrtcOfferSchema, wireCandidateSchema };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as IdentityKey, D as DeviceId } from "./protocol-
|
|
1
|
+
import { B as IdentityKey, D as DeviceId } from "./protocol-D8CU6s2_.cjs";
|
|
2
2
|
//#region src/ports/identity.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Wraps the local node's own identity plus the signing/verification primitives capability-token handling needs -- never hardcoded to one crypto library's own API shape (Node's webcrypto, a WASM implementation, a hardware key, etc. can all satisfy this same contract).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as IdentityKey, D as DeviceId } from "./protocol-
|
|
1
|
+
import { B as IdentityKey, D as DeviceId } from "./protocol-D8CU6s2_.mjs";
|
|
2
2
|
//#region src/ports/identity.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Wraps the local node's own identity plus the signing/verification primitives capability-token handling needs -- never hardcoded to one crypto library's own API shape (Node's webcrypto, a WASM implementation, a hardware key, etc. can all satisfy this same contract).
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as IdentityPort } from "../identity-
|
|
1
|
+
import { t as IdentityPort } from "../identity-DHf0J6IA.cjs";
|
|
2
2
|
export { IdentityPort };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as IdentityPort } from "../identity-
|
|
1
|
+
import { t as IdentityPort } from "../identity-Oelt3uEn.mjs";
|
|
2
2
|
export { IdentityPort };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as Listener, r as Transport, t as Connection } from "../transport-
|
|
1
|
+
import { n as Listener, r as Transport, t as Connection } from "../transport-BbSGNRFZ.cjs";
|
|
2
2
|
export { Connection, Listener, Transport };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as Listener, r as Transport, t as Connection } from "../transport-
|
|
1
|
+
import { n as Listener, r as Transport, t as Connection } from "../transport-BNeF6kDe.mjs";
|
|
2
2
|
export { Connection, Listener, Transport };
|
|
@@ -123,6 +123,14 @@ declare const manageCommandParamsSchema: z.ZodLazy<z.ZodUnion<readonly [z.ZodUni
|
|
|
123
123
|
"sdp-m-line-index": z.ZodOptional<z.ZodNumber>;
|
|
124
124
|
"username-fragment": z.ZodOptional<z.ZodString>;
|
|
125
125
|
}, z.core.$strip>>>>;
|
|
126
|
+
}, z.core.$strip>>>, z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
127
|
+
verb: z.ZodLiteral<"webrtc.sfu-track-map">;
|
|
128
|
+
"negotiation-id": z.ZodNumber;
|
|
129
|
+
tracks: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
130
|
+
mid: z.ZodString;
|
|
131
|
+
member: z.ZodLazy<z.ZodLazy<z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>>;
|
|
132
|
+
kind: z.ZodUnion<readonly [z.ZodLiteral<"audio">, z.ZodLiteral<"video">]>;
|
|
133
|
+
}, z.core.$strip>>>>;
|
|
126
134
|
}, z.core.$strip>>>]>]>>;
|
|
127
135
|
declare const bulkDataFrameSchema: z.ZodLazy<z.ZodObject<{
|
|
128
136
|
type: z.ZodLiteral<"bulk-data">;
|
|
@@ -387,6 +395,14 @@ declare const frameVariantSchema: z.ZodLazy<z.ZodUnion<readonly [z.ZodLazy<z.Zod
|
|
|
387
395
|
"sdp-m-line-index": z.ZodOptional<z.ZodNumber>;
|
|
388
396
|
"username-fragment": z.ZodOptional<z.ZodString>;
|
|
389
397
|
}, z.core.$strip>>>>;
|
|
398
|
+
}, z.core.$strip>>>, z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
399
|
+
verb: z.ZodLiteral<"webrtc.sfu-track-map">;
|
|
400
|
+
"negotiation-id": z.ZodNumber;
|
|
401
|
+
tracks: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
402
|
+
mid: z.ZodString;
|
|
403
|
+
member: z.ZodLazy<z.ZodLazy<z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>>;
|
|
404
|
+
kind: z.ZodUnion<readonly [z.ZodLiteral<"audio">, z.ZodLiteral<"video">]>;
|
|
405
|
+
}, z.core.$strip>>>>;
|
|
390
406
|
}, z.core.$strip>>>]>]>>>;
|
|
391
407
|
}, z.core.$strip>>>;
|
|
392
408
|
scope: z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
@@ -618,6 +634,14 @@ declare const frameSchema: z.ZodLazy<z.ZodLazy<z.ZodLazy<z.ZodUnion<readonly [z.
|
|
|
618
634
|
"sdp-m-line-index": z.ZodOptional<z.ZodNumber>;
|
|
619
635
|
"username-fragment": z.ZodOptional<z.ZodString>;
|
|
620
636
|
}, z.core.$strip>>>>;
|
|
637
|
+
}, z.core.$strip>>>, z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
638
|
+
verb: z.ZodLiteral<"webrtc.sfu-track-map">;
|
|
639
|
+
"negotiation-id": z.ZodNumber;
|
|
640
|
+
tracks: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
641
|
+
mid: z.ZodString;
|
|
642
|
+
member: z.ZodLazy<z.ZodLazy<z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>>;
|
|
643
|
+
kind: z.ZodUnion<readonly [z.ZodLiteral<"audio">, z.ZodLiteral<"video">]>;
|
|
644
|
+
}, z.core.$strip>>>>;
|
|
621
645
|
}, z.core.$strip>>>]>]>>>;
|
|
622
646
|
}, z.core.$strip>>>;
|
|
623
647
|
scope: z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
@@ -820,6 +844,14 @@ declare const manageCommandSchema: z.ZodLazy<z.ZodObject<{
|
|
|
820
844
|
"sdp-m-line-index": z.ZodOptional<z.ZodNumber>;
|
|
821
845
|
"username-fragment": z.ZodOptional<z.ZodString>;
|
|
822
846
|
}, z.core.$strip>>>>;
|
|
847
|
+
}, z.core.$strip>>>, z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
848
|
+
verb: z.ZodLiteral<"webrtc.sfu-track-map">;
|
|
849
|
+
"negotiation-id": z.ZodNumber;
|
|
850
|
+
tracks: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
851
|
+
mid: z.ZodString;
|
|
852
|
+
member: z.ZodLazy<z.ZodLazy<z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>>;
|
|
853
|
+
kind: z.ZodUnion<readonly [z.ZodLiteral<"audio">, z.ZodLiteral<"video">]>;
|
|
854
|
+
}, z.core.$strip>>>>;
|
|
823
855
|
}, z.core.$strip>>>]>]>>>;
|
|
824
856
|
}, z.core.$strip>>;
|
|
825
857
|
declare const manageRequestFrameSchema: z.ZodLazy<z.ZodObject<{
|
|
@@ -933,6 +965,14 @@ declare const manageRequestFrameSchema: z.ZodLazy<z.ZodObject<{
|
|
|
933
965
|
"sdp-m-line-index": z.ZodOptional<z.ZodNumber>;
|
|
934
966
|
"username-fragment": z.ZodOptional<z.ZodString>;
|
|
935
967
|
}, z.core.$strip>>>>;
|
|
968
|
+
}, z.core.$strip>>>, z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
969
|
+
verb: z.ZodLiteral<"webrtc.sfu-track-map">;
|
|
970
|
+
"negotiation-id": z.ZodNumber;
|
|
971
|
+
tracks: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
972
|
+
mid: z.ZodString;
|
|
973
|
+
member: z.ZodLazy<z.ZodLazy<z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>>;
|
|
974
|
+
kind: z.ZodUnion<readonly [z.ZodLiteral<"audio">, z.ZodLiteral<"video">]>;
|
|
975
|
+
}, z.core.$strip>>>>;
|
|
936
976
|
}, z.core.$strip>>>]>]>>>;
|
|
937
977
|
}, z.core.$strip>>>;
|
|
938
978
|
scope: z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
@@ -1224,6 +1264,20 @@ declare const coordinatorFrameSchema: z.ZodLazy<z.ZodObject<{
|
|
|
1224
1264
|
coordinator: z.ZodLazy<z.ZodLazy<z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>>;
|
|
1225
1265
|
"capacity-hint": z.ZodOptional<z.ZodNumber>;
|
|
1226
1266
|
}, z.core.$strip>>;
|
|
1267
|
+
declare const sfuTrackMapSchema: z.ZodLazy<z.ZodObject<{
|
|
1268
|
+
verb: z.ZodLiteral<"webrtc.sfu-track-map">;
|
|
1269
|
+
"negotiation-id": z.ZodNumber;
|
|
1270
|
+
tracks: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
|
|
1271
|
+
mid: z.ZodString;
|
|
1272
|
+
member: z.ZodLazy<z.ZodLazy<z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>>;
|
|
1273
|
+
kind: z.ZodUnion<readonly [z.ZodLiteral<"audio">, z.ZodLiteral<"video">]>;
|
|
1274
|
+
}, z.core.$strip>>>>;
|
|
1275
|
+
}, z.core.$strip>>;
|
|
1276
|
+
declare const sfuTrackEntrySchema: z.ZodLazy<z.ZodObject<{
|
|
1277
|
+
mid: z.ZodString;
|
|
1278
|
+
member: z.ZodLazy<z.ZodLazy<z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>>;
|
|
1279
|
+
kind: z.ZodUnion<readonly [z.ZodLiteral<"audio">, z.ZodLiteral<"video">]>;
|
|
1280
|
+
}, z.core.$strip>>;
|
|
1227
1281
|
declare const webrtcOfferSchema: z.ZodLazy<z.ZodObject<{
|
|
1228
1282
|
verb: z.ZodLiteral<"webrtc.offer">;
|
|
1229
1283
|
"negotiation-id": z.ZodNumber;
|
|
@@ -1341,9 +1395,11 @@ type RelayConnectFrame = z.infer<typeof relayConnectFrameSchema>;
|
|
|
1341
1395
|
type RelayDataFrame = z.infer<typeof relayDataFrameSchema>;
|
|
1342
1396
|
type RelayInboundFrame = z.infer<typeof relayInboundFrameSchema>;
|
|
1343
1397
|
type CoordinatorFrame = z.infer<typeof coordinatorFrameSchema>;
|
|
1398
|
+
type SfuTrackMap = z.infer<typeof sfuTrackMapSchema>;
|
|
1399
|
+
type SfuTrackEntry = z.infer<typeof sfuTrackEntrySchema>;
|
|
1344
1400
|
type WebrtcOffer = z.infer<typeof webrtcOfferSchema>;
|
|
1345
1401
|
type WebrtcAnswer = z.infer<typeof webrtcAnswerSchema>;
|
|
1346
1402
|
type WebrtcIceCandidate = z.infer<typeof webrtcIceCandidateSchema>;
|
|
1347
1403
|
type IceCandidateInit = z.infer<typeof iceCandidateInitSchema>;
|
|
1348
1404
|
//#endregion
|
|
1349
|
-
export { PeerIdentity as $,
|
|
1405
|
+
export { PeerIdentity as $, ptyWriteSchema as $n, capabilityGrantSchema as $t, DomainId as A, manageCommandParamsSchema as An, webrtcIceCandidateSchema as Ar, RoomSend as At, IdentityKey as B, ownerNamedRoomPathSchema as Bn, WebrtcAnswer as Bt, CoseTokenHeaders as C, frameVariantSchema as Cn, streamDataFrameSchema as Cr, RoomMembers as Ct, DeviceId as D, handshakeFrameSchema as Dn, tokenClaimsSchema as Dr, RoomPath as Dt, DataRequestFrame as E, handleRecordSchema as En, syncPunchFrameSchema as Er, RoomNoticeClaims as Et, GossipFrame as F, manageResponseFrameSchema as Fn, StreamEndFrame as Ft, ManageRequestFrame as G, privateUseDomainIdSchema as Gn, bulkCancelSchema as Gt, ManageCommandParams as H, peerIdentitySchema as Hn, WebrtcOffer as Ht, HandleClaims as I, messageRefSchema as In, StreamSession as It, NamespacedCapability as J, procSpawnSchema as Jn, bulkOpenSchema as Jt, ManageResponseFrame as K, procKillSchema as Kn, bulkDataFrameSchema as Kt, HandleRecord as L, namespacedCapabilitySchema as Ln, SyncPunchFrame as Lt, ExecSessionInfo as M, manageErrorSchema as Mn, wireCandidateSchema as Mr, SfuTrackMap as Mt, Frame as N, manageOkSchema as Nn, StreamAckFrame as Nt, DeviceIdHex as O, iceCandidateInitSchema as On, transferIdSchema as Or, RoomRead as Ot, FrameVariant as P, manageRequestFrameSchema as Pn, StreamDataFrame as Pt, PeerAdvert as Q, ptySpawnSchema as Qn, capabilityGrantOkSchema as Qt, HandshakeFrame as R, namespacedDomainIdSchema as Rn, TokenClaims as Rt, CoseSign1 as S, frameSchema as Sn, streamAckFrameSchema as Sr, RoomMember as St, DataHaveFrame as T, handleClaimsSchema as Tn, streamSessionSchema as Tr, RoomNotice as Tt, ManageError as U, pingFrameSchema as Un, WireCandidate as Ut, ManageCommand as V, peerAdvertSchema as Vn, WebrtcIceCandidate as Vt, ManageOk as W, privateUseCapabilitySchema as Wn, bulkAckFrameSchema as Wt, ObservedAddressFrame as X, ptyKillSchema as Xn, candidateKindSchema as Xt, NamespacedDomainId as Y, protocolVersionSchema as Yn, bulkResumeSchema as Yt, OwnerNamedRoomPath as Z, ptyResizeSchema as Zn, candidatesFrameSchema as Zt, CoreCapability as _, deviceIdSchema as _n, roomReadSchema as _r, RevocationEntry as _t, BulkOpen as a, coordinatorFrameSchema as an, revocationClaimsSchema as ar, ProcSpawn as at, CoseHeaderKid as b, execListSchema as bn, sfuTrackEntrySchema as br, RoomJoinOk as bt, CandidatesFrame as c, coseHeaderAlgSchema as cn, roomJoinOkSchema as cr, PtyResize as ct, CapabilityRequest as d, coseSign1Schema as dn, roomMemberSchema as dr, RelayConnectFrame as dt, capabilityRequestSchema as en, relayConnectFrameSchema as er, PingFrame as et, CapabilityScope as f, coseTokenHeadersSchema as fn, roomMembersOkSchema as fr, RelayDataFrame as ft, CoordinatorFrame as g, deviceIdHexSchema as gn, roomPathSchema as gr, RevocationClaims as gt, CloseFrame as h, dataRequestFrameSchema as hn, roomNoticeSchema as hr, RevocationAnnounceFrame as ht, BulkEndFrame as i, closeFrameSchema as in, revocationAnnounceFrameSchema as ir, ProcSignal as it, ExecList as j, manageCommandSchema as jn, webrtcOfferSchema as jr, SfuTrackEntry as jt, DmRoomPath as k, identityKeySchema as kn, webrtcAnswerSchema as kr, RoomRekey as kt, CapabilityGrant as l, coseHeaderKidSchema as ln, roomJoinSchema as lr, PtySpawn as lt, CapabilityVerb as m, dataHaveFrameSchema as mn, roomNoticeClaimsSchema as mr, RelayOfferFrame as mt, BulkCancel as n, capabilityTokenSchema as nn, relayInboundFrameSchema as nr, PrivateUseDomainId as nt, BulkResume as o, coreCapabilitySchema as on, revocationEntrySchema as or, ProtocolVersion as ot, CapabilityToken as p, dataEntriesFrameSchema as pn, roomMembersSchema as pr, RelayInboundFrame as pt, MessageRef as q, procSignalSchema as qn, bulkEndFrameSchema as qt, BulkDataFrame as r, capabilityVerbSchema as rn, relayOfferFrameSchema as rr, ProcKill as rt, CandidateKind as s, coreDomainNameSchema as sn, roomInviteSchema as sr, PtyKill as st, BulkAckFrame as t, capabilityScopeSchema as tn, relayDataFrameSchema as tr, PrivateUseCapability as tt, CapabilityGrantOk as u, coseHeaderLabelSchema as un, roomLeaveSchema as ur, PtyWrite as ut, CoreDomainName as v, dmRoomPathSchema as vn, roomRekeySchema as vr, RoomInvite as vt, DataEntriesFrame as w, gossipFrameSchema as wn, streamEndFrameSchema as wr, RoomMembersOk as wt, CoseHeaderLabel as x, execSessionInfoSchema as xn, sfuTrackMapSchema as xr, RoomLeave as xt, CoseHeaderAlg as y, domainIdSchema as yn, roomSendSchema as yr, RoomJoin as yt, IceCandidateInit as z, observedAddressFrameSchema as zn, TransferId as zt };
|