mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-31 19:45:15 +02:00
feat: enhance task management and timeout configurations in multi-agent chat
- Added new environment variables for controlling task execution limits, including `SURFSENSE_SUBAGENT_INVOKE_TIMEOUT_SECONDS`, `SURFSENSE_TASK_BATCH_CONCURRENCY`, and `SURFSENSE_TASK_BATCH_MAX_SIZE`. - Updated documentation to reflect new batch processing capabilities for `task` calls, allowing for concurrent execution of multiple subagent tasks. - Improved error handling and receipt generation for deliverables, ensuring consistent feedback on task status. - Refactored middleware to incorporate search space ID for better task management.
This commit is contained in:
parent
820f541f08
commit
9d6e9b7e2d
66 changed files with 2561 additions and 380 deletions
|
|
@ -15,12 +15,24 @@ def iter_completion_emission_frames(
|
|||
out = ctx.tool_output
|
||||
payload = out if isinstance(out, dict) else {"result": out}
|
||||
yield ctx.emit_tool_output_card(payload)
|
||||
if isinstance(out, dict) and out.get("status") == "pending":
|
||||
if not isinstance(out, dict):
|
||||
return
|
||||
status = out.get("status")
|
||||
# ``ready`` is the live success status now that the tool waits for the
|
||||
# Celery worker to reach a terminal state. ``pending`` is retained as a
|
||||
# legacy branch for old saved chats that pre-date the wait-for-terminal
|
||||
# change (see ``app.agents.shared.deliverable_wait``).
|
||||
if status == "ready":
|
||||
yield ctx.streaming_service.format_terminal_info(
|
||||
f"Video presentation generated successfully: {out.get('title', 'Presentation')}",
|
||||
"success",
|
||||
)
|
||||
elif status == "pending":
|
||||
yield ctx.streaming_service.format_terminal_info(
|
||||
f"Video presentation queued: {out.get('title', 'Presentation')}",
|
||||
"success",
|
||||
)
|
||||
elif isinstance(out, dict) and out.get("status") == "failed":
|
||||
elif status == "failed":
|
||||
error_msg = out.get("error", "Unknown error")
|
||||
yield ctx.streaming_service.format_terminal_info(
|
||||
f"Presentation generation failed: {error_msg}",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue