smart-web-mcp 1.10.1 → 1.10.3
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 +16 -0
- package/dist/browser-session.d.ts +2 -0
- package/dist/browser-session.js +8 -2
- package/dist/browser-session.js.map +1 -1
- package/dist/extraction/budget.js +33 -0
- package/dist/extraction/budget.js.map +1 -1
- package/dist/extraction/toc.d.ts +21 -0
- package/dist/extraction/toc.js +80 -0
- package/dist/extraction/toc.js.map +1 -0
- package/dist/smartfetch/providers/article.js +14 -5
- package/dist/smartfetch/providers/article.js.map +1 -1
- package/dist/smartfetch.js +131 -12
- package/dist/smartfetch.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ import { tryFeedFallback, tryStructuredGenericFallback } from "../generic-fallba
|
|
|
6
6
|
import { hasPaywallMarker, stripPaywallBoilerplate } from "../paywall.js";
|
|
7
7
|
import { collectBbPressPages, extractGenericDiscussion } from "../generic-discussion.js";
|
|
8
8
|
import { isMissingPageShell } from "../missing-page.js";
|
|
9
|
+
import { extractDocumentToc } from "../../extraction/toc.js";
|
|
9
10
|
/**
|
|
10
11
|
* When the browser lane was used, `context.active.anchors` contains the full
|
|
11
12
|
* DOM anchor list including href + text. Extract absolute hrefs from it,
|
|
@@ -375,19 +376,25 @@ export async function normalizeArticleLike(context, extra) {
|
|
|
375
376
|
scopeArticle: !indexLike,
|
|
376
377
|
});
|
|
377
378
|
const article = articleFieldsFromDocument(document);
|
|
378
|
-
|
|
379
|
+
// A source-bound short original is not an unavailable page just because
|
|
380
|
+
// whole-page navigation/reply text makes a generic transport heuristic weak.
|
|
381
|
+
const verifiedDiscussionOriginal = Boolean(discussion && article.text && !article.quality?.partial && !isMissingPageShell(article));
|
|
382
|
+
const reference = requestedReplyPage || verifiedDiscussionOriginal ? null : await tryArticleReferenceFallback(context, article);
|
|
379
383
|
if (reference)
|
|
380
384
|
return reference;
|
|
381
|
-
const structured = requestedReplyPage ? null : tryStructuredGenericFallback(context, article);
|
|
385
|
+
const structured = requestedReplyPage || verifiedDiscussionOriginal ? null : tryStructuredGenericFallback(context, article);
|
|
382
386
|
if (structured)
|
|
383
387
|
return structured;
|
|
384
|
-
const feed = requestedReplyPage ? null : await tryFeedFallback(context, article);
|
|
388
|
+
const feed = requestedReplyPage || verifiedDiscussionOriginal ? null : await tryFeedFallback(context, article);
|
|
385
389
|
if (feed)
|
|
386
390
|
return feed;
|
|
387
391
|
const missingOriginal = isMissingPageShell(article);
|
|
388
392
|
const replyPageUnverified = requestedReplyPage && !verifiedReplyPage;
|
|
389
393
|
const ok = Boolean(article.text) && !article.quality?.partial && !missingOriginal && !replyPageUnverified;
|
|
390
394
|
const base = context.resolvedUrl || context.url;
|
|
395
|
+
// Chapter/section indexes are source-owned navigation, not article prose.
|
|
396
|
+
// Inspect the acquired document even when primary-content selection omitted it.
|
|
397
|
+
const toc = requestedHash || discussion ? null : extractDocumentToc(context.active.content, base);
|
|
391
398
|
// Keep the selected original and source-bound reply bodies, not row controls
|
|
392
399
|
// or whole-page browser inventories, as the discussion's evidence scope.
|
|
393
400
|
const scopedHtml = document.scopedHtml === undefined ? undefined
|
|
@@ -486,6 +493,7 @@ export async function normalizeArticleLike(context, extra) {
|
|
|
486
493
|
description: article.description,
|
|
487
494
|
text: article.text,
|
|
488
495
|
body_coverage: { collected_chars: article.text.length, complete: ok },
|
|
496
|
+
...(toc ? { toc: toc.entries, toc_coverage: toc.coverage } : {}),
|
|
489
497
|
...(context.includeComments && discussion ? { comment_coverage: discussion.coverage } : {}),
|
|
490
498
|
author: article.author,
|
|
491
499
|
image: article.image,
|
|
@@ -501,10 +509,11 @@ export async function normalizeArticleLike(context, extra) {
|
|
|
501
509
|
},
|
|
502
510
|
thread,
|
|
503
511
|
comments: context.includeComments ? discussion?.comments || [] : [],
|
|
504
|
-
outbound_links:
|
|
512
|
+
outbound_links: toc ? cleanNormalizedLinks([...toc.entries.map(entry => entry.url), ...outboundLinks])
|
|
513
|
+
: document.scopedHtml ? cleanNormalizedLinks(outboundLinks) : dedupeUrls(outboundLinks),
|
|
505
514
|
...(scopedHtml ? { assetHtml: scopedHtml } : {}),
|
|
506
515
|
...(discussion?.continuationContent !== undefined ? { continuationContent: discussion.continuationContent } : {}),
|
|
507
|
-
partial: !ok || Boolean(context.includeComments && discussion && !discussion.coverage.complete),
|
|
516
|
+
partial: !ok || Boolean(toc && !toc.coverage.complete) || Boolean(context.includeComments && discussion && !discussion.coverage.complete),
|
|
508
517
|
errors: replyPageUnverified
|
|
509
518
|
? [...context.errors, { category: "unavailable", code: "reply_page_unverified", message: "The requested reply page lacks source-bound pagination and original evidence" }]
|
|
510
519
|
: missingOriginal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/article.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"article.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/article.ts"],"names":[],"mappings":"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"}
|
package/dist/smartfetch.js
CHANGED
|
@@ -20,6 +20,9 @@ import { naverBlogMobilePostUrl } from "./smartfetch/providers/naver-blog.js";
|
|
|
20
20
|
import { NAVER_CAFE_READY_SELECTOR, naverCafeMobilePostUrl } from "./smartfetch/providers/naver-cafe-native.js";
|
|
21
21
|
import { exportComments } from "./comment-export.js";
|
|
22
22
|
import { exportBody } from "./body-export.js";
|
|
23
|
+
import { inspectPageAccess } from "./page-access.js";
|
|
24
|
+
import { isMissingPageShell } from "./smartfetch/missing-page.js";
|
|
25
|
+
import { extractDocumentFromAdapter } from "./extraction/document.js";
|
|
23
26
|
const FAILURE_CACHE_TTL_MS = 30_000;
|
|
24
27
|
const IMPIT_MAX_REDIRECTS = 5;
|
|
25
28
|
const TEXT_RENDER_LIMITS = {
|
|
@@ -73,6 +76,38 @@ function operatorRecoveryReason(result) {
|
|
|
73
76
|
}
|
|
74
77
|
return "";
|
|
75
78
|
}
|
|
79
|
+
async function genericBrowserRecoveryReason(browser, requestedUrl, previousText) {
|
|
80
|
+
if (!browser.ok || hasTerminalSafetyBlock([browser.error]) || browser.http_status === 429 || browser.retry_after)
|
|
81
|
+
return "browser recovery failed or requires backoff";
|
|
82
|
+
let exact = false;
|
|
83
|
+
try {
|
|
84
|
+
const landed = new URL(browser.final_url || "");
|
|
85
|
+
exact = sameDiscussionIdentity(new URL(requestedUrl), landed);
|
|
86
|
+
}
|
|
87
|
+
catch { /* Missing browser identity is not a recovered original. */ }
|
|
88
|
+
if (!exact)
|
|
89
|
+
return "browser recovery changed source identity";
|
|
90
|
+
const access = inspectPageAccess(browser.content);
|
|
91
|
+
if (access.auth || access.interactive || access.evidence)
|
|
92
|
+
return "browser recovery requires user participation";
|
|
93
|
+
// Verify original-body acquisition here; fragment/reply intent is checked by
|
|
94
|
+
// the existing scoped normalizer, not a whole-body preflight.
|
|
95
|
+
const bodyUrl = new URL(requestedUrl);
|
|
96
|
+
bodyUrl.hash = "";
|
|
97
|
+
const article = await extractDocumentFromAdapter(browser, bodyUrl.href);
|
|
98
|
+
if (article.quality?.partial || !article.text.trim() || isMissingPageShell(article)
|
|
99
|
+
|| previousText !== undefined && article.text.trim() === previousText.trim())
|
|
100
|
+
return "browser recovery did not verify readable original content";
|
|
101
|
+
return "";
|
|
102
|
+
}
|
|
103
|
+
function browserRecoveryBoundary(browser, rejected) {
|
|
104
|
+
if (browser.http_status === 429 || browser.retry_after || hasTerminalSafetyBlock([browser.error]) || browser.error?.code === "operator_browser_user_required")
|
|
105
|
+
return browser;
|
|
106
|
+
if (rejected === "browser recovery requires user participation")
|
|
107
|
+
return { ...browser, ok: false,
|
|
108
|
+
error: { category: "block", code: "operator_browser_user_required", message: "Approved browser reached a mandatory participation boundary; user action is required" } };
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
76
111
|
function preflightCooldown(result, method) {
|
|
77
112
|
if (result.http_status !== 429 && !result.retry_after)
|
|
78
113
|
return undefined;
|
|
@@ -428,6 +463,8 @@ async function runPlaywrightFetch(url, timeoutMs, target, profileDir, waitForSel
|
|
|
428
463
|
content: "",
|
|
429
464
|
links: [],
|
|
430
465
|
error: result.error,
|
|
466
|
+
...(result.http_status !== undefined ? { http_status: result.http_status } : {}),
|
|
467
|
+
...(result.retry_after ? { retry_after: result.retry_after } : {}),
|
|
431
468
|
};
|
|
432
469
|
}
|
|
433
470
|
return {
|
|
@@ -945,19 +982,28 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
945
982
|
else if (operatorRecoveryReason(active) || needsBotChallengeBrowserUpgrade(active)) {
|
|
946
983
|
// Direct-client failure does not prove the approved browser cannot read it.
|
|
947
984
|
const browserResult = await runPlaywrightFetchWithRuntime(options.url, remaining(), target, runtime, profileDir, options.wait_for, options.includeComments);
|
|
985
|
+
const rejected = target === "generic" ? await genericBrowserRecoveryReason(browserResult, options.url) : "";
|
|
948
986
|
browserAttempt.attempted = true;
|
|
949
|
-
browserAttempt.ok = browserResult.ok;
|
|
987
|
+
browserAttempt.ok = browserResult.ok && !rejected;
|
|
950
988
|
browserAttempt.method = browserResult.method;
|
|
951
989
|
browserAttempt.reason = operatorRecoveryReason(active) || "impit returned bot-challenge interstitial — upgraded to browser";
|
|
990
|
+
if (rejected)
|
|
991
|
+
browserAttempt.reason += `; ${rejected}`;
|
|
952
992
|
output.evidence.playwright_attempted = true;
|
|
953
993
|
output.retrieval_method.push(browserResult.method);
|
|
954
994
|
if (browserResult.error)
|
|
955
995
|
output.errors.push(browserResult.error);
|
|
956
996
|
remaining();
|
|
957
|
-
output.evidence.playwright_success =
|
|
997
|
+
output.evidence.playwright_success = browserAttempt.ok;
|
|
958
998
|
effectiveLane = "browser";
|
|
959
999
|
effectiveReason = browserAttempt.reason;
|
|
960
|
-
|
|
1000
|
+
const boundary = browserRecoveryBoundary(browserResult, rejected);
|
|
1001
|
+
if (boundary) {
|
|
1002
|
+
active = boundary;
|
|
1003
|
+
if (boundary.error && !browserResult.error)
|
|
1004
|
+
output.errors.push(boundary.error);
|
|
1005
|
+
}
|
|
1006
|
+
else if (browserAttempt.ok)
|
|
961
1007
|
active = browserResult;
|
|
962
1008
|
}
|
|
963
1009
|
}
|
|
@@ -987,7 +1033,49 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
987
1033
|
}
|
|
988
1034
|
const archiveTarget = inferTarget(active.final_url || options.url, "auto");
|
|
989
1035
|
const archiveProvider = resolveSmartfetchProvider(active.final_url || options.url, archiveTarget);
|
|
990
|
-
|
|
1036
|
+
let suppressRetries = hasTerminalSafetyBlock([active.error]) || active.error?.code === "operator_browser_user_required" || active.http_status === 429 || Boolean(active.retry_after);
|
|
1037
|
+
let genericRecoveryIncomplete = false;
|
|
1038
|
+
// A transport-success shell is not a fulfilled generic read. Use the approved
|
|
1039
|
+
// owned browser once before optional relays, without asking for force_dynamic.
|
|
1040
|
+
// Preserve cheap structured/feed recovery and real participation boundaries.
|
|
1041
|
+
if (target === "generic" && effectiveLane === "direct" && !browserAttempt.attempted && !suppressRetries
|
|
1042
|
+
&& !options.includeComments && !new URL(options.url).hash
|
|
1043
|
+
&& !profileDir && configText("fetch.browserCdpUrl") && active.ok
|
|
1044
|
+
&& !/self\.__next_f\.push\(|<script[^>]*id=["']__NEXT_DATA__["']|<link[^>]*type=["']application\/(?:rss|atom)\+xml["']/i.test(active.content)) {
|
|
1045
|
+
const directAccess = inspectPageAccess(active.content);
|
|
1046
|
+
const article = await extractDocumentFromAdapter(active, options.url);
|
|
1047
|
+
remaining();
|
|
1048
|
+
if (!directAccess.auth && !directAccess.interactive && !directAccess.evidence
|
|
1049
|
+
&& !isMissingPageShell(article)
|
|
1050
|
+
&& (article.quality?.partial || /^(?:loading(?:\s+(?:content|page|article|documentation))?(?:\.{1,3}|…)?|please wait(?:\.{1,3}|…)?)$/i.test(article.text.trim()))) {
|
|
1051
|
+
const browserResult = await runPlaywrightFetchWithRuntime(options.url, remaining(), target, runtime, profileDir, options.wait_for, options.includeComments);
|
|
1052
|
+
remaining();
|
|
1053
|
+
const rejected = await genericBrowserRecoveryReason(browserResult, options.url, article.text);
|
|
1054
|
+
remaining();
|
|
1055
|
+
browserAttempt.attempted = true;
|
|
1056
|
+
browserAttempt.ok = browserResult.ok && !rejected;
|
|
1057
|
+
browserAttempt.method = browserResult.method;
|
|
1058
|
+
browserAttempt.reason = `low-yield direct original — approved browser before optional relays${rejected ? `; ${rejected}` : ""}`;
|
|
1059
|
+
output.evidence.playwright_attempted = true;
|
|
1060
|
+
output.evidence.playwright_success = browserAttempt.ok;
|
|
1061
|
+
output.retrieval_method.push(browserResult.method);
|
|
1062
|
+
if (browserResult.error)
|
|
1063
|
+
output.errors.push(browserResult.error);
|
|
1064
|
+
genericRecoveryIncomplete = !browserAttempt.ok;
|
|
1065
|
+
const boundary = browserRecoveryBoundary(browserResult, rejected);
|
|
1066
|
+
if (boundary) {
|
|
1067
|
+
active = boundary;
|
|
1068
|
+
if (boundary.error && !browserResult.error)
|
|
1069
|
+
output.errors.push(boundary.error);
|
|
1070
|
+
suppressRetries = true;
|
|
1071
|
+
}
|
|
1072
|
+
if (browserAttempt.ok) {
|
|
1073
|
+
active = browserResult;
|
|
1074
|
+
effectiveLane = "browser";
|
|
1075
|
+
effectiveReason = browserAttempt.reason;
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
991
1079
|
// A visible review-to-unlock prompt is a participation boundary, not a
|
|
992
1080
|
// weak article to be sent through third-party relay/archive retries.
|
|
993
1081
|
const lockedBlindPreview = ["teamblind.com", "www.teamblind.com"].includes(new URL(options.url).hostname)
|
|
@@ -1054,6 +1142,8 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
1054
1142
|
output.errors.push(...relayed.errors);
|
|
1055
1143
|
const jinaErrors = relayed.errors.filter((error) => error.code.startsWith("jina_reader"));
|
|
1056
1144
|
const jinaSucceeded = active.method === "jina_reader" || active.method === "jina_reader_json";
|
|
1145
|
+
if (jinaSucceeded)
|
|
1146
|
+
genericRecoveryIncomplete = false;
|
|
1057
1147
|
jinaAttempt.attempted = jinaSucceeded || jinaErrors.length > 0 || active.method !== beforeMethod;
|
|
1058
1148
|
jinaAttempt.ok = jinaSucceeded;
|
|
1059
1149
|
if (jinaSucceeded)
|
|
@@ -1088,11 +1178,12 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
1088
1178
|
? archiveErrors[0]?.message || "Archive fallback did not improve the page"
|
|
1089
1179
|
: "Archive fallback was eligible but was not used or not needed";
|
|
1090
1180
|
if (archiveSucceeded) {
|
|
1181
|
+
genericRecoveryIncomplete = false;
|
|
1091
1182
|
usedArchive = true;
|
|
1092
1183
|
output.retrieval_method.push(active.method);
|
|
1093
1184
|
}
|
|
1094
1185
|
}
|
|
1095
|
-
if (effectiveLane === "direct" && (needsDynamicCrawl(active) || needsSpaBrowserFallback(active))) {
|
|
1186
|
+
if (effectiveLane === "direct" && !suppressRetries && (needsDynamicCrawl(active) || needsSpaBrowserFallback(active))) {
|
|
1096
1187
|
const scraped = await maybeUseAdaptiveScraper(active.final_url || options.url, active, remaining());
|
|
1097
1188
|
remaining();
|
|
1098
1189
|
output.errors.push(...scraped.errors);
|
|
@@ -1105,6 +1196,7 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
1105
1196
|
delete adaptiveScraperAttempt.method;
|
|
1106
1197
|
if (scraped.succeeded) {
|
|
1107
1198
|
active = scraped.active;
|
|
1199
|
+
genericRecoveryIncomplete = false;
|
|
1108
1200
|
output.retrieval_method.push(scraped.active.method);
|
|
1109
1201
|
}
|
|
1110
1202
|
}
|
|
@@ -1117,22 +1209,32 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
1117
1209
|
// SPA auto-fallback: after cheap alternatives (Jina, archive, adaptive scraper) didn't help,
|
|
1118
1210
|
// if the direct fetch result looks like an SPA shell, upgrade to Playwright.
|
|
1119
1211
|
// This must come AFTER Jina/archive so those cheap paths get a chance first.
|
|
1120
|
-
if (effectiveLane === "direct" && !browserAttempt.attempted && needsSpaBrowserFallback(active)) {
|
|
1212
|
+
if (effectiveLane === "direct" && !suppressRetries && !browserAttempt.attempted && needsSpaBrowserFallback(active)) {
|
|
1121
1213
|
const browserResult = await runPlaywrightFetchWithRuntime(options.url, remaining(), target, runtime, profileDir, options.wait_for, options.includeComments);
|
|
1214
|
+
const rejected = target === "generic" ? await genericBrowserRecoveryReason(browserResult, options.url) : "";
|
|
1122
1215
|
browserAttempt.attempted = true;
|
|
1123
|
-
browserAttempt.ok = browserResult.ok;
|
|
1216
|
+
browserAttempt.ok = browserResult.ok && !rejected;
|
|
1124
1217
|
browserAttempt.method = browserResult.method;
|
|
1125
|
-
browserAttempt.reason =
|
|
1218
|
+
browserAttempt.reason = `direct fetch returned SPA shell — auto-fallback to browser for JS rendering${rejected ? `; ${rejected}` : ""}`;
|
|
1126
1219
|
output.evidence.playwright_attempted = true;
|
|
1127
1220
|
output.retrieval_method.push(browserResult.method);
|
|
1128
1221
|
if (browserResult.error)
|
|
1129
1222
|
output.errors.push(browserResult.error);
|
|
1130
1223
|
remaining();
|
|
1131
|
-
output.evidence.playwright_success =
|
|
1224
|
+
output.evidence.playwright_success = browserAttempt.ok;
|
|
1132
1225
|
effectiveLane = "browser";
|
|
1133
1226
|
effectiveReason = "direct fetch returned SPA shell — auto-fallback to browser for JS rendering";
|
|
1134
|
-
|
|
1227
|
+
const boundary = browserRecoveryBoundary(browserResult, rejected);
|
|
1228
|
+
if (boundary) {
|
|
1229
|
+
active = boundary;
|
|
1230
|
+
if (boundary.error && !browserResult.error)
|
|
1231
|
+
output.errors.push(boundary.error);
|
|
1232
|
+
suppressRetries = true;
|
|
1233
|
+
}
|
|
1234
|
+
else if (browserAttempt.ok)
|
|
1135
1235
|
active = browserResult;
|
|
1236
|
+
if (target === "generic" && !browserAttempt.ok)
|
|
1237
|
+
genericRecoveryIncomplete = true;
|
|
1136
1238
|
}
|
|
1137
1239
|
let recoveredBrowserDiscussion = null;
|
|
1138
1240
|
// A body-only direct success cannot satisfy an explicit discussion read.
|
|
@@ -1290,8 +1392,13 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
1290
1392
|
output.partial = true;
|
|
1291
1393
|
output.assessment = createAssessment({
|
|
1292
1394
|
confidence: "low", blocked_reason: active.error?.message || "Retrieval stopped",
|
|
1293
|
-
signals: [hasTerminalSafetyBlock([active.error]) ? "resolve:blocked" : "retrieval:cooldown"],
|
|
1395
|
+
signals: [hasTerminalSafetyBlock([active.error]) ? "resolve:blocked" : active.http_status === 429 || active.retry_after ? "retrieval:cooldown" : "retrieval:retry_suppressed"],
|
|
1294
1396
|
});
|
|
1397
|
+
if (active.error?.code === "operator_browser_user_required") {
|
|
1398
|
+
const suppressedSignals = output.assessment.signals;
|
|
1399
|
+
output.assessment = assessSmartfetchOutput({ url: options.url, requestedTarget: options.target || "auto", finalTarget: effectiveTarget, active, provider, output });
|
|
1400
|
+
output.assessment.signals.push(...suppressedSignals);
|
|
1401
|
+
}
|
|
1295
1402
|
output.pipeline.normalize = buildNormalizeStage({ provider, partial: true });
|
|
1296
1403
|
output.pipeline.assess = output.assessment;
|
|
1297
1404
|
return attachResearchHandoff(output);
|
|
@@ -1355,6 +1462,11 @@ async function runSmartfetchTask(options, runtime, deadlineAt, output) {
|
|
|
1355
1462
|
}, normalized);
|
|
1356
1463
|
remaining();
|
|
1357
1464
|
const enriched = academic.normalized;
|
|
1465
|
+
if (genericRecoveryIncomplete) {
|
|
1466
|
+
enriched.partial = true;
|
|
1467
|
+
if (enriched.post?.body_coverage && typeof enriched.post.body_coverage === "object")
|
|
1468
|
+
enriched.post.body_coverage = { ...enriched.post.body_coverage, complete: false };
|
|
1469
|
+
}
|
|
1358
1470
|
if (recoveredBrowserDiscussion && provider.id === "generic" && enriched.post) {
|
|
1359
1471
|
enriched.comments = recoveredBrowserDiscussion.comments;
|
|
1360
1472
|
enriched.post.comment_coverage = recoveredBrowserDiscussion.coverage;
|
|
@@ -1506,6 +1618,9 @@ export function renderSmartfetch(output, format) {
|
|
|
1506
1618
|
const exportReceipt = exported ? `Comment export: ${exported.path}\ncomments=${exported.comments_count} complete=${exported.complete} bytes=${exported.bytes} sha256=${exported.sha256}` : "";
|
|
1507
1619
|
const bodyExported = projected.body_export;
|
|
1508
1620
|
const bodyExportReceipt = bodyExported ? `Body export: ${bodyExported.path}\nchars=${bodyExported.chars} complete=${bodyExported.complete} bytes=${bodyExported.bytes} sha256=${bodyExported.sha256}` : "";
|
|
1621
|
+
const tocRows = Array.isArray(post.toc) ? post.toc.filter((row) => Boolean(row && typeof row === "object" && typeof row.title === "string" && typeof row.url === "string" && Number.isInteger(row.level) && row.level >= 0 && row.level <= 20)) : [];
|
|
1622
|
+
const tocCoverage = post.toc_coverage;
|
|
1623
|
+
const tocText = tocRows.length ? `Table of contents (${tocRows.length}/${tocCoverage?.collected_items ?? tocRows.length} collected entries delivered; complete=${tocCoverage?.complete === true}):\n${tocRows.map(row => `${" ".repeat(row.level)}- ${row.title} — ${row.url}`).join("\n")}` : "";
|
|
1509
1624
|
if (format === "text") {
|
|
1510
1625
|
// Explicit full output must not hide projected comments behind the compact text view.
|
|
1511
1626
|
// The projection policy still bounds each field and the total response.
|
|
@@ -1568,7 +1683,7 @@ export function renderSmartfetch(output, format) {
|
|
|
1568
1683
|
const continuation = assessment.continuation ? `continuation: ${assessment.continuation.status} — ${assessment.continuation.reason}` : "";
|
|
1569
1684
|
const budget = projected.budget?.truncated ? `budget: truncated fields=${Object.keys(projected.budget.fields).join(",")}` : "";
|
|
1570
1685
|
const compactBudget = renderBudget ? `text_view: ${fullPolicy ? "full" : "compact"} renderer omitted ${renderBudget}` : "";
|
|
1571
|
-
return [title, meta, exportReceipt, bodyExportReceipt, textBody.text, results.join("\n"), comments.join("\n"), linkItems.visible.join("\n"), download, assets.join("\n"), handoff, continuation, budget, compactBudget].filter(Boolean).join("\n\n").trim();
|
|
1686
|
+
return [title, meta, exportReceipt, bodyExportReceipt, tocText, textBody.text, results.join("\n"), comments.join("\n"), linkItems.visible.join("\n"), download, assets.join("\n"), handoff, continuation, budget, compactBudget].filter(Boolean).join("\n\n").trim();
|
|
1572
1687
|
}
|
|
1573
1688
|
const parts = [];
|
|
1574
1689
|
const url = String(post?.url || projected.url || "").trim();
|
|
@@ -1604,6 +1719,8 @@ export function renderSmartfetch(output, format) {
|
|
|
1604
1719
|
parts.push("Interactive flow likely: yes");
|
|
1605
1720
|
if (meta.length > 0)
|
|
1606
1721
|
parts.push(meta.join("\n"));
|
|
1722
|
+
if (tocText)
|
|
1723
|
+
parts.push(`## ${tocText}`);
|
|
1607
1724
|
if (text)
|
|
1608
1725
|
parts.push(text);
|
|
1609
1726
|
if (Array.isArray(projected.comments) && projected.comments.length > 0) {
|
|
@@ -1707,6 +1824,8 @@ async function runPlaywrightFetchWithRuntime(url, timeoutMs, target, runtime, pr
|
|
|
1707
1824
|
content: "",
|
|
1708
1825
|
links: [],
|
|
1709
1826
|
error: result.error,
|
|
1827
|
+
...(result.http_status !== undefined ? { http_status: result.http_status } : {}),
|
|
1828
|
+
...(result.retry_after ? { retry_after: result.retry_after } : {}),
|
|
1710
1829
|
};
|
|
1711
1830
|
}
|
|
1712
1831
|
return {
|