Accept stored Scattermind snapshot rows

This commit is contained in:
OpenClaw Bot
2026-05-27 17:04:52 +02:00
parent 85c8067185
commit 759c1b2fe4
4 changed files with 63 additions and 12 deletions
+26 -11
View File
@@ -559,6 +559,10 @@ function looksLikeRankPayload(value = {}) {
|| value.original_prompt
|| value.sourceSummary
|| value.source_summary
|| value.glimpseJson
|| value.glimpse_json
|| value.snapshotJson
|| value.snapshot_json
|| value.fullReadingJson
|| value.full_reading_json
|| value.fullReading
@@ -693,6 +697,14 @@ function parseObjectJsonString(value = '') {
function expandStoredScattermindReading(body = {}) {
const original = objectFrom(body);
const storedSnapshot = original.glimpseJson
|| original.glimpse_json
|| original.snapshotJson
|| original.snapshot_json
|| '';
const parsedSnapshot = (typeof storedSnapshot === 'string'
? parseObjectJsonString(storedSnapshot)
: objectFrom(storedSnapshot)) || {};
const storedReading = original.fullReadingJson
|| original.full_reading_json
|| original.fullReading
@@ -700,22 +712,25 @@ function expandStoredScattermindReading(body = {}) {
|| original.conceptMapJson
|| original.concept_map_json
|| '';
const parsedReading = typeof storedReading === 'string'
const parsedReading = (typeof storedReading === 'string'
? parseObjectJsonString(storedReading)
: objectFrom(storedReading);
if (!parsedReading || !Object.keys(parsedReading).length) return original;
: objectFrom(storedReading)) || {};
if ((!parsedReading || !Object.keys(parsedReading).length) && (!parsedSnapshot || !Object.keys(parsedSnapshot).length)) return original;
const explicitSnapshot = objectFrom(original.snapshot || original.glimpse);
const expanded = {
...parsedSnapshot,
...parsedReading,
...original,
lenses: original.lenses || parsedReading.lenses,
threads_to_hold: original.threads_to_hold || original.threadsToHold || parsedReading.threads_to_hold || parsedReading.threadsToHold,
questions_to_sit_with: original.questions_to_sit_with || original.questionsToSitWith || parsedReading.questions_to_sit_with || parsedReading.questionsToSitWith,
closing_note: original.closing_note || original.closingNote || parsedReading.closing_note || parsedReading.closingNote,
reference_code: original.reference_code || original.referenceCode || parsedReading.reference_code || parsedReading.referenceCode,
working_name: original.working_name || original.workingName || parsedReading.working_name || parsedReading.workingName,
opening_reflection: original.opening_reflection || original.openingReflection || parsedReading.opening_reflection || parsedReading.openingReflection,
restated_idea: original.restated_idea || original.restatedIdea || parsedReading.restated_idea || parsedReading.restatedIdea,
snapshot: Object.keys(explicitSnapshot).length ? explicitSnapshot : parsedSnapshot,
lenses: original.lenses || parsedReading.lenses || parsedSnapshot.lenses,
threads_to_hold: original.threads_to_hold || original.threadsToHold || parsedReading.threads_to_hold || parsedReading.threadsToHold || parsedSnapshot.threads_to_hold || parsedSnapshot.threadsToHold,
questions_to_sit_with: original.questions_to_sit_with || original.questionsToSitWith || parsedReading.questions_to_sit_with || parsedReading.questionsToSitWith || parsedSnapshot.questions_to_sit_with || parsedSnapshot.questionsToSitWith,
closing_note: original.closing_note || original.closingNote || parsedReading.closing_note || parsedReading.closingNote || parsedSnapshot.closing_note || parsedSnapshot.closingNote,
reference_code: original.reference_code || original.referenceCode || parsedReading.reference_code || parsedReading.referenceCode || parsedSnapshot.reference_code || parsedSnapshot.referenceCode,
working_name: original.working_name || original.workingName || parsedReading.working_name || parsedReading.workingName || parsedSnapshot.working_name || parsedSnapshot.workingName,
opening_reflection: original.opening_reflection || original.openingReflection || parsedReading.opening_reflection || parsedReading.openingReflection || parsedSnapshot.opening_reflection || parsedSnapshot.openingReflection,
restated_idea: original.restated_idea || original.restatedIdea || parsedReading.restated_idea || parsedReading.restatedIdea || parsedSnapshot.restated_idea || parsedSnapshot.restatedIdea,
ideaText: original.ideaText || original.idea_text || parsedReading.ideaText || parsedReading.idea_text,
context: original.context || parsedReading.context || '',
};