22
33from __future__ import annotations
44
5+ from typing import Dict
6+ from typing_extensions import Literal
7+
58import httpx
69
10+ from ..types import app_log_params
711from .._types import NOT_GIVEN , Body , Query , Headers , NotGiven
12+ from .._utils import maybe_transform , async_maybe_transform
813from .._compat import cached_property
914from .._resource import SyncAPIResource , AsyncAPIResource
1015from .._response import (
1520)
1621from ..types .app import App
1722from .._base_client import make_request_options
23+ from ..types .app_log_response import AppLogResponse
1824from ..types .app_init_response import AppInitResponse
25+ from ..types .app_modes_response import AppModesResponse
1926
2027__all__ = ["AppResource" , "AsyncAppResource" ]
2128
@@ -78,6 +85,76 @@ def init(
7885 cast_to = AppInitResponse ,
7986 )
8087
88+ def log (
89+ self ,
90+ * ,
91+ level : Literal ["debug" , "info" , "error" , "warn" ],
92+ message : str ,
93+ service : str ,
94+ extra : Dict [str , object ] | NotGiven = NOT_GIVEN ,
95+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
96+ # The extra values given here take precedence over values defined on the client or passed to this method.
97+ extra_headers : Headers | None = None ,
98+ extra_query : Query | None = None ,
99+ extra_body : Body | None = None ,
100+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
101+ ) -> AppLogResponse :
102+ """
103+ Write a log entry to the server logs
104+
105+ Args:
106+ level: Log level
107+
108+ message: Log message
109+
110+ service: Service name for the log entry
111+
112+ extra: Additional metadata for the log entry
113+
114+ extra_headers: Send extra headers
115+
116+ extra_query: Add additional query parameters to the request
117+
118+ extra_body: Add additional JSON properties to the request
119+
120+ timeout: Override the client-level default timeout for this request, in seconds
121+ """
122+ return self ._post (
123+ "/log" ,
124+ body = maybe_transform (
125+ {
126+ "level" : level ,
127+ "message" : message ,
128+ "service" : service ,
129+ "extra" : extra ,
130+ },
131+ app_log_params .AppLogParams ,
132+ ),
133+ options = make_request_options (
134+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
135+ ),
136+ cast_to = AppLogResponse ,
137+ )
138+
139+ def modes (
140+ self ,
141+ * ,
142+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
143+ # The extra values given here take precedence over values defined on the client or passed to this method.
144+ extra_headers : Headers | None = None ,
145+ extra_query : Query | None = None ,
146+ extra_body : Body | None = None ,
147+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
148+ ) -> AppModesResponse :
149+ """List all modes"""
150+ return self ._get (
151+ "/mode" ,
152+ options = make_request_options (
153+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
154+ ),
155+ cast_to = AppModesResponse ,
156+ )
157+
81158
82159class AsyncAppResource (AsyncAPIResource ):
83160 @cached_property
@@ -137,6 +214,76 @@ async def init(
137214 cast_to = AppInitResponse ,
138215 )
139216
217+ async def log (
218+ self ,
219+ * ,
220+ level : Literal ["debug" , "info" , "error" , "warn" ],
221+ message : str ,
222+ service : str ,
223+ extra : Dict [str , object ] | NotGiven = NOT_GIVEN ,
224+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
225+ # The extra values given here take precedence over values defined on the client or passed to this method.
226+ extra_headers : Headers | None = None ,
227+ extra_query : Query | None = None ,
228+ extra_body : Body | None = None ,
229+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
230+ ) -> AppLogResponse :
231+ """
232+ Write a log entry to the server logs
233+
234+ Args:
235+ level: Log level
236+
237+ message: Log message
238+
239+ service: Service name for the log entry
240+
241+ extra: Additional metadata for the log entry
242+
243+ extra_headers: Send extra headers
244+
245+ extra_query: Add additional query parameters to the request
246+
247+ extra_body: Add additional JSON properties to the request
248+
249+ timeout: Override the client-level default timeout for this request, in seconds
250+ """
251+ return await self ._post (
252+ "/log" ,
253+ body = await async_maybe_transform (
254+ {
255+ "level" : level ,
256+ "message" : message ,
257+ "service" : service ,
258+ "extra" : extra ,
259+ },
260+ app_log_params .AppLogParams ,
261+ ),
262+ options = make_request_options (
263+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
264+ ),
265+ cast_to = AppLogResponse ,
266+ )
267+
268+ async def modes (
269+ self ,
270+ * ,
271+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
272+ # The extra values given here take precedence over values defined on the client or passed to this method.
273+ extra_headers : Headers | None = None ,
274+ extra_query : Query | None = None ,
275+ extra_body : Body | None = None ,
276+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
277+ ) -> AppModesResponse :
278+ """List all modes"""
279+ return await self ._get (
280+ "/mode" ,
281+ options = make_request_options (
282+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
283+ ),
284+ cast_to = AppModesResponse ,
285+ )
286+
140287
141288class AppResourceWithRawResponse :
142289 def __init__ (self , app : AppResource ) -> None :
@@ -148,6 +295,12 @@ def __init__(self, app: AppResource) -> None:
148295 self .init = to_raw_response_wrapper (
149296 app .init ,
150297 )
298+ self .log = to_raw_response_wrapper (
299+ app .log ,
300+ )
301+ self .modes = to_raw_response_wrapper (
302+ app .modes ,
303+ )
151304
152305
153306class AsyncAppResourceWithRawResponse :
@@ -160,6 +313,12 @@ def __init__(self, app: AsyncAppResource) -> None:
160313 self .init = async_to_raw_response_wrapper (
161314 app .init ,
162315 )
316+ self .log = async_to_raw_response_wrapper (
317+ app .log ,
318+ )
319+ self .modes = async_to_raw_response_wrapper (
320+ app .modes ,
321+ )
163322
164323
165324class AppResourceWithStreamingResponse :
@@ -172,6 +331,12 @@ def __init__(self, app: AppResource) -> None:
172331 self .init = to_streamed_response_wrapper (
173332 app .init ,
174333 )
334+ self .log = to_streamed_response_wrapper (
335+ app .log ,
336+ )
337+ self .modes = to_streamed_response_wrapper (
338+ app .modes ,
339+ )
175340
176341
177342class AsyncAppResourceWithStreamingResponse :
@@ -184,3 +349,9 @@ def __init__(self, app: AsyncAppResource) -> None:
184349 self .init = async_to_streamed_response_wrapper (
185350 app .init ,
186351 )
352+ self .log = async_to_streamed_response_wrapper (
353+ app .log ,
354+ )
355+ self .modes = async_to_streamed_response_wrapper (
356+ app .modes ,
357+ )
0 commit comments