tpmjs/packages/tools/official/faq-from-text
Ajax Davis 5926373be6 chore: update ai package to 6.0.49 across all packages
- Updated all packages from ai@6.0.23 to ai@6.0.49
- Added pnpm override to ensure consistent version
- Created changeset for publishing affected packages
2026-01-25 11:33:03 +10:00
..
src feat: add use cases marketing product with AI-generated content 2026-01-20 16:17:35 +10:00
CHANGELOG.md chore: version packages 2025-12-31 23:54:47 +10:00
package.json chore: update ai package to 6.0.49 across all packages 2026-01-25 11:33:03 +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-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: or Question: prefixes
    • Numbered questions (1., 1), etc.)
    • Common question words (What, Why, How, etc.)
  • 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