tpmjs/packages/tools/official/rss-read
Ajax Davis 5c9f1a1d0a chore: update dependencies with compatibility fixes
- Update all packages to latest versions via pnpm update --latest
- Downgrade Prisma 7 to 6 (v7 requires schema migration)
- Downgrade Tailwind CSS 4 to 3 (v4 requires PostCSS migration)
- Downgrade Storybook 10 to 8 (addons not available in v10)
- Pin cheerio to 1.0.0-rc.12 via pnpm override (type exports changed)
- Fix AI SDK tool definitions: parameters -> inputSchema
- Fix cheerio types in extract-meta and table-extract tools
- Add explicit type annotations to tool execute functions
- Migrate biome config to v2.3.11 schema

All type-checks, tests, and builds pass.
2026-01-09 22:49:41 +10:00
..
src feat: add 55 new business tools and improve existing implementations 2026-01-01 19:23:32 +10:00
CHANGELOG.md chore: version packages 2025-12-31 23:54:47 +10:00
package.json chore: update dependencies with compatibility fixes 2026-01-09 22:49:41 +10:00
README.md feat: add 100+ official TPMJS tools 2025-12-31 22:55:56 +10:00
tsconfig.json feat: add 100+ official TPMJS tools 2025-12-31 22:55:56 +10:00
tsup.config.ts feat: add 100+ official TPMJS tools 2025-12-31 22:55:56 +10:00

@tpmjs/tools-rss-read

Parse RSS/Atom feeds and extract feed metadata and items.

Installation

npm install @tpmjs/tools-rss-read

Usage

import { rssReadTool } from '@tpmjs/tools-rss-read';
import { generateText } from 'ai';

const result = await generateText({
  model: yourModel,
  tools: { rssReadTool },
  prompt: 'Get the latest articles from https://example.com/feed.xml',
});

Tool Parameters

  • url (string, required): The RSS or Atom feed URL to parse
  • limit (number, optional): Maximum number of items to return (default: 20, max: 100)

Returns

{
  feed: {
    title: string;
    link: string;
    description?: string;
    language?: string;
    lastBuildDate?: string;
    imageUrl?: string;
  };
  items: Array<{
    title: string;
    link: string;
    description?: string;
    pubDate?: string;
    author?: string;
    categories?: string[];
    guid?: string;
  }>;
  itemCount: number;
  metadata: {
    fetchedAt: string;
    feedType: string;
    totalItems: number;
    limitApplied: boolean;
  };
}

Features

  • Supports both RSS 2.0 and Atom feeds
  • Extracts feed metadata (title, description, image)
  • Extracts item details (title, link, description, date, author, categories)
  • Configurable item limit
  • Comprehensive error handling
  • Sanitizes HTML content to plain text
  • 30-second timeout protection

Requirements

  • Node.js 18+ (uses native fetch API)

License

MIT