smart-web-mcp 0.44.0 → 1.0.0

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.
Files changed (159) hide show
  1. package/CHANGELOG.md +352 -1
  2. package/README.md +33 -566
  3. package/dist/assessment.d.ts +10 -3
  4. package/dist/assessment.js +21 -6
  5. package/dist/assessment.js.map +1 -1
  6. package/dist/body-export.d.ts +10 -0
  7. package/dist/body-export.js +28 -0
  8. package/dist/body-export.js.map +1 -0
  9. package/dist/browser-session.d.ts +32 -1
  10. package/dist/browser-session.js +373 -3
  11. package/dist/browser-session.js.map +1 -1
  12. package/dist/cli-fetch-options.d.ts +7 -0
  13. package/dist/cli-fetch-options.js +41 -0
  14. package/dist/cli-fetch-options.js.map +1 -0
  15. package/dist/cli.js +31 -12
  16. package/dist/cli.js.map +1 -1
  17. package/dist/comment-export.d.ts +10 -0
  18. package/dist/comment-export.js +39 -0
  19. package/dist/comment-export.js.map +1 -0
  20. package/dist/composition.d.ts +1 -22
  21. package/dist/composition.js +0 -16
  22. package/dist/composition.js.map +1 -1
  23. package/dist/extraction/budget.d.ts +3 -0
  24. package/dist/extraction/budget.js +88 -7
  25. package/dist/extraction/budget.js.map +1 -1
  26. package/dist/extraction/document.js +134 -9
  27. package/dist/extraction/document.js.map +1 -1
  28. package/dist/korea/coupang-filters.d.ts +5 -0
  29. package/dist/korea/coupang-filters.js +87 -0
  30. package/dist/korea/coupang-filters.js.map +1 -0
  31. package/dist/korea/coupang.d.ts +27 -6
  32. package/dist/korea/coupang.js +202 -82
  33. package/dist/korea/coupang.js.map +1 -1
  34. package/dist/korea/proxy-client.d.ts +1 -0
  35. package/dist/korea/proxy-client.js +6 -2
  36. package/dist/korea/proxy-client.js.map +1 -1
  37. package/dist/korea/smartvertical.d.ts +1 -0
  38. package/dist/korea/smartvertical.js +39 -25
  39. package/dist/korea/smartvertical.js.map +1 -1
  40. package/dist/lib.d.ts +4 -2
  41. package/dist/lib.js +2 -1
  42. package/dist/lib.js.map +1 -1
  43. package/dist/mcp-server.js +39 -15
  44. package/dist/mcp-server.js.map +1 -1
  45. package/dist/operator-browser-fixture.d.ts +7 -0
  46. package/dist/operator-browser-fixture.js +19 -0
  47. package/dist/operator-browser-fixture.js.map +1 -0
  48. package/dist/operator-canary-cli.d.ts +6 -0
  49. package/dist/operator-canary-cli.js +190 -0
  50. package/dist/operator-canary-cli.js.map +1 -0
  51. package/dist/operator-canary.d.ts +74 -0
  52. package/dist/operator-canary.js +135 -0
  53. package/dist/operator-canary.js.map +1 -0
  54. package/dist/operator-cdp.d.ts +15 -0
  55. package/dist/operator-cdp.js +195 -0
  56. package/dist/operator-cdp.js.map +1 -0
  57. package/dist/operator-frame.d.ts +3 -0
  58. package/dist/operator-frame.js +55 -0
  59. package/dist/operator-frame.js.map +1 -0
  60. package/dist/settings.d.ts +3 -0
  61. package/dist/settings.js +1 -0
  62. package/dist/settings.js.map +1 -1
  63. package/dist/shared.d.ts +47 -10
  64. package/dist/shared.js +15 -9
  65. package/dist/shared.js.map +1 -1
  66. package/dist/smartbrowser.d.ts +169 -0
  67. package/dist/smartbrowser.js +288 -0
  68. package/dist/smartbrowser.js.map +1 -0
  69. package/dist/smartcrawl.js +16 -21
  70. package/dist/smartcrawl.js.map +1 -1
  71. package/dist/smartfetch/academic-fallback.js +3 -5
  72. package/dist/smartfetch/academic-fallback.js.map +1 -1
  73. package/dist/smartfetch/archive-fallback.js +2 -5
  74. package/dist/smartfetch/archive-fallback.js.map +1 -1
  75. package/dist/smartfetch/assets.d.ts +1 -1
  76. package/dist/smartfetch/assets.js +28 -1
  77. package/dist/smartfetch/assets.js.map +1 -1
  78. package/dist/smartfetch/jina-reader.d.ts +1 -0
  79. package/dist/smartfetch/jina-reader.js +17 -3
  80. package/dist/smartfetch/jina-reader.js.map +1 -1
  81. package/dist/smartfetch/pipeline.js +15 -25
  82. package/dist/smartfetch/pipeline.js.map +1 -1
  83. package/dist/smartfetch/provider-policy.d.ts +3 -0
  84. package/dist/smartfetch/provider-policy.js +45 -2
  85. package/dist/smartfetch/provider-policy.js.map +1 -1
  86. package/dist/smartfetch/provider-types.d.ts +8 -0
  87. package/dist/smartfetch/providers/article.js +76 -10
  88. package/dist/smartfetch/providers/article.js.map +1 -1
  89. package/dist/smartfetch/providers/blind-post.d.ts +2 -0
  90. package/dist/smartfetch/providers/blind-post.js +167 -0
  91. package/dist/smartfetch/providers/blind-post.js.map +1 -0
  92. package/dist/smartfetch/providers/clien.d.ts +2 -0
  93. package/dist/smartfetch/providers/clien.js +157 -0
  94. package/dist/smartfetch/providers/clien.js.map +1 -0
  95. package/dist/smartfetch/providers/commerce.d.ts +15 -0
  96. package/dist/smartfetch/providers/commerce.js +123 -7
  97. package/dist/smartfetch/providers/commerce.js.map +1 -1
  98. package/dist/smartfetch/providers/dcinside.js +313 -20
  99. package/dist/smartfetch/providers/dcinside.js.map +1 -1
  100. package/dist/smartfetch/providers/hackernews-html.d.ts +21 -0
  101. package/dist/smartfetch/providers/hackernews-html.js +148 -0
  102. package/dist/smartfetch/providers/hackernews-html.js.map +1 -0
  103. package/dist/smartfetch/providers/hackernews.js +76 -14
  104. package/dist/smartfetch/providers/hackernews.js.map +1 -1
  105. package/dist/smartfetch/providers/index.js +7 -1
  106. package/dist/smartfetch/providers/index.js.map +1 -1
  107. package/dist/smartfetch/providers/linkedin.js +2 -1
  108. package/dist/smartfetch/providers/linkedin.js.map +1 -1
  109. package/dist/smartfetch/providers/naver-blog.d.ts +2 -0
  110. package/dist/smartfetch/providers/naver-blog.js +87 -45
  111. package/dist/smartfetch/providers/naver-blog.js.map +1 -1
  112. package/dist/smartfetch/providers/naver-cafe-native.d.ts +7 -0
  113. package/dist/smartfetch/providers/naver-cafe-native.js +188 -0
  114. package/dist/smartfetch/providers/naver-cafe-native.js.map +1 -0
  115. package/dist/smartfetch/providers/naver-cafe.js +165 -4
  116. package/dist/smartfetch/providers/naver-cafe.js.map +1 -1
  117. package/dist/smartfetch/providers/naver-map-search.js +1 -1
  118. package/dist/smartfetch/providers/naver-map-search.js.map +1 -1
  119. package/dist/smartfetch/providers/ppomppu.d.ts +2 -0
  120. package/dist/smartfetch/providers/ppomppu.js +289 -0
  121. package/dist/smartfetch/providers/ppomppu.js.map +1 -0
  122. package/dist/smartfetch/providers/reddit.js +24 -3
  123. package/dist/smartfetch/providers/reddit.js.map +1 -1
  124. package/dist/smartfetch/providers/threads.js +1 -1
  125. package/dist/smartfetch/providers/threads.js.map +1 -1
  126. package/dist/smartfetch/providers/wikipedia.js +138 -0
  127. package/dist/smartfetch/providers/wikipedia.js.map +1 -1
  128. package/dist/smartfetch.d.ts +11 -2
  129. package/dist/smartfetch.js +369 -78
  130. package/dist/smartfetch.js.map +1 -1
  131. package/dist/smartsearch-brave.d.ts +2 -0
  132. package/dist/smartsearch-brave.js +43 -0
  133. package/dist/smartsearch-brave.js.map +1 -0
  134. package/dist/smartsearch-browser.d.ts +5 -0
  135. package/dist/smartsearch-browser.js +116 -0
  136. package/dist/smartsearch-browser.js.map +1 -0
  137. package/dist/smartsearch-ddg.d.ts +2 -0
  138. package/dist/smartsearch-ddg.js +46 -0
  139. package/dist/smartsearch-ddg.js.map +1 -0
  140. package/dist/smartsearch-node.d.ts +6 -0
  141. package/dist/smartsearch-node.js +21 -0
  142. package/dist/smartsearch-node.js.map +1 -0
  143. package/dist/smartsearch-postgresql.d.ts +7 -0
  144. package/dist/smartsearch-postgresql.js +44 -0
  145. package/dist/smartsearch-postgresql.js.map +1 -0
  146. package/dist/smartsearch-python.d.ts +8 -0
  147. package/dist/smartsearch-python.js +87 -0
  148. package/dist/smartsearch-python.js.map +1 -0
  149. package/dist/smartsearch-quality.d.ts +6 -0
  150. package/dist/smartsearch-quality.js +47 -0
  151. package/dist/smartsearch-quality.js.map +1 -0
  152. package/dist/smartsearch-youtube.d.ts +7 -0
  153. package/dist/smartsearch-youtube.js +76 -0
  154. package/dist/smartsearch-youtube.js.map +1 -0
  155. package/dist/smartsearch.d.ts +3 -0
  156. package/dist/smartsearch.js +617 -132
  157. package/dist/smartsearch.js.map +1 -1
  158. package/package.json +8 -5
  159. package/python/requirements-undetected-chromedriver.txt +2 -2
@@ -51,7 +51,7 @@ const SMARTFETCH_BUDGET_PRESETS = {
51
51
  maxPostTextChars: 30000,
52
52
  maxPostMarkdownChars: 40000,
53
53
  maxThreadItems: 25,
54
- maxCommentItems: 25,
54
+ maxCommentItems: 30,
55
55
  maxOutboundLinks: 150,
56
56
  maxAssets: 40,
57
57
  maxBlocks: 40,
@@ -61,7 +61,7 @@ const SMARTFETCH_BUDGET_PRESETS = {
61
61
  maxNestedArrayItems: 100,
62
62
  maxNestedStringChars: 12000,
63
63
  maxTotalRecordEntries: 2500,
64
- maxTotalRecordStringChars: 120000,
64
+ maxTotalRecordStringChars: 100000,
65
65
  maxRecordDepth: 12,
66
66
  maxRecordKeyChars: 480,
67
67
  maxEnvelopeArrayItems: 100,
@@ -115,13 +115,34 @@ export function budgetText(value, maxChars) {
115
115
  if (text.length <= maxChars) {
116
116
  return { value: text, metadata: { truncated: false, original_chars: text.length, returned_chars: text.length } };
117
117
  }
118
- const omitted = text.length - maxChars;
119
- const marker = `\n\n[truncated: ${omitted} chars omitted]`;
120
- const sliceLength = Math.max(0, maxChars - marker.length);
121
- const next = `${text.slice(0, sliceLength).trimEnd()}${marker}`.slice(0, maxChars);
118
+ const sourcePrefix = (length) => {
119
+ // Keep UTF-16 budget units, but do not cut a valid surrogate pair in half.
120
+ const previous = text.charCodeAt(length - 1);
121
+ const next = text.charCodeAt(length);
122
+ if (previous >= 0xD800 && previous <= 0xDBFF && next >= 0xDC00 && next <= 0xDFFF)
123
+ length -= 1;
124
+ return text.slice(0, length).trimEnd();
125
+ };
126
+ let prefix = sourcePrefix(maxChars);
127
+ let omitted = text.length - prefix.length;
128
+ let marker = `\n\n[truncated: ${omitted} chars omitted]`;
129
+ // Reserving the marker can increase the omitted count's digit width. Prefixes
130
+ // only shrink, so recomputing the marker converges without scanning the source.
131
+ while (marker.length <= maxChars && prefix.length + marker.length > maxChars) {
132
+ prefix = sourcePrefix(maxChars - marker.length);
133
+ omitted = text.length - prefix.length;
134
+ marker = `\n\n[truncated: ${omitted} chars omitted]`;
135
+ }
136
+ if (marker.length > maxChars) {
137
+ // Tiny budgets retain useful source text; metadata still declares the loss.
138
+ prefix = sourcePrefix(maxChars);
139
+ omitted = text.length - prefix.length;
140
+ marker = "";
141
+ }
142
+ const next = `${prefix}${marker}`;
122
143
  return {
123
144
  value: next,
124
- metadata: { truncated: true, original_chars: text.length, returned_chars: next.length },
145
+ metadata: { truncated: true, original_chars: text.length, returned_chars: next.length, omitted_chars: omitted },
125
146
  };
126
147
  }
127
148
  function budgetList(items, maxItems) {
@@ -162,6 +183,11 @@ export function projectRetrievalAssessment(assessment, policy, metadata, path =
162
183
  blocked_reason: projectText(assessment.blocked_reason, policy.maxTextChars, `${path}.blocked_reason`),
163
184
  signals: signals.items.map((signal, index) => projectText(signal, policy.maxSignalChars, `${path}.signals.${index}`)),
164
185
  recommended_handoff: recommendedHandoff,
186
+ continuation: assessment.continuation ? {
187
+ ...assessment.continuation,
188
+ reason: projectText(assessment.continuation.reason, policy.maxTextChars, `${path}.continuation.reason`),
189
+ url: projectText(assessment.continuation.url, policy.maxUrlChars, `${path}.continuation.url`),
190
+ } : null,
165
191
  };
166
192
  }
167
193
  function maxStringCharsForPath(path, policy) {
@@ -281,6 +307,14 @@ function projectStructuredValue(value, policy, state, metadata, path, depth) {
281
307
  }
282
308
  return projected;
283
309
  }
310
+ function isCommentCoverage(value) {
311
+ if (!value || typeof value !== "object" || Array.isArray(value))
312
+ return false;
313
+ const coverage = value;
314
+ const count = (input) => typeof input === "number" && Number.isSafeInteger(input) && input >= 0;
315
+ return (coverage.declared_count === null || count(coverage.declared_count)) && count(coverage.collected_count)
316
+ && typeof coverage.complete === "boolean" && (coverage.retrieval_complete === undefined || typeof coverage.retrieval_complete === "boolean");
317
+ }
284
318
  export function projectSmartfetchOutput(output, rawPolicy = resolveSmartfetchBudgetPolicy()) {
285
319
  const policy = { ...DEFAULT_SMARTFETCH_BUDGET, ...rawPolicy };
286
320
  const metadata = {};
@@ -337,6 +371,48 @@ export function projectSmartfetchOutput(output, rawPolicy = resolveSmartfetchBud
337
371
  next.comments = comments.items.map((item, index) => projectStructuredValue(item, policy, projectionState, metadata, `comments.${index}`, 0));
338
372
  if (comments.metadata.truncated)
339
373
  metadata.comments = comments.metadata;
374
+ // Retrieval coverage is not delivery coverage: compact output can omit rows
375
+ // or clip their text/media. Preserve the collected count, but never keep an
376
+ // unqualified complete claim after evidence has been projected away.
377
+ const bodyCoverage = output.post?.body_coverage;
378
+ if (next.post && bodyCoverage && typeof bodyCoverage === "object" && "collected_chars" in bodyCoverage && "complete" in bodyCoverage) {
379
+ const complete = bodyCoverage.complete === true && !metadata["post.text"]?.truncated && typeof next.post.text === "string" && next.post.text.length === bodyCoverage.collected_chars;
380
+ next.post.body_coverage = { collected_chars: bodyCoverage.collected_chars, returned_chars: typeof next.post.text === "string" ? next.post.text.length : 0, complete };
381
+ if (!complete) {
382
+ next.partial = true;
383
+ if (next.pipeline)
384
+ next.pipeline.normalize = { ...next.pipeline.normalize, status: "partial" };
385
+ }
386
+ }
387
+ const sourceCoverage = output.post?.comment_coverage;
388
+ if (next.post && isCommentCoverage(sourceCoverage)) {
389
+ const coverage = sourceCoverage;
390
+ const retrievalComplete = coverage.retrieval_complete ?? coverage.complete;
391
+ const sourceDeletions = output.post?.comment_deletions;
392
+ const omittedDeletions = Array.isArray(sourceDeletions) && sourceDeletions.length > 0 && !Array.isArray(next.post.comment_deletions);
393
+ const clipped = omittedDeletions || Object.entries(metadata).some(([key, value]) => (key === "comments" || key.startsWith("comments.") || key === "post.comment_deletions" || key.startsWith("post.comment_deletions.")) && value.truncated);
394
+ const complete = coverage.complete === true && retrievalComplete === true && !clipped && next.comments.length === coverage.collected_count && next.comments.length === coverage.declared_count;
395
+ next.post.comment_coverage = {
396
+ declared_count: coverage.declared_count,
397
+ collected_count: coverage.collected_count,
398
+ returned_count: next.comments.length,
399
+ retrieval_complete: retrievalComplete === true,
400
+ complete,
401
+ };
402
+ if (!complete) {
403
+ next.partial = true;
404
+ if (next.pipeline)
405
+ next.pipeline.normalize = { ...next.pipeline.normalize, status: "partial" };
406
+ }
407
+ }
408
+ // Generic articles may not publish body_coverage, but a clipped primary body
409
+ // is still incomplete delivery. Keep provider completeness distinct from the
410
+ // bytes actually returned to the caller.
411
+ if (metadata["post.text"]?.truncated) {
412
+ next.partial = true;
413
+ if (next.pipeline)
414
+ next.pipeline.normalize = { ...next.pipeline.normalize, status: "partial" };
415
+ }
340
416
  const outboundLinks = budgetList(next.outbound_links, policy.maxOutboundLinks);
341
417
  next.outbound_links = outboundLinks.items;
342
418
  if (outboundLinks.metadata.truncated)
@@ -349,6 +425,11 @@ export function projectSmartfetchOutput(output, rawPolicy = resolveSmartfetchBud
349
425
  const projectedAssessment = assessmentSource
350
426
  ? projectStructuredValue(assessmentSource, envelopePolicy, envelopeProjectionState, metadata, "assessment", 0)
351
427
  : undefined;
428
+ if (next.partial && !output.partial && projectedAssessment) {
429
+ if (projectedAssessment.confidence === "high")
430
+ projectedAssessment.confidence = "medium";
431
+ projectedAssessment.signals = projectedAssessment.signals.map(signal => signal === "result:complete" ? "result:partial" : signal);
432
+ }
352
433
  if (next.assessment && projectedAssessment)
353
434
  next.assessment = projectedAssessment;
354
435
  if (next.research_handoff) {
@@ -1 +1 @@
1
- {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/extraction/budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/extraction/budget.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { extractFromHtml } from "@extractus/article-extractor";
2
+ import { parseHTML } from "linkedom";
2
3
  import TurndownService from "turndown";
3
4
  import { gfm } from "turndown-plugin-gfm";
4
5
  import { absolutizeUrl, asString, dedupeUrls, extractLabeledAnchors, extractMetaDescription, extractMetaProperty, extractTitleFromHtml, stripTags } from "../shared.js";
@@ -51,6 +52,20 @@ export function cleanDocumentHtml(html, baseUrl, options = {}) {
51
52
  .replace(/<noscript\b[^>]*>[\s\S]*?<\/noscript>/gi, "")
52
53
  .replace(/<template\b[^>]*>[\s\S]*?<\/template>/gi, "")
53
54
  .replace(/<!--([\s\S]*?)-->/g, "");
55
+ // A hidden descendant is not readable source evidence, even when a generic
56
+ // article extractor selects its visible parent. Keep the DOM tree intact for
57
+ // nested markup; a regex can stop at an inner closing tag and leak siblings.
58
+ if (/\b(?:hidden|inert|aria-hidden|style)\s*(?:=|\b)/i.test(cleaned)) {
59
+ const { document } = parseHTML(cleaned);
60
+ for (const element of document.querySelectorAll("[hidden], [inert], [aria-hidden], [style]")) {
61
+ const style = element.getAttribute("style") || "";
62
+ if (element.hasAttribute("hidden") || element.hasAttribute("inert")
63
+ || element.getAttribute("aria-hidden")?.toLowerCase() === "true"
64
+ || /(?:^|;)\s*(?:display\s*:\s*none|visibility\s*:\s*(?:hidden|collapse))\s*(?:!important)?\s*(?:;|$)/i.test(style))
65
+ element.remove();
66
+ }
67
+ cleaned = document.toString();
68
+ }
54
69
  if (removeBoilerplate) {
55
70
  cleaned = cleaned
56
71
  .replace(/<(nav|header|footer|aside)\b[\s\S]*?<\/\1>/gi, "")
@@ -75,8 +90,10 @@ function normalizeMarkdownInline(input) {
75
90
  .replace(/^>\s+/gm, "")
76
91
  .replace(/^#{1,6}\s+/gm, "");
77
92
  }
78
- function cleanPlainText(input) {
79
- return normalizeMarkdownInline(String(input || ""))
93
+ function cleanPlainText(input, markdownSource = true) {
94
+ // HTML text has already been parsed. Markdown marker stripping would also
95
+ // erase literal operators and identifier underscores inside source code.
96
+ return (markdownSource ? normalizeMarkdownInline(String(input || "")) : String(input || ""))
80
97
  .replace(/\r\n/g, "\n")
81
98
  .replace(/[ \t]+\n/g, "\n")
82
99
  .replace(/\n{3,}/g, "\n\n")
@@ -182,6 +199,98 @@ function sourceFromAdapter(active) {
182
199
  sourceKind: active.method.includes("jina") || active.method.includes("reader") ? "markdown_relay" : "plain_text",
183
200
  };
184
201
  }
202
+ function postgresqlDocumentationContent(html, url) {
203
+ try {
204
+ const parsed = new URL(url);
205
+ if (!/^(?:www\.)?postgresql\.org$/i.test(parsed.hostname) || !/^\/docs\/\d+\//.test(parsed.pathname))
206
+ return "";
207
+ const { document } = parseHTML(html);
208
+ return document.querySelector("#docContent > .sect1, #docContent > .refentry")?.outerHTML || "";
209
+ }
210
+ catch {
211
+ return "";
212
+ }
213
+ }
214
+ function nodeDocumentationFragment(requestedUrl, acquiredUrl) {
215
+ try {
216
+ const requested = new URL(requestedUrl);
217
+ const acquired = new URL(acquiredUrl);
218
+ return requested.origin === "https://nodejs.org" && acquired.origin === requested.origin
219
+ && requested.pathname === "/docs/latest-v24.x/api/fs.html" && acquired.pathname === requested.pathname
220
+ && /^#[a-z0-9-]+$/.test(requested.hash);
221
+ }
222
+ catch {
223
+ return false;
224
+ }
225
+ }
226
+ function nodeDocumentationSection(html, requestedUrl, acquiredUrl) {
227
+ if (!nodeDocumentationFragment(requestedUrl, acquiredUrl))
228
+ return "";
229
+ try {
230
+ const requested = new URL(requestedUrl);
231
+ const { document } = parseHTML(html);
232
+ for (const heading of document.querySelectorAll("#apicontent h4")) {
233
+ const anchor = heading.querySelector("a.mark[id]");
234
+ if (anchor?.getAttribute("id") !== requested.hash.slice(1)
235
+ || new URL(anchor.getAttribute("href") || "", requested).href !== requested.href)
236
+ continue;
237
+ const section = heading.parentElement;
238
+ if (section?.querySelectorAll("h4").length === 1)
239
+ return section.outerHTML;
240
+ }
241
+ }
242
+ catch {
243
+ // An unfamiliar layout must not gain a document section.
244
+ }
245
+ return "";
246
+ }
247
+ function requestedSectionFragment(html, requestedUrl, acquiredUrl) {
248
+ let requested;
249
+ let acquired;
250
+ try {
251
+ requested = new URL(requestedUrl);
252
+ acquired = new URL(acquiredUrl);
253
+ }
254
+ catch {
255
+ return { requested: false, html: "" };
256
+ }
257
+ if (!requested.hash || requested.origin !== acquired.origin
258
+ || requested.pathname !== acquired.pathname || requested.search !== acquired.search) {
259
+ return { requested: Boolean(requested.hash), html: "" };
260
+ }
261
+ let fragment;
262
+ try {
263
+ fragment = decodeURIComponent(requested.hash.slice(1));
264
+ }
265
+ catch {
266
+ return { requested: true, html: "" };
267
+ }
268
+ if (!fragment || fragment.length > 256)
269
+ return { requested: true, html: "" };
270
+ const { document } = parseHTML(html);
271
+ const primary = Array.from(document.querySelectorAll("main, article, [role=main]"))
272
+ .find((element) => !element.parentElement?.closest("main, article, [role=main]"));
273
+ if (!primary || !primary.querySelector("section"))
274
+ return { requested: false, html: "" };
275
+ const matches = Array.from(document.querySelectorAll("[id]")).filter((element) => element.getAttribute("id") === fragment);
276
+ if (matches.length !== 1)
277
+ return { requested: true, html: "" };
278
+ const target = matches[0];
279
+ const section = target.closest("section");
280
+ if (!section || !primary.contains(section))
281
+ return { requested: true, html: "" };
282
+ const heading = Array.from(section.querySelectorAll("h1, h2, h3, h4, h5, h6"))
283
+ .find((element) => element.closest("section") === section);
284
+ if (!heading)
285
+ return { requested: true, html: "" };
286
+ const children = Array.from(section.children);
287
+ const headingIndex = children.indexOf(heading);
288
+ const leadingAlias = target.parentElement === section && target.tagName.toLowerCase() === "span"
289
+ && headingIndex > children.indexOf(target)
290
+ && children.slice(0, headingIndex).every((element) => element.tagName.toLowerCase() === "span" && !element.textContent?.trim());
291
+ const ownsFragment = target === section || target === heading && heading.parentElement === section || leadingAlias;
292
+ return { requested: true, html: ownsFragment ? section.outerHTML : "" };
293
+ }
185
294
  function computeQuality(input) {
186
295
  const textLength = input.text.length;
187
296
  const wordCount = input.text.split(/\s+/).filter(Boolean).length;
@@ -208,12 +317,24 @@ export async function extractDocumentFromAdapter(active, url, options = {}) {
208
317
  const source = sourceFromAdapter(active);
209
318
  const rawHtml = source.html;
210
319
  const cleanedHtml = rawHtml ? cleanDocumentHtml(rawHtml, baseUrl) : "";
211
- const fallbackText = cleanPlainText(source.text || (cleanedHtml ? stripTags(cleanedHtml) : active.content));
320
+ // The document title alone is not a readable article when the entire body
321
+ // was hidden. Do not let a generic fallback promote that metadata to text.
322
+ const bodyText = cleanedHtml && /<body\b/i.test(rawHtml)
323
+ ? normalizeSpace(parseHTML(cleanedHtml).document.body?.textContent || "") : null;
324
+ // Prose-focused extractors can silently discard late rows of reference tables.
325
+ // PostgreSQL publishes chapter and command-reference bodies in these scopes,
326
+ // including syntax blocks and late table rows but excluding page chrome.
327
+ const sectionFragment = requestedSectionFragment(cleanedHtml, url, baseUrl);
328
+ const nodeSection = nodeDocumentationSection(cleanedHtml, url, baseUrl);
329
+ const documentationHtml = nodeSection
330
+ || sectionFragment.html || postgresqlDocumentationContent(cleanedHtml, baseUrl);
331
+ const missingNodeSection = nodeDocumentationFragment(url, baseUrl) && !nodeSection;
332
+ const fallbackText = cleanPlainText(source.text || (cleanedHtml ? stripTags(cleanedHtml) : active.content), !rawHtml);
212
333
  const textMetadata = rawHtml ? { title: "", description: "" } : metadataFromText(fallbackText);
213
334
  const fallbackTitle = normalizeSpace(source.title || extractMetaProperty(rawHtml, "og:title") || extractTitleFromHtml(rawHtml) || textMetadata.title);
214
335
  const fallbackDescription = normalizeSpace(extractMetaProperty(rawHtml, "og:description") || extractMetaDescription(rawHtml) || textMetadata.description);
215
- const headings = source.headings.length > 0 ? source.headings : extractHeadingsFromHtml(cleanedHtml);
216
- const labeledAnchors = extractLabeledAnchors(cleanedHtml, baseUrl);
336
+ const headings = source.headings.length > 0 ? source.headings : extractHeadingsFromHtml(documentationHtml || cleanedHtml);
337
+ const labeledAnchors = extractLabeledAnchors(documentationHtml || cleanedHtml, baseUrl);
217
338
  const linkTextByUrl = new Map(labeledAnchors.map((item) => [item.url, item.text]));
218
339
  const links = dedupeUrls([
219
340
  ...labeledAnchors.map((item) => item.url),
@@ -232,7 +353,7 @@ export async function extractDocumentFromAdapter(active, url, options = {}) {
232
353
  contentLengthThreshold: 200,
233
354
  descriptionLengthThreshold: 120,
234
355
  });
235
- const articleText = cleanPlainText(stripTags(String(article?.content || "")));
356
+ const articleText = cleanPlainText(stripTags(String(article?.content || "")), false);
236
357
  title = normalizeSpace(String(article?.title || title));
237
358
  description = normalizeSpace(String(article?.description || description));
238
359
  text = articleText || fallbackText;
@@ -245,10 +366,14 @@ export async function extractDocumentFromAdapter(active, url, options = {}) {
245
366
  extractor = source.sourceKind === "browser_primary" ? "browser_primary" : "fallback";
246
367
  }
247
368
  }
248
- const blocks = cleanedHtml ? extractBlocksFromHtml(cleanedHtml, baseUrl) : extractBlocksFromText(text);
369
+ if (documentationHtml) {
370
+ text = stripTags(documentationHtml);
371
+ extractor = "fallback";
372
+ }
373
+ const blocks = cleanedHtml ? extractBlocksFromHtml(documentationHtml || cleanedHtml, baseUrl) : extractBlocksFromText(text);
249
374
  const markdown = options.includeMarkdown
250
375
  ? cleanedHtml
251
- ? renderHtmlToMarkdown(cleanedHtml, baseUrl)
376
+ ? renderHtmlToMarkdown(documentationHtml || cleanedHtml, baseUrl)
252
377
  : fallbackMarkdown(text)
253
378
  : "";
254
379
  return {
@@ -264,7 +389,7 @@ export async function extractDocumentFromAdapter(active, url, options = {}) {
264
389
  ...(markdown ? { markdown } : {}),
265
390
  extractor,
266
391
  source_kind: source.sourceKind,
267
- quality: computeQuality({ text, links, sourceHtml: cleanedHtml, partial: !active.ok || !text }),
392
+ quality: computeQuality({ text, links, sourceHtml: cleanedHtml, partial: !active.ok || !text || missingNodeSection || (sectionFragment.requested && !sectionFragment.html && !nodeSection) || bodyText === "" }),
268
393
  };
269
394
  }
270
395
  //# sourceMappingURL=document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/extraction/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/extraction/document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { BrowserPageSnapshot } from "../browser-session.js";
2
+ import type { CoupangProduct } from "./coupang.js";
3
+ export declare function coupangKrwAmount(price: string | undefined): number | null;
4
+ export declare function matchesCoupangFilter(product: CoupangProduct, action: string, maxPrice?: number): boolean;
5
+ export declare function filteredCoupangBrowserProducts(snapshot: BrowserPageSnapshot, query: string, action: string, maxPrice?: number): CoupangProduct[];
@@ -0,0 +1,87 @@
1
+ import { parseHTML } from "linkedom";
2
+ import { coupangTitleQueryEvidence, extractCoupangBrowserItems, isCoupangStorefrontProductUrl } from "../smartfetch/providers/commerce.js";
3
+ // An exact KRW amount, not a coupon saving, per-unit price, range or member offer.
4
+ export function coupangKrwAmount(price) {
5
+ const match = price?.trim().match(/^(?:₩\s*)?(\d+|[1-9]\d{0,2}(?:,\d{3})+)(?:\s*(?:원|KRW))?$/);
6
+ if (!match)
7
+ return null;
8
+ const amount = Number(match[1].replace(/,/g, ""));
9
+ return Number.isSafeInteger(amount) && amount > 0 ? amount : null;
10
+ }
11
+ export function matchesCoupangFilter(product, action, maxPrice) {
12
+ if (action === "rocket")
13
+ return product.is_rocket === true;
14
+ if (action !== "budget")
15
+ return true;
16
+ const amount = coupangKrwAmount(product.price);
17
+ return amount !== null && maxPrice !== undefined && amount <= maxPrice;
18
+ }
19
+ // Observed native listing roles, isolated from generic price/snippet extraction.
20
+ // Only these card-local signals can establish a filtered result. No badge is
21
+ // unknown delivery; arrival promises/free shipping are not rocket evidence.
22
+ export function filteredCoupangBrowserProducts(snapshot, query, action, maxPrice) {
23
+ const verified = new Set(extractCoupangBrowserItems(snapshot, query).map(item => item.url));
24
+ if (!verified.size)
25
+ return [];
26
+ const { document } = parseHTML(snapshot.html);
27
+ for (const node of document.querySelectorAll('script, style, template, noscript, [hidden], [inert], [aria-hidden="true"], .fw-hidden, [contenteditable="true"]'))
28
+ node.remove();
29
+ for (const node of document.querySelectorAll("[style]")) {
30
+ if (/(?:^|;)\s*(?:display\s*:\s*none|visibility\s*:\s*(?:hidden|collapse))\s*(?:!important)?\s*(?:;|$)/i.test(node.getAttribute("style") || ""))
31
+ node.remove();
32
+ }
33
+ const result = new Map();
34
+ const seen = new Set();
35
+ const cardSelector = 'li[class*="ProductUnit_productUnit"]';
36
+ for (const card of document.querySelectorAll(cardSelector)) {
37
+ const anchors = [...card.querySelectorAll("a[href]")].filter(anchor => anchor.parentElement === card);
38
+ if (anchors.length !== 1)
39
+ continue;
40
+ const anchor = anchors[0];
41
+ let url;
42
+ try {
43
+ url = new URL(anchor.getAttribute("href") || "", snapshot.final_url);
44
+ }
45
+ catch {
46
+ continue;
47
+ }
48
+ if (!isCoupangStorefrontProductUrl(url.href) || !url.searchParams.get("itemId") || url.searchParams.get("vendorItemId") !== card.getAttribute("data-id"))
49
+ continue;
50
+ const identity = new URLSearchParams({ itemId: url.searchParams.get("itemId"), vendorItemId: url.searchParams.get("vendorItemId") });
51
+ const key = `https://www.coupang.com${url.pathname}?${identity}`;
52
+ if (!verified.has(key))
53
+ continue;
54
+ if (seen.has(key)) {
55
+ result.delete(key);
56
+ continue;
57
+ }
58
+ seen.add(key);
59
+ const owned = (selector) => [...anchor.querySelectorAll(selector)].filter(node => node.closest("a") === anchor && node.closest(cardSelector) === card);
60
+ const titles = owned('[class*="ProductUnit_productName"]');
61
+ if (titles.length !== 1)
62
+ continue;
63
+ const title = (titles[0].textContent || "").replace(/\s+/g, " ").trim();
64
+ if (coupangTitleQueryEvidence(title, query) !== true)
65
+ continue;
66
+ const areas = owned('[class*="PriceArea_priceArea"]');
67
+ const prices = owned('[class~="fw-text-[20px]/[24px]"]').filter(node => areas.length === 1 && areas[0].contains(node) && !node.closest("del, s"));
68
+ const priceNode = prices.length === 1 ? prices[0].cloneNode(true) : undefined;
69
+ for (const old of priceNode?.querySelectorAll("del, s") || [])
70
+ old.remove();
71
+ const price = priceNode ? (priceNode.textContent || "").trim() : undefined;
72
+ // A separate observed signup-coupon saving is not the current item price.
73
+ // Other membership/conditional labels anywhere in the price area fail closed.
74
+ const priceContext = (areas[0]?.textContent || "")
75
+ .replace(/[\d,]+원\s*와우 가입 쿠폰/g, "")
76
+ .replace(/\(\s*[\d,.]+\s*(?:ml|kg|g|l|개|매)\s*당\s*[\d,.]+원\s*\)/gi, "");
77
+ const conditional = /쿠폰|와우|회원|카드|적립|할부|당|부터|최대/.test(priceContext);
78
+ const rocket = owned('img[data-testid="wp-ui-biz-badge-item"][data-badge-id="ROCKET"]').length > 0;
79
+ const product = { title, url: key, is_rocket: rocket ? true : null,
80
+ ...(price !== undefined && !conditional && coupangKrwAmount(price) !== null ? { price } : {}),
81
+ };
82
+ if (matchesCoupangFilter(product, action, maxPrice))
83
+ result.set(key, product);
84
+ }
85
+ return [...result.values()];
86
+ }
87
+ //# sourceMappingURL=coupang-filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coupang-filters.js","sourceRoot":"","sources":["../../src/korea/coupang-filters.ts"],"names":[],"mappings":"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"}