feat: add reusable ToolHealthBadge and ToolHealthBanner components

- Create ToolHealthBadge component in @tpmjs/ui for broken tool indicator
- Create ToolHealthBanner component in @tpmjs/ui for detailed health warnings
- Integrate both components into playground ToolsSidebar:
  - Badge shows in tool cards in left sidebar
  - Banner shows in tool detail modal
- Update search-registry to include health fields in API responses
- Add package.json exports for new health components

These components provide consistent UI for displaying broken tool status
across the application (tool search, tool detail pages, playground).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ajax Davis 2025-12-04 19:12:07 +10:00
parent 54ee6439cb
commit a9e91c02d1
24 changed files with 729 additions and 405 deletions

View file

@ -134,6 +134,14 @@
"./ActivityStream/ActivityStream": {
"types": "./dist/ActivityStream/ActivityStream.d.ts",
"default": "./dist/ActivityStream/ActivityStream.js"
},
"./ToolHealthBadge/ToolHealthBadge": {
"types": "./dist/ToolHealthBadge/ToolHealthBadge.d.ts",
"default": "./dist/ToolHealthBadge/ToolHealthBadge.js"
},
"./ToolHealthBanner/ToolHealthBanner": {
"types": "./dist/ToolHealthBanner/ToolHealthBanner.d.ts",
"default": "./dist/ToolHealthBanner/ToolHealthBanner.js"
}
},
"files": ["dist"],
@ -152,6 +160,7 @@
},
"dependencies": {
"@tpmjs/utils": "workspace:*",
"react-syntax-highlighter": "^16.1.0",
"zod": "^4.1.13"
},
"devDependencies": {
@ -163,6 +172,7 @@
"@tpmjs/tsconfig": "workspace:*",
"@types/react": "^19.0.2",
"@types/react-dom": "^19.0.2",
"@types/react-syntax-highlighter": "^15.5.13",
"eslint": "^9.39.1",
"glob": "^13.0.0",
"happy-dom": "^15.11.7",