@agora-sdk/secure-chat-react-js 0.3.0 → 0.5.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/esm/crypto-web.d.ts +10 -3
- package/dist/esm/crypto-web.js +11 -34
- package/dist/esm/crypto-web.js.map +1 -1
- package/package.json +6 -5
- package/dist/cjs/crypto-web.d.ts +0 -6
- package/dist/cjs/crypto-web.js +0 -41
- package/dist/cjs/crypto-web.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -4
- package/dist/cjs/index.js +0 -28
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/indexeddb-store.d.ts +0 -21
- package/dist/cjs/indexeddb-store.js +0 -72
- package/dist/cjs/indexeddb-store.js.map +0 -1
- package/dist/cjs/package.json +0 -1
package/dist/esm/crypto-web.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { SecureChatCrypto } from "@agora-sdk/secure-chat-core";
|
|
2
|
+
import { type TsMlsSecureChatCryptoOptions } from "@agora-sdk/secure-chat-crypto/ts-mls";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
4
|
+
* Create the web `SecureChatCrypto` (real ts-mls MLS core) for `<SecureChatProvider crypto={…}>`.
|
|
5
|
+
*
|
|
6
|
+
* @param options - Optional {@link TsMlsSecureChatCryptoOptions} (ciphersuite, `keyRetention` window).
|
|
7
|
+
* @returns A ready ts-mls-backed `SecureChatCrypto`.
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <SecureChatProvider crypto={createWebSecureChatCrypto()} …>
|
|
11
|
+
* ```
|
|
5
12
|
*/
|
|
6
|
-
export declare function createWebSecureChatCrypto(): SecureChatCrypto;
|
|
13
|
+
export declare function createWebSecureChatCrypto(options?: TsMlsSecureChatCryptoOptions): SecureChatCrypto;
|
package/dist/esm/crypto-web.js
CHANGED
|
@@ -1,38 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
// This is where the real MLS implementation lands: **ts-mls** (pure TS) or **OpenMLS→WASM**,
|
|
4
|
-
// behind the `SecureChatCrypto` interface, plus IndexedDB persistence of group state. Until then,
|
|
5
|
-
// `createWebSecureChatCrypto()` returns a stub whose methods throw a clear "not implemented" error,
|
|
6
|
-
// so apps can wire `<SecureChatProvider crypto={...}>` against the real shape now.
|
|
7
|
-
//
|
|
8
|
-
// For tests / early UI work, inject the deterministic `MockSecureChatCrypto` instead (it will ship
|
|
9
|
-
// from the published @agora-sdk/secure-chat-crypto package — see the repo STATUS.md).
|
|
10
|
-
const PHASE_2 = "Web SecureChatCrypto (ts-mls/OpenMLS-WASM) is not implemented yet — Phase 2.";
|
|
1
|
+
import { createTsMlsSecureChatCrypto, } from "@agora-sdk/secure-chat-crypto/ts-mls";
|
|
11
2
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
3
|
+
* Create the web `SecureChatCrypto` (real ts-mls MLS core) for `<SecureChatProvider crypto={…}>`.
|
|
4
|
+
*
|
|
5
|
+
* @param options - Optional {@link TsMlsSecureChatCryptoOptions} (ciphersuite, `keyRetention` window).
|
|
6
|
+
* @returns A ready ts-mls-backed `SecureChatCrypto`.
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <SecureChatProvider crypto={createWebSecureChatCrypto()} …>
|
|
10
|
+
* ```
|
|
14
11
|
*/
|
|
15
|
-
export function createWebSecureChatCrypto() {
|
|
16
|
-
|
|
17
|
-
throw new Error(PHASE_2);
|
|
18
|
-
};
|
|
19
|
-
return {
|
|
20
|
-
generateDeviceIdentity: notImplemented,
|
|
21
|
-
generateKeyPackages: notImplemented,
|
|
22
|
-
createGroup: notImplemented,
|
|
23
|
-
addMember: notImplemented,
|
|
24
|
-
removeMember: notImplemented,
|
|
25
|
-
encryptMessage: notImplemented,
|
|
26
|
-
decryptMessage: notImplemented,
|
|
27
|
-
processWelcome: notImplemented,
|
|
28
|
-
processCommit: notImplemented,
|
|
29
|
-
processProposal: notImplemented,
|
|
30
|
-
exportGroupState: notImplemented,
|
|
31
|
-
importGroupState: notImplemented,
|
|
32
|
-
exportDeviceState: notImplemented,
|
|
33
|
-
importDeviceState: notImplemented,
|
|
34
|
-
exportBackup: notImplemented,
|
|
35
|
-
importBackup: notImplemented,
|
|
36
|
-
};
|
|
12
|
+
export function createWebSecureChatCrypto(options) {
|
|
13
|
+
return createTsMlsSecureChatCrypto(options);
|
|
37
14
|
}
|
|
38
15
|
//# sourceMappingURL=crypto-web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-web.js","sourceRoot":"","sources":["../../src/crypto-web.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crypto-web.js","sourceRoot":"","sources":["../../src/crypto-web.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,2BAA2B,GAE5B,MAAM,sCAAsC,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAsC;IAEtC,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agora-sdk/secure-chat-react-js",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Agora SDK Plus, maintained by Jenova Marie",
|
|
@@ -23,10 +23,11 @@
|
|
|
23
23
|
"url": "https://github.com/jenova-marie/agora-sdk-plus.git",
|
|
24
24
|
"directory": "packages/secure-chat/react-js"
|
|
25
25
|
},
|
|
26
|
-
"main": "dist/
|
|
26
|
+
"main": "dist/esm/index.js",
|
|
27
27
|
"module": "dist/esm/index.js",
|
|
28
28
|
"types": "dist/esm/index.d.ts",
|
|
29
29
|
"type": "module",
|
|
30
|
+
"comment:esm-only": "ESM-only: this web binding depends on @agora-sdk/core (bundler-only, see UPSTREAM_FIX.md) and the ESM-only @agora-sdk/secure-chat-crypto/ts-mls core, so a CJS build would never load at runtime. Web/React consumers always bundle (Vite/webpack/Metro).",
|
|
30
31
|
"publishConfig": {
|
|
31
32
|
"access": "public"
|
|
32
33
|
},
|
|
@@ -34,7 +35,8 @@
|
|
|
34
35
|
"dist"
|
|
35
36
|
],
|
|
36
37
|
"dependencies": {
|
|
37
|
-
"@agora-sdk/secure-chat-
|
|
38
|
+
"@agora-sdk/secure-chat-crypto": "0.5.0",
|
|
39
|
+
"@agora-sdk/secure-chat-core": "0.5.0"
|
|
38
40
|
},
|
|
39
41
|
"peerDependencies": {
|
|
40
42
|
"@agora-sdk/core": "^1.2.2",
|
|
@@ -46,8 +48,7 @@
|
|
|
46
48
|
},
|
|
47
49
|
"scripts": {
|
|
48
50
|
"build:esm": "tsc -p tsconfig.esm.json",
|
|
49
|
-
"build
|
|
50
|
-
"build": "rimraf dist && pnpm run build:esm && pnpm run build:cjs",
|
|
51
|
+
"build": "rimraf dist && pnpm run build:esm",
|
|
51
52
|
"prepublish": "pnpm run build"
|
|
52
53
|
}
|
|
53
54
|
}
|
package/dist/cjs/crypto-web.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { SecureChatCrypto } from "@agora-sdk/secure-chat-core";
|
|
2
|
-
/**
|
|
3
|
-
* Returns a placeholder web `SecureChatCrypto`. Every method throws until the real MLS core is
|
|
4
|
-
* wired. Swap this for the concrete implementation (or a mock) when integrating.
|
|
5
|
-
*/
|
|
6
|
-
export declare function createWebSecureChatCrypto(): SecureChatCrypto;
|
package/dist/cjs/crypto-web.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Web `SecureChatCrypto` — Phase 2 placeholder.
|
|
3
|
-
//
|
|
4
|
-
// This is where the real MLS implementation lands: **ts-mls** (pure TS) or **OpenMLS→WASM**,
|
|
5
|
-
// behind the `SecureChatCrypto` interface, plus IndexedDB persistence of group state. Until then,
|
|
6
|
-
// `createWebSecureChatCrypto()` returns a stub whose methods throw a clear "not implemented" error,
|
|
7
|
-
// so apps can wire `<SecureChatProvider crypto={...}>` against the real shape now.
|
|
8
|
-
//
|
|
9
|
-
// For tests / early UI work, inject the deterministic `MockSecureChatCrypto` instead (it will ship
|
|
10
|
-
// from the published @agora-sdk/secure-chat-crypto package — see the repo STATUS.md).
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.createWebSecureChatCrypto = createWebSecureChatCrypto;
|
|
13
|
-
const PHASE_2 = "Web SecureChatCrypto (ts-mls/OpenMLS-WASM) is not implemented yet — Phase 2.";
|
|
14
|
-
/**
|
|
15
|
-
* Returns a placeholder web `SecureChatCrypto`. Every method throws until the real MLS core is
|
|
16
|
-
* wired. Swap this for the concrete implementation (or a mock) when integrating.
|
|
17
|
-
*/
|
|
18
|
-
function createWebSecureChatCrypto() {
|
|
19
|
-
const notImplemented = () => {
|
|
20
|
-
throw new Error(PHASE_2);
|
|
21
|
-
};
|
|
22
|
-
return {
|
|
23
|
-
generateDeviceIdentity: notImplemented,
|
|
24
|
-
generateKeyPackages: notImplemented,
|
|
25
|
-
createGroup: notImplemented,
|
|
26
|
-
addMember: notImplemented,
|
|
27
|
-
removeMember: notImplemented,
|
|
28
|
-
encryptMessage: notImplemented,
|
|
29
|
-
decryptMessage: notImplemented,
|
|
30
|
-
processWelcome: notImplemented,
|
|
31
|
-
processCommit: notImplemented,
|
|
32
|
-
processProposal: notImplemented,
|
|
33
|
-
exportGroupState: notImplemented,
|
|
34
|
-
importGroupState: notImplemented,
|
|
35
|
-
exportDeviceState: notImplemented,
|
|
36
|
-
importDeviceState: notImplemented,
|
|
37
|
-
exportBackup: notImplemented,
|
|
38
|
-
importBackup: notImplemented,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=crypto-web.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-web.js","sourceRoot":"","sources":["../../src/crypto-web.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,EAAE;AACF,6FAA6F;AAC7F,kGAAkG;AAClG,oGAAoG;AACpG,mFAAmF;AACnF,EAAE;AACF,mGAAmG;AACnG,sFAAsF;;AAUtF,8DAsBC;AA5BD,MAAM,OAAO,GAAG,8EAA8E,CAAC;AAE/F;;;GAGG;AACH,SAAgB,yBAAyB;IACvC,MAAM,cAAc,GAAG,GAAU,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,OAAO;QACL,sBAAsB,EAAE,cAAc;QACtC,mBAAmB,EAAE,cAAc;QACnC,WAAW,EAAE,cAAc;QAC3B,SAAS,EAAE,cAAc;QACzB,YAAY,EAAE,cAAc;QAC5B,cAAc,EAAE,cAAc;QAC9B,cAAc,EAAE,cAAc;QAC9B,cAAc,EAAE,cAAc;QAC9B,aAAa,EAAE,cAAc;QAC7B,eAAe,EAAE,cAAc;QAC/B,gBAAgB,EAAE,cAAc;QAChC,gBAAgB,EAAE,cAAc;QAChC,iBAAiB,EAAE,cAAc;QACjC,iBAAiB,EAAE,cAAc;QACjC,YAAY,EAAE,cAAc;QAC5B,YAAY,EAAE,cAAc;KAC7B,CAAC;AACJ,CAAC"}
|
package/dist/cjs/index.d.ts
DELETED
package/dist/cjs/index.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// @agora-sdk/secure-chat-react-js — web bindings for Agora secure chat.
|
|
3
|
-
//
|
|
4
|
-
// Re-exports the platform-agnostic core and adds the web-specific pieces (Phase 2): the concrete
|
|
5
|
-
// MLS crypto + IndexedDB group-state persistence. Use this package (not core directly) in browser
|
|
6
|
-
// apps so the right crypto/persistence ships.
|
|
7
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
-
if (k2 === undefined) k2 = k;
|
|
9
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(o, k2, desc);
|
|
14
|
-
}) : (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
o[k2] = m[k];
|
|
17
|
-
}));
|
|
18
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.createIndexedDBStore = exports.createWebSecureChatCrypto = void 0;
|
|
23
|
-
__exportStar(require("@agora-sdk/secure-chat-core"), exports);
|
|
24
|
-
var crypto_web_js_1 = require("./crypto-web.js");
|
|
25
|
-
Object.defineProperty(exports, "createWebSecureChatCrypto", { enumerable: true, get: function () { return crypto_web_js_1.createWebSecureChatCrypto; } });
|
|
26
|
-
var indexeddb_store_js_1 = require("./indexeddb-store.js");
|
|
27
|
-
Object.defineProperty(exports, "createIndexedDBStore", { enumerable: true, get: function () { return indexeddb_store_js_1.createIndexedDBStore; } });
|
|
28
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,EAAE;AACF,iGAAiG;AACjG,kGAAkG;AAClG,8CAA8C;;;;;;;;;;;;;;;;;AAE9C,8DAA4C;AAE5C,iDAA4D;AAAnD,0HAAA,yBAAyB,OAAA;AAClC,2DAA4D;AAAnD,0HAAA,oBAAoB,OAAA"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { SecureChatStore } from "@agora-sdk/secure-chat-core";
|
|
2
|
-
/** Options for {@link createIndexedDBStore}. */
|
|
3
|
-
export interface IndexedDBStoreOptions {
|
|
4
|
-
/** Database name. Default `agora-secure-chat`. */
|
|
5
|
-
dbName?: string;
|
|
6
|
-
/** Object store name. Default `kv`. */
|
|
7
|
-
storeName?: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Create an IndexedDB-backed {@link SecureChatStore} for the web.
|
|
11
|
-
*
|
|
12
|
-
* @param opts - {@link IndexedDBStoreOptions} — database + object-store names.
|
|
13
|
-
* @returns A durable store; pass it to `<SecureChatProvider store={...}>`.
|
|
14
|
-
* @throws {Error} On first access when `indexedDB` is unavailable (SSR / disabled).
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```ts
|
|
18
|
-
* <SecureChatProvider store={createIndexedDBStore()} crypto={crypto} projectId={id} />
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
export declare function createIndexedDBStore(opts?: IndexedDBStoreOptions): SecureChatStore;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Web SecureChatStore — IndexedDB-backed durable persistence.
|
|
3
|
-
//
|
|
4
|
-
// One object store keyed by string, value Uint8Array (structured-cloneable). Plaintext at rest for
|
|
5
|
-
// Phase 2 — IndexedDB is readable by any same-origin script; the threat model is "blind server", and
|
|
6
|
-
// passphrase backup (task 5) is the recovery path. The DB handle opens lazily on first use.
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.createIndexedDBStore = createIndexedDBStore;
|
|
9
|
-
function openDb(dbName, storeName) {
|
|
10
|
-
return new Promise((resolve, reject) => {
|
|
11
|
-
if (typeof indexedDB === "undefined") {
|
|
12
|
-
reject(new Error("IndexedDB is unavailable here; inject a different SecureChatStore (e.g. MemoryStore)."));
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
const req = indexedDB.open(dbName, 1);
|
|
16
|
-
req.onupgradeneeded = () => {
|
|
17
|
-
const db = req.result;
|
|
18
|
-
if (!db.objectStoreNames.contains(storeName))
|
|
19
|
-
db.createObjectStore(storeName);
|
|
20
|
-
};
|
|
21
|
-
req.onsuccess = () => resolve(req.result);
|
|
22
|
-
req.onerror = () => reject(req.error);
|
|
23
|
-
req.onblocked = () => reject(new Error("IndexedDB open blocked by an existing connection — close other tabs and retry."));
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
function runTx(db, storeName, mode, fn) {
|
|
27
|
-
return new Promise((resolve, reject) => {
|
|
28
|
-
const tx = db.transaction(storeName, mode);
|
|
29
|
-
const req = fn(tx.objectStore(storeName));
|
|
30
|
-
tx.oncomplete = () => resolve(req.result);
|
|
31
|
-
tx.onerror = () => reject(tx.error);
|
|
32
|
-
tx.onabort = () => reject(tx.error);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Create an IndexedDB-backed {@link SecureChatStore} for the web.
|
|
37
|
-
*
|
|
38
|
-
* @param opts - {@link IndexedDBStoreOptions} — database + object-store names.
|
|
39
|
-
* @returns A durable store; pass it to `<SecureChatProvider store={...}>`.
|
|
40
|
-
* @throws {Error} On first access when `indexedDB` is unavailable (SSR / disabled).
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* ```ts
|
|
44
|
-
* <SecureChatProvider store={createIndexedDBStore()} crypto={crypto} projectId={id} />
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
47
|
-
function createIndexedDBStore(opts = {}) {
|
|
48
|
-
const dbName = opts.dbName ?? "agora-secure-chat";
|
|
49
|
-
const storeName = opts.storeName ?? "kv";
|
|
50
|
-
let dbPromise = null;
|
|
51
|
-
const db = () => (dbPromise ?? (dbPromise = openDb(dbName, storeName).catch((e) => {
|
|
52
|
-
dbPromise = null; // don't cache a rejection — allow a retry on the next call
|
|
53
|
-
throw e;
|
|
54
|
-
})));
|
|
55
|
-
return {
|
|
56
|
-
async get(key) {
|
|
57
|
-
const v = await runTx(await db(), storeName, "readonly", (s) => s.get(key));
|
|
58
|
-
return v ?? null;
|
|
59
|
-
},
|
|
60
|
-
async set(key, value) {
|
|
61
|
-
await runTx(await db(), storeName, "readwrite", (s) => s.put(value, key));
|
|
62
|
-
},
|
|
63
|
-
async delete(key) {
|
|
64
|
-
await runTx(await db(), storeName, "readwrite", (s) => s.delete(key));
|
|
65
|
-
},
|
|
66
|
-
async list(prefix) {
|
|
67
|
-
const keys = await runTx(await db(), storeName, "readonly", (s) => s.getAllKeys());
|
|
68
|
-
return keys.filter((k) => typeof k === "string" && k.startsWith(prefix));
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=indexeddb-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"indexeddb-store.js","sourceRoot":"","sources":["../../src/indexeddb-store.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"commonjs"}
|