pediatric-ai-scribe-v3/src/utils
Daniel 6fa0d87da4 refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files)
All remaining backend files renamed:
  src/middleware/auth.ts, logging.ts (2 files)
  src/utils/*.ts         (20 files: ai, auditQueue, config, crypto,
                          embeddings, errors, fileType, logger, models,
                          notify, passwords, platform, promptSafe,
                          prompts, redact, sessions, transcribe*,
                          ttsGoogle)
  src/db/database.ts, migrate.ts (2 files)

Spot-fixes to satisfy tsc (all within the spirit of 'no behavior
change' — added `: any` annotations where the original JS relied on
duck typing that tsc's default inference narrows too aggressively):

  utils/ai.ts — body, converseParams, request literals + fallback
    result object + err.code/model/message casts. AI client has lots
    of provider-specific ad-hoc object shapes; Day 5 will replace the
    `any`s with proper provider-response interfaces.
  utils/embeddings.ts — payload + request as `any`; generateEmbedding
    call sites pass `undefined as any` for the now-required second
    arg (model) until we refactor the signature.
  utils/prompts.ts — PROMPTS typed as Record<string, any> so
    .loadFromDb / .updatePrompt / .getAllPrompts attachments after
    the const literal compile.
  utils/transcribeLocal.ts — buildArgs() has two `var args = [...]`
    in the same function scope (var-hoisted); both now typed as
    any[] so they don't type-clash across conditionals.

Backend is now 54 of 54 TypeScript files, permissive mode.
`npm run typecheck` EXIT 0. Prod container still running the old
JS image — no Dockerfile change yet.

Next: Day 5 flips strict: true, fixes every error tsc surfaces, adds
Vitest + Zod + Knip tooling.
2026-04-23 19:52:16 +02:00
..
ai.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
auditQueue.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
config.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
crypto.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
embeddings.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
errors.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
fileType.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
logger.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
models.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
notify.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
passwords.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
platform.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
prompts.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
promptSafe.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
redact.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
sessions.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
transcribeAWS.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
transcribeGoogle.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
transcribeLocal.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
ttsGoogle.ts refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00