From ebaf959461415e440722da29748d2735c3db9d9d Mon Sep 17 00:00:00 2001 From: "codegen-sh[bot]" <131295404+codegen-sh[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:46:44 +0000 Subject: [PATCH 1/2] Add assignee_id parameter to linear_search_issues tool --- src/codegen/extensions/langchain/tools.py | 5 +++-- src/codegen/extensions/tools/linear/linear.py | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/codegen/extensions/langchain/tools.py b/src/codegen/extensions/langchain/tools.py index 0749384a4..6a45efb26 100644 --- a/src/codegen/extensions/langchain/tools.py +++ b/src/codegen/extensions/langchain/tools.py @@ -744,6 +744,7 @@ class LinearSearchIssuesInput(BaseModel): query: str = Field(..., description="Search query string") limit: int = Field(default=10, description="Maximum number of issues to return") + assignee_id: str | None = Field(default=None, description="Optional assignee ID to filter issues by") class LinearSearchIssuesTool(BaseTool): @@ -757,8 +758,8 @@ class LinearSearchIssuesTool(BaseTool): def __init__(self, client: LinearClient) -> None: super().__init__(client=client) - def _run(self, query: str, limit: int = 10) -> str: - result = linear_search_issues_tool(self.client, query, limit) + def _run(self, query: str, limit: int = 10, assignee_id: str | None = None) -> str: + result = linear_search_issues_tool(self.client, query, limit, assignee_id) return result.render() diff --git a/src/codegen/extensions/tools/linear/linear.py b/src/codegen/extensions/tools/linear/linear.py index 31c534bd7..f2dc451ee 100644 --- a/src/codegen/extensions/tools/linear/linear.py +++ b/src/codegen/extensions/tools/linear/linear.py @@ -273,8 +273,19 @@ def linear_register_webhook_tool( ) -def linear_search_issues_tool(client: LinearClient, query: str, limit: int = 10) -> LinearSearchObservation: - """Search for issues using a query string.""" +def linear_search_issues_tool(client: LinearClient, query: str, limit: int = 10, assignee_id: str | None = None) -> LinearSearchObservation: + """Search for issues using a query string. + + Args: + client: LinearClient instance + query: Search query string + limit: Maximum number of issues to return + assignee_id: Optional assignee ID to filter issues by + """ + # If assignee_id is provided and not already in the query, add it + if assignee_id and "assignee:" not in query: + query = f"{query} assignee:{assignee_id}" + try: issues = client.search_issues(query, limit) return LinearSearchObservation( From a11837d001700ec211207c619358e3578eb0eae0 Mon Sep 17 00:00:00 2001 From: "codegen-sh[bot]" <131295404+codegen-sh[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:47:37 +0000 Subject: [PATCH 2/2] Automated pre-commit update --- src/codegen/extensions/tools/linear/linear.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/codegen/extensions/tools/linear/linear.py b/src/codegen/extensions/tools/linear/linear.py index f2dc451ee..ce4eb725a 100644 --- a/src/codegen/extensions/tools/linear/linear.py +++ b/src/codegen/extensions/tools/linear/linear.py @@ -275,7 +275,7 @@ def linear_register_webhook_tool( def linear_search_issues_tool(client: LinearClient, query: str, limit: int = 10, assignee_id: str | None = None) -> LinearSearchObservation: """Search for issues using a query string. - + Args: client: LinearClient instance query: Search query string @@ -285,7 +285,7 @@ def linear_search_issues_tool(client: LinearClient, query: str, limit: int = 10, # If assignee_id is provided and not already in the query, add it if assignee_id and "assignee:" not in query: query = f"{query} assignee:{assignee_id}" - + try: issues = client.search_issues(query, limit) return LinearSearchObservation(