Release: Live Stream Anchor side-effects projection (#6204, @franksong2702) (#6348)

* fix: preserve anchor-owned side effects

* test: prove invisible anchor outcomes do not repaint

* docs(changelog): stamp #6204 Anchor side-effects projection

---------

Co-authored-by: Frank Song <franksong2702@gmail.com>
Co-authored-by: nesquena-hermes <agent@nesquena-hermes>
This commit is contained in:
authored and GitHub committed 2026-07-20 04:56:51 +00:00
1 parent 942e952849
commit dd554c1788
6 files changed
+201 -5

No files matched your search

+10
View File
@@ -1030,6 +1030,8 @@
final_message_ref:null,
terminal_state:null,
activity_rows:Object.freeze([]),
artifacts:Object.freeze([]),
side_effects:Object.freeze([]),
});
}
const rows=(Array.isArray(anchor.activity_events)?anchor.activity_events:[])
@@ -1045,6 +1047,14 @@
final_message_ref:typeof content.final_message_ref==='string'?content.final_message_ref:null,
terminal_state:_cleanString(_own(lifecycle,'terminal_state'))||null,
activity_rows:Object.freeze(rows),
artifacts:Object.freeze((Array.isArray(anchor.artifacts)?anchor.artifacts:[]).map(event=>Object.freeze({
..._copyObject(event),
payload:Object.freeze(_copyObject(_own(event,'payload'))),
}))),
side_effects:Object.freeze((Array.isArray(anchor.side_effects)?anchor.side_effects:[]).map(event=>Object.freeze({
..._copyObject(event),
payload:Object.freeze(_copyObject(_own(event,'payload'))),
}))),
});
}