glm-5.2-visual-runtime / apps /api /app /orchestration /visual_compiler.py
wassemgtk's picture
Add gateway API source for one-click deployment
092fd7d verified
Raw
History Blame Contribute Delete
1.04 kB
from __future__ import annotations
from app.schemas.plans import VisualOperation, VisualPlan, VisualReference
from app.storage.models import VisualAssetRecord
def compile_visual_plan(intent: str, text: str, asset: VisualAssetRecord | None, views: list[str]) -> VisualPlan:
references = []
operations = []
if asset:
for idx, view in enumerate(views, start=1):
references.append(VisualReference(phrase=text[:80], asset_id=asset.id, view=view, confidence=0.86))
operations.append(VisualOperation(id=f"op_{idx}", op="get_view", asset_id=asset.id, view=view))
if intent == "create_presentation":
operations.append(VisualOperation(id=f"op_{len(operations)+1}", op="create_presentation", asset_id=asset.id if asset else None, parameters={"content_request": text}))
if not operations:
operations.append(VisualOperation(id="op_1", op="answer_from_evidence", parameters={"content_request": text}))
return VisualPlan(intent=intent, references=references, operations=operations)