docs: Document cross-session conversation recall (session_search)#819
Conversation
- Add docs/features/cross-session-recall.mdx with session_search graduated from stub (PraisonAI PR #2187): discovery/scroll/browse modes, diagrams, parameter tables, return shapes, best practices, related links - Update docs/features/bot-default-tools.mdx: rename section and fix session_search description from 'Placeholder only' to working tool - Update docs.json: register cross-session-recall under State & Sessions Co-authored-by: Mervin Praison <MervinPraison@users.noreply.github.com>
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
Warning Review limit reached
More reviews will be available in 8 minutes and 31 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses rolling per-developer review limits. Reviews become available again as older review attempts age out of the rolling limit window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request introduces documentation for the new 'Cross-Session Recall' (Session Search) feature, updating the bot default tools list and adding a comprehensive guide on how agents can search past conversation transcripts. Feedback on the documentation highlights critical discrepancies with the current codebase: the documented Python examples for session_search do not match its actual function signature (missing required arguments and using unsupported parameters), and the referenced SearchableSessionStoreProtocol and its associated methods are not yet implemented in the SDK.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| # 2. Scroll — read ±N messages around an anchor | ||
| session_search(session_id="abc-123", around_message_id="42", window=10) | ||
|
|
||
| # 3. Browse — most recent sessions ("what was I working on?") | ||
| session_search() |
There was a problem hiding this comment.
The documented usage of session_search does not match its actual implementation in praisonaiagents/tools/session_tools.py.
In the codebase, session_search is defined as:
def session_search(query: str, limit: int = 10, session_id: str = None) -> str:This leads to two issues in the examples:
queryis a required positional argument (it has no default value). Therefore, callingsession_search()with no arguments (line 59) or calling it withoutquery(line 56) will raise aTypeError: missing 1 required positional argument: 'query'.- The parameters
around_message_idandwindow(line 56) are not defined in the function signature, which will raise aTypeError: got an unexpected keyword argument.
Consider updating the examples to match the current signature of the tool.
# 2. Search within a specific session
session_search(query="billing migration", session_id="abc-123", limit=10)
| ## Advanced: `SearchableSessionStoreProtocol` | ||
|
|
||
| The default store implements `SearchableSessionStoreProtocol`, a separate `runtime_checkable` protocol that adds search to any session store backend. |
There was a problem hiding this comment.
The advanced section references SearchableSessionStoreProtocol and methods like store.search(), store.window(), and store.recent(). However, these are not defined in praisonaiagents/session/protocols.py or implemented in praisonaiagents/session/store.py (the default store only implements SessionStoreProtocol and lacks these search/window/recent methods).
If these features are part of an upcoming PR or a different package version, please clarify that in the documentation to avoid confusing users who try to use them with the current version of the SDK.
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Fixes #813
New page docs/features/cross-session-recall.mdx documents the session_search tool that graduated from a stub to a working feature in PraisonAI PR #2187. Updated docs/features/bot-default-tools.mdx and docs.json.
Generated with Claude Code