From 210fcb67c37bfa5182aa29a531633c8d8b2af0ec Mon Sep 17 00:00:00 2001 From: Chiranjeewee Koirala Date: Wed, 24 Sep 2025 16:58:32 +0000 Subject: [PATCH 1/2] Log and skip error at object level --- server/internal/response.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/internal/response.go b/server/internal/response.go index 8bea613..a2115c5 100644 --- a/server/internal/response.go +++ b/server/internal/response.go @@ -15,7 +15,9 @@ package internal import ( + "encoding/json" "fmt" + "log" "sort" framework "github.com/sgnl-ai/adapter-framework" @@ -87,7 +89,16 @@ func getEntityObjects( entityObject, adapterErr = getEntityObject(reverseMapping, object) if adapterErr != nil { - return nil, adapterErr + // Log the complete object and skip it instead of returning error + objectJSON, jsonErr := json.Marshal(object) + if jsonErr != nil { + log.Printf("[ERROR] Failed to marshal object for logging: %v. Original error: %s", jsonErr, adapterErr.Message) + } else { + log.Printf("[ERROR] Skipping object due to validation error. Entity: %s, Error: %s, Object: %s", + reverseMapping.Id, adapterErr.Message, string(objectJSON)) + } + + continue // Skip this object and process the next one } entityObjects.Objects = append(entityObjects.Objects, entityObject) From 6130f752a619b3019be25c468bf841f13af186bd Mon Sep 17 00:00:00 2001 From: Chiranjeewee Koirala Date: Wed, 24 Sep 2025 18:35:22 +0000 Subject: [PATCH 2/2] Add logging --- web/json_object.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/web/json_object.go b/web/json_object.go index 4eea5d0..442da91 100644 --- a/web/json_object.go +++ b/web/json_object.go @@ -16,7 +16,9 @@ package web import ( "context" + "encoding/json" "fmt" + "log" "strings" "github.com/PaesslerAG/gval" @@ -61,7 +63,16 @@ func convertJSONObjectList(entity *framework.EntityConfig, objects []map[string] parsedObject, err := convertJSONObject(entity, object, opts, jsonPaths) if err != nil { - return nil, err + // Log the complete object and skip it instead of returning error + objectJSON, jsonErr := json.Marshal(object) + if jsonErr != nil { + log.Printf("[ERROR] Failed to marshal JSON object for logging: %v. Original error: %v", jsonErr, err) + } else { + log.Printf("[ERROR] Skipping JSON object due to conversion error. Entity: %v, Error: %v, Object: %s", + entity, err, string(objectJSON)) + } + + continue // Skip this object and process the next one } if len(parsedObject) == 0 {