fix(core): не досылать modify-params без live-значения/дефолта — избежать синтетического 0 (integer > 0)

This commit is contained in:
Repinoid
2026-09-22 19:49:04 +03:00
parent 3a2a93b32e
commit 3236203366
+6
View File
@@ -1604,6 +1604,12 @@ func (c *UniversalClient) RunInstanceOperationUniversalByCode(ctx context.Contex
// Бэкенд для modify трактует пропущенный/null как reset-to-default,
// из-за чего частичный payload затирал create-поля (см. prompt_for_opus_modifier_null_bug.md).
// Поведение выровнено под RunInstanceOperationUniversalWithDefaults.
// НО: если ни live-значения, ни дефолта НЕТ — пропускаем (не шлём синтетический
// "0"/"false"/"[]", который может нарушить constraint "integer > 0").
if (param.ParamValue == nil || strings.TrimSpace(*param.ParamValue) == "") &&
(param.DefaultValue == nil || strings.TrimSpace(*param.DefaultValue) == "") {
continue
}
val := ""
if param.ParamValue != nil {
val = *param.ParamValue