feat(02-02): install nodemailer and create healthProbeService
- Install nodemailer + @types/nodemailer (needed by Plan 03)
- Create healthProbeService.ts with 4 probers: document_ai, llm_api, supabase, firebase_auth
- Each probe makes a real authenticated API call
- Each probe returns structured ProbeResult with status, latency_ms, error_message
- LLM probe uses cheapest model (claude-haiku-4-5) with max_tokens 5
- Supabase probe uses getPostgresPool().query('SELECT 1') not PostgREST
- Firebase Auth probe distinguishes expected vs unexpected errors
- runAllProbes orchestrator uses Promise.allSettled for fault isolation
- Results persisted via HealthCheckModel.create() after each probe
This commit is contained in:
@@ -43,6 +43,7 @@
|
||||
"dependencies": {
|
||||
"@anthropic-ai/sdk": "^0.57.0",
|
||||
"@google-cloud/documentai": "^9.3.0",
|
||||
"@google-cloud/functions-framework": "^3.4.0",
|
||||
"@google-cloud/storage": "^7.16.0",
|
||||
"@supabase/supabase-js": "^2.53.0",
|
||||
"@types/pdfkit": "^0.17.2",
|
||||
@@ -58,6 +59,7 @@
|
||||
"joi": "^17.11.0",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"morgan": "^1.10.0",
|
||||
"nodemailer": "^8.0.1",
|
||||
"openai": "^5.10.2",
|
||||
"pdf-lib": "^1.17.1",
|
||||
"pdf-parse": "^1.1.1",
|
||||
@@ -67,8 +69,7 @@
|
||||
"uuid": "^11.1.0",
|
||||
"winston": "^3.11.0",
|
||||
"zod": "^3.25.76",
|
||||
"zod-to-json-schema": "^3.24.6",
|
||||
"@google-cloud/functions-framework": "^3.4.0"
|
||||
"zod-to-json-schema": "^3.24.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/bcryptjs": "^2.4.6",
|
||||
@@ -77,6 +78,7 @@
|
||||
"@types/jsonwebtoken": "^9.0.5",
|
||||
"@types/morgan": "^1.9.9",
|
||||
"@types/node": "^20.9.0",
|
||||
"@types/nodemailer": "^7.0.11",
|
||||
"@types/pdf-parse": "^1.1.4",
|
||||
"@types/pg": "^8.10.7",
|
||||
"@types/uuid": "^10.0.0",
|
||||
@@ -84,9 +86,9 @@
|
||||
"@typescript-eslint/parser": "^6.10.0",
|
||||
"@vitest/coverage-v8": "^2.1.0",
|
||||
"eslint": "^8.53.0",
|
||||
"ts-node": "^10.9.2",
|
||||
"ts-node-dev": "^2.0.0",
|
||||
"typescript": "^5.2.2",
|
||||
"ts-node": "^10.9.2",
|
||||
"vitest": "^2.1.0"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user