Session¶
pycodeloop.core.session.Session
dataclass
¶
Source code in pycodeloop/core/session.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | |
cwd = '.'
class-attribute
instance-attribute
¶
messages = field(default_factory=list)
class-attribute
instance-attribute
¶
system_prompt = ''
class-attribute
instance-attribute
¶
__init__(system_prompt='', messages=list(), cwd='.')
¶
add_assistant(text, tool_calls=None)
¶
Source code in pycodeloop/core/session.py
28 29 30 31 | |
add_tool_result(tool_call_id, content)
¶
Source code in pycodeloop/core/session.py
33 34 35 36 | |
add_user(text, images=None)
¶
Source code in pycodeloop/core/session.py
25 26 | |
history()
¶
Source code in pycodeloop/core/session.py
38 39 40 | |
trim(max_turns)
¶
Keep only the most recent max_turns user-initiated turns,
dropping older ones as a whole unit — trimming mid-turn would
split an assistant tool_calls message from its tool_result
replies, which every provider rejects.
Source code in pycodeloop/core/session.py
61 62 63 64 65 66 67 68 69 70 71 72 | |
pycodeloop.core.session.Message
dataclass
¶
Source code in pycodeloop/core/session.py
9 10 11 12 13 14 15 16 | |
content
instance-attribute
¶
images = None
class-attribute
instance-attribute
¶
Base64-encoded PNG data, one entry per attached image.