xpander-sdk 2.0.214__tar.gz → 2.0.216__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 (113) hide show
  1. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/PKG-INFO +1 -1
  2. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/setup.py +1 -1
  3. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/notifications.py +17 -4
  4. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/orchestrations.py +16 -0
  5. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk.egg-info/PKG-INFO +1 -1
  6. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/LICENSE +0 -0
  7. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/README.md +0 -0
  8. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/pyproject.toml +0 -0
  9. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/setup.cfg +0 -0
  10. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/__init__.py +0 -0
  11. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/consts/__init__.py +0 -0
  12. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/consts/api_routes.py +0 -0
  13. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/core/__init__.py +0 -0
  14. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/core/module_base.py +0 -0
  15. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/core/state.py +0 -0
  16. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/core/xpander_api_client.py +0 -0
  17. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/exceptions/__init__.py +0 -0
  18. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/exceptions/module_exception.py +0 -0
  19. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/__init__.py +0 -0
  20. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/activity.py +0 -0
  21. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/compactization.py +0 -0
  22. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/configuration.py +0 -0
  23. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/deep_planning.py +0 -0
  24. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/events.py +0 -0
  25. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/frameworks.py +0 -0
  26. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/generic.py +0 -0
  27. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/shared.py +0 -0
  28. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/models/user.py +0 -0
  29. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/__init__.py +0 -0
  30. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/__init__.py +0 -0
  31. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/agents_module.py +0 -0
  32. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/models/__init__.py +0 -0
  33. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/models/agent.py +0 -0
  34. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/models/agent_list.py +0 -0
  35. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/models/knowledge_bases.py +0 -0
  36. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/sub_modules/__init__.py +0 -0
  37. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/sub_modules/agent.py +0 -0
  38. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/utils/__init__.py +0 -0
  39. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/agents/utils/generic.py +0 -0
  40. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/__init__.py +0 -0
  41. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/backend_module.py +0 -0
  42. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/decorators/__init__.py +0 -0
  43. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/decorators/on_auth_event.py +0 -0
  44. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/events_registry.py +0 -0
  45. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/frameworks/__init__.py +0 -0
  46. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/frameworks/agno.py +0 -0
  47. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/frameworks/dispatch.py +0 -0
  48. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/utils/__init__.py +0 -0
  49. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/backend/utils/mcp_oauth.py +0 -0
  50. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/__init__.py +0 -0
  51. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/decorators/__init__.py +0 -0
  52. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/decorators/on_boot.py +0 -0
  53. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/decorators/on_shutdown.py +0 -0
  54. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/decorators/on_task.py +0 -0
  55. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/decorators/on_tool.py +0 -0
  56. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/events_module.py +0 -0
  57. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/models/__init__.py +0 -0
  58. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/models/deployments.py +0 -0
  59. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/models/events.py +0 -0
  60. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/utils/__init__.py +0 -0
  61. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/utils/generic.py +0 -0
  62. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/events/utils/git_init.py +0 -0
  63. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/knowledge_bases/__init__.py +0 -0
  64. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/knowledge_bases/knowledge_bases_module.py +0 -0
  65. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/knowledge_bases/models/__init__.py +0 -0
  66. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/knowledge_bases/models/knowledge_bases.py +0 -0
  67. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/knowledge_bases/sub_modules/__init__.py +0 -0
  68. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base.py +0 -0
  69. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base_document_item.py +0 -0
  70. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/knowledge_bases/utils/__init__.py +0 -0
  71. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tasks/__init__.py +0 -0
  72. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tasks/models/__init__.py +0 -0
  73. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tasks/models/task.py +0 -0
  74. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tasks/models/tasks_list.py +0 -0
  75. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tasks/sub_modules/__init__.py +0 -0
  76. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tasks/sub_modules/task.py +0 -0
  77. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tasks/tasks_module.py +0 -0
  78. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tasks/utils/__init__.py +0 -0
  79. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tasks/utils/files.py +0 -0
  80. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/__init__.py +0 -0
  81. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/decorators/__init__.py +0 -0
  82. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/decorators/register_tool.py +0 -0
  83. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/models/__init__.py +0 -0
  84. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/models/mcp.py +0 -0
  85. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/models/tool_invocation_result.py +0 -0
  86. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/sub_modules/__init__.py +0 -0
  87. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/sub_modules/tool.py +0 -0
  88. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/tools_repository_module.py +0 -0
  89. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/utils/__init__.py +0 -0
  90. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/utils/generic.py +0 -0
  91. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/utils/local_tools.py +0 -0
  92. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/modules/tools_repository/utils/schemas.py +0 -0
  93. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/utils/__init__.py +0 -0
  94. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/utils/agents/__init__.py +0 -0
  95. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/utils/agents/compactization_agent.py +0 -0
  96. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/utils/env.py +0 -0
  97. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/utils/event_loop.py +0 -0
  98. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/utils/generic.py +0 -0
  99. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk/utils/tools.py +0 -0
  100. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk.egg-info/SOURCES.txt +0 -0
  101. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk.egg-info/dependency_links.txt +0 -0
  102. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk.egg-info/requires.txt +0 -0
  103. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/src/xpander_sdk.egg-info/top_level.txt +0 -0
  104. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/tests/test_agents_module.py +0 -0
  105. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/tests/test_api_client.py +0 -0
  106. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/tests/test_backend_module.py +0 -0
  107. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/tests/test_boot_shutdown_handlers.py +0 -0
  108. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/tests/test_configuration.py +0 -0
  109. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/tests/test_final_validation.py +0 -0
  110. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/tests/test_knowledge_bases_module.py +0 -0
  111. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/tests/test_tasks_module.py +0 -0
  112. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/tests/test_tool_schema_enhancements.py +0 -0
  113. {xpander_sdk-2.0.214 → xpander_sdk-2.0.216}/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.214
3
+ Version: 2.0.216
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
@@ -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.214",
8
+ version="2.0.216",
9
9
  author="xpanderAI",
10
10
  author_email="dev@xpander.ai",
11
11
  description="xpander.ai Backend-as-a-service for AI Agents - SDK",
@@ -31,16 +31,29 @@ class SlackCredentials(XPanderSharedModel):
31
31
  app_configuration_token: Optional[str] = None
32
32
  app_configuration_refresh_token: Optional[str] = None
33
33
 
34
+ # Default values for HITL notifications
35
+ DEFAULT_HITL_BODY = "Hello, workflow {title} is waiting for your approval and will not continue until approved. The workflow request is: {content}. By clicking approve, the workflow will auto-execute."
36
+ DEFAULT_LOGO_URL = "https://assets.xpanderai.io/xpander-logo-512.png"
37
+ DEFAULT_APPROVE_BUTTON_TEXT = "Approve"
38
+ DEFAULT_DENY_BUTTON_TEXT = "Deny"
39
+
40
+
34
41
  class NotificationSettingsBase(XPanderSharedModel):
35
42
  """Base class for notification settings with common customization fields.
36
43
 
37
44
  Attributes:
38
- subject_suffix: Optional suffix to append to notification subjects.
39
- body_prefix: Optional prefix to prepend to notification bodies.
45
+ subject: Optional custom subject line for notifications.
46
+ body: Optional custom body content for notifications.
47
+ approve_button_text: Text for approval button (HITL only). Defaults to "Approve".
48
+ deny_button_text: Text for denial button (HITL only). Defaults to "Deny".
49
+ logo_url: URL for logo image. Defaults to xpander logo.
40
50
  """
41
51
 
42
- subject_suffix: Optional[str] = None
43
- body_prefix: Optional[str] = None
52
+ subject: Optional[str] = None
53
+ body: Optional[str] = None
54
+ approve_button_text: Optional[str] = DEFAULT_APPROVE_BUTTON_TEXT
55
+ deny_button_text: Optional[str] = DEFAULT_DENY_BUTTON_TEXT
56
+ logo_url: Optional[str] = DEFAULT_LOGO_URL
44
57
 
45
58
  class EmailNotificationSettings(NotificationSettingsBase):
46
59
  """Configuration for email notifications.
@@ -43,6 +43,7 @@ class OrchestrationNodeType(str, Enum):
43
43
  Action = "action"
44
44
  Guardrail = "guardrail"
45
45
  Summarizer = "summarizer"
46
+ SendToEnd = "send_to_end"
46
47
 
47
48
  class OrchestrationConditionType(str, Enum):
48
49
  """Types of conditions for orchestration control flow.
@@ -245,6 +246,20 @@ class OrchestrationCodeNode(XPanderSharedModel):
245
246
 
246
247
  code: str
247
248
 
249
+
250
+ class OrchestrationSendToEndNode(XPanderSharedModel):
251
+ """Node that routes execution to end nodes or finishes the workflow.
252
+
253
+ When triggered, this node will:
254
+ 1. Route to end nodes (end-summarizer, end-classifier) if they exist
255
+ 2. Finish workflow execution immediately if no end nodes exist
256
+
257
+ Attributes:
258
+ message: Optional message or reason for finishing the workflow.
259
+ """
260
+
261
+ message: Optional[str] = None
262
+
248
263
  class OrchestrationWaitNode(XPanderSharedModel):
249
264
  """Node that pauses execution until an external event occurs.
250
265
 
@@ -302,6 +317,7 @@ class OrchestrationNode(XPanderSharedModel):
302
317
  OrchestrationWaitNode,
303
318
  OrchestrationGuardrailNode,
304
319
  OrchestrationSummarizerNode,
320
+ OrchestrationSendToEndNode,
305
321
  ]
306
322
  input_type: Optional[OutputFormat] = OutputFormat.Text
307
323
  input_schema: Optional[Dict] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xpander-sdk
3
- Version: 2.0.214
3
+ Version: 2.0.216
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
File without changes
File without changes
File without changes