@seedprotocol/arweave 0.7.3-next.613.g79a8dfd → 0.7.4-next.711.gce2b766
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/ArweaveClient/BaseArweaveClient.d.ts +7 -0
- package/dist/ArweaveClient/BaseArweaveClient.d.ts.map +1 -1
- package/dist/ArweaveClient/transactionTagsByIds.d.ts +20 -0
- package/dist/ArweaveClient/transactionTagsByIds.d.ts.map +1 -0
- package/dist/content/arweaveContent.d.ts +45 -0
- package/dist/content/arweaveContent.d.ts.map +1 -0
- package/dist/gateway/readBaseUrls.d.ts +1 -0
- package/dist/gateway/readBaseUrls.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -128
- package/dist/index.js.map +1 -1
- package/dist/node.js +1 -1
- package/dist/{queries-C6DuZ2GV.js → queries-CYWn1SYL.js} +48 -21
- package/dist/queries-CYWn1SYL.js.map +1 -0
- package/package.json +1 -1
- package/dist/queries-C6DuZ2GV.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as e, a as t, b as n, c as r, d as i, f as a, g as o, h as s, i as c, l, m as ee, n as te, o as u, p as ne, r as d, s as re, t as ie, u as ae, v as f, x as oe, y as se } from "./queries-CYWn1SYL.js";
|
|
2
2
|
//#region src/easAttestationUrl.ts
|
|
3
|
-
var
|
|
3
|
+
var ce = /(^|\.)easscan\.(org|xyz)$/i;
|
|
4
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
|
|
9
|
+
return ce.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
|
|
16
|
+
function le(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;
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function m(e) {
|
|
24
24
|
if (e != null) {
|
|
25
25
|
if (typeof e == "string") {
|
|
26
26
|
let t = e.trim();
|
|
@@ -33,35 +33,35 @@ function ae(e) {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
var
|
|
37
|
-
function
|
|
38
|
-
let t =
|
|
36
|
+
var ue = /^[a-zA-Z0-9_-]{10,21}$/;
|
|
37
|
+
function de(e) {
|
|
38
|
+
let t = le(e);
|
|
39
39
|
return t.localId || t.uid ? {
|
|
40
40
|
seedLocalId: t.localId,
|
|
41
41
|
seedUid: t.uid
|
|
42
|
-
} :
|
|
42
|
+
} : ue.test(e) && !e.startsWith("0x") ? { seedLocalId: e } : {};
|
|
43
43
|
}
|
|
44
44
|
//#endregion
|
|
45
45
|
//#region src/mediaRef.ts
|
|
46
|
-
var
|
|
47
|
-
function
|
|
46
|
+
var fe = /^[a-zA-Z0-9_-]{43}$/;
|
|
47
|
+
function pe(e) {
|
|
48
48
|
return e == null ? "" : typeof e == "string" ? e.trim() : String(e).trim();
|
|
49
49
|
}
|
|
50
|
-
function
|
|
50
|
+
function h(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
|
|
54
|
+
function me(e) {
|
|
55
55
|
let t = e.trim();
|
|
56
56
|
if (!t) return t;
|
|
57
57
|
try {
|
|
58
|
-
let e =
|
|
58
|
+
let e = m(JSON.parse(t));
|
|
59
59
|
if (e) return e;
|
|
60
60
|
} catch {}
|
|
61
61
|
return t;
|
|
62
62
|
}
|
|
63
|
-
function
|
|
64
|
-
let n =
|
|
63
|
+
function g(e, t) {
|
|
64
|
+
let n = pe(e);
|
|
65
65
|
if (!n) return { kind: "empty" };
|
|
66
66
|
let r = t?.treatAs;
|
|
67
67
|
if (r === "url") return {
|
|
@@ -86,7 +86,7 @@ function h(e, t) {
|
|
|
86
86
|
kind: "url",
|
|
87
87
|
href: n
|
|
88
88
|
};
|
|
89
|
-
let i =
|
|
89
|
+
let i = me(n), a = de(i);
|
|
90
90
|
return a.seedUid ? {
|
|
91
91
|
kind: "seedUid",
|
|
92
92
|
uid: a.seedUid
|
|
@@ -96,7 +96,7 @@ function h(e, t) {
|
|
|
96
96
|
} : i.startsWith("0x") && i.length === 66 ? {
|
|
97
97
|
kind: "seedUid",
|
|
98
98
|
uid: i
|
|
99
|
-
} :
|
|
99
|
+
} : fe.test(i) && !i.startsWith("0x") ? {
|
|
100
100
|
kind: "arweaveTxId",
|
|
101
101
|
txId: i
|
|
102
102
|
} : {
|
|
@@ -104,25 +104,25 @@ function h(e, t) {
|
|
|
104
104
|
raw: n
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
-
function
|
|
108
|
-
let n =
|
|
107
|
+
function he(e, t) {
|
|
108
|
+
let n = h(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 =
|
|
112
|
+
let t = h(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 =
|
|
117
|
+
let t = h(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
|
|
122
|
+
function ge(e, t) {
|
|
123
123
|
let n = {};
|
|
124
124
|
for (let [r, i] of Object.entries(t)) {
|
|
125
|
-
let t =
|
|
125
|
+
let t = he(e, r);
|
|
126
126
|
if (!t) {
|
|
127
127
|
n[r] = void 0;
|
|
128
128
|
continue;
|
|
@@ -141,7 +141,7 @@ function de(e, t) {
|
|
|
141
141
|
};
|
|
142
142
|
continue;
|
|
143
143
|
}
|
|
144
|
-
let a =
|
|
144
|
+
let a = g(t, { treatAs: i.treatAs });
|
|
145
145
|
n[r] = {
|
|
146
146
|
role: i.role,
|
|
147
147
|
raw: t,
|
|
@@ -150,12 +150,12 @@ function de(e, t) {
|
|
|
150
150
|
}
|
|
151
151
|
return n;
|
|
152
152
|
}
|
|
153
|
-
function
|
|
153
|
+
function _e(e) {
|
|
154
154
|
return `${d.getBaseUrl()}/${e}`;
|
|
155
155
|
}
|
|
156
156
|
//#endregion
|
|
157
157
|
//#region src/resolveSeedRssImageRelationRef.ts
|
|
158
|
-
var
|
|
158
|
+
var ve = [
|
|
159
159
|
"featureImage",
|
|
160
160
|
"feature_image",
|
|
161
161
|
"image",
|
|
@@ -166,25 +166,25 @@ var _ = [
|
|
|
166
166
|
"thumbnail_image",
|
|
167
167
|
"thumbnailImage"
|
|
168
168
|
];
|
|
169
|
-
function
|
|
169
|
+
function ye(e) {
|
|
170
170
|
return e == null ? "" : typeof e == "string" ? e.trim() : typeof e == "number" || typeof e == "boolean" ? String(e) : "";
|
|
171
171
|
}
|
|
172
|
-
function
|
|
172
|
+
function _(e, ...t) {
|
|
173
173
|
for (let n of t) {
|
|
174
|
-
let t =
|
|
174
|
+
let t = ye(e[n]);
|
|
175
175
|
if (t) return t;
|
|
176
176
|
}
|
|
177
177
|
let n = t.map((e) => e.split(":").pop().toLowerCase());
|
|
178
178
|
for (let [t, r] of Object.entries(e)) {
|
|
179
179
|
let e = (t.includes(":") ? t.split(":").pop() : t).toLowerCase();
|
|
180
180
|
if (n.some((t) => e === t.toLowerCase())) {
|
|
181
|
-
let e =
|
|
181
|
+
let e = ye(r);
|
|
182
182
|
if (e) return e;
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
return "";
|
|
186
186
|
}
|
|
187
|
-
function
|
|
187
|
+
function v(e) {
|
|
188
188
|
let t = e.trim();
|
|
189
189
|
if (t && !t.startsWith("0x")) try {
|
|
190
190
|
return `${d.getBaseUrl()}/${t}`;
|
|
@@ -192,23 +192,23 @@ function y(e) {
|
|
|
192
192
|
return;
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
function
|
|
195
|
+
function be(e) {
|
|
196
196
|
let t = e.storageTransactionId?.trim();
|
|
197
197
|
if (t) {
|
|
198
|
-
let e =
|
|
198
|
+
let e = v(t);
|
|
199
199
|
if (e) return e;
|
|
200
200
|
}
|
|
201
201
|
let n = e.arweaveUrl?.trim();
|
|
202
202
|
if (n && !p(n)) return n;
|
|
203
203
|
}
|
|
204
|
-
function
|
|
204
|
+
function xe(e) {
|
|
205
205
|
let t = e.trim();
|
|
206
206
|
if (!t || p(t)) return;
|
|
207
|
-
let n =
|
|
207
|
+
let n = g(t);
|
|
208
208
|
switch (n.kind) {
|
|
209
209
|
case "url": return { mediaUrl: n.href };
|
|
210
210
|
case "arweaveTxId": {
|
|
211
|
-
let e =
|
|
211
|
+
let e = v(n.txId);
|
|
212
212
|
return {
|
|
213
213
|
storageTransactionId: n.txId,
|
|
214
214
|
...e ? { mediaUrl: e } : {}
|
|
@@ -216,7 +216,7 @@ function he(e) {
|
|
|
216
216
|
}
|
|
217
217
|
case "seedUid": return { seedUid: n.uid };
|
|
218
218
|
default: {
|
|
219
|
-
let e =
|
|
219
|
+
let e = v(t);
|
|
220
220
|
return e ? {
|
|
221
221
|
storageTransactionId: t,
|
|
222
222
|
mediaUrl: e
|
|
@@ -224,8 +224,8 @@ function he(e) {
|
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
|
-
function
|
|
228
|
-
let t =
|
|
227
|
+
function Se(e) {
|
|
228
|
+
let t = _(e, "storageTransactionId", "storage_transaction_id"), n = _(e, "arweaveUrl", "arweave_url"), r = _(e, "seedUid", "SeedUid", "seed_uid"), i = _(e, "link", "Link"), a = be({
|
|
229
229
|
storageTransactionId: t,
|
|
230
230
|
arweaveUrl: n
|
|
231
231
|
}) ?? (i && !p(i) ? i : void 0);
|
|
@@ -236,24 +236,51 @@ function ge(e) {
|
|
|
236
236
|
...a ? { mediaUrl: a } : {}
|
|
237
237
|
};
|
|
238
238
|
}
|
|
239
|
-
function
|
|
239
|
+
function y(e) {
|
|
240
240
|
if (e != null) {
|
|
241
|
-
if (typeof e == "string") return
|
|
241
|
+
if (typeof e == "string") return xe(e);
|
|
242
242
|
if (Array.isArray(e)) for (let t of e) {
|
|
243
|
-
let e =
|
|
243
|
+
let e = y(t);
|
|
244
244
|
if (e?.mediaUrl || e?.storageTransactionId || e?.seedUid) return e;
|
|
245
245
|
}
|
|
246
|
-
else if (typeof e == "object") return
|
|
246
|
+
else if (typeof e == "object") return Se(e);
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
|
-
function
|
|
249
|
+
function Ce(e, t = ve) {
|
|
250
250
|
for (let n of t) {
|
|
251
251
|
if (!(n in e)) continue;
|
|
252
|
-
let t =
|
|
252
|
+
let t = y(e[n]);
|
|
253
253
|
if (t) return t;
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
256
|
//#endregion
|
|
257
|
+
//#region src/ArweaveClient/transactionTagsByIds.ts
|
|
258
|
+
var we = 100, b = "\n query GetTransactionsTagsByIds($ids: [ID!], $first: Int) {\n transactions(ids: $ids, first: $first) {\n edges {\n node {\n id\n tags {\n name\n value\n }\n }\n }\n }\n }\n";
|
|
259
|
+
async function Te(e, t) {
|
|
260
|
+
let n = /* @__PURE__ */ new Map(), r = Array.from(new Set(e.filter((e) => typeof e == "string" && e.trim())));
|
|
261
|
+
if (r.length === 0) return n;
|
|
262
|
+
let i = t?.client ?? d.getArweaveClient(), a = Math.max(1, Math.min(t?.batchSize ?? 100, 100));
|
|
263
|
+
for (let e = 0; e < r.length; e += a) {
|
|
264
|
+
let o = r.slice(e, e + a);
|
|
265
|
+
try {
|
|
266
|
+
let e = await i.request(b, {
|
|
267
|
+
ids: o,
|
|
268
|
+
first: o.length
|
|
269
|
+
});
|
|
270
|
+
for (let t of e?.transactions?.edges ?? []) {
|
|
271
|
+
let e = t?.node;
|
|
272
|
+
e?.id && n.set(e.id, (e.tags ?? []).map((e) => ({
|
|
273
|
+
name: e.name,
|
|
274
|
+
value: e.value
|
|
275
|
+
})));
|
|
276
|
+
}
|
|
277
|
+
} catch (e) {
|
|
278
|
+
t?.onError?.(e);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return n;
|
|
282
|
+
}
|
|
283
|
+
//#endregion
|
|
257
284
|
//#region src/gateway/gatewayCircuitBreaker.ts
|
|
258
285
|
var x = 1, S = 6e4, C = x, w = S, T = /* @__PURE__ */ new Map();
|
|
259
286
|
function E(e) {
|
|
@@ -271,7 +298,7 @@ function D(e) {
|
|
|
271
298
|
function O(e, t) {
|
|
272
299
|
return e.openedAt == null ? "closed" : t - e.openedAt >= w ? "half-open" : "open";
|
|
273
300
|
}
|
|
274
|
-
function
|
|
301
|
+
function Ee(e) {
|
|
275
302
|
e.failureThreshold != null && e.failureThreshold >= 1 && (C = e.failureThreshold), e.openDurationMs != null && e.openDurationMs >= 0 && (w = e.openDurationMs);
|
|
276
303
|
}
|
|
277
304
|
function k() {
|
|
@@ -285,7 +312,7 @@ function A(e, t = Date.now()) {
|
|
|
285
312
|
let i = O(r, t);
|
|
286
313
|
return !!(i === "open" || i === "half-open" && r.halfOpenProbeInFlight);
|
|
287
314
|
}
|
|
288
|
-
function
|
|
315
|
+
function De(e, t = Date.now()) {
|
|
289
316
|
let n = E(e);
|
|
290
317
|
if (!n) return "closed";
|
|
291
318
|
let r = T.get(n);
|
|
@@ -311,24 +338,24 @@ function N(e, t = Date.now()) {
|
|
|
311
338
|
let r = D(n);
|
|
312
339
|
r.failures += 1, r.halfOpenProbeInFlight = !1, r.failures >= C && (r.openedAt = t);
|
|
313
340
|
}
|
|
314
|
-
function
|
|
341
|
+
function Oe(e = Date.now()) {
|
|
315
342
|
let t = [];
|
|
316
343
|
for (let n of T.keys()) A(n, e) && t.push(n);
|
|
317
344
|
return t;
|
|
318
345
|
}
|
|
319
346
|
//#endregion
|
|
320
347
|
//#region src/ArweaveClient/selectReadGateway.ts
|
|
321
|
-
var P = 18e4,
|
|
348
|
+
var P = 18e4, ke = 6e4, Ae = 5e3, F = null, I = null, L = null;
|
|
322
349
|
function R() {
|
|
323
350
|
F = null, I = null;
|
|
324
351
|
}
|
|
325
|
-
function
|
|
326
|
-
R(), L = null, k(), d.resetReadGatewaySelectionStateForTests(), d.isReadGatewayLocked() || d.setPreferredReadGateway(
|
|
352
|
+
function je() {
|
|
353
|
+
R(), L = null, k(), d.resetReadGatewaySelectionStateForTests(), d.isReadGatewayLocked() || d.setPreferredReadGateway(a);
|
|
327
354
|
}
|
|
328
|
-
function
|
|
355
|
+
function Me() {
|
|
329
356
|
return d.isReadGatewayLocked() ? !0 : F && Date.now() < F.expiresAt ? F.healthy : L != null;
|
|
330
357
|
}
|
|
331
|
-
function
|
|
358
|
+
function Ne() {
|
|
332
359
|
return L;
|
|
333
360
|
}
|
|
334
361
|
async function z(e, t) {
|
|
@@ -341,7 +368,7 @@ async function z(e, t) {
|
|
|
341
368
|
if (A(r)) return !1;
|
|
342
369
|
j(r);
|
|
343
370
|
let i, a = new AbortController(), o = t ?? a.signal;
|
|
344
|
-
t || (i = setTimeout(() => a.abort(),
|
|
371
|
+
t || (i = setTimeout(() => a.abort(), Ae));
|
|
345
372
|
try {
|
|
346
373
|
let e = await fetch(n, {
|
|
347
374
|
method: "GET",
|
|
@@ -370,15 +397,15 @@ async function B(e, t = "https", n) {
|
|
|
370
397
|
}
|
|
371
398
|
return null;
|
|
372
399
|
}
|
|
373
|
-
function
|
|
374
|
-
return
|
|
400
|
+
function Pe() {
|
|
401
|
+
return e(d.getHost());
|
|
375
402
|
}
|
|
376
403
|
async function V(e) {
|
|
377
404
|
if (d.isReadGatewayLocked()) return d.getHost();
|
|
378
405
|
if (F && Date.now() < F.expiresAt) return F.host;
|
|
379
406
|
if (I) return I;
|
|
380
407
|
I = (async () => {
|
|
381
|
-
let t = await B(
|
|
408
|
+
let t = await B(Pe(), d.getProtocol(), e);
|
|
382
409
|
if (d.isReadGatewayLocked()) F = {
|
|
383
410
|
host: d.getHost(),
|
|
384
411
|
healthy: !0,
|
|
@@ -394,7 +421,7 @@ async function V(e) {
|
|
|
394
421
|
L && d.getHost() !== L && d.applyProbedReadGateway(L), F = {
|
|
395
422
|
host: e,
|
|
396
423
|
healthy: !1,
|
|
397
|
-
expiresAt: Date.now() +
|
|
424
|
+
expiresAt: Date.now() + ke
|
|
398
425
|
};
|
|
399
426
|
}
|
|
400
427
|
return F.host;
|
|
@@ -413,9 +440,9 @@ function H(e) {
|
|
|
413
440
|
function U(e, t) {
|
|
414
441
|
return `${H(e)}/api/upload/arweave/data/${encodeURIComponent(t)}`;
|
|
415
442
|
}
|
|
416
|
-
var
|
|
417
|
-
async function
|
|
418
|
-
let r = U(e, t), i = n?.timeoutMs ??
|
|
443
|
+
var Fe = 45e3;
|
|
444
|
+
async function Ie(e, t, n) {
|
|
445
|
+
let r = U(e, t), i = n?.timeoutMs ?? Fe, a = new AbortController(), o = setTimeout(() => a.abort(), i);
|
|
419
446
|
try {
|
|
420
447
|
let e = await fetch(r, { signal: a.signal });
|
|
421
448
|
return clearTimeout(o), e.status === 404 ? {
|
|
@@ -440,15 +467,15 @@ async function Oe(e, t, n) {
|
|
|
440
467
|
}
|
|
441
468
|
//#endregion
|
|
442
469
|
//#region src/ArweaveClient/arweaveL1UploadApi.ts
|
|
443
|
-
var
|
|
470
|
+
var Le = "\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";
|
|
444
471
|
function W(e, t) {
|
|
445
472
|
return `${H(e)}/api/upload/arweave/status/${encodeURIComponent(t)}`;
|
|
446
473
|
}
|
|
447
|
-
function
|
|
474
|
+
function Re(e) {
|
|
448
475
|
let t = e.l1;
|
|
449
476
|
return t ? t.meetsMinConfirmations === !0 || t.confirmed === !0 : !1;
|
|
450
477
|
}
|
|
451
|
-
async function
|
|
478
|
+
async function ze(e, t) {
|
|
452
479
|
let n = W(e, t);
|
|
453
480
|
try {
|
|
454
481
|
let e = await fetch(n);
|
|
@@ -459,7 +486,7 @@ async function je(e, t) {
|
|
|
459
486
|
return null;
|
|
460
487
|
}
|
|
461
488
|
}
|
|
462
|
-
async function
|
|
489
|
+
async function Be(e, t, n) {
|
|
463
490
|
let r = e.trim();
|
|
464
491
|
if (!r) return null;
|
|
465
492
|
try {
|
|
@@ -467,7 +494,7 @@ async function Me(e, t, n) {
|
|
|
467
494
|
method: "POST",
|
|
468
495
|
headers: { "Content-Type": "application/json" },
|
|
469
496
|
body: JSON.stringify({
|
|
470
|
-
query:
|
|
497
|
+
query: Le,
|
|
471
498
|
variables: { id: t }
|
|
472
499
|
}),
|
|
473
500
|
signal: n?.signal
|
|
@@ -491,29 +518,29 @@ async function Me(e, t, n) {
|
|
|
491
518
|
return null;
|
|
492
519
|
}
|
|
493
520
|
}
|
|
494
|
-
async function
|
|
495
|
-
let i =
|
|
521
|
+
async function Ve(t, n, r) {
|
|
522
|
+
let i = f(), a = t?.trim(), o = "https", s = null;
|
|
496
523
|
if (a) try {
|
|
497
524
|
let e = new URL(a);
|
|
498
525
|
o = e.protocol === "http:" ? "http" : "https", s = e.hostname || null;
|
|
499
526
|
} catch {
|
|
500
527
|
s = null;
|
|
501
528
|
}
|
|
502
|
-
let c = s && s.length > 0 ?
|
|
529
|
+
let c = s && s.length > 0 ? e(s) : [...i], l = r?.signal;
|
|
503
530
|
for (let e of c) {
|
|
504
531
|
if (!await z(`${o}://${e}`, l ?? void 0)) continue;
|
|
505
|
-
let
|
|
506
|
-
if (
|
|
532
|
+
let t = await Be(`${o}://${e}/graphql`, n, r);
|
|
533
|
+
if (t !== null) return t;
|
|
507
534
|
}
|
|
508
535
|
return null;
|
|
509
536
|
}
|
|
510
537
|
//#endregion
|
|
511
538
|
//#region src/gateway/resolveSeedGatewayEndpoints.ts
|
|
512
|
-
var
|
|
513
|
-
function
|
|
539
|
+
var He = 18e4, G = null, K = /* @__PURE__ */ new Map();
|
|
540
|
+
function Ue() {
|
|
514
541
|
G = null, K.clear();
|
|
515
542
|
}
|
|
516
|
-
function
|
|
543
|
+
function We(e) {
|
|
517
544
|
let t = (e ?? "ar.seedprotocol.io").trim();
|
|
518
545
|
return t.startsWith("http://") ? {
|
|
519
546
|
protocol: "http",
|
|
@@ -526,7 +553,7 @@ function Ie(e) {
|
|
|
526
553
|
host: t.replace(/\/$/, "")
|
|
527
554
|
};
|
|
528
555
|
}
|
|
529
|
-
function
|
|
556
|
+
function Ge(e) {
|
|
530
557
|
let t = e.hyper?.localSidecarHost?.trim() || "127.0.0.1", n = e.hyper?.localSidecarPort ?? 1984;
|
|
531
558
|
return {
|
|
532
559
|
host: n === 80 || n === 443 ? t : `${t}:${n}`,
|
|
@@ -534,7 +561,7 @@ function Le(e) {
|
|
|
534
561
|
baseUrl: `http://${t}:${n}`
|
|
535
562
|
};
|
|
536
563
|
}
|
|
537
|
-
function
|
|
564
|
+
function Ke() {
|
|
538
565
|
try {
|
|
539
566
|
let e = globalThis.window?.location?.origin;
|
|
540
567
|
return typeof e == "string" && e.length > 0 ? e.replace(/\/$/, "") : void 0;
|
|
@@ -547,7 +574,7 @@ function q(e, t) {
|
|
|
547
574
|
if (!n) throw Error("proxyBaseUrl is empty");
|
|
548
575
|
if (n.startsWith("http://") || n.startsWith("https://")) return n.replace(/\/$/, "");
|
|
549
576
|
if (n.startsWith("/")) {
|
|
550
|
-
let r = (t?.origin?.trim() ||
|
|
577
|
+
let r = (t?.origin?.trim() || Ke() || "").replace(/\/$/, "");
|
|
551
578
|
if (!r) throw Error(`Relative proxyBaseUrl "${e}" requires a browser origin or resolve options.origin`);
|
|
552
579
|
return `${r}${n.replace(/\/$/, "")}`;
|
|
553
580
|
}
|
|
@@ -560,7 +587,7 @@ async function J(e, t, n) {
|
|
|
560
587
|
let t = await z(e, n);
|
|
561
588
|
return G = {
|
|
562
589
|
healthy: t,
|
|
563
|
-
expiresAt: r +
|
|
590
|
+
expiresAt: r + He
|
|
564
591
|
}, t;
|
|
565
592
|
}
|
|
566
593
|
let i = K.get(t);
|
|
@@ -568,11 +595,11 @@ async function J(e, t, n) {
|
|
|
568
595
|
let a = await z(e, n);
|
|
569
596
|
return K.set(t, {
|
|
570
597
|
healthy: a,
|
|
571
|
-
expiresAt: r +
|
|
598
|
+
expiresAt: r + He
|
|
572
599
|
}), a;
|
|
573
600
|
}
|
|
574
|
-
function
|
|
575
|
-
let { host: t, protocol: n } =
|
|
601
|
+
function qe(e) {
|
|
602
|
+
let { host: t, protocol: n } = We(e.arweaveDomain), r = `${n}://${t}`, i = e.uploadApiBaseUrl?.trim() || r;
|
|
576
603
|
return {
|
|
577
604
|
mode: e.transport ?? "http-gateway",
|
|
578
605
|
arweaveHost: t,
|
|
@@ -584,8 +611,8 @@ function ze(e) {
|
|
|
584
611
|
gatewayHyperKey: e.hyper?.gatewayHyperKey?.trim() || void 0
|
|
585
612
|
};
|
|
586
613
|
}
|
|
587
|
-
function
|
|
588
|
-
let t =
|
|
614
|
+
function Je(e) {
|
|
615
|
+
let t = Ge(e), n = e.hyper?.gatewayHyperKey?.trim();
|
|
589
616
|
return {
|
|
590
617
|
mode: "hyper",
|
|
591
618
|
arweaveHost: t.host,
|
|
@@ -597,7 +624,7 @@ function Be(e) {
|
|
|
597
624
|
gatewayHyperKey: n || void 0
|
|
598
625
|
};
|
|
599
626
|
}
|
|
600
|
-
function
|
|
627
|
+
function Ye(e, t) {
|
|
601
628
|
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}`;
|
|
602
629
|
return {
|
|
603
630
|
mode: e.transport ?? "http-gateway",
|
|
@@ -611,53 +638,53 @@ function Ve(e, t) {
|
|
|
611
638
|
proxyBaseUrl: t
|
|
612
639
|
};
|
|
613
640
|
}
|
|
614
|
-
async function
|
|
641
|
+
async function Xe(e, t) {
|
|
615
642
|
let n = e.proxyBaseUrl?.trim();
|
|
616
643
|
if (!n) return null;
|
|
617
644
|
let r = q(n, { origin: t?.origin });
|
|
618
|
-
return e.hyper?.probeSidecar !== !1 && !await J(r, `proxy:${r}`, t?.signal) ? null :
|
|
645
|
+
return e.hyper?.probeSidecar !== !1 && !await J(r, `proxy:${r}`, t?.signal) ? null : Ye(e, r);
|
|
619
646
|
}
|
|
620
|
-
async function
|
|
621
|
-
t?.forceSidecarProbe &&
|
|
647
|
+
async function Ze(e, t) {
|
|
648
|
+
t?.forceSidecarProbe && Ue();
|
|
622
649
|
let n = e.transport ?? "http-gateway", r = e.hyper?.probeSidecar !== !1;
|
|
623
650
|
if (n === "http-gateway") {
|
|
624
651
|
if (e.proxyBaseUrl?.trim()) {
|
|
625
652
|
let i = q(e.proxyBaseUrl, { origin: t?.origin });
|
|
626
653
|
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.`);
|
|
627
|
-
return
|
|
654
|
+
return Ye({
|
|
628
655
|
...e,
|
|
629
656
|
transport: n
|
|
630
657
|
}, i);
|
|
631
658
|
}
|
|
632
|
-
return
|
|
659
|
+
return qe({
|
|
633
660
|
...e,
|
|
634
661
|
transport: n
|
|
635
662
|
});
|
|
636
663
|
}
|
|
637
664
|
if (n === "hyper") {
|
|
638
|
-
let i = await
|
|
665
|
+
let i = await Xe({
|
|
639
666
|
...e,
|
|
640
667
|
transport: n
|
|
641
668
|
}, t);
|
|
642
669
|
if (i) return i;
|
|
643
|
-
let a =
|
|
670
|
+
let a = Je({
|
|
644
671
|
...e,
|
|
645
672
|
transport: n
|
|
646
673
|
});
|
|
647
674
|
if (r && !await J(a.arweaveBaseUrl, "sidecar", t?.signal)) throw Error(`Gateway Hyper sidecar not reachable at ${a.arweaveBaseUrl}. Run: seed-gateway connect <operator-z32-key> — or configure gateway.proxyBaseUrl for an app-server proxy.`);
|
|
648
675
|
return a;
|
|
649
676
|
}
|
|
650
|
-
let i = await
|
|
677
|
+
let i = await Xe({
|
|
651
678
|
...e,
|
|
652
679
|
transport: n
|
|
653
680
|
}, t);
|
|
654
681
|
if (i) return i;
|
|
655
|
-
let a =
|
|
656
|
-
return r && await J(a.baseUrl, "sidecar", t?.signal) ?
|
|
682
|
+
let a = Ge(e);
|
|
683
|
+
return r && await J(a.baseUrl, "sidecar", t?.signal) ? Je({
|
|
657
684
|
...e,
|
|
658
685
|
transport: "hyper"
|
|
659
686
|
}) : {
|
|
660
|
-
...
|
|
687
|
+
...qe({
|
|
661
688
|
...e,
|
|
662
689
|
transport: "http-gateway"
|
|
663
690
|
}),
|
|
@@ -665,23 +692,23 @@ async function Ue(e, t) {
|
|
|
665
692
|
activePath: "hybrid-fallback-http"
|
|
666
693
|
};
|
|
667
694
|
}
|
|
668
|
-
function
|
|
669
|
-
return
|
|
695
|
+
function Qe(t, n) {
|
|
696
|
+
return t.activePath === "hyper-sidecar" || t.activePath === "http-proxy" ? [t.arweaveHost] : e(t.arweaveHost);
|
|
670
697
|
}
|
|
671
698
|
//#endregion
|
|
672
699
|
//#region src/gateway/gatewayState.ts
|
|
673
|
-
var
|
|
674
|
-
function
|
|
675
|
-
return
|
|
700
|
+
var Y = null;
|
|
701
|
+
function X() {
|
|
702
|
+
return Y;
|
|
676
703
|
}
|
|
677
|
-
function
|
|
678
|
-
|
|
704
|
+
function $e(e) {
|
|
705
|
+
Y = e;
|
|
679
706
|
}
|
|
680
|
-
var
|
|
681
|
-
function
|
|
682
|
-
return
|
|
707
|
+
var et = [];
|
|
708
|
+
function Z() {
|
|
709
|
+
return et;
|
|
683
710
|
}
|
|
684
|
-
function
|
|
711
|
+
function tt(e) {
|
|
685
712
|
let t = [], n = /* @__PURE__ */ new Set();
|
|
686
713
|
for (let r of e) {
|
|
687
714
|
let e = r?.trim();
|
|
@@ -695,11 +722,11 @@ function Je(e) {
|
|
|
695
722
|
}
|
|
696
723
|
n.has(i) || (n.add(i), t.push(i));
|
|
697
724
|
}
|
|
698
|
-
|
|
725
|
+
et = t;
|
|
699
726
|
}
|
|
700
727
|
//#endregion
|
|
701
728
|
//#region src/gateway/seedGatewayConfig.ts
|
|
702
|
-
function
|
|
729
|
+
function nt(e) {
|
|
703
730
|
let t = e.gateway ?? {};
|
|
704
731
|
return {
|
|
705
732
|
transport: t.transport,
|
|
@@ -715,7 +742,7 @@ function Ye(e) {
|
|
|
715
742
|
}
|
|
716
743
|
};
|
|
717
744
|
}
|
|
718
|
-
function
|
|
745
|
+
function rt(e) {
|
|
719
746
|
return {
|
|
720
747
|
transport: e.gatewayTransport,
|
|
721
748
|
arweaveDomain: e.arweaveDomain,
|
|
@@ -730,33 +757,33 @@ function Xe(e) {
|
|
|
730
757
|
}
|
|
731
758
|
//#endregion
|
|
732
759
|
//#region src/gateway/readBaseUrls.ts
|
|
733
|
-
var
|
|
734
|
-
function
|
|
760
|
+
var it = 1e4;
|
|
761
|
+
function Q(e, t, n) {
|
|
735
762
|
let r = n.trim().replace(/\/$/, "");
|
|
736
763
|
r && !t.has(r) && (t.add(r), e.push(r));
|
|
737
764
|
}
|
|
738
|
-
function
|
|
739
|
-
let
|
|
765
|
+
function $(t) {
|
|
766
|
+
let n = X(), r = d.getProtocol(), i = n ? Qe(n) : t?.fallbackHosts?.length ? [...t.fallbackHosts] : e(d.getHost()), a = [], o = /* @__PURE__ */ new Set();
|
|
740
767
|
for (let e of i) {
|
|
741
768
|
let t = e.trim();
|
|
742
|
-
t &&
|
|
769
|
+
t && Q(a, o, /^https?:\/\//i.test(t) ? t : `${r}://${t}`);
|
|
743
770
|
}
|
|
744
771
|
return a;
|
|
745
772
|
}
|
|
746
|
-
function
|
|
773
|
+
function at(e) {
|
|
747
774
|
let t = [], n = /* @__PURE__ */ new Set();
|
|
748
|
-
for (let e of
|
|
749
|
-
for (let r of
|
|
775
|
+
for (let e of Z()) Q(t, n, e);
|
|
776
|
+
for (let r of $(e)) Q(t, n, r);
|
|
750
777
|
return t;
|
|
751
778
|
}
|
|
752
|
-
async function
|
|
779
|
+
async function ot() {
|
|
753
780
|
try {
|
|
754
|
-
let e =
|
|
781
|
+
let e = X();
|
|
755
782
|
if (e && (e.activePath === "hyper-sidecar" || e.activePath === "http-proxy")) return;
|
|
756
783
|
await V();
|
|
757
784
|
} catch {}
|
|
758
785
|
}
|
|
759
|
-
async function
|
|
786
|
+
async function st(e, t, n) {
|
|
760
787
|
let r = new AbortController(), i = setTimeout(() => r.abort(), n?.timeoutMs ?? 1e4);
|
|
761
788
|
try {
|
|
762
789
|
let n = await fetch(`${e.replace(/\/$/, "")}/raw/${encodeURIComponent(t)}`, {
|
|
@@ -771,21 +798,21 @@ async function $(e, t, n) {
|
|
|
771
798
|
clearTimeout(i);
|
|
772
799
|
}
|
|
773
800
|
}
|
|
774
|
-
async function
|
|
801
|
+
async function ct(e, t) {
|
|
775
802
|
let n = /* @__PURE__ */ new Set(), r = async (r) => {
|
|
776
803
|
for (let i of r) {
|
|
777
804
|
if (n.has(i)) continue;
|
|
778
805
|
n.add(i);
|
|
779
|
-
let r = await
|
|
806
|
+
let r = await st(i, e, t);
|
|
780
807
|
if (r) try {
|
|
781
|
-
let
|
|
782
|
-
if (
|
|
808
|
+
let { bytes: t } = await u(r, { transactionId: e }), n = new TextDecoder().decode(t);
|
|
809
|
+
if (n.length > 0) return n;
|
|
783
810
|
} catch {}
|
|
784
811
|
}
|
|
785
812
|
};
|
|
786
|
-
return await r(
|
|
813
|
+
return await r(Z()) || (await ot(), r($(t)));
|
|
787
814
|
}
|
|
788
815
|
//#endregion
|
|
789
|
-
export {
|
|
816
|
+
export { l as ARWEAVE_HOST_ENV_KEYS, d as ArweaveClient, d as BaseArweaveClient, ae as DEFAULT_ARWEAVE_GATEWAYS, i as DEFAULT_ARWEAVE_GRAPHQL_URL, a as DEFAULT_ARWEAVE_HOST, it as DEFAULT_ARWEAVE_RAW_READ_TIMEOUT_MS, ne as DEFAULT_GATEWAY_SIDECAR_HOST, ee as DEFAULT_GATEWAY_SIDECAR_PORT, s as DEFAULT_SEED_FEED_HYPER_KEY, o as DEFAULT_SEED_GATEWAY_HYPER_KEY, ie as GET_ARWEAVE_TRANSACTIONS, b as GET_TRANSACTIONS_TAGS_BY_IDS, te as GET_TRANSACTION_TAGS, ve as SEED_RSS_IMAGE_RELATION_FIELD_KEYS, we as TRANSACTION_TAGS_BATCH_SIZE, j as beginGatewayHostHalfOpenProbe, g as classifyMediaRef, Ee as configureGatewayCircuitBreaker, ot as ensureArweaveReadGatewayForFallback, V as ensureReadGatewaySelected, st as fetchArweaveRawFromBaseUrl, ct as fetchArweaveRawTextAcrossGateways, at as getArweaveReadBaseUrls, e as getArweaveReadGatewayHostsForPrimary, ze as getArweaveUploadStatus, _e as getArweaveUrlForTransaction, f as getDefaultArweaveReadGatewayHostsOrdered, he as getFeedItemStringField, De as getGatewayHostCircuitState, Ne as getLastHealthyReadGatewayHost, Z as getPreferredArweaveReadBaseUrls, Qe as getReadGatewayHostsForConfig, $ as getResolvedArweaveReadBaseUrls, X as getResolvedSeedGatewayEndpoints, c as getResponseMediaType, Te as getTransactionTagsByIds, U as getUploadApiArweaveDataUrl, W as getUploadApiArweaveStatusUrl, Ie as getUploadPipelineTransactionStatus, t as hasArweaveContentReadTransform, R as invalidateReadGatewayCache, Ue as invalidateSidecarProbeCache, Re as isArweaveL1AnchoringComplete, p as isEasAttestationExplorerUrl, A as isGatewayHostCircuitOpen, se as isKnownArweaveGatewayHostname, Me as isReadGatewayKnownHealthy, Oe as listOpenGatewayCircuitHosts, n as mergePrimaryHostWithDefaults, ge as normalizeFeedItemFields, E as normalizeGatewayHostKey, m as normalizeRelationPropertyValue, H as normalizeUploadApiBaseUrl, z as probeGateway, Be as queryArweaveGatewayTransaction, Ve as queryArweaveGatewayTransactionWithFallback, u as readArweaveContentResponse, N as recordGatewayHostFailure, M as recordGatewayHostSuccess, je as resetArweaveReadGatewayForTests, k as resetGatewayCircuitBreakerForTests, oe as resolveArweaveHostFromEnv, q as resolveProxyBaseUrl, Ze as resolveSeedGatewayEndpoints, de as resolveSeedIdsFromRefString, Ce as resolveSeedRssImageRelationFromItem, y as resolveSeedRssImageRelationRef, rt as seedGatewayConfigFromClientContext, nt as seedGatewayConfigFromSeedConfig, B as selectFirstHealthyReadGateway, re as setArweaveContentReadTransform, tt as setPreferredArweaveReadBaseUrls, $e as setResolvedSeedGatewayEndpoints, r as transformArweaveContent };
|
|
790
817
|
|
|
791
818
|
//# sourceMappingURL=index.js.map
|