Rad/docs 4oct#74
Conversation
WalkthroughMajor documentation overhaul across deployment and explanation sections, introducing new cloud deployment methods and reorganized workflows. Added new framework guides (AG2, LlamaIndex, Parlant), significantly expanded Letta docs, updated introduction with streaming-centric flow, and adjusted navigation. Multiple metadata tweaks (titles/icons) and consistency edits across SDK and tutorial pages. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant CLI as RunAgent CLI
participant Cloud as RunAgent Cloud
participant Repo as Artifact Store
rect rgb(240,248,255)
note over Dev,CLI: Method 1 — Quick Deploy (Upload + Start)
Dev->>CLI: runagent deploy --quick
CLI->>CLI: Validate agent + config
CLI->>Repo: Package + Upload artifact
Repo-->>CLI: Upload OK + fingerprint
CLI->>Cloud: Start agent (artifact_ref)
Cloud-->>CLI: Deployment URL + status
end
sequenceDiagram
autonumber
actor Dev as Developer
participant CLI as RunAgent CLI
participant Repo as Artifact Store
participant Cloud as RunAgent Cloud
rect rgb(245,255,240)
note over Dev,Cloud: Method 2 — Two-Step Deploy
Dev->>CLI: runagent upload
CLI->>CLI: Validate + fingerprint
CLI->>Repo: Upload package + metadata
Repo-->>CLI: Fingerprint / dedupe result
Dev->>CLI: runagent start --artifact <id>
CLI->>Cloud: Start agent with artifact
Cloud-->>CLI: Deployment URL + status
end
sequenceDiagram
autonumber
actor Client as App Client
participant Cloud as RunAgent Cloud
participant Agent as Deployed Agent
rect rgb(255,250,240)
note over Client,Agent: Streaming Execution (WebSocket)
Client->>Cloud: Connect WS (auth)
Cloud->>Agent: Invoke entrypoint(_stream)
Agent-->>Cloud: Chunk tokens/events
Cloud-->>Client: Stream chunks (until done)
Client->>Cloud: Close / Abort (optional)
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ 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.
Actionable comments posted: 3
🧹 Nitpick comments (1)
docs/how-to/frameworks/langgraph.mdx (1)
545-549: Keep NeedHelp context in sync with the page title.Now that the title is just “LangGraph”, the
<NeedHelp>context should match to avoid stale labeling in downstream tooling. Consider updating it to"LangGraph"for consistency.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (20)
docs/deployment/cloud-deployment.mdx(2 hunks)docs/deployment/local-development.mdx(0 hunks)docs/docs.json(1 hunks)docs/explanation/feature-overview.mdx(3 hunks)docs/explanation/introduction.mdx(13 hunks)docs/explanation/key-concepts-at-a-glance.mdx(6 hunks)docs/how-to/call-from-rust.mdx(37 hunks)docs/how-to/frameworks/ag2.mdx(1 hunks)docs/how-to/frameworks/agno.mdx(1 hunks)docs/how-to/frameworks/crewai.mdx(1 hunks)docs/how-to/frameworks/custom.mdx(1 hunks)docs/how-to/frameworks/langgraph.mdx(1 hunks)docs/how-to/frameworks/letta.mdx(3 hunks)docs/how-to/frameworks/llamaindex.mdx(1 hunks)docs/how-to/frameworks/parlant.mdx(1 hunks)docs/how-to/overview.mdx(1 hunks)docs/sdk/go/getting-started.mdx(1 hunks)docs/sdk/python/getting-started.mdx(1 hunks)docs/sdk/rust/getting-started.mdx(1 hunks)docs/tutorials/deploy-your-first-agent.mdx(8 hunks)
💤 Files with no reviewable changes (1)
- docs/deployment/local-development.mdx
| { | ||
| "agent_name": "advanced-letta-agent", | ||
| "description": "Advanced Letta multi-entrypoint system", | ||
| "framework": "letta", | ||
| "agent_architecture": { | ||
| "entrypoints": [ | ||
| { | ||
| "file": "agent.py", | ||
| "module": "letta_run", | ||
| "tag": "chat" | ||
| }, | ||
| { | ||
| "file": "agent.py", | ||
| "module": "letta_run_stream", | ||
| "tag": "chat_stream" | ||
| }, | ||
| { | ||
| "file": "agent.py", | ||
| "module": "letta_run_with_tools", | ||
| "tag": "research" | ||
| } |
There was a problem hiding this comment.
Fix entrypoint mismatch between docs and sample code
The multiple-entrypoint configuration references letta_run_with_tools, but the advanced example actually defines def letta_run(...). If readers copy this JSON they’ll hit runtime errors because that callable doesn’t exist. Please rename the function (or update the config) so the module names line up.
-
-def letta_run(message: str):
+
+def letta_run_with_tools(message: str):Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In docs/how-to/frameworks/letta.mdx around lines 531 to 551, the
multiple-entrypoint JSON references module "letta_run_with_tools" but the sample
advanced example only defines a function named "letta_run", causing a mismatch;
fix by updating the JSON module name to "letta_run" (or alternatively rename the
function in the sample to letta_run_with_tools) so the entrypoint module names
exactly match the callable defined in agent.py.
| try: | ||
| result = await agent.run(math_query) | ||
| return { | ||
| "status": "success", | ||
| "result": str(result), | ||
| "query": math_query | ||
| } | ||
| except Exception as e: | ||
| return { | ||
| "status": "error", | ||
| "error": str(e), | ||
| "query": math_query | ||
| } | ||
|
|
||
|
|
||
| async def stream_multiply(math_query: str): | ||
| """ | ||
| Streaming math agent. | ||
|
|
||
| Args: | ||
| math_query: The mathematical query or expression | ||
|
|
||
| Yields: | ||
| Streaming events from the agent | ||
| """ | ||
| try: | ||
| handler = agent.run(user_msg=math_query) | ||
|
|
||
| async for event in handler.stream_events(): | ||
| if isinstance(event, AgentStream): | ||
| yield { | ||
| "type": "agent_stream", | ||
| "content": str(event), | ||
| "query": math_query | ||
| } | ||
| else: | ||
| yield { | ||
| "type": "event", | ||
| "data": str(event) | ||
| } | ||
|
|
There was a problem hiding this comment.
Fix asynchronous FunctionAgent usage
FunctionAgent.run(...) is synchronous. Awaiting it raises TypeError, and the streaming example never calls stream_events, so it won’t emit chunks. Use the async variants to avoid misleading users.
Apply this diff to correct both snippets:
- result = await agent.run(math_query)
+ result = await agent.arun(math_query)
@@
- handler = agent.run(user_msg=math_query)
-
- async for event in handler.stream_events():
+ async for event in agent.stream_events(user_msg=math_query):
if isinstance(event, AgentStream):
yield {
"type": "agent_stream",🤖 Prompt for AI Agents
In docs/how-to/frameworks/llamaindex.mdx around lines 149 to 189, the examples
call FunctionAgent.run (a synchronous API) with await and also start streaming
from a handler that never invokes the agent's async streaming API; replace the
synchronous calls with the async variants: use await agent.arun(...) for the
single-call example and use the agent's async streaming method (e.g., await
agent.stream_arun(...) or the documented async stream API) to obtain a streaming
handler that supports async for event in handler.stream_events(), ensuring you
await the async call that returns the streamable handler and then iterate its
stream_events() to yield chunks.
| # Parlant Integration | ||
|
|
||
| Deploy Parlant guideline-driven conversational agents with RunAgent | ||
|
|
||
| --- | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - Basic understanding of Parlant | ||
| - Completed [Deploy Your First Agent](/tutorials/deploy-your-first-agent) tutorial |
There was a problem hiding this comment.
Add required front matter metadata.
This page is missing the --- front matter block used across the docs (title, description, icon, etc.). Without it the docs generator can’t index or surface the page correctly. Please add the standard front matter header before the H1.
🤖 Prompt for AI Agents
In docs/how-to/frameworks/parlant.mdx around lines 1 to 10, the file is missing
the required front matter block (---) used by the docs generator; add the
standard YAML front matter header immediately before the H1 containing at
minimum title and description (and other site-required fields such as slug,
icon, and sidebar position if your docs repo expects them) so the page can be
indexed and rendered correctly.
Updated the docs partially
Summary by CodeRabbit