xpander-sdk 2.0.171__tar.gz → 2.0.172__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 (104) hide show
  1. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/PKG-INFO +1 -1
  2. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/setup.py +1 -1
  3. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/backend/frameworks/agno.py +29 -13
  4. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk.egg-info/PKG-INFO +1 -1
  5. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/LICENSE +0 -0
  6. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/README.md +0 -0
  7. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/pyproject.toml +0 -0
  8. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/setup.cfg +0 -0
  9. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/__init__.py +0 -0
  10. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/consts/__init__.py +0 -0
  11. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/consts/api_routes.py +0 -0
  12. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/core/__init__.py +0 -0
  13. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/core/module_base.py +0 -0
  14. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/core/state.py +0 -0
  15. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/core/xpander_api_client.py +0 -0
  16. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/exceptions/__init__.py +0 -0
  17. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/exceptions/module_exception.py +0 -0
  18. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/models/__init__.py +0 -0
  19. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/models/activity.py +0 -0
  20. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/models/compactization.py +0 -0
  21. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/models/configuration.py +0 -0
  22. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/models/deep_planning.py +0 -0
  23. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/models/events.py +0 -0
  24. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/models/frameworks.py +0 -0
  25. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/models/shared.py +0 -0
  26. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/models/user.py +0 -0
  27. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/__init__.py +0 -0
  28. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/__init__.py +0 -0
  29. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/agents_module.py +0 -0
  30. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/models/__init__.py +0 -0
  31. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/models/agent.py +0 -0
  32. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/models/agent_list.py +0 -0
  33. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/models/knowledge_bases.py +0 -0
  34. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/sub_modules/__init__.py +0 -0
  35. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/sub_modules/agent.py +0 -0
  36. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/utils/__init__.py +0 -0
  37. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/agents/utils/generic.py +0 -0
  38. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/backend/__init__.py +0 -0
  39. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/backend/backend_module.py +0 -0
  40. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/backend/frameworks/__init__.py +0 -0
  41. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/backend/frameworks/dispatch.py +0 -0
  42. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/backend/utils/__init__.py +0 -0
  43. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/backend/utils/mcp_oauth.py +0 -0
  44. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/__init__.py +0 -0
  45. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/decorators/__init__.py +0 -0
  46. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/decorators/on_boot.py +0 -0
  47. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/decorators/on_shutdown.py +0 -0
  48. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/decorators/on_task.py +0 -0
  49. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/events_module.py +0 -0
  50. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/models/__init__.py +0 -0
  51. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/models/deployments.py +0 -0
  52. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/models/events.py +0 -0
  53. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/utils/__init__.py +0 -0
  54. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/utils/generic.py +0 -0
  55. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/events/utils/git_init.py +0 -0
  56. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/knowledge_bases/__init__.py +0 -0
  57. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/knowledge_bases/knowledge_bases_module.py +0 -0
  58. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/knowledge_bases/models/__init__.py +0 -0
  59. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/knowledge_bases/models/knowledge_bases.py +0 -0
  60. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/knowledge_bases/sub_modules/__init__.py +0 -0
  61. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base.py +0 -0
  62. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base_document_item.py +0 -0
  63. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/knowledge_bases/utils/__init__.py +0 -0
  64. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tasks/__init__.py +0 -0
  65. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tasks/models/__init__.py +0 -0
  66. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tasks/models/task.py +0 -0
  67. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tasks/models/tasks_list.py +0 -0
  68. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tasks/sub_modules/__init__.py +0 -0
  69. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tasks/sub_modules/task.py +0 -0
  70. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tasks/tasks_module.py +0 -0
  71. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tasks/utils/__init__.py +0 -0
  72. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tasks/utils/files.py +0 -0
  73. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/__init__.py +0 -0
  74. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/decorators/__init__.py +0 -0
  75. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/decorators/register_tool.py +0 -0
  76. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/models/__init__.py +0 -0
  77. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/models/mcp.py +0 -0
  78. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/models/tool_invocation_result.py +0 -0
  79. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/sub_modules/__init__.py +0 -0
  80. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/sub_modules/tool.py +0 -0
  81. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/tools_repository_module.py +0 -0
  82. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/utils/__init__.py +0 -0
  83. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/utils/generic.py +0 -0
  84. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/utils/local_tools.py +0 -0
  85. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/modules/tools_repository/utils/schemas.py +0 -0
  86. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/utils/__init__.py +0 -0
  87. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/utils/agents/__init__.py +0 -0
  88. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/utils/agents/compactization_agent.py +0 -0
  89. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/utils/env.py +0 -0
  90. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/utils/event_loop.py +0 -0
  91. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/utils/generic.py +0 -0
  92. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk/utils/tools.py +0 -0
  93. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk.egg-info/SOURCES.txt +0 -0
  94. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk.egg-info/dependency_links.txt +0 -0
  95. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk.egg-info/requires.txt +0 -0
  96. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/src/xpander_sdk.egg-info/top_level.txt +0 -0
  97. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/tests/test_agents_module.py +0 -0
  98. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/tests/test_api_client.py +0 -0
  99. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/tests/test_backend_module.py +0 -0
  100. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/tests/test_boot_shutdown_handlers.py +0 -0
  101. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/tests/test_configuration.py +0 -0
  102. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/tests/test_knowledge_bases_module.py +0 -0
  103. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/tests/test_tasks_module.py +0 -0
  104. {xpander_sdk-2.0.171 → xpander_sdk-2.0.172}/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.171
3
+ Version: 2.0.172
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.171",
8
+ version="2.0.172",
9
9
  author="xpanderAI",
10
10
  author_email="dev@xpander.ai",
11
11
  description="xpander.ai Backend-as-a-service for AI Agents - SDK",
@@ -251,7 +251,7 @@ def _configure_deep_planning_guidance(args: Dict[str, Any], agent: Agent, task:
251
251
  2. **START** plan execution (`xpstart_execution_plan`) - MANDATORY to enable enforcement
252
252
  3. **CHECK** plan before each action (`xpget_agent_plan`)
253
253
  4. **DO THE WORK** for one task
254
- 5. **COMPLETE** task IMMEDIATELY - call `xpcomplete_agent_plan_item` RIGHT AFTER finishing work (DO NOT DELAY!)
254
+ 5. **COMPLETE** task IMMEDIATELY - call `xpcomplete_agent_plan_items` RIGHT AFTER finishing work (DO NOT DELAY!)
255
255
  6. **ASK** user for info if needed (`xpask_for_information`) - MANDATORY if you need input or want to pause
256
256
  7. Repeat steps 3-6 until all tasks are done
257
257
 
@@ -307,26 +307,35 @@ def _configure_deep_planning_guidance(args: Dict[str, Any], agent: Agent, task:
307
307
 
308
308
  ---
309
309
 
310
- #### **3. xpcomplete_agent_plan_item** - Mark Task Complete
311
- **When to use**: **IMMEDIATELY** after finishing each task (NOT before, NOT later, RIGHT NOW!)
310
+ #### **3. xpcomplete_agent_plan_items** - Mark Task(s) Complete
311
+ **When to use**: **IMMEDIATELY** after finishing one or more tasks (NOT before, NOT later, RIGHT NOW!)
312
312
 
313
313
  **How to use**:
314
314
  ```json
315
+ // Single task
315
316
  {
316
317
  "body_params": {
317
- "id": "task-uuid-from-plan"
318
+ "ids": ["task-uuid-from-plan"]
319
+ }
320
+ }
321
+
322
+ // Multiple tasks (when finishing related tasks together)
323
+ {
324
+ "body_params": {
325
+ "ids": ["task-uuid-1", "task-uuid-2", "task-uuid-3"]
318
326
  }
319
327
  }
320
328
  ```
321
329
  **🚨 CRITICAL - NON-NEGOTIABLE RULES**:
322
- - Call THIS TOOL the INSTANT you finish a task
323
- - DO NOT wait to mark multiple tasks at once
330
+ - Call THIS TOOL the INSTANT you finish task(s)
331
+ - Can mark single or multiple tasks complete in one call
332
+ - Use multiple IDs when finishing related tasks at the same time
324
333
  - DO NOT postpone marking completion
325
334
  - DO NOT be lazy - mark it complete RIGHT AFTER the work is done
326
335
  - This is MANDATORY for progress tracking and continuation
327
336
  - If you finish a task and don't mark it complete immediately, you are doing it WRONG
328
337
 
329
- **Pattern**: Finish work → IMMEDIATELY call xpcomplete_agent_plan_item → Move to next task
338
+ **Pattern**: Finish work → IMMEDIATELY call xpcomplete_agent_plan_items → Move to next task
330
339
 
331
340
  ---
332
341
 
@@ -435,6 +444,7 @@ def _configure_deep_planning_guidance(args: Dict[str, Any], agent: Agent, task:
435
444
  - Use descriptive, actionable task titles
436
445
  - Check plan before each action to stay oriented
437
446
  - **Mark tasks complete THE INSTANT you finish them - NO DELAYS, NO EXCEPTIONS**
447
+ - **Can mark multiple tasks at once if finished together** (e.g., related tasks done simultaneously)
438
448
  - **ALWAYS use `xpask_for_information` when you need user input or want to pause**
439
449
  - Call plan tools **sequentially** (one at a time, never in parallel)
440
450
  - Follow the pattern: DO WORK → MARK COMPLETE → NEXT TASK
@@ -442,7 +452,7 @@ def _configure_deep_planning_guidance(args: Dict[str, Any], agent: Agent, task:
442
452
  ❌ **DON'T - THESE ARE FORBIDDEN:**
443
453
  - Mark tasks complete before they're actually done
444
454
  - **Be lazy and wait to mark tasks complete later** (FORBIDDEN!)
445
- - **Batch mark multiple tasks at the end** (WRONG! Mark each immediately!)
455
+ - **Postpone marking completion to batch at the end** (WRONG! Mark immediately when done!)
446
456
  - **AFTER plan starts: NEVER write questions in your response text** ("Before I proceed...", "I need clarification...", etc.)
447
457
  - **AFTER plan starts: NEVER respond with questions - ONLY use xpask_for_information tool** (ABSOLUTE RULE!)
448
458
  - Pass plain string arrays - must be objects with `title` field
@@ -481,8 +491,8 @@ def _configure_deep_planning_guidance(args: Dict[str, Any], agent: Agent, task:
481
491
 
482
492
  6. [After user responds, DO THE WORK: Design schema]
483
493
 
484
- 7. ⚠️ IMMEDIATELY Call: xpcomplete_agent_plan_item
485
- id: "abc-123"
494
+ 7. ⚠️ IMMEDIATELY Call: xpcomplete_agent_plan_items
495
+ ids: ["abc-123"]
486
496
  → MARKED COMPLETE RIGHT AFTER FINISHING - NOT DELAYED!
487
497
 
488
498
  8. Call: xpget_agent_plan
@@ -490,11 +500,17 @@ def _configure_deep_planning_guidance(args: Dict[str, Any], agent: Agent, task:
490
500
 
491
501
  9. [DO THE WORK: Create migration file]
492
502
 
493
- 10. ⚠️ IMMEDIATELY Call: xpcomplete_agent_plan_item
494
- id: "def-456"
503
+ 10. ⚠️ IMMEDIATELY Call: xpcomplete_agent_plan_items
504
+ ids: ["def-456"]
495
505
  → MARKED COMPLETE RIGHT AWAY!
506
+
507
+ // Alternative: If tasks 3 and 4 are done together, can batch complete:
508
+ 11a. [DO THE WORK: Implement endpoints AND add auth together]
509
+ 11b. ⚠️ IMMEDIATELY Call: xpcomplete_agent_plan_items
510
+ ids: ["ghi-789", "jkl-012"]
511
+ → Both marked complete at once!
496
512
 
497
- 11. [Continue this pattern: GET PLAN → DO WORK → MARK COMPLETE IMMEDIATELY → REPEAT]
513
+ 12. [Continue this pattern: GET PLAN → DO WORK → MARK COMPLETE IMMEDIATELY → REPEAT]
498
514
  ```
499
515
 
500
516
  ### **WRONG WAY - ANTI-PATTERN (DO NOT DO THIS)**
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xpander-sdk
3
- Version: 2.0.171
3
+ Version: 2.0.172
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