@enbox/browser 0.3.6 → 0.3.7

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.
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Parses a DRL URL (http(s)://dweb/{did}/{path}) without regex quantifiers.
3
+ * Returns `[did, path]` or `null` if the URL does not match the DRL scheme.
4
+ *
5
+ * Extracted to a standalone module so it can be tested under Node.js (bun:test)
6
+ * in addition to the browser-based vitest suite, ensuring SonarCloud's
7
+ * merged coverage report includes these lines.
8
+ */
9
+ export function parseDrlUrl(url) {
10
+ const idx = url.indexOf('://dweb/');
11
+ if (idx === -1) {
12
+ return null;
13
+ }
14
+ const prefix = url.slice(0, idx);
15
+ if (prefix !== 'http' && prefix !== 'https') {
16
+ return null;
17
+ }
18
+ const rest = url.slice(idx + 8); // '://dweb/'.length === 8
19
+ if (rest.length === 0) {
20
+ return null;
21
+ }
22
+ const slashIdx = rest.indexOf('/');
23
+ if (slashIdx === -1) {
24
+ return [rest, ''];
25
+ }
26
+ if (slashIdx === 0) {
27
+ return null;
28
+ } // DID segment must be non-empty
29
+ return [rest.slice(0, slashIdx), rest.slice(slashIdx + 1)];
30
+ }
31
+ //# sourceMappingURL=drl-url-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drl-url-parser.js","sourceRoot":"","sources":["../../src/drl-url-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAChC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,gCAAgC;IACrE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -47,6 +47,8 @@ function initClient(options) {
47
47
  // Generate an ephemeral ECDH keypair for this connect session.
48
48
  // The public key is sent to the wallet so it can encrypt the response
49
49
  // containing delegate private keys and decryption material.
50
+ // Encryption is mandatory — if key generation fails (e.g. non-secure
51
+ // context where crypto.subtle is unavailable), the connect flow aborts.
50
52
  let dappKeyPair;
51
53
  let dappPublicKeyBase64url;
52
54
  try {
@@ -55,7 +57,9 @@ function initClient(options) {
55
57
  dappPublicKeyBase64url = ephemeral.publicKeyBase64url;
56
58
  }
57
59
  catch (_a) {
58
- // crypto.subtle unavailable (e.g. non-secure context) — skip encryption.
60
+ popup.close();
61
+ throw new Error('[@enbox/browser] DWeb Connect requires a secure context (HTTPS) for encrypted key exchange. '
62
+ + 'crypto.subtle is not available in this environment.');
59
63
  }
60
64
  return new Promise((resolve, reject) => {
61
65
  let settled = false;
@@ -84,7 +88,7 @@ function initClient(options) {
84
88
  }
85
89
  }, 500);
86
90
  const onMessage = (event) => {
87
- var _a, _b;
91
+ var _a;
88
92
  // Validate origin matches the wallet URL.
89
93
  const walletOrigin = new URL(walletUrl).origin;
90
94
  if (event.origin !== walletOrigin) {
@@ -108,45 +112,38 @@ function initClient(options) {
108
112
  if (type === 'dweb-connect-authorization-response') {
109
113
  clearInterval(pollClosed);
110
114
  cleanup();
111
- // Handle encrypted response (wallet supports ECDH channel encryption).
112
- const encrypted = event.data.encryptedPayload;
113
- if (encrypted && dappKeyPair) {
114
- decryptPostMessagePayload(encrypted, dappKeyPair).then((payload) => {
115
- var _a, _b, _c, _d, _e, _f;
116
- const p = payload;
117
- if (!p.delegateDid || !p.grants) {
118
- resolve(undefined);
119
- return;
120
- }
121
- resolve({
122
- delegatePortableDid: p.delegateDid,
123
- delegateGrants: p.grants,
124
- connectedDid: (_b = (_a = p.connectedDid) !== null && _a !== void 0 ? _a : did) !== null && _b !== void 0 ? _b : p.delegateDid.uri,
125
- delegateDecryptionKeys: (_c = p.delegateDecryptionKeys) !== null && _c !== void 0 ? _c : undefined,
126
- delegateContextKeys: (_d = p.delegateContextKeys) !== null && _d !== void 0 ? _d : undefined,
127
- delegateMultiPartyProtocols: (_e = p.delegateMultiPartyProtocols) !== null && _e !== void 0 ? _e : undefined,
128
- sessionRevocations: (_f = p.sessionRevocations) !== null && _f !== void 0 ? _f : undefined,
129
- });
130
- }).catch(() => {
131
- // Decryption failed — treat as denied.
132
- resolve(undefined);
133
- });
115
+ // If the wallet sent an explicit error, treat as denied.
116
+ if (event.data.error) {
117
+ resolve(undefined);
134
118
  return;
135
119
  }
136
- // Plaintext fallback (wallet doesn't support encryption yet).
137
- const { delegateDid, connectedDid: walletConnectedDid, grants, delegateDecryptionKeys, delegateContextKeys, delegateMultiPartyProtocols, sessionRevocations, } = event.data;
138
- if (!delegateDid || !grants) {
120
+ // Require an encrypted response. The dapp always sends an
121
+ // ephemeralPublicKey, so a plaintext response means either the
122
+ // wallet is outdated or something intercepted the flow.
123
+ const encrypted = event.data.encryptedPayload;
124
+ if (!encrypted) {
139
125
  resolve(undefined);
140
126
  return;
141
127
  }
142
- resolve({
143
- delegatePortableDid: delegateDid,
144
- delegateGrants: grants,
145
- connectedDid: (_b = walletConnectedDid !== null && walletConnectedDid !== void 0 ? walletConnectedDid : did) !== null && _b !== void 0 ? _b : delegateDid.uri,
146
- delegateDecryptionKeys: delegateDecryptionKeys !== null && delegateDecryptionKeys !== void 0 ? delegateDecryptionKeys : undefined,
147
- delegateContextKeys: delegateContextKeys !== null && delegateContextKeys !== void 0 ? delegateContextKeys : undefined,
148
- delegateMultiPartyProtocols: delegateMultiPartyProtocols !== null && delegateMultiPartyProtocols !== void 0 ? delegateMultiPartyProtocols : undefined,
149
- sessionRevocations: sessionRevocations !== null && sessionRevocations !== void 0 ? sessionRevocations : undefined,
128
+ decryptPostMessagePayload(encrypted, dappKeyPair).then((payload) => {
129
+ var _a, _b, _c, _d, _e, _f;
130
+ const p = payload;
131
+ if (!p.delegateDid || !p.grants) {
132
+ resolve(undefined);
133
+ return;
134
+ }
135
+ resolve({
136
+ delegatePortableDid: p.delegateDid,
137
+ delegateGrants: p.grants,
138
+ connectedDid: (_b = (_a = p.connectedDid) !== null && _a !== void 0 ? _a : did) !== null && _b !== void 0 ? _b : p.delegateDid.uri,
139
+ delegateDecryptionKeys: (_c = p.delegateDecryptionKeys) !== null && _c !== void 0 ? _c : undefined,
140
+ delegateContextKeys: (_d = p.delegateContextKeys) !== null && _d !== void 0 ? _d : undefined,
141
+ delegateMultiPartyProtocols: (_e = p.delegateMultiPartyProtocols) !== null && _e !== void 0 ? _e : undefined,
142
+ sessionRevocations: (_f = p.sessionRevocations) !== null && _f !== void 0 ? _f : undefined,
143
+ });
144
+ }).catch(() => {
145
+ // Decryption failed — treat as denied.
146
+ resolve(undefined);
150
147
  });
151
148
  }
152
149
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dweb-connect-client.js","sourceRoot":"","sources":["../../src/dweb-connect-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dweb-connect-client.js","sourceRoot":"","sources":["../../src/dweb-connect-client.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ const HKDF_INFO = new TextEncoder().encode('dweb-connect-v1');
32
32
  */
33
33
  export function generateEphemeralKeyPair() {
34
34
  return __awaiter(this, void 0, void 0, function* () {
35
- const keyPair = yield crypto.subtle.generateKey(ECDH_PARAMS, false, ['deriveKey']);
35
+ const keyPair = yield crypto.subtle.generateKey(ECDH_PARAMS, false, ['deriveBits']);
36
36
  const rawPub = yield crypto.subtle.exportKey('raw', keyPair.publicKey);
37
37
  return { keyPair, publicKeyBase64url: toBase64url(new Uint8Array(rawPub)) };
38
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dweb-connect-crypto.js","sourceRoot":"","sources":["../../src/dweb-connect-crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dweb-connect-crypto.js","sourceRoot":"","sources":["../../src/dweb-connect-crypto.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  };
15
15
  import { DidDht, DidWeb, UniversalResolver } from '@enbox/dids';
16
16
  let didResolver = new UniversalResolver({ didResolvers: [DidDht, DidWeb] });
17
- const didUrlRegex = /^https?:\/\/dweb\/([^/]+)\/?(.*)?$/;
17
+ import { parseDrlUrl } from './drl-url-parser.js';
18
+ export { parseDrlUrl } from './drl-url-parser.js';
18
19
  const httpToHttpsRegex = /^http:/;
19
20
  const trailingSlashRegex = /\/$/;
20
21
  const DRL_CACHE_NAME = 'drl';
@@ -62,7 +63,10 @@ export function handleEvent(event, did, path, options) {
62
63
  }
63
64
  }
64
65
  try {
65
- if (!path) {
66
+ if (path) {
67
+ return yield fetchResource(event, did, drl, path, responseCache, options);
68
+ }
69
+ else {
66
70
  const response = yield didResolver.resolve(did);
67
71
  return new Response(JSON.stringify(response), {
68
72
  status: 200,
@@ -71,9 +75,6 @@ export function handleEvent(event, did, path, options) {
71
75
  },
72
76
  });
73
77
  }
74
- else {
75
- return yield fetchResource(event, did, drl, path, responseCache, options);
76
- }
77
78
  }
78
79
  catch (error) {
79
80
  if (error instanceof Response) {
@@ -151,9 +152,9 @@ function installWorker() {
151
152
  event.waitUntil(workerSelf.clients.claim());
152
153
  });
153
154
  workerSelf.addEventListener('fetch', (event) => {
154
- const match = event.request.url.match(didUrlRegex);
155
- if (match) {
156
- event.respondWith(handleEvent(event, match[1], match[2], options));
155
+ const parsed = parseDrlUrl(event.request.url);
156
+ if (parsed) {
157
+ event.respondWith(handleEvent(event, parsed[0], parsed[1], options));
157
158
  }
158
159
  });
159
160
  }
@@ -382,10 +383,10 @@ function addLinkFeatures() {
382
383
  const anchor = (_a = event.target) === null || _a === void 0 ? void 0 : _a.closest('a');
383
384
  if (anchor) {
384
385
  const href = anchor.href;
385
- const match = href.match(didUrlRegex);
386
- if (match) {
387
- const did = match[1];
388
- const path = match[2];
386
+ const parsed = parseDrlUrl(href);
387
+ if (parsed) {
388
+ const did = parsed[0];
389
+ const path = parsed[1];
389
390
  const openAsTab = anchor.target === '_blank';
390
391
  event.preventDefault();
391
392
  try {
@@ -425,12 +426,11 @@ function addLinkFeatures() {
425
426
  }
426
427
  });
427
428
  pointerdownHandler = (event) => __awaiter(this, void 0, void 0, function* () {
428
- var _a;
429
429
  const target = event.composedPath()[0];
430
430
  if ((event.pointerType === 'mouse' && event.button === 2) ||
431
431
  (event.pointerType === 'touch' && event.isPrimary)) {
432
432
  resetContextMenuTarget();
433
- if ((_a = target === null || target === void 0 ? void 0 : target.src) === null || _a === void 0 ? void 0 : _a.match(didUrlRegex)) {
433
+ if ((target === null || target === void 0 ? void 0 : target.src) && parseDrlUrl(target.src)) {
434
434
  contextMenuTarget = target;
435
435
  target.__src__ = target.src;
436
436
  const drl = target.src
@@ -521,14 +521,14 @@ export function activatePolyfills(options = {}) {
521
521
  }
522
522
  if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {
523
523
  if (options.injectStyles !== false) {
524
- if (document.readyState !== 'loading') {
525
- injectElements();
526
- }
527
- else {
524
+ if (document.readyState === 'loading') {
528
525
  document.addEventListener('DOMContentLoaded', injectElements, {
529
526
  once: true,
530
527
  });
531
528
  }
529
+ else {
530
+ injectElements();
531
+ }
532
532
  }
533
533
  if (options.links !== false) {
534
534
  addLinkFeatures();
@@ -1 +1 @@
1
- {"version":3,"file":"web-features.js","sourceRoot":"","sources":["../../src/web-features.ts"],"names":[],"mappings":"AAAA;;;;EAIE;;;;;;;;;;AAIF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAwDhE,IAAI,WAAW,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5E,MAAM,WAAW,GAAG,oCAAoC,CAAC;AACzD,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAClC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,iFAAiF;AACjF,MAAM,UAAgB,eAAe,CAAC,GAAW;;;QAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,0CAAE,IAAI,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,sBAAsB,CACrD,0CAAE,eAAe,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;YAAA,OAAO,EAAE,CAAC;QAAA,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAC3D,CAAC;IACJ,CAAC;CAAA;AAED,iFAAiF;AACjF,SAAe,YAAY;;QACzB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAAA,OAAO,SAAS,CAAC;QAAA,CAAC;QACtD,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;CAAA;AAED,iEAAiE;AACjE,MAAM,UAAgB,WAAW,CAC/B,KAAiB,EAAE,GAAW,EAAE,IAAY,EAAE,OAAkC;;;QAEhF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG;aAC1B,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aACnC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,MAAM,YAAY,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,MAAM,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC;QACvD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBAAA,OAAO,cAAc,CAAC;YAAA,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,wDAAG,KAAK,EAAE,GAAG,CAAC,CAAA,CAAC;YACxD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC/D,IACE,SAAS;oBACT,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EACzD,CAAC;oBACD,OAAO,cAAc,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAChD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;oBAC5C,MAAM,EAAI,GAAG;oBACb,OAAO,EAAG;wBACR,cAAc,EAAE,kBAAkB;qBACnC;iBACF,CAAC,CAAC;YACL,CAAC;iBACD,CAAC;gBAAA,OAAO,MAAM,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAAA,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YAChD,OAAO,IAAI,QAAQ,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CAAA;AAED,6EAA6E;AAC7E,MAAM,UAAgB,aAAa,CACjC,KAAiB,EAAE,GAAW,EAAE,GAAW,EAAE,IAAY,EACzD,aAAgC,EAAE,OAAkC;;;QAEpE,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,EAAE,CAAC;YACvB,MAAM,IAAI,QAAQ,CAChB,wDAAwD,EACxD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;QACJ,CAAC;QACD,IAAI,SAA+B,CAAC;QACpC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACzE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,MAAM,KAAK,GAAG,MAAM,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,wDAAG,KAAK,EAAE,GAAG,CAAC,CAAA,CAAC;oBACxD,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;wBAC3B,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;oBACnD,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtD,SAAS,GAAG,IAAI,QAAQ,CAAC,0BAA0B,EAAE;oBACnD,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;gBAC5C,SAAS,GAAG,IAAI,QAAQ,CAAC,0BAA0B,EAAE;oBACnD,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,SAAU,CAAC;IACpB,CAAC;CAAA;AAED,mFAAmF;AACnF,MAAM,UAAgB,aAAa,CAAC,GAAW,EAAE,GAAW,EAAE,QAAkB,EAAE,KAAY;;QAC5F,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,gBAAgB,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACxE,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CAAA;AAED,mCAAmC;AAEnC,SAAe,aAAa;yDAAC,UAAoC,EAAE;;QACjE,IAAI,CAAC;YACH,qEAAqE;YACrE,mGAAmG;YACnG,IACE,OAAO,wBAAwB,KAAK,WAAW;gBAC/C,IAAI,YAAY,wBAAwB,EACxC,CAAC;gBACD,MAAM,UAAU,GAAG,IAA2C,CAAC;gBAC/D,UAAU,CAAC,WAAW,EAAE,CAAC;gBACzB,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,KAAsB,EAAE,EAAE;oBACjE,oEAAoE;oBACpE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;oBACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACnD,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,oFAAoF;iBAC/E,IAAI,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,0CAAE,aAAa,EAAE,CAAC;gBAC9C,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACxE,sFAAsF;gBACtF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,UAAU,GAChB,OAAO,CAAC,IAAI;yBACZ,MAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAA0C,0CAAE,GAAG,CAAA;wBAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;oBAChB,IAAI,UAAU,EACd,CAAC;wBAAA,SAAS,CAAC,aAAa;6BACrB,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;6BACxC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;4BACxB,OAAO,CAAC,KAAK,CACX,+CAA+C,EAC/C,KAAK,CACN,CAAC;wBACJ,CAAC,CAAC,CAAC;oBAAA,CAAC;gBACR,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CAAA;AAED,8BAA8B;AAE9B,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGpB,CAAC;AACF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;MAgBb,YAAY;;;;;;;;;;;;;CAajB,CAAC;AAEF,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,IAAI,cAAc,GAA0B,IAAI,CAAC;AACjD,IAAI,YAAY,GAA4B,IAAI,CAAC;AAEjD,SAAS,cAAc;IACrB,IAAI,gBAAgB,EAAE,CAAC;QAAA,OAAO;IAAA,CAAC;IAC/B,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/C,YAAY,CAAC,SAAS,GAAG;MACrB,YAAY;;;;;;;;;;;;GAYf,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEnC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACpD,cAAc,CAAC,SAAS,GAAG;;;;;;GAM1B,CAAC;IACF,cAAc,CAAC,gBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC7E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAAA,OAAO;IAAA,CAAC;IAChC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE,CAAC;IACvB,YAAY,GAAG,IAAI,CAAC;IACpB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,EAAE,CAAC;IACzB,cAAc,GAAG,IAAI,CAAC;IACtB,gBAAgB,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED,SAAS,gBAAgB;IACvB,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC7D,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAC3C,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,kEAAkE;AAClE,IAAI,YAAY,GAAkD,IAAI,CAAC;AACvE,IAAI,kBAAkB,GAAoD,IAAI,CAAC;AAE/E,SAAS,eAAe;IACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,YAAY,GAAG,CAAO,KAAiB,EAAiB,EAAE;;YACxD,MAAM,MAAM,GAAG,MAAC,KAAK,CAAC,MAAkB,0CAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACtC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;oBAC7C,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,IAAI,GAAG,GAAkB,IAAI,CAAC;wBAC9B,IAAI,SAAS,EAAE,CAAC;4BACd,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;4BAChC,IAAI,GAAG,EAAE,CAAC;gCAAA,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;4BAAA,CAAC;wBAC5C,CAAC;6BAAM,CAAC;4BACN,gBAAgB,GAAG,IAAI,CAAC;4BACxB,qFAAqF;4BACrF,UAAU,CACR,GAAG,EAAE,CACH,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAC/D,EAAE,CACH,CAAC;wBACJ,CAAC;wBACD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;4BACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;wBAClD,CAAC;wBACD,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CACjC,kBAAkB,EAClB,EAAE,CACH,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBACnB,IAAI,SAAS,EAAE,CAAC;4BACd,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gCAAA,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;4BAAA,CAAC;wBACpD,CAAC;6BAAM,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;4BACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;wBAC7B,CAAC;oBACH,CAAC;oBAAC,WAAM,CAAC;wBACP,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;4BAC9B,gBAAgB,EAAE,CAAC;wBACrB,CAAC;wBACD,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,EAAE,CACtD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAA,CAAC;QAEF,kBAAkB,GAAG,CAAO,KAAmB,EAAiB,EAAE;;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAgC,CAAC;YACtE,IACE,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;gBACrD,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,EAClD,CAAC;gBACD,sBAAsB,EAAE,CAAC;gBACzB,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,0CAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;oBACpC,iBAAiB,GAAG,MAAM,CAAC;oBAC3B,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;oBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;yBACnB,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC;yBACnC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;oBACnC,MAAM,aAAa,GAAG,MAAM,YAAY,EAAE,CAAC;oBAC3C,MAAM,QAAQ,GAAG,MAAM,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC;oBACjD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;wBACrD,IAAI,GAAG,EAAE,CAAC;4BAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;wBAAA,CAAC;oBAC9B,CAAC;oBACD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,sBAAsB,EAAE;wBAC3D,IAAI,EAAE,IAAI;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;gBACxC,sBAAsB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAA,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,QAAQ,CAAC,gBAAgB,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QACnE,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAE7D,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAAA,OAAO;IAAA,CAAC;IAClC,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpD,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,kBAAkB,EAAE,CAAC;QACvB,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAChE,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,mBAAmB,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IACtE,sBAAsB,EAAE,CAAC;IACzB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,IAAI,iBAAiB,GAA2B,IAAI,CAAC;AACrD,SAAe,sBAAsB,CAAC,CAAS;;QAC7C,IAAI,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,iBAAiB,EAAE,CAAC;YACtB,iBAAiB,CAAC,GAAG,GAAG,iBAAiB,CAAC,OAAQ,CAAC;YACnD,OAAO,iBAAiB,CAAC,OAAO,CAAC;YACjC,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAoC,EAAE;IACtE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,WAAW,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;QACpC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACnC,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAAA,cAAc,EAAE,CAAC;YAAA,CAAC;iBACrD,CAAC;gBACJ,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,EAAE;oBAC5D,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAAA,eAAe,EAAE,CAAC;QAAA,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC5E,kBAAkB,EAAE,CAAC;QACrB,cAAc,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAgB,aAAa;;QACjC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAAA,OAAO,KAAK,CAAC;QAAA,CAAC;QAClD,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;CAAA"}
1
+ {"version":3,"file":"web-features.js","sourceRoot":"","sources":["../../src/web-features.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parses a DRL URL (http(s)://dweb/{did}/{path}) without regex quantifiers.
3
+ * Returns `[did, path]` or `null` if the URL does not match the DRL scheme.
4
+ *
5
+ * Extracted to a standalone module so it can be tested under Node.js (bun:test)
6
+ * in addition to the browser-based vitest suite, ensuring SonarCloud's
7
+ * merged coverage report includes these lines.
8
+ */
9
+ export declare function parseDrlUrl(url: string): [string, string] | null;
10
+ //# sourceMappingURL=drl-url-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drl-url-parser.d.ts","sourceRoot":"","sources":["../../src/drl-url-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAWhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"dweb-connect-client.d.ts","sourceRoot":"","sources":["../../src/dweb-connect-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,wBAAwB,EAAqC,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKnE,4DAA4D;AAC5D,MAAM,WAAW,wBAAwB;IACvC,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAElB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,kBAAkB,EAAE,wBAAwB,EAAE,CAAC;IAE/C;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;;;;;;;;;;;GAcG;AACH,iBAAe,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA2J/F;AAED;;;;;;;;;;;GAWG;AACH,iBAAe,kBAAkB,CAC/B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,SAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CA+ClB;AAED,eAAO,MAAM,WAAW;;;CAAqC,CAAC"}
1
+ {"version":3,"file":"dweb-connect-client.d.ts","sourceRoot":"","sources":["../../src/dweb-connect-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,wBAAwB,EAAqC,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKnE,4DAA4D;AAC5D,MAAM,WAAW,wBAAwB;IACvC,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAElB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,kBAAkB,EAAE,wBAAwB,EAAE,CAAC;IAE/C;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;;;;;;;;;;;GAcG;AACH,iBAAe,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAiJ/F;AAED;;;;;;;;;;;GAWG;AACH,iBAAe,kBAAkB,CAC/B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,SAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CA+ClB;AAED,eAAO,MAAM,WAAW;;;CAAqC,CAAC"}
@@ -38,6 +38,7 @@ export type ActivatePolyfillsOptions = {
38
38
  */
39
39
  didResolvers?: DidMethodResolver[];
40
40
  };
41
+ export { parseDrlUrl } from './drl-url-parser.js';
41
42
  /** @internal Exported for testing. Resolves DWN service endpoints from a DID. */
42
43
  export declare function getDwnEndpoints(did: string): Promise<string[]>;
43
44
  /** @internal Exported for testing. Handles a DRL fetch event. */
@@ -1 +1 @@
1
- {"version":3,"file":"web-features.d.ts","sourceRoot":"","sources":["../../src/web-features.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,KAAK,EAAE,UAAU,GAAG,KAAK,EACzB,GAAG,EAAE,MAAM,KACR,gBAAgB,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC,CAAC;AAiBF,iFAAiF;AACjF,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASpE;AAQD,iEAAiE;AACjE,wBAAsB,WAAW,CAC/B,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAC/E,OAAO,CAAC,QAAQ,CAAC,CAqCnB;AAED,6EAA6E;AAC7E,wBAAsB,aAAa,CACjC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EACzD,aAAa,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,wBAAwB,GACnE,OAAO,CAAC,QAAQ,CAAC,CAgCnB;AAED,mFAAmF;AACnF,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7G;AA8WD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,IAAI,CAkB9E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAGtD"}
1
+ {"version":3,"file":"web-features.d.ts","sourceRoot":"","sources":["../../src/web-features.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,KAAK,EAAE,UAAU,GAAG,KAAK,EACzB,GAAG,EAAE,MAAM,KACR,gBAAgB,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC,CAAC;AAcF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,iFAAiF;AACjF,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASpE;AAQD,iEAAiE;AACjE,wBAAsB,WAAW,CAC/B,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAC/E,OAAO,CAAC,QAAQ,CAAC,CAsCnB;AAED,6EAA6E;AAC7E,wBAAsB,aAAa,CACjC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EACzD,aAAa,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,wBAAwB,GACnE,OAAO,CAAC,QAAQ,CAAC,CAgCnB;AAED,mFAAmF;AACnF,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7G;AA8WD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,IAAI,CAiB9E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAGtD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enbox/browser",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "Enbox tools and features to use in the browser",
5
5
  "type": "module",
6
6
  "main": "./dist/esm/index.js",
@@ -13,6 +13,8 @@
13
13
  "build": "bun run clean && bun run build:esm",
14
14
  "lint": "eslint . --max-warnings 0",
15
15
  "lint:fix": "eslint . --fix",
16
+ "test:node": "bun test tests/drl-url-parser.spec.ts",
17
+ "test:node:coverage": "bun test --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage tests/drl-url-parser.spec.ts",
16
18
  "test:browser": "bunx --bun vitest --config vitest.browser.config.ts --run",
17
19
  "test:browser:coverage": "bunx --bun vitest --config vitest.browser.config.ts --run --coverage --coverage.provider=istanbul"
18
20
  },
@@ -55,9 +57,9 @@
55
57
  "access": "public"
56
58
  },
57
59
  "dependencies": {
58
- "@enbox/agent": "0.6.5",
59
- "@enbox/api": "0.6.20",
60
- "@enbox/auth": "0.6.28",
60
+ "@enbox/agent": "0.6.6",
61
+ "@enbox/api": "0.6.21",
62
+ "@enbox/auth": "0.6.29",
61
63
  "@enbox/dids": "0.1.0"
62
64
  },
63
65
  "devDependencies": {
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Parses a DRL URL (http(s)://dweb/{did}/{path}) without regex quantifiers.
3
+ * Returns `[did, path]` or `null` if the URL does not match the DRL scheme.
4
+ *
5
+ * Extracted to a standalone module so it can be tested under Node.js (bun:test)
6
+ * in addition to the browser-based vitest suite, ensuring SonarCloud's
7
+ * merged coverage report includes these lines.
8
+ */
9
+ export function parseDrlUrl(url: string): [string, string] | null {
10
+ const idx = url.indexOf('://dweb/');
11
+ if (idx === -1) { return null; }
12
+ const prefix = url.slice(0, idx);
13
+ if (prefix !== 'http' && prefix !== 'https') { return null; }
14
+ const rest = url.slice(idx + 8); // '://dweb/'.length === 8
15
+ if (rest.length === 0) { return null; }
16
+ const slashIdx = rest.indexOf('/');
17
+ if (slashIdx === -1) { return [rest, '']; }
18
+ if (slashIdx === 0) { return null; } // DID segment must be non-empty
19
+ return [rest.slice(0, slashIdx), rest.slice(slashIdx + 1)];
20
+ }
@@ -107,15 +107,21 @@ async function initClient(options: DWebConnectClientOptions): Promise<ConnectRes
107
107
  // Generate an ephemeral ECDH keypair for this connect session.
108
108
  // The public key is sent to the wallet so it can encrypt the response
109
109
  // containing delegate private keys and decryption material.
110
- let dappKeyPair: CryptoKeyPair | undefined;
111
- let dappPublicKeyBase64url: string | undefined;
110
+ // Encryption is mandatory — if key generation fails (e.g. non-secure
111
+ // context where crypto.subtle is unavailable), the connect flow aborts.
112
+ let dappKeyPair: CryptoKeyPair;
113
+ let dappPublicKeyBase64url: string;
112
114
 
113
115
  try {
114
116
  const ephemeral = await generateEphemeralKeyPair();
115
117
  dappKeyPair = ephemeral.keyPair;
116
118
  dappPublicKeyBase64url = ephemeral.publicKeyBase64url;
117
119
  } catch {
118
- // crypto.subtle unavailable (e.g. non-secure context) — skip encryption.
120
+ popup.close();
121
+ throw new Error(
122
+ '[@enbox/browser] DWeb Connect requires a secure context (HTTPS) for encrypted key exchange. '
123
+ + 'crypto.subtle is not available in this environment.'
124
+ );
119
125
  }
120
126
 
121
127
  return new Promise<ConnectResult | undefined>((resolve, reject) => {
@@ -173,55 +179,39 @@ async function initClient(options: DWebConnectClientOptions): Promise<ConnectRes
173
179
  clearInterval(pollClosed);
174
180
  cleanup();
175
181
 
176
- // Handle encrypted response (wallet supports ECDH channel encryption).
177
- const encrypted = event.data.encryptedPayload as EncryptedPostMessagePayload | undefined;
178
- if (encrypted && dappKeyPair) {
179
- decryptPostMessagePayload(encrypted, dappKeyPair).then((payload: Record<string, unknown>) => {
180
- const p = payload as any;
181
- if (!p.delegateDid || !p.grants) {
182
- resolve(undefined);
183
- return;
184
- }
185
- resolve({
186
- delegatePortableDid : p.delegateDid as PortableDid,
187
- delegateGrants : p.grants as DwnDataEncodedRecordsWriteMessage[],
188
- connectedDid : p.connectedDid ?? did ?? (p.delegateDid as PortableDid).uri,
189
- delegateDecryptionKeys : p.delegateDecryptionKeys ?? undefined,
190
- delegateContextKeys : p.delegateContextKeys ?? undefined,
191
- delegateMultiPartyProtocols : p.delegateMultiPartyProtocols ?? undefined,
192
- sessionRevocations : p.sessionRevocations ?? undefined,
193
- });
194
- }).catch(() => {
195
- // Decryption failed — treat as denied.
196
- resolve(undefined);
197
- });
182
+ // If the wallet sent an explicit error, treat as denied.
183
+ if (event.data.error) {
184
+ resolve(undefined);
198
185
  return;
199
186
  }
200
187
 
201
- // Plaintext fallback (wallet doesn't support encryption yet).
202
- const {
203
- delegateDid,
204
- connectedDid: walletConnectedDid,
205
- grants,
206
- delegateDecryptionKeys,
207
- delegateContextKeys,
208
- delegateMultiPartyProtocols,
209
- sessionRevocations,
210
- } = event.data;
211
-
212
- if (!delegateDid || !grants) {
188
+ // Require an encrypted response. The dapp always sends an
189
+ // ephemeralPublicKey, so a plaintext response means either the
190
+ // wallet is outdated or something intercepted the flow.
191
+ const encrypted = event.data.encryptedPayload as EncryptedPostMessagePayload | undefined;
192
+ if (!encrypted) {
213
193
  resolve(undefined);
214
194
  return;
215
195
  }
216
196
 
217
- resolve({
218
- delegatePortableDid : delegateDid as PortableDid,
219
- delegateGrants : grants as DwnDataEncodedRecordsWriteMessage[],
220
- connectedDid : walletConnectedDid ?? did ?? delegateDid.uri,
221
- delegateDecryptionKeys : delegateDecryptionKeys ?? undefined,
222
- delegateContextKeys : delegateContextKeys ?? undefined,
223
- delegateMultiPartyProtocols : delegateMultiPartyProtocols ?? undefined,
224
- sessionRevocations : sessionRevocations ?? undefined,
197
+ decryptPostMessagePayload(encrypted, dappKeyPair).then((payload: Record<string, unknown>) => {
198
+ const p = payload as any;
199
+ if (!p.delegateDid || !p.grants) {
200
+ resolve(undefined);
201
+ return;
202
+ }
203
+ resolve({
204
+ delegatePortableDid : p.delegateDid as PortableDid,
205
+ delegateGrants : p.grants as DwnDataEncodedRecordsWriteMessage[],
206
+ connectedDid : p.connectedDid ?? did ?? (p.delegateDid as PortableDid).uri,
207
+ delegateDecryptionKeys : p.delegateDecryptionKeys ?? undefined,
208
+ delegateContextKeys : p.delegateContextKeys ?? undefined,
209
+ delegateMultiPartyProtocols : p.delegateMultiPartyProtocols ?? undefined,
210
+ sessionRevocations : p.sessionRevocations ?? undefined,
211
+ });
212
+ }).catch(() => {
213
+ // Decryption failed — treat as denied.
214
+ resolve(undefined);
225
215
  });
226
216
  }
227
217
  };
@@ -40,7 +40,7 @@ export async function generateEphemeralKeyPair(): Promise<{
40
40
  keyPair: CryptoKeyPair;
41
41
  publicKeyBase64url: ExportedPublicKey;
42
42
  }> {
43
- const keyPair = await crypto.subtle.generateKey(ECDH_PARAMS, false, ['deriveKey']);
43
+ const keyPair = await crypto.subtle.generateKey(ECDH_PARAMS, false, ['deriveBits']);
44
44
  const rawPub = await crypto.subtle.exportKey('raw', keyPair.publicKey);
45
45
  return { keyPair, publicKeyBase64url: toBase64url(new Uint8Array(rawPub)) };
46
46
  }
@@ -63,7 +63,10 @@ interface DrlMediaElement extends HTMLElement {
63
63
  }
64
64
 
65
65
  let didResolver = new UniversalResolver({ didResolvers: [DidDht, DidWeb] });
66
- const didUrlRegex = /^https?:\/\/dweb\/([^/]+)\/?(.*)?$/;
66
+
67
+ import { parseDrlUrl } from './drl-url-parser.js';
68
+ export { parseDrlUrl } from './drl-url-parser.js';
69
+
67
70
  const httpToHttpsRegex = /^http:/;
68
71
  const trailingSlashRegex = /\/$/;
69
72
  const DRL_CACHE_NAME = 'drl';
@@ -109,7 +112,9 @@ export async function handleEvent(
109
112
  }
110
113
  }
111
114
  try {
112
- if (!path) {
115
+ if (path) {
116
+ return await fetchResource(event, did, drl, path, responseCache, options);
117
+ } else {
113
118
  const response = await didResolver.resolve(did);
114
119
  return new Response(JSON.stringify(response), {
115
120
  status : 200,
@@ -117,8 +122,7 @@ export async function handleEvent(
117
122
  'Content-Type': 'application/json',
118
123
  },
119
124
  });
120
- } else
121
- {return await fetchResource(event, did, drl, path, responseCache, options);}
125
+ }
122
126
  } catch (error) {
123
127
  if (error instanceof Response) {
124
128
  return error;
@@ -197,9 +201,9 @@ async function installWorker(options: ActivatePolyfillsOptions = {}): Promise<vo
197
201
  event.waitUntil(workerSelf.clients.claim());
198
202
  });
199
203
  workerSelf.addEventListener('fetch', (event: FetchEvent) => {
200
- const match = event.request.url.match(didUrlRegex);
201
- if (match) {
202
- event.respondWith(handleEvent(event, match[1], match[2], options));
204
+ const parsed = parseDrlUrl(event.request.url);
205
+ if (parsed) {
206
+ event.respondWith(handleEvent(event, parsed[0], parsed[1], options));
203
207
  }
204
208
  });
205
209
  }
@@ -435,10 +439,10 @@ function addLinkFeatures(): void {
435
439
  const anchor = (event.target as Element)?.closest('a');
436
440
  if (anchor) {
437
441
  const href = anchor.href;
438
- const match = href.match(didUrlRegex);
439
- if (match) {
440
- const did = match[1];
441
- const path = match[2];
442
+ const parsed = parseDrlUrl(href);
443
+ if (parsed) {
444
+ const did = parsed[0];
445
+ const path = parsed[1];
442
446
  const openAsTab = anchor.target === '_blank';
443
447
  event.preventDefault();
444
448
  try {
@@ -487,7 +491,7 @@ function addLinkFeatures(): void {
487
491
  (event.pointerType === 'touch' && event.isPrimary)
488
492
  ) {
489
493
  resetContextMenuTarget();
490
- if (target?.src?.match(didUrlRegex)) {
494
+ if (target?.src && parseDrlUrl(target.src)) {
491
495
  contextMenuTarget = target;
492
496
  target.__src__ = target.src;
493
497
  const drl = target.src
@@ -576,12 +580,11 @@ export function activatePolyfills(options: ActivatePolyfillsOptions = {}): void
576
580
  }
577
581
  if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {
578
582
  if (options.injectStyles !== false) {
579
- if (document.readyState !== 'loading') {injectElements();}
580
- else {
583
+ if (document.readyState === 'loading') {
581
584
  document.addEventListener('DOMContentLoaded', injectElements, {
582
585
  once: true,
583
586
  });
584
- }
587
+ } else {injectElements();}
585
588
  }
586
589
  if (options.links !== false) {addLinkFeatures();}
587
590
  }