@seedprotocol/arweave 0.6.7 → 0.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,26 +1,26 @@
1
- import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as ee, n as c, o as te, p as l, r as u, s as d, t as ne, u as re } from "./queries-BLXr3teJ.js";
1
+ import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as ee, p as u, r as d, s as f, t as te, u as ne } from "./queries-BwzzEwk1.js";
2
2
  //#region src/easAttestationUrl.ts
3
- var ie = /(^|\.)easscan\.(org|xyz)$/i;
4
- function f(e) {
3
+ var re = /(^|\.)easscan\.(org|xyz)$/i;
4
+ function p(e) {
5
5
  let t = e.trim();
6
6
  if (!t) return !1;
7
7
  try {
8
8
  let e = new URL(t);
9
- return ie.test(e.hostname) ? /\/attestation\/view\//i.test(e.pathname) : !1;
9
+ return re.test(e.hostname) ? /\/attestation\/view\//i.test(e.pathname) : !1;
10
10
  } catch {
11
11
  return !1;
12
12
  }
13
13
  }
14
14
  //#endregion
15
15
  //#region src/relationSeedRef.ts
16
- function ae(e) {
16
+ function ie(e) {
17
17
  let t = {
18
18
  localId: void 0,
19
19
  uid: void 0
20
20
  };
21
21
  return e ? (e.length === 10 && (t.localId = e), e.startsWith("0x") && e.length === 66 && (t.uid = e), t) : t;
22
22
  }
23
- function p(e) {
23
+ function ae(e) {
24
24
  if (e != null) {
25
25
  if (typeof e == "string") {
26
26
  let t = e.trim();
@@ -34,8 +34,8 @@ function p(e) {
34
34
  }
35
35
  }
36
36
  var oe = /^[a-zA-Z0-9_-]{10,21}$/;
37
- function m(e) {
38
- let t = ae(e);
37
+ function se(e) {
38
+ let t = ie(e);
39
39
  return t.localId || t.uid ? {
40
40
  seedLocalId: t.localId,
41
41
  seedUid: t.uid
@@ -43,25 +43,25 @@ function m(e) {
43
43
  }
44
44
  //#endregion
45
45
  //#region src/mediaRef.ts
46
- var se = /^[a-zA-Z0-9_-]{43}$/;
47
- function ce(e) {
46
+ var ce = /^[a-zA-Z0-9_-]{43}$/;
47
+ function le(e) {
48
48
  return e == null ? "" : typeof e == "string" ? e.trim() : String(e).trim();
49
49
  }
50
- function h(e, t) {
50
+ function m(e, t) {
51
51
  let n = e[t];
52
52
  return n == null ? "" : typeof n == "string" ? n.trim() : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
53
53
  }
54
- function le(e) {
54
+ function ue(e) {
55
55
  let t = e.trim();
56
56
  if (!t) return t;
57
57
  try {
58
- let e = p(JSON.parse(t));
58
+ let e = ae(JSON.parse(t));
59
59
  if (e) return e;
60
60
  } catch {}
61
61
  return t;
62
62
  }
63
- function g(e, t) {
64
- let n = ce(e);
63
+ function h(e, t) {
64
+ let n = le(e);
65
65
  if (!n) return { kind: "empty" };
66
66
  let r = t?.treatAs;
67
67
  if (r === "url") return {
@@ -79,14 +79,14 @@ function g(e, t) {
79
79
  kind: "unknown",
80
80
  raw: n
81
81
  };
82
- if (n.startsWith("http://") || n.startsWith("https://") || n.startsWith("blob:") || n.startsWith("data:")) return f(n) ? {
82
+ if (n.startsWith("http://") || n.startsWith("https://") || n.startsWith("blob:") || n.startsWith("data:")) return p(n) ? {
83
83
  kind: "nonMediaUrl",
84
84
  href: n
85
85
  } : {
86
86
  kind: "url",
87
87
  href: n
88
88
  };
89
- let i = le(n), a = m(i);
89
+ let i = ue(n), a = se(i);
90
90
  return a.seedUid ? {
91
91
  kind: "seedUid",
92
92
  uid: a.seedUid
@@ -96,7 +96,7 @@ function g(e, t) {
96
96
  } : i.startsWith("0x") && i.length === 66 ? {
97
97
  kind: "seedUid",
98
98
  uid: i
99
- } : se.test(i) && !i.startsWith("0x") ? {
99
+ } : ce.test(i) && !i.startsWith("0x") ? {
100
100
  kind: "arweaveTxId",
101
101
  txId: i
102
102
  } : {
@@ -104,25 +104,25 @@ function g(e, t) {
104
104
  raw: n
105
105
  };
106
106
  }
107
- function _(e, t) {
108
- let n = h(e, t);
107
+ function g(e, t) {
108
+ let n = m(e, t);
109
109
  if (n) return n;
110
110
  let r = t.replace(/[A-Z]/g, (e) => `_${e.toLowerCase()}`);
111
111
  if (r !== t) {
112
- let t = h(e, r);
112
+ let t = m(e, r);
113
113
  if (t) return t;
114
114
  }
115
115
  let i = t.split("_");
116
116
  if (i.length > 1) {
117
- let t = h(e, i[0] + i.slice(1).map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(""));
117
+ let t = m(e, i[0] + i.slice(1).map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(""));
118
118
  if (t) return t;
119
119
  }
120
120
  return "";
121
121
  }
122
- function ue(e, t) {
122
+ function de(e, t) {
123
123
  let n = {};
124
124
  for (let [r, i] of Object.entries(t)) {
125
- let t = _(e, r);
125
+ let t = g(e, r);
126
126
  if (!t) {
127
127
  n[r] = void 0;
128
128
  continue;
@@ -141,7 +141,7 @@ function ue(e, t) {
141
141
  };
142
142
  continue;
143
143
  }
144
- let a = g(t, { treatAs: i.treatAs });
144
+ let a = h(t, { treatAs: i.treatAs });
145
145
  n[r] = {
146
146
  role: i.role,
147
147
  raw: t,
@@ -150,12 +150,12 @@ function ue(e, t) {
150
150
  }
151
151
  return n;
152
152
  }
153
- function de(e) {
154
- return `${u.getBaseUrl()}/${e}`;
153
+ function fe(e) {
154
+ return `${d.getBaseUrl()}/${e}`;
155
155
  }
156
156
  //#endregion
157
157
  //#region src/resolveSeedRssImageRelationRef.ts
158
- var fe = [
158
+ var _ = [
159
159
  "featureImage",
160
160
  "feature_image",
161
161
  "image",
@@ -187,7 +187,7 @@ function v(e, ...t) {
187
187
  function y(e) {
188
188
  let t = e.trim();
189
189
  if (t && !t.startsWith("0x")) try {
190
- return `${u.getBaseUrl()}/${t}`;
190
+ return `${d.getBaseUrl()}/${t}`;
191
191
  } catch {
192
192
  return;
193
193
  }
@@ -199,12 +199,12 @@ function me(e) {
199
199
  if (e) return e;
200
200
  }
201
201
  let n = e.arweaveUrl?.trim();
202
- if (n && !f(n)) return n;
202
+ if (n && !p(n)) return n;
203
203
  }
204
204
  function he(e) {
205
205
  let t = e.trim();
206
- if (!t || f(t)) return;
207
- let n = g(t);
206
+ if (!t || p(t)) return;
207
+ let n = h(t);
208
208
  switch (n.kind) {
209
209
  case "url": return { mediaUrl: n.href };
210
210
  case "arweaveTxId": {
@@ -228,10 +228,10 @@ function ge(e) {
228
228
  let t = v(e, "storageTransactionId", "storage_transaction_id"), n = v(e, "arweaveUrl", "arweave_url"), r = v(e, "seedUid", "SeedUid", "seed_uid"), i = v(e, "link", "Link"), a = me({
229
229
  storageTransactionId: t,
230
230
  arweaveUrl: n
231
- }) ?? (i && !f(i) ? i : void 0);
231
+ }) ?? (i && !p(i) ? i : void 0);
232
232
  if (t || n || r || a) return {
233
233
  ...t ? { storageTransactionId: t } : {},
234
- ...n && !f(n) ? { arweaveUrl: n } : {},
234
+ ...n && !p(n) ? { arweaveUrl: n } : {},
235
235
  ...r ? { seedUid: r } : {},
236
236
  ...a ? { mediaUrl: a } : {}
237
237
  };
@@ -249,7 +249,7 @@ function b(e) {
249
249
  if (typeof e == "object") return ge(e);
250
250
  }
251
251
  }
252
- function _e(e, t = fe) {
252
+ function _e(e, t = _) {
253
253
  for (let n of t) {
254
254
  if (!(n in e)) continue;
255
255
  let t = b(e[n]);
@@ -326,10 +326,10 @@ function R() {
326
326
  F = null, I = null;
327
327
  }
328
328
  function Ce() {
329
- R(), L = null, k(), u.resetReadGatewaySelectionStateForTests(), u.isReadGatewayLocked() || u.setPreferredReadGateway(d);
329
+ R(), L = null, k(), d.resetReadGatewaySelectionStateForTests(), d.isReadGatewayLocked() || d.setPreferredReadGateway(f);
330
330
  }
331
331
  function we() {
332
- return u.isReadGatewayLocked() ? !0 : F && Date.now() < F.expiresAt ? F.healthy : L != null;
332
+ return d.isReadGatewayLocked() ? !0 : F && Date.now() < F.expiresAt ? F.healthy : L != null;
333
333
  }
334
334
  function Te() {
335
335
  return L;
@@ -374,27 +374,27 @@ async function B(e, t = "https", n) {
374
374
  return null;
375
375
  }
376
376
  function Ee() {
377
- return r(u.getHost());
377
+ return r(d.getHost());
378
378
  }
379
- async function De(e) {
380
- if (u.isReadGatewayLocked()) return u.getHost();
379
+ async function V(e) {
380
+ if (d.isReadGatewayLocked()) return d.getHost();
381
381
  if (F && Date.now() < F.expiresAt) return F.host;
382
382
  if (I) return I;
383
383
  I = (async () => {
384
- let t = await B(Ee(), u.getProtocol(), e);
385
- if (u.isReadGatewayLocked()) F = {
386
- host: u.getHost(),
384
+ let t = await B(Ee(), d.getProtocol(), e);
385
+ if (d.isReadGatewayLocked()) F = {
386
+ host: d.getHost(),
387
387
  healthy: !0,
388
388
  expiresAt: Date.now() + P
389
389
  };
390
- else if (t) u.applyProbedReadGateway(t), L = t, F = {
390
+ else if (t) d.applyProbedReadGateway(t), L = t, F = {
391
391
  host: t,
392
392
  healthy: !0,
393
393
  expiresAt: Date.now() + P
394
394
  };
395
395
  else {
396
- let e = L ?? u.getHost();
397
- L && u.getHost() !== L && u.applyProbedReadGateway(L), F = {
396
+ let e = L ?? d.getHost();
397
+ L && d.getHost() !== L && d.applyProbedReadGateway(L), F = {
398
398
  host: e,
399
399
  healthy: !1,
400
400
  expiresAt: Date.now() + xe
@@ -410,15 +410,15 @@ async function De(e) {
410
410
  }
411
411
  //#endregion
412
412
  //#region src/ArweaveClient/uploadApiVerification.ts
413
- function V(e) {
413
+ function H(e) {
414
414
  return e.trim().replace(/\/+$/, "");
415
415
  }
416
- function H(e, t) {
417
- return `${V(e)}/api/upload/arweave/data/${encodeURIComponent(t)}`;
416
+ function U(e, t) {
417
+ return `${H(e)}/api/upload/arweave/data/${encodeURIComponent(t)}`;
418
418
  }
419
- var Oe = 45e3;
420
- async function ke(e, t, n) {
421
- let r = H(e, t), i = n?.timeoutMs ?? Oe, a = new AbortController(), o = setTimeout(() => a.abort(), i);
419
+ var De = 45e3;
420
+ async function Oe(e, t, n) {
421
+ let r = U(e, t), i = n?.timeoutMs ?? De, a = new AbortController(), o = setTimeout(() => a.abort(), i);
422
422
  try {
423
423
  let e = await fetch(r, { signal: a.signal });
424
424
  return clearTimeout(o), e.status === 404 ? {
@@ -443,16 +443,16 @@ async function ke(e, t, n) {
443
443
  }
444
444
  //#endregion
445
445
  //#region src/ArweaveClient/arweaveL1UploadApi.ts
446
- var Ae = "\n query ArweaveGatewayTransaction($id: String!) {\n transaction(id: $id) {\n id\n bundledIn {\n id\n }\n block {\n height\n timestamp\n }\n }\n }\n";
447
- function U(e, t) {
448
- return `${V(e)}/api/upload/arweave/status/${encodeURIComponent(t)}`;
446
+ var ke = "\n query ArweaveGatewayTransaction($id: String!) {\n transaction(id: $id) {\n id\n bundledIn {\n id\n }\n block {\n height\n timestamp\n }\n }\n }\n";
447
+ function W(e, t) {
448
+ return `${H(e)}/api/upload/arweave/status/${encodeURIComponent(t)}`;
449
449
  }
450
- function je(e) {
450
+ function Ae(e) {
451
451
  let t = e.l1;
452
452
  return t ? t.meetsMinConfirmations === !0 || t.confirmed === !0 : !1;
453
453
  }
454
- async function Me(e, t) {
455
- let n = U(e, t);
454
+ async function je(e, t) {
455
+ let n = W(e, t);
456
456
  try {
457
457
  let e = await fetch(n);
458
458
  if (!e.ok) return null;
@@ -462,7 +462,7 @@ async function Me(e, t) {
462
462
  return null;
463
463
  }
464
464
  }
465
- async function W(e, t, n) {
465
+ async function Me(e, t, n) {
466
466
  let r = e.trim();
467
467
  if (!r) return null;
468
468
  try {
@@ -470,7 +470,7 @@ async function W(e, t, n) {
470
470
  method: "POST",
471
471
  headers: { "Content-Type": "application/json" },
472
472
  body: JSON.stringify({
473
- query: Ae,
473
+ query: ke,
474
474
  variables: { id: t }
475
475
  }),
476
476
  signal: n?.signal
@@ -495,35 +495,26 @@ async function W(e, t, n) {
495
495
  }
496
496
  }
497
497
  async function Ne(e, t, n) {
498
- let i = l(), a = e?.trim(), o = "https", s = null;
498
+ let i = u(), a = e?.trim(), o = "https", s = null;
499
499
  if (a) try {
500
500
  let e = new URL(a);
501
501
  o = e.protocol === "http:" ? "http" : "https", s = e.hostname || null;
502
502
  } catch {
503
503
  s = null;
504
504
  }
505
- let ee = s && s.length > 0 ? r(s) : [...i], c = n?.signal;
506
- for (let e of ee) {
507
- if (!await z(`${o}://${e}`, c ?? void 0)) continue;
508
- let r = await W(`${o}://${e}/graphql`, t, n);
505
+ let c = s && s.length > 0 ? r(s) : [...i], l = n?.signal;
506
+ for (let e of c) {
507
+ if (!await z(`${o}://${e}`, l ?? void 0)) continue;
508
+ let r = await Me(`${o}://${e}/graphql`, t, n);
509
509
  if (r !== null) return r;
510
510
  }
511
511
  return null;
512
512
  }
513
513
  //#endregion
514
- //#region src/gateway/gatewayState.ts
515
- var G = null;
516
- function Pe() {
517
- return G;
518
- }
519
- function Fe(e) {
520
- G = e;
521
- }
522
- //#endregion
523
514
  //#region src/gateway/resolveSeedGatewayEndpoints.ts
524
- var K = 18e4, q = null, J = /* @__PURE__ */ new Map();
525
- function Y() {
526
- q = null, J.clear();
515
+ var Pe = 18e4, G = null, K = /* @__PURE__ */ new Map();
516
+ function Fe() {
517
+ G = null, K.clear();
527
518
  }
528
519
  function Ie(e) {
529
520
  let t = (e ?? "ar.seedprotocol.io").trim();
@@ -538,7 +529,7 @@ function Ie(e) {
538
529
  host: t.replace(/\/$/, "")
539
530
  };
540
531
  }
541
- function X(e) {
532
+ function Le(e) {
542
533
  let t = e.hyper?.localSidecarHost?.trim() || "127.0.0.1", n = e.hyper?.localSidecarPort ?? 1984;
543
534
  return {
544
535
  host: n === 80 || n === 443 ? t : `${t}:${n}`,
@@ -546,7 +537,7 @@ function X(e) {
546
537
  baseUrl: `http://${t}:${n}`
547
538
  };
548
539
  }
549
- function Le() {
540
+ function Re() {
550
541
  try {
551
542
  let e = globalThis.window?.location?.origin;
552
543
  return typeof e == "string" && e.length > 0 ? e.replace(/\/$/, "") : void 0;
@@ -554,36 +545,36 @@ function Le() {
554
545
  return;
555
546
  }
556
547
  }
557
- function Z(e, t) {
548
+ function q(e, t) {
558
549
  let n = e.trim();
559
550
  if (!n) throw Error("proxyBaseUrl is empty");
560
551
  if (n.startsWith("http://") || n.startsWith("https://")) return n.replace(/\/$/, "");
561
552
  if (n.startsWith("/")) {
562
- let r = (t?.origin?.trim() || Le() || "").replace(/\/$/, "");
553
+ let r = (t?.origin?.trim() || Re() || "").replace(/\/$/, "");
563
554
  if (!r) throw Error(`Relative proxyBaseUrl "${e}" requires a browser origin or resolve options.origin`);
564
555
  return `${r}${n.replace(/\/$/, "")}`;
565
556
  }
566
557
  return `https://${n.replace(/\/$/, "")}`;
567
558
  }
568
- async function Q(e, t, n) {
559
+ async function J(e, t, n) {
569
560
  let r = Date.now();
570
561
  if (t === "sidecar") {
571
- if (q && r < q.expiresAt) return q.healthy;
562
+ if (G && r < G.expiresAt) return G.healthy;
572
563
  let t = await z(e, n);
573
- return q = {
564
+ return G = {
574
565
  healthy: t,
575
- expiresAt: r + K
566
+ expiresAt: r + Pe
576
567
  }, t;
577
568
  }
578
- let i = J.get(t);
569
+ let i = K.get(t);
579
570
  if (i && r < i.expiresAt) return i.healthy;
580
571
  let a = await z(e, n);
581
- return J.set(t, {
572
+ return K.set(t, {
582
573
  healthy: a,
583
- expiresAt: r + K
574
+ expiresAt: r + Pe
584
575
  }), a;
585
576
  }
586
- function $(e) {
577
+ function ze(e) {
587
578
  let { host: t, protocol: n } = Ie(e.arweaveDomain), r = `${n}://${t}`, i = e.uploadApiBaseUrl?.trim() || r;
588
579
  return {
589
580
  mode: e.transport ?? "http-gateway",
@@ -596,8 +587,8 @@ function $(e) {
596
587
  gatewayHyperKey: e.hyper?.gatewayHyperKey?.trim() || void 0
597
588
  };
598
589
  }
599
- function Re(e) {
600
- let t = X(e), n = e.hyper?.gatewayHyperKey?.trim();
590
+ function Be(e) {
591
+ let t = Le(e), n = e.hyper?.gatewayHyperKey?.trim();
601
592
  return {
602
593
  mode: "hyper",
603
594
  arweaveHost: t.host,
@@ -609,7 +600,7 @@ function Re(e) {
609
600
  gatewayHyperKey: n || void 0
610
601
  };
611
602
  }
612
- function ze(e, t) {
603
+ function Ve(e, t) {
613
604
  let n = new URL(t), r = n.protocol === "http:" ? "http" : "https", i = n.pathname.replace(/\/$/, ""), a = i ? `${n.host}${i}` : n.host, o = `${r}://${a}`;
614
605
  return {
615
606
  mode: e.transport ?? "http-gateway",
@@ -623,53 +614,53 @@ function ze(e, t) {
623
614
  proxyBaseUrl: t
624
615
  };
625
616
  }
626
- async function Be(e, t) {
617
+ async function He(e, t) {
627
618
  let n = e.proxyBaseUrl?.trim();
628
619
  if (!n) return null;
629
- let r = Z(n, { origin: t?.origin });
630
- return e.hyper?.probeSidecar !== !1 && !await Q(r, `proxy:${r}`, t?.signal) ? null : ze(e, r);
620
+ let r = q(n, { origin: t?.origin });
621
+ return e.hyper?.probeSidecar !== !1 && !await J(r, `proxy:${r}`, t?.signal) ? null : Ve(e, r);
631
622
  }
632
- async function Ve(e, t) {
633
- t?.forceSidecarProbe && Y();
623
+ async function Ue(e, t) {
624
+ t?.forceSidecarProbe && Fe();
634
625
  let n = e.transport ?? "http-gateway", r = e.hyper?.probeSidecar !== !1;
635
626
  if (n === "http-gateway") {
636
627
  if (e.proxyBaseUrl?.trim()) {
637
- let i = Z(e.proxyBaseUrl, { origin: t?.origin });
638
- if (r && !await Q(i, `proxy:${i}`, t?.signal)) throw Error(`Gateway HTTP proxy not reachable at ${i}. Ensure your Node route runs createGatewayProxy (or equivalent) and mounts at proxyBaseUrl.`);
639
- return ze({
628
+ let i = q(e.proxyBaseUrl, { origin: t?.origin });
629
+ if (r && !await J(i, `proxy:${i}`, t?.signal)) throw Error(`Gateway HTTP proxy not reachable at ${i}. Ensure your Node route runs createGatewayProxy (or equivalent) and mounts at proxyBaseUrl.`);
630
+ return Ve({
640
631
  ...e,
641
632
  transport: n
642
633
  }, i);
643
634
  }
644
- return $({
635
+ return ze({
645
636
  ...e,
646
637
  transport: n
647
638
  });
648
639
  }
649
640
  if (n === "hyper") {
650
- let i = await Be({
641
+ let i = await He({
651
642
  ...e,
652
643
  transport: n
653
644
  }, t);
654
645
  if (i) return i;
655
- let a = Re({
646
+ let a = Be({
656
647
  ...e,
657
648
  transport: n
658
649
  });
659
- if (r && !await Q(a.arweaveBaseUrl, "sidecar", t?.signal)) throw Error(`Gateway Hyper sidecar not reachable at ${a.arweaveBaseUrl}. Run: seed gateway tunnel connect <operator-z32-key> — or configure gateway.proxyBaseUrl for an app-server proxy.`);
650
+ if (r && !await J(a.arweaveBaseUrl, "sidecar", t?.signal)) throw Error(`Gateway Hyper sidecar not reachable at ${a.arweaveBaseUrl}. Run: seed gateway tunnel connect <operator-z32-key> — or configure gateway.proxyBaseUrl for an app-server proxy.`);
660
651
  return a;
661
652
  }
662
- let i = await Be({
653
+ let i = await He({
663
654
  ...e,
664
655
  transport: n
665
656
  }, t);
666
657
  if (i) return i;
667
- let a = X(e);
668
- return r && await Q(a.baseUrl, "sidecar", t?.signal) ? Re({
658
+ let a = Le(e);
659
+ return r && await J(a.baseUrl, "sidecar", t?.signal) ? Be({
669
660
  ...e,
670
661
  transport: "hyper"
671
662
  }) : {
672
- ...$({
663
+ ...ze({
673
664
  ...e,
674
665
  transport: "http-gateway"
675
666
  }),
@@ -677,18 +668,48 @@ async function Ve(e, t) {
677
668
  activePath: "hybrid-fallback-http"
678
669
  };
679
670
  }
680
- function He(e, t) {
671
+ function We(e, t) {
681
672
  return e.activePath === "hyper-sidecar" || e.activePath === "http-proxy" ? [e.arweaveHost] : r(e.arweaveHost);
682
673
  }
683
674
  //#endregion
675
+ //#region src/gateway/gatewayState.ts
676
+ var Ge = null;
677
+ function Y() {
678
+ return Ge;
679
+ }
680
+ function Ke(e) {
681
+ Ge = e;
682
+ }
683
+ var qe = [];
684
+ function X() {
685
+ return qe;
686
+ }
687
+ function Je(e) {
688
+ let t = [], n = /* @__PURE__ */ new Set();
689
+ for (let r of e) {
690
+ let e = r?.trim();
691
+ if (!e) continue;
692
+ let i;
693
+ try {
694
+ let t = new URL(/^https?:\/\//i.test(e) ? e : q(e));
695
+ i = `${t.origin}${t.pathname.replace(/\/+$/, "")}`;
696
+ } catch {
697
+ continue;
698
+ }
699
+ n.has(i) || (n.add(i), t.push(i));
700
+ }
701
+ qe = t;
702
+ }
703
+ //#endregion
684
704
  //#region src/gateway/seedGatewayConfig.ts
685
- function Ue(e) {
705
+ function Ye(e) {
686
706
  let t = e.gateway ?? {};
687
707
  return {
688
708
  transport: t.transport,
689
709
  arweaveDomain: e.arweaveDomain ?? t.arweaveDomain,
690
710
  uploadApiBaseUrl: e.uploadApiBaseUrl ?? t.uploadApiBaseUrl,
691
711
  proxyBaseUrl: t.proxyBaseUrl?.trim() || void 0,
712
+ preferredReadBaseUrls: t.preferredReadBaseUrls,
692
713
  hyper: {
693
714
  gatewayHyperKey: t.hyper?.gatewayHyperKey?.trim() || t.gatewayHyperKey?.trim() || void 0,
694
715
  localSidecarHost: t.hyper?.localSidecarHost ?? t.localSidecarHost,
@@ -697,7 +718,7 @@ function Ue(e) {
697
718
  }
698
719
  };
699
720
  }
700
- function We(e) {
721
+ function Xe(e) {
701
722
  return {
702
723
  transport: e.gatewayTransport,
703
724
  arweaveDomain: e.arweaveDomain,
@@ -711,6 +732,63 @@ function We(e) {
711
732
  };
712
733
  }
713
734
  //#endregion
714
- export { o as ARWEAVE_HOST_ENV_KEYS, u as ArweaveClient, u as BaseArweaveClient, e as DEFAULT_ARWEAVE_GATEWAYS, te as DEFAULT_ARWEAVE_GRAPHQL_URL, d as DEFAULT_ARWEAVE_HOST, t as DEFAULT_GATEWAY_SIDECAR_HOST, s as DEFAULT_GATEWAY_SIDECAR_PORT, re as DEFAULT_SEED_FEED_HYPER_KEY, n as DEFAULT_SEED_GATEWAY_HYPER_KEY, ne as GET_ARWEAVE_TRANSACTIONS, c as GET_TRANSACTION_TAGS, fe as SEED_RSS_IMAGE_RELATION_FIELD_KEYS, j as beginGatewayHostHalfOpenProbe, g as classifyMediaRef, ve as configureGatewayCircuitBreaker, De as ensureReadGatewaySelected, r as getArweaveReadGatewayHostsForPrimary, Me as getArweaveUploadStatus, de as getArweaveUrlForTransaction, l as getDefaultArweaveReadGatewayHostsOrdered, _ as getFeedItemStringField, ye as getGatewayHostCircuitState, Te as getLastHealthyReadGatewayHost, He as getReadGatewayHostsForConfig, Pe as getResolvedSeedGatewayEndpoints, H as getUploadApiArweaveDataUrl, U as getUploadApiArweaveStatusUrl, ke as getUploadPipelineTransactionStatus, R as invalidateReadGatewayCache, Y as invalidateSidecarProbeCache, je as isArweaveL1AnchoringComplete, f as isEasAttestationExplorerUrl, A as isGatewayHostCircuitOpen, ee as isKnownArweaveGatewayHostname, we as isReadGatewayKnownHealthy, be as listOpenGatewayCircuitHosts, a as mergePrimaryHostWithDefaults, ue as normalizeFeedItemFields, E as normalizeGatewayHostKey, p as normalizeRelationPropertyValue, V as normalizeUploadApiBaseUrl, z as probeGateway, W as queryArweaveGatewayTransaction, Ne as queryArweaveGatewayTransactionWithFallback, N as recordGatewayHostFailure, M as recordGatewayHostSuccess, Ce as resetArweaveReadGatewayForTests, k as resetGatewayCircuitBreakerForTests, i as resolveArweaveHostFromEnv, Z as resolveProxyBaseUrl, Ve as resolveSeedGatewayEndpoints, m as resolveSeedIdsFromRefString, _e as resolveSeedRssImageRelationFromItem, b as resolveSeedRssImageRelationRef, We as seedGatewayConfigFromClientContext, Ue as seedGatewayConfigFromSeedConfig, B as selectFirstHealthyReadGateway, Fe as setResolvedSeedGatewayEndpoints };
735
+ //#region src/gateway/readBaseUrls.ts
736
+ var Ze = 1e4;
737
+ function Z(e, t, n) {
738
+ let r = n.trim().replace(/\/$/, "");
739
+ r && !t.has(r) && (t.add(r), e.push(r));
740
+ }
741
+ function Q(e) {
742
+ let t = Y(), n = d.getProtocol(), i = t ? We(t) : e?.fallbackHosts?.length ? [...e.fallbackHosts] : r(d.getHost()), a = [], o = /* @__PURE__ */ new Set();
743
+ for (let e of i) {
744
+ let t = e.trim();
745
+ t && Z(a, o, /^https?:\/\//i.test(t) ? t : `${n}://${t}`);
746
+ }
747
+ return a;
748
+ }
749
+ function Qe(e) {
750
+ let t = [], n = /* @__PURE__ */ new Set();
751
+ for (let e of X()) Z(t, n, e);
752
+ for (let r of Q(e)) Z(t, n, r);
753
+ return t;
754
+ }
755
+ async function $e() {
756
+ try {
757
+ let e = Y();
758
+ if (e && (e.activePath === "hyper-sidecar" || e.activePath === "http-proxy")) return;
759
+ await V();
760
+ } catch {}
761
+ }
762
+ async function $(e, t, n) {
763
+ let r = new AbortController(), i = setTimeout(() => r.abort(), n?.timeoutMs ?? 1e4);
764
+ try {
765
+ let n = await fetch(`${e.replace(/\/$/, "")}/raw/${encodeURIComponent(t)}`, {
766
+ method: "GET",
767
+ credentials: "omit",
768
+ signal: r.signal
769
+ });
770
+ return n.ok ? n : void 0;
771
+ } catch {
772
+ return;
773
+ } finally {
774
+ clearTimeout(i);
775
+ }
776
+ }
777
+ async function et(e, t) {
778
+ let n = /* @__PURE__ */ new Set(), r = async (r) => {
779
+ for (let i of r) {
780
+ if (n.has(i)) continue;
781
+ n.add(i);
782
+ let r = await $(i, e, t);
783
+ if (r) try {
784
+ let e = await r.text();
785
+ if (e.length > 0) return e;
786
+ } catch {}
787
+ }
788
+ };
789
+ return await r(X()) || (await $e(), r(Q(t)));
790
+ }
791
+ //#endregion
792
+ export { o as ARWEAVE_HOST_ENV_KEYS, d as ArweaveClient, d as BaseArweaveClient, e as DEFAULT_ARWEAVE_GATEWAYS, ee as DEFAULT_ARWEAVE_GRAPHQL_URL, f as DEFAULT_ARWEAVE_HOST, Ze as DEFAULT_ARWEAVE_RAW_READ_TIMEOUT_MS, t as DEFAULT_GATEWAY_SIDECAR_HOST, s as DEFAULT_GATEWAY_SIDECAR_PORT, ne as DEFAULT_SEED_FEED_HYPER_KEY, n as DEFAULT_SEED_GATEWAY_HYPER_KEY, te as GET_ARWEAVE_TRANSACTIONS, l as GET_TRANSACTION_TAGS, _ as SEED_RSS_IMAGE_RELATION_FIELD_KEYS, j as beginGatewayHostHalfOpenProbe, h as classifyMediaRef, ve as configureGatewayCircuitBreaker, $e as ensureArweaveReadGatewayForFallback, V as ensureReadGatewaySelected, $ as fetchArweaveRawFromBaseUrl, et as fetchArweaveRawTextAcrossGateways, Qe as getArweaveReadBaseUrls, r as getArweaveReadGatewayHostsForPrimary, je as getArweaveUploadStatus, fe as getArweaveUrlForTransaction, u as getDefaultArweaveReadGatewayHostsOrdered, g as getFeedItemStringField, ye as getGatewayHostCircuitState, Te as getLastHealthyReadGatewayHost, X as getPreferredArweaveReadBaseUrls, We as getReadGatewayHostsForConfig, Q as getResolvedArweaveReadBaseUrls, Y as getResolvedSeedGatewayEndpoints, U as getUploadApiArweaveDataUrl, W as getUploadApiArweaveStatusUrl, Oe as getUploadPipelineTransactionStatus, R as invalidateReadGatewayCache, Fe as invalidateSidecarProbeCache, Ae as isArweaveL1AnchoringComplete, p as isEasAttestationExplorerUrl, A as isGatewayHostCircuitOpen, c as isKnownArweaveGatewayHostname, we as isReadGatewayKnownHealthy, be as listOpenGatewayCircuitHosts, a as mergePrimaryHostWithDefaults, de as normalizeFeedItemFields, E as normalizeGatewayHostKey, ae as normalizeRelationPropertyValue, H as normalizeUploadApiBaseUrl, z as probeGateway, Me as queryArweaveGatewayTransaction, Ne as queryArweaveGatewayTransactionWithFallback, N as recordGatewayHostFailure, M as recordGatewayHostSuccess, Ce as resetArweaveReadGatewayForTests, k as resetGatewayCircuitBreakerForTests, i as resolveArweaveHostFromEnv, q as resolveProxyBaseUrl, Ue as resolveSeedGatewayEndpoints, se as resolveSeedIdsFromRefString, _e as resolveSeedRssImageRelationFromItem, b as resolveSeedRssImageRelationRef, Xe as seedGatewayConfigFromClientContext, Ye as seedGatewayConfigFromSeedConfig, B as selectFirstHealthyReadGateway, Je as setPreferredArweaveReadBaseUrls, Ke as setResolvedSeedGatewayEndpoints };
715
793
 
716
794
  //# sourceMappingURL=index.js.map