xpander-sdk 2.0.204__py3-none-any.whl → 2.0.206__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.
@@ -30,6 +30,8 @@ class OrchestrationNodeType(str, Enum):
30
30
  Classifier: Node that classifies inputs using LLM.
31
31
  Wait: Node that pauses execution until a condition is met.
32
32
  Action: Node that triggers an action (api).
33
+ Guardrail: Node that enforces guardrails on inputs using LLM.
34
+ Summarizer: Node that summarizes or extracts information from inputs using LLM.
33
35
  """
34
36
 
35
37
  CustomFunction = "custom_function"
@@ -39,6 +41,8 @@ class OrchestrationNodeType(str, Enum):
39
41
  Classifier = "classifier"
40
42
  Wait = "wait"
41
43
  Action = "action"
44
+ Guardrail = "guardrail"
45
+ Summarizer = "summarizer"
42
46
 
43
47
  class OrchestrationConditionType(str, Enum):
44
48
  """Types of conditions for orchestration control flow.
@@ -70,10 +74,13 @@ class OrchestrationCondition(XPanderSharedModel):
70
74
  Attributes:
71
75
  type: Type of condition (regex, contains, or else).
72
76
  term: The pattern or string to match against. Optional for 'else' type.
77
+ group_id: Optional group ID for group-based classifier routing.
78
+ When set, routing matches by group ID instead of term matching.
73
79
  """
74
80
 
75
81
  type: OrchestrationConditionType
76
82
  term: Optional[str] = None
83
+ group_id: Optional[str] = None
77
84
 
78
85
  class OrchestrationRetryStrategy(XPanderSharedModel):
79
86
  """Strategy for retrying failed orchestration nodes.
@@ -256,6 +263,7 @@ class OrchestrationNode(XPanderSharedModel):
256
263
  execution strategies, and a specific node type definition.
257
264
 
258
265
  Attributes:
266
+ type: Type of the node (must match the definition type).
259
267
  id: Unique identifier for the node. Auto-generated if not provided.
260
268
  next_node_ids: List of IDs of the next nodes to execute in the workflow (supports branching).
261
269
  name: Human-readable name for the node.
@@ -270,6 +278,7 @@ class OrchestrationNode(XPanderSharedModel):
270
278
  input_instructions: Instructions to use for structured input.
271
279
  """
272
280
 
281
+ type: OrchestrationNodeType
273
282
  id: str = Field(default_factory=lambda: str(uuid4()))
274
283
  next_node_ids: List[str] = Field(default_factory=list)
275
284
  name: Optional[str] = None
@@ -294,4 +303,4 @@ class OrchestrationNode(XPanderSharedModel):
294
303
  ]
295
304
  input_type: Optional[OutputFormat] = OutputFormat.Text
296
305
  input_schema: Optional[Dict] = None
297
- input_instructions: Optional[str] = None
306
+ input_instructions: Optional[str] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xpander-sdk
3
- Version: 2.0.204
3
+ Version: 2.0.206
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
@@ -22,7 +22,7 @@ Requires-Dist: strands-agents>=1.20.0
22
22
  Requires-Dist: openai-agents>=0.6.4
23
23
  Requires-Dist: python-toon>=0.1.3
24
24
  Provides-Extra: agno
25
- Requires-Dist: agno==2.3.6; extra == "agno"
25
+ Requires-Dist: agno==2.3.26; extra == "agno"
26
26
  Requires-Dist: sqlalchemy; extra == "agno"
27
27
  Requires-Dist: psycopg[binary,pool]; extra == "agno"
28
28
  Requires-Dist: greenlet; extra == "agno"
@@ -16,7 +16,7 @@ xpander_sdk/models/events.py,sha256=HnootQSUIIRM4BIdaTbuPUEJ55hLVtA7KDCSsnHeBKw,
16
16
  xpander_sdk/models/frameworks.py,sha256=-7W_m5cvgS1qLp0gGAFP4noNWT82IT1ZqtQv5WuOC2k,2939
17
17
  xpander_sdk/models/generic.py,sha256=yw5rBRdZ-6ucTI4AwtskenddepOooiFRM--9xx5jrL8,681
18
18
  xpander_sdk/models/notifications.py,sha256=3tK4Z2gmA6YxRtqsWgzjiVISgJyHvmjTooiRgzrj5zY,3373
19
- xpander_sdk/models/orchestrations.py,sha256=dEOjK3MHYUDKiy8Fqe5CrBK_6-VWNkHhXBneXrk5FSg,11140
19
+ xpander_sdk/models/orchestrations.py,sha256=OWhCqHMi-hZZYj2lWCXzhDg6KigFIT7AoaUTaZ7DGL0,11642
20
20
  xpander_sdk/models/shared.py,sha256=gW88kA_UslNinUjtQKpLVF0sHDZnckwLWexRapxPivU,3125
21
21
  xpander_sdk/models/user.py,sha256=_FTG0JO6iTrbcvJp-BBJ6nuj281zhyQB5ldQkBCyYDU,749
22
22
  xpander_sdk/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -90,8 +90,8 @@ xpander_sdk/utils/generic.py,sha256=XrRj2-L8c0YWpfPdDyXE-pVL-6lKF9VpyZzKHQ4wuCc,
90
90
  xpander_sdk/utils/tools.py,sha256=lyFkq2yP7DxBkyXYVlnFRwDhQCvf0fZZMDm5fBycze4,1244
91
91
  xpander_sdk/utils/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  xpander_sdk/utils/agents/compactization_agent.py,sha256=S_U1dSmDC7I0JUsp_THUYjfutEI5QMBaMPJEXGp0_Sw,14389
93
- xpander_sdk-2.0.204.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
94
- xpander_sdk-2.0.204.dist-info/METADATA,sha256=D3-ieFK9wl5tuLpUkj8K939O3GGBJXBDvbwtiVNUb_Y,17951
95
- xpander_sdk-2.0.204.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
96
- xpander_sdk-2.0.204.dist-info/top_level.txt,sha256=UCjnxQpsMy5Zoe7lmRuVDO6DI2V_6PgRFfm4oizRbVs,12
97
- xpander_sdk-2.0.204.dist-info/RECORD,,
93
+ xpander_sdk-2.0.206.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
94
+ xpander_sdk-2.0.206.dist-info/METADATA,sha256=ATScz104ZRoYszw-HsRrYKEVKazK0FWrnwFlCT-J-u8,17952
95
+ xpander_sdk-2.0.206.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
96
+ xpander_sdk-2.0.206.dist-info/top_level.txt,sha256=UCjnxQpsMy5Zoe7lmRuVDO6DI2V_6PgRFfm4oizRbVs,12
97
+ xpander_sdk-2.0.206.dist-info/RECORD,,