@enbox/browser 0.3.70 → 0.3.72
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/README.md +30 -7
- package/dist/browser.mjs +14 -14
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/blob-url-pool.js +36 -0
- package/dist/esm/blob-url-pool.js.map +1 -0
- package/dist/esm/browser-connect-handler.js +3 -1
- package/dist/esm/browser-connect-handler.js.map +1 -1
- package/dist/esm/file-envelope-url-store.js +203 -0
- package/dist/esm/file-envelope-url-store.js.map +1 -0
- package/dist/esm/index.js +12 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/object-url-reference.js +68 -0
- package/dist/esm/object-url-reference.js.map +1 -0
- package/dist/esm/relay-connect-runner.js +9 -1
- package/dist/esm/relay-connect-runner.js.map +1 -1
- package/dist/esm/ui/connect-modal.js +134 -16
- package/dist/esm/ui/connect-modal.js.map +1 -1
- package/dist/types/blob-url-pool.d.ts +16 -0
- package/dist/types/blob-url-pool.d.ts.map +1 -0
- package/dist/types/browser-connect-handler.d.ts +8 -2
- package/dist/types/browser-connect-handler.d.ts.map +1 -1
- package/dist/types/file-envelope-url-store.d.ts +30 -0
- package/dist/types/file-envelope-url-store.d.ts.map +1 -0
- package/dist/types/index.d.ts +16 -14
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/object-url-reference.d.ts +20 -0
- package/dist/types/object-url-reference.d.ts.map +1 -0
- package/dist/types/relay-connect-runner.d.ts +4 -0
- package/dist/types/relay-connect-runner.d.ts.map +1 -1
- package/dist/types/ui/connect-modal.d.ts +24 -11
- package/dist/types/ui/connect-modal.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/blob-url-pool.ts +55 -0
- package/src/browser-connect-handler.ts +13 -2
- package/src/file-envelope-url-store.ts +260 -0
- package/src/index.ts +23 -159
- package/src/object-url-reference.ts +82 -0
- package/src/relay-connect-runner.ts +17 -2
- package/src/ui/connect-modal.ts +187 -28
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ObjectUrlReference } from './object-url-reference.js';
|
|
2
|
+
class DefaultBlobUrlPool {
|
|
3
|
+
constructor() {
|
|
4
|
+
this._references = new Map();
|
|
5
|
+
this._isDisposed = false;
|
|
6
|
+
}
|
|
7
|
+
acquire(blob) {
|
|
8
|
+
if (this._isDisposed) {
|
|
9
|
+
throw new Error('BlobUrlPool is disposed.');
|
|
10
|
+
}
|
|
11
|
+
let reference = this._references.get(blob);
|
|
12
|
+
if (reference === undefined) {
|
|
13
|
+
reference = new ObjectUrlReference(blob, (released) => {
|
|
14
|
+
this._references.delete(blob);
|
|
15
|
+
released.revoke();
|
|
16
|
+
});
|
|
17
|
+
this._references.set(blob, reference);
|
|
18
|
+
}
|
|
19
|
+
return reference.acquire();
|
|
20
|
+
}
|
|
21
|
+
dispose() {
|
|
22
|
+
if (this._isDisposed) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this._isDisposed = true;
|
|
26
|
+
for (const reference of this._references.values()) {
|
|
27
|
+
reference.revoke();
|
|
28
|
+
}
|
|
29
|
+
this._references.clear();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Create a terminally disposable, reference-counted object URL pool. */
|
|
33
|
+
export function createBlobUrlPool() {
|
|
34
|
+
return new DefaultBlobUrlPool();
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=blob-url-pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob-url-pool.js","sourceRoot":"","sources":["../../src/blob-url-pool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAgB/D,MAAM,kBAAkB;IAAxB;QACmB,gBAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;QAC3D,gBAAW,GAAG,KAAK,CAAC;IA6B9B,CAAC;IA3BQ,OAAO,CAAC,IAAU;QACvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAQ,EAAE;gBAC1D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,kBAAkB,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -82,7 +82,7 @@ export const DEFAULT_WALLETS = [
|
|
|
82
82
|
* ```
|
|
83
83
|
*/
|
|
84
84
|
export function BrowserConnectHandler(options = {}) {
|
|
85
|
-
const { wallets = DEFAULT_WALLETS, walletUrl, timeout, appName, appIcon, preferredMethod, rememberChoice, connectServerUrl, relayWalletPath, theme, } = options;
|
|
85
|
+
const { wallets = DEFAULT_WALLETS, walletUrl, timeout, appName, appIcon, applicationId, preferredMethod, rememberChoice, connectServerUrl, relayWalletPath, theme, } = options;
|
|
86
86
|
return {
|
|
87
87
|
requestAccess(params) {
|
|
88
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -93,12 +93,14 @@ export function BrowserConnectHandler(options = {}) {
|
|
|
93
93
|
rememberChoice,
|
|
94
94
|
appName,
|
|
95
95
|
appIcon: appIcon !== null && appIcon !== void 0 ? appIcon : `${window.location.origin}/favicon.ico`,
|
|
96
|
+
applicationId,
|
|
96
97
|
connectServerUrl,
|
|
97
98
|
relayWalletPath,
|
|
98
99
|
timeout,
|
|
99
100
|
theme,
|
|
100
101
|
mode: params.requestType,
|
|
101
102
|
delegatePortableDid: params.delegatePortableDid,
|
|
103
|
+
expectedProviderDid: params.expectedProviderDid,
|
|
102
104
|
permissionRequests: params.permissionRequests,
|
|
103
105
|
});
|
|
104
106
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-connect-handler.js","sourceRoot":"","sources":["../../src/browser-connect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;;;;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmBxD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,uCAAuC;KACtD;IACD;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,yCAAyC;KACxD;IACD;QACE,IAAI,EAAU,QAAQ;QACtB,GAAG,EAAW,iCAAiC;QAC/C,WAAW,EAAG,sCAAsC;KACrD;IACD;QACE,IAAI,EAAU,MAAM;QACpB,GAAG,EAAW,+BAA+B;QAC7C,WAAW,EAAG,0CAA0C;KACzD;IACD;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,yCAAyC;KACxD;IACD;QACE,IAAI,EAAU,SAAS;QACvB,GAAG,EAAW,kCAAkC;QAChD,WAAW,EAAG,wCAAwC;KACvD;IACD;QACE,IAAI,EAAU,MAAM;QACpB,GAAG,EAAW,2BAA2B;QACzC,WAAW,EAAG,yCAAyC;KACxD;IACD;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,4BAA4B;QAC1C,WAAW,EAAG,yCAAyC;KACxD;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-connect-handler.js","sourceRoot":"","sources":["../../src/browser-connect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;;;;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmBxD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,uCAAuC;KACtD;IACD;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,yCAAyC;KACxD;IACD;QACE,IAAI,EAAU,QAAQ;QACtB,GAAG,EAAW,iCAAiC;QAC/C,WAAW,EAAG,sCAAsC;KACrD;IACD;QACE,IAAI,EAAU,MAAM;QACpB,GAAG,EAAW,+BAA+B;QAC7C,WAAW,EAAG,0CAA0C;KACzD;IACD;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,yCAAyC;KACxD;IACD;QACE,IAAI,EAAU,SAAS;QACvB,GAAG,EAAW,kCAAkC;QAChD,WAAW,EAAG,wCAAwC;KACvD;IACD;QACE,IAAI,EAAU,MAAM;QACpB,GAAG,EAAW,2BAA2B;QACzC,WAAW,EAAG,yCAAyC;KACxD;IACD;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,4BAA4B;QAC1C,WAAW,EAAG,yCAAyC;KACxD;CACF,CAAC;AAgFF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAwC,EAAE;IAE1C,MAAM,EACJ,OAAO,GAAG,eAAe,EACzB,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,KAAK,GACN,GAAG,OAAO,CAAC;IAEZ,OAAO;QACC,aAAa,CAAC,MAKnB;;gBACC,OAAO,eAAe,CAAC;oBACrB,OAAO;oBACP,SAAS;oBACT,eAAe;oBACf,cAAc;oBACd,OAAO;oBACP,OAAO,EAAe,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,cAAc;oBACxE,aAAa;oBACb,gBAAgB;oBAChB,eAAe;oBACf,OAAO;oBACP,KAAK;oBACL,IAAI,EAAkB,MAAM,CAAC,WAAW;oBACxC,mBAAmB,EAAG,MAAM,CAAC,mBAAmB;oBAChD,mBAAmB,EAAG,MAAM,CAAC,mBAAmB;oBAChD,kBAAkB,EAAI,MAAM,CAAC,kBAAkB;iBAChD,CAAC,CAAC;YACL,CAAC;SAAA;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { ObjectUrlReference } from './object-url-reference.js';
|
|
11
|
+
const DEFAULT_MAX_BYTES = 128 * 1024 * 1024;
|
|
12
|
+
const DEFAULT_MAX_ENTRIES = 50;
|
|
13
|
+
function assertLimit(value, name) {
|
|
14
|
+
if (value !== Infinity && (!Number.isSafeInteger(value) || value < 0)) {
|
|
15
|
+
throw new TypeError(`${name} must be a non-negative safe integer or Infinity.`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function throwAborted(controller) {
|
|
19
|
+
controller.abort();
|
|
20
|
+
throw controller.signal.reason;
|
|
21
|
+
}
|
|
22
|
+
class DefaultFileEnvelopeUrlStore {
|
|
23
|
+
constructor(_options) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
this._options = _options;
|
|
26
|
+
this._cache = new Map();
|
|
27
|
+
this._entries = new Set();
|
|
28
|
+
this._pending = new Map();
|
|
29
|
+
this._bytes = 0;
|
|
30
|
+
this._generation = 0;
|
|
31
|
+
this._isDisposed = false;
|
|
32
|
+
this._maxBytes = (_a = _options.maxBytes) !== null && _a !== void 0 ? _a : DEFAULT_MAX_BYTES;
|
|
33
|
+
this._maxEntries = (_b = _options.maxEntries) !== null && _b !== void 0 ? _b : DEFAULT_MAX_ENTRIES;
|
|
34
|
+
assertLimit(this._maxBytes, 'maxBytes');
|
|
35
|
+
assertLimit(this._maxEntries, 'maxEntries');
|
|
36
|
+
}
|
|
37
|
+
acquire(request) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
var _a;
|
|
40
|
+
this._assertActive();
|
|
41
|
+
const key = this._options.key(request);
|
|
42
|
+
const cached = this._cache.get(key);
|
|
43
|
+
if (cached !== undefined) {
|
|
44
|
+
return this._acquire(cached);
|
|
45
|
+
}
|
|
46
|
+
const pending = (_a = this._pending.get(key)) !== null && _a !== void 0 ? _a : this._startRead(request, key);
|
|
47
|
+
const entry = yield pending.promise;
|
|
48
|
+
if (this._isDisposed || pending.generation !== this._generation) {
|
|
49
|
+
return throwAborted(pending.controller);
|
|
50
|
+
}
|
|
51
|
+
if (entry === undefined) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
if (this._cache.get(key) !== entry) {
|
|
55
|
+
return throwAborted(pending.controller);
|
|
56
|
+
}
|
|
57
|
+
return this._acquire(entry);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
acquireCached(request) {
|
|
61
|
+
this._assertActive();
|
|
62
|
+
const entry = this._cache.get(this._options.key(request));
|
|
63
|
+
return entry === undefined ? undefined : this._acquire(entry);
|
|
64
|
+
}
|
|
65
|
+
invalidate(request) {
|
|
66
|
+
this._assertActive();
|
|
67
|
+
const key = this._options.key(request);
|
|
68
|
+
const pending = this._pending.get(key);
|
|
69
|
+
pending === null || pending === void 0 ? void 0 : pending.controller.abort();
|
|
70
|
+
this._pending.delete(key);
|
|
71
|
+
const entry = this._cache.get(key);
|
|
72
|
+
if (entry !== undefined) {
|
|
73
|
+
this._remove(entry);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
clear() {
|
|
77
|
+
this._assertActive();
|
|
78
|
+
this._reset(false);
|
|
79
|
+
}
|
|
80
|
+
dispose() {
|
|
81
|
+
if (this._isDisposed) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
this._isDisposed = true;
|
|
85
|
+
this._reset(true);
|
|
86
|
+
}
|
|
87
|
+
_abortReads() {
|
|
88
|
+
for (const pending of this._pending.values()) {
|
|
89
|
+
pending.controller.abort();
|
|
90
|
+
}
|
|
91
|
+
this._pending.clear();
|
|
92
|
+
}
|
|
93
|
+
_acquire(entry) {
|
|
94
|
+
this._cache.delete(entry.key);
|
|
95
|
+
this._cache.set(entry.key, entry);
|
|
96
|
+
const lease = entry.url.acquire();
|
|
97
|
+
this._evict();
|
|
98
|
+
return Object.freeze({
|
|
99
|
+
filename: entry.filename,
|
|
100
|
+
mimeType: entry.mimeType,
|
|
101
|
+
release: lease.release,
|
|
102
|
+
releaseAfter: lease.releaseAfter,
|
|
103
|
+
url: lease.url,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
_assertActive() {
|
|
107
|
+
if (this._isDisposed) {
|
|
108
|
+
throw new Error('FileEnvelopeUrlStore is disposed.');
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
_assertCurrent(key, controller, generation) {
|
|
112
|
+
var _a;
|
|
113
|
+
if (this._isDisposed
|
|
114
|
+
|| controller.signal.aborted
|
|
115
|
+
|| this._generation !== generation
|
|
116
|
+
|| ((_a = this._pending.get(key)) === null || _a === void 0 ? void 0 : _a.controller) !== controller) {
|
|
117
|
+
throwAborted(controller);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
_evict() {
|
|
121
|
+
while (this._cache.size > this._maxEntries || this._bytes > this._maxBytes) {
|
|
122
|
+
const entry = [...this._cache.values()].find((candidate) => candidate.url.references === 0);
|
|
123
|
+
if (entry === undefined) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
this._remove(entry);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
_load(request, key, controller, generation) {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
const value = yield this._options.read(request, controller.signal);
|
|
132
|
+
this._assertCurrent(key, controller, generation);
|
|
133
|
+
if (value === undefined) {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
const blob = this._options.blobForUrl(value);
|
|
137
|
+
this._assertCurrent(key, controller, generation);
|
|
138
|
+
const url = new ObjectUrlReference(blob, () => this._released(entry));
|
|
139
|
+
const entry = {
|
|
140
|
+
bytes: blob.size,
|
|
141
|
+
filename: value.filename,
|
|
142
|
+
key,
|
|
143
|
+
mimeType: value.mimeType,
|
|
144
|
+
url,
|
|
145
|
+
};
|
|
146
|
+
this._cache.set(key, entry);
|
|
147
|
+
this._bytes += entry.bytes;
|
|
148
|
+
this._entries.add(entry);
|
|
149
|
+
return entry;
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
_released(entry) {
|
|
153
|
+
if (this._cache.get(entry.key) !== entry) {
|
|
154
|
+
this._revoke(entry);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this._evict();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
_remove(entry) {
|
|
161
|
+
if (this._cache.get(entry.key) !== entry) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
this._cache.delete(entry.key);
|
|
165
|
+
this._bytes -= entry.bytes;
|
|
166
|
+
if (entry.url.references === 0) {
|
|
167
|
+
this._revoke(entry);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
_reset(revokeActive) {
|
|
171
|
+
this._generation += 1;
|
|
172
|
+
this._abortReads();
|
|
173
|
+
this._cache.clear();
|
|
174
|
+
this._bytes = 0;
|
|
175
|
+
for (const entry of this._entries) {
|
|
176
|
+
if (revokeActive || entry.url.references === 0) {
|
|
177
|
+
this._revoke(entry);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
_revoke(entry) {
|
|
182
|
+
entry.url.revoke();
|
|
183
|
+
this._entries.delete(entry);
|
|
184
|
+
}
|
|
185
|
+
_startRead(request, key) {
|
|
186
|
+
const controller = new AbortController();
|
|
187
|
+
const generation = this._generation;
|
|
188
|
+
const promise = this._load(request, key, controller, generation).finally(() => {
|
|
189
|
+
var _a;
|
|
190
|
+
if (((_a = this._pending.get(key)) === null || _a === void 0 ? void 0 : _a.controller) === controller) {
|
|
191
|
+
this._pending.delete(key);
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
const pending = { controller, generation, promise };
|
|
195
|
+
this._pending.set(key, pending);
|
|
196
|
+
return pending;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/** Create a bounded file-envelope URL store with deduplicated reads. */
|
|
200
|
+
export function createFileEnvelopeUrlStore(options) {
|
|
201
|
+
return new DefaultFileEnvelopeUrlStore(options);
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=file-envelope-url-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-envelope-url-store.js","sourceRoot":"","sources":["../../src/file-envelope-url-store.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -8,14 +8,17 @@
|
|
|
8
8
|
* @example Single-import dapp setup
|
|
9
9
|
* ```ts
|
|
10
10
|
* import {
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* BrowserConnectHandler, createConnectionStore,
|
|
12
|
+
* defineApplicationManifest,
|
|
13
13
|
* } from '@enbox/browser';
|
|
14
|
+
* import { MyProtocol } from './my-protocol.js';
|
|
14
15
|
*
|
|
15
|
-
* const
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* const store = createConnectionStore({
|
|
17
|
+
* application : defineApplicationManifest({ protocols: [MyProtocol] }),
|
|
18
|
+
* connectHandler : BrowserConnectHandler({ appName: 'My App' }),
|
|
18
19
|
* });
|
|
20
|
+
* const snapshot = await store.connect();
|
|
21
|
+
* if (snapshot.phase !== 'connected') throw snapshot.error ?? new Error('Connection failed.');
|
|
19
22
|
* ```
|
|
20
23
|
*
|
|
21
24
|
* For non-browser environments (Node.js, CLI, desktop), import from
|
|
@@ -26,11 +29,11 @@
|
|
|
26
29
|
// ─── Re-exports from @enbox/api ─────────────────────────────────
|
|
27
30
|
//
|
|
28
31
|
// The high-level Enbox API: DWN records and protocols.
|
|
29
|
-
export
|
|
32
|
+
export * from '@enbox/api';
|
|
30
33
|
// ─── Re-exports from @enbox/auth ────────────────────────────────
|
|
31
34
|
//
|
|
32
35
|
// Authentication lifecycle, session management, connect handlers.
|
|
33
|
-
export
|
|
36
|
+
export * from '@enbox/auth/browser';
|
|
34
37
|
// ─── Re-exports from @enbox/connect ─────────────────────────────
|
|
35
38
|
//
|
|
36
39
|
// The connect kernel pieces wallet apps need alongside the popup
|
|
@@ -48,6 +51,8 @@ export { fetchWalletWellKnown, probeWalletWellKnown, WALLET_WELL_KNOWN_PATH } fr
|
|
|
48
51
|
export { discoverWalletConnectServerUrl, runConnectModal } from './ui/connect-modal.js';
|
|
49
52
|
export { MAX_PIN_ATTEMPTS, RelayConnectCancelledError, runRelayConnect } from './relay-connect-runner.js';
|
|
50
53
|
export { encodeQr, qrToSvg } from './ui/qr.js';
|
|
54
|
+
export { createBlobUrlPool } from './blob-url-pool.js';
|
|
55
|
+
export { createFileEnvelopeUrlStore } from './file-envelope-url-store.js';
|
|
51
56
|
// ─── Convenience re-exports for dapps ───────────────────────────
|
|
52
57
|
//
|
|
53
58
|
// So that most browser dapps only need `@enbox/browser` (plus
|
|
@@ -55,11 +60,6 @@ export { encodeQr, qrToSvg } from './ui/qr.js';
|
|
|
55
60
|
// symbols dapps most commonly reached into sibling packages for; anything
|
|
56
61
|
// more specialized is still available by importing the underlying package
|
|
57
62
|
// directly.
|
|
58
|
-
// Canonical typed record (from @enbox/api).
|
|
59
|
-
export { Record } from '@enbox/api';
|
|
60
|
-
// Custom storage adapter + DWN registration provider-auth callback shapes
|
|
61
|
-
// (from @enbox/auth).
|
|
62
|
-
export { BrowserStorage } from '@enbox/auth/browser';
|
|
63
63
|
// Public-profile read/cache layer (from @enbox/protocols): fetch other
|
|
64
64
|
// users' published profiles (displayName + avatar/hero) from their DWNs
|
|
65
65
|
// with caching, retries, negative caching, and refcounted subscriptions.
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,mEAAmE;AACnE,EAAE;AACF,uDAAuD;AAEvD,cAAc,YAAY,CAAC;AAE3B,mEAAmE;AACnE,EAAE;AACF,kEAAkE;AAElE,cAAc,qBAAqB,CAAC;AAEpC,mEAAmE;AACnE,EAAE;AACF,iEAAiE;AACjE,4DAA4D;AAE5D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGvE,mEAAmE;AACnE,EAAE;AACF,iEAAiE;AAEjE,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,iBAAiB,EACjB,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAE/G,OAAO,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE1G,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAO1E,mEAAmE;AACnE,EAAE;AACF,8DAA8D;AAC9D,yEAAyE;AACzE,0EAA0E;AAC1E,0EAA0E;AAC1E,YAAY;AAEZ,uEAAuE;AACvE,wEAAwE;AACxE,yEAAyE;AACzE,uEAAuE;AACvE,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAkBrF,oEAAoE;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiB5C,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const MAX_TIMER_DELAY_MS = 2147483647;
|
|
2
|
+
function assertReleaseDelay(delayMs) {
|
|
3
|
+
if (!Number.isSafeInteger(delayMs) || delayMs < 0 || delayMs > MAX_TIMER_DELAY_MS) {
|
|
4
|
+
throw new TypeError(`delayMs must be an integer between 0 and ${MAX_TIMER_DELAY_MS}.`);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
/** Private reference-counted ownership for one object URL. */
|
|
8
|
+
export class ObjectUrlReference {
|
|
9
|
+
constructor(blob, _onEmpty) {
|
|
10
|
+
this._onEmpty = _onEmpty;
|
|
11
|
+
this._isRevoked = false;
|
|
12
|
+
this._references = 0;
|
|
13
|
+
this._releaseTimers = new Set();
|
|
14
|
+
this.url = globalThis.URL.createObjectURL(blob);
|
|
15
|
+
}
|
|
16
|
+
get references() {
|
|
17
|
+
return this._references;
|
|
18
|
+
}
|
|
19
|
+
acquire() {
|
|
20
|
+
if (this._isRevoked) {
|
|
21
|
+
throw new Error('Object URL has been revoked.');
|
|
22
|
+
}
|
|
23
|
+
this._references += 1;
|
|
24
|
+
let released = false;
|
|
25
|
+
let releaseTimer;
|
|
26
|
+
const release = () => {
|
|
27
|
+
if (released) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
released = true;
|
|
31
|
+
if (releaseTimer !== undefined) {
|
|
32
|
+
clearTimeout(releaseTimer);
|
|
33
|
+
this._releaseTimers.delete(releaseTimer);
|
|
34
|
+
}
|
|
35
|
+
if (this._isRevoked) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this._references -= 1;
|
|
39
|
+
if (this._references === 0) {
|
|
40
|
+
this._onEmpty(this);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
return Object.freeze({
|
|
44
|
+
url: this.url,
|
|
45
|
+
release,
|
|
46
|
+
releaseAfter: (delayMs) => {
|
|
47
|
+
assertReleaseDelay(delayMs);
|
|
48
|
+
if (released || this._isRevoked || releaseTimer !== undefined) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
releaseTimer = setTimeout(release, delayMs);
|
|
52
|
+
this._releaseTimers.add(releaseTimer);
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
revoke() {
|
|
57
|
+
if (!this._isRevoked) {
|
|
58
|
+
this._isRevoked = true;
|
|
59
|
+
for (const timer of this._releaseTimers) {
|
|
60
|
+
clearTimeout(timer);
|
|
61
|
+
}
|
|
62
|
+
this._releaseTimers.clear();
|
|
63
|
+
this._references = 0;
|
|
64
|
+
globalThis.URL.revokeObjectURL(this.url);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=object-url-reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-url-reference.js","sourceRoot":"","sources":["../../src/object-url-reference.ts"],"names":[],"mappings":"AAQA,MAAM,kBAAkB,GAAG,UAAa,CAAC;AAEzC,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,kBAAkB,EAAE,CAAC;QAClF,MAAM,IAAI,SAAS,CAAC,4CAA4C,kBAAkB,GAAG,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,OAAO,kBAAkB;IAM7B,YAAmB,IAAU,EAAmB,QAAiD;QAAjD,aAAQ,GAAR,QAAQ,CAAyC;QAJzF,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,CAAC,CAAC;QACP,mBAAc,GAAG,IAAI,GAAG,EAAiC,CAAC;QAGzE,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,YAAuD,CAAC;QAC5D,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC3B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,GAAG,EAAY,IAAI,CAAC,GAAG;YACvB,OAAO;YACP,YAAY,EAAG,CAAC,OAAe,EAAQ,EAAE;gBACvC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC5B,IAAI,QAAQ,IAAI,IAAI,CAAC,UAAU,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBACD,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -101,10 +101,12 @@ export function runRelayConnect(options) {
|
|
|
101
101
|
clientDid: clientDid.uri,
|
|
102
102
|
appName: options.appName,
|
|
103
103
|
appIcon: options.appIcon,
|
|
104
|
+
applicationId: options.applicationId,
|
|
104
105
|
clientMetadata: options.clientMetadata,
|
|
105
106
|
permissionRequests: options.permissionRequests,
|
|
106
107
|
delegateDid: (_b = options.delegatePortableDid) === null || _b === void 0 ? void 0 : _b.uri,
|
|
107
108
|
requestType: options.requestType,
|
|
109
|
+
expectedProviderDid: options.expectedProviderDid,
|
|
108
110
|
supportedDidMethods: ['did:dht', 'did:jwk'],
|
|
109
111
|
nonce,
|
|
110
112
|
state,
|
|
@@ -146,6 +148,7 @@ export function runRelayConnect(options) {
|
|
|
146
148
|
nonce,
|
|
147
149
|
state,
|
|
148
150
|
pin,
|
|
151
|
+
expectedProviderDid: options.expectedProviderDid,
|
|
149
152
|
delegatePortableDid: options.delegatePortableDid,
|
|
150
153
|
confirmComplete: (_c = transport.confirmComplete) === null || _c === void 0 ? void 0 : _c.bind(transport),
|
|
151
154
|
});
|
|
@@ -171,7 +174,12 @@ function attemptPinOpen(params) {
|
|
|
171
174
|
const response = yield openResponse({
|
|
172
175
|
jwe: params.responseCiphertext,
|
|
173
176
|
recipientPrivateKey: params.responsePrivateKey,
|
|
174
|
-
expected: {
|
|
177
|
+
expected: {
|
|
178
|
+
clientDid: params.clientDid,
|
|
179
|
+
nonce: params.nonce,
|
|
180
|
+
state: params.state,
|
|
181
|
+
providerDid: params.expectedProviderDid,
|
|
182
|
+
},
|
|
175
183
|
pin: params.pin,
|
|
176
184
|
});
|
|
177
185
|
const delegatePortableDid = resolveDelegatePortableDid({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-connect-runner.js","sourceRoot":"","sources":["../../src/relay-connect-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;AAaH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,uEAAuE;AACvE,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD;QACE,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"relay-connect-runner.js","sourceRoot":"","sources":["../../src/relay-connect-runner.ts"],"names":[],"mappings":"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"}
|