smart-web-mcp 1.6.5 → 1.6.6

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,7 @@ 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
+ * Read public Discourse Meta topics through the existing exact-topic JSON route and fetch up to four additional 20-post batches by source ID under one deadline. Missing or changed-parent evidence remains partial; full inline delivery is separately capped and larger threads need private export.
8
9
  * Reject cyclic parent pointers in source-bound public GitHub discussion replies as incomplete, matching the generic discussion integrity guard. A matching row count alone cannot certify a navigable thread; this is a fault-injected control, not a claim that a live public discussion currently has cyclic parents.
9
10
  * Recover source-bound public GitHub organization discussion replies from the rendered discussion when `include_comments` is requested. The generic direct→one approved-browser continuation now distinguishes an exact thread's top-level comments, nested replies, and count; a deleted/unreadable reply remains partial rather than inventing its text. This covers the measured public HTML shape, not private discussions or pagination.
10
11
  * Keep generic discussion reads partial when a reply points to a missing parent, itself, or a cyclic parent chain, even if the displayed comment count matches. A direct orphan may continue once in the approved browser; only source-bound corrected thread evidence completes the read.
@@ -417,6 +418,13 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
417
418
  - Korean public API helpers now validate outbound URLs and redirects before fetching, blocking localhost, private, and reserved targets unless `network.allowPrivateHosts` is explicitly enabled.
418
419
  - 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.
419
420
 
421
+ ## [1.6.6](https://github.com/jojo-labs/smart-web/compare/v1.6.5...v1.6.6) (2026-10-03)
422
+
423
+
424
+ ### Bug Fixes
425
+
426
+ * recover bounded public Discourse reply streams ([#737](https://github.com/jojo-labs/smart-web/issues/737)) ([4b82823](https://github.com/jojo-labs/smart-web/commit/4b82823ab0e9ccbabdf235bf80a0ee6f08556e97))
427
+
420
428
  ## [1.6.5](https://github.com/jojo-labs/smart-web/compare/v1.6.4...v1.6.5) (2026-10-03)
421
429
 
422
430
 
@@ -5,7 +5,7 @@ function topicIdentity(url) {
5
5
  try {
6
6
  const parsed = new URL(url);
7
7
  const match = /^\/t\/([a-z0-9-]+)\/([1-9]\d*)\/?$/.exec(parsed.pathname);
8
- if (parsed.protocol !== "https:" || parsed.hostname !== "discuss.python.org" || parsed.search || !match)
8
+ if (parsed.protocol !== "https:" || !["discuss.python.org", "meta.discourse.org"].includes(parsed.hostname) || parsed.search || !match)
9
9
  return null;
10
10
  return { slug: match[1], id: Number(match[2]), base: `${parsed.origin}/t/${match[1]}/${match[2]}`, api: `${parsed.origin}/t/${match[1]}/${match[2]}.json` };
11
11
  }
@@ -53,24 +53,27 @@ export function normalizeDiscourseTopic(url, value) {
53
53
  if (!first)
54
54
  return failure("discourse_original_missing");
55
55
  const comments = [];
56
+ let missingParent = false;
56
57
  for (const entry of stream.posts) {
57
58
  const row = record(entry);
58
59
  if (row.post_number === 1)
59
60
  continue;
60
61
  const parentNumber = row.reply_to_post_number;
61
- if (parentNumber !== null && parentNumber !== undefined && (!Number.isSafeInteger(parentNumber) || parentNumber < 1 || !byNumber.has(parentNumber)))
62
+ if (parentNumber !== null && parentNumber !== undefined && (!Number.isSafeInteger(parentNumber) || parentNumber < 1))
62
63
  return failure("discourse_reply_parent_invalid");
64
+ if (typeof parentNumber === "number" && !byNumber.has(parentNumber))
65
+ missingParent = true;
63
66
  comments.push({ id: String(row.id), url: `${identity.base}/${row.post_number}`, text: stripTags(row.cooked),
64
67
  author: row.username, ...(typeof row.created_at === "string" ? { created_at: row.created_at } : {}),
65
- ...(typeof parentNumber === "number" && parentNumber > 1 ? { parent_id: String(byNumber.get(parentNumber)) } : {}), source: "discourse_public_api" });
68
+ ...(typeof parentNumber === "number" && parentNumber > 1 && byNumber.has(parentNumber) ? { parent_id: String(byNumber.get(parentNumber)) } : {}), source: "discourse_public_api" });
66
69
  }
67
70
  const declared = data.posts_count - 1;
68
- const complete = stream.posts.length === stream.stream.length && comments.length === declared;
71
+ const complete = stream.posts.length === stream.stream.length && comments.length === declared && !missingParent;
69
72
  return {
70
73
  post: { url: identity.base, title: data.title, text: stripTags(first.cooked), author: first.username,
71
74
  status: "ok", comment_coverage: { declared_count: declared, collected_count: comments.length, complete } },
72
75
  thread: [], comments, outbound_links: [], partial: !complete, method: "discourse_public_api",
73
- errors: complete ? [] : [{ category: "parse_error", code: "discourse_comments_incomplete", message: `Collected ${comments.length} of ${declared} declared replies` }],
76
+ errors: complete ? [] : [{ category: "parse_error", code: "discourse_comments_incomplete", message: `Collected ${comments.length} of ${declared} declared replies${missingParent ? "; a reply parent is unavailable" : ""}` }],
74
77
  };
75
78
  }
76
79
  export const discourseProvider = {
@@ -90,6 +93,33 @@ export const discourseProvider = {
90
93
  const deadline = context.deadlineAt ?? Date.now() + context.timeoutMs;
91
94
  const result = await fetchProviderJson(identity.api, Math.max(1, deadline - Date.now()), { headers: { accept: "application/json" } }, { mode: "relay", sourceUrl: context.url, deadlineAt: deadline });
92
95
  if (result.ok) {
96
+ const data = record(result.data);
97
+ const stream = record(data?.post_stream);
98
+ // The topic endpoint embeds only the first page of posts. Continue by
99
+ // exact stream IDs, with a finite page budget and the same deadline.
100
+ if (data?.id === identity.id && data.slug === identity.slug && Array.isArray(stream?.stream) && Array.isArray(stream.posts)
101
+ && stream.stream.length <= 500 && stream.stream.length === data.posts_count
102
+ && stream.stream.every((id) => Number.isSafeInteger(id) && id > 0)
103
+ && new Set(stream.stream).size === stream.stream.length) {
104
+ const seen = new Set(stream.posts.map((post) => record(post)?.id));
105
+ const missing = stream.stream.filter((id) => !seen.has(id));
106
+ for (let offset = 0; offset < missing.length && offset < 80 && Date.now() < deadline; offset += 20) {
107
+ const batch = missing.slice(offset, offset + 20);
108
+ const params = new URLSearchParams(batch.map(id => ["post_ids[]", String(id)]));
109
+ const page = await fetchProviderJson(`${new URL(identity.api).origin}/t/${identity.id}/posts.json?${params}`, Math.max(1, deadline - Date.now()), { headers: { accept: "application/json" } }, { mode: "relay", sourceUrl: context.url, deadlineAt: deadline });
110
+ const pageData = record(page.ok ? page.data : null);
111
+ const rows = record(pageData?.post_stream)?.posts;
112
+ if (pageData?.id !== identity.id || !Array.isArray(rows) || rows.length > batch.length
113
+ || rows.some((post) => { const id = record(post)?.id; return !batch.includes(id) || seen.has(id); }))
114
+ break;
115
+ for (const post of rows) {
116
+ seen.add(record(post)?.id);
117
+ stream.posts.push(post);
118
+ }
119
+ if (rows.length < batch.length)
120
+ break;
121
+ }
122
+ }
93
123
  const normalized = normalizeDiscourseTopic(context.url, result.data);
94
124
  return { ...normalized, errors: [...context.errors, ...normalized.errors] };
95
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discourse.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/discourse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discourse.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/discourse.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "smart-web-mcp",
3
3
  "mcpName": "io.github.jojo-labs/smart-web",
4
- "version": "1.6.5",
4
+ "version": "1.6.6",
5
5
  "packageManager": "npm@11.9.0",
6
6
  "description": "Local MCP for web search, direct-URL fetch, site crawling, docs export, and bounded smartbrowser local browser actions.",
7
7
  "homepage": "https://github.com/jojo-labs/smart-web",