Files
music_library/backlog/tasks/ml-163 - Create-pi-tools-to-fetch-production-errors.md
T
2026-05-04 09:20:11 +01:00

50 lines
1.9 KiB
Markdown

---
id: ML-163
title: Create pi tools to fetch production errors
status: To Do
assignee: []
created_date: '2026-05-04 08:08'
updated_date: '2026-05-04 08:18'
labels:
- pi
dependencies: []
parent_task_id: DRAFT-1
priority: medium
ordinal: 5000
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Create `fetch_production_errors` and `fetch_production_error` pi tools that call the `/api/v1/errors` JSON API endpoint.
These tools are registered via `pi.registerTool()` in a pi extension. They make authenticated HTTP requests to the production server using the same HURL variable pattern established by `fetch_production_logs` (ML-160).
### Tools
**`fetch_production_errors`** — List/filter production errors
- Parameters: `status` (optional: "resolved" | "unresolved"), `muted` (optional: boolean), `search` (optional: string, substring match on reason), `limit` (optional: number, default 50), `offset` (optional: number, default 0)
- Calls `GET /api/v1/errors` with query params
- Returns: formatted list of errors with counts and timestamps
- Truncates output with `truncateTail` (50KB / 2000 lines)
**`fetch_production_error`** — Get a single error with full details
- Parameters: `id` (required: UUID string)
- Calls `GET /api/v1/errors/:id`
- Returns: error details with all occurrences, stacktraces, and context
- Truncates output with `truncateTail`
### Tool guidelines (promptGuidelines)
- Use fetch_production_errors when investigating what errors are occurring in production
- Use fetch_production_error when you need full details on a specific error, including stacktraces and context
- Start with a small limit (e.g., 20) and filter by status or search before fetching large result sets
### Auth
Uses the same HURL variable pattern as `fetch_production_logs`:
- `PI_API_TOKEN` — Bearer token for API auth
- `PI_SERVICE_FQDN_WEB` — Production domain
They need to be configured in the pi environment as local secrets.
<!-- SECTION:DESCRIPTION:END -->