xpander-sdk 2.0.151__tar.gz → 2.0.152__tar.gz

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.
Files changed (99) hide show
  1. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/PKG-INFO +9 -4
  2. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/README.md +8 -3
  3. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/setup.py +1 -1
  4. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk.egg-info/PKG-INFO +9 -4
  5. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/LICENSE +0 -0
  6. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/pyproject.toml +0 -0
  7. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/setup.cfg +0 -0
  8. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/__init__.py +0 -0
  9. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/consts/__init__.py +0 -0
  10. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/consts/api_routes.py +0 -0
  11. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/core/__init__.py +0 -0
  12. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/core/module_base.py +0 -0
  13. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/core/state.py +0 -0
  14. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/core/xpander_api_client.py +0 -0
  15. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/exceptions/__init__.py +0 -0
  16. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/exceptions/module_exception.py +0 -0
  17. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/models/__init__.py +0 -0
  18. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/models/activity.py +0 -0
  19. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/models/configuration.py +0 -0
  20. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/models/events.py +0 -0
  21. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/models/frameworks.py +0 -0
  22. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/models/shared.py +0 -0
  23. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/models/user.py +0 -0
  24. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/__init__.py +0 -0
  25. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/__init__.py +0 -0
  26. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/agents_module.py +0 -0
  27. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/models/__init__.py +0 -0
  28. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/models/agent.py +0 -0
  29. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/models/agent_list.py +0 -0
  30. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/models/knowledge_bases.py +0 -0
  31. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/sub_modules/__init__.py +0 -0
  32. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/sub_modules/agent.py +0 -0
  33. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/utils/__init__.py +0 -0
  34. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/agents/utils/generic.py +0 -0
  35. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/backend/__init__.py +0 -0
  36. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/backend/backend_module.py +0 -0
  37. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/backend/frameworks/__init__.py +0 -0
  38. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/backend/frameworks/agno.py +0 -0
  39. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/backend/frameworks/dispatch.py +0 -0
  40. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/backend/utils/__init__.py +0 -0
  41. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/backend/utils/mcp_oauth.py +0 -0
  42. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/__init__.py +0 -0
  43. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/decorators/__init__.py +0 -0
  44. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/decorators/on_boot.py +0 -0
  45. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/decorators/on_shutdown.py +0 -0
  46. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/decorators/on_task.py +0 -0
  47. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/events_module.py +0 -0
  48. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/models/__init__.py +0 -0
  49. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/models/deployments.py +0 -0
  50. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/models/events.py +0 -0
  51. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/utils/__init__.py +0 -0
  52. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/utils/generic.py +0 -0
  53. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/events/utils/git_init.py +0 -0
  54. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/knowledge_bases/__init__.py +0 -0
  55. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/knowledge_bases/knowledge_bases_module.py +0 -0
  56. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/knowledge_bases/models/__init__.py +0 -0
  57. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/knowledge_bases/models/knowledge_bases.py +0 -0
  58. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/knowledge_bases/sub_modules/__init__.py +0 -0
  59. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base.py +0 -0
  60. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base_document_item.py +0 -0
  61. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/knowledge_bases/utils/__init__.py +0 -0
  62. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tasks/__init__.py +0 -0
  63. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tasks/models/__init__.py +0 -0
  64. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tasks/models/task.py +0 -0
  65. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tasks/models/tasks_list.py +0 -0
  66. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tasks/sub_modules/__init__.py +0 -0
  67. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tasks/sub_modules/task.py +0 -0
  68. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tasks/tasks_module.py +0 -0
  69. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tasks/utils/__init__.py +0 -0
  70. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tasks/utils/files.py +0 -0
  71. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/__init__.py +0 -0
  72. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/decorators/__init__.py +0 -0
  73. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/decorators/register_tool.py +0 -0
  74. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/models/__init__.py +0 -0
  75. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/models/mcp.py +0 -0
  76. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/models/tool_invocation_result.py +0 -0
  77. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/sub_modules/__init__.py +0 -0
  78. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/sub_modules/tool.py +0 -0
  79. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/tools_repository_module.py +0 -0
  80. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/utils/__init__.py +0 -0
  81. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/utils/generic.py +0 -0
  82. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/utils/local_tools.py +0 -0
  83. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/modules/tools_repository/utils/schemas.py +0 -0
  84. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/utils/__init__.py +0 -0
  85. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/utils/env.py +0 -0
  86. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/utils/event_loop.py +0 -0
  87. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk/utils/tools.py +0 -0
  88. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk.egg-info/SOURCES.txt +0 -0
  89. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk.egg-info/dependency_links.txt +0 -0
  90. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk.egg-info/requires.txt +0 -0
  91. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/src/xpander_sdk.egg-info/top_level.txt +0 -0
  92. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/tests/test_agents_module.py +0 -0
  93. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/tests/test_api_client.py +0 -0
  94. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/tests/test_backend_module.py +0 -0
  95. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/tests/test_boot_shutdown_handlers.py +0 -0
  96. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/tests/test_configuration.py +0 -0
  97. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/tests/test_knowledge_bases_module.py +0 -0
  98. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/tests/test_tasks_module.py +0 -0
  99. {xpander_sdk-2.0.151 → xpander_sdk-2.0.152}/tests/test_tools_repository.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xpander-sdk
3
- Version: 2.0.151
3
+ Version: 2.0.152
4
4
  Summary: xpander.ai Backend-as-a-service for AI Agents - SDK
5
5
  Home-page: https://www.xpander.ai
6
6
  Author: xpanderAI
@@ -296,6 +296,11 @@ async for event in task.aevents():
296
296
 
297
297
  ```python
298
298
  from xpander_sdk import Task
299
+ from xpander_sdk.models.activity import (
300
+ AgentActivityThreadMessage,
301
+ AgentActivityThreadToolCall,
302
+ AgentActivityThreadReasoning
303
+ )
299
304
 
300
305
  # Load a completed task
301
306
  task = await Task.aload("task-id")
@@ -305,14 +310,14 @@ activity_log = await task.aget_activity_log()
305
310
 
306
311
  # Analyze messages between user and agent
307
312
  for message in activity_log.messages:
308
- if hasattr(message, 'role'):
313
+ if isinstance(message, AgentActivityThreadMessage):
309
314
  print(f"{message.role}: {message.content.text}")
310
- elif hasattr(message, 'tool_name'):
315
+ elif isinstance(message, AgentActivityThreadToolCall):
311
316
  # Tool call
312
317
  print(f"Tool: {message.tool_name}")
313
318
  print(f"Payload: {message.payload}")
314
319
  print(f"Result: {message.result}")
315
- elif hasattr(message, 'type'):
320
+ elif isinstance(message, AgentActivityThreadReasoning):
316
321
  # Reasoning step
317
322
  print(f"Reasoning ({message.type}): {message.thought}")
318
323
 
@@ -247,6 +247,11 @@ async for event in task.aevents():
247
247
 
248
248
  ```python
249
249
  from xpander_sdk import Task
250
+ from xpander_sdk.models.activity import (
251
+ AgentActivityThreadMessage,
252
+ AgentActivityThreadToolCall,
253
+ AgentActivityThreadReasoning
254
+ )
250
255
 
251
256
  # Load a completed task
252
257
  task = await Task.aload("task-id")
@@ -256,14 +261,14 @@ activity_log = await task.aget_activity_log()
256
261
 
257
262
  # Analyze messages between user and agent
258
263
  for message in activity_log.messages:
259
- if hasattr(message, 'role'):
264
+ if isinstance(message, AgentActivityThreadMessage):
260
265
  print(f"{message.role}: {message.content.text}")
261
- elif hasattr(message, 'tool_name'):
266
+ elif isinstance(message, AgentActivityThreadToolCall):
262
267
  # Tool call
263
268
  print(f"Tool: {message.tool_name}")
264
269
  print(f"Payload: {message.payload}")
265
270
  print(f"Result: {message.result}")
266
- elif hasattr(message, 'type'):
271
+ elif isinstance(message, AgentActivityThreadReasoning):
267
272
  # Reasoning step
268
273
  print(f"Reasoning ({message.type}): {message.thought}")
269
274
 
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="xpander-sdk",
8
- version="2.0.151",
8
+ version="2.0.152",
9
9
  author="xpanderAI",
10
10
  author_email="dev@xpander.ai",
11
11
  description="xpander.ai Backend-as-a-service for AI Agents - SDK",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xpander-sdk
3
- Version: 2.0.151
3
+ Version: 2.0.152
4
4
  Summary: xpander.ai Backend-as-a-service for AI Agents - SDK
5
5
  Home-page: https://www.xpander.ai
6
6
  Author: xpanderAI
@@ -296,6 +296,11 @@ async for event in task.aevents():
296
296
 
297
297
  ```python
298
298
  from xpander_sdk import Task
299
+ from xpander_sdk.models.activity import (
300
+ AgentActivityThreadMessage,
301
+ AgentActivityThreadToolCall,
302
+ AgentActivityThreadReasoning
303
+ )
299
304
 
300
305
  # Load a completed task
301
306
  task = await Task.aload("task-id")
@@ -305,14 +310,14 @@ activity_log = await task.aget_activity_log()
305
310
 
306
311
  # Analyze messages between user and agent
307
312
  for message in activity_log.messages:
308
- if hasattr(message, 'role'):
313
+ if isinstance(message, AgentActivityThreadMessage):
309
314
  print(f"{message.role}: {message.content.text}")
310
- elif hasattr(message, 'tool_name'):
315
+ elif isinstance(message, AgentActivityThreadToolCall):
311
316
  # Tool call
312
317
  print(f"Tool: {message.tool_name}")
313
318
  print(f"Payload: {message.payload}")
314
319
  print(f"Result: {message.result}")
315
- elif hasattr(message, 'type'):
320
+ elif isinstance(message, AgentActivityThreadReasoning):
316
321
  # Reasoning step
317
322
  print(f"Reasoning ({message.type}): {message.thought}")
318
323
 
File without changes
File without changes