Skip to content

Commit 8e3930e

Browse files
committed
feat(explorer): send interactivity flag in client
1 parent e66a266 commit 8e3930e

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/sentry/seer/endpoints/organization_seer_explorer_chat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def post(
112112
on_page_context = validated_data.get("on_page_context")
113113

114114
try:
115-
client = SeerExplorerClient(organization, request.user)
115+
client = SeerExplorerClient(organization, request.user, is_interactive=True)
116116
if run_id:
117117
# Continue existing conversation
118118
result_run_id = client.continue_run(

src/sentry/seer/explorer/client.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ def execute(cls, organization, **kwargs):
101101
artifact_schema: Optional Pydantic model to generate a structured artifact at the end of the run
102102
custom_tools: Optional list of `ExplorerTool` objects to make available as tools to the agent. Each tool must inherit from ExplorerTool and implement get_params() and execute(). Tools are automatically given access to the organization context. Tool classes must be module-level (not nested classes).
103103
intelligence_level: Optionally set the intelligence level of the agent. Higher intelligence gives better result quality at the cost of significantly higher latency and cost.
104+
is_interactive: Enable full interactive, human-like features of the agent. Only enable if you support *all* available interactions in Seer.
104105
"""
105106

106107
def __init__(
@@ -112,6 +113,7 @@ def __init__(
112113
artifact_schema: type[BaseModel] | None = None,
113114
custom_tools: list[type[ExplorerTool]] | None = None,
114115
intelligence_level: Literal["low", "medium", "high"] = "medium",
116+
is_interactive: bool = False,
115117
):
116118
self.organization = organization
117119
self.user = user
@@ -120,6 +122,7 @@ def __init__(
120122
self.intelligence_level = intelligence_level
121123
self.category_key = category_key
122124
self.category_value = category_value
125+
self.is_interactive = is_interactive
123126

124127
# Validate that category_key and category_value are provided together
125128
if category_key == "" or category_value == "":
@@ -160,6 +163,7 @@ def start_run(
160163
"on_page_context": on_page_context,
161164
"user_org_context": collect_user_org_context(self.user, self.organization),
162165
"intelligence_level": self.intelligence_level,
166+
"is_interactive": self.is_interactive,
163167
}
164168

165169
# Add artifact schema if provided

0 commit comments

Comments
 (0)