@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.
Files changed (39) hide show
  1. package/README.md +30 -7
  2. package/dist/browser.mjs +14 -14
  3. package/dist/browser.mjs.map +4 -4
  4. package/dist/esm/blob-url-pool.js +36 -0
  5. package/dist/esm/blob-url-pool.js.map +1 -0
  6. package/dist/esm/browser-connect-handler.js +3 -1
  7. package/dist/esm/browser-connect-handler.js.map +1 -1
  8. package/dist/esm/file-envelope-url-store.js +203 -0
  9. package/dist/esm/file-envelope-url-store.js.map +1 -0
  10. package/dist/esm/index.js +12 -12
  11. package/dist/esm/index.js.map +1 -1
  12. package/dist/esm/object-url-reference.js +68 -0
  13. package/dist/esm/object-url-reference.js.map +1 -0
  14. package/dist/esm/relay-connect-runner.js +9 -1
  15. package/dist/esm/relay-connect-runner.js.map +1 -1
  16. package/dist/esm/ui/connect-modal.js +134 -16
  17. package/dist/esm/ui/connect-modal.js.map +1 -1
  18. package/dist/types/blob-url-pool.d.ts +16 -0
  19. package/dist/types/blob-url-pool.d.ts.map +1 -0
  20. package/dist/types/browser-connect-handler.d.ts +8 -2
  21. package/dist/types/browser-connect-handler.d.ts.map +1 -1
  22. package/dist/types/file-envelope-url-store.d.ts +30 -0
  23. package/dist/types/file-envelope-url-store.d.ts.map +1 -0
  24. package/dist/types/index.d.ts +16 -14
  25. package/dist/types/index.d.ts.map +1 -1
  26. package/dist/types/object-url-reference.d.ts +20 -0
  27. package/dist/types/object-url-reference.d.ts.map +1 -0
  28. package/dist/types/relay-connect-runner.d.ts +4 -0
  29. package/dist/types/relay-connect-runner.d.ts.map +1 -1
  30. package/dist/types/ui/connect-modal.d.ts +24 -11
  31. package/dist/types/ui/connect-modal.d.ts.map +1 -1
  32. package/package.json +7 -7
  33. package/src/blob-url-pool.ts +55 -0
  34. package/src/browser-connect-handler.ts +13 -2
  35. package/src/file-envelope-url-store.ts +260 -0
  36. package/src/index.ts +23 -159
  37. package/src/object-url-reference.ts +82 -0
  38. package/src/relay-connect-runner.ts +17 -2
  39. 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;AAyEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAwC,EAAE;IAE1C,MAAM,EACJ,OAAO,GAAG,eAAe,EACzB,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,KAAK,GACN,GAAG,OAAO,CAAC;IAEZ,OAAO;QACC,aAAa,CAAC,MAInB;;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,gBAAgB;oBAChB,eAAe;oBACf,OAAO;oBACP,KAAK;oBACL,IAAI,EAAkB,MAAM,CAAC,WAAW;oBACxC,mBAAmB,EAAG,MAAM,CAAC,mBAAmB;oBAChD,kBAAkB,EAAI,MAAM,CAAC,kBAAkB;iBAChD,CAAC,CAAC;YACL,CAAC;SAAA;KACF,CAAC;AACJ,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
- * Enbox, BrowserConnectHandler,
12
- * defineProtocol, recordCodecs,
11
+ * BrowserConnectHandler, createConnectionStore,
12
+ * defineApplicationManifest,
13
13
  * } from '@enbox/browser';
14
+ * import { MyProtocol } from './my-protocol.js';
14
15
  *
15
- * const { enbox, session } = await Enbox.connect({
16
- * connectHandler: BrowserConnectHandler({ appName: 'My App' }),
17
- * protocols: [MyProtocol],
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 { AudienceDecryptError, createConnectionStore, ContextNotReadyError, ContextRetiredError, defineApplicationManifest, DwnResponseError, Enbox, defineProtocol, getApplicationProtocolRequests, ProtocolReadinessError, RecordConflictError, RecordParentNotFoundError, RecordSquashBackstopError, RecordValidationError, protocolContextKey, recordCodecs, ServiceConfigProtocol, } from '@enbox/api';
32
+ export * from '@enbox/api';
30
33
  // ─── Re-exports from @enbox/auth ────────────────────────────────
31
34
  //
32
35
  // Authentication lifecycle, session management, connect handlers.
33
- export { AuthManager, AuthSession, ConnectDeniedError, SESSION_EXPIRED_ERROR_CODE, SESSION_REVOKED_ERROR_CODE, computeConnectionStatus, isConnectDeniedError, isSessionExpiredError, isSessionInvalidError, normalizeProtocolRequests, WalletConnect, } from '@enbox/auth/browser';
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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,mEAAmE;AACnE,EAAE;AACF,uDAAuD;AAEvD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,EACL,cAAc,EACd,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,GACtB,MAAM,YAAY,CAAC;AA+EpB,mEAAmE;AACnE,EAAE;AACF,kEAAkE;AAElE,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAgC7B,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;AAG/C,mEAAmE;AACnE,EAAE;AACF,8DAA8D;AAC9D,yEAAyE;AACzE,0EAA0E;AAC1E,0EAA0E;AAC1E,YAAY;AAEZ,4CAA4C;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,0EAA0E;AAC1E,sBAAsB;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,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;AAmB5C,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
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: { clientDid: params.clientDid, nonce: params.nonce, state: params.state },
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":"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"}
1
+ {"version":3,"file":"relay-connect-runner.js","sourceRoot":"","sources":["../../src/relay-connect-runner.ts"],"names":[],"mappings":"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"}