File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed
Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change 1- from copy import deepcopy
2-
31from pydantic import BaseModel , Field
42from rigging .generator import Usage
53from rigging .message import Message
@@ -44,4 +42,12 @@ def last_usage(self) -> Usage | None:
4442 return None
4543
4644 def fork (self ) -> "Thread" :
47- return Thread (messages = deepcopy (self .messages ), events = deepcopy (self .events ))
45+ # Create a new thread with the same messages but empty events
46+ # Events are historical tracking and don't need to be forked
47+ # We construct new Message objects to avoid shared references
48+ forked_messages = []
49+ for msg in self .messages :
50+ # Reconstruct message from its dict representation
51+ msg_dict = msg .model_dump ()
52+ forked_messages .append (Message .model_validate (msg_dict ))
53+ return Thread (messages = forked_messages , events = [])
You can’t perform that action at this time.
0 commit comments