@@ -66,12 +66,10 @@ class CreateChatCompletionRequest(BaseSchema):
6666 asknews_watermark : Annotated [
6767 Optional [bool ], Field (title = 'Append "Generated by AskNews AI" watermark' )
6868 ] = True
69- append_references : Annotated [
70- Optional [bool ], Field (title = "Append References or not" )
71- ] = True
72- conversational_awareness : Annotated [
73- Optional [bool ], Field (title = "Conversational Awareness" )
74- ] = False
69+ append_references : Annotated [Optional [bool ], Field (title = "Append References or not" )] = True
70+ conversational_awareness : Annotated [Optional [bool ], Field (title = "Conversational Awareness" )] = (
71+ False
72+ )
7573 filter_params : Annotated [
7674 Optional [Dict [str , Any ]],
7775 Field (title = "Any filter param available on the /news endpoint." ),
@@ -327,3 +325,53 @@ class FilterParamsMetadata(BaseModel):
327325class FilterParamsResponse (BaseModel ):
328326 metadata : FilterParamsMetadata
329327 filter_params : FilterParams
328+
329+
330+ class SeriesConfig (BaseModel ):
331+ name : str
332+ start_datetime : datetime
333+ end_datetime : datetime
334+ sampling : Optional [str ] = "1d"
335+ time_filter : Optional [str ] = "pub_date"
336+ categories : Optional [List [str ]] = None
337+ domains : Optional [List [str ]] = None
338+ bad_domain_url : Optional [List [str ]] = None
339+ page_rank : Optional [int ] = None
340+ string_guarantee : Optional [List [str ]] = None
341+ string_guarantee_op : Optional [str ] = "OR"
342+ reverse_string_guarantee : Optional [List [str ]] = None
343+ entity_guarantee : Optional [List [str ]] = None
344+ entity_guarantee_op : Optional [str ] = "OR"
345+ countries : Optional [List [str ]] = None
346+ countries_blacklist : Optional [List [str ]] = None
347+ continents : Optional [List [str ]] = None
348+ languages : Optional [List [str ]] = None
349+ sentiment : Optional [str ] = None
350+ reporting_voice : Optional [List [str ]] = None
351+ provocative : Optional [str ] = "all"
352+
353+
354+ class ChartParameters (BaseModel ):
355+ chart_type : Literal ["line" , "bar" , "bar_pct" ] = Field (
356+ ..., description = "The type of chart to create"
357+ )
358+ title : Optional [str ] = Field (None , description = "The title of the chart" )
359+ series : List [SeriesConfig ] = Field (..., description = "The series configurations for the chart" )
360+
361+
362+ class CreateChartRequest (BaseSchema ):
363+ query : str = Field (..., description = "The chart query to create" )
364+
365+
366+ class ChartResponse (BaseSchema ):
367+ success : bool
368+ chart_json : Annotated [
369+ dict , Field (description = "The plotly fig.to_json() JSON representation of the chart" )
370+ ]
371+ query : str = None
372+ reasoning : Optional [str ] = None
373+ parameters : Optional [ChartParameters ] = None
374+ context : Optional [dict ] = None
375+ iterations_used : Optional [int ] = None
376+ last_reasoning : Optional [str ] = None
377+ last_parameters : Optional [ChartParameters ] = None
0 commit comments