- 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. |
||
|---|---|---|
| .. | ||
| src | ||
| CHANGELOG.md | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsup.config.ts | ||
@tpmjs/tools-faq-from-text
Extract Q&A pairs from text that looks like FAQ format. Detects question patterns and pairs them with their answers.
Installation
npm install @tpmjs/tools-faq-from-text ai
Usage
import { faqFromTextTool } from '@tpmjs/tools-faq-from-text';
const result = await faqFromTextTool.execute({
text: `
Q: What is TPMJS?
A: TPMJS is a package manager for AI tools.
Q: How do I install it?
A: Run npm install @tpmjs/core
Question: Is it free?
Answer: Yes, it's open source and free to use.
`,
});
console.log(result);
// {
// faqs: [
// { question: "What is TPMJS?", answer: "TPMJS is a package manager for AI tools." },
// { question: "How do I install it?", answer: "Run npm install @tpmjs/core" },
// { question: "Is it free?", answer: "Yes, it's open source and free to use." }
// ],
// count: 3
// }
Features
- Detects multiple question formats:
- Questions ending with
? Q:orQuestion:prefixes- Numbered questions (
1.,1), etc.) - Common question words (What, Why, How, etc.)
- Questions ending with
- Automatically pairs questions with their answers
- Cleans up common prefixes (
Q:,A:, numbers) - Filters out invalid pairs
Parameters
text(string, required) - Text containing FAQ-style content with questions and answers
Returns
{
faqs: Array<{
question: string;
answer: string;
}>;
count: number;
}
Example Input Formats
The tool recognizes various FAQ formats:
Q: What is this?
A: This is an answer.
Question: Another question?
Answer: Another answer.
1. Numbered question?
The answer follows.
What about bare questions?
They work too!
License
MIT