_events.py 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. from __future__ import annotations
  2. from typing import Optional
  3. from typing_extensions import Union, Generic, TypeVar, Annotated, TypeAlias
  4. from ...._utils import PropertyInfo
  5. from ...._compat import GenericModel
  6. from ....types.responses import (
  7. ParsedResponse,
  8. ResponseErrorEvent,
  9. ResponseFailedEvent,
  10. ResponseQueuedEvent,
  11. ResponseCreatedEvent,
  12. ResponseTextDoneEvent as RawResponseTextDoneEvent,
  13. ResponseAudioDoneEvent,
  14. ResponseCompletedEvent as RawResponseCompletedEvent,
  15. ResponseTextDeltaEvent as RawResponseTextDeltaEvent,
  16. ResponseAudioDeltaEvent,
  17. ResponseIncompleteEvent,
  18. ResponseInProgressEvent,
  19. ResponseRefusalDoneEvent,
  20. ResponseRefusalDeltaEvent,
  21. ResponseMcpCallFailedEvent,
  22. ResponseOutputItemDoneEvent,
  23. ResponseContentPartDoneEvent,
  24. ResponseOutputItemAddedEvent,
  25. ResponseContentPartAddedEvent,
  26. ResponseMcpCallCompletedEvent,
  27. ResponseMcpCallInProgressEvent,
  28. ResponseMcpListToolsFailedEvent,
  29. ResponseAudioTranscriptDoneEvent,
  30. ResponseAudioTranscriptDeltaEvent,
  31. ResponseMcpCallArgumentsDoneEvent,
  32. ResponseImageGenCallCompletedEvent,
  33. ResponseMcpCallArgumentsDeltaEvent,
  34. ResponseMcpListToolsCompletedEvent,
  35. ResponseImageGenCallGeneratingEvent,
  36. ResponseImageGenCallInProgressEvent,
  37. ResponseMcpListToolsInProgressEvent,
  38. ResponseWebSearchCallCompletedEvent,
  39. ResponseWebSearchCallSearchingEvent,
  40. ResponseCustomToolCallInputDoneEvent,
  41. ResponseFileSearchCallCompletedEvent,
  42. ResponseFileSearchCallSearchingEvent,
  43. ResponseWebSearchCallInProgressEvent,
  44. ResponseCustomToolCallInputDeltaEvent,
  45. ResponseFileSearchCallInProgressEvent,
  46. ResponseImageGenCallPartialImageEvent,
  47. ResponseReasoningSummaryPartDoneEvent,
  48. ResponseReasoningSummaryTextDoneEvent,
  49. ResponseFunctionCallArgumentsDoneEvent,
  50. ResponseOutputTextAnnotationAddedEvent,
  51. ResponseReasoningSummaryPartAddedEvent,
  52. ResponseReasoningSummaryTextDeltaEvent,
  53. ResponseFunctionCallArgumentsDeltaEvent as RawResponseFunctionCallArgumentsDeltaEvent,
  54. ResponseCodeInterpreterCallCodeDoneEvent,
  55. ResponseCodeInterpreterCallCodeDeltaEvent,
  56. ResponseCodeInterpreterCallCompletedEvent,
  57. ResponseCodeInterpreterCallInProgressEvent,
  58. ResponseCodeInterpreterCallInterpretingEvent,
  59. )
  60. from ....types.responses.response_reasoning_text_done_event import ResponseReasoningTextDoneEvent
  61. from ....types.responses.response_reasoning_text_delta_event import ResponseReasoningTextDeltaEvent
  62. TextFormatT = TypeVar(
  63. "TextFormatT",
  64. # if it isn't given then we don't do any parsing
  65. default=None,
  66. )
  67. class ResponseTextDeltaEvent(RawResponseTextDeltaEvent):
  68. snapshot: str
  69. class ResponseTextDoneEvent(RawResponseTextDoneEvent, GenericModel, Generic[TextFormatT]):
  70. parsed: Optional[TextFormatT] = None
  71. class ResponseFunctionCallArgumentsDeltaEvent(RawResponseFunctionCallArgumentsDeltaEvent):
  72. snapshot: str
  73. class ResponseCompletedEvent(RawResponseCompletedEvent, GenericModel, Generic[TextFormatT]):
  74. response: ParsedResponse[TextFormatT] # type: ignore[assignment]
  75. ResponseStreamEvent: TypeAlias = Annotated[
  76. Union[
  77. # wrappers with snapshots added on
  78. ResponseTextDeltaEvent,
  79. ResponseTextDoneEvent[TextFormatT],
  80. ResponseFunctionCallArgumentsDeltaEvent,
  81. ResponseCompletedEvent[TextFormatT],
  82. # the same as the non-accumulated API
  83. ResponseAudioDeltaEvent,
  84. ResponseAudioDoneEvent,
  85. ResponseAudioTranscriptDeltaEvent,
  86. ResponseAudioTranscriptDoneEvent,
  87. ResponseCodeInterpreterCallCodeDeltaEvent,
  88. ResponseCodeInterpreterCallCodeDoneEvent,
  89. ResponseCodeInterpreterCallCompletedEvent,
  90. ResponseCodeInterpreterCallInProgressEvent,
  91. ResponseCodeInterpreterCallInterpretingEvent,
  92. ResponseContentPartAddedEvent,
  93. ResponseContentPartDoneEvent,
  94. ResponseCreatedEvent,
  95. ResponseErrorEvent,
  96. ResponseFileSearchCallCompletedEvent,
  97. ResponseFileSearchCallInProgressEvent,
  98. ResponseFileSearchCallSearchingEvent,
  99. ResponseFunctionCallArgumentsDoneEvent,
  100. ResponseInProgressEvent,
  101. ResponseFailedEvent,
  102. ResponseIncompleteEvent,
  103. ResponseOutputItemAddedEvent,
  104. ResponseOutputItemDoneEvent,
  105. ResponseRefusalDeltaEvent,
  106. ResponseRefusalDoneEvent,
  107. ResponseTextDoneEvent,
  108. ResponseWebSearchCallCompletedEvent,
  109. ResponseWebSearchCallInProgressEvent,
  110. ResponseWebSearchCallSearchingEvent,
  111. ResponseReasoningSummaryPartAddedEvent,
  112. ResponseReasoningSummaryPartDoneEvent,
  113. ResponseReasoningSummaryTextDeltaEvent,
  114. ResponseReasoningSummaryTextDoneEvent,
  115. ResponseImageGenCallCompletedEvent,
  116. ResponseImageGenCallInProgressEvent,
  117. ResponseImageGenCallGeneratingEvent,
  118. ResponseImageGenCallPartialImageEvent,
  119. ResponseMcpCallCompletedEvent,
  120. ResponseMcpCallArgumentsDeltaEvent,
  121. ResponseMcpCallArgumentsDoneEvent,
  122. ResponseMcpCallFailedEvent,
  123. ResponseMcpCallInProgressEvent,
  124. ResponseMcpListToolsCompletedEvent,
  125. ResponseMcpListToolsFailedEvent,
  126. ResponseMcpListToolsInProgressEvent,
  127. ResponseOutputTextAnnotationAddedEvent,
  128. ResponseQueuedEvent,
  129. ResponseReasoningTextDeltaEvent,
  130. ResponseReasoningTextDoneEvent,
  131. ResponseCustomToolCallInputDeltaEvent,
  132. ResponseCustomToolCallInputDoneEvent,
  133. ],
  134. PropertyInfo(discriminator="type"),
  135. ]