feat: accept script_body and parameters_schema in save-to-library flow

Previously save_to_library() hardcoded parameters_schema to empty and
always used session.latest_script. Now accepts optional overrides from
the frontend for parameterized script bodies.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
chihlasm
2026-03-29 05:48:53 +00:00
parent 60e1384a2c
commit 63d470455f
3 changed files with 8 additions and 2 deletions

View File

@@ -179,6 +179,8 @@ async def save_to_library(
share_with_team=data.share_with_team,
user_id=current_user.id,
team_id=current_user.team_id,
script_body=data.script_body,
parameters_schema=data.parameters_schema,
)
except ValueError as e:
raise HTTPException(status_code=400, detail=str(e))

View File

@@ -82,3 +82,5 @@ class SaveToLibraryRequest(BaseModel):
description: str | None = None
category_id: UUID | None = None
share_with_team: bool = False
script_body: str | None = None
parameters_schema: dict | None = None

View File

@@ -323,6 +323,8 @@ async def save_to_library(
share_with_team: bool,
user_id: UUID,
team_id: UUID | None,
script_body: str | None = None,
parameters_schema: dict | None = None,
) -> "ScriptTemplate":
"""Save the latest generated script to the Script Library as a ScriptTemplate."""
import uuid as uuid_mod
@@ -361,8 +363,8 @@ async def save_to_library(
name=name,
slug=slug,
description=description,
script_body=session.latest_script,
parameters_schema={"parameters": []},
script_body=script_body or session.latest_script,
parameters_schema=parameters_schema or {"parameters": []},
default_values={},
validation_rules={},
tags=[session.language, "ai-generated"],