- harness/es.py: append-only event store + проекции (образец — кооп-портал) - harness/levels.py: уровни 1с/1м/1ч/1д, контекст ∝ масштабу - harness/scheduler.py: уровневые потоки, идемпотентные тики, absorbed-стабы - harness/isolated_runner.py + _llm_worker.py: LLM-тик в сабпроцессе (глобальный asyncio-рантайм Strands не переживает 2+ create_harness) - cli.py: init/task/tasks/status/events + requeue (написан самим минутным агентом) - 9router: отдельный ключ sk-simbiot, модель auto (glm-5.3 первым)
704 lines
27 KiB
Python
704 lines
27 KiB
Python
# File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details.
|
|
|
|
from __future__ import annotations
|
|
|
|
import httpx2
|
|
|
|
from ... import _legacy_response
|
|
from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
|
|
from ..._utils import path_template, maybe_transform, async_maybe_transform
|
|
from ..._compat import cached_property
|
|
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
from ..._response import (
|
|
StreamedBinaryAPIResponse,
|
|
AsyncStreamedBinaryAPIResponse,
|
|
to_streamed_response_wrapper,
|
|
async_to_streamed_response_wrapper,
|
|
to_custom_streamed_response_wrapper,
|
|
async_to_custom_streamed_response_wrapper,
|
|
)
|
|
from ...types.live import (
|
|
session_fork_params,
|
|
session_refer_params,
|
|
session_accept_params,
|
|
session_reject_params,
|
|
)
|
|
from ..._base_client import make_request_options
|
|
from ...types.live.session_fork_response import SessionForkResponse
|
|
from ...types.live.media_session_fork_config_param import MediaSessionForkConfigParam
|
|
|
|
__all__ = ["Sessions", "AsyncSessions"]
|
|
|
|
|
|
class Sessions(SyncAPIResource):
|
|
@cached_property
|
|
def with_raw_response(self) -> SessionsWithRawResponse:
|
|
"""
|
|
This property can be used as a prefix for any HTTP method call to return
|
|
the raw response object instead of the parsed content.
|
|
|
|
For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
|
|
"""
|
|
return SessionsWithRawResponse(self)
|
|
|
|
@cached_property
|
|
def with_streaming_response(self) -> SessionsWithStreamingResponse:
|
|
"""
|
|
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
|
|
For more information, see https://www.github.com/openai/openai-python#with_streaming_response
|
|
"""
|
|
return SessionsWithStreamingResponse(self)
|
|
|
|
def accept(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
session: session_accept_params.Session,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> None:
|
|
"""Accept an incoming SIP call.
|
|
|
|
Supply session with type live, the model, and
|
|
startup configuration. Before accepting calls, follow the
|
|
[Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting)
|
|
to write frontend conversation instructions and a separate backend prompt. SIP
|
|
media format is negotiated; omit audio.format.
|
|
|
|
Args:
|
|
session: Model and startup configuration for the Live session that answers the incoming
|
|
SIP call.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
return self._post(
|
|
path_template("/live/sessions/{session_id}/accept", session_id=session_id),
|
|
body=maybe_transform({"session": session}, session_accept_params.SessionAcceptParams),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=NoneType,
|
|
)
|
|
|
|
def download_recording(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> _legacy_response.HttpxBinaryResponseContent:
|
|
"""
|
|
Get Live session content
|
|
|
|
Args:
|
|
session_id: The ID of the stored Live session to download. Use the session ID returned when
|
|
the session started with storage enabled.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "application/binary", **(extra_headers or {})}
|
|
return self._get(
|
|
path_template("/live/sessions/{session_id}/content", session_id=session_id),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=_legacy_response.HttpxBinaryResponseContent,
|
|
)
|
|
|
|
def fork(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
transport: session_fork_params.Transport,
|
|
session: MediaSessionForkConfigParam | Omit = omit,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> SessionForkResponse:
|
|
"""
|
|
Fork a stored Live session onto a new WebRTC connection.
|
|
|
|
Args:
|
|
transport: WebRTC transport with an SDP offer for the new connection to the forked session.
|
|
|
|
session: Optional configuration overrides for the new Live session. Omit this object or
|
|
send an empty object to inherit the stored session's settings.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
return self._post(
|
|
path_template("/live/sessions/{session_id}/fork", session_id=session_id),
|
|
body=maybe_transform(
|
|
{
|
|
"transport": transport,
|
|
"session": session,
|
|
},
|
|
session_fork_params.SessionForkParams,
|
|
),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=SessionForkResponse,
|
|
)
|
|
|
|
def hangup(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> None:
|
|
"""
|
|
End a SIP call identified by session_id.
|
|
|
|
Args:
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
return self._post(
|
|
path_template("/live/sessions/{session_id}/hangup", session_id=session_id),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=NoneType,
|
|
)
|
|
|
|
def refer(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
target_uri: str,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> None:
|
|
"""Transfer a SIP call to another destination.
|
|
|
|
Supply a nonblank target_uri for the
|
|
SIP Refer-To header.
|
|
|
|
Args:
|
|
target_uri: Nonblank URI for the SIP Refer-To header, such as tel:+14155550123 or
|
|
sip:agent@example.com.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
return self._post(
|
|
path_template("/live/sessions/{session_id}/refer", session_id=session_id),
|
|
body=maybe_transform({"target_uri": target_uri}, session_refer_params.SessionReferParams),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=NoneType,
|
|
)
|
|
|
|
def reject(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
status_code: int,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> None:
|
|
"""Reject an incoming SIP call.
|
|
|
|
Send a required SIP rejection status_code between
|
|
300 and 699.
|
|
|
|
Args:
|
|
status_code: SIP rejection status sent to the caller. This field is required.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
return self._post(
|
|
path_template("/live/sessions/{session_id}/reject", session_id=session_id),
|
|
body=maybe_transform({"status_code": status_code}, session_reject_params.SessionRejectParams),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=NoneType,
|
|
)
|
|
|
|
|
|
class AsyncSessions(AsyncAPIResource):
|
|
@cached_property
|
|
def with_raw_response(self) -> AsyncSessionsWithRawResponse:
|
|
"""
|
|
This property can be used as a prefix for any HTTP method call to return
|
|
the raw response object instead of the parsed content.
|
|
|
|
For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
|
|
"""
|
|
return AsyncSessionsWithRawResponse(self)
|
|
|
|
@cached_property
|
|
def with_streaming_response(self) -> AsyncSessionsWithStreamingResponse:
|
|
"""
|
|
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
|
|
For more information, see https://www.github.com/openai/openai-python#with_streaming_response
|
|
"""
|
|
return AsyncSessionsWithStreamingResponse(self)
|
|
|
|
async def accept(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
session: session_accept_params.Session,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> None:
|
|
"""Accept an incoming SIP call.
|
|
|
|
Supply session with type live, the model, and
|
|
startup configuration. Before accepting calls, follow the
|
|
[Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting)
|
|
to write frontend conversation instructions and a separate backend prompt. SIP
|
|
media format is negotiated; omit audio.format.
|
|
|
|
Args:
|
|
session: Model and startup configuration for the Live session that answers the incoming
|
|
SIP call.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
return await self._post(
|
|
path_template("/live/sessions/{session_id}/accept", session_id=session_id),
|
|
body=await async_maybe_transform({"session": session}, session_accept_params.SessionAcceptParams),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=NoneType,
|
|
)
|
|
|
|
async def download_recording(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> _legacy_response.HttpxBinaryResponseContent:
|
|
"""
|
|
Get Live session content
|
|
|
|
Args:
|
|
session_id: The ID of the stored Live session to download. Use the session ID returned when
|
|
the session started with storage enabled.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "application/binary", **(extra_headers or {})}
|
|
return await self._get(
|
|
path_template("/live/sessions/{session_id}/content", session_id=session_id),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=_legacy_response.HttpxBinaryResponseContent,
|
|
)
|
|
|
|
async def fork(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
transport: session_fork_params.Transport,
|
|
session: MediaSessionForkConfigParam | Omit = omit,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> SessionForkResponse:
|
|
"""
|
|
Fork a stored Live session onto a new WebRTC connection.
|
|
|
|
Args:
|
|
transport: WebRTC transport with an SDP offer for the new connection to the forked session.
|
|
|
|
session: Optional configuration overrides for the new Live session. Omit this object or
|
|
send an empty object to inherit the stored session's settings.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
return await self._post(
|
|
path_template("/live/sessions/{session_id}/fork", session_id=session_id),
|
|
body=await async_maybe_transform(
|
|
{
|
|
"transport": transport,
|
|
"session": session,
|
|
},
|
|
session_fork_params.SessionForkParams,
|
|
),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=SessionForkResponse,
|
|
)
|
|
|
|
async def hangup(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> None:
|
|
"""
|
|
End a SIP call identified by session_id.
|
|
|
|
Args:
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
return await self._post(
|
|
path_template("/live/sessions/{session_id}/hangup", session_id=session_id),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=NoneType,
|
|
)
|
|
|
|
async def refer(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
target_uri: str,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> None:
|
|
"""Transfer a SIP call to another destination.
|
|
|
|
Supply a nonblank target_uri for the
|
|
SIP Refer-To header.
|
|
|
|
Args:
|
|
target_uri: Nonblank URI for the SIP Refer-To header, such as tel:+14155550123 or
|
|
sip:agent@example.com.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
return await self._post(
|
|
path_template("/live/sessions/{session_id}/refer", session_id=session_id),
|
|
body=await async_maybe_transform({"target_uri": target_uri}, session_refer_params.SessionReferParams),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=NoneType,
|
|
)
|
|
|
|
async def reject(
|
|
self,
|
|
session_id: str,
|
|
*,
|
|
status_code: int,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx2.Timeout | None | NotGiven = not_given,
|
|
) -> None:
|
|
"""Reject an incoming SIP call.
|
|
|
|
Send a required SIP rejection status_code between
|
|
300 and 699.
|
|
|
|
Args:
|
|
status_code: SIP rejection status sent to the caller. This field is required.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not session_id:
|
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
return await self._post(
|
|
path_template("/live/sessions/{session_id}/reject", session_id=session_id),
|
|
body=await async_maybe_transform({"status_code": status_code}, session_reject_params.SessionRejectParams),
|
|
options=make_request_options(
|
|
extra_headers=extra_headers,
|
|
extra_query=extra_query,
|
|
extra_body=extra_body,
|
|
timeout=timeout,
|
|
security={"bearer_auth": True},
|
|
),
|
|
cast_to=NoneType,
|
|
)
|
|
|
|
|
|
class SessionsWithRawResponse:
|
|
def __init__(self, sessions: Sessions) -> None:
|
|
self._sessions = sessions
|
|
|
|
self.accept = _legacy_response.to_raw_response_wrapper(
|
|
sessions.accept,
|
|
)
|
|
self.download_recording = _legacy_response.to_raw_response_wrapper(
|
|
sessions.download_recording,
|
|
)
|
|
self.fork = _legacy_response.to_raw_response_wrapper(
|
|
sessions.fork,
|
|
)
|
|
self.hangup = _legacy_response.to_raw_response_wrapper(
|
|
sessions.hangup,
|
|
)
|
|
self.refer = _legacy_response.to_raw_response_wrapper(
|
|
sessions.refer,
|
|
)
|
|
self.reject = _legacy_response.to_raw_response_wrapper(
|
|
sessions.reject,
|
|
)
|
|
|
|
|
|
class AsyncSessionsWithRawResponse:
|
|
def __init__(self, sessions: AsyncSessions) -> None:
|
|
self._sessions = sessions
|
|
|
|
self.accept = _legacy_response.async_to_raw_response_wrapper(
|
|
sessions.accept,
|
|
)
|
|
self.download_recording = _legacy_response.async_to_raw_response_wrapper(
|
|
sessions.download_recording,
|
|
)
|
|
self.fork = _legacy_response.async_to_raw_response_wrapper(
|
|
sessions.fork,
|
|
)
|
|
self.hangup = _legacy_response.async_to_raw_response_wrapper(
|
|
sessions.hangup,
|
|
)
|
|
self.refer = _legacy_response.async_to_raw_response_wrapper(
|
|
sessions.refer,
|
|
)
|
|
self.reject = _legacy_response.async_to_raw_response_wrapper(
|
|
sessions.reject,
|
|
)
|
|
|
|
|
|
class SessionsWithStreamingResponse:
|
|
def __init__(self, sessions: Sessions) -> None:
|
|
self._sessions = sessions
|
|
|
|
self.accept = to_streamed_response_wrapper(
|
|
sessions.accept,
|
|
)
|
|
self.download_recording = to_custom_streamed_response_wrapper(
|
|
sessions.download_recording,
|
|
StreamedBinaryAPIResponse,
|
|
)
|
|
self.fork = to_streamed_response_wrapper(
|
|
sessions.fork,
|
|
)
|
|
self.hangup = to_streamed_response_wrapper(
|
|
sessions.hangup,
|
|
)
|
|
self.refer = to_streamed_response_wrapper(
|
|
sessions.refer,
|
|
)
|
|
self.reject = to_streamed_response_wrapper(
|
|
sessions.reject,
|
|
)
|
|
|
|
|
|
class AsyncSessionsWithStreamingResponse:
|
|
def __init__(self, sessions: AsyncSessions) -> None:
|
|
self._sessions = sessions
|
|
|
|
self.accept = async_to_streamed_response_wrapper(
|
|
sessions.accept,
|
|
)
|
|
self.download_recording = async_to_custom_streamed_response_wrapper(
|
|
sessions.download_recording,
|
|
AsyncStreamedBinaryAPIResponse,
|
|
)
|
|
self.fork = async_to_streamed_response_wrapper(
|
|
sessions.fork,
|
|
)
|
|
self.hangup = async_to_streamed_response_wrapper(
|
|
sessions.hangup,
|
|
)
|
|
self.refer = async_to_streamed_response_wrapper(
|
|
sessions.refer,
|
|
)
|
|
self.reject = async_to_streamed_response_wrapper(
|
|
sessions.reject,
|
|
)
|