smart-web-mcp 1.10.6 → 1.10.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/CHANGELOG.md CHANGED
@@ -5,6 +5,8 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on Keep a Changelog[^1] and this project uses SemVer.
6
6
 
7
7
  ## Unreleased
8
+ * Try existing captures for weak known-paywall originals or explicit paywall previews before automatic browser/relay recovery, so an origin login wall cannot preempt independent archive acquisition. Reserve browser time after failed early archive discovery and do not repeat it; preserve explicit browser/profile requests, origin cooldowns, network guards and historical provenance. Live archive429/timeouts remain retrieval failures.
9
+ * Resolve existing exact-original Wayback and archive.today-family snapshots after weak/paywalled direct retrieval, including bounded capture-list resolution. Reject challenge/index/wrong-original content and capture-submission redirects; preserve public JSON/text/Markdown original URL, snapshot URL and capture time with historical provenance. Keep shared deadlines, private-network checks and private/local-only opt-outs. See [archive recovery](docs/archive-recovery.md).
8
10
  * Recover exact Reddit originals and source-bound nested readable comments through approved owned local-browser tabs after feed403; retain source code/prose, native scoped query/date integrity and browser acquisition evidence. Independent archive recovery preserves HTTP429/Retry-After without first-party retries and is explicitly a non-realtime incomplete snapshot. Validate comment IDs/permalinks, ancestry and duplicates across native/feed/archive lanes, keep collected/delivered coverage separate, and add a native-current Reddit semantic canary. Representative and held-out live posts are not verification of an unidentified historical report. See [Reddit retrieval](docs/reddit-retrieval.md).
9
11
  * Treat zero and expired valid Retry-After as inactive rather than manufacturing rate-limit cooldowns. Preserve HTTP429 even with zero delay, and conservatively retain positive/future/unknown backoff across preflight, native/Impit GET and browser/controller paths, including HTTP-success responses. Invalid calendar dates remain conservative. Reproduced on a clearly labeled representative Reddit page; the originally reported Reddit URL remains unknown, and browser challenges are not bypassed.
10
12
  * Extend the existing one-shot semantic canary with tightly scoped Airflow, Wikidocs and Python-tutorial document parity probes. Independently configured title/body/source-count/exact TOC-row oracles detect classification, ownership, hierarchy and false completeness regressions while distinguishing consistent finite output projection from acquisition gaps. Preserve native comment gates, private state, delayed confirmation and no automatic scheduling/repair/deployment; actual browser backoff is a blocker, not a selector incident.
@@ -477,6 +479,20 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
477
479
  - Korean public API helpers now validate outbound URLs and redirects before fetching, blocking localhost, private, and reserved targets unless `network.allowPrivateHosts` is explicitly enabled.
478
480
  - CI now declares read-only default repository permissions, Dependabot auto-merge pins the reusable workflow without forwarding all caller secrets, and the workflow check enforces those guards.
479
481
 
482
+ ## [1.10.8](https://github.com/jojo-labs/smart-web/compare/v1.10.7...v1.10.8) (2026-10-08)
483
+
484
+
485
+ ### Bug Fixes
486
+
487
+ * recover paywall archives before automatic browser continuation ([#915](https://github.com/jojo-labs/smart-web/issues/915)) ([a87a2f1](https://github.com/jojo-labs/smart-web/commit/a87a2f13a6c90494142cf135a37ccafdc37a049c))
488
+
489
+ ## [1.10.7](https://github.com/jojo-labs/smart-web/compare/v1.10.6...v1.10.7) (2026-10-08)
490
+
491
+
492
+ ### Bug Fixes
493
+
494
+ * recover validated existing paywall archive snapshots ([#913](https://github.com/jojo-labs/smart-web/issues/913)) ([901ae20](https://github.com/jojo-labs/smart-web/commit/901ae2028b032784a6aeffa1d3446992caa179dc))
495
+
480
496
  ## [1.10.6](https://github.com/jojo-labs/smart-web/compare/v1.10.5...v1.10.6) (2026-10-07)
481
497
 
482
498
 
package/dist/shared.d.ts CHANGED
@@ -19,6 +19,13 @@ export type PrimaryContent = {
19
19
  selector?: string;
20
20
  partial?: boolean;
21
21
  };
22
+ export type ArchiveProvenance = {
23
+ provider: "wayback" | "archive.today";
24
+ original_url: string;
25
+ snapshot_url: string;
26
+ captured_at: string;
27
+ historical: true;
28
+ };
22
29
  export type AdapterResult = {
23
30
  ok: boolean;
24
31
  method: string;
@@ -27,6 +34,7 @@ export type AdapterResult = {
27
34
  content: string;
28
35
  links: string[];
29
36
  final_url?: string;
37
+ archive?: ArchiveProvenance;
30
38
  anchors?: Array<{
31
39
  href: string;
32
40
  text: string;
@@ -189,6 +197,7 @@ export type SearchResponse = {
189
197
  export type SmartfetchOutput = {
190
198
  source: "smartfetch";
191
199
  url: string;
200
+ archive?: ArchiveProvenance;
192
201
  target: ResolvedTarget;
193
202
  retrieval_method: string[];
194
203
  risk_level: "low" | "medium" | "high";
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,4 @@ import type { AdapterResult, ToolError } from "../shared.js";
2
2
  export declare function maybeUseArchiveFallback(url: string, active: AdapterResult, timeoutMs: number): Promise<{
3
3
  active: AdapterResult;
4
4
  errors: ToolError[];
5
- } | {
6
- active: {
7
- ok: true;
8
- method: string;
9
- content: string;
10
- links: string[];
11
- };
12
- errors: ToolError[];
13
5
  }>;
@@ -1,145 +1,283 @@
1
- import { configEnabled, dedupeUrls, extractAnchorHrefs, extractUrls, needsDynamicCrawl, stripTags } from "../shared.js";
2
- import { fetchProviderJson, fetchProviderText } from "./provider-policy.js";
1
+ import { parseHTML } from "linkedom";
2
+ import { configEnabled, dedupeUrls, extractAnchorHrefs, extractUrls, stripTags, validateOutboundUrl } from "../shared.js";
3
+ import { fetchProviderText } from "./provider-policy.js";
3
4
  import { hasPaywallMarker, looksPaywalledOrBlocked } from "./paywall.js";
4
- const USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36";
5
- function archiveFallbackEnabled() {
6
- return configEnabled("fetch.enableArchiveFallback", true);
5
+ const TODAY_HOSTS = ["archive.md", "archive.ph", "archive.today", "archive.li", "archive.is", "archive.vn", "archive.fo"];
6
+ const ORIGINS = ["archive.org", "web.archive.org", ...TODAY_HOSTS].map(host => `https://${host}:443`);
7
+ const HEADERS = { accept: "text/html,application/json;q=0.9,*/*;q=0.8", "user-agent": "Mozilla/5.0 Chrome/134.0.0.0 Safari/537.36" };
8
+ function error(code, message, category = "unavailable") {
9
+ return { category, code, message };
7
10
  }
8
- function waybackEnabled() {
9
- return configEnabled("fetch.enableWayback", true);
10
- }
11
- function archiveMdEnabled() {
12
- return configEnabled("fetch.enableArchiveMd", true);
11
+ // Path, query order/values, scheme and subdomain stay exact. Only fragments
12
+ // do not participate in an HTTP capture's identity.
13
+ function sameOriginal(candidate, original) {
14
+ try {
15
+ const a = new URL(candidate), b = new URL(original);
16
+ a.hash = "";
17
+ b.hash = "";
18
+ return /^https?:$/.test(a.protocol) && !a.username && !a.password && a.href === b.href;
19
+ }
20
+ catch {
21
+ return false;
22
+ }
13
23
  }
14
- function localOnlyMode() {
15
- return configEnabled("network.localOnly", false, { private: true });
24
+ function captureTime(digits) {
25
+ if (!/^\d{14}$/.test(digits))
26
+ return "";
27
+ const iso = `${digits.slice(0, 4)}-${digits.slice(4, 6)}-${digits.slice(6, 8)}T${digits.slice(8, 10)}:${digits.slice(10, 12)}:${digits.slice(12, 14)}.000Z`;
28
+ const time = new Date(iso);
29
+ return Number.isFinite(time.getTime()) && time.toISOString() === iso ? iso : "";
16
30
  }
17
- async function fetchWayback(url, timeoutMs) {
18
- const availability = await fetchProviderJson(`https://archive.org/wayback/available?url=${encodeURIComponent(url)}`, timeoutMs, {
19
- headers: {
20
- accept: "application/json,text/plain,*/*",
21
- "user-agent": USER_AGENT,
22
- },
23
- }, {
24
- mode: "relay",
25
- sourceUrl: url,
26
- });
27
- if (!availability.ok) {
28
- return {
29
- result: null,
30
- error: { category: availability.error.category, code: availability.error.code, message: availability.error.message },
31
- };
31
+ function replayIdentity(value, original, provider) {
32
+ try {
33
+ const url = new URL(value);
34
+ if (url.username || url.password || url.port || !/^https?:$/.test(url.protocol))
35
+ return null;
36
+ const validHost = provider === "wayback" ? url.hostname === "web.archive.org" : TODAY_HOSTS.includes(url.hostname);
37
+ if (!validHost)
38
+ return null;
39
+ const match = provider === "wayback"
40
+ ? url.pathname.match(/^\/web\/(\d{14})(?:[a-z_]+)?\/(https?:\/\/.*)$/)
41
+ : url.pathname.match(/^\/(\d{14}|\d{4}\.\d{2}\.\d{2}-\d{6})\/(https?:\/\/.*)$/);
42
+ if (!match)
43
+ return null;
44
+ const capturedAt = captureTime(match[1].replace(/[.\-]/g, ""));
45
+ if (!capturedAt || !sameOriginal(match[2] + url.search + url.hash, original))
46
+ return null;
47
+ url.protocol = "https:";
48
+ return { snapshotUrl: url.href, capturedAt };
32
49
  }
33
- const snapshotUrl = availability.data?.archived_snapshots?.closest?.url;
34
- if (!snapshotUrl) {
35
- return {
36
- result: null,
37
- error: { category: "unavailable", code: "wayback_snapshot_missing", message: "No Wayback snapshot available" },
38
- };
50
+ catch {
51
+ return null;
39
52
  }
40
- const snapshot = await fetchProviderText(String(snapshotUrl), timeoutMs, {
41
- headers: {
42
- accept: "text/html,text/plain,*/*",
43
- "user-agent": USER_AGENT,
44
- },
45
- }, {
46
- mode: "relay",
47
- sourceUrl: url,
48
- });
49
- if (!snapshot.ok) {
50
- return {
51
- result: null,
52
- error: { category: snapshot.error.category, code: snapshot.error.code, message: snapshot.error.message },
53
- };
53
+ }
54
+ function todaySnapshotUrl(value, base) {
55
+ try {
56
+ const url = new URL(value, base);
57
+ return TODAY_HOSTS.includes(url.hostname) && !url.port && !url.username && !url.password
58
+ && /^https?:$/.test(url.protocol) && /^\/[a-zA-Z0-9]{5}$/.test(url.pathname) && !url.search && !url.hash
59
+ ? `https://${url.hostname}${url.pathname}` : "";
60
+ }
61
+ catch {
62
+ return "";
54
63
  }
55
- return {
56
- result: {
57
- ok: true,
58
- method: "wayback_archive",
59
- content: snapshot.text,
60
- links: dedupeUrls([...extractAnchorHrefs(snapshot.text), ...extractUrls(snapshot.text)]),
61
- },
62
- error: null,
63
- };
64
64
  }
65
- async function fetchArchiveMd(url, timeoutMs) {
66
- const archived = await fetchProviderText(`https://archive.md/${url}`, timeoutMs, {
67
- headers: {
68
- accept: "text/html,text/plain,*/*",
69
- "user-agent": USER_AGENT,
70
- },
71
- }, {
72
- mode: "relay",
73
- sourceUrl: url,
74
- });
75
- if (!archived.ok) {
76
- return {
77
- result: null,
78
- error: { category: archived.error.category, code: archived.error.code, message: archived.error.message },
79
- };
65
+ function readableSnapshot(html, original) {
66
+ const { document } = parseHTML(html);
67
+ for (const node of document.querySelectorAll("[hidden],[inert],[aria-hidden='true']"))
68
+ node.remove();
69
+ for (const node of document.querySelectorAll("[style]")) {
70
+ if (/(?:^|;)\s*(?:display\s*:\s*none|visibility\s*:\s*(?:hidden|collapse))\s*(?:!important)?\s*(?:;|$)/i.test(node.getAttribute("style") || ""))
71
+ node.remove();
72
+ }
73
+ if ([...document.querySelectorAll(".g-recaptcha,.g_recaptcha,.h-captcha,.cf-turnstile,iframe[src]")].some(node => !node.closest("pre,code,blockquote") && (node.tagName !== "IFRAME" || /recaptcha|hcaptcha|challenges\.cloudflare\.com/i.test(node.getAttribute("src") || ""))))
74
+ return null;
75
+ const title = document.querySelector("title")?.textContent || "";
76
+ if (/just a moment|attention required|verify.*human|captcha|access denied|security check|too many requests|^archive\.(?:md|ph|li|is|today)$/i.test(title.trim()))
77
+ return null;
78
+ for (const node of document.querySelectorAll("link[rel='canonical'],meta[property='og:url']")) {
79
+ const declared = node.getAttribute("href") || node.getAttribute("content") || "";
80
+ if (declared && !sameOriginal(declared, original) && !replayIdentity(declared, original, "wayback") && !replayIdentity(declared, original, "archive.today") && !todaySnapshotUrl(declared, original))
81
+ return null;
80
82
  }
83
+ for (const node of document.querySelectorAll("script,style,noscript,template,iframe,form,nav,header,footer,#wm-ipp-base,#HEADER,#FOOTER,[hidden],[aria-hidden='true']"))
84
+ node.remove();
85
+ const root = document.querySelector("#CONTENT") || document.querySelector("article,main,[role='main']") || document.body;
86
+ if (!root)
87
+ return null;
88
+ const text = (root.textContent || "").replace(/\s+/g, " ").trim();
89
+ if (text.length < 400 || /subscribe to continue|sign in to continue|member[s]?-only story|join medium to read|subscription required|to continue reading|create an account to continue|verify (?:that )?you are human|captcha|checking your browser|enable javascript and cookies|access denied|too many requests|for exact url.*for url prefix|list of urls, ordered/i.test(text))
90
+ return null;
91
+ const linked = [...root.querySelectorAll("a")].reduce((n, a) => n + (a.textContent || "").length, 0);
92
+ if (linked > text.length * 0.5)
93
+ return null;
94
+ return root.outerHTML;
95
+ }
96
+ function resultFromSnapshot(content, original, provider, snapshotUrl, capturedAt) {
81
97
  return {
82
- result: {
83
- ok: true,
84
- method: "archive_md",
85
- content: archived.text,
86
- links: dedupeUrls([...extractAnchorHrefs(archived.text), ...extractUrls(archived.text)]),
87
- },
88
- error: null,
98
+ ok: true, method: provider === "wayback" ? "wayback_archive" : "archive_md", final_url: original,
99
+ content, links: dedupeUrls([...extractAnchorHrefs(content), ...extractUrls(content)]),
100
+ archive: { provider, original_url: original, snapshot_url: snapshotUrl, captured_at: capturedAt, historical: true },
89
101
  };
90
102
  }
91
- function archiveImprovesContent(current, candidate) {
92
- const currentText = stripTags(current.content);
93
- const candidateText = stripTags(candidate.content);
94
- if (candidateText.length < 400)
95
- return false;
96
- if (candidate.method === "archive_md" && looksLikeArchiveMdSearchIndex(candidateText))
97
- return false;
98
- const candidateBlocked = hasPaywallMarker(candidateText) || needsDynamicCrawl(candidate);
99
- if (!candidateBlocked)
100
- return candidateText.length >= currentText.length;
101
- return candidateText.length > currentText.length * 2;
102
- }
103
- function looksLikeArchiveMdSearchIndex(value) {
104
- const text = String(value || "").replace(/\s+/g, " ").trim().toLowerCase();
105
- if (!text)
106
- return false;
107
- const compact = text.replace(/[^a-z0-9]+/g, "");
108
- const hasArchiveSearchChrome = /archive\.(?:today|md)\s*webpage\s*capture\s*search\s*examples/.test(text)
109
- || compact.includes("archivetodaywebpagecapturesearchexamples")
110
- || compact.includes("archivemdwebpagecapturesearchexamples");
111
- const hasSearchOnlyLinks = (text.includes("for exact url") && text.includes("for url prefix"))
112
- || (compact.includes("forexacturl") && compact.includes("forurlprefix"));
113
- // A list of captures is still a search page, even when results exist.
114
- return hasArchiveSearchChrome && hasSearchOnlyLinks;
115
- }
116
103
  export async function maybeUseArchiveFallback(url, active, timeoutMs) {
117
- if (!archiveFallbackEnabled() || localOnlyMode()) {
118
- return { active, errors: [] };
119
- }
120
- if (!looksPaywalledOrBlocked(url, active)) {
121
- return { active, errors: [] };
122
- }
123
104
  const errors = [];
124
- if (waybackEnabled()) {
125
- const wayback = await fetchWayback(url, timeoutMs);
126
- if (wayback.result && archiveImprovesContent(active, wayback.result)) {
127
- return { active: wayback.result, errors };
105
+ if (!configEnabled("fetch.enableArchiveFallback", true) || configEnabled("network.localOnly", false, { private: true }) || !looksPaywalledOrBlocked(url, active))
106
+ return { active, errors };
107
+ // One absolute budget includes source DNS, discovery, redirects and bodies.
108
+ // Request slices leave time for other services when one is unavailable.
109
+ const deadlineAt = Date.now() + Math.max(0, Math.min(timeoutMs, 12000));
110
+ const lookupOriginal = url.split("#", 1)[0];
111
+ const controller = new AbortController();
112
+ let expiry;
113
+ const expired = new Promise(resolve => {
114
+ expiry = setTimeout(() => {
115
+ controller.abort();
116
+ resolve(null);
117
+ }, Math.max(0, deadlineAt - Date.now()));
118
+ });
119
+ const remaining = () => deadlineAt - Date.now();
120
+ const retrievalRoute = (value) => {
121
+ try {
122
+ const target = new URL(value);
123
+ if (target.username || target.password || target.port || target.protocol !== "https:")
124
+ return false;
125
+ if (target.hostname === "archive.org")
126
+ return target.pathname === "/wayback/available" && target.searchParams.get("url") === url && [...target.searchParams.keys()].every(key => key === "url");
127
+ if (target.hostname === "web.archive.org")
128
+ return Boolean(replayIdentity(value, url, "wayback"));
129
+ if (!TODAY_HOSTS.includes(target.hostname))
130
+ return false;
131
+ return [`/newest/${lookupOriginal}`, `/${lookupOriginal}`].includes(target.pathname + target.search) || Boolean(todaySnapshotUrl(value, value) || replayIdentity(value, url, "archive.today"));
128
132
  }
129
- if (wayback.error)
130
- errors.push(wayback.error);
131
- }
132
- if (archiveMdEnabled()) {
133
- const archiveMd = await fetchArchiveMd(url, timeoutMs);
134
- if (archiveMd.result && archiveImprovesContent(active, archiveMd.result)) {
135
- return { active: archiveMd.result, errors };
133
+ catch {
134
+ return false;
136
135
  }
137
- if (archiveMd.error)
138
- errors.push(archiveMd.error);
136
+ };
137
+ const request = async (endpoint) => {
138
+ if (remaining() <= 0 || controller.signal.aborted)
139
+ return null;
140
+ const slice = new AbortController();
141
+ const signal = AbortSignal.any([controller.signal, slice.signal]);
142
+ let timer;
143
+ const timedOut = new Promise(resolve => {
144
+ timer = setTimeout(() => {
145
+ slice.abort();
146
+ resolve(null);
147
+ }, Math.max(0, Math.min(2000, remaining())));
148
+ });
149
+ try {
150
+ // Every redirect stays on known archive origins; provider-policy also
151
+ // validates public DNS/IP before each hop. No cookies/auth are sent.
152
+ const response = await Promise.race([fetchProviderText(endpoint, Math.min(2000, remaining()), { headers: HEADERS, signal }, { mode: "same-origin", sourceUrl: endpoint, allowedOrigins: ORIGINS, deadlineAt, allowedUrl: retrievalRoute }), timedOut]);
153
+ if (!response || remaining() <= 0) {
154
+ errors.push(error("archive_request_timeout", "Archive request exceeded its shared budget", "timeout"));
155
+ return null;
156
+ }
157
+ if (!response.ok) {
158
+ errors.push({ ...response.error, code: `archive_${response.error.code}` });
159
+ return null;
160
+ }
161
+ return response;
162
+ }
163
+ finally {
164
+ clearTimeout(timer);
165
+ slice.abort();
166
+ }
167
+ };
168
+ const work = async () => {
169
+ const validation = await validateOutboundUrl(url);
170
+ if (remaining() <= 0 || controller.signal.aborted)
171
+ return null;
172
+ if (!validation.ok) {
173
+ errors.push(error("archive_source_blocked", validation.message, "block"));
174
+ return null;
175
+ }
176
+ const accept = (html, provider, snapshotUrl, capturedAt) => {
177
+ const content = readableSnapshot(html, url);
178
+ if (!content || (stripTags(content).length < stripTags(active.content).length && active.ok && !hasPaywallMarker(stripTags(active.content)))) {
179
+ errors.push(error("archive_snapshot_unreadable", "Snapshot is blocked, an index, or lacks readable original content"));
180
+ return null;
181
+ }
182
+ return resultFromSnapshot(content, url, provider, snapshotUrl, capturedAt);
183
+ };
184
+ if (configEnabled("fetch.enableWayback", true)) {
185
+ const available = await request(`https://archive.org/wayback/available?url=${encodeURIComponent(url)}`);
186
+ if (available) {
187
+ let closest;
188
+ try {
189
+ closest = JSON.parse(available.text)?.archived_snapshots?.closest;
190
+ }
191
+ catch {
192
+ errors.push(error("wayback_payload_invalid", "Wayback discovery returned invalid JSON"));
193
+ }
194
+ const metadata = closest && typeof closest === "object" ? closest : {};
195
+ const replay = typeof metadata.url === "string" ? replayIdentity(metadata.url, url, "wayback") : null;
196
+ if (!replay || metadata.available === false || (metadata.status !== undefined && metadata.status !== "200" && metadata.status !== 200) || (metadata.timestamp !== undefined && metadata.timestamp !== replay.capturedAt.replace(/\D/g, "").slice(0, 14))) {
197
+ errors.push(error("wayback_snapshot_missing", "No valid exact-original Wayback snapshot available"));
198
+ }
199
+ else {
200
+ const snapshot = await request(replay.snapshotUrl);
201
+ const landed = snapshot && replayIdentity(snapshot.final_url, url, "wayback");
202
+ if (snapshot && landed) {
203
+ const result = accept(snapshot.text, "wayback", landed.snapshotUrl, landed.capturedAt);
204
+ if (result)
205
+ return result;
206
+ }
207
+ else if (snapshot)
208
+ errors.push(error("wayback_identity_mismatch", "Wayback redirect changed the original identity"));
209
+ }
210
+ }
211
+ }
212
+ if (configEnabled("fetch.enableArchiveMd", true)) {
213
+ // GET existing captures only. Never submit a capture or interact with forms.
214
+ for (const host of TODAY_HOSTS) {
215
+ if (remaining() <= 0 || controller.signal.aborted)
216
+ break;
217
+ let lookup = await request(`https://${host}/newest/${lookupOriginal}`);
218
+ // A missing newest route may still have an exact-URL capture list.
219
+ // Do not retry a challenge/rate-limit through the search endpoint.
220
+ if (!lookup && errors.at(-1)?.code === "archive_provider_fetch_failed" && errors.at(-1)?.message === "status=404")
221
+ lookup = await request(`https://${host}/${lookupOriginal}`);
222
+ if (!lookup)
223
+ continue;
224
+ const queue = [lookup];
225
+ const visited = new Set([lookup.final_url]);
226
+ let followed = 0;
227
+ while (queue.length && remaining() > 0) {
228
+ const page = queue.shift();
229
+ const { document } = parseHTML(page.text);
230
+ const longNode = document.querySelector("#SHARE_LONGLINK");
231
+ const longLink = longNode && !longNode.closest("#CONTENT,article,main") ? longNode.getAttribute("value") || "" : "";
232
+ const declaredNode = document.querySelector("input#url");
233
+ const declared = declaredNode && !declaredNode.closest("#CONTENT,article,main") ? declaredNode.getAttribute("value") || "" : "";
234
+ const replay = replayIdentity(page.final_url, url, "archive.today") || replayIdentity(longLink, url, "archive.today");
235
+ const short = todaySnapshotUrl(page.final_url, page.final_url);
236
+ if (replay && (!declared || sameOriginal(declared, url)) && (short || replayIdentity(page.final_url, url, "archive.today"))) {
237
+ const result = accept(page.text, "archive.today", short || page.final_url, replay.capturedAt);
238
+ if (result)
239
+ return result;
240
+ }
241
+ // A list identifies candidates, never article content. Follow at most
242
+ // three snapshots per host and independently bind their original/time.
243
+ for (const anchor of document.querySelectorAll("a[href]")) {
244
+ if (followed >= 3 || remaining() <= 0)
245
+ break;
246
+ const href = anchor.getAttribute("href") || "";
247
+ let absolute = "";
248
+ try {
249
+ absolute = new URL(href, page.final_url).href;
250
+ }
251
+ catch {
252
+ continue;
253
+ }
254
+ const candidate = todaySnapshotUrl(href, page.final_url) || replayIdentity(absolute, url, "archive.today")?.snapshotUrl;
255
+ if (!candidate || visited.has(candidate))
256
+ continue;
257
+ visited.add(candidate);
258
+ followed++;
259
+ const snapshot = await request(candidate);
260
+ if (snapshot)
261
+ queue.push(snapshot);
262
+ }
263
+ }
264
+ }
265
+ }
266
+ return null;
267
+ };
268
+ try {
269
+ const result = await Promise.race([work(), expired]);
270
+ if (controller.signal.aborted || remaining() <= 0)
271
+ errors.push(error("archive_deadline_exceeded", "Archive fallback shared deadline expired", "timeout"));
272
+ if (result && remaining() > 0)
273
+ return { active: result, errors };
274
+ if (!errors.length)
275
+ errors.push(error("archive_fallback_unavailable", "No readable exact-original existing archive snapshot found"));
276
+ return { active, errors: [...errors] };
139
277
  }
140
- if (errors.length === 0) {
141
- errors.push({ category: "unavailable", code: "archive_fallback_unavailable", message: "No archive fallback improved the page" });
278
+ finally {
279
+ clearTimeout(expiry);
280
+ controller.abort();
142
281
  }
143
- return { active, errors };
144
282
  }
145
283
  //# sourceMappingURL=archive-fallback.js.map