Commit Graph

2 Commits

  • refactor(ai): improve error handling and stop reason types
    - Add 'aborted' as a distinct stop reason separate from 'error'
    - Change AssistantMessage.error to errorMessage for clarity
    - Update error event to include reason field ('error' | 'aborted')
    - Map provider-specific safety/refusal reasons to 'error' stop reason
    - Reorganize utility functions into utils/ directory
    - Rename agent.ts to agent-loop.ts for better clarity
    - Fix error handling in all providers to properly distinguish abort from error
  • Replace Zod with TypeBox for schema validation
    - Switch from Zod to TypeBox for tool parameter schemas
    - TypeBox schemas can be serialized/deserialized as JSON
    - Use AJV for runtime validation instead of Zod's parse
    - Add StringEnum helper for Google API compatibility (avoids anyOf/const patterns)
    - Export Type and Static from main package for convenience
    - Update all tests and documentation to reflect TypeBox usage