tpmjs/packages/tools/official/postmortem-draft
Ajax Davis 5c9f1a1d0a chore: update dependencies with compatibility fixes
- 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.
2026-01-09 22:49:41 +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 dependencies with compatibility fixes 2026-01-09 22:49:41 +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-postmortem-draft

Draft postmortem documents from incident details with timeline and action items.

Installation

npm install @tpmjs/tools-postmortem-draft

Usage

import { postmortemDraftTool } from '@tpmjs/tools-postmortem-draft';

const result = await postmortemDraftTool.execute({
  title: 'Database Connection Pool Exhaustion',
  timeline: [
    {
      time: '2025-01-15T14:23:00Z',
      event: 'First alerts for elevated error rates',
    },
    {
      time: '2025-01-15T14:25:00Z',
      event: 'Connection pool exhaustion confirmed',
    },
    {
      time: '2025-01-15T14:30:00Z',
      event: 'Emergency pool size increase deployed',
    },
    {
      time: '2025-01-15T14:35:00Z',
      event: 'Service restored, errors subsiding',
    },
    {
      time: '2025-01-15T14:45:00Z',
      event: 'Incident resolved, monitoring continues',
    },
  ],
  rootCause:
    'Database connection pool size was set to 10 connections, which was insufficient for peak traffic. A code deployment earlier that day introduced a connection leak that slowly exhausted the pool.',
  actionItems: [
    'Increase connection pool size from 10 to 50',
    'Add connection pool monitoring and alerting',
    'Review code for connection leaks and add tests',
    'Implement circuit breaker pattern for database calls',
  ],
});

console.log(result.postmortem);
// Markdown-formatted postmortem document
console.log(`Severity: ${result.severity}`);
console.log(`Duration: ${result.duration}`);

Features

  • Generates structured markdown postmortem documents
  • Automatically calculates incident duration from timeline
  • Assesses severity based on incident characteristics
  • Includes timeline, root cause, and action items
  • Follows SRE postmortem best practices
  • Adds placeholder sections for team review

Input

PostmortemDraftInput

  • title (string, required): Title of the incident
  • timeline (array, required): Array of timeline events
  • rootCause (string, required): Root cause analysis
  • actionItems (array, required): Array of action items

TimelineEvent

  • time (string, required): Timestamp of the event (ISO 8601 recommended)
  • event (string, required): Description of what happened

Output

PostmortemDraft

  • postmortem (string): Markdown-formatted postmortem document
  • severity (string): Assessed severity ('low' | 'medium' | 'high' | 'critical')
  • duration (string | null): Calculated incident duration

Severity Assessment

The tool automatically assesses severity based on keywords and timeline:

  • Critical: Complete outage, data loss, security breach
  • High: Major outage, service down, significant customer impact
  • Medium: Degraded performance, partial outage
  • Low: Minor issues, minimal impact

License

MIT