You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
examples/jack bounds its conversation memory. A session re-sends its whole history every
turn, and tool results here are documentation pages, one of which is 30 KB. Fifteen turns
reached a 320 KB request and the endpoint then rejected every later turn in that session
permanently. jack.session.BoundedSessions is a Deck(session_factory=...) that keeps only the
most recent whole exchanges, cutting at user-message boundaries so a tool call is never
separated from its result.
examples/jack can trace itself. Setting AGENTDECK_LANGFUSE_PUBLIC_KEY attaches the
packaged Langfuse observer, and setting AGENTDECK_EVENTS to a sqlite:// URL makes the run
log durable. Both are off by default, so a clone still runs with no backend. Both store what
callers typed; the example's README says what that means for a public endpoint.
Fixed
Three documentation pages stated things the code does not do.runs-and-control/lifecycle-and-control
listed a QUEUED state and uppercase names; the six real values are running, paused, waiting_answer, completed, failed and cancelled. reference/events listed message.delta, tool.call and tool.result, none of which exist, and omitted 14 kinds that
do; it now covers all 21 with their payloads. The Quickstart printed an invented transcript,
read run.status as a property when it is a coroutine, and iterated run.events() without follow=True, which returns only what the log already holds.