xpander-sdk 2.0.142__tar.gz → 2.0.144__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 (98) hide show
  1. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/PKG-INFO +2 -2
  2. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/README.md +1 -1
  3. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/setup.py +1 -1
  4. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/events_module.py +13 -0
  5. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk.egg-info/PKG-INFO +2 -2
  6. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/LICENSE +0 -0
  7. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/pyproject.toml +0 -0
  8. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/setup.cfg +0 -0
  9. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/__init__.py +0 -0
  10. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/consts/__init__.py +0 -0
  11. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/consts/api_routes.py +0 -0
  12. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/core/__init__.py +0 -0
  13. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/core/module_base.py +0 -0
  14. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/core/state.py +0 -0
  15. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/core/xpander_api_client.py +0 -0
  16. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/exceptions/__init__.py +0 -0
  17. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/exceptions/module_exception.py +0 -0
  18. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/models/__init__.py +0 -0
  19. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/models/configuration.py +0 -0
  20. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/models/events.py +0 -0
  21. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/models/frameworks.py +0 -0
  22. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/models/shared.py +0 -0
  23. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/models/user.py +0 -0
  24. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/__init__.py +0 -0
  25. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/__init__.py +0 -0
  26. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/agents_module.py +0 -0
  27. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/models/__init__.py +0 -0
  28. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/models/agent.py +0 -0
  29. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/models/agent_list.py +0 -0
  30. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/models/knowledge_bases.py +0 -0
  31. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/sub_modules/__init__.py +0 -0
  32. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/sub_modules/agent.py +0 -0
  33. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/utils/__init__.py +0 -0
  34. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/agents/utils/generic.py +0 -0
  35. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/backend/__init__.py +0 -0
  36. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/backend/backend_module.py +0 -0
  37. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/backend/frameworks/__init__.py +0 -0
  38. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/backend/frameworks/agno.py +0 -0
  39. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/backend/frameworks/dispatch.py +0 -0
  40. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/backend/utils/__init__.py +0 -0
  41. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/backend/utils/mcp_oauth.py +0 -0
  42. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/__init__.py +0 -0
  43. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/decorators/__init__.py +0 -0
  44. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/decorators/on_boot.py +0 -0
  45. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/decorators/on_shutdown.py +0 -0
  46. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/decorators/on_task.py +0 -0
  47. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/models/__init__.py +0 -0
  48. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/models/deployments.py +0 -0
  49. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/models/events.py +0 -0
  50. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/utils/__init__.py +0 -0
  51. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/utils/generic.py +0 -0
  52. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/events/utils/git_init.py +0 -0
  53. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/knowledge_bases/__init__.py +0 -0
  54. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/knowledge_bases/knowledge_bases_module.py +0 -0
  55. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/knowledge_bases/models/__init__.py +0 -0
  56. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/knowledge_bases/models/knowledge_bases.py +0 -0
  57. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/knowledge_bases/sub_modules/__init__.py +0 -0
  58. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base.py +0 -0
  59. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base_document_item.py +0 -0
  60. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/knowledge_bases/utils/__init__.py +0 -0
  61. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tasks/__init__.py +0 -0
  62. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tasks/models/__init__.py +0 -0
  63. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tasks/models/task.py +0 -0
  64. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tasks/models/tasks_list.py +0 -0
  65. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tasks/sub_modules/__init__.py +0 -0
  66. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tasks/sub_modules/task.py +0 -0
  67. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tasks/tasks_module.py +0 -0
  68. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tasks/utils/__init__.py +0 -0
  69. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tasks/utils/files.py +0 -0
  70. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/__init__.py +0 -0
  71. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/decorators/__init__.py +0 -0
  72. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/decorators/register_tool.py +0 -0
  73. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/models/__init__.py +0 -0
  74. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/models/mcp.py +0 -0
  75. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/models/tool_invocation_result.py +0 -0
  76. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/sub_modules/__init__.py +0 -0
  77. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/sub_modules/tool.py +0 -0
  78. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/tools_repository_module.py +0 -0
  79. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/utils/__init__.py +0 -0
  80. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/utils/generic.py +0 -0
  81. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/utils/local_tools.py +0 -0
  82. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/modules/tools_repository/utils/schemas.py +0 -0
  83. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/utils/__init__.py +0 -0
  84. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/utils/env.py +0 -0
  85. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/utils/event_loop.py +0 -0
  86. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk/utils/tools.py +0 -0
  87. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk.egg-info/SOURCES.txt +0 -0
  88. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk.egg-info/dependency_links.txt +0 -0
  89. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk.egg-info/requires.txt +0 -0
  90. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/src/xpander_sdk.egg-info/top_level.txt +0 -0
  91. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/tests/test_agents_module.py +0 -0
  92. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/tests/test_api_client.py +0 -0
  93. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/tests/test_backend_module.py +0 -0
  94. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/tests/test_boot_shutdown_handlers.py +0 -0
  95. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/tests/test_configuration.py +0 -0
  96. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/tests/test_knowledge_bases_module.py +0 -0
  97. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/tests/test_tasks_module.py +0 -0
  98. {xpander_sdk-2.0.142 → xpander_sdk-2.0.144}/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.142
3
+ Version: 2.0.144
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
@@ -405,7 +405,7 @@ This project is licensed under the MIT License - see the LICENSE file for detail
405
405
 
406
406
  - **Documentation**: [https://docs.xpander.ai](https://docs.xpander.ai)
407
407
  - **Issues**: [GitHub Issues](https://github.com/xpander-ai/xpander-sdk/issues)
408
- - **Email**: dev@xpander.ai
408
+ - **Email**: support@xpander.ai
409
409
 
410
410
  ---
411
411
 
@@ -356,7 +356,7 @@ This project is licensed under the MIT License - see the LICENSE file for detail
356
356
 
357
357
  - **Documentation**: [https://docs.xpander.ai](https://docs.xpander.ai)
358
358
  - **Issues**: [GitHub Issues](https://github.com/xpander-ai/xpander-sdk/issues)
359
- - **Email**: dev@xpander.ai
359
+ - **Email**: support@xpander.ai
360
360
 
361
361
  ---
362
362
 
@@ -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.142",
8
+ version="2.0.144",
9
9
  author="xpanderAI",
10
10
  author_email="dev@xpander.ai",
11
11
  description="xpander.ai Backend-as-a-service for AI Agents - SDK",
@@ -9,6 +9,7 @@ from __future__ import annotations
9
9
 
10
10
  import asyncio
11
11
  import json
12
+ import json as py_json
12
13
  import os
13
14
  import signal
14
15
  import sys
@@ -19,10 +20,12 @@ from typing import Any, Awaitable, Callable, Optional, Set, Union, List
19
20
  import httpx
20
21
  from httpx_sse import aconnect_sse
21
22
  from loguru import logger
23
+ from pydantic import BaseModel
22
24
 
23
25
  from xpander_sdk.core.module_base import ModuleBase
24
26
  from xpander_sdk.exceptions.module_exception import ModuleException
25
27
  from xpander_sdk.models.configuration import Configuration
28
+ from xpander_sdk.models.shared import OutputFormat
26
29
  from xpander_sdk.modules.agents.models.agent import SourceNodeType
27
30
  from xpander_sdk.modules.tasks.tasks_module import Tasks
28
31
 
@@ -364,6 +367,16 @@ class Events(ModuleBase):
364
367
  ): # let the handler set the status, if not set - mark as completed
365
368
  task.status = AgentExecutionStatus.Completed
366
369
 
370
+ # in case of structured output, return as stringified json
371
+ try:
372
+ if task.output_format == OutputFormat.Json:
373
+ if isinstance(task.result, BaseModel):
374
+ task.result = task.result.model_dump_json()
375
+ if isinstance(task.result, dict) or isinstance(task.result, list):
376
+ task.result = py_json.dumps(task.result)
377
+ except Exception:
378
+ pass
379
+
367
380
  await task.asave()
368
381
  task.tokens = task_used_tokens
369
382
  task.used_tools = task_used_tools
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xpander-sdk
3
- Version: 2.0.142
3
+ Version: 2.0.144
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
@@ -405,7 +405,7 @@ This project is licensed under the MIT License - see the LICENSE file for detail
405
405
 
406
406
  - **Documentation**: [https://docs.xpander.ai](https://docs.xpander.ai)
407
407
  - **Issues**: [GitHub Issues](https://github.com/xpander-ai/xpander-sdk/issues)
408
- - **Email**: dev@xpander.ai
408
+ - **Email**: support@xpander.ai
409
409
 
410
410
  ---
411
411
 
File without changes
File without changes