가드레일·MCP·메모리 오류 처리 개선
가드레일, MCP, 메모리, 음성, 추적 관련 오류 처리와 동작이 전반적으로 개선되었습니다.
교안에 영향
예전 안내 글에서 MCP 오류나 Chat Completions의 store 기본값을 다르게 설명했다면 그대로는 맞지 않습니다.
요약
- @seratch의 wrapped에서 원래 callable을 노출하도록 추가했습니다. - tripwire가 실행을 중단할 때 input guardrail 결과를 보고하고, 여러 모듈의 같은 예외 재발생 처리를 통일했습니다. - sandbox, modal, MCP, realtime, memory, extensions, voice, tracing 전반의 버그를 수정했습니다. - Chat Completions의 store 기본값 문서를 바로잡았습니다.
바뀐 것
새 기능
- wrapped에서 원래 callable을 노출하도록 했습니다.
기타
- Chat Completions의 store 기본값 문서를 바로잡았습니다.
수정
- tripwire가 실행을 중단할 때 input guardrail 결과를 보고하도록 했습니다.
- 같은 예외를 다시 던지는 처리를 모든 모듈에서 bare raise로 통일했습니다.
- sandbox에서 태그가 붙은 EnvValue 하위 클래스를 보존하도록 했습니다.
- modal에서 tar hydration 중 임시 경로를 거부하도록 했습니다.
- MCP의 prompt와 resource 전송 오류를 가리도록 했습니다.
- SDK 오류에서 URL 자격 증명을 가리도록 했습니다.
- tracing과 tool metadata에서 URL 자격 증명을 가리도록 했습니다.
- 직접적인 MCP 정리 전송 오류를 가리도록 했습니다.
- 재연결 전에 실패한 MCP 서버를 정리하도록 했습니다.
- 중첩된 MCP 정리 오류를 가리도록 했습니다.
- realtime에서 서버의 원시 이벤트 payload를 보존하도록 했습니다.
- positive limits에서 SQLAlchemy와 MongoDB의 유효한 session item 개수를 올바르게 세도록 했습니다.
- positive limits에서 AdvancedSQLiteSession의 유효한 item 개수를 올바르게 세도록 했습니다.
- positive limits에서 Redis와 Dapr session item의 개수를 올바르게 세도록 했습니다.
- Redis와 Dapr session에서 closed 상태를 강제하도록 했습니다.
- schema keywords와 같은 이름의 tool parameters를 유지하도록 했습니다.
- LiteLLM provider stream을 종료 시 닫도록 했습니다.
- 정리 실패가 나도 완료된 LiteLLM streams를 보존하도록 했습니다.
- voice에서 iterator cancellation을 전파하도록 했습니다.
- stream task가 session_ended를 알리면 audio dispatch loop를 중단하도록 했습니다.
- idle 상태에서는 audio dispatcher가 동작하지 않도록 했습니다.
- tracing의 export deadline을 monotonic time 기준으로 쓰도록 했습니다.