xpander-sdk 2.0.152__tar.gz → 2.0.154__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.
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/PKG-INFO +88 -1
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/README.md +87 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/setup.py +1 -1
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/models/agent.py +4 -1
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/sub_modules/agent.py +3 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/frameworks/agno.py +5 -1
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk.egg-info/PKG-INFO +88 -1
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/LICENSE +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/pyproject.toml +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/setup.cfg +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/consts/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/consts/api_routes.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/core/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/core/module_base.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/core/state.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/core/xpander_api_client.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/exceptions/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/exceptions/module_exception.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/models/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/models/activity.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/models/configuration.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/models/events.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/models/frameworks.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/models/shared.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/models/user.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/agents_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/models/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/models/agent_list.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/models/knowledge_bases.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/sub_modules/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/utils/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/utils/generic.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/backend_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/frameworks/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/frameworks/dispatch.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/utils/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/utils/mcp_oauth.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/decorators/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/decorators/on_boot.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/decorators/on_shutdown.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/decorators/on_task.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/events_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/models/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/models/deployments.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/models/events.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/utils/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/utils/generic.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/utils/git_init.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/knowledge_bases/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/knowledge_bases/knowledge_bases_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/knowledge_bases/models/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/knowledge_bases/models/knowledge_bases.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/knowledge_bases/sub_modules/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/knowledge_bases/sub_modules/knowledge_base_document_item.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/knowledge_bases/utils/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/models/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/models/task.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/models/tasks_list.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/sub_modules/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/sub_modules/task.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/tasks_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/utils/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/utils/files.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/decorators/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/decorators/register_tool.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/models/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/models/mcp.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/models/tool_invocation_result.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/sub_modules/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/sub_modules/tool.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/tools_repository_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/utils/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/utils/generic.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/utils/local_tools.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/utils/schemas.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/utils/__init__.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/utils/env.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/utils/event_loop.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/utils/tools.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk.egg-info/SOURCES.txt +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk.egg-info/dependency_links.txt +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk.egg-info/requires.txt +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk.egg-info/top_level.txt +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/tests/test_agents_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/tests/test_api_client.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/tests/test_backend_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/tests/test_boot_shutdown_handlers.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/tests/test_configuration.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/tests/test_knowledge_bases_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/tests/test_tasks_module.py +0 -0
- {xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/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.
|
|
3
|
+
Version: 2.0.154
|
|
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
|
|
@@ -417,6 +417,93 @@ load_dotenv()
|
|
|
417
417
|
config = Configuration()
|
|
418
418
|
```
|
|
419
419
|
|
|
420
|
+
## 🏢 Self-Hosted Deployment
|
|
421
|
+
|
|
422
|
+
If you're using a self-hosted xpander.ai deployment, configure the SDK to point to your Agent Controller endpoint.
|
|
423
|
+
|
|
424
|
+
**Important**: Use the **Agent Controller API key** generated during Helm installation, not your xpander.ai cloud API key.
|
|
425
|
+
|
|
426
|
+
### Configuration
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
# Set environment variables
|
|
430
|
+
export XPANDER_API_KEY="your-agent-controller-api-key" # From Helm installation
|
|
431
|
+
export XPANDER_ORGANIZATION_ID="your-org-id"
|
|
432
|
+
export XPANDER_BASE_URL="https://agent-controller.my-company.com"
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
Or configure explicitly:
|
|
436
|
+
|
|
437
|
+
```python
|
|
438
|
+
from xpander_sdk import Configuration
|
|
439
|
+
|
|
440
|
+
config = Configuration(
|
|
441
|
+
api_key="your-agent-controller-api-key", # From Helm installation
|
|
442
|
+
organization_id="your-org-id",
|
|
443
|
+
base_url="https://agent-controller.my-company.com"
|
|
444
|
+
)
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
### Using with Agno Framework
|
|
448
|
+
|
|
449
|
+
```python
|
|
450
|
+
from xpander_sdk import Backend, Configuration
|
|
451
|
+
from agno.agent import Agent
|
|
452
|
+
|
|
453
|
+
# Configure for self-hosted
|
|
454
|
+
config = Configuration(
|
|
455
|
+
api_key="your-agent-controller-api-key", # From Helm installation
|
|
456
|
+
organization_id="your-org-id",
|
|
457
|
+
base_url="https://agent-controller.my-company.com"
|
|
458
|
+
)
|
|
459
|
+
|
|
460
|
+
# Initialize Backend with self-hosted config
|
|
461
|
+
backend = Backend(configuration=config)
|
|
462
|
+
|
|
463
|
+
# Create agent - it will use your self-hosted infrastructure
|
|
464
|
+
agno_agent = Agent(**backend.get_args(agent_id="agent-123"))
|
|
465
|
+
|
|
466
|
+
# Run agent
|
|
467
|
+
result = await agno_agent.arun(
|
|
468
|
+
input="What can you help me with?",
|
|
469
|
+
stream=True
|
|
470
|
+
)
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### Complete Self-Hosted Example
|
|
474
|
+
|
|
475
|
+
```python
|
|
476
|
+
import asyncio
|
|
477
|
+
from xpander_sdk import Configuration, Agent
|
|
478
|
+
|
|
479
|
+
async def main():
|
|
480
|
+
# Configure for self-hosted deployment
|
|
481
|
+
config = Configuration(
|
|
482
|
+
api_key="your-agent-controller-api-key", # From Helm installation
|
|
483
|
+
organization_id="your-org-id",
|
|
484
|
+
base_url="https://agent-controller.my-company.com"
|
|
485
|
+
)
|
|
486
|
+
|
|
487
|
+
# Load agent from self-hosted deployment
|
|
488
|
+
agent = await Agent.aload("agent-123", configuration=config)
|
|
489
|
+
print(f"Agent: {agent.name}")
|
|
490
|
+
|
|
491
|
+
# Create and execute task
|
|
492
|
+
task = await agent.acreate_task(
|
|
493
|
+
prompt="Analyze Q4 sales data",
|
|
494
|
+
file_urls=["https://example.com/sales-q4.csv"]
|
|
495
|
+
)
|
|
496
|
+
print(f"Task created: {task.id}")
|
|
497
|
+
print(f"Status: {task.status}")
|
|
498
|
+
|
|
499
|
+
if __name__ == "__main__":
|
|
500
|
+
asyncio.run(main())
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
**Important**: Make sure your `base_url` points to the Agent Controller endpoint (e.g., `https://agent-controller.{your-domain}`), not the root domain.
|
|
504
|
+
|
|
505
|
+
📖 **Full Guide**: [Self-Hosted Configuration Documentation](https://docs.xpander.ai/api-reference/configuration/self-hosted)
|
|
506
|
+
|
|
420
507
|
## 🔄 Error Handling
|
|
421
508
|
|
|
422
509
|
```python
|
|
@@ -368,6 +368,93 @@ load_dotenv()
|
|
|
368
368
|
config = Configuration()
|
|
369
369
|
```
|
|
370
370
|
|
|
371
|
+
## 🏢 Self-Hosted Deployment
|
|
372
|
+
|
|
373
|
+
If you're using a self-hosted xpander.ai deployment, configure the SDK to point to your Agent Controller endpoint.
|
|
374
|
+
|
|
375
|
+
**Important**: Use the **Agent Controller API key** generated during Helm installation, not your xpander.ai cloud API key.
|
|
376
|
+
|
|
377
|
+
### Configuration
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
# Set environment variables
|
|
381
|
+
export XPANDER_API_KEY="your-agent-controller-api-key" # From Helm installation
|
|
382
|
+
export XPANDER_ORGANIZATION_ID="your-org-id"
|
|
383
|
+
export XPANDER_BASE_URL="https://agent-controller.my-company.com"
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Or configure explicitly:
|
|
387
|
+
|
|
388
|
+
```python
|
|
389
|
+
from xpander_sdk import Configuration
|
|
390
|
+
|
|
391
|
+
config = Configuration(
|
|
392
|
+
api_key="your-agent-controller-api-key", # From Helm installation
|
|
393
|
+
organization_id="your-org-id",
|
|
394
|
+
base_url="https://agent-controller.my-company.com"
|
|
395
|
+
)
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### Using with Agno Framework
|
|
399
|
+
|
|
400
|
+
```python
|
|
401
|
+
from xpander_sdk import Backend, Configuration
|
|
402
|
+
from agno.agent import Agent
|
|
403
|
+
|
|
404
|
+
# Configure for self-hosted
|
|
405
|
+
config = Configuration(
|
|
406
|
+
api_key="your-agent-controller-api-key", # From Helm installation
|
|
407
|
+
organization_id="your-org-id",
|
|
408
|
+
base_url="https://agent-controller.my-company.com"
|
|
409
|
+
)
|
|
410
|
+
|
|
411
|
+
# Initialize Backend with self-hosted config
|
|
412
|
+
backend = Backend(configuration=config)
|
|
413
|
+
|
|
414
|
+
# Create agent - it will use your self-hosted infrastructure
|
|
415
|
+
agno_agent = Agent(**backend.get_args(agent_id="agent-123"))
|
|
416
|
+
|
|
417
|
+
# Run agent
|
|
418
|
+
result = await agno_agent.arun(
|
|
419
|
+
input="What can you help me with?",
|
|
420
|
+
stream=True
|
|
421
|
+
)
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### Complete Self-Hosted Example
|
|
425
|
+
|
|
426
|
+
```python
|
|
427
|
+
import asyncio
|
|
428
|
+
from xpander_sdk import Configuration, Agent
|
|
429
|
+
|
|
430
|
+
async def main():
|
|
431
|
+
# Configure for self-hosted deployment
|
|
432
|
+
config = Configuration(
|
|
433
|
+
api_key="your-agent-controller-api-key", # From Helm installation
|
|
434
|
+
organization_id="your-org-id",
|
|
435
|
+
base_url="https://agent-controller.my-company.com"
|
|
436
|
+
)
|
|
437
|
+
|
|
438
|
+
# Load agent from self-hosted deployment
|
|
439
|
+
agent = await Agent.aload("agent-123", configuration=config)
|
|
440
|
+
print(f"Agent: {agent.name}")
|
|
441
|
+
|
|
442
|
+
# Create and execute task
|
|
443
|
+
task = await agent.acreate_task(
|
|
444
|
+
prompt="Analyze Q4 sales data",
|
|
445
|
+
file_urls=["https://example.com/sales-q4.csv"]
|
|
446
|
+
)
|
|
447
|
+
print(f"Task created: {task.id}")
|
|
448
|
+
print(f"Status: {task.status}")
|
|
449
|
+
|
|
450
|
+
if __name__ == "__main__":
|
|
451
|
+
asyncio.run(main())
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
**Important**: Make sure your `base_url` points to the Agent Controller endpoint (e.g., `https://agent-controller.{your-domain}`), not the root domain.
|
|
455
|
+
|
|
456
|
+
📖 **Full Guide**: [Self-Hosted Configuration Documentation](https://docs.xpander.ai/api-reference/configuration/self-hosted)
|
|
457
|
+
|
|
371
458
|
## 🔄 Error Handling
|
|
372
459
|
|
|
373
460
|
```python
|
|
@@ -383,7 +383,10 @@ class AgentGraphItem(BaseModel):
|
|
|
383
383
|
llm_settings: Optional[List[AgentGraphItemLLMSettings]] = []
|
|
384
384
|
is_first: Optional[bool] = False
|
|
385
385
|
|
|
386
|
-
|
|
386
|
+
class LLMReasoningEffort(str, Enum):
|
|
387
|
+
Low = "low"
|
|
388
|
+
Medium = "medium"
|
|
389
|
+
High = "high"
|
|
387
390
|
|
|
388
391
|
class AIAgentConnectivityDetailsA2AAuthType(str, Enum):
|
|
389
392
|
NoAuth = "none"
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/sub_modules/agent.py
RENAMED
|
@@ -40,6 +40,7 @@ from xpander_sdk.modules.agents.models.agent import (
|
|
|
40
40
|
AgentType,
|
|
41
41
|
DatabaseConnectionString,
|
|
42
42
|
LLMCredentials,
|
|
43
|
+
LLMReasoningEffort,
|
|
43
44
|
)
|
|
44
45
|
from xpander_sdk.modules.agents.models.knowledge_bases import AgentKnowledgeBase
|
|
45
46
|
from xpander_sdk.modules.knowledge_bases.knowledge_bases_module import KnowledgeBases
|
|
@@ -151,6 +152,7 @@ class Agent(XPanderSharedModel):
|
|
|
151
152
|
using_nemo: Optional[bool]
|
|
152
153
|
model_provider: str
|
|
153
154
|
model_name: str
|
|
155
|
+
llm_reasoning_effort: Optional[LLMReasoningEffort] = LLMReasoningEffort.Medium
|
|
154
156
|
llm_api_base: Optional[str]
|
|
155
157
|
webhook_url: Optional[str]
|
|
156
158
|
created_at: Optional[datetime]
|
|
@@ -192,6 +194,7 @@ class Agent(XPanderSharedModel):
|
|
|
192
194
|
using_nemo: Optional[bool] = False
|
|
193
195
|
model_provider: str
|
|
194
196
|
model_name: str
|
|
197
|
+
llm_reasoning_effort: Optional[LLMReasoningEffort] = LLMReasoningEffort.Medium
|
|
195
198
|
llm_api_base: Optional[str] = None
|
|
196
199
|
webhook_url: Optional[str] = None
|
|
197
200
|
created_at: Optional[datetime] = None
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/frameworks/agno.py
RENAMED
|
@@ -8,7 +8,7 @@ from loguru import logger
|
|
|
8
8
|
from xpander_sdk import Configuration
|
|
9
9
|
from xpander_sdk.models.shared import OutputFormat, ThinkMode
|
|
10
10
|
from xpander_sdk.modules.agents.agents_module import Agents
|
|
11
|
-
from xpander_sdk.modules.agents.models.agent import AgentGraphItemType
|
|
11
|
+
from xpander_sdk.modules.agents.models.agent import AgentGraphItemType, LLMReasoningEffort
|
|
12
12
|
from xpander_sdk.modules.agents.sub_modules.agent import Agent
|
|
13
13
|
from xpander_sdk.modules.backend.utils.mcp_oauth import authenticate_mcp_server
|
|
14
14
|
from xpander_sdk.modules.tasks.sub_modules.task import Task
|
|
@@ -278,6 +278,10 @@ def _load_llm_model(agent: Agent, override: Optional[Dict[str, Any]]) -> Any:
|
|
|
278
278
|
return env_llm_key or agent.llm_credentials.value
|
|
279
279
|
|
|
280
280
|
llm_args = {}
|
|
281
|
+
|
|
282
|
+
if agent.llm_reasoning_effort and agent.llm_reasoning_effort != LLMReasoningEffort.Medium:
|
|
283
|
+
llm_args = { "reasoning_effort": agent.llm_reasoning_effort.value }
|
|
284
|
+
|
|
281
285
|
if agent.llm_api_base and len(agent.llm_api_base) != 0:
|
|
282
286
|
llm_args["base_url"] = agent.llm_api_base
|
|
283
287
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xpander-sdk
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.154
|
|
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
|
|
@@ -417,6 +417,93 @@ load_dotenv()
|
|
|
417
417
|
config = Configuration()
|
|
418
418
|
```
|
|
419
419
|
|
|
420
|
+
## 🏢 Self-Hosted Deployment
|
|
421
|
+
|
|
422
|
+
If you're using a self-hosted xpander.ai deployment, configure the SDK to point to your Agent Controller endpoint.
|
|
423
|
+
|
|
424
|
+
**Important**: Use the **Agent Controller API key** generated during Helm installation, not your xpander.ai cloud API key.
|
|
425
|
+
|
|
426
|
+
### Configuration
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
# Set environment variables
|
|
430
|
+
export XPANDER_API_KEY="your-agent-controller-api-key" # From Helm installation
|
|
431
|
+
export XPANDER_ORGANIZATION_ID="your-org-id"
|
|
432
|
+
export XPANDER_BASE_URL="https://agent-controller.my-company.com"
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
Or configure explicitly:
|
|
436
|
+
|
|
437
|
+
```python
|
|
438
|
+
from xpander_sdk import Configuration
|
|
439
|
+
|
|
440
|
+
config = Configuration(
|
|
441
|
+
api_key="your-agent-controller-api-key", # From Helm installation
|
|
442
|
+
organization_id="your-org-id",
|
|
443
|
+
base_url="https://agent-controller.my-company.com"
|
|
444
|
+
)
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
### Using with Agno Framework
|
|
448
|
+
|
|
449
|
+
```python
|
|
450
|
+
from xpander_sdk import Backend, Configuration
|
|
451
|
+
from agno.agent import Agent
|
|
452
|
+
|
|
453
|
+
# Configure for self-hosted
|
|
454
|
+
config = Configuration(
|
|
455
|
+
api_key="your-agent-controller-api-key", # From Helm installation
|
|
456
|
+
organization_id="your-org-id",
|
|
457
|
+
base_url="https://agent-controller.my-company.com"
|
|
458
|
+
)
|
|
459
|
+
|
|
460
|
+
# Initialize Backend with self-hosted config
|
|
461
|
+
backend = Backend(configuration=config)
|
|
462
|
+
|
|
463
|
+
# Create agent - it will use your self-hosted infrastructure
|
|
464
|
+
agno_agent = Agent(**backend.get_args(agent_id="agent-123"))
|
|
465
|
+
|
|
466
|
+
# Run agent
|
|
467
|
+
result = await agno_agent.arun(
|
|
468
|
+
input="What can you help me with?",
|
|
469
|
+
stream=True
|
|
470
|
+
)
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### Complete Self-Hosted Example
|
|
474
|
+
|
|
475
|
+
```python
|
|
476
|
+
import asyncio
|
|
477
|
+
from xpander_sdk import Configuration, Agent
|
|
478
|
+
|
|
479
|
+
async def main():
|
|
480
|
+
# Configure for self-hosted deployment
|
|
481
|
+
config = Configuration(
|
|
482
|
+
api_key="your-agent-controller-api-key", # From Helm installation
|
|
483
|
+
organization_id="your-org-id",
|
|
484
|
+
base_url="https://agent-controller.my-company.com"
|
|
485
|
+
)
|
|
486
|
+
|
|
487
|
+
# Load agent from self-hosted deployment
|
|
488
|
+
agent = await Agent.aload("agent-123", configuration=config)
|
|
489
|
+
print(f"Agent: {agent.name}")
|
|
490
|
+
|
|
491
|
+
# Create and execute task
|
|
492
|
+
task = await agent.acreate_task(
|
|
493
|
+
prompt="Analyze Q4 sales data",
|
|
494
|
+
file_urls=["https://example.com/sales-q4.csv"]
|
|
495
|
+
)
|
|
496
|
+
print(f"Task created: {task.id}")
|
|
497
|
+
print(f"Status: {task.status}")
|
|
498
|
+
|
|
499
|
+
if __name__ == "__main__":
|
|
500
|
+
asyncio.run(main())
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
**Important**: Make sure your `base_url` points to the Agent Controller endpoint (e.g., `https://agent-controller.{your-domain}`), not the root domain.
|
|
504
|
+
|
|
505
|
+
📖 **Full Guide**: [Self-Hosted Configuration Documentation](https://docs.xpander.ai/api-reference/configuration/self-hosted)
|
|
506
|
+
|
|
420
507
|
## 🔄 Error Handling
|
|
421
508
|
|
|
422
509
|
```python
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/models/__init__.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/models/agent_list.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/models/knowledge_bases.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/sub_modules/__init__.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/agents/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/backend_module.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/frameworks/__init__.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/frameworks/dispatch.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/utils/__init__.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/backend/utils/mcp_oauth.py
RENAMED
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/decorators/__init__.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/decorators/on_boot.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/decorators/on_shutdown.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/decorators/on_task.py
RENAMED
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/models/__init__.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/models/deployments.py
RENAMED
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/events/utils/git_init.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/knowledge_bases/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/models/tasks_list.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/sub_modules/__init__.py
RENAMED
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tasks/sub_modules/task.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xpander_sdk-2.0.152 → xpander_sdk-2.0.154}/src/xpander_sdk/modules/tools_repository/models/mcp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|