Skip to content

Commit 9696451

Browse files
committed
chore: pass all parameters in search payload
1 parent 8a1c7b3 commit 9696451

File tree

1 file changed

+18
-22
lines changed

1 file changed

+18
-22
lines changed

src/linkup/client.py

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -312,38 +312,34 @@ def _get_search_params(
312312
output_type: Literal["searchResults", "sourcedAnswer", "structured"],
313313
structured_output_schema: Union[type[BaseModel], str, None],
314314
include_images: bool,
315-
from_date: Union[date, None],
316-
include_domains: Union[list[str], None],
317315
exclude_domains: Union[list[str], None],
316+
include_domains: Union[list[str], None],
317+
from_date: Union[date, None],
318318
to_date: Union[date, None],
319319
) -> dict[str, Union[str, bool, list[str]]]:
320-
params: dict[str, Union[str, bool, list[str]]] = dict(
321-
q=query,
322-
depth=depth,
323-
outputType=output_type,
324-
includeImages=include_images,
325-
)
326-
327-
if output_type == "structured" and structured_output_schema is not None:
320+
structured_output_schema_param: str = ""
321+
if structured_output_schema is not None:
328322
if isinstance(structured_output_schema, str):
329-
params["structuredOutputSchema"] = structured_output_schema
323+
structured_output_schema_param = structured_output_schema
330324
elif issubclass(structured_output_schema, BaseModel):
331325
json_schema: dict[str, Any] = structured_output_schema.model_json_schema()
332-
params["structuredOutputSchema"] = json.dumps(json_schema)
326+
structured_output_schema_param = json.dumps(json_schema)
333327
else:
334328
raise TypeError(
335329
f"Unexpected structured_output_schema type: '{type(structured_output_schema)}'"
336330
)
337-
if from_date is not None:
338-
params["fromDate"] = from_date.isoformat()
339-
if exclude_domains is not None:
340-
params["excludeDomains"] = exclude_domains
341-
if include_domains is not None:
342-
params["includeDomains"] = include_domains
343-
if to_date is not None:
344-
params["toDate"] = to_date.isoformat()
345-
346-
return params
331+
332+
return dict(
333+
q=query,
334+
depth=depth,
335+
outputType=output_type,
336+
structuredOutputSchema=structured_output_schema_param,
337+
includeImages=include_images,
338+
excludeDomains=exclude_domains or [],
339+
includeDomains=include_domains or [],
340+
fromDate=from_date.isoformat() if from_date is not None else "",
341+
toDate=to_date.isoformat() if to_date is not None else "",
342+
)
347343

348344
def _validate_search_response(
349345
self,

0 commit comments

Comments
 (0)