refac
This commit is contained in:
@@ -2494,7 +2494,6 @@ async def create_automation(
|
|||||||
name: str,
|
name: str,
|
||||||
prompt: str,
|
prompt: str,
|
||||||
rrule: str,
|
rrule: str,
|
||||||
model_id: Optional[str] = None,
|
|
||||||
__request__: Request = None,
|
__request__: Request = None,
|
||||||
__user__: dict = None,
|
__user__: dict = None,
|
||||||
__metadata__: dict = None,
|
__metadata__: dict = None,
|
||||||
@@ -2502,6 +2501,7 @@ async def create_automation(
|
|||||||
"""
|
"""
|
||||||
Create a scheduled automation that runs a prompt on a recurring or one-time schedule.
|
Create a scheduled automation that runs a prompt on a recurring or one-time schedule.
|
||||||
Use this when the user wants to schedule a task to run automatically.
|
Use this when the user wants to schedule a task to run automatically.
|
||||||
|
The automation will use the current chat model.
|
||||||
|
|
||||||
The rrule parameter must be a valid iCalendar RRULE string. Common examples:
|
The rrule parameter must be a valid iCalendar RRULE string. Common examples:
|
||||||
- Every day at 9am: "DTSTART:20250101T090000\\nRRULE:FREQ=DAILY"
|
- Every day at 9am: "DTSTART:20250101T090000\\nRRULE:FREQ=DAILY"
|
||||||
@@ -2516,7 +2516,6 @@ async def create_automation(
|
|||||||
:param name: A short descriptive name for the automation
|
:param name: A short descriptive name for the automation
|
||||||
:param prompt: The prompt/instructions to execute on each run
|
:param prompt: The prompt/instructions to execute on each run
|
||||||
:param rrule: An iCalendar RRULE string defining the schedule
|
:param rrule: An iCalendar RRULE string defining the schedule
|
||||||
:param model_id: Optional model ID to use. Defaults to the current chat model if omitted.
|
|
||||||
:return: JSON with the created automation details including id, next scheduled runs
|
:return: JSON with the created automation details including id, next scheduled runs
|
||||||
"""
|
"""
|
||||||
if __request__ is None:
|
if __request__ is None:
|
||||||
@@ -2535,11 +2534,10 @@ async def create_automation(
|
|||||||
if not user:
|
if not user:
|
||||||
return json.dumps({'error': 'User not found'})
|
return json.dumps({'error': 'User not found'})
|
||||||
|
|
||||||
# Default to current chat's model if not specified
|
# Always use the calling model for the automation
|
||||||
|
model_id = (__metadata__ or {}).get('model_id')
|
||||||
if not model_id:
|
if not model_id:
|
||||||
model_id = (__metadata__ or {}).get('model_id') or (__metadata__ or {}).get('model')
|
return json.dumps({'error': 'Could not detect current model'})
|
||||||
if not model_id:
|
|
||||||
return json.dumps({'error': 'model_id is required (could not detect current model)'})
|
|
||||||
|
|
||||||
# Validate the RRULE
|
# Validate the RRULE
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -2460,6 +2460,7 @@ async def process_chat_payload(request, form_data, user, metadata, model):
|
|||||||
|
|
||||||
metadata = {
|
metadata = {
|
||||||
**metadata,
|
**metadata,
|
||||||
|
'model_id': form_data.get('model'),
|
||||||
'tool_ids': tool_ids,
|
'tool_ids': tool_ids,
|
||||||
'terminal_id': terminal_id,
|
'terminal_id': terminal_id,
|
||||||
'files': files,
|
'files': files,
|
||||||
|
|||||||
Reference in New Issue
Block a user