alita-sdk 0.3.446__py3-none-any.whl → 0.3.447__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of alita-sdk might be problematic. Click here for more details.

@@ -402,7 +402,13 @@ class McpToolkit(BaseToolkit):
402
402
  ]
403
403
 
404
404
  # Create BaseTool instances from discovered metadata
405
- # Use session_id from connection_config (passed from UI) instead of discovery
405
+ # Use session_id from discovery (which may have been created if server requires it)
406
+ # If discovery returned a session_id, it means a new session was created
407
+ # Log it so UI can capture and store it
408
+ if session_id:
409
+ logger.info(f"[MCP Session] Using session from discovery: {session_id}")
410
+ logger.info(f"[MCP Session] Session created - server: {canonical_resource(connection_config.url)}, session_id: {session_id}")
411
+
406
412
  for tool_metadata in tool_metadata_list:
407
413
  server_tool = cls._create_tool_from_dict(
408
414
  tool_dict=tool_metadata,
@@ -410,7 +416,7 @@ class McpToolkit(BaseToolkit):
410
416
  connection_config=connection_config,
411
417
  timeout=timeout,
412
418
  client=client,
413
- session_id=connection_config.session_id # Use session from connection config
419
+ session_id=session_id # Use session from discovery
414
420
  )
415
421
 
416
422
  if server_tool:
@@ -462,20 +468,47 @@ class McpToolkit(BaseToolkit):
462
468
  """
463
469
  all_tools = []
464
470
 
465
- # Note: We don't initialize MCP session here because:
466
- # 1. Discovery happens before we have OAuth tokens
467
- # 2. Sessions are initialized on-demand during first tool call (when we have auth)
468
- # 3. Sessions are stored in UI sessionStorage and passed back via mcp_tokens
469
- session_id = None
471
+ # Check if we have a session_id from UI (passed via connection_config)
472
+ # If not, we'll try discovery without session first, and create one if needed
473
+ session_id = connection_config.session_id
470
474
 
471
- # Discover regular tools
472
- tools_data = cls._discover_mcp_endpoint(
473
- endpoint="tools/list",
474
- toolkit_name=toolkit_name,
475
- connection_config=connection_config,
476
- timeout=timeout,
477
- session_id=session_id
478
- )
475
+ # Discover regular tools - if server requires session and we don't have one, this will fail
476
+ # and we'll catch it below to initialize a session
477
+ try:
478
+ tools_data = cls._discover_mcp_endpoint(
479
+ endpoint="tools/list",
480
+ toolkit_name=toolkit_name,
481
+ connection_config=connection_config,
482
+ timeout=timeout,
483
+ session_id=session_id
484
+ )
485
+ except Exception as discovery_error:
486
+ # Check if error is due to missing session
487
+ if "Missing sessionId" in str(discovery_error) and not session_id:
488
+ logger.info(f"[MCP Session] Server requires session for discovery, initializing...")
489
+ # Try to initialize session if we have OAuth headers
490
+ session_id = cls._initialize_mcp_session(
491
+ toolkit_name=toolkit_name,
492
+ connection_config=connection_config,
493
+ timeout=timeout,
494
+ extra_headers=connection_config.headers # Use headers from connection_config
495
+ )
496
+
497
+ if session_id:
498
+ logger.info(f"[MCP Session] Created session for discovery: {session_id}")
499
+ # Retry discovery with session
500
+ tools_data = cls._discover_mcp_endpoint(
501
+ endpoint="tools/list",
502
+ toolkit_name=toolkit_name,
503
+ connection_config=connection_config,
504
+ timeout=timeout,
505
+ session_id=session_id
506
+ )
507
+ else:
508
+ logger.error(f"[MCP Session] Failed to create session for discovery")
509
+ raise discovery_error
510
+ else:
511
+ raise
479
512
  all_tools.extend(tools_data)
480
513
  logger.info(f"Discovered {len(tools_data)} tools from MCP toolkit '{toolkit_name}'")
481
514
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.446
3
+ Version: 0.3.447
4
4
  Summary: SDK for building langchain agents using resources from Alita
5
5
  Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedj27@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -103,7 +103,7 @@ alita_sdk/runtime/toolkits/application.py,sha256=HHAKgwKOckxc7EQG-AV7rz4POOzQJKF
103
103
  alita_sdk/runtime/toolkits/artifact.py,sha256=YChNCX4QhVpaQG7Jk4TS-Wl0Aruc4slQ2K21zh9nNO0,3176
104
104
  alita_sdk/runtime/toolkits/configurations.py,sha256=kIDAlnryPQfbZyFxV-9SzN2-Vefzx06TX1BBdIIpN90,141
105
105
  alita_sdk/runtime/toolkits/datasource.py,sha256=qk78OdPoReYPCWwahfkKLbKc4pfsu-061oXRryFLP6I,2498
106
- alita_sdk/runtime/toolkits/mcp.py,sha256=bBfV-iOJ481SzMt14vMgs8BqZzzXwpa3111cGSB3810,46391
106
+ alita_sdk/runtime/toolkits/mcp.py,sha256=J8XiunPA-Wb-1VBQlyzPE4JzsnMB2xHUhVYirhZdkXk,48218
107
107
  alita_sdk/runtime/toolkits/prompt.py,sha256=WIpTkkVYWqIqOWR_LlSWz3ug8uO9tm5jJ7aZYdiGRn0,1192
108
108
  alita_sdk/runtime/toolkits/subgraph.py,sha256=wwUK8JjPXkGzyVZ3tAukmvST6eGbqx_U11rpnmbrvtg,2105
109
109
  alita_sdk/runtime/toolkits/tools.py,sha256=74R0SadMiUJFUe3U5_PJcxzw5m1KMMBiVfVeiowZK6I,13434
@@ -360,8 +360,8 @@ alita_sdk/tools/zephyr_scale/api_wrapper.py,sha256=kT0TbmMvuKhDUZc0i7KO18O38JM9S
360
360
  alita_sdk/tools/zephyr_squad/__init__.py,sha256=0ne8XLJEQSLOWfzd2HdnqOYmQlUliKHbBED5kW_Vias,2895
361
361
  alita_sdk/tools/zephyr_squad/api_wrapper.py,sha256=kmw_xol8YIYFplBLWTqP_VKPRhL_1ItDD0_vXTe_UuI,14906
362
362
  alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py,sha256=R371waHsms4sllHCbijKYs90C-9Yu0sSR3N4SUfQOgU,5066
363
- alita_sdk-0.3.446.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
364
- alita_sdk-0.3.446.dist-info/METADATA,sha256=akIEnIoOfAXzb6sKj1ef-dWGEr3ySjKbdQhNYkdHNdE,19071
365
- alita_sdk-0.3.446.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
366
- alita_sdk-0.3.446.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
367
- alita_sdk-0.3.446.dist-info/RECORD,,
363
+ alita_sdk-0.3.447.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
364
+ alita_sdk-0.3.447.dist-info/METADATA,sha256=CDd8WFh0YMw_nYaLEwLlH-MkycbbZZ0cTNSCxYlMfG4,19071
365
+ alita_sdk-0.3.447.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
366
+ alita_sdk-0.3.447.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
367
+ alita_sdk-0.3.447.dist-info/RECORD,,