p2party 0.6.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/LICENSE.md +661 -0
  2. package/README.md +417 -0
  3. package/lib/api/signalingServerApi.d.ts +19 -0
  4. package/lib/api/webrtc/baseQuery.d.ts +11 -0
  5. package/lib/api/webrtc/baseQuery.d.ts.map +1 -0
  6. package/lib/api/webrtc/disconnectFromAllRoomsQuery.d.ts +9 -0
  7. package/lib/api/webrtc/disconnectFromAllRoomsQuery.d.ts.map +1 -0
  8. package/lib/api/webrtc/disconnectFromChannelLabelQuery.d.ts +8 -0
  9. package/lib/api/webrtc/disconnectFromChannelLabelQuery.d.ts.map +1 -0
  10. package/lib/api/webrtc/disconnectFromPeerChannelLabelQuery.d.ts +9 -0
  11. package/lib/api/webrtc/disconnectFromPeerChannelLabelQuery.d.ts.map +1 -0
  12. package/lib/api/webrtc/disconnectFromPeerQuery.d.ts +9 -0
  13. package/lib/api/webrtc/disconnectFromPeerQuery.d.ts.map +1 -0
  14. package/lib/api/webrtc/disconnectFromRoomQuery.d.ts +9 -0
  15. package/lib/api/webrtc/disconnectFromRoomQuery.d.ts.map +1 -0
  16. package/lib/api/webrtc/disconnectQuery.d.ts +9 -0
  17. package/lib/api/webrtc/disconnectQuery.d.ts.map +1 -0
  18. package/lib/api/webrtc/index.d.ts +19 -0
  19. package/lib/api/webrtc/index.d.ts.map +1 -0
  20. package/lib/api/webrtc/interfaces.d.ts +101 -0
  21. package/lib/api/webrtc/interfaces.d.ts.map +1 -0
  22. package/lib/api/webrtc/openChannelQuery.d.ts +11 -0
  23. package/lib/api/webrtc/openChannelQuery.d.ts.map +1 -0
  24. package/lib/api/webrtc/sendMessageQuery.d.ts +12 -0
  25. package/lib/api/webrtc/sendMessageQuery.d.ts.map +1 -0
  26. package/lib/api/webrtc/setCandidateQuery.d.ts +9 -0
  27. package/lib/api/webrtc/setCandidateQuery.d.ts.map +1 -0
  28. package/lib/api/webrtc/setDescriptionQuery.d.ts +12 -0
  29. package/lib/api/webrtc/setDescriptionQuery.d.ts.map +1 -0
  30. package/lib/cryptography/chacha20poly1305.d.ts +116 -0
  31. package/lib/cryptography/ed25519.d.ts +12 -0
  32. package/lib/cryptography/hasher.d.ts +11 -0
  33. package/lib/cryptography/interfaces.d.ts +40 -0
  34. package/lib/cryptography/memory.d.ts +15 -0
  35. package/lib/cryptography/merkle.d.ts +43 -0
  36. package/lib/cryptography/mnemonic.d.ts +30 -0
  37. package/lib/cryptography/utils.d.ts +13 -0
  38. package/lib/db/api.d.ts +35 -0
  39. package/lib/db/db.worker.d.ts +2 -0
  40. package/lib/db/src/getDB.d.ts +68 -0
  41. package/lib/db/src/getDB.d.ts.map +1 -0
  42. package/lib/db/types.d.ts +234 -0
  43. package/lib/db.worker.js +2 -0
  44. package/lib/handlers/handleChallenge.d.ts +5 -0
  45. package/lib/handlers/handleConnectToPeer.d.ts +4 -0
  46. package/lib/handlers/handleOpenChannel.d.ts +15 -0
  47. package/lib/handlers/handleQueuedIceCandidates.d.ts +3 -0
  48. package/lib/handlers/handleReadReceipt.d.ts +5 -0
  49. package/lib/handlers/handleReceiveMessage.d.ts +16 -0
  50. package/lib/handlers/handleSendMessage.d.ts +6 -0
  51. package/lib/handlers/handleSendMessageWebsocket.d.ts +4 -0
  52. package/lib/handlers/handleWebSocketMessage.d.ts +7 -0
  53. package/lib/index.d.ts +202 -0
  54. package/lib/index.js +2 -0
  55. package/lib/index.min.js +2 -0
  56. package/lib/index.mjs +2 -0
  57. package/lib/middleware/keyPairListenerMiddleware.d.ts +3 -0
  58. package/lib/middleware/roomListenerMiddleware.d.ts +3 -0
  59. package/lib/reducers/commonSlice.d.ts +9 -0
  60. package/lib/reducers/keyPairSlice.d.ts +33 -0
  61. package/lib/reducers/roomSlice.d.ts +113 -0
  62. package/lib/reducers/signalingServerSlice.d.ts +16 -0
  63. package/lib/store.d.ts +55 -0
  64. package/lib/utils/channelLabel.d.ts +12 -0
  65. package/lib/utils/interfaces.d.ts +138 -0
  66. package/lib/utils/mediasource.d.ts +2 -0
  67. package/lib/utils/messageTypes.d.ts +88 -0
  68. package/lib/utils/metadata.d.ts +17 -0
  69. package/lib/utils/splitToChunks.d.ts +29 -0
  70. package/lib/utils/uint8array.d.ts +21 -0
  71. package/package.json +115 -0
@@ -0,0 +1,3 @@
1
+ declare const keyPairListenerMiddleware: import("@reduxjs/toolkit").ListenerMiddlewareInstance<unknown, import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>, unknown>;
2
+ export default keyPairListenerMiddleware;
3
+ //# sourceMappingURL=keyPairListenerMiddleware.d.ts.map
@@ -0,0 +1,3 @@
1
+ declare const roomListenerMiddleware: import("@reduxjs/toolkit").ListenerMiddlewareInstance<unknown, import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>, unknown>;
2
+ export default roomListenerMiddleware;
3
+ //# sourceMappingURL=roomListenerMiddleware.d.ts.map
@@ -0,0 +1,9 @@
1
+ import type { State } from "../store";
2
+ export interface CommonState {
3
+ currentRoomUrl: string;
4
+ }
5
+ export declare const setCurrentRoomUrl: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "commonState/setCurrentRoomUrl">;
6
+ export declare const commonStateSelector: (state: State) => CommonState;
7
+ declare const _default: import("redux").Reducer<CommonState>;
8
+ export default _default;
9
+ //# sourceMappingURL=commonSlice.d.ts.map
@@ -0,0 +1,33 @@
1
+ import type { State } from "../store";
2
+ export interface KeyPair {
3
+ peerId: string;
4
+ challengeId: string;
5
+ publicKey: string;
6
+ secretKey: string;
7
+ challenge: string;
8
+ signature: string;
9
+ }
10
+ export interface SetKeyPair {
11
+ publicKey: string;
12
+ secretKey: string;
13
+ }
14
+ export interface SetPeerData {
15
+ peerId: string;
16
+ challenge: string;
17
+ signature: string;
18
+ }
19
+ export interface SetChallengeId {
20
+ challengeId: string;
21
+ username?: string;
22
+ credential?: string;
23
+ }
24
+ export interface SetReconnectData extends SetPeerData {
25
+ challengeId: string;
26
+ username?: string;
27
+ credential?: string;
28
+ }
29
+ export declare const setKeyPair: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetKeyPair, "keyPair/setKeyPair">, setReconnectData: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetReconnectData, "keyPair/setReconnectData">, setPeerData: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetPeerData, "keyPair/setPeerData">, setChallengeId: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetChallengeId, "keyPair/setChallengeId">, resetIdentity: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"keyPair/resetIdentity">;
30
+ export declare const keyPairSelector: (state: State) => KeyPair;
31
+ declare const _default: import("redux").Reducer<KeyPair>;
32
+ export default _default;
33
+ //# sourceMappingURL=keyPairSlice.d.ts.map
@@ -0,0 +1,113 @@
1
+ import type { State } from "../store";
2
+ export interface Channel {
3
+ label: string;
4
+ peerIds: string[];
5
+ }
6
+ export interface Peer {
7
+ peerId: string;
8
+ peerPublicKey: string;
9
+ }
10
+ export interface Message {
11
+ merkleRootHex: string;
12
+ sha512Hex: string;
13
+ fromPeerId: string;
14
+ filename: string;
15
+ messageType: number;
16
+ savedSize: number;
17
+ totalSize: number;
18
+ chunksCreated: number;
19
+ totalChunks: number;
20
+ channelLabel: string;
21
+ timestamp: number;
22
+ }
23
+ export interface SetRoomArgs {
24
+ url: string;
25
+ id: string;
26
+ canBeConnectionRelay?: boolean;
27
+ onlyConnectWithKnownPeers?: boolean;
28
+ rtcConfig?: RTCConfiguration;
29
+ }
30
+ export interface SetPeerArgs extends Peer {
31
+ roomId: string;
32
+ }
33
+ export interface SetIceServersArgs {
34
+ roomId: string;
35
+ iceServers: RTCIceServer[];
36
+ }
37
+ export interface SetMessageArgs {
38
+ roomId: string;
39
+ merkleRootHex: string;
40
+ sha512Hex: string;
41
+ chunkSize: number;
42
+ totalSize: number;
43
+ chunksCreated?: number;
44
+ totalChunks?: number;
45
+ timestamp?: number;
46
+ fromPeerId: string;
47
+ filename: string;
48
+ messageType: number;
49
+ channelLabel: string;
50
+ }
51
+ export interface SetMessageAllChunksArgs {
52
+ roomId: string;
53
+ merkleRootHex: string;
54
+ sha512Hex: string;
55
+ fromPeerId: string;
56
+ filename: string;
57
+ messageType: number;
58
+ totalSize: number;
59
+ channelLabel: string;
60
+ timestamp: number;
61
+ alsoSendFinishedMessage?: boolean;
62
+ }
63
+ export interface SetMessageDeliveredSizeArgs {
64
+ roomId: string;
65
+ merkleRootHex: string;
66
+ sha512Hex: string;
67
+ fromPeerId: string;
68
+ deliveredSize: number;
69
+ }
70
+ export interface SetChannelArgs {
71
+ roomId: string;
72
+ peerId: string;
73
+ label: string;
74
+ }
75
+ export interface DeleteMessageArgs {
76
+ merkleRootHex?: string;
77
+ hashHex?: string;
78
+ }
79
+ export interface DeleteChannelArgs {
80
+ peerId?: string;
81
+ label?: string;
82
+ }
83
+ export interface SetCanOnlyConnectWithKnownPeers {
84
+ roomId: string;
85
+ onlyConnectWithKnownPeers: boolean;
86
+ }
87
+ export interface Room extends SetRoomArgs {
88
+ connectingToPeers: boolean;
89
+ connectedToPeers: boolean;
90
+ canBeConnectionRelay: boolean;
91
+ onlyConnectWithKnownAddresses: boolean;
92
+ rtcConfig: RTCConfiguration;
93
+ peers: Peer[];
94
+ channels: Channel[];
95
+ messages: Message[];
96
+ }
97
+ export declare const defaultRTCConfig: RTCConfiguration;
98
+ export declare const setRoom: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetRoomArgs, "rooms/setRoom">, setConnectingToPeers: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
99
+ roomId: string;
100
+ connectingToPeers: boolean;
101
+ }, "rooms/setConnectingToPeers">, setConnectedToPeers: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
102
+ roomId: string;
103
+ connectedToPeers: boolean;
104
+ }, "rooms/setConnectedToPeers">, setConnectionRelay: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
105
+ roomId: string;
106
+ canBeConnectionRelay: boolean;
107
+ }, "rooms/setConnectionRelay">, setOnlyConnectWithKnownPeers: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetCanOnlyConnectWithKnownPeers, "rooms/setOnlyConnectWithKnownPeers">, setPeer: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetPeerArgs, "rooms/setPeer">, setChannel: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetChannelArgs, "rooms/setChannel">, setIceServers: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetIceServersArgs, "rooms/setIceServers">, setMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetMessageArgs, "rooms/setMessage">, setMessageAllChunks: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetMessageAllChunksArgs, "rooms/setMessageAllChunks">, deletePeer: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
108
+ peerId: string;
109
+ }, "rooms/deletePeer">, deleteChannel: import("@reduxjs/toolkit").ActionCreatorWithPayload<DeleteChannelArgs, "rooms/deleteChannel">, deleteMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<DeleteMessageArgs, "rooms/deleteMessage">, deleteRoom: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "rooms/deleteRoom">;
110
+ export declare const roomSelector: (state: State) => Room[];
111
+ declare const _default: import("redux").Reducer<Room[]>;
112
+ export default _default;
113
+ //# sourceMappingURL=roomSlice.d.ts.map
@@ -0,0 +1,16 @@
1
+ import type { PayloadAction } from "@reduxjs/toolkit";
2
+ import type { State } from "../store";
3
+ export interface SignalingState {
4
+ isEstablishingConnection: boolean;
5
+ isConnected: boolean;
6
+ serverUrl: string;
7
+ }
8
+ export declare const signalingServerActions: import("@reduxjs/toolkit").CaseReducerActions<{
9
+ startConnecting: (state: import("immer").WritableDraft<SignalingState>, action: PayloadAction<string | undefined>) => void;
10
+ connectionEstablished: (state: import("immer").WritableDraft<SignalingState>) => void;
11
+ disconnect: (state: import("immer").WritableDraft<SignalingState>) => void;
12
+ }, "signalingServer">;
13
+ export declare const signalingServerSelector: (state: State) => SignalingState;
14
+ declare const _default: import("redux").Reducer<SignalingState>;
15
+ export default _default;
16
+ //# sourceMappingURL=signalingServerSlice.d.ts.map
package/lib/store.d.ts ADDED
@@ -0,0 +1,55 @@
1
+ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
2
+ commonState: import("./reducers/commonSlice").CommonState;
3
+ keyPair: import("./reducers/keyPairSlice").KeyPair;
4
+ rooms: import("./reducers/roomSlice").Room[];
5
+ signalingServer: import("./reducers/signalingServerSlice").SignalingState;
6
+ signalingServerApi: import("@reduxjs/toolkit/dist/query").CombinedState<{
7
+ connectWebSocket: import("@reduxjs/toolkit/dist/query").MutationDefinition<string, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/signalingServerApi").WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
8
+ disconnectWebSocket: import("@reduxjs/toolkit/dist/query").MutationDefinition<void, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/signalingServerApi").WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
9
+ sendMessage: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/signalingServerApi").WebSocketMessage, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/signalingServerApi").WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
10
+ connectWithPeer: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./utils/interfaces").WebSocketPeerConnectionParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/signalingServerApi").WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
11
+ }, never, "signalingServerApi">;
12
+ webrtcApi: import("@reduxjs/toolkit/dist/query").CombinedState<{
13
+ connectWithPeer: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCPeerConnectionParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
14
+ setDescription: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCSetDescriptionParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
15
+ setCandidate: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCSetCandidateParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
16
+ openChannel: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCOpenChannelParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
17
+ sendMessage: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCSendMessageParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
18
+ disconnect: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
19
+ disconnectFromRoom: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromRoomParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
20
+ disconnectFromAllRooms: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromAllRoomsParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
21
+ disconnectFromPeer: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromPeerParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
22
+ disconnectFromChannelLabel: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromChannelLabelParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
23
+ disconnectFromPeerChannelLabel: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromPeerChannelLabelParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
24
+ }, never, "webrtcApi">;
25
+ }, import("redux").UnknownAction, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
26
+ dispatch: import("redux-thunk").ThunkDispatch<{
27
+ commonState: import("./reducers/commonSlice").CommonState;
28
+ keyPair: import("./reducers/keyPairSlice").KeyPair;
29
+ rooms: import("./reducers/roomSlice").Room[];
30
+ signalingServer: import("./reducers/signalingServerSlice").SignalingState;
31
+ signalingServerApi: import("@reduxjs/toolkit/dist/query").CombinedState<{
32
+ connectWebSocket: import("@reduxjs/toolkit/dist/query").MutationDefinition<string, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/signalingServerApi").WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
33
+ disconnectWebSocket: import("@reduxjs/toolkit/dist/query").MutationDefinition<void, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/signalingServerApi").WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
34
+ sendMessage: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/signalingServerApi").WebSocketMessage, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/signalingServerApi").WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
35
+ connectWithPeer: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./utils/interfaces").WebSocketPeerConnectionParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/signalingServerApi").WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
36
+ }, never, "signalingServerApi">;
37
+ webrtcApi: import("@reduxjs/toolkit/dist/query").CombinedState<{
38
+ connectWithPeer: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCPeerConnectionParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
39
+ setDescription: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCSetDescriptionParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
40
+ setCandidate: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCSetCandidateParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
41
+ openChannel: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCOpenChannelParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
42
+ sendMessage: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCSendMessageParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
43
+ disconnect: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
44
+ disconnectFromRoom: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromRoomParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
45
+ disconnectFromAllRooms: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromAllRoomsParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
46
+ disconnectFromPeer: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromPeerParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
47
+ disconnectFromChannelLabel: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromChannelLabelParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
48
+ disconnectFromPeerChannelLabel: import("@reduxjs/toolkit/dist/query").MutationDefinition<import("./api/webrtc/interfaces").RTCDisconnectFromPeerChannelLabelParams, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("./api/webrtc/baseQuery").RTCPeerConnectionParamsExtend, void, unknown>, never, void, "webrtcApi", void>;
49
+ }, never, "webrtcApi">;
50
+ }, undefined, import("redux").UnknownAction> & ((action: import("redux").Action<"listenerMiddleware/add">) => import("@reduxjs/toolkit").UnsubscribeListener);
51
+ }>, import("redux").StoreEnhancer]>>;
52
+ export type AppDispatch = typeof store.dispatch;
53
+ export type State = ReturnType<typeof store.getState>;
54
+ export declare const dispatch: AppDispatch;
55
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1,12 @@
1
+ export declare const LABEL_ELEMENTS = 3;
2
+ export declare const LABEL_STRING_LEN: number;
3
+ export declare const LABEL_ELEMENTS_SEPARATOR = "~";
4
+ export declare const compileChannelMessageLabel: (channelLabel: string, merkleRoot: string | Uint8Array, hash: string | Uint8Array) => Promise<string>;
5
+ export declare const decompileChannelMessageLabel: (channelMessageLabel: string) => Promise<{
6
+ channelLabel: string;
7
+ merkleRootHex: string;
8
+ merkleRoot: Uint8Array;
9
+ hashHex: string;
10
+ hash: Uint8Array;
11
+ }>;
12
+ //# sourceMappingURL=channelLabel.d.ts.map
@@ -0,0 +1,138 @@
1
+ export interface WebSocketMessagePingRequest {
2
+ type: "ping";
3
+ }
4
+ export interface WebSocketMessagePongResponse {
5
+ type: "pong";
6
+ fromPeerId: string;
7
+ }
8
+ export interface WebSocketMessageChallengeRequest {
9
+ type: "peerId";
10
+ peerId: string;
11
+ challenge: string;
12
+ signature?: string;
13
+ challengeId?: string;
14
+ username?: string;
15
+ credential?: string;
16
+ message: string;
17
+ }
18
+ export interface WebSocketMessageChallengeResponse {
19
+ type: "challenge";
20
+ challenge: string;
21
+ signature: string;
22
+ fromPeerId: string;
23
+ }
24
+ export interface WebSocketMessageSuccessfulChallenge {
25
+ type: "challenge";
26
+ challengeId: string;
27
+ username?: string;
28
+ credential?: string;
29
+ }
30
+ export interface WebSocketMessageRoomIdRequest {
31
+ type: "room";
32
+ fromPeerId: string;
33
+ roomUrl: string;
34
+ }
35
+ export interface WebSocketMessageRoomIdResponse {
36
+ type: "roomId";
37
+ roomId: string;
38
+ roomUrl: string;
39
+ }
40
+ export interface WebSocketMessageDescriptionSend {
41
+ type: "description";
42
+ description: RTCSessionDescription;
43
+ fromPeerId: string;
44
+ fromPeerPublicKey: string;
45
+ toPeerId: string;
46
+ roomId: string;
47
+ }
48
+ export interface WebSocketMessageDescriptionReceive {
49
+ type: "description";
50
+ description: RTCSessionDescription;
51
+ fromPeerId: string;
52
+ fromPeerPublicKey: string;
53
+ roomId: string;
54
+ }
55
+ export interface WebSocketMessageCandidateSend {
56
+ type: "candidate";
57
+ candidate: RTCIceCandidate;
58
+ fromPeerId: string;
59
+ toPeerId: string;
60
+ roomId: string;
61
+ }
62
+ export interface WebSocketMessageCandidateReceive {
63
+ type: "candidate";
64
+ candidate: RTCIceCandidate;
65
+ fromPeerId: string;
66
+ }
67
+ export interface WebSocketMessagePeersRequest {
68
+ type: "peers";
69
+ fromPeerId: string;
70
+ roomId: string;
71
+ }
72
+ export interface RoomPeer {
73
+ id: string;
74
+ publicKey: string;
75
+ }
76
+ export interface WebSocketMessagePeersResponse {
77
+ type: "peers";
78
+ roomId: string;
79
+ peers: RoomPeer[];
80
+ }
81
+ export interface WebSocketMessageConnectionRequest {
82
+ type: "peerConnection";
83
+ roomId: string;
84
+ peer: RoomPeer;
85
+ }
86
+ export interface WebSocketMessageConnectionResponse {
87
+ type: "peerConnection";
88
+ roomId: string;
89
+ fromPeerId: string;
90
+ toPeerId: string;
91
+ }
92
+ export interface WebSocketMessagePeerConnectionRequest {
93
+ type: "connection";
94
+ roomId: string;
95
+ fromPeerId: string;
96
+ toPeerId: string;
97
+ labels: string[];
98
+ }
99
+ export interface WebSocketMessagePeerConnectionResponse {
100
+ type: "connection";
101
+ roomId: string;
102
+ fromPeerId: string;
103
+ fromPeerPublicKey: string;
104
+ labels: string[];
105
+ }
106
+ export interface WebSocketMessageMessageSendRequest {
107
+ type: "message";
108
+ message: string;
109
+ roomId: string;
110
+ fromPeerId: string;
111
+ toPeerId: string;
112
+ label: string;
113
+ }
114
+ export interface WebSocketMessageMessageSendResponse {
115
+ type: "message";
116
+ message: string;
117
+ roomId: string;
118
+ fromPeerId: string;
119
+ label: string;
120
+ }
121
+ export interface WebSocketPeerConnectionParams {
122
+ peerId: string;
123
+ peerPublicKey: string;
124
+ roomId: string;
125
+ }
126
+ export interface WebSocketSendMessageToPeerParams {
127
+ data: string | File;
128
+ toChannel: string;
129
+ }
130
+ export interface WebSocketMessageError {
131
+ type: "error";
132
+ fromAction: "ping" | "sendCandidate" | "receiveCandidate" | "sendDescription" | "receiveDescription" | "requestRoomId" | "requestPeerId" | "sendChallengeResponse";
133
+ error: Error | {
134
+ message: string;
135
+ [key: string]: unknown;
136
+ };
137
+ }
138
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare const getMediaSource: () => any;
2
+ //# sourceMappingURL=mediasource.d.ts.map
@@ -0,0 +1,88 @@
1
+ export declare const MessageType: {
2
+ Text: number;
3
+ ImagePNG: number;
4
+ ImageJPEG: number;
5
+ ImageJPG: number;
6
+ ImageGIF: number;
7
+ ImageBMP: number;
8
+ ImageTIFF: number;
9
+ ImageSVG: number;
10
+ ImageWEBP: number;
11
+ ImageHEIC: number;
12
+ DocumentPDF: number;
13
+ DocumentDOC: number;
14
+ DocumentDOCX: number;
15
+ DocumentXLS: number;
16
+ DocumentXLSX: number;
17
+ DocumentPPT: number;
18
+ DocumentPPTX: number;
19
+ DocumentTXT: number;
20
+ DocumentRTF: number;
21
+ DocumentODT: number;
22
+ AudioMP3: number;
23
+ AudioWAV: number;
24
+ AudioAAC: number;
25
+ AudioFLAC: number;
26
+ AudioOGG: number;
27
+ AudioM4A: number;
28
+ VideoMP4: number;
29
+ VideoAVI: number;
30
+ VideoMKV: number;
31
+ VideoMOV: number;
32
+ VideoWMV: number;
33
+ VideoFLV: number;
34
+ VideoWEBM: number;
35
+ CompressedZIP: number;
36
+ CompressedRAR: number;
37
+ Compressed7Z: number;
38
+ CompressedTAR: number;
39
+ CompressedGZ: number;
40
+ CodeHTML: number;
41
+ CodeCSS: number;
42
+ CodeJS: number;
43
+ CodeJSX: number;
44
+ CodeTS: number;
45
+ CodeTSX: number;
46
+ CodeJSON: number;
47
+ CodeXML: number;
48
+ CodePY: number;
49
+ CodeJAVA: number;
50
+ CodeC: number;
51
+ CodeCPP: number;
52
+ CodeCS: number;
53
+ CodeRB: number;
54
+ CodePHP: number;
55
+ CodeSQL: number;
56
+ EbookEPUB: number;
57
+ EbookMOBI: number;
58
+ EbookAZW: number;
59
+ FontTTF: number;
60
+ FontOTF: number;
61
+ ImageICO: number;
62
+ ExecutableEXE: number;
63
+ ExecutableDMG: number;
64
+ ExecutableAPK: number;
65
+ Unknown: number;
66
+ };
67
+ export declare const MessageCategory: {
68
+ Text: string;
69
+ Image: string;
70
+ Document: string;
71
+ Audio: string;
72
+ Video: string;
73
+ Compressed: string;
74
+ Code: string;
75
+ Ebook: string;
76
+ Font: string;
77
+ Executable: string;
78
+ Unknown: string;
79
+ };
80
+ export type KnownMimeType = "text/plain" | "image/png" | "image/jpeg" | "image/gif" | "image/bmp" | "image/tiff" | "image/svg+xml" | "image/webp" | "image/heic" | "image/vnd.microsoft.icon" | "application/pdf" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/rtf" | "application/vnd.oasis.opendocument.text" | "audio/mpeg" | "audio/wav" | "audio/aac" | "audio/flac" | "audio/ogg" | "audio/mp4" | "video/mp4" | "video/x-msvideo" | "video/x-matroska" | "video/quicktime" | "video/x-ms-wmv" | "video/x-flv" | "video/webm" | "application/zip" | "application/vnd.rar" | "application/x-7z-compressed" | "application/x-tar" | "application/gzip" | "text/html" | "text/css" | "application/javascript" | "application/typescript" | "application/json" | "application/xml" | "text/x-python" | "text/x-java-source" | "text/x-c" | "text/x-c++" | "text/x-ruby" | "application/x-httpd-php" | "application/sql" | "application/epub+zip" | "application/x-mobipocket-ebook" | "application/vnd.amazon.ebook" | "font/ttf" | "font/otf" | "application/vnd.microsoft.portable-executable" | "application/x-apple-diskimage" | "application/vnd.android.package-archive";
81
+ export type MimeType = KnownMimeType | "application/octet-stream";
82
+ export type KnownFileExtension = "png" | "jpeg" | "jpg" | "gif" | "bmp" | "tiff" | "svg" | "webp" | "heic" | "ico" | "pdf" | "doc" | "docx" | "xls" | "xlsx" | "ppt" | "pptx" | "txt" | "rtf" | "odt" | "mp3" | "wav" | "aac" | "flac" | "ogg" | "m4a" | "mp4" | "avi" | "mkv" | "mov" | "wmv" | "flv" | "webm" | "zip" | "rar" | "7z" | "tar" | "gz" | "html" | "css" | "js" | "ts" | "jsx" | "tsx" | "json" | "xml" | "py" | "java" | "c" | "cpp" | "cs" | "rb" | "php" | "sql" | "epub" | "mobi" | "azw" | "ttf" | "otf" | "exe" | "dmg" | "apk";
83
+ export type FileExtension = KnownFileExtension | "";
84
+ export declare const getMessageType: (data: string | File) => number;
85
+ export declare const getFileExtension: (messageType: number) => FileExtension;
86
+ export declare const getMimeType: (messageType: number) => MimeType;
87
+ export declare const getMessageCategory: (messageType: number) => string;
88
+ //# sourceMappingURL=messageTypes.d.ts.map
@@ -0,0 +1,17 @@
1
+ export interface BasicMetadata {
2
+ schemaVersion: number;
3
+ messageType: number;
4
+ totalSize: number;
5
+ date: Date;
6
+ name: string;
7
+ chunkStartIndex: number;
8
+ chunkEndIndex: number;
9
+ }
10
+ export interface Metadata extends BasicMetadata {
11
+ chunkIndex: number;
12
+ }
13
+ export declare const METADATA_LEN: number;
14
+ export declare const formatSize: (size: number) => string;
15
+ export declare const serializeMetadata: (metadata: Metadata) => Uint8Array;
16
+ export declare const deserializeMetadata: (buffer: Uint8Array) => Metadata;
17
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1,29 @@
1
+ import type { BaseQueryApi } from "@reduxjs/toolkit/query";
2
+ import type { Room } from "../reducers/roomSlice";
3
+ export declare const PROOF_LEN: number;
4
+ export declare const IMPORTANT_DATA_LEN: number;
5
+ export declare const CHUNK_LEN: number;
6
+ export declare const metadataSchemaVersions: number[];
7
+ export declare const CANCEL_SEND = "CANCEL_SEND";
8
+ /**
9
+ * Splits a Uint8Array into chunks of a specified size, padding with zeros if necessary.
10
+ * Ensures a minimum number of chunks are created.
11
+ * Returns the chunks and the last valid byte index in the last chunk before padding.
12
+ *
13
+ * @param data - The Uint8Array to be split.
14
+ * @param minChunks - The minimum number of chunks to produce.
15
+ * @param chunkSize - The desired size of each chunk.
16
+ * @param percentageFilledChunk - If = 1 then all chunk is filled with useful data. Range (0, 1].
17
+ * @returns An object containing the chunks, their merkle proofs and the last valid byte index.
18
+ */
19
+ export declare const splitToChunks: (message: string | File, api: BaseQueryApi, label: string, room: Room, minChunks?: number, chunkSize?: number, percentageFilledChunk?: number, metadataSchemaVersion?: number) => Promise<{
20
+ merkleRoot: Uint8Array;
21
+ merkleRootHex: string;
22
+ hash: Uint8Array;
23
+ hashHex: string;
24
+ totalChunks: number;
25
+ totalSize: number;
26
+ messageType: number;
27
+ chunkHashes: Uint8Array;
28
+ }>;
29
+ //# sourceMappingURL=splitToChunks.d.ts.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Turns an array of Uint8Arrays into one Uint8Array.
3
+ */
4
+ export declare const concatUint8Arrays: (arrays: Uint8Array[]) => Promise<Uint8Array>;
5
+ /**
6
+ * Compares two Uint8Arrays.
7
+ */
8
+ export declare const uint8ArraysAreEqual: (array1: Uint8Array, array2: Uint8Array) => Promise<boolean>;
9
+ /**
10
+ * Converts Uint8Array to hex string.
11
+ */
12
+ export declare const uint8ArrayToHex: (array: Uint8Array) => string;
13
+ /**
14
+ * Converts hex string to Uint8Array.
15
+ */
16
+ export declare const hexToUint8Array: (hexString: string) => Uint8Array<ArrayBuffer>;
17
+ /**
18
+ * Converts a string or a File into a Uint8Array.
19
+ */
20
+ export declare const serializer: (data: string | File) => Promise<Uint8Array>;
21
+ //# sourceMappingURL=uint8array.d.ts.map