swarms 7.7.1__tar.gz → 7.7.2__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.
- {swarms-7.7.1 → swarms-7.7.2}/PKG-INFO +1 -1
- {swarms-7.7.1 → swarms-7.7.2}/pyproject.toml +1 -1
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/__init__.py +1 -4
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/agent.py +10 -3
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/conversation.py +18 -8
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/swarm_router.py +1 -1
- {swarms-7.7.1 → swarms-7.7.2}/swarms/telemetry/main.py +12 -2
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/formatter.py +15 -1
- swarms-7.7.1/swarms/structs/async_workflow.py +0 -818
- swarms-7.7.1/swarms/structs/octotools.py +0 -844
- swarms-7.7.1/swarms/structs/pulsar_swarm.py +0 -469
- swarms-7.7.1/swarms/structs/swarm_load_balancer.py +0 -344
- swarms-7.7.1/swarms/structs/talk_hier.py +0 -729
- {swarms-7.7.1 → swarms-7.7.2}/LICENSE +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/README.md +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/agent_judge.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/agent_print.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/ape_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/auto_generate_swarm_config.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/consistency_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/create_agents_from_yaml.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/flexion_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/gkp_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/i_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/openai_assistant.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/reasoning_agents.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/reasoning_duo.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/agents/tool_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/artifacts/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/artifacts/main_artifact.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/cli/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/cli/create_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/cli/main.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/cli/onboarding_process.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/client/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/client/main.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/accountant_swarm_prompts.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/ag_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/aga.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/agent_judge_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/agent_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/agent_prompts.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/agent_system_prompts.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/ai_research_team.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/aot_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/autobloggen.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/autoswarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/chat_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/code_interpreter.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/code_spawner.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/debate.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/documentation.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/education.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/finance_agent_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/finance_agent_sys_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/growth_agent_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/idea2img.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/legal_agent_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/logistics.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/meta_system_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/multi_agent_collab_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/multi_modal_autonomous_instruction_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/multi_modal_prompts.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/multi_modal_visual_prompts.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/operations_agent_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/paper_idea_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/personal_stylist.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/product_agent_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/programming.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/project_manager.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/prompt_generator.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/prompt_generator_optimizer.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/python.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/react.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/reasoning_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/refiner_agent_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/sales.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/sales_prompts.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/security_team.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/self_operating_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/sop_generator_agent_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/summaries_prompts.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/support_agent_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/swarm_manager_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/task_assignment_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/tests.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/tools.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/urban_planning.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/visual_cot.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/worker_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/prompts/xray_swarm_prompt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/schemas/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/schemas/agent_input_schema.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/schemas/agent_step_schemas.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/schemas/base_schemas.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/agent_builder.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/agent_registry.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/agent_roles.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/agent_router.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/agents_available.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/aop.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/auto_swarm_builder.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/base_structure.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/base_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/base_workflow.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/concat.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/concurrent_workflow.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/csv_to_agent.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/de_hallucination_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/deep_research_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/dynamic_conversational_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/graph_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/graph_workflow.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/groupchat.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/hiearchical_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/hybrid_hiearchical_peer_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/majority_voting.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/malt.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/matrix_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/meme_agent_persona_generator.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/mixture_of_agents.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/model_router.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/multi_agent_collab.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/multi_agent_exec.py +0 -0
- /swarms-7.7.1/swarms/structs/multi_agent_orchestrator.py → /swarms-7.7.2/swarms/structs/multi_agent_router.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/omni_agent_types.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/output_types.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/queue_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/rearrange.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/round_robin.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/safe_loading.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/sequential_workflow.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/spreadsheet_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/stopping_conditions.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/swarm_arange.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/swarm_builder.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/swarm_eval.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/swarm_id_generator.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/swarm_matcher.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/swarm_output_type.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/swarm_registry.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/swarming_architectures.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/tree_swarm.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/utils.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/structs/various_alt_swarms.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/telemetry/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/telemetry/bootup.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/base_tool.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/cohere_func_call_schema.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/func_calling_utils.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/func_to_str.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/function_util.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/json_former.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/json_utils.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/logits_processor.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/mcp_client.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/mcp_integration.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/openai_func_calling_schema_pydantic.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/openai_tool_creator_decorator.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/py_func_to_openai_func_str.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/pydantic_to_json.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/tool_parse_exec.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/tool_registry.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/tool_schema_base_model.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/tools/tool_utils.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/__init__.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/any_to_str.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/auto_download_check_packages.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/calculate_func_metrics.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/data_to_text.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/disable_logging.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/file_processing.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/function_caller_model.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/history_output_formatter.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/litellm_tokenizer.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/litellm_wrapper.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/loguru_logger.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/markdown_message.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/parse_code.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/pdf_to_text.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/str_to_dict.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/try_except_wrapper.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/visualizer.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/vllm_wrapper.py +0 -0
- {swarms-7.7.1 → swarms-7.7.2}/swarms/utils/wrapper_clusterop.py +0 -0
@@ -1,7 +1,6 @@
|
|
1
1
|
from swarms.structs.agent import Agent
|
2
2
|
from swarms.structs.agent_builder import AgentsBuilder
|
3
3
|
from swarms.structs.agents_available import showcase_available_agents
|
4
|
-
from swarms.structs.async_workflow import AsyncWorkflow
|
5
4
|
from swarms.structs.base_structure import BaseStructure
|
6
5
|
from swarms.structs.base_swarm import BaseSwarm
|
7
6
|
from swarms.structs.base_workflow import BaseWorkflow
|
@@ -48,7 +47,7 @@ from swarms.structs.multi_agent_exec import (
|
|
48
47
|
get_agents_info,
|
49
48
|
get_swarms_info,
|
50
49
|
)
|
51
|
-
from swarms.structs.
|
50
|
+
from swarms.structs.multi_agent_router import MultiAgentRouter
|
52
51
|
from swarms.structs.queue_swarm import TaskQueueSwarm
|
53
52
|
from swarms.structs.rearrange import AgentRearrange, rearrange
|
54
53
|
from swarms.structs.round_robin import RoundRobinSwarm
|
@@ -83,7 +82,6 @@ from swarms.structs.swarming_architectures import (
|
|
83
82
|
|
84
83
|
__all__ = [
|
85
84
|
"Agent",
|
86
|
-
"AsyncWorkflow",
|
87
85
|
"BaseStructure",
|
88
86
|
"BaseSwarm",
|
89
87
|
"BaseWorkflow",
|
@@ -136,7 +134,6 @@ __all__ = [
|
|
136
134
|
"run_agent_with_timeout",
|
137
135
|
"run_agents_with_resource_monitoring",
|
138
136
|
"swarm_router",
|
139
|
-
"AsyncWorkflow",
|
140
137
|
"run_agents_with_tasks_concurrently",
|
141
138
|
"showcase_available_agents",
|
142
139
|
"GroupChat",
|
@@ -1194,8 +1194,7 @@ class Agent:
|
|
1194
1194
|
if self.autosave is True:
|
1195
1195
|
log_agent_data(self.to_dict())
|
1196
1196
|
|
1197
|
-
|
1198
|
-
self.save()
|
1197
|
+
self.save()
|
1199
1198
|
|
1200
1199
|
# log_agent_data(self.to_dict())
|
1201
1200
|
|
@@ -1223,7 +1222,7 @@ class Agent:
|
|
1223
1222
|
except KeyboardInterrupt as error:
|
1224
1223
|
self._handle_run_error(error)
|
1225
1224
|
|
1226
|
-
def
|
1225
|
+
def __handle_run_error(self, error: any):
|
1227
1226
|
log_agent_data(self.to_dict())
|
1228
1227
|
|
1229
1228
|
if self.autosave is True:
|
@@ -1234,6 +1233,14 @@ class Agent:
|
|
1234
1233
|
)
|
1235
1234
|
raise error
|
1236
1235
|
|
1236
|
+
def _handle_run_error(self, error: any):
|
1237
|
+
process_thread = threading.Thread(
|
1238
|
+
target=self.__handle_run_error,
|
1239
|
+
args=(error,),
|
1240
|
+
daemon=True,
|
1241
|
+
)
|
1242
|
+
process_thread.start()
|
1243
|
+
|
1237
1244
|
async def arun(
|
1238
1245
|
self,
|
1239
1246
|
task: Optional[str] = None,
|
@@ -105,7 +105,7 @@ class Conversation(BaseStructure):
|
|
105
105
|
if tokenizer is not None:
|
106
106
|
self.truncate_memory_with_tokenizer()
|
107
107
|
|
108
|
-
def
|
108
|
+
def _add(
|
109
109
|
self,
|
110
110
|
role: str,
|
111
111
|
content: Union[str, dict, list],
|
@@ -118,8 +118,6 @@ class Conversation(BaseStructure):
|
|
118
118
|
role (str): The role of the speaker (e.g., 'User', 'System').
|
119
119
|
content (Union[str, dict, list]): The content of the message to be added.
|
120
120
|
"""
|
121
|
-
now = datetime.datetime.now()
|
122
|
-
now.strftime("%Y-%m-%d %H:%M:%S")
|
123
121
|
|
124
122
|
# Base message with role
|
125
123
|
message = {
|
@@ -131,7 +129,7 @@ class Conversation(BaseStructure):
|
|
131
129
|
message["content"] = content
|
132
130
|
elif self.time_enabled:
|
133
131
|
message["content"] = (
|
134
|
-
f"Time: {now.strftime('%Y-%m-%d %H:%M:%S')} \n {content}"
|
132
|
+
f"Time: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} \n {content}"
|
135
133
|
)
|
136
134
|
else:
|
137
135
|
message["content"] = content
|
@@ -159,9 +157,21 @@ class Conversation(BaseStructure):
|
|
159
157
|
True # Make thread terminate when main program exits
|
160
158
|
)
|
161
159
|
token_thread.start()
|
162
|
-
|
163
|
-
|
164
|
-
|
160
|
+
|
161
|
+
def add(self, role: str, content: Union[str, dict, list]):
|
162
|
+
"""Add a message to the conversation history.
|
163
|
+
|
164
|
+
Args:
|
165
|
+
role (str): The role of the speaker (e.g., 'User', 'System').
|
166
|
+
content (Union[str, dict, list]): The content of the message to be added.
|
167
|
+
"""
|
168
|
+
process_thread = threading.Thread(
|
169
|
+
target=self._add,
|
170
|
+
args=(role, content),
|
171
|
+
daemon=True,
|
172
|
+
)
|
173
|
+
process_thread.start()
|
174
|
+
# process_thread.join()
|
165
175
|
|
166
176
|
def delete(self, index: str):
|
167
177
|
"""Delete a message from the conversation history.
|
@@ -540,7 +550,7 @@ class Conversation(BaseStructure):
|
|
540
550
|
"""
|
541
551
|
return "\n".join(
|
542
552
|
[
|
543
|
-
f"{msg['
|
553
|
+
f"{msg['content']}"
|
544
554
|
for msg in self.conversation_history[2:]
|
545
555
|
]
|
546
556
|
)
|
@@ -13,7 +13,7 @@ from swarms.structs.groupchat import GroupChat
|
|
13
13
|
from swarms.structs.hiearchical_swarm import HierarchicalSwarm
|
14
14
|
from swarms.structs.majority_voting import MajorityVoting
|
15
15
|
from swarms.structs.mixture_of_agents import MixtureOfAgents
|
16
|
-
from swarms.structs.
|
16
|
+
from swarms.structs.multi_agent_router import MultiAgentRouter
|
17
17
|
from swarms.structs.rearrange import AgentRearrange
|
18
18
|
from swarms.structs.sequential_workflow import SequentialWorkflow
|
19
19
|
from swarms.structs.spreadsheet_swarm import SpreadSheetSwarm
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
import threading
|
2
2
|
import asyncio
|
3
3
|
|
4
4
|
|
@@ -351,7 +351,7 @@ async def log_agent_data_async(data_dict: dict):
|
|
351
351
|
return None
|
352
352
|
|
353
353
|
|
354
|
-
def
|
354
|
+
def _log_agent_data(data_dict: dict):
|
355
355
|
"""
|
356
356
|
Enhanced log_agent_data with both sync and async capabilities
|
357
357
|
"""
|
@@ -390,3 +390,13 @@ def log_agent_data(data_dict: dict):
|
|
390
390
|
return response.json()
|
391
391
|
except Exception:
|
392
392
|
return None
|
393
|
+
|
394
|
+
|
395
|
+
def log_agent_data(data_dict: dict):
|
396
|
+
"""Log agent data"""
|
397
|
+
process_thread = threading.Thread(
|
398
|
+
target=_log_agent_data,
|
399
|
+
args=(data_dict,),
|
400
|
+
daemon=True,
|
401
|
+
)
|
402
|
+
process_thread.start()
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import threading
|
1
2
|
import time
|
2
3
|
from typing import Any, Callable, Dict, List
|
3
4
|
|
@@ -20,7 +21,7 @@ class Formatter:
|
|
20
21
|
"""
|
21
22
|
self.console = Console()
|
22
23
|
|
23
|
-
def
|
24
|
+
def _print_panel(
|
24
25
|
self, content: str, title: str = "", style: str = "bold blue"
|
25
26
|
) -> None:
|
26
27
|
"""
|
@@ -48,6 +49,19 @@ class Formatter:
|
|
48
49
|
)
|
49
50
|
self.console.print(panel)
|
50
51
|
|
52
|
+
def print_panel(
|
53
|
+
self,
|
54
|
+
content: str,
|
55
|
+
title: str = "",
|
56
|
+
style: str = "bold blue",
|
57
|
+
) -> None:
|
58
|
+
process_thread = threading.Thread(
|
59
|
+
target=self._print_panel,
|
60
|
+
args=(content, title, style),
|
61
|
+
daemon=True,
|
62
|
+
)
|
63
|
+
process_thread.start()
|
64
|
+
|
51
65
|
def print_table(
|
52
66
|
self, title: str, data: Dict[str, List[str]]
|
53
67
|
) -> None:
|