feat: support configurable card variables and layouts

This commit is contained in:
2026-08-14 13:36:53 +08:00
parent f952d6dc58
commit 77399df060
14 changed files with 619 additions and 88 deletions

View File

@@ -150,14 +150,25 @@ class PromptSaveRequest(BaseModel):
promptContent: str = Field(min_length=1)
class ContentGenerationVariableRequest(BaseModel):
name: str = Field(min_length=2, max_length=40, pattern="^[a-z][a-z0-9_]*$")
label: str = Field(min_length=1, max_length=50)
description: str = Field(min_length=1, max_length=500)
valueSource: Literal["ai", "context"] = "ai"
sourceKey: str | None = Field(default=None, max_length=50)
sampleValue: str = Field(default="", max_length=1000)
class ContentGenerationConfigSaveRequest(BaseModel):
templateContent: str = Field(min_length=1, max_length=20000)
instructionContent: str = Field(min_length=1, max_length=10000)
variables: list[ContentGenerationVariableRequest] = Field(min_length=1, max_length=30)
class ContentGenerationPreviewRequest(BaseModel):
configType: Literal["help_card", "share_draft"]
templateContent: str = Field(min_length=1, max_length=20000)
variables: list[ContentGenerationVariableRequest] = Field(min_length=1, max_length=30)
class ContentGenerationTestRequest(ContentGenerationPreviewRequest):