tpmjs/packages/tools/official/glossary-build
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 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 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-glossary-build

Build a glossary from term definitions in text. Detects various definition patterns and extracts them into a structured format.

Installation

npm install @tpmjs/tools-glossary-build ai

Usage

import { glossaryBuildTool } from '@tpmjs/tools-glossary-build';

const result = await glossaryBuildTool.execute({
  text: `
    API: Application Programming Interface
    REST - Representational State Transfer
    **JSON** JavaScript Object Notation
    CLI: Command Line Interface
  `,
});

console.log(result);
// {
//   terms: [
//     { term: "API", definition: "Application Programming Interface" },
//     { term: "REST", definition: "Representational State Transfer" },
//     { term: "JSON", definition: "JavaScript Object Notation" },
//     { term: "CLI", definition: "Command Line Interface" }
//   ],
//   count: 4,
//   alphabetized: true
// }

Features

  • Detects multiple definition formats:
    • Colon separator: Term: definition
    • Dash separator: Term - definition or Term — definition
    • Markdown bold: **Term** definition
    • Markdown italic: *Term* definition
  • Automatically removes duplicates (case-insensitive)
  • Cleans up formatting (bold markers, bullets, numbers)
  • Checks if terms are alphabetically sorted

Parameters

  • text (string, required) - Text containing term definitions in various formats

Returns

{
  terms: Array<{
    term: string;
    definition: string;
  }>;
  count: number;
  alphabetized: boolean;
}

Example Input Formats

The tool recognizes various definition formats:

API: Application Programming Interface
REST - Representational State Transfer
**GraphQL** A query language for APIs
*SDK* Software Development Kit

License

MIT