memeloop 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.d.cts +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/chunk-JRCEXHTP.js +1 -0
- package/dist/{chunk-E5R24U4I.js → chunk-KXVZQLJL.js} +52 -3
- package/dist/chunk-KXVZQLJL.js.map +1 -0
- package/dist/device-network-portable.cjs +57 -2
- package/dist/device-network-portable.cjs.map +1 -1
- package/dist/device-network-portable.d.cts +2 -2
- package/dist/device-network-portable.d.ts +2 -2
- package/dist/device-network-portable.js +14 -2
- package/dist/device-network.cjs +57 -2
- package/dist/device-network.cjs.map +1 -1
- package/dist/device-network.d.cts +1 -1
- package/dist/device-network.d.ts +1 -1
- package/dist/device-network.js +14 -2
- package/dist/index.cjs +57 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/{pairingInvite-DENOiqa0.d.cts → pairingInvite-C12n-7Ak.d.cts} +14 -2
- package/dist/{pairingInvite-DZy77i0p.d.ts → pairingInvite-CPQkuhLQ.d.ts} +14 -2
- package/package.json +1 -1
- package/dist/chunk-E5R24U4I.js.map +0 -1
- package/dist/chunk-MXRXYGWW.js +0 -1
- /package/dist/{chunk-MXRXYGWW.js.map → chunk-JRCEXHTP.js.map} +0 -0
package/dist/device-network.cjs
CHANGED
|
@@ -21,9 +21,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var device_network_entry_exports = {};
|
|
22
22
|
__export(device_network_entry_exports, {
|
|
23
23
|
ChatSyncEngine: () => ChatSyncEngine,
|
|
24
|
+
DEVICE_BINDING_SIGNATURE_DOMAIN: () => DEVICE_BINDING_SIGNATURE_DOMAIN,
|
|
25
|
+
DEVICE_CONNECTION_GRANT_SIGNATURE_DOMAIN: () => DEVICE_CONNECTION_GRANT_SIGNATURE_DOMAIN,
|
|
24
26
|
DEVICE_ORCHESTRATION_PROTOCOL: () => DEVICE_ORCHESTRATION_PROTOCOL,
|
|
25
27
|
DEVICE_PAIRING_INVITE_PROTOCOL: () => DEVICE_PAIRING_INVITE_PROTOCOL,
|
|
26
28
|
DEVICE_PAIRING_INVITE_TTL_MS: () => DEVICE_PAIRING_INVITE_TTL_MS,
|
|
29
|
+
DEVICE_RELAY_ADMISSION_SIGNATURE_DOMAIN: () => DEVICE_RELAY_ADMISSION_SIGNATURE_DOMAIN,
|
|
27
30
|
DeviceCloudConnectionCoordinator: () => DeviceCloudConnectionCoordinator,
|
|
28
31
|
JsonFrameError: () => JsonFrameError,
|
|
29
32
|
LIBP2P_RPC_REQUEST_TYPE: () => LIBP2P_RPC_REQUEST_TYPE,
|
|
@@ -36,6 +39,9 @@ __export(device_network_entry_exports, {
|
|
|
36
39
|
MemoryDeviceSyncStateStore: () => MemoryDeviceSyncStateStore,
|
|
37
40
|
PeerNodeSyncAdapter: () => PeerNodeSyncAdapter,
|
|
38
41
|
attachmentBlobFromWire: () => attachmentBlobFromWire,
|
|
42
|
+
buildDeviceBindingMessage: () => buildDeviceBindingMessage,
|
|
43
|
+
buildDeviceConnectionGrantMessage: () => buildDeviceConnectionGrantMessage,
|
|
44
|
+
buildDeviceRelayReservationTokenMessage: () => buildDeviceRelayReservationTokenMessage,
|
|
39
45
|
canonicalDevicePairingInviteBytes: () => canonicalDevicePairingInviteBytes,
|
|
40
46
|
computeMissingVersionRanges: () => computeMissingVersionRanges,
|
|
41
47
|
createDeviceOrchestrationStreamHandler: () => createDeviceOrchestrationStreamHandler,
|
|
@@ -278,6 +284,43 @@ var DeviceCloudConnectionCoordinator = class {
|
|
|
278
284
|
}
|
|
279
285
|
};
|
|
280
286
|
|
|
287
|
+
// src/device-network/deviceGrantMessages.ts
|
|
288
|
+
var DEVICE_BINDING_SIGNATURE_DOMAIN = "memeloop-device-binding-v2";
|
|
289
|
+
var DEVICE_CONNECTION_GRANT_SIGNATURE_DOMAIN = "memeloop-device-connection-grant-v2";
|
|
290
|
+
var DEVICE_RELAY_ADMISSION_SIGNATURE_DOMAIN = "memeloop-device-relay-admission-v2";
|
|
291
|
+
function buildDeviceBindingMessage(input) {
|
|
292
|
+
return new TextEncoder().encode([
|
|
293
|
+
DEVICE_BINDING_SIGNATURE_DOMAIN,
|
|
294
|
+
`accountId=${input.accountId}`,
|
|
295
|
+
`peerId=${input.peerId}`,
|
|
296
|
+
`publicKey=${input.publicKeyMultibase}`,
|
|
297
|
+
`nonce=${input.nonce}`
|
|
298
|
+
].join("\n"));
|
|
299
|
+
}
|
|
300
|
+
function buildDeviceConnectionGrantMessage(grant) {
|
|
301
|
+
return new TextEncoder().encode([
|
|
302
|
+
DEVICE_CONNECTION_GRANT_SIGNATURE_DOMAIN,
|
|
303
|
+
`issuer=${grant.issuer}`,
|
|
304
|
+
`accountId=${grant.accountId}`,
|
|
305
|
+
`subjectPeerId=${grant.subjectPeerId}`,
|
|
306
|
+
`allowedPeerIds=${grant.allowedPeerIds.join(",")}`,
|
|
307
|
+
`issuedAt=${grant.issuedAt}`,
|
|
308
|
+
`expiresAt=${grant.expiresAt}`
|
|
309
|
+
].join("\n"));
|
|
310
|
+
}
|
|
311
|
+
function buildDeviceRelayReservationTokenMessage(token) {
|
|
312
|
+
return new TextEncoder().encode([
|
|
313
|
+
DEVICE_RELAY_ADMISSION_SIGNATURE_DOMAIN,
|
|
314
|
+
`issuer=${token.issuer}`,
|
|
315
|
+
`accountId=${token.accountId}`,
|
|
316
|
+
`peerId=${token.peerId}`,
|
|
317
|
+
`relayMultiaddrs=${token.relayMultiaddrs.join(",")}`,
|
|
318
|
+
`bootstrapMultiaddrs=${token.bootstrapMultiaddrs.join(",")}`,
|
|
319
|
+
`issuedAt=${token.issuedAt}`,
|
|
320
|
+
`expiresAt=${token.expiresAt}`
|
|
321
|
+
].join("\n"));
|
|
322
|
+
}
|
|
323
|
+
|
|
281
324
|
// src/orchestration/errors.ts
|
|
282
325
|
var OrchestrationError = class extends Error {
|
|
283
326
|
code;
|
|
@@ -907,6 +950,12 @@ var Libp2pDeviceSyncTransport = class {
|
|
|
907
950
|
async request(peerId, method, parameters) {
|
|
908
951
|
const grant = await this.grantProvider?.(peerId);
|
|
909
952
|
const stream = await this.deviceNetwork.openStream(peerId, "/memeloop/sync/2.0.0", grant);
|
|
953
|
+
let aborted = false;
|
|
954
|
+
const abort = async (error) => {
|
|
955
|
+
if (aborted) return;
|
|
956
|
+
aborted = true;
|
|
957
|
+
await stream.abort(error);
|
|
958
|
+
};
|
|
910
959
|
const request = {
|
|
911
960
|
type: LIBP2P_SYNC_REQUEST_TYPE,
|
|
912
961
|
id: crypto.randomUUID(),
|
|
@@ -921,7 +970,7 @@ var Libp2pDeviceSyncTransport = class {
|
|
|
921
970
|
maxPayloadBytes: 16 * 1024 * 1024,
|
|
922
971
|
idleTimeoutMs: 15e3,
|
|
923
972
|
totalTimeoutMs: 12e4,
|
|
924
|
-
abort
|
|
973
|
+
abort
|
|
925
974
|
})) {
|
|
926
975
|
if (response !== void 0) throw new Error("sync_response_multiple");
|
|
927
976
|
response = value;
|
|
@@ -931,7 +980,7 @@ var Libp2pDeviceSyncTransport = class {
|
|
|
931
980
|
if (!response.ok) throw new Error(response.error);
|
|
932
981
|
return response.result;
|
|
933
982
|
} catch (error) {
|
|
934
|
-
if (error instanceof JsonFrameError) await
|
|
983
|
+
if (error instanceof JsonFrameError) await abort(error);
|
|
935
984
|
throw error;
|
|
936
985
|
} finally {
|
|
937
986
|
await stream.close().catch(() => void 0);
|
|
@@ -1549,9 +1598,12 @@ function sameTrustedDevice(left, right) {
|
|
|
1549
1598
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1550
1599
|
0 && (module.exports = {
|
|
1551
1600
|
ChatSyncEngine,
|
|
1601
|
+
DEVICE_BINDING_SIGNATURE_DOMAIN,
|
|
1602
|
+
DEVICE_CONNECTION_GRANT_SIGNATURE_DOMAIN,
|
|
1552
1603
|
DEVICE_ORCHESTRATION_PROTOCOL,
|
|
1553
1604
|
DEVICE_PAIRING_INVITE_PROTOCOL,
|
|
1554
1605
|
DEVICE_PAIRING_INVITE_TTL_MS,
|
|
1606
|
+
DEVICE_RELAY_ADMISSION_SIGNATURE_DOMAIN,
|
|
1555
1607
|
DeviceCloudConnectionCoordinator,
|
|
1556
1608
|
JsonFrameError,
|
|
1557
1609
|
LIBP2P_RPC_REQUEST_TYPE,
|
|
@@ -1564,6 +1616,9 @@ function sameTrustedDevice(left, right) {
|
|
|
1564
1616
|
MemoryDeviceSyncStateStore,
|
|
1565
1617
|
PeerNodeSyncAdapter,
|
|
1566
1618
|
attachmentBlobFromWire,
|
|
1619
|
+
buildDeviceBindingMessage,
|
|
1620
|
+
buildDeviceConnectionGrantMessage,
|
|
1621
|
+
buildDeviceRelayReservationTokenMessage,
|
|
1567
1622
|
canonicalDevicePairingInviteBytes,
|
|
1568
1623
|
computeMissingVersionRanges,
|
|
1569
1624
|
createDeviceOrchestrationStreamHandler,
|