Skip to content

Take feed discovery, OPML parsing and the submit_feed tool from @profullstack/submit-feed - #190

Merged
ralyodio merged 1 commit into
mainfrom
submit-feed-package
Sep 13, 2026
Merged

Take feed discovery, OPML parsing and the submit_feed tool from @profullstack/submit-feed#190
ralyodio merged 1 commit into
mainfrom
submit-feed-package

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

The submit path was extracted into @profullstack/submit-feed so p0dcasters.com (profullstack/p0dcasters#21) and any later directory take feeds the same way. This switches rssamplifier to it where the code is identical:

  • packages/feed/src/discover.js is a seam over the package: normalizeUrl, findFeedLinks, guessFeedUrls re-exported, looksLikeFeed wraps the package's sniff with this site's playlist admission. No import in the workspace changed.
  • parseOpml comes from the package; buildOpml/opmlHead/opmlOutline/opmlFoot stay (site column names, streamed export).
  • The MCP submit_feed tool takes its name, description, input schema and annotations from submitFeedTool(), keeping its own run (ledger, express lane, status page).

One deliberate tightening: an application/xml / text/xml body counts as a feed only with an <rss>, <feed> or <rdf:RDF> root, so a sitemap or OPML served as XML is no longer handed to the parser.

Suites unchanged from baseline: feed 344, web 427, ingest 159, cli 25.

🤖 Generated with Claude Code

https://claude.ai/code/session_014JGnonZiv2TP3aSiu4LLWZ

…ullstack/submit-feed

The submit path was extracted into a package so p0dcasters.com and any later
directory take feeds the same way, and this is the site switching to it.
discover.js is now a seam over the package: the same four names, so nothing
in the workspace changed an import, plus the one thing this directory does
that the package does not, admitting a playlist as a feed. parseOpml is the
package's; the OPML writers stay here because they use this site's column
names and stream. The MCP submit_feed tool takes its name, description,
schema and annotations from the shared definition and keeps its own run.

Behaviour is unchanged where it matters and tightened in one place: an
application/xml or text/xml body is a feed only if it has a feed root, so a
sitemap or an OPML file served as XML is no longer handed to the parser.
Every suite is where it was: feed 344, web 427, ingest 159, cli 25.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014JGnonZiv2TP3aSiu4LLWZ
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​profullstack/​submit-feed@​0.1.17710010090100

View full report

@ralyodio
ralyodio merged commit 9828695 into main Sep 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant