pipeline-task/wwwroot/api/task_modify.dspy

31 lines
965 B
Plaintext

tenant_id = (await get_userorgid()) or '0'
task_id = params_kw.get('task_id', '')
step_name = params_kw.get('step_name', '')
content_raw = params_kw.get('content', '')
rerun_from = params_kw.get('rerun_from', 'node')
if not task_id or not step_name:
return json.dumps({"success": False, "message": "缺少task_id或step_name"}, ensure_ascii=False)
_uid = await get_user()
_ok, _emsg = await check_task_owner(task_id, _uid)
if not _ok:
return json.dumps({"success": False, "message": _emsg}, ensure_ascii=False)
# Parse content
if isinstance(content_raw, str):
try:
content = json.loads(content_raw)
except Exception:
content = {"text": content_raw}
else:
content = content_raw
updates = {step_name: {"content": content}}
try:
result = await pipeline_modify(tenant_id, task_id, updates, rerun_from)
return result
except Exception as e:
return json.dumps({"success": False, "message": str(e)}, ensure_ascii=False)