New tools added across multiple domains: - Sales: lead-score, proposal-outline, objection-response - Marketing: competitor-brief, campaign-brief, social-post-draft, email-subject-score, audience-persona, content-calendar-plan, pricing-page-copy - HR: job-description-draft, interview-questions, performance-review-draft, onboarding-checklist, compensation-band, survey-analyze, org-chart-format, offer-letter-draft, exit-interview-summarize, policy-doc-format - Legal: contract-clause-scan, nda-template-draft, tos-readability, risk-clause-highlight, invoice-terms-extract, gdpr-data-map, copyright-notice, trademark-check - Finance: expense-categorize, invoice-data-extract, budget-variance, cash-flow-project, revenue-breakdown, ratio-analysis, tax-deduction-scan, reconciliation-match - Customer Experience: feedback-themes, churn-risk-score, nps-analysis, ticket-categorize, response-template-suggest, health-score-calculate, renewal-forecast - Education: lesson-plan-outline, quiz-generate, rubric-create, syllabus-format, progress-report-draft, learning-objective-write, curriculum-map Also includes improvements to 68 existing tool implementations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
6.6 KiB
Implementation Report: 5 New TPMJS Tools
Summary
Successfully implemented 5 production-ready TPMJS tools following the blocks.yml specifications:
Legal Tools (3)
- @tpmjs/tools-gdpr-data-map - Maps data processing to GDPR requirements
- @tpmjs/tools-copyright-notice - Generates copyright notices
- @tpmjs/tools-trademark-check - Checks trademark conflicts
Finance Tools (2)
- @tpmjs/tools-expense-categorize - Categorizes business expenses
- @tpmjs/tools-invoice-data-extract - Extracts invoice data
Implementation Details
1. GDPR Data Map (gdpr-data-map)
Category: legal
Path: /packages/tools/official/gdpr-data-map
Features:
- Determines appropriate GDPR legal basis (consent, contract, legal-obligation, etc.)
- Assesses risk level (low, medium, high) based on data categories
- Checks compliance requirements per activity
- Generates recommendations for GDPR compliance
- Validates necessity and proportionality
Key Functions:
determineLegalBasis()- Maps activities to legal basesassessRiskLevel()- Analyzes processing riskcheckRequirements()- Validates GDPR articles compliancegenerateRecommendations()- Provides actionable advice
2. Copyright Notice (copyright-notice)
Category: legal
Path: /packages/tools/official/copyright-notice
Features:
- Generates jurisdiction-specific copyright notices (US, EU, UK, international)
- Supports multiple content types (software, text, media, website, documentation, artwork, music, video)
- Uses correct copyright symbols (© for most, ℗ for phonograms)
- Formats year ranges automatically
- Provides both short-form and long-form notices
Key Functions:
getCopyrightSymbol()- Returns appropriate symbolformatYear()- Handles year rangesgetRightsStatement()- Jurisdiction-specific statementsgenerateRecommendations()- Best practices
3. Trademark Check (trademark-check)
Category: legal
Path: /packages/tools/official/trademark-check
Features:
- Phonetic similarity analysis (Soundex-like algorithm)
- Visual similarity (character overlap)
- Levenshtein distance calculation
- Industry-specific conflict detection
- Nice Classification recommendations
- Risk assessment (low, medium, high, critical)
Key Functions:
phoneticSimilarity()- Sound-alike detectionvisualSimilarity()- Look-alike detectionlevenshteinDistance()- Edit distance calculationassessRisk()- Risk level determinationgetRelevantClasses()- Nice Classification mapping
4. Expense Categorize (expense-categorize)
Category: finance
Path: /packages/tools/official/expense-categorize
Features:
- Categorizes into 18 standard accounting categories
- Keyword-based pattern matching
- Confidence scoring (0-1 scale)
- Alternative category suggestions
- Tax deductibility flags
- Amount-based heuristics
Supported Categories:
- advertising-marketing, bank-fees, depreciation, insurance
- interest, legal-professional, meals-entertainment
- office-supplies, payroll, rent-lease, repairs-maintenance
- software-subscriptions, taxes, telecommunications
- travel, utilities, vehicle, other
Key Functions:
categorizeExpense()- Main categorization logicgenerateNotes()- Warnings and recommendationsgenerateRecommendations()- Expense tracking advice
5. Invoice Data Extract (invoice-data-extract)
Category: finance
Path: /packages/tools/official/invoice-data-extract
Features:
- Extracts vendor information (name, address, phone, email, tax ID)
- Parses line items with quantities and prices
- Extracts totals (subtotal, tax, total)
- Validates calculations (totals match line items)
- Supports multiple currencies (USD, EUR, GBP, JPY)
- Payment terms extraction
Key Functions:
extractVendorInfo()- Vendor metadata extractionextractLineItems()- Line item parsingextractTotals()- Financial data extractionvalidateInvoice()- Calculation verificationextractPaymentTerms()- Due date and net days
Technical Stack
All tools use:
- AI SDK: v6.0.0-beta.124 (not v4.0.0)
- Build: tsup with ESM format
- TypeScript: Strict mode with composite projects
- Exports: Both named and default exports
- Type Safety: Full TypeScript definitions
Directory Structure (per tool)
tool-name/
├── src/
│ └── index.ts # Full implementation
├── dist/ # Build output (auto-generated)
│ ├── index.js # ESM bundle
│ └── index.d.ts # TypeScript definitions
├── package.json # With tpmjs metadata
├── tsconfig.json # Extends @tpmjs/tsconfig/base.json
└── tsup.config.ts # Build configuration
Build & Type-Check Results
All tools successfully:
✅ Pass TypeScript strict type-checking
✅ Build with tsup (ESM + DTS)
✅ Follow monorepo conventions
✅ Include proper tpmjs metadata
Package Metadata
Each tool includes proper tpmjs field in package.json:
{
"tpmjs": {
"category": "legal" | "finance",
"frameworks": ["vercel-ai"],
"tools": [
{
"name": "toolName",
"description": "...",
"parameters": [...],
"returns": {...}
}
]
}
}
Implementation Philosophy
- Heuristic-based: All tools use pattern matching and rules-based logic (not AI/LLM calls)
- Production-ready: Full error handling, validation, and TypeScript types
- Comprehensive: Each tool includes recommendations and warnings
- Standards-compliant: Follow domain-specific standards (GDPR articles, Nice Classification, etc.)
- Developer-friendly: Clear interfaces, extensive JSDoc comments
Testing Commands
# Type-check all tools
pnpm --filter=@tpmjs/tools-gdpr-data-map type-check
pnpm --filter=@tpmjs/tools-copyright-notice type-check
pnpm --filter=@tpmjs/tools-trademark-check type-check
pnpm --filter=@tpmjs/tools-expense-categorize type-check
pnpm --filter=@tpmjs/tools-invoice-data-extract type-check
# Build all tools
pnpm --filter=@tpmjs/tools-gdpr-data-map build
pnpm --filter=@tpmjs/tools-copyright-notice build
pnpm --filter=@tpmjs/tools-trademark-check build
pnpm --filter=@tpmjs/tools-expense-categorize build
pnpm --filter=@tpmjs/tools-invoice-data-extract build
Next Steps
These tools are ready for:
- ✅ Publishing to npm under @tpmjs scope
- ✅ Integration with tpmjs.com
- ✅ Use in Vercel AI SDK projects
- ✅ Documentation generation
Implementation Date: 2026-01-01
Tools Created: 5
Total Lines of Code: ~3,500
Build Time: All tools build in <15 seconds combined