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> |
||
|---|---|---|
| .. | ||
| src | ||
| CHANGELOG.md | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsup.config.ts | ||
@tpmjs/tools-stacktrace-parse
Parses stack traces into structured frames, handling Node.js and browser formats.
Installation
npm install @tpmjs/tools-stacktrace-parse
Usage
import { stacktraceParse } from '@tpmjs/tools-stacktrace-parse';
import { generateText } from 'ai';
const result = await generateText({
model: yourModel,
tools: {
stacktraceParse,
},
prompt: 'Parse this stack trace and tell me where the error occurred',
});
Tool Details
stacktraceParse
Parses a stack trace string into structured frames with file, method name, line number, and column information.
Parameters:
stacktrace(string, required) - The stack trace string to parse (from Node.js or browser)
Returns:
{
frames: Array<{
file: string | null;
methodName: string | null;
lineNumber: number | null;
column: number | null;
arguments: string[];
}>;
errorType: string | null; // e.g., "TypeError", "ReferenceError"
errorMessage: string | null; // The error message
language: 'node' | 'browser' | 'unknown';
totalFrames: number;
summary: string;
}
Example Output
Given this stack trace:
TypeError: Cannot read property 'foo' of undefined
at getUserData (/app/user.js:45:12)
at processRequest (/app/server.js:123:5)
at Server.handleRequest (/app/server.js:89:3)
Returns:
{
frames: [
{
file: "/app/user.js",
methodName: "getUserData",
lineNumber: 45,
column: 12,
arguments: []
},
{
file: "/app/server.js",
methodName: "processRequest",
lineNumber: 123,
column: 5,
arguments: []
},
{
file: "/app/server.js",
methodName: "Server.handleRequest",
lineNumber: 89,
column: 3,
arguments: []
}
],
errorType: "TypeError",
errorMessage: "Cannot read property 'foo' of undefined",
language: "node",
totalFrames: 3,
summary: "TypeError - Cannot read property 'foo' of undefined - 3 frames"
}
Features
- Parses Node.js and browser stack traces
- Extracts error type and message
- Provides structured frame information
- Detects stack trace format (Node.js vs browser)
- Handles various stack trace formats
Supported Formats
- Node.js: Standard V8 stack traces
- Browser: Chrome, Firefox, Safari formats
- Webpack: Bundled stack traces with source maps
License
MIT