diff --git a/backend/app/api/endpoints/script_builder.py b/backend/app/api/endpoints/script_builder.py index 1ac5851c..b328477c 100644 --- a/backend/app/api/endpoints/script_builder.py +++ b/backend/app/api/endpoints/script_builder.py @@ -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)) diff --git a/backend/app/schemas/script_builder.py b/backend/app/schemas/script_builder.py index 893d16be..1a7add15 100644 --- a/backend/app/schemas/script_builder.py +++ b/backend/app/schemas/script_builder.py @@ -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 diff --git a/backend/app/services/script_builder_service.py b/backend/app/services/script_builder_service.py index 3fdeb3ea..b483f39e 100644 --- a/backend/app/services/script_builder_service.py +++ b/backend/app/services/script_builder_service.py @@ -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"],