|
9 | 9 | import src.api.tools.organization.utils as utils |
10 | 10 | from src.config import config |
11 | 11 | from src.api.common import query_graphql_organizations |
| 12 | +from src.api.context import get_session_settings |
12 | 13 | from src.utils.elicitation import try_elicitation, ElicitationError |
13 | 14 | from src.logger import get_logger |
14 | 15 |
|
@@ -72,6 +73,8 @@ async def choose_organization(ctx: Context) -> dict: |
72 | 73 |
|
73 | 74 | settings = config.get_settings() |
74 | 75 | user_id = config.get_user_id() |
| 76 | + session_settings = get_session_settings() |
| 77 | + |
75 | 78 | # Track tool call event |
76 | 79 | settings.analytics_manager.track_event( |
77 | 80 | user_id, "tool_calling", {"name": "choose_organization"} |
@@ -154,7 +157,10 @@ class OrganizationChoice(BaseModel): |
154 | 157 |
|
155 | 158 | # Set the selected organization in settings |
156 | 159 | if selected_org: |
157 | | - settings.org_id = selected_org["orgID"] |
| 160 | + if settings.is_remote and session_settings: |
| 161 | + session_settings["org_id"] = selected_org["orgID"] |
| 162 | + else: |
| 163 | + settings.org_id = selected_org["orgID"] |
158 | 164 |
|
159 | 165 | return { |
160 | 166 | "status": "success", |
@@ -211,6 +217,7 @@ async def set_organization(ctx: Context, organization_id: str) -> dict: |
211 | 217 | 3. Call set_organization with the chosen ID |
212 | 218 | """ |
213 | 219 | settings = config.get_settings() |
| 220 | + session_settings = get_session_settings() |
214 | 221 | user_id = config.get_user_id() |
215 | 222 | # Track tool call event |
216 | 223 | settings.analytics_manager.track_event( |
@@ -243,10 +250,13 @@ async def set_organization(ctx: Context, organization_id: str) -> dict: |
243 | 250 | } |
244 | 251 |
|
245 | 252 | # Set the selected organization in settings |
246 | | - if hasattr(settings, "org_id"): |
247 | | - settings.org_id = selected_org["orgID"] |
| 253 | + if settings.is_remote and session_settings: |
| 254 | + session_settings["org_id"] = selected_org["orgID"] |
248 | 255 | else: |
249 | | - setattr(settings, "org_id", selected_org["orgID"]) |
| 256 | + if hasattr(settings, "org_id"): |
| 257 | + settings.org_id = selected_org["orgID"] |
| 258 | + else: |
| 259 | + setattr(settings, "org_id", selected_org["orgID"]) |
250 | 260 |
|
251 | 261 | await ctx.info( |
252 | 262 | f"Organization set to: {selected_org['name']} (ID: {selected_org['orgID']})" |
|
0 commit comments