Skip to content

fix: harden AG-UI recorder, mock, and handler error handling#150

Merged
jpr5 merged 1 commit intomainfrom
fix/preexisting-hardening
May 3, 2026
Merged

fix: harden AG-UI recorder, mock, and handler error handling#150
jpr5 merged 1 commit intomainfrom
fix/preexisting-hardening

Conversation

@jpr5
Copy link
Copy Markdown
Contributor

@jpr5 jpr5 commented May 3, 2026

Summary

Pre-existing hardening items surfaced during CR on PR #149.

  • agui-recorder.ts: Log client write failures (was bare catch), add console.warn fallback for parseSSEEvents when no logger, forward upstream content-type on non-2xx instead of SSE headers
  • agui-mock.ts: Wrap readBody in try/catch (was unguarded await), default logger to "warn" instead of "silent"
  • agui-types.ts: Add logLevel option to AGUIMockOptions
  • logger.ts: Add "warn" log level with proper hierarchy (silent < warn < info < debug)
  • cli.ts + types.ts: Accept "warn" in LogLevel union and CLI validation

Test plan

  • 2682 tests pass
  • Prettier clean
  • ESLint clean
  • tsc --noEmit clean

- Add logging to empty catch on clientRes.write in proxy relay
- Add console.warn fallback when parseSSEEvents has no logger
- Forward upstream content-type for non-2xx status instead of SSE headers
- Wrap readBody call in try/catch in AGUIMock.handleRequest
- Add logLevel option to AGUIMockOptions, default AGUIMock to "warn"
- Add "warn" log level to Logger (silent < warn < info < debug)
@jpr5 jpr5 merged commit 4aabc93 into main May 3, 2026
24 checks passed
@jpr5 jpr5 deleted the fix/preexisting-hardening branch May 3, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant