diff --git a/docs/src/changelog.mdx b/docs/src/changelog.mdx
index d26ffa0a0..2a9339488 100644
--- a/docs/src/changelog.mdx
+++ b/docs/src/changelog.mdx
@@ -90,7 +90,7 @@ description: Updates and improvements to Notte
- Restructured navigation and content
- Comprehensive SDK reference and guides
- - [AI tools compatibility](/guides/vibe-coding) for vibe coding
+ - [AI tools compatibility](/guides/vibe-coding)[AI tools compatibility](/guides/vibe-coding.md) for vibe coding
@@ -104,11 +104,11 @@ description: Updates and improvements to Notte
We wrapped Launch Week I with five major releases:
- - **[Agent Identities](/concepts/personas)** - Manage personas for your agents
- - **[Automation Studio](/product/studio)** - Visual automation builder
- - **[Agent Mode](/product/agent-mode)** - AI-powered browser automation
- - **[Demonstrate Mode](/product/demonstrate-mode)** - Record and replay workflows
- - **[Deployed Functions](/concepts/functions)** - Serverless function execution
+ - **[Agent Identities](/concepts/personas)[Agent Identities](/concepts/personas.md)** - Manage personas for your agents
+ - **[Automation Studio](/product/studio)[Automation Studio](/product/studio.md)** - Visual automation builder
+ - **[Agent Mode](/product/agent-mode)[Agent Mode](/product/agent-mode.md)** - AI-powered browser automation
+ - **[Demonstrate Mode](/product/demonstrate-mode)[Demonstrate Mode](/product/demonstrate-mode.md)** - Record and replay workflows
+ - **[Deployed Functions](/concepts/functions)[Deployed Functions](/concepts/functions.md)** - Serverless function execution
Read the full recap: https://www.notte.cc/launch-week-i
diff --git a/docs/src/concepts/agents.mdx b/docs/src/concepts/agents.mdx
index 7997a18ff..2a97071db 100644
--- a/docs/src/concepts/agents.mdx
+++ b/docs/src/concepts/agents.mdx
@@ -29,7 +29,7 @@ Create and run an agent in a few lines:
- Agents run within [browser sessions](/concepts/sessions). Use context managers to ensure sessions are automatically stopped when done. This prevents orphaned sessions and unexpected costs.
+ Agents run within [browser sessions](/concepts/sessions)[browser sessions](/concepts/sessions.md). Use context managers to ensure sessions are automatically stopped when done. This prevents orphaned sessions and unexpected costs.
## How Agents Work
@@ -68,7 +68,7 @@ This cycle repeats until:
## Agents vs Scripted Automation
-Both agents and scripted automation run on [browser sessions](/concepts/sessions)—the cloud browser infrastructure. The difference is how you control what happens in that session.
+Both agents and scripted automation run on [browser sessions](/concepts/sessions)[browser sessions](/concepts/sessions.md)—the cloud browser infrastructure. The difference is how you control what happens in that session.
| Aspect | Scripted Automation | Agent |
|--------|---------------------|-------|
@@ -90,7 +90,7 @@ Both agents and scripted automation run on [browser sessions](/concepts/sessions
- You need intelligent decision-making
- You can combine both approaches: use an agent to figure out a workflow, then [convert it to a function](/features/agents/workflows) for faster, cheaper repeated execution.
+ You can combine both approaches: use an agent to figure out a workflow, then [convert it to a function](/features/agents/workflows)[convert it to a function](/features/agents/workflows.md) for faster, cheaper repeated execution.
## Agent Capabilities
@@ -98,21 +98,56 @@ Both agents and scripted automation run on [browser sessions](/concepts/sessions
Agents come with powerful built-in capabilities:
-
- Get type-safe responses using Pydantic models
-
-
- Use credentials and identities in automations
-
-
- Analyze images and visual page elements
-
-
- Debug with MP4 replays of agent execution
-
-
- Automatic recovery from script failures
-
+
+
+ Get type-safe responses using Pydantic models
+
+
+
+
+ Get type-safe responses using Pydantic models
+
+
+
+
+ Use credentials and identities in automations
+
+
+
+
+ Use credentials and identities in automations
+
+
+
+
+ Analyze images and visual page elements
+
+
+
+
+ Analyze images and visual page elements
+
+
+
+
+ Debug with MP4 replays of agent execution
+
+
+
+
+ Debug with MP4 replays of agent execution
+
+
+
+
+ Automatic recovery from script failures
+
+
+
+
+ Automatic recovery from script failures
+
+
## Key Concepts
@@ -150,16 +185,44 @@ Agents can fail for various reasons. Always check the result:
## Next Steps
-
- Create, manage, and stop agents
-
-
- All configuration options
-
-
- Get typed responses from agents
-
-
- Turn agent runs into reusable code
-
+
+
+ Create, manage, and stop agents
+
+
+
+
+ Create, manage, and stop agents
+
+
+
+
+ All configuration options
+
+
+
+
+ All configuration options
+
+
+
+
+ Get typed responses from agents
+
+
+
+
+ Get typed responses from agents
+
+
+
+
+ Turn agent runs into reusable code
+
+
+
+
+ Turn agent runs into reusable code
+
+
diff --git a/docs/src/concepts/file-storage.mdx b/docs/src/concepts/file-storage.mdx
index d8f19dbe2..43d7de6d9 100644
--- a/docs/src/concepts/file-storage.mdx
+++ b/docs/src/concepts/file-storage.mdx
@@ -128,19 +128,47 @@ Always check for downloaded files after the session ends:
## Next Steps
-
- Use agents with file operations
-
-
-
- Learn about browser sessions
-
-
-
- Store credentials securely
-
-
-
- Create browser identities
-
+
+
+ Use agents with file operations
+
+
+
+
+ Use agents with file operations
+
+
+
+
+
+ Learn about browser sessions
+
+
+
+
+ Learn about browser sessions
+
+
+
+
+
+ Store credentials securely
+
+
+
+
+ Store credentials securely
+
+
+
+
+
+ Create browser identities
+
+
+
+
+ Create browser identities
+
+
diff --git a/docs/src/concepts/functions.mdx b/docs/src/concepts/functions.mdx
index 9a4779f43..20f097bcb 100644
--- a/docs/src/concepts/functions.mdx
+++ b/docs/src/concepts/functions.mdx
@@ -230,19 +230,47 @@ Log important steps for debugging:
## Next Steps
-
- Learn how to write and deploy Functions
-
-
-
- Call Functions via API, SDK, or cURL
-
-
-
- Schedule Functions with cron
-
-
-
- Update, version, and monitor Functions
-
+
+
+ Learn how to write and deploy Functions
+
+
+
+
+ Learn how to write and deploy Functions
+
+
+
+
+
+ Call Functions via API, SDK, or cURL
+
+
+
+
+ Call Functions via API, SDK, or cURL
+
+
+
+
+
+ Schedule Functions with cron
+
+
+
+
+ Schedule Functions with cron
+
+
+
+
+
+ Update, version, and monitor Functions
+
+
+
+
+ Update, version, and monitor Functions
+
+
diff --git a/docs/src/concepts/scraping.mdx b/docs/src/concepts/scraping.mdx
index b970df3fd..4702a21d5 100644
--- a/docs/src/concepts/scraping.mdx
+++ b/docs/src/concepts/scraping.mdx
@@ -179,19 +179,47 @@ Use selectors to focus on relevant content:
## Next Steps
-
- Learn about session management
-
-
-
- Use AI agents for complex scraping
-
-
-
- Store credentials for authenticated scraping
-
-
-
- Deploy scraping as serverless functions
-
+
+
+ Learn about session management
+
+
+
+
+ Learn about session management
+
+
+
+
+
+ Use AI agents for complex scraping
+
+
+
+
+ Use AI agents for complex scraping
+
+
+
+
+
+ Store credentials for authenticated scraping
+
+
+
+
+ Store credentials for authenticated scraping
+
+
+
+
+
+ Deploy scraping as serverless functions
+
+
+
+
+ Deploy scraping as serverless functions
+
+
diff --git a/docs/src/concepts/sessions.mdx b/docs/src/concepts/sessions.mdx
index 5163f7c09..aa08da254 100644
--- a/docs/src/concepts/sessions.mdx
+++ b/docs/src/concepts/sessions.mdx
@@ -17,7 +17,7 @@ Create a session and start automating:
- We strongly recommend using the `with` statement (context manager) to ensure sessions are automatically stopped when done. This prevents orphaned sessions and unexpected costs. See [Session Lifecycle](/features/sessions/lifecycle) for manual management options.
+ We strongly recommend using the `with` statement (context manager) to ensure sessions are automatically stopped when done. This prevents orphaned sessions and unexpected costs. See [Session Lifecycle](/features/sessions/lifecycle)[Session Lifecycle](/features/sessions/lifecycle.md) for manual management options.
## Core Operations
@@ -37,39 +37,109 @@ Sessions provide three methods for interacting with the browser:
Sessions come with powerful built-in capabilities:
-
- Route traffic through residential proxies for geo-targeting
-
-
- Automatically solve reCAPTCHA and hCaptcha
-
-
- Evade bot detection with fingerprint randomization
-
-
- Record sessions for debugging and replay
-
-
- Watch sessions execute in real-time
-
-
- Persist browser state across sessions
-
+
+
+ Route traffic through residential proxies for geo-targeting
+
+
+
+
+ Route traffic through residential proxies for geo-targeting
+
+
+
+
+ Automatically solve reCAPTCHA and hCaptcha
+
+
+
+
+ Automatically solve reCAPTCHA and hCaptcha
+
+
+
+
+ Evade bot detection with fingerprint randomization
+
+
+
+
+ Evade bot detection with fingerprint randomization
+
+
+
+
+ Record sessions for debugging and replay
+
+
+
+
+ Record sessions for debugging and replay
+
+
+
+
+ Watch sessions execute in real-time
+
+
+
+
+ Watch sessions execute in real-time
+
+
+
+
+ Persist browser state across sessions
+
+
+
+
+ Persist browser state across sessions
+
+
## Next Steps
-
- Create, manage, and stop sessions
-
-
- All configuration options
-
-
- Complete action reference
-
-
- Use Playwright via CDP
-
+
+
+ Create, manage, and stop sessions
+
+
+
+
+ Create, manage, and stop sessions
+
+
+
+
+ All configuration options
+
+
+
+
+ All configuration options
+
+
+
+
+ Complete action reference
+
+
+
+
+ Complete action reference
+
+
+
+
+ Use Playwright via CDP
+
+
+
+
+ Use Playwright via CDP
+
+
diff --git a/docs/src/features/agents/configuration.mdx b/docs/src/features/agents/configuration.mdx
index 260681819..a1ee6449a 100644
--- a/docs/src/features/agents/configuration.mdx
+++ b/docs/src/features/agents/configuration.mdx
@@ -70,7 +70,7 @@ Parameters set when creating the agent instance.
### vault
- Optional vault instance containing credentials the agent can use for authentication. See [Vaults](/concepts/vaults) for details.
+ Optional vault instance containing credentials the agent can use for authentication. See [Vaults](/concepts/vaults)[Vaults](/concepts/vaults.md) for details.
@@ -78,7 +78,7 @@ Parameters set when creating the agent instance.
### persona
- Optional persona providing the agent with phone numbers, email addresses, and other identity information. See [Personas](/concepts/personas) for details.
+ Optional persona providing the agent with phone numbers, email addresses, and other identity information. See [Personas](/concepts/personas)[Personas](/concepts/personas.md) for details.
@@ -114,7 +114,7 @@ Parameters provided when running the agent.
### response_format
- Optional Pydantic model defining the structure of the agent's response. Use this to get type-safe, structured output. See [Structured Output](/features/agents/structured-output) for details.
+ Optional Pydantic model defining the structure of the agent's response. Use this to get type-safe, structured output. See [Structured Output](/features/agents/structured-output)[Structured Output](/features/agents/structured-output.md) for details.
@@ -178,19 +178,47 @@ Start agents at the right page:
## Next Steps
-
- Learn about agent execution modes
-
-
-
- Debug agents with visual replays
-
-
-
- Get typed responses from agents
-
-
-
- Store credentials for agent use
-
+
+
+ Learn about agent execution modes
+
+
+
+
+ Learn about agent execution modes
+
+
+
+
+
+ Debug agents with visual replays
+
+
+
+
+ Debug agents with visual replays
+
+
+
+
+
+ Get typed responses from agents
+
+
+
+
+ Get typed responses from agents
+
+
+
+
+
+ Store credentials for agent use
+
+
+
+
+ Store credentials for agent use
+
+
diff --git a/docs/src/features/agents/fallback.mdx b/docs/src/features/agents/fallback.mdx
index ce7850c3b..ee2bfe68b 100644
--- a/docs/src/features/agents/fallback.mdx
+++ b/docs/src/features/agents/fallback.mdx
@@ -194,19 +194,47 @@ Handle failures gracefully:
## Next Steps
-
- Understand agent execution modes
-
-
-
- Configure agent parameters
-
-
-
- Learn about session actions
-
-
-
- Build reliable automations
-
+
+
+ Understand agent execution modes
+
+
+
+
+ Understand agent execution modes
+
+
+
+
+
+ Configure agent parameters
+
+
+
+
+ Configure agent parameters
+
+
+
+
+
+ Learn about session actions
+
+
+
+
+ Learn about session actions
+
+
+
+
+
+ Build reliable automations
+
+
+
+
+ Build reliable automations
+
+
diff --git a/docs/src/features/agents/lifecycle.mdx b/docs/src/features/agents/lifecycle.mdx
index a5ba576aa..d204f4ed4 100644
--- a/docs/src/features/agents/lifecycle.mdx
+++ b/docs/src/features/agents/lifecycle.mdx
@@ -183,7 +183,7 @@ Use `AgentFallback` for automatic error recovery:
-See [Agent Fallback](/features/agents/fallback) for details.
+See [Agent Fallback](/features/agents/fallback)[Agent Fallback](/features/agents/fallback.md) for details.
## Best Practices
@@ -206,15 +206,36 @@ See [Agent Fallback](/features/agents/fallback) for details.
## Next Steps
-
- Configure agent parameters
-
-
-
- Automatic error recovery
-
-
-
- Debug with visual replays
-
+
+
+ Configure agent parameters
+
+
+
+
+ Configure agent parameters
+
+
+
+
+
+ Automatic error recovery
+
+
+
+
+ Automatic error recovery
+
+
+
+
+
+ Debug with visual replays
+
+
+
+
+ Debug with visual replays
+
+
diff --git a/docs/src/features/agents/replay.mdx b/docs/src/features/agents/replay.mdx
index 3d339c6ef..67c30b6e1 100644
--- a/docs/src/features/agents/replay.mdx
+++ b/docs/src/features/agents/replay.mdx
@@ -200,19 +200,47 @@ Replays are currently:
## Next Steps
-
- Understand agent execution
-
-
-
- Optimize agent settings
-
-
-
- Build reliable agents
-
-
-
- Watch sessions in real-time
-
+
+
+ Understand agent execution
+
+
+
+
+ Understand agent execution
+
+
+
+
+
+ Optimize agent settings
+
+
+
+
+ Optimize agent settings
+
+
+
+
+
+ Build reliable agents
+
+
+
+
+ Build reliable agents
+
+
+
+
+
+ Watch sessions in real-time
+
+
+
+
+ Watch sessions in real-time
+
+
diff --git a/docs/src/features/agents/structured-output.mdx b/docs/src/features/agents/structured-output.mdx
index 5c867ac59..3342edb5c 100644
--- a/docs/src/features/agents/structured-output.mdx
+++ b/docs/src/features/agents/structured-output.mdx
@@ -152,19 +152,47 @@ Very complex nested structures may be challenging:
## Next Steps
-
- Configure agent parameters
-
-
-
- Understand agent execution modes
-
-
-
- Alternative data extraction methods
-
-
-
- Data extraction best practices
-
+
+
+ Configure agent parameters
+
+
+
+
+ Configure agent parameters
+
+
+
+
+
+ Understand agent execution modes
+
+
+
+
+ Understand agent execution modes
+
+
+
+
+
+ Alternative data extraction methods
+
+
+
+
+ Alternative data extraction methods
+
+
+
+
+
+ Data extraction best practices
+
+
+
+
+ Data extraction best practices
+
+
diff --git a/docs/src/features/agents/workflows.mdx b/docs/src/features/agents/workflows.mdx
index 6ec1cbc8c..e9c65dd41 100644
--- a/docs/src/features/agents/workflows.mdx
+++ b/docs/src/features/agents/workflows.mdx
@@ -173,19 +173,47 @@ When pages change or tasks become complex, revert to agents.
## Next Steps
-
- Deploy automations as serverless APIs
-
-
-
- Available session actions
-
-
-
- Optimize agent runs
-
-
-
- Deploy and manage serverless functions
-
+
+
+ Deploy automations as serverless APIs
+
+
+
+
+ Deploy automations as serverless APIs
+
+
+
+
+
+ Available session actions
+
+
+
+
+ Available session actions
+
+
+
+
+
+ Optimize agent runs
+
+
+
+
+ Optimize agent runs
+
+
+
+
+
+ Deploy and manage serverless functions
+
+
+
+
+ Deploy and manage serverless functions
+
+
diff --git a/docs/src/features/functions/creating.mdx b/docs/src/features/functions/creating.mdx
index 0059d2d01..390be07d0 100644
--- a/docs/src/features/functions/creating.mdx
+++ b/docs/src/features/functions/creating.mdx
@@ -200,19 +200,47 @@ Check parameters before processing:
## Next Steps
-
- Learn how to call your Functions
-
-
-
- Schedule Functions to run automatically
-
-
-
- Update and manage Functions
-
-
-
- Back to Functions overview
-
+
+
+ Learn how to call your Functions
+
+
+
+
+ Learn how to call your Functions
+
+
+
+
+
+ Schedule Functions to run automatically
+
+
+
+
+ Schedule Functions to run automatically
+
+
+
+
+
+ Update and manage Functions
+
+
+
+
+ Update and manage Functions
+
+
+
+
+
+ Back to Functions overview
+
+
+
+
+ Back to Functions overview
+
+
diff --git a/docs/src/features/functions/invocations.mdx b/docs/src/features/functions/invocations.mdx
index 948155698..703b70bb2 100644
--- a/docs/src/features/functions/invocations.mdx
+++ b/docs/src/features/functions/invocations.mdx
@@ -226,17 +226,38 @@ Functions have rate limits based on your plan:
## Next Steps
-
- Schedule Functions automatically
-
-
-
- Update and monitor Functions
-
-
-
- Learn to write Functions
-
+
+
+ Schedule Functions automatically
+
+
+
+
+ Schedule Functions automatically
+
+
+
+
+
+ Update and monitor Functions
+
+
+
+
+ Update and monitor Functions
+
+
+
+
+
+ Learn to write Functions
+
+
+
+
+ Learn to write Functions
+
+
Full API documentation
diff --git a/docs/src/features/functions/management.mdx b/docs/src/features/functions/management.mdx
index b45cb19c7..1500a1c18 100644
--- a/docs/src/features/functions/management.mdx
+++ b/docs/src/features/functions/management.mdx
@@ -273,19 +273,47 @@ Analyze failure patterns:
## Next Steps
-
- Learn how to write Functions
-
-
-
- Call Functions via API or SDK
-
-
-
- Schedule Functions with cron
-
-
-
- Back to Functions overview
-
+
+
+ Learn how to write Functions
+
+
+
+
+ Learn how to write Functions
+
+
+
+
+
+ Call Functions via API or SDK
+
+
+
+
+ Call Functions via API or SDK
+
+
+
+
+
+ Schedule Functions with cron
+
+
+
+
+ Schedule Functions with cron
+
+
+
+
+
+ Back to Functions overview
+
+
+
+
+ Back to Functions overview
+
+
diff --git a/docs/src/features/functions/schedules.mdx b/docs/src/features/functions/schedules.mdx
index 27d57c75e..9debb9331 100644
--- a/docs/src/features/functions/schedules.mdx
+++ b/docs/src/features/functions/schedules.mdx
@@ -319,17 +319,38 @@ Or handle timezone in function:
## Next Steps
-
- Learn how to invoke Functions manually
-
-
-
- Update and monitor Functions
-
-
-
- Write schedulable Functions
-
+
+
+ Learn how to invoke Functions manually
+
+
+
+
+ Learn how to invoke Functions manually
+
+
+
+
+
+ Update and monitor Functions
+
+
+
+
+ Update and monitor Functions
+
+
+
+
+
+ Write schedulable Functions
+
+
+
+
+ Write schedulable Functions
+
+
Configure schedules in Console
diff --git a/docs/src/features/sessions/browser-controls.mdx b/docs/src/features/sessions/browser-controls.mdx
index b587d7777..f17dbfd1d 100644
--- a/docs/src/features/sessions/browser-controls.mdx
+++ b/docs/src/features/sessions/browser-controls.mdx
@@ -290,7 +290,7 @@ Extract data from the current page.
**Use for:** Data extraction, web scraping, content analysis
-See [Scraping](/concepts/scraping) for detailed documentation.
+See [Scraping](/concepts/scraping)[Scraping](/concepts/scraping.md) for detailed documentation.
---
@@ -307,7 +307,7 @@ Read SMS messages from a persona's phone number.
**Use for:** Reading 2FA codes, SMS verification, phone-based authentication
-See [Personas](/concepts/personas) for details.
+See [Personas](/concepts/personas)[Personas](/concepts/personas.md) for details.
---
@@ -322,7 +322,7 @@ Read emails from a persona's email address.
**Use for:** Reading verification emails, email-based authentication
-See [Personas](/concepts/personas) for details.
+See [Personas](/concepts/personas)[Personas](/concepts/personas.md) for details.
---
@@ -391,19 +391,47 @@ Use direct attribute parameters when available:
## Next Steps
-
- Configure session behavior
-
-
-
- Manage session states
-
-
-
- Detailed API documentation
-
-
-
- Let AI handle actions automatically
-
+
+
+ Configure session behavior
+
+
+
+
+ Configure session behavior
+
+
+
+
+
+ Manage session states
+
+
+
+
+ Manage session states
+
+
+
+
+
+ Detailed API documentation
+
+
+
+
+ Detailed API documentation
+
+
+
+
+
+ Let AI handle actions automatically
+
+
+
+
+ Let AI handle actions automatically
+
+
diff --git a/docs/src/features/sessions/browser-profiles.mdx b/docs/src/features/sessions/browser-profiles.mdx
index 3ce8b6e5a..02b30beda 100644
--- a/docs/src/features/sessions/browser-profiles.mdx
+++ b/docs/src/features/sessions/browser-profiles.mdx
@@ -148,19 +148,47 @@ Use profiles when you need complete browser state preservation. Use cookies when
## Next Steps
-
- Manage session lifecycle
-
-
-
- Manual cookie management
-
-
-
- Secure credential storage
-
-
-
- All session options
-
+
+
+ Manage session lifecycle
+
+
+
+
+ Manage session lifecycle
+
+
+
+
+
+ Manual cookie management
+
+
+
+
+ Manual cookie management
+
+
+
+
+
+ Secure credential storage
+
+
+
+
+ Secure credential storage
+
+
+
+
+
+ All session options
+
+
+
+
+ All session options
+
+
diff --git a/docs/src/features/sessions/browser-types.mdx b/docs/src/features/sessions/browser-types.mdx
index add089085..ce1ae9cdc 100644
--- a/docs/src/features/sessions/browser-types.mdx
+++ b/docs/src/features/sessions/browser-types.mdx
@@ -65,19 +65,47 @@ Google Chrome with additional Google-specific features and branding.
## Next Steps
-
- Configure anti-detection features
-
-
-
- Automatically solve captchas
-
-
-
- All session configuration options
-
-
-
- Use persistent browser profiles
-
+
+
+ Configure anti-detection features
+
+
+
+
+ Configure anti-detection features
+
+
+
+
+
+ Automatically solve captchas
+
+
+
+
+ Automatically solve captchas
+
+
+
+
+
+ All session configuration options
+
+
+
+
+ All session configuration options
+
+
+
+
+
+ Use persistent browser profiles
+
+
+
+
+ Use persistent browser profiles
+
+
diff --git a/docs/src/features/sessions/captcha-solving.mdx b/docs/src/features/sessions/captcha-solving.mdx
index 02bbf69e4..c5520f878 100644
--- a/docs/src/features/sessions/captcha-solving.mdx
+++ b/docs/src/features/sessions/captcha-solving.mdx
@@ -193,19 +193,47 @@ CAPTCHA solving incurs additional costs based on the number of captchas solved.
## Next Steps
-
- Learn about Chrome and other browsers
-
-
-
- Combine with anti-detection features
-
-
-
- Use proxies with captcha solving
-
-
-
- Watch captcha solving in real-time
-
+
+
+ Learn about Chrome and other browsers
+
+
+
+
+ Learn about Chrome and other browsers
+
+
+
+
+
+ Combine with anti-detection features
+
+
+
+
+ Combine with anti-detection features
+
+
+
+
+
+ Use proxies with captcha solving
+
+
+
+
+ Use proxies with captcha solving
+
+
+
+
+
+ Watch captcha solving in real-time
+
+
+
+
+ Watch captcha solving in real-time
+
+
diff --git a/docs/src/features/sessions/cloudflare-web-bot-auth.mdx b/docs/src/features/sessions/cloudflare-web-bot-auth.mdx
index e930ab087..c9e292cbb 100644
--- a/docs/src/features/sessions/cloudflare-web-bot-auth.mdx
+++ b/docs/src/features/sessions/cloudflare-web-bot-auth.mdx
@@ -54,7 +54,7 @@ The [webbotauth.io/test](https://webbotauth.io/test) page is a handy diagnostic
- **Data pipelines** — collect data from protected endpoints without manual intervention
- Web bot auth proves your identity cryptographically, which is fundamentally different from [stealth mode](/features/sessions/stealth-mode) (which hides your identity) or [proxies](/features/sessions/proxies) (which mask your IP). These approaches are complementary — combining them gives you the broadest coverage.
+ Web bot auth proves your identity cryptographically, which is fundamentally different from [stealth mode](/features/sessions/stealth-mode)[stealth mode](/features/sessions/stealth-mode.md) (which hides your identity) or [proxies](/features/sessions/proxies)[proxies](/features/sessions/proxies.md) (which mask your IP). These approaches are complementary — combining them gives you the broadest coverage.
## Limitations
@@ -73,19 +73,47 @@ The [webbotauth.io/test](https://webbotauth.io/test) page is a handy diagnostic
## Next Steps
-
- Combine with anti-detection features
-
-
-
- Route traffic through residential proxies
-
-
-
- Automatically solve captchas
-
-
-
- Explore all session options
-
+
+
+ Combine with anti-detection features
+
+
+
+
+ Combine with anti-detection features
+
+
+
+
+
+ Route traffic through residential proxies
+
+
+
+
+ Route traffic through residential proxies
+
+
+
+
+
+ Automatically solve captchas
+
+
+
+
+ Automatically solve captchas
+
+
+
+
+
+ Explore all session options
+
+
+
+
+ Explore all session options
+
+
diff --git a/docs/src/features/sessions/configuration.mdx b/docs/src/features/sessions/configuration.mdx
index f67c21ab5..ab71568d7 100644
--- a/docs/src/features/sessions/configuration.mdx
+++ b/docs/src/features/sessions/configuration.mdx
@@ -122,7 +122,7 @@ Route sessions through residential proxies for geo-targeting and enhanced stealt
- See the [Proxies Guide](/features/sessions/proxies) for country-specific proxies, custom proxies, and troubleshooting.
+ See the [Proxies Guide](/features/sessions/proxies)[Proxies Guide](/features/sessions/proxies.md) for country-specific proxies, custom proxies, and troubleshooting.
## Captcha Solving
@@ -132,7 +132,7 @@ Automatically detect and solve captchas during automation:
- See the [Captcha Solving](/features/sessions/captcha-solving) guide for more details.
+ See the [Captcha Solving](/features/sessions/captcha-solving)[Captcha Solving](/features/sessions/captcha-solving.md) guide for more details.
## Session Timeout
@@ -156,7 +156,7 @@ Automatically load and save cookies across sessions using the `cookie_file` para
- See the [Cookies Guide](/features/sessions/cookies) for manual cookie management and best practices.
+ See the [Cookies Guide](/features/sessions/cookies)[Cookies Guide](/features/sessions/cookies.md) for manual cookie management and best practices.
## External Providers (CDP)
@@ -166,25 +166,53 @@ Use Notte with external browser providers like Kernel.sh:
- See the [Kernel.sh Integration](/integrations/kernel) guide for complete setup instructions.
+ See the [Kernel.sh Integration](/integrations/kernel)[Kernel.sh Integration](/integrations/kernel.md) guide for complete setup instructions.
## Next Steps
-
- Watch recorded sessions and debug issues
-
-
-
- Configure proxies and anti-detection features
-
-
-
- Watch sessions in real-time
-
-
-
- Persist authentication across sessions
-
+
+
+ Watch recorded sessions and debug issues
+
+
+
+
+ Watch recorded sessions and debug issues
+
+
+
+
+
+ Configure proxies and anti-detection features
+
+
+
+
+ Configure proxies and anti-detection features
+
+
+
+
+
+ Watch sessions in real-time
+
+
+
+
+ Watch sessions in real-time
+
+
+
+
+
+ Persist authentication across sessions
+
+
+
+
+ Persist authentication across sessions
+
+
diff --git a/docs/src/features/sessions/cookies.mdx b/docs/src/features/sessions/cookies.mdx
index a14aa17b9..9f04faee6 100644
--- a/docs/src/features/sessions/cookies.mdx
+++ b/docs/src/features/sessions/cookies.mdx
@@ -92,19 +92,47 @@ Extract cookies programmatically:
## Next Steps
-
- Configure sessions with all options
-
-
-
- Persist full browser state
-
-
-
- Secure credential storage
-
-
-
- Manage session states
-
+
+
+ Configure sessions with all options
+
+
+
+
+ Configure sessions with all options
+
+
+
+
+
+ Persist full browser state
+
+
+
+
+ Persist full browser state
+
+
+
+
+
+ Secure credential storage
+
+
+
+
+ Secure credential storage
+
+
+
+
+
+ Manage session states
+
+
+
+
+ Manage session states
+
+
diff --git a/docs/src/features/sessions/external-providers.mdx b/docs/src/features/sessions/external-providers.mdx
index 723b13556..fdde5ccb5 100644
--- a/docs/src/features/sessions/external-providers.mdx
+++ b/docs/src/features/sessions/external-providers.mdx
@@ -33,7 +33,7 @@ Kernel.sh is a browser infrastructure platform optimized for AI agents. Here's h
- See the [Kernel.sh Integration](/integrations/kernel) guide for complete setup instructions and examples.
+ See the [Kernel.sh Integration](/integrations/kernel)[Kernel.sh Integration](/integrations/kernel.md) guide for complete setup instructions and examples.
## BrowserBase Integration
@@ -181,19 +181,47 @@ External providers typically charge per session or minute. Monitor usage:
## Next Steps
-
- Complete Kernel.sh integration guide
-
-
-
- Learn about session configuration options
-
-
-
- Use Playwright directly with sessions
-
-
-
- Manage session states
-
+
+
+ Complete Kernel.sh integration guide
+
+
+
+
+ Complete Kernel.sh integration guide
+
+
+
+
+
+ Learn about session configuration options
+
+
+
+
+ Learn about session configuration options
+
+
+
+
+
+ Use Playwright directly with sessions
+
+
+
+
+ Use Playwright directly with sessions
+
+
+
+
+
+ Manage session states
+
+
+
+
+ Manage session states
+
+
diff --git a/docs/src/features/sessions/lifecycle.mdx b/docs/src/features/sessions/lifecycle.mdx
index fcb0f3569..883ac3534 100644
--- a/docs/src/features/sessions/lifecycle.mdx
+++ b/docs/src/features/sessions/lifecycle.mdx
@@ -185,19 +185,47 @@ Even with context managers, handle interrupts:
## Next Steps
-
- Configure sessions with advanced options
-
-
-
- Record and replay session activity
-
-
-
- Watch sessions in real-time
-
-
-
- Persist authentication across sessions
-
+
+
+ Configure sessions with advanced options
+
+
+
+
+ Configure sessions with advanced options
+
+
+
+
+
+ Record and replay session activity
+
+
+
+
+ Record and replay session activity
+
+
+
+
+
+ Watch sessions in real-time
+
+
+
+
+ Watch sessions in real-time
+
+
+
+
+
+ Persist authentication across sessions
+
+
+
+
+ Persist authentication across sessions
+
+
diff --git a/docs/src/features/sessions/live-view.mdx b/docs/src/features/sessions/live-view.mdx
index a710ad557..bef80c101 100644
--- a/docs/src/features/sessions/live-view.mdx
+++ b/docs/src/features/sessions/live-view.mdx
@@ -106,19 +106,47 @@ Open multiple viewer types simultaneously:
## Next Steps
-
- Record sessions for later analysis
-
-
-
- Connect with Playwright via CDP
-
-
-
- Understand session management
-
-
-
- Configure session parameters
-
+
+
+ Record sessions for later analysis
+
+
+
+
+ Record sessions for later analysis
+
+
+
+
+
+ Connect with Playwright via CDP
+
+
+
+
+ Connect with Playwright via CDP
+
+
+
+
+
+ Understand session management
+
+
+
+
+ Understand session management
+
+
+
+
+
+ Configure session parameters
+
+
+
+
+ Configure session parameters
+
+
diff --git a/docs/src/features/sessions/playwright-vs-notte.mdx b/docs/src/features/sessions/playwright-vs-notte.mdx
index a43323fcc..36697daaf 100644
--- a/docs/src/features/sessions/playwright-vs-notte.mdx
+++ b/docs/src/features/sessions/playwright-vs-notte.mdx
@@ -96,19 +96,47 @@ You can combine both methods in the same session:
## Next Steps
-
- Learn how to use Playwright with Notte sessions
-
-
-
- Configure sessions with advanced options
-
-
-
- Explore all available Notte actions
-
-
-
- Debug with session replays
-
+
+
+ Learn how to use Playwright with Notte sessions
+
+
+
+
+ Learn how to use Playwright with Notte sessions
+
+
+
+
+
+ Configure sessions with advanced options
+
+
+
+
+ Configure sessions with advanced options
+
+
+
+
+
+ Explore all available Notte actions
+
+
+
+
+ Explore all available Notte actions
+
+
+
+
+
+ Debug with session replays
+
+
+
+
+ Debug with session replays
+
+
diff --git a/docs/src/features/sessions/playwright.mdx b/docs/src/features/sessions/playwright.mdx
index 490c0bbed..df2ced44e 100644
--- a/docs/src/features/sessions/playwright.mdx
+++ b/docs/src/features/sessions/playwright.mdx
@@ -102,19 +102,47 @@ For most automation tasks, `session.page` (which is already Playwright-compatibl
## Next Steps
-
- Use Puppeteer with Notte sessions
-
-
-
- Connect Notte to Kernel.sh and other providers
-
-
-
- Configure session settings and features
-
-
-
- Connect to Kernel.sh and other providers
-
+
+
+ Use Puppeteer with Notte sessions
+
+
+
+
+ Use Puppeteer with Notte sessions
+
+
+
+
+
+ Connect Notte to Kernel.sh and other providers
+
+
+
+
+ Connect Notte to Kernel.sh and other providers
+
+
+
+
+
+ Configure session settings and features
+
+
+
+
+ Configure session settings and features
+
+
+
+
+
+ Connect to Kernel.sh and other providers
+
+
+
+
+ Connect to Kernel.sh and other providers
+
+
diff --git a/docs/src/features/sessions/puppeteer.mdx b/docs/src/features/sessions/puppeteer.mdx
index e9098cfea..7a7cb5573 100644
--- a/docs/src/features/sessions/puppeteer.mdx
+++ b/docs/src/features/sessions/puppeteer.mdx
@@ -141,17 +141,38 @@ For Python-based automation, consider using Playwright with Notte instead, as it
## Next Steps
-
- Use Playwright with Notte sessions
-
-
-
- Use Selenium with Notte sessions
-
-
-
- Connect Notte to Kernel.sh and other providers
-
+
+
+ Use Playwright with Notte sessions
+
+
+
+
+ Use Playwright with Notte sessions
+
+
+
+
+
+ Use Selenium with Notte sessions
+
+
+
+
+ Use Selenium with Notte sessions
+
+
+
+
+
+ Connect Notte to Kernel.sh and other providers
+
+
+
+
+ Connect Notte to Kernel.sh and other providers
+
+
Explore the Notte REST API
diff --git a/docs/src/features/sessions/recordings.mdx b/docs/src/features/sessions/recordings.mdx
index 13542daa2..ed6cbf024 100644
--- a/docs/src/features/sessions/recordings.mdx
+++ b/docs/src/features/sessions/recordings.mdx
@@ -107,19 +107,47 @@ Recordings are:
## Next Steps
-
- Watch sessions in real-time
-
-
-
- Understand session management
-
-
-
- Connect with Playwright via CDP
-
-
-
- Agent-specific replay features
-
+
+
+ Watch sessions in real-time
+
+
+
+
+ Watch sessions in real-time
+
+
+
+
+
+ Understand session management
+
+
+
+
+ Understand session management
+
+
+
+
+
+ Connect with Playwright via CDP
+
+
+
+
+ Connect with Playwright via CDP
+
+
+
+
+
+ Agent-specific replay features
+
+
+
+
+ Agent-specific replay features
+
+
diff --git a/docs/src/features/sessions/selenium.mdx b/docs/src/features/sessions/selenium.mdx
index 253a1317e..5bd999027 100644
--- a/docs/src/features/sessions/selenium.mdx
+++ b/docs/src/features/sessions/selenium.mdx
@@ -164,19 +164,47 @@ Wrap operations in try-except blocks:
## Next Steps
-
- Use Playwright with Notte (Recommended)
-
-
-
- Use Puppeteer with Notte sessions
-
-
-
- Configure session settings
-
-
-
- Connect Notte to Kernel.sh and other providers
-
+
+
+ Use Playwright with Notte (Recommended)
+
+
+
+
+ Use Playwright with Notte (Recommended)
+
+
+
+
+
+ Use Puppeteer with Notte sessions
+
+
+
+
+ Use Puppeteer with Notte sessions
+
+
+
+
+
+ Configure session settings
+
+
+
+
+ Configure session settings
+
+
+
+
+
+ Connect Notte to Kernel.sh and other providers
+
+
+
+
+ Connect Notte to Kernel.sh and other providers
+
+
diff --git a/docs/src/features/sessions/stealth-mode.mdx b/docs/src/features/sessions/stealth-mode.mdx
index 306445b78..296184124 100644
--- a/docs/src/features/sessions/stealth-mode.mdx
+++ b/docs/src/features/sessions/stealth-mode.mdx
@@ -158,19 +158,47 @@ Combine stealth with automatic captcha solving for comprehensive protection:
## Next Steps
-
- Configure residential proxies
-
-
-
- Automatically solve captchas
-
-
-
- Choose the right browser engine
-
-
-
- Run sessions in different regions
-
+
+
+ Configure residential proxies
+
+
+
+
+ Configure residential proxies
+
+
+
+
+
+ Automatically solve captchas
+
+
+
+
+ Automatically solve captchas
+
+
+
+
+
+ Choose the right browser engine
+
+
+
+
+ Choose the right browser engine
+
+
+
+
+
+ Run sessions in different regions
+
+
+
+
+ Run sessions in different regions
+
+
diff --git a/docs/src/guides/scraping.mdx b/docs/src/guides/scraping.mdx
index ee72e264f..8cd256702 100644
--- a/docs/src/guides/scraping.mdx
+++ b/docs/src/guides/scraping.mdx
@@ -11,7 +11,7 @@ import SchemaDesign from '/snippets/guides/schema_design.mdx';
## Scrape any page and get formatted data
The Scrape API allows you to get the data you want from web pages using a single call. You can scrape page content and capture its data in various formats.
-For detailed usage, checkout the [Scrape API Reference](/sdk-reference/remotesession/scrape).
+For detailed usage, checkout the [Scrape API Reference](/sdk-reference/remotesession/scrape)[Scrape API Reference](/sdk-reference/remotesession/scrape.md).
## Basic Markdown Scraping
diff --git a/docs/src/index.mdx b/docs/src/index.mdx
index d2125d32f..3faa80b7f 100644
--- a/docs/src/index.mdx
+++ b/docs/src/index.mdx
@@ -38,41 +38,83 @@ The shortest path to a working Notte integration is to create a cloud browser se
-
- Continue to the full quickstart for Agents, Scraping, and additional examples.
-
-
-
- Start from the SDK entrypoint for Sessions, Agents, Vaults, Personas, and Functions.
-
+
+
+ Continue to the full quickstart for Agents, Scraping, and additional examples.
+
+
+
+
+ Continue to the full quickstart for Agents, Scraping, and additional examples.
+
+
+
+
+
+ Start from the SDK entrypoint for Sessions, Agents, Vaults, Personas, and Functions.
+
+
+
+
+ Start from the SDK entrypoint for Sessions, Agents, Vaults, Personas, and Functions.
+
+
Access the machine-readable API contract directly from the Notte API.
-For the API surface, see [API Reference](/api-reference/authentication); for the SDK entrypoint, see [SDK Reference](/sdk-reference/manual/index).
+For the API surface, see [API Reference](/api-reference/authentication)[API Reference](/api-reference/authentication.md); for the SDK entrypoint, see [SDK Reference](/sdk-reference/manual/index)[SDK Reference](/sdk-reference/manual/index.md).
## Platform
The building blocks for your web agents and automations.
-
- Remote browser infrastructure. Fast, scalable browsers with anti-detection, proxies, and captcha solving.
-
-
-
- AI web agents & automation framework. Build agents that browse, understand, and complete tasks autonomously.
-
-
-
- Deploy your scripts as API endpoints. Serverless automations and agents you can invoke and schedule anywhere.
-
-
-
- Extract structured data with AI. Turn any website into structured data. Use agents or direct scrape endpoints.
-
+
+
+ Remote browser infrastructure. Fast, scalable browsers with anti-detection, proxies, and captcha solving.
+
+
+
+
+ Remote browser infrastructure. Fast, scalable browsers with anti-detection, proxies, and captcha solving.
+
+
+
+
+
+ AI web agents & automation framework. Build agents that browse, understand, and complete tasks autonomously.
+
+
+
+
+ AI web agents & automation framework. Build agents that browse, understand, and complete tasks autonomously.
+
+
+
+
+
+ Deploy your scripts as API endpoints. Serverless automations and agents you can invoke and schedule anywhere.
+
+
+
+
+ Deploy your scripts as API endpoints. Serverless automations and agents you can invoke and schedule anywhere.
+
+
+
+
+
+ Extract structured data with AI. Turn any website into structured data. Use agents or direct scrape endpoints.
+
+
+
+
+ Extract structured data with AI. Turn any website into structured data. Use agents or direct scrape endpoints.
+
+
## Products
@@ -80,17 +122,38 @@ The building blocks for your web agents and automations.
Tools to speed up the build, debug, and deploy automations lifecycle.
-
- Create automation scripts with an AI conversation.
-
-
-
- Record workflows and get automation scripts automatically.
-
-
-
- Edit & debug in live browser enabled IDE and one-click deploy.
-
+
+
+ Create automation scripts with an AI conversation.
+
+
+
+
+ Create automation scripts with an AI conversation.
+
+
+
+
+
+ Record workflows and get automation scripts automatically.
+
+
+
+
+ Record workflows and get automation scripts automatically.
+
+
+
+
+
+ Edit & debug in live browser enabled IDE and one-click deploy.
+
+
+
+
+ Edit & debug in live browser enabled IDE and one-click deploy.
+
+
## Agent Tools
@@ -98,11 +161,25 @@ Tools to speed up the build, debug, and deploy automations lifecycle.
Empower your agents with secure credentials and authentic identities.
-
- Secure credential storage. Keep passwords, API keys, and sensitive data encrypted.
-
-
-
- Emails and phone numbers for agents. Verified identities to interact authentically across platforms.
-
+
+
+ Secure credential storage. Keep passwords, API keys, and sensitive data encrypted.
+
+
+
+
+ Secure credential storage. Keep passwords, API keys, and sensitive data encrypted.
+
+
+
+
+
+ Emails and phone numbers for agents. Verified identities to interact authentically across platforms.
+
+
+
+
+ Emails and phone numbers for agents. Verified identities to interact authentically across platforms.
+
+
diff --git a/docs/src/integrations/massive.mdx b/docs/src/integrations/massive.mdx
index e312c3033..287092664 100644
--- a/docs/src/integrations/massive.mdx
+++ b/docs/src/integrations/massive.mdx
@@ -11,7 +11,7 @@ import MassiveComplete from '/snippets/integrations/massive_complete.mdx';
-[Massive](https://www.joinmassive.com/) is a residential proxy provider offering ethically-sourced IPs across 195+ countries. If you have a Massive account (or are considering one), you can plug their proxies directly into your Notte sessions using the [`ExternalProxy`](/features/sessions/proxies#custom-proxies) type.
+[Massive](https://www.joinmassive.com/) is a residential proxy provider offering ethically-sourced IPs across 195+ countries. If you have a Massive account (or are considering one), you can plug their proxies directly into your Notte sessions using the [`ExternalProxy`](/features/sessions/proxies#custom-proxies)[`ExternalProxy`](/features/sessions/proxies.md#custom-proxies) type.
This is useful when you need residential IP rotation, geo-targeted traffic, or want to route your browser automation through a dedicated proxy provider.
diff --git a/docs/src/integrations/stagehand.mdx b/docs/src/integrations/stagehand.mdx
index bb7e6eac5..4fb6ec371 100644
--- a/docs/src/integrations/stagehand.mdx
+++ b/docs/src/integrations/stagehand.mdx
@@ -51,29 +51,57 @@ MODEL_API_KEY=your-openai-api-key
## Benefits of using Notte with Stagehand
-- **Anti-detection**: Notte's [stealth mode](/features/sessions/stealth-mode) keeps your automations undetected
-- **Captcha solving**: Built-in [captcha solving](/features/sessions/captcha-solving) handles CAPTCHAs automatically
-- **Residential proxies**: Route traffic through [residential proxies](/features/sessions/proxies) in 195+ countries
-- **Live view**: Debug automations in real-time with [live view](/features/sessions/live-view)
-- **Session replay**: Record and review runs with [session recordings](/features/sessions/recordings)
+- **Anti-detection**: Notte's [stealth mode](/features/sessions/stealth-mode)[stealth mode](/features/sessions/stealth-mode.md) keeps your automations undetected
+- **Captcha solving**: Built-in [captcha solving](/features/sessions/captcha-solving)[captcha solving](/features/sessions/captcha-solving.md) handles CAPTCHAs automatically
+- **Residential proxies**: Route traffic through [residential proxies](/features/sessions/proxies)[residential proxies](/features/sessions/proxies.md) in 195+ countries
+- **Live view**: Debug automations in real-time with [live view](/features/sessions/live-view)[live view](/features/sessions/live-view.md)
+- **Session replay**: Record and review runs with [session recordings](/features/sessions/recordings)[session recordings](/features/sessions/recordings.md)
- **No local browser**: Run automations without installing or maintaining browsers locally
## Next steps
-
- Customize browser settings, proxies, and more
-
-
-
- Configure anti-detection for your automations
-
-
-
- Learn about CDP connections and external browsers
-
-
-
- Debug your automations in real-time
-
+
+
+ Customize browser settings, proxies, and more
+
+
+
+
+ Customize browser settings, proxies, and more
+
+
+
+
+
+ Configure anti-detection for your automations
+
+
+
+
+ Configure anti-detection for your automations
+
+
+
+
+
+ Learn about CDP connections and external browsers
+
+
+
+
+ Learn about CDP connections and external browsers
+
+
+
+
+
+ Debug your automations in real-time
+
+
+
+
+ Debug your automations in real-time
+
+
diff --git a/docs/src/pricing.mdx b/docs/src/pricing.mdx
index ad249734d..13c00b665 100644
--- a/docs/src/pricing.mdx
+++ b/docs/src/pricing.mdx
@@ -81,6 +81,13 @@ description: Simple usage-based pricing with included hours on every plan
| Credit Packs | $100 / $200 / $500 - lifetime credits that don't expire |
| Fixed IPs | [Contact us](https://cal.com/team/notte/demo) |
-
- View the full breakdown of rate limits, quotas, and feature availability.
-
+
+
+ View the full breakdown of rate limits, quotas, and feature availability.
+
+
+
+
+ View the full breakdown of rate limits, quotas, and feature availability.
+
+
diff --git a/docs/src/product/anything-api.mdx b/docs/src/product/anything-api.mdx
index 961444373..40324505d 100644
--- a/docs/src/product/anything-api.mdx
+++ b/docs/src/product/anything-api.mdx
@@ -26,7 +26,7 @@ curl -N -X POST https://anything.notte.cc/api/anything/start \
-d '{"query": "fetch the top 3 hacker news posts"}'
```
-The API streams back SSE events as the agent works. When it's done, the final `done` event contains the `function_id` of the created function, which you can re-run later via the [Notte CLI](https://github.com/nottelabs/notte-cli) or [SDK](/quickstart).
+The API streams back SSE events as the agent works. When it's done, the final `done` event contains the `function_id` of the created function, which you can re-run later via the [Notte CLI](https://github.com/nottelabs/notte-cli) or [SDK](/quickstart)[SDK](/quickstart.md).
## Request
diff --git a/docs/src/quickstart.mdx b/docs/src/quickstart.mdx
index 2246564ef..4da83d63f 100644
--- a/docs/src/quickstart.mdx
+++ b/docs/src/quickstart.mdx
@@ -51,9 +51,16 @@ Create a cloud browser session and control it with Playwright over CDP.
-
- Proxies, anti-detection, captcha solving, and more.
-
+
+
+ Proxies, anti-detection, captcha solving, and more.
+
+
+
+
+ Proxies, anti-detection, captcha solving, and more.
+
+
---
@@ -63,9 +70,16 @@ Run an AI agent that browses and completes tasks autonomously.
-
- Models, reasoning, structured output, and more.
-
+
+
+ Models, reasoning, structured output, and more.
+
+
+
+
+ Models, reasoning, structured output, and more.
+
+
---
@@ -75,6 +89,13 @@ Extract structured data from any page using AI.
-
- Structured extraction, selectors, and more.
-
+
+
+ Structured extraction, selectors, and more.
+
+
+
+
+ Structured extraction, selectors, and more.
+
+
diff --git a/docs/src/rate-limits.mdx b/docs/src/rate-limits.mdx
index f08d2db34..7ff03afea 100644
--- a/docs/src/rate-limits.mdx
+++ b/docs/src/rate-limits.mdx
@@ -16,8 +16,8 @@ description: Feature limits and quotas by plan
| | Free | Developer | Startup | Enterprise |
|--|------|-----------|---------|------------|
| **Browser Profiles** | — | ✓ | ✓ | ✓ |
-| **[Residential Proxies](/features/sessions/proxies#built-in-proxies)** | — | ✓ | ✓ | ✓ |
-| **[Captcha Solving](/features/sessions/captcha-solving)** | — | ✓ | ✓ | ✓ |
+| **[Residential Proxies](/features/sessions/proxies#built-in-proxies)[Residential Proxies](/features/sessions/proxies.md#built-in-proxies)** | — | ✓ | ✓ | ✓ |
+| **[Captcha Solving](/features/sessions/captcha-solving)[Captcha Solving](/features/sessions/captcha-solving.md)** | — | ✓ | ✓ | ✓ |
| **Files I/O** | — | ✓ | ✓ | ✓ |
| **Cronjobs** | — | ✓ | ✓ | ✓ |
@@ -25,14 +25,14 @@ description: Feature limits and quotas by plan
| | Free | Developer | Startup | Enterprise |
|--|------|-----------|---------|------------|
-| **[Vaults](/concepts/vaults)** | 1 | 2 | 5 | 10+ |
-| **[Personas](/concepts/personas)** | 1 | 10 | 100 | 100+ |
+| **[Vaults](/concepts/vaults)[Vaults](/concepts/vaults.md)** | 1 | 2 | 5 | 10+ |
+| **[Personas](/concepts/personas)[Personas](/concepts/personas.md)** | 1 | 10 | 100 | 100+ |
## BYO (Bring Your Own)
| | Free | Developer | Startup | Enterprise |
|--|------|-----------|---------|------------|
-| **[Custom Proxies](/features/sessions/proxies#custom-proxies)** | — | — | ✓ | ✓ |
+| **[Custom Proxies](/features/sessions/proxies#custom-proxies)[Custom Proxies](/features/sessions/proxies.md#custom-proxies)** | — | — | ✓ | ✓ |
| **Model Keys** | — | — | ✓ | ✓ |
| **Cloud (On-Prem)** | — | — | — | ✓ |
diff --git a/docs/src/scripts/wrap_md_links.py b/docs/src/scripts/wrap_md_links.py
new file mode 100644
index 000000000..e1f4684ec
--- /dev/null
+++ b/docs/src/scripts/wrap_md_links.py
@@ -0,0 +1,278 @@
+#!/usr/bin/env python3
+"""One-shot preprocessor that wraps internal links in hand-authored MDX with
+/ pairs so the .md export
+emits .md-suffixed hrefs while the HTML render is unchanged.
+
+Scope: hand-authored MDX under docs/src. Skips sdk-reference/ (sphinx_mintlify
+auto-gen, handled separately) and snippets/ (sniptest auto-gen). Also skips
+any file starting with the sniptest auto-gen marker as a safety belt.
+
+Transforms:
+ - Inline markdown links: [text](/path) -> [text](/path)
+ [text](/path.md)
+ - JSX Card components: ... -> wrapped pair, agent variant gets .md href.
+
+Skips:
+ - External URLs (http://, https://, mailto:, tel:)
+ - Anchor-only links (#foo)
+ - Links inside fenced code blocks
+ - Links/cards already wrapped in
+
+Usage:
+ python docs/src/scripts/wrap_md_links.py --dry-run # preview diff stats
+ python docs/src/scripts/wrap_md_links.py # write in place
+ python docs/src/scripts/wrap_md_links.py --path foo.mdx # single file
+"""
+
+from __future__ import annotations
+
+import argparse
+import re
+import sys
+from pathlib import Path
+
+ROOT = Path(__file__).resolve().parent.parent # docs/src
+
+# sdk-reference/ is intentionally NOT excluded: the bulk is sphinx_mintlify
+# auto-gen (already wrapped post-regen, so idempotency skips it) and the
+# rest is hand-authored (sdk-reference/*.mdx, sdk-reference/manual/**) which
+# we DO want to wrap.
+EXCLUDE_DIR_NAMES = {"snippets", "images", "logo", "sniptest", "testers", "tests", "scripts"}
+AUTO_GEN_MARKER = "{/* Auto-generated mdx file. Do not edit! */}"
+
+# Hrefs whose .md export doesn't exist on the deployed site, so wrapping
+# would produce broken links. /api-reference is OpenAPI-rendered by Mintlify
+# at runtime — only the 3 hand-authored subpages have .md exports.
+EXCLUDE_HREFS = {"/api-reference"}
+
+VIS_HUMANS_OPEN = ''
+VIS_AGENTS_OPEN = ''
+VIS_CLOSE = ""
+
+# Negative lookbehind on `!` so we don't match the `[alt](src)` portion of
+# an `` image — those should stay as plain markdown images.
+INLINE_LINK_RE = re.compile(r"(?[^\]\n]+)\]\((?P/[^)\s]*)\)")
+CARD_OPEN_RE = re.compile(r']*?\shref="(?P/[^"]+)"[^>]*>')
+VIS_OPEN_RE = re.compile(r'')
+
+
+def is_external(path: str) -> bool:
+ return "://" in path or path.startswith(("mailto:", "tel:", "#"))
+
+
+def is_excluded(path: str) -> bool:
+ """Path resolves to a page that doesn't have a working .md export."""
+ base = path.split("#", 1)[0].split("?", 1)[0]
+ return base in EXCLUDE_HREFS
+
+
+def add_md_suffix(path: str) -> str:
+ """Insert .md before any anchor or query string."""
+ rest, anchor = (path.split("#", 1) + [""])[:2]
+ rest, query = (rest.split("?", 1) + [""])[:2]
+ if rest.endswith(".md"):
+ return path
+ out = rest + ".md"
+ if query:
+ out += "?" + query
+ if anchor:
+ out += "#" + anchor
+ return out
+
+
+def find_code_regions(text: str) -> list[tuple[int, int]]:
+ regions: list[tuple[int, int]] = []
+ in_fence = False
+ fence_start = 0
+ pos = 0
+ for line in text.split("\n"):
+ line_end = pos + len(line) + 1
+ if line.lstrip().startswith("```"):
+ if not in_fence:
+ in_fence = True
+ fence_start = pos
+ else:
+ regions.append((fence_start, line_end))
+ in_fence = False
+ pos = line_end
+ if in_fence:
+ regions.append((fence_start, pos))
+ return regions
+
+
+def find_visibility_regions(text: str) -> list[tuple[int, int]]:
+ regions: list[tuple[int, int]] = []
+ pos = 0
+ while True:
+ m = VIS_OPEN_RE.search(text, pos)
+ if not m:
+ break
+ end_idx = text.find(VIS_CLOSE, m.end())
+ if end_idx == -1:
+ break
+ regions.append((m.start(), end_idx + len(VIS_CLOSE)))
+ pos = end_idx + len(VIS_CLOSE)
+ return regions
+
+
+def in_any_region(idx: int, regions: list[tuple[int, int]]) -> bool:
+ return any(s <= idx < e for s, e in regions)
+
+
+def overlaps_any_region(start: int, end: int, regions: list[tuple[int, int]]) -> bool:
+ """True if [start, end) overlaps any region. Catches matches that span
+ a Visibility-wrapper boundary, which happens when sphinx_mintlify emits
+ e.g. `list[..., ...]` —
+ the outer `[` is unwrapped but the inner `]` is inside a wrapper."""
+ return any(s < end and start < e for s, e in regions)
+
+
+def transform_inline_links(text: str) -> tuple[str, int]:
+ code_regions = find_code_regions(text)
+ vis_regions = find_visibility_regions(text)
+ out: list[str] = []
+ last = 0
+ count = 0
+ for m in INLINE_LINK_RE.finditer(text):
+ idx = m.start()
+ if in_any_region(idx, code_regions):
+ continue
+ # Use overlap (not just start) for vis_regions: a match that begins
+ # outside a wrapper but extends into one is matching across boundaries.
+ if overlaps_any_region(idx, m.end(), vis_regions):
+ continue
+ path = m.group("path")
+ if is_external(path) or is_excluded(path):
+ continue
+ text_part = m.group("text")
+ md_path = add_md_suffix(path)
+ replacement = (
+ f"{VIS_HUMANS_OPEN}[{text_part}]({path}){VIS_CLOSE}{VIS_AGENTS_OPEN}[{text_part}]({md_path}){VIS_CLOSE}"
+ )
+ out.append(text[last:idx])
+ out.append(replacement)
+ last = m.end()
+ count += 1
+ out.append(text[last:])
+ return "".join(out), count
+
+
+def find_matching_card_close(text: str, after: int) -> int:
+ """Return the start index of the that closes the open at `after`.
+ Returns -1 if there's a nested ", after)
+ if close_idx == -1:
+ return -1
+ # Reject nested Cards (none expected in this corpus, but be safe).
+ if re.search(r" str:
+ """Re-indent a Card block so it sits one level deeper than `base_indent`.
+ First line gets `base_indent + " "`; subsequent lines get +2 added to the
+ indent they already had."""
+ inner = base_indent + " "
+ lines = block.split("\n")
+ out = [inner + lines[0]]
+ for ln in lines[1:]:
+ out.append(" " + ln)
+ return "\n".join(out)
+
+
+def transform_cards(text: str) -> tuple[str, int]:
+ code_regions = find_code_regions(text)
+ vis_regions = find_visibility_regions(text)
+ matches = list(CARD_OPEN_RE.finditer(text))
+ matches.reverse() # transform end-to-start so earlier offsets stay valid
+ new = text
+ count = 0
+ for m in matches:
+ open_start = m.start()
+ if in_any_region(open_start, code_regions) or in_any_region(open_start, vis_regions):
+ continue
+ path = m.group("path")
+ if is_external(path) or is_excluded(path):
+ continue
+ close_start = find_matching_card_close(new, m.end())
+ if close_start == -1:
+ continue
+ close_end = close_start + len("")
+ block = new[open_start:close_end]
+ # Determine the file indent of the line.
+ line_start = new.rfind("\n", 0, open_start) + 1
+ indent = new[line_start:open_start]
+ if indent.strip():
+ # Card open isn't at the start of a (whitespace-only) prefix; bail.
+ continue
+
+ md_path = add_md_suffix(path)
+ agent_block = block.replace(f'href="{path}"', f'href="{md_path}"', 1)
+ human_indented = reindent_block(block, indent)
+ agent_indented = reindent_block(agent_block, indent)
+ replacement = (
+ f"{VIS_HUMANS_OPEN}\n"
+ f"{human_indented}\n"
+ f"{indent}{VIS_CLOSE}\n"
+ f"{indent}{VIS_AGENTS_OPEN}\n"
+ f"{agent_indented}\n"
+ f"{indent}{VIS_CLOSE}"
+ )
+ new = new[:open_start] + replacement + new[close_end:]
+ count += 1
+ return new, count
+
+
+def is_in_scope(path: Path) -> bool:
+ rel = path.relative_to(ROOT)
+ if any(part in EXCLUDE_DIR_NAMES for part in rel.parts):
+ return False
+ return True
+
+
+def is_auto_generated(content: str) -> bool:
+ return content.lstrip().startswith(AUTO_GEN_MARKER)
+
+
+def process_file(path: Path, *, dry_run: bool) -> tuple[int, int]:
+ content = path.read_text()
+ if is_auto_generated(content):
+ return 0, 0
+ new, n_links = transform_inline_links(content)
+ new, n_cards = transform_cards(new)
+ if (n_links or n_cards) and not dry_run and new != content:
+ path.write_text(new)
+ return n_links, n_cards
+
+
+def main() -> int:
+ p = argparse.ArgumentParser()
+ p.add_argument("--dry-run", action="store_true", help="don't write files")
+ p.add_argument("--path", help="process a single file (relative to docs/src)")
+ args = p.parse_args()
+
+ if args.path:
+ targets = [ROOT / args.path]
+ else:
+ targets = [p for p in ROOT.rglob("*.mdx") if is_in_scope(p)]
+
+ total_links = 0
+ total_cards = 0
+ files_changed = 0
+ for f in sorted(targets):
+ n_links, n_cards = process_file(f, dry_run=args.dry_run)
+ if n_links or n_cards:
+ files_changed += 1
+ rel = f.relative_to(ROOT)
+ print(f" {rel}: {n_links} links, {n_cards} cards")
+ total_links += n_links
+ total_cards += n_cards
+
+ verb = "would change" if args.dry_run else "changed"
+ print(f"\n{files_changed} file(s) {verb} | {total_links} inline links, {total_cards} cards wrapped")
+ return 0
+
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/docs/src/sdk-reference/agentsclient/arun.mdx b/docs/src/sdk-reference/agentsclient/arun.mdx
index d288092e1..8e8a975f1 100644
--- a/docs/src/sdk-reference/agentsclient/arun.mdx
+++ b/docs/src/sdk-reference/agentsclient/arun.mdx
@@ -57,4 +57,4 @@ designated endpoint, updates the last agent response, and returns the resulting
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md)
diff --git a/docs/src/sdk-reference/agentsclient/arun_custom.mdx b/docs/src/sdk-reference/agentsclient/arun_custom.mdx
index 31b2bfcf0..167b8933a 100644
--- a/docs/src/sdk-reference/agentsclient/arun_custom.mdx
+++ b/docs/src/sdk-reference/agentsclient/arun_custom.mdx
@@ -16,4 +16,4 @@ description: "No description available"
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md)
diff --git a/docs/src/sdk-reference/agentsclient/async_watch_logs.mdx b/docs/src/sdk-reference/agentsclient/async_watch_logs.mdx
index 62ccf6262..521a20be3 100644
--- a/docs/src/sdk-reference/agentsclient/async_watch_logs.mdx
+++ b/docs/src/sdk-reference/agentsclient/async_watch_logs.mdx
@@ -23,4 +23,4 @@ connections are not supported.
## Returns
-`UnionType`[[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse), `None`]: The final agent status, or None if failed.
+`UnionType`[[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md), `None`]: The final agent status, or None if failed.
diff --git a/docs/src/sdk-reference/agentsclient/async_watch_logs_and_wait.mdx b/docs/src/sdk-reference/agentsclient/async_watch_logs_and_wait.mdx
index 493a9635a..b247ab862 100644
--- a/docs/src/sdk-reference/agentsclient/async_watch_logs_and_wait.mdx
+++ b/docs/src/sdk-reference/agentsclient/async_watch_logs_and_wait.mdx
@@ -23,4 +23,4 @@ connections are not supported.
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse): The response from the completed agent execution.
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md): The response from the completed agent execution.
diff --git a/docs/src/sdk-reference/agentsclient/create_function.mdx b/docs/src/sdk-reference/agentsclient/create_function.mdx
index 095991e5d..11f778907 100644
--- a/docs/src/sdk-reference/agentsclient/create_function.mdx
+++ b/docs/src/sdk-reference/agentsclient/create_function.mdx
@@ -19,7 +19,7 @@ resulting script is stored internally before being returned.
## Returns
-[`GetFunctionResponse`](/sdk-reference/misc/getfunctionresponse): The workflow that reproduces the steps of the agent
+[`GetFunctionResponse`](/sdk-reference/misc/getfunctionresponse)[`GetFunctionResponse`](/sdk-reference/misc/getfunctionresponse.md): The workflow that reproduces the steps of the agent
## Raises
diff --git a/docs/src/sdk-reference/agentsclient/function_code.mdx b/docs/src/sdk-reference/agentsclient/function_code.mdx
index 8ad7f1656..70d4f8ef4 100644
--- a/docs/src/sdk-reference/agentsclient/function_code.mdx
+++ b/docs/src/sdk-reference/agentsclient/function_code.mdx
@@ -22,7 +22,7 @@ resulting script is stored internally before being returned.
## Returns
-[`AgentFunctionCodeResponse`](/sdk-reference/misc/agentfunctioncoderesponse): The script that reproduces the steps of the specified agent
+[`AgentFunctionCodeResponse`](/sdk-reference/misc/agentfunctioncoderesponse)[`AgentFunctionCodeResponse`](/sdk-reference/misc/agentfunctioncoderesponse.md): The script that reproduces the steps of the specified agent
## Raises
diff --git a/docs/src/sdk-reference/agentsclient/index.mdx b/docs/src/sdk-reference/agentsclient/index.mdx
index 1cdd8211f..e7b7b450a 100644
--- a/docs/src/sdk-reference/agentsclient/index.mdx
+++ b/docs/src/sdk-reference/agentsclient/index.mdx
@@ -13,160 +13,402 @@ If you need to handle multiple sessions, you need to create a new client for eac
## Methods
-
- Initialize an AgentsClient instance
-
-
- Watch the logs of the specified agent asynchronously
-
-
- Execute a task with the agent and wait for completion asynchronously
-
-
- Check if the current notte-sdk version matches the latest PyPI version
-
-
- Creates a function that reproduces the steps of the specified agent
-
-
- Retrieves a script that reproduces the steps of the specified agent
-
-
- Return HTTP headers for authenticated API requests
-
-
- Health check the Notte API
-
-
- Check if the custom endpoint is available
-
-
- Lists agents matching specified criteria
-
-
- Requests the specified API endpoint and returns the validated response
-
-
- No description available
-
-
- Retrieves and validates a list of responses from the API
-
-
- Constructs the full request URL for the given API endpoint
-
-
- Run an agent with the specified request parameters
-
-
- Run a custom agent with the specified request parameters and wait for completion
-
-
- Start an agent with the specified request parameters
-
-
- Retrieves the status of the specified agent
-
-
- Stops the specified agent and clears the last agent response
-
-
- Waits for the specified agent to complete
-
-
- Watch the logs of the specified agent
-
-
- Execute a task with the agent and wait for completion
-
+
+
+ Initialize an AgentsClient instance
+
+
+
+
+ Initialize an AgentsClient instance
+
+
+
+
+ Watch the logs of the specified agent asynchronously
+
+
+
+
+ Watch the logs of the specified agent asynchronously
+
+
+
+
+ Execute a task with the agent and wait for completion asynchronously
+
+
+
+
+ Execute a task with the agent and wait for completion asynchronously
+
+
+
+
+ Check if the current notte-sdk version matches the latest PyPI version
+
+
+
+
+ Check if the current notte-sdk version matches the latest PyPI version
+
+
+
+
+ Creates a function that reproduces the steps of the specified agent
+
+
+
+
+ Creates a function that reproduces the steps of the specified agent
+
+
+
+
+ Retrieves a script that reproduces the steps of the specified agent
+
+
+
+
+ Retrieves a script that reproduces the steps of the specified agent
+
+
+
+
+ Return HTTP headers for authenticated API requests
+
+
+
+
+ Return HTTP headers for authenticated API requests
+
+
+
+
+ Health check the Notte API
+
+
+
+
+ Health check the Notte API
+
+
+
+
+ Check if the custom endpoint is available
+
+
+
+
+ Check if the custom endpoint is available
+
+
+
+
+ Lists agents matching specified criteria
+
+
+
+
+ Lists agents matching specified criteria
+
+
+
+
+ Requests the specified API endpoint and returns the validated response
+
+
+
+
+ Requests the specified API endpoint and returns the validated response
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Retrieves and validates a list of responses from the API
+
+
+
+
+ Retrieves and validates a list of responses from the API
+
+
+
+
+ Constructs the full request URL for the given API endpoint
+
+
+
+
+ Constructs the full request URL for the given API endpoint
+
+
+
+
+ Run an agent with the specified request parameters
+
+
+
+
+ Run an agent with the specified request parameters
+
+
+
+
+ Run a custom agent with the specified request parameters and wait for completion
+
+
+
+
+ Run a custom agent with the specified request parameters and wait for completion
+
+
+
+
+ Start an agent with the specified request parameters
+
+
+
+
+ Start an agent with the specified request parameters
+
+
+
+
+ Retrieves the status of the specified agent
+
+
+
+
+ Retrieves the status of the specified agent
+
+
+
+
+ Stops the specified agent and clears the last agent response
+
+
+
+
+ Stops the specified agent and clears the last agent response
+
+
+
+
+ Waits for the specified agent to complete
+
+
+
+
+ Waits for the specified agent to complete
+
+
+
+
+ Watch the logs of the specified agent
+
+
+
+
+ Watch the logs of the specified agent
+
+
+
+
+ Execute a task with the agent and wait for completion
+
+
+
+
+ Execute a task with the agent and wait for completion
+
+
## Class Information
diff --git a/docs/src/sdk-reference/agentsclient/list.mdx b/docs/src/sdk-reference/agentsclient/list.mdx
index 150746f78..374ddf18a 100644
--- a/docs/src/sdk-reference/agentsclient/list.mdx
+++ b/docs/src/sdk-reference/agentsclient/list.mdx
@@ -31,4 +31,4 @@ responses.
## Returns
-`Sequence`[[`AgentResponse`](/sdk-reference/misc/agentresponse)]: A sequence of AgentResponse objects.
+`Sequence`[[`AgentResponse`](/sdk-reference/misc/agentresponse)[`AgentResponse`](/sdk-reference/misc/agentresponse.md)]: A sequence of AgentResponse objects.
diff --git a/docs/src/sdk-reference/agentsclient/replay.mdx b/docs/src/sdk-reference/agentsclient/replay.mdx
index 0274e7b2e..435e383f3 100644
--- a/docs/src/sdk-reference/agentsclient/replay.mdx
+++ b/docs/src/sdk-reference/agentsclient/replay.mdx
@@ -4,7 +4,7 @@ description: "Get presigned URLs for the specified agent's session replay"
---
- This method is deprecated. Use [`session.replay()`](/sdk-reference/remotesession/replay) instead.
+ This method is deprecated. Use [`session.replay()`](/sdk-reference/remotesession/replay)[`session.replay()`](/sdk-reference/remotesession/replay.md) instead.
```python
@@ -35,4 +35,4 @@ replay.download("replay.mp4")
## Returns
-[`ReplayResponse`](/sdk-reference/misc/replayresponse): Contains presigned URLs for MP4 download and HLS playlist.
+[`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md): Contains presigned URLs for MP4 download and HLS playlist.
diff --git a/docs/src/sdk-reference/agentsclient/run.mdx b/docs/src/sdk-reference/agentsclient/run.mdx
index 2c9e8182e..1cb80e32b 100644
--- a/docs/src/sdk-reference/agentsclient/run.mdx
+++ b/docs/src/sdk-reference/agentsclient/run.mdx
@@ -64,4 +64,4 @@ This function is synchronous and will block the main thread until the agent is c
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md)
diff --git a/docs/src/sdk-reference/agentsclient/run_custom.mdx b/docs/src/sdk-reference/agentsclient/run_custom.mdx
index c1e7e06fa..6b6994112 100644
--- a/docs/src/sdk-reference/agentsclient/run_custom.mdx
+++ b/docs/src/sdk-reference/agentsclient/run_custom.mdx
@@ -18,4 +18,4 @@ Note: not all servers support custom agents
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md)
diff --git a/docs/src/sdk-reference/agentsclient/start.mdx b/docs/src/sdk-reference/agentsclient/start.mdx
index d2fd6ef84..811aa9835 100644
--- a/docs/src/sdk-reference/agentsclient/start.mdx
+++ b/docs/src/sdk-reference/agentsclient/start.mdx
@@ -57,4 +57,4 @@ designated endpoint, updates the last agent response, and returns the resulting
## Returns
-[`AgentResponse`](/sdk-reference/misc/agentresponse): The response obtained from the agent run request.
+[`AgentResponse`](/sdk-reference/misc/agentresponse)[`AgentResponse`](/sdk-reference/misc/agentresponse.md): The response obtained from the agent run request.
diff --git a/docs/src/sdk-reference/agentsclient/status.mdx b/docs/src/sdk-reference/agentsclient/status.mdx
index ea0212f82..1096a8095 100644
--- a/docs/src/sdk-reference/agentsclient/status.mdx
+++ b/docs/src/sdk-reference/agentsclient/status.mdx
@@ -19,7 +19,7 @@ resulting status is stored internally before being returned.
## Returns
-[`LegacyAgentStatusResponse`](/sdk-reference/misc/legacyagentstatusresponse): The current status information of the specified agent.
+[`LegacyAgentStatusResponse`](/sdk-reference/misc/legacyagentstatusresponse)[`LegacyAgentStatusResponse`](/sdk-reference/misc/legacyagentstatusresponse.md): The current status information of the specified agent.
## Raises
diff --git a/docs/src/sdk-reference/agentsclient/stop.mdx b/docs/src/sdk-reference/agentsclient/stop.mdx
index 325fb41cf..5f3b56ec3 100644
--- a/docs/src/sdk-reference/agentsclient/stop.mdx
+++ b/docs/src/sdk-reference/agentsclient/stop.mdx
@@ -22,7 +22,7 @@ and returns the resulting AgentResponse.
## Returns
-[`AgentResponse`](/sdk-reference/misc/agentresponse): The response from the stop operation.
+[`AgentResponse`](/sdk-reference/misc/agentresponse)[`AgentResponse`](/sdk-reference/misc/agentresponse.md): The response from the stop operation.
## Raises
diff --git a/docs/src/sdk-reference/agentsclient/wait.mdx b/docs/src/sdk-reference/agentsclient/wait.mdx
index 178779a0a..5acc78b1c 100644
--- a/docs/src/sdk-reference/agentsclient/wait.mdx
+++ b/docs/src/sdk-reference/agentsclient/wait.mdx
@@ -23,4 +23,4 @@ description: "Waits for the specified agent to complete"
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse): The response from the agent status check.
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md): The response from the agent status check.
diff --git a/docs/src/sdk-reference/agentsclient/watch_logs.mdx b/docs/src/sdk-reference/agentsclient/watch_logs.mdx
index 1ef184eca..af446d6e9 100644
--- a/docs/src/sdk-reference/agentsclient/watch_logs.mdx
+++ b/docs/src/sdk-reference/agentsclient/watch_logs.mdx
@@ -19,4 +19,4 @@ description: "Watch the logs of the specified agent"
## Returns
-`UnionType`[[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse), `None`]
+`UnionType`[[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md), `None`]
diff --git a/docs/src/sdk-reference/agentsclient/watch_logs_and_wait.mdx b/docs/src/sdk-reference/agentsclient/watch_logs_and_wait.mdx
index 9faecaaaf..b833e8368 100644
--- a/docs/src/sdk-reference/agentsclient/watch_logs_and_wait.mdx
+++ b/docs/src/sdk-reference/agentsclient/watch_logs_and_wait.mdx
@@ -20,4 +20,4 @@ description: "Execute a task with the agent and wait for completion"
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse): The response from the completed agent execution.
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md): The response from the completed agent execution.
diff --git a/docs/src/sdk-reference/agentsclient/workflow_code.mdx b/docs/src/sdk-reference/agentsclient/workflow_code.mdx
index 7839b32de..e759d2d89 100644
--- a/docs/src/sdk-reference/agentsclient/workflow_code.mdx
+++ b/docs/src/sdk-reference/agentsclient/workflow_code.mdx
@@ -22,7 +22,7 @@ resulting script is stored internally before being returned.
## Returns
-[`AgentWorkflowCodeResponse`](/sdk-reference/misc/agentworkflowcoderesponse): The script that reproduces the steps of the specified agent
+[`AgentWorkflowCodeResponse`](/sdk-reference/misc/agentworkflowcoderesponse)[`AgentWorkflowCodeResponse`](/sdk-reference/misc/agentworkflowcoderesponse.md): The script that reproduces the steps of the specified agent
## Raises
diff --git a/docs/src/sdk-reference/agentsclient/workflow_create.mdx b/docs/src/sdk-reference/agentsclient/workflow_create.mdx
index cd8a7d196..13692cb41 100644
--- a/docs/src/sdk-reference/agentsclient/workflow_create.mdx
+++ b/docs/src/sdk-reference/agentsclient/workflow_create.mdx
@@ -19,7 +19,7 @@ resulting script is stored internally before being returned.
## Returns
-[`GetWorkflowResponse`](/sdk-reference/misc/getworkflowresponse): The workflow that reproduces the steps of the agent
+[`GetWorkflowResponse`](/sdk-reference/misc/getworkflowresponse)[`GetWorkflowResponse`](/sdk-reference/misc/getworkflowresponse.md): The workflow that reproduces the steps of the agent
## Raises
diff --git a/docs/src/sdk-reference/manual/index.mdx b/docs/src/sdk-reference/manual/index.mdx
index aeb200b62..0b10791df 100644
--- a/docs/src/sdk-reference/manual/index.mdx
+++ b/docs/src/sdk-reference/manual/index.mdx
@@ -23,52 +23,118 @@ From there, you're able to create browser sessions, run new agents, or manage cr
## Available Operations
-
- List and manage browser sessions
-
-
- List and manage automation agents
-
-
- Create and manage functions for your automations
-
+
+
+ List and manage browser sessions
+
+
+
+
+ List and manage browser sessions
+
+
+
+
+ List and manage automation agents
+
+
+
+
+ List and manage automation agents
+
+
+
+
+ Create and manage functions for your automations
+
+
+
+
+ Create and manage functions for your automations
+
+
## Available Tooling for your agents
-
- Upload and download files to and from your agents
-
-
- Create and manage personas
-
-
- Create and manage secure credential vaults for your agents
-
+
+
+ Upload and download files to and from your agents
+
+
+
+
+ Upload and download files to and from your agents
+
+
+
+
+ Create and manage personas
+
+
+
+
+ Create and manage personas
+
+
+
+
+ Create and manage secure credential vaults for your agents
+
+
+
+
+ Create and manage secure credential vaults for your agents
+
+
diff --git a/docs/src/sdk-reference/misc/agentsclient.mdx b/docs/src/sdk-reference/misc/agentsclient.mdx
index 823a0cfe6..7bc907ae0 100644
--- a/docs/src/sdk-reference/misc/agentsclient.mdx
+++ b/docs/src/sdk-reference/misc/agentsclient.mdx
@@ -116,7 +116,7 @@ Get presigned URLs for the specified agent's session replay. Deprecated — use
**Returns:**
-[`ReplayResponse`](/sdk-reference/misc/replayresponse): Contains presigned URLs for MP4 download and HLS playlist.
+[`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md): Contains presigned URLs for MP4 download and HLS playlist.
---
diff --git a/docs/src/sdk-reference/misc/domnode.mdx b/docs/src/sdk-reference/misc/domnode.mdx
index 3d3d8a2aa..3f50b9d2c 100644
--- a/docs/src/sdk-reference/misc/domnode.mdx
+++ b/docs/src/sdk-reference/misc/domnode.mdx
@@ -17,7 +17,7 @@ Create an empty root DomNode for scraping (skips DOM tree computation)
**Returns:**
-[`DomNode`](/sdk-reference/misc/domnode)
+[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)
---
@@ -43,7 +43,7 @@ TODO: same implementation for A11yNode and DomNode
**Returns:**
-`Sequence`[[`DomNode`](/sdk-reference/misc/domnode)]
+`Sequence`[[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)]
---
@@ -55,7 +55,7 @@ flatten(keep_filter: typing.Optional[typing.Callable[[ForwardRef('DomNode')], bo
**Returns:**
-`list`[[`DomNode`](/sdk-reference/misc/domnode)]
+`list`[[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)]
---
@@ -91,7 +91,7 @@ image_nodes() -> list['DomNode']
**Returns:**
-`list`[[`DomNode`](/sdk-reference/misc/domnode)]
+`list`[[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)]
---
@@ -115,7 +115,7 @@ interaction_nodes() -> collections.abc.Sequence['InteractionDomNode']
**Returns:**
-`Sequence`[[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode)]
+`Sequence`[[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode)[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode.md)]
---
@@ -153,7 +153,7 @@ TODO: make it work with A11yNode and DomNode
**Returns:**
-`Sequence`[[`DomNode`](/sdk-reference/misc/domnode)]
+`Sequence`[[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)]
---
@@ -185,7 +185,7 @@ subtree_without(roles: set[str]) -> DomNode
**Returns:**
-[`DomNode`](/sdk-reference/misc/domnode)
+[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)
---
@@ -197,7 +197,7 @@ to_interaction_node() -> InteractionDomNode
**Returns:**
-[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode)
+[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode)[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode.md)
---
diff --git a/docs/src/sdk-reference/misc/interactiondomnode.mdx b/docs/src/sdk-reference/misc/interactiondomnode.mdx
index 1d771ed85..8d4013b37 100644
--- a/docs/src/sdk-reference/misc/interactiondomnode.mdx
+++ b/docs/src/sdk-reference/misc/interactiondomnode.mdx
@@ -17,7 +17,7 @@ Create an empty root DomNode for scraping (skips DOM tree computation)
**Returns:**
-[`DomNode`](/sdk-reference/misc/domnode)
+[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)
---
@@ -43,7 +43,7 @@ TODO: same implementation for A11yNode and DomNode
**Returns:**
-`Sequence`[[`DomNode`](/sdk-reference/misc/domnode)]
+`Sequence`[[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)]
---
@@ -55,7 +55,7 @@ flatten(keep_filter: typing.Optional[typing.Callable[[ForwardRef('DomNode')], bo
**Returns:**
-`list`[[`DomNode`](/sdk-reference/misc/domnode)]
+`list`[[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)]
---
@@ -91,7 +91,7 @@ image_nodes() -> list['DomNode']
**Returns:**
-`list`[[`DomNode`](/sdk-reference/misc/domnode)]
+`list`[[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)]
---
@@ -115,7 +115,7 @@ interaction_nodes() -> collections.abc.Sequence['InteractionDomNode']
**Returns:**
-`Sequence`[[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode)]
+`Sequence`[[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode)[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode.md)]
---
@@ -153,7 +153,7 @@ TODO: make it work with A11yNode and DomNode
**Returns:**
-`Sequence`[[`DomNode`](/sdk-reference/misc/domnode)]
+`Sequence`[[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)]
---
@@ -185,7 +185,7 @@ subtree_without(roles: set[str]) -> DomNode
**Returns:**
-[`DomNode`](/sdk-reference/misc/domnode)
+[`DomNode`](/sdk-reference/misc/domnode)[`DomNode`](/sdk-reference/misc/domnode.md)
---
@@ -197,7 +197,7 @@ to_interaction_node() -> InteractionDomNode
**Returns:**
-[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode)
+[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode)[`InteractionDomNode`](/sdk-reference/misc/interactiondomnode.md)
---
diff --git a/docs/src/sdk-reference/misc/mp4replay.mdx b/docs/src/sdk-reference/misc/mp4replay.mdx
index 6a2705d64..972e71f74 100644
--- a/docs/src/sdk-reference/misc/mp4replay.mdx
+++ b/docs/src/sdk-reference/misc/mp4replay.mdx
@@ -5,7 +5,7 @@ description: "Local MP4 replay data wrapper (for local browser sessions)"
This class is used internally for local session replays. For cloud/API replays,
- see [`ReplayResponse`](/sdk-reference/misc/replayresponse) which provides presigned
+ see [`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md) which provides presigned
URLs for downloading MP4 files.
diff --git a/docs/src/sdk-reference/misc/nottefunction.mdx b/docs/src/sdk-reference/misc/nottefunction.mdx
index 0bf4d17c7..b63482672 100644
--- a/docs/src/sdk-reference/misc/nottefunction.mdx
+++ b/docs/src/sdk-reference/misc/nottefunction.mdx
@@ -44,7 +44,7 @@ Fork a shared function into your own private function
**Returns:**
-[`NotteFunction`](/sdk-reference/misc/nottefunction)
+[`NotteFunction`](/sdk-reference/misc/nottefunction)[`NotteFunction`](/sdk-reference/misc/nottefunction.md)
---
@@ -72,7 +72,7 @@ Get a function run by its ID
**Returns:**
-[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse)
+[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse)[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse.md)
---
@@ -104,7 +104,7 @@ Get presigned URLs for the workflow run replay
**Returns:**
-[`ReplayResponse`](/sdk-reference/misc/replayresponse)
+[`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md)
---
@@ -118,7 +118,7 @@ Run the function code using the specified version and variables
**Returns:**
-[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse)
+[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse)[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse.md)
---
@@ -132,7 +132,7 @@ Manually stop a function run by its ID
**Returns:**
-[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse)
+[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse)[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse.md)
---
diff --git a/docs/src/sdk-reference/misc/nottepersona.mdx b/docs/src/sdk-reference/misc/nottepersona.mdx
index 1625eebb9..dac5962c3 100644
--- a/docs/src/sdk-reference/misc/nottepersona.mdx
+++ b/docs/src/sdk-reference/misc/nottepersona.mdx
@@ -34,7 +34,7 @@ aemails(data: *) -> collections.
**Returns:**
-`Sequence`[[`EmailResponse`](/sdk-reference/misc/emailresponse)]
+`Sequence`[[`EmailResponse`](/sdk-reference/misc/emailresponse)[`EmailResponse`](/sdk-reference/misc/emailresponse.md)]
---
@@ -46,7 +46,7 @@ asms(data: *) -> collections.abc
**Returns:**
-`Sequence`[[`SMSResponse`](/sdk-reference/misc/smsresponse)]
+`Sequence`[[`SMSResponse`](/sdk-reference/misc/smsresponse)[`SMSResponse`](/sdk-reference/misc/smsresponse.md)]
---
@@ -68,7 +68,7 @@ Create a phone number to the persona
**Returns:**
-[`CreatePhoneNumberResponse`](/sdk-reference/misc/createphonenumberresponse)
+[`CreatePhoneNumberResponse`](/sdk-reference/misc/createphonenumberresponse)[`CreatePhoneNumberResponse`](/sdk-reference/misc/createphonenumberresponse.md)
---
@@ -92,7 +92,7 @@ Delete the phone number from the persona
**Returns:**
-[`DeletePhoneNumberResponse`](/sdk-reference/misc/deletephonenumberresponse)
+[`DeletePhoneNumberResponse`](/sdk-reference/misc/deletephonenumberresponse)[`DeletePhoneNumberResponse`](/sdk-reference/misc/deletephonenumberresponse.md)
---
@@ -106,7 +106,7 @@ Read recent emails sent to the persona
**Returns:**
-`Sequence`[[`EmailResponse`](/sdk-reference/misc/emailresponse)]
+`Sequence`[[`EmailResponse`](/sdk-reference/misc/emailresponse)[`EmailResponse`](/sdk-reference/misc/emailresponse.md)]
---
@@ -130,7 +130,7 @@ Read recent sms messages sent to the persona
**Returns:**
-`Sequence`[[`SMSResponse`](/sdk-reference/misc/smsresponse)]
+`Sequence`[[`SMSResponse`](/sdk-reference/misc/smsresponse)[`SMSResponse`](/sdk-reference/misc/smsresponse.md)]
---
diff --git a/docs/src/sdk-reference/misc/nottevault.mdx b/docs/src/sdk-reference/misc/nottevault.mdx
index 100a5dd8d..b99cf7ca9 100644
--- a/docs/src/sdk-reference/misc/nottevault.mdx
+++ b/docs/src/sdk-reference/misc/nottevault.mdx
@@ -255,7 +255,7 @@ get_credit_card() -> CreditCardDict
**Returns:**
-[`CreditCardDict`](/sdk-reference/misc/creditcarddict)
+[`CreditCardDict`](/sdk-reference/misc/creditcarddict)[`CreditCardDict`](/sdk-reference/misc/creditcarddict.md)
---
diff --git a/docs/src/sdk-reference/misc/remotefilestorage.mdx b/docs/src/sdk-reference/misc/remotefilestorage.mdx
index ecd8361a3..c0e457f7f 100644
--- a/docs/src/sdk-reference/misc/remotefilestorage.mdx
+++ b/docs/src/sdk-reference/misc/remotefilestorage.mdx
@@ -87,7 +87,7 @@ List all files in the download_dir
**Returns:**
-`list`[[`FileInfo`](/sdk-reference/misc/fileinfo)]
+`list`[[`FileInfo`](/sdk-reference/misc/fileinfo)[`FileInfo`](/sdk-reference/misc/fileinfo.md)]
---
@@ -101,7 +101,7 @@ List all files from the upload_dir
**Returns:**
-`list`[[`FileInfo`](/sdk-reference/misc/fileinfo)]
+`list`[[`FileInfo`](/sdk-reference/misc/fileinfo)[`FileInfo`](/sdk-reference/misc/fileinfo.md)]
---
diff --git a/docs/src/sdk-reference/misc/remotesession.mdx b/docs/src/sdk-reference/misc/remotesession.mdx
index b5a6f8803..d37613fb9 100644
--- a/docs/src/sdk-reference/misc/remotesession.mdx
+++ b/docs/src/sdk-reference/misc/remotesession.mdx
@@ -300,7 +300,7 @@ Returns a WebsocketJupyterDisplay for displaying live session replay in Jupyter
**Returns:**
-[`WebsocketService`](/sdk-reference/misc/websocketservice)
+[`WebsocketService`](/sdk-reference/misc/websocketservice)[`WebsocketService`](/sdk-reference/misc/websocketservice.md)
---
diff --git a/docs/src/sdk-reference/misc/remoteworkflow.mdx b/docs/src/sdk-reference/misc/remoteworkflow.mdx
index 66a27f7f9..244f02757 100644
--- a/docs/src/sdk-reference/misc/remoteworkflow.mdx
+++ b/docs/src/sdk-reference/misc/remoteworkflow.mdx
@@ -43,7 +43,7 @@ Fork a shared workflow into your own private workflow
**Returns:**
-[`RemoteWorkflow`](/sdk-reference/misc/remoteworkflow)
+[`RemoteWorkflow`](/sdk-reference/misc/remoteworkflow)[`RemoteWorkflow`](/sdk-reference/misc/remoteworkflow.md)
---
@@ -71,7 +71,7 @@ Get a function run by its ID
**Returns:**
-[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse)
+[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse)[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse.md)
---
@@ -103,7 +103,7 @@ Get presigned URLs for the workflow run replay.
**Returns:**
-[`ReplayResponse`](/sdk-reference/misc/replayresponse): Contains presigned URLs for MP4 download and HLS playlist.
+[`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md): Contains presigned URLs for MP4 download and HLS playlist.
---
@@ -117,7 +117,7 @@ Run the function code using the specified version and variables
**Returns:**
-[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse)
+[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse)[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse.md)
---
@@ -131,7 +131,7 @@ Manually stop a function run by its ID
**Returns:**
-[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse)
+[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse)[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse.md)
---
diff --git a/docs/src/sdk-reference/misc/sessionsclient.mdx b/docs/src/sdk-reference/misc/sessionsclient.mdx
index 20674cb9c..df759fd5f 100644
--- a/docs/src/sdk-reference/misc/sessionsclient.mdx
+++ b/docs/src/sdk-reference/misc/sessionsclient.mdx
@@ -150,7 +150,7 @@ Get presigned URLs for session replay.
**Returns:**
-[`ReplayResponse`](/sdk-reference/misc/replayresponse): Contains presigned URLs for MP4 download and HLS playlist.
+[`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md): Contains presigned URLs for MP4 download and HLS playlist.
---
diff --git a/docs/src/sdk-reference/notteclient/index.mdx b/docs/src/sdk-reference/notteclient/index.mdx
index c29dee12a..dac3c8392 100644
--- a/docs/src/sdk-reference/notteclient/index.mdx
+++ b/docs/src/sdk-reference/notteclient/index.mdx
@@ -13,27 +13,60 @@ If you need to handle multiple sessions, you need to create a new client for eac
## Methods
-
- Initialize a NotteClient instance
-
-
- Health check the Notte API
-
-
- Scrape the current page data
-
+
+
+ Initialize a NotteClient instance
+
+
+
+
+ Initialize a NotteClient instance
+
+
+
+
+ Health check the Notte API
+
+
+
+
+ Health check the Notte API
+
+
+
+
+ Scrape the current page data
+
+
+
+
+ Scrape the current page data
+
+
## Class Information
diff --git a/docs/src/sdk-reference/notteclient/scrape.mdx b/docs/src/sdk-reference/notteclient/scrape.mdx
index ea098ca83..c8b338d01 100644
--- a/docs/src/sdk-reference/notteclient/scrape.mdx
+++ b/docs/src/sdk-reference/notteclient/scrape.mdx
@@ -72,4 +72,4 @@ data = client.scrape(
## Returns
-`UnionType`[[`StructuredData[BaseModel]`](/sdk-reference/misc/structureddata), [`BaseModel`](/sdk-reference/misc/basemodel), `Dict`[`str`, `Any`], `str`, `list`[[`ImageData`](/sdk-reference/misc/imagedata)]]: returns the extracted data directly. When raise_on_failure=False: returns StructuredData wrapper so user can check .success. For markdown scraping: returns str. For image scraping: returns list[ImageData].
+`UnionType`[[`StructuredData[BaseModel]`](/sdk-reference/misc/structureddata)[`StructuredData[BaseModel]`](/sdk-reference/misc/structureddata.md), [`BaseModel`](/sdk-reference/misc/basemodel)[`BaseModel`](/sdk-reference/misc/basemodel.md), `Dict`[`str`, `Any`], `str`, `list`[[`ImageData`](/sdk-reference/misc/imagedata)[`ImageData`](/sdk-reference/misc/imagedata.md)]]: returns the extracted data directly. When raise_on_failure=False: returns StructuredData wrapper so user can check .success. For markdown scraping: returns str. For image scraping: returns list[ImageData].
diff --git a/docs/src/sdk-reference/nottefunction/fork.mdx b/docs/src/sdk-reference/nottefunction/fork.mdx
index b831f14ac..376dc45c9 100644
--- a/docs/src/sdk-reference/nottefunction/fork.mdx
+++ b/docs/src/sdk-reference/nottefunction/fork.mdx
@@ -16,4 +16,4 @@ The forked function is only accessible to you and you can update it as you want
## Returns
-[`NotteFunction`](/sdk-reference/misc/nottefunction)
+[`NotteFunction`](/sdk-reference/misc/nottefunction)[`NotteFunction`](/sdk-reference/misc/nottefunction.md)
diff --git a/docs/src/sdk-reference/nottefunction/get_run.mdx b/docs/src/sdk-reference/nottefunction/get_run.mdx
index 3f5869fe7..4e3b6d181 100644
--- a/docs/src/sdk-reference/nottefunction/get_run.mdx
+++ b/docs/src/sdk-reference/nottefunction/get_run.mdx
@@ -13,4 +13,4 @@ description: "Get a function run by its ID"
## Returns
-[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse)
+[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse)[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse.md)
diff --git a/docs/src/sdk-reference/nottefunction/index.mdx b/docs/src/sdk-reference/nottefunction/index.mdx
index 425903dde..72b328ac0 100644
--- a/docs/src/sdk-reference/nottefunction/index.mdx
+++ b/docs/src/sdk-reference/nottefunction/index.mdx
@@ -13,83 +13,204 @@ This is a wrapper around RemoteWorkflow that uses function_id terminology.
## Methods
-
- Initialize self
-
-
- Delete the workflow from the notte console
-
-
- Download the function code from the notte console as a python file
-
-
- Fork a shared function into your own private function
-
-
- Convert the workflow/run to a curl request
-
-
- Get a function run by its ID
-
-
- No description available
-
-
- Get presigned URLs for the workflow run replay
-
-
- Run the function code using the specified version and variables
-
-
- Manually stop a function run by its ID
-
-
- Update the workflow with a a new code version
-
+
+
+ Initialize self
+
+
+
+
+ Initialize self
+
+
+
+
+ Delete the workflow from the notte console
+
+
+
+
+ Delete the workflow from the notte console
+
+
+
+
+ Download the function code from the notte console as a python file
+
+
+
+
+ Download the function code from the notte console as a python file
+
+
+
+
+ Fork a shared function into your own private function
+
+
+
+
+ Fork a shared function into your own private function
+
+
+
+
+ Convert the workflow/run to a curl request
+
+
+
+
+ Convert the workflow/run to a curl request
+
+
+
+
+ Get a function run by its ID
+
+
+
+
+ Get a function run by its ID
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Get presigned URLs for the workflow run replay
+
+
+
+
+ Get presigned URLs for the workflow run replay
+
+
+
+
+ Run the function code using the specified version and variables
+
+
+
+
+ Run the function code using the specified version and variables
+
+
+
+
+ Manually stop a function run by its ID
+
+
+
+
+ Manually stop a function run by its ID
+
+
+
+
+ Update the workflow with a a new code version
+
+
+
+
+ Update the workflow with a a new code version
+
+
## Class Information
diff --git a/docs/src/sdk-reference/nottefunction/replay.mdx b/docs/src/sdk-reference/nottefunction/replay.mdx
index 6103fc1dd..5f5bad337 100644
--- a/docs/src/sdk-reference/nottefunction/replay.mdx
+++ b/docs/src/sdk-reference/nottefunction/replay.mdx
@@ -31,4 +31,4 @@ replay.download("workflow.mp4")
## Returns
-[`ReplayResponse`](/sdk-reference/misc/replayresponse)
+[`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md)
diff --git a/docs/src/sdk-reference/nottefunction/run.mdx b/docs/src/sdk-reference/nottefunction/run.mdx
index 3e41eed0e..aeec9b593 100644
--- a/docs/src/sdk-reference/nottefunction/run.mdx
+++ b/docs/src/sdk-reference/nottefunction/run.mdx
@@ -49,4 +49,4 @@ function.run(variable1="value1", variable2="value2")
## Returns
-[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse)
+[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse)[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse.md)
diff --git a/docs/src/sdk-reference/nottefunction/stop_run.mdx b/docs/src/sdk-reference/nottefunction/stop_run.mdx
index 3fdec6e01..531a82b37 100644
--- a/docs/src/sdk-reference/nottefunction/stop_run.mdx
+++ b/docs/src/sdk-reference/nottefunction/stop_run.mdx
@@ -13,4 +13,4 @@ description: "Manually stop a function run by its ID"
## Returns
-[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse)
+[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse)[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse.md)
diff --git a/docs/src/sdk-reference/nottepersona/aemails.mdx b/docs/src/sdk-reference/nottepersona/aemails.mdx
index 4cbd2eda3..98d1350b7 100644
--- a/docs/src/sdk-reference/nottepersona/aemails.mdx
+++ b/docs/src/sdk-reference/nottepersona/aemails.mdx
@@ -21,4 +21,4 @@ description: "No description available"
## Returns
-`Sequence`[[`EmailResponse`](/sdk-reference/misc/emailresponse)]
+`Sequence`[[`EmailResponse`](/sdk-reference/misc/emailresponse)[`EmailResponse`](/sdk-reference/misc/emailresponse.md)]
diff --git a/docs/src/sdk-reference/nottepersona/asms.mdx b/docs/src/sdk-reference/nottepersona/asms.mdx
index 0fa8bf16d..7e2941960 100644
--- a/docs/src/sdk-reference/nottepersona/asms.mdx
+++ b/docs/src/sdk-reference/nottepersona/asms.mdx
@@ -21,4 +21,4 @@ description: "No description available"
## Returns
-`Sequence`[[`SMSResponse`](/sdk-reference/misc/smsresponse)]
+`Sequence`[[`SMSResponse`](/sdk-reference/misc/smsresponse)[`SMSResponse`](/sdk-reference/misc/smsresponse.md)]
diff --git a/docs/src/sdk-reference/nottepersona/create_number.mdx b/docs/src/sdk-reference/nottepersona/create_number.mdx
index 5adf34ad5..c4e3a0951 100644
--- a/docs/src/sdk-reference/nottepersona/create_number.mdx
+++ b/docs/src/sdk-reference/nottepersona/create_number.mdx
@@ -15,4 +15,4 @@ persona.create_number()
## Returns
-[`CreatePhoneNumberResponse`](/sdk-reference/misc/createphonenumberresponse)
+[`CreatePhoneNumberResponse`](/sdk-reference/misc/createphonenumberresponse)[`CreatePhoneNumberResponse`](/sdk-reference/misc/createphonenumberresponse.md)
diff --git a/docs/src/sdk-reference/nottepersona/delete_number.mdx b/docs/src/sdk-reference/nottepersona/delete_number.mdx
index 4d0978587..5dd4899fd 100644
--- a/docs/src/sdk-reference/nottepersona/delete_number.mdx
+++ b/docs/src/sdk-reference/nottepersona/delete_number.mdx
@@ -13,4 +13,4 @@ persona.delete_number()
## Returns
-[`DeletePhoneNumberResponse`](/sdk-reference/misc/deletephonenumberresponse)
+[`DeletePhoneNumberResponse`](/sdk-reference/misc/deletephonenumberresponse)[`DeletePhoneNumberResponse`](/sdk-reference/misc/deletephonenumberresponse.md)
diff --git a/docs/src/sdk-reference/nottepersona/emails.mdx b/docs/src/sdk-reference/nottepersona/emails.mdx
index b3ff047c7..60bec1f3e 100644
--- a/docs/src/sdk-reference/nottepersona/emails.mdx
+++ b/docs/src/sdk-reference/nottepersona/emails.mdx
@@ -37,4 +37,4 @@ Use the `limit` and/or `timedelta` parameters to limit the number of emails retu
## Returns
-`Sequence`[[`EmailResponse`](/sdk-reference/misc/emailresponse)]
+`Sequence`[[`EmailResponse`](/sdk-reference/misc/emailresponse)[`EmailResponse`](/sdk-reference/misc/emailresponse.md)]
diff --git a/docs/src/sdk-reference/nottepersona/index.mdx b/docs/src/sdk-reference/nottepersona/index.mdx
index 9c9f21928..b35faab04 100644
--- a/docs/src/sdk-reference/nottepersona/index.mdx
+++ b/docs/src/sdk-reference/nottepersona/index.mdx
@@ -19,97 +19,240 @@ Notte Personas come with complete digital identities:
## Methods
-
- Initialize self
-
-
- Add credentials to the persona (generates a password and stores it in the vault)
-
-
- No description available
-
-
- No description available
-
-
- No description available
-
-
- Create a phone number to the persona
-
-
- Delete the persona from the notte console
-
-
- Delete the phone number from the persona
-
-
- Read recent emails sent to the persona
-
-
- Resets the resource to its initial state
-
-
- Read recent sms messages sent to the persona
-
-
- No description available
-
-
- No description available
-
+
+
+ Initialize self
+
+
+
+
+ Initialize self
+
+
+
+
+ Add credentials to the persona (generates a password and stores it in the vault)
+
+
+
+
+ Add credentials to the persona (generates a password and stores it in the vault)
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Create a phone number to the persona
+
+
+
+
+ Create a phone number to the persona
+
+
+
+
+ Delete the persona from the notte console
+
+
+
+
+ Delete the persona from the notte console
+
+
+
+
+ Delete the phone number from the persona
+
+
+
+
+ Delete the phone number from the persona
+
+
+
+
+ Read recent emails sent to the persona
+
+
+
+
+ Read recent emails sent to the persona
+
+
+
+
+ Resets the resource to its initial state
+
+
+
+
+ Resets the resource to its initial state
+
+
+
+
+ Read recent sms messages sent to the persona
+
+
+
+
+ Read recent sms messages sent to the persona
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
## Class Information
diff --git a/docs/src/sdk-reference/nottepersona/sms.mdx b/docs/src/sdk-reference/nottepersona/sms.mdx
index 43d5f92c4..69890a9ce 100644
--- a/docs/src/sdk-reference/nottepersona/sms.mdx
+++ b/docs/src/sdk-reference/nottepersona/sms.mdx
@@ -36,4 +36,4 @@ Use the `limit` and/or `timedelta` parameters to limit the number of sms returne
## Returns
-`Sequence`[[`SMSResponse`](/sdk-reference/misc/smsresponse)]
+`Sequence`[[`SMSResponse`](/sdk-reference/misc/smsresponse)[`SMSResponse`](/sdk-reference/misc/smsresponse.md)]
diff --git a/docs/src/sdk-reference/nottevault/credential_fields_to_dict.mdx b/docs/src/sdk-reference/nottevault/credential_fields_to_dict.mdx
index 709d93cca..d967e7392 100644
--- a/docs/src/sdk-reference/nottevault/credential_fields_to_dict.mdx
+++ b/docs/src/sdk-reference/nottevault/credential_fields_to_dict.mdx
@@ -9,4 +9,4 @@ description: "Convert a list of CredentialField objects to a credentials diction
## Returns
-[`CredentialsDict`](/sdk-reference/misc/credentialsdict): Dictionary containing credential key-value pairs
+[`CredentialsDict`](/sdk-reference/misc/credentialsdict)[`CredentialsDict`](/sdk-reference/misc/credentialsdict.md): Dictionary containing credential key-value pairs
diff --git a/docs/src/sdk-reference/nottevault/get_credit_card.mdx b/docs/src/sdk-reference/nottevault/get_credit_card.mdx
index 680b3ee91..92dba631a 100644
--- a/docs/src/sdk-reference/nottevault/get_credit_card.mdx
+++ b/docs/src/sdk-reference/nottevault/get_credit_card.mdx
@@ -8,4 +8,4 @@ description: "No description available"
## Returns
-[`CreditCardDict`](/sdk-reference/misc/creditcarddict)
+[`CreditCardDict`](/sdk-reference/misc/creditcarddict)[`CreditCardDict`](/sdk-reference/misc/creditcarddict.md)
diff --git a/docs/src/sdk-reference/nottevault/get_credit_card_async.mdx b/docs/src/sdk-reference/nottevault/get_credit_card_async.mdx
index a132e7cf2..fb331e349 100644
--- a/docs/src/sdk-reference/nottevault/get_credit_card_async.mdx
+++ b/docs/src/sdk-reference/nottevault/get_credit_card_async.mdx
@@ -9,4 +9,4 @@ description: "Retrieve credit card information (one for the whole vault)"
## Returns
-[`CreditCardDict`](/sdk-reference/misc/creditcarddict): Dictionary containing credit card information
+[`CreditCardDict`](/sdk-reference/misc/creditcarddict)[`CreditCardDict`](/sdk-reference/misc/creditcarddict.md): Dictionary containing credit card information
diff --git a/docs/src/sdk-reference/nottevault/index.mdx b/docs/src/sdk-reference/nottevault/index.mdx
index 713d7a253..098d5d831 100644
--- a/docs/src/sdk-reference/nottevault/index.mdx
+++ b/docs/src/sdk-reference/nottevault/index.mdx
@@ -10,244 +10,618 @@ Vault that fetches credentials stored using the sdk
## Methods
-
- Initialize the vault with an empty dictionary to track retrieved credentials
-
-
- No description available
-
-
- Store credentials for a given URL
-
-
- No description available
-
-
- Add credentials from environment variables for a given URL
-
-
- Check if the action contains credentials
-
-
- Convert a list of CredentialField objects to a credentials dictionary
-
-
- Convert a credentials dictionary to a list of CredentialField objects
-
-
- No description available
-
-
- No description available
-
-
- Remove credentials for a given URL
-
-
- No description available
-
-
- Remove saved credit card information
-
-
- Generate a secure random password
-
-
- No description available
-
-
- Get credentials for a given URL
-
-
- No description available
-
-
- Retrieve credit card information (one for the whole vault)
-
-
- Get the current map to replace text from previously used credentials back to their placeholder value
-
-
- No description available
-
-
- Check whether we hold a credential for a given website
-
-
- Get detailed instructions for credential and payment handling
-
-
- No description available
-
-
- List urls for which we hold credentials
-
-
- Get a copy of all previously retrieved credentials
-
-
- No description available
-
-
- Recursively replace strings using a mapping dictionary
-
-
- Replace credentials in the action with actual values from the vault
-
-
- Resets the resource to its initial state
-
-
- No description available
-
-
- Store credit card information (one for the whole vault)
-
-
- No description available
-
-
- No description available
-
-
- Get system instructions for credential handling
-
+
+
+ Initialize the vault with an empty dictionary to track retrieved credentials
+
+
+
+
+ Initialize the vault with an empty dictionary to track retrieved credentials
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Store credentials for a given URL
+
+
+
+
+ Store credentials for a given URL
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Add credentials from environment variables for a given URL
+
+
+
+
+ Add credentials from environment variables for a given URL
+
+
+
+
+ Check if the action contains credentials
+
+
+
+
+ Check if the action contains credentials
+
+
+
+
+ Convert a list of CredentialField objects to a credentials dictionary
+
+
+
+
+ Convert a list of CredentialField objects to a credentials dictionary
+
+
+
+
+ Convert a credentials dictionary to a list of CredentialField objects
+
+
+
+
+ Convert a credentials dictionary to a list of CredentialField objects
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Remove credentials for a given URL
+
+
+
+
+ Remove credentials for a given URL
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Remove saved credit card information
+
+
+
+
+ Remove saved credit card information
+
+
+
+
+ Generate a secure random password
+
+
+
+
+ Generate a secure random password
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Get credentials for a given URL
+
+
+
+
+ Get credentials for a given URL
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Retrieve credit card information (one for the whole vault)
+
+
+
+
+ Retrieve credit card information (one for the whole vault)
+
+
+
+
+ Get the current map to replace text from previously used credentials back to their placeholder value
+
+
+
+
+ Get the current map to replace text from previously used credentials back to their placeholder value
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Check whether we hold a credential for a given website
+
+
+
+
+ Check whether we hold a credential for a given website
+
+
+
+
+ Get detailed instructions for credential and payment handling
+
+
+
+
+ Get detailed instructions for credential and payment handling
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ List urls for which we hold credentials
+
+
+
+
+ List urls for which we hold credentials
+
+
+
+
+ Get a copy of all previously retrieved credentials
+
+
+
+
+ Get a copy of all previously retrieved credentials
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Recursively replace strings using a mapping dictionary
+
+
+
+
+ Recursively replace strings using a mapping dictionary
+
+
+
+
+ Replace credentials in the action with actual values from the vault
+
+
+
+
+ Replace credentials in the action with actual values from the vault
+
+
+
+
+ Resets the resource to its initial state
+
+
+
+
+ Resets the resource to its initial state
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Store credit card information (one for the whole vault)
+
+
+
+
+ Store credit card information (one for the whole vault)
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Get system instructions for credential handling
+
+
+
+
+ Get system instructions for credential handling
+
+
## Class Information
diff --git a/docs/src/sdk-reference/nottevault/replace_credentials.mdx b/docs/src/sdk-reference/nottevault/replace_credentials.mdx
index bc9985b68..6d69d4a69 100644
--- a/docs/src/sdk-reference/nottevault/replace_credentials.mdx
+++ b/docs/src/sdk-reference/nottevault/replace_credentials.mdx
@@ -23,7 +23,7 @@ description: "Replace credentials in the action with actual values from the vaul
## Returns
-[`BaseAction`](/sdk-reference/misc/baseaction): Modified action with replaced credentials
+[`BaseAction`](/sdk-reference/misc/baseaction)[`BaseAction`](/sdk-reference/misc/baseaction.md): Modified action with replaced credentials
## Raises
diff --git a/docs/src/sdk-reference/remoteagent/arun.mdx b/docs/src/sdk-reference/remoteagent/arun.mdx
index ef428c089..f0f3f1a6a 100644
--- a/docs/src/sdk-reference/remoteagent/arun.mdx
+++ b/docs/src/sdk-reference/remoteagent/arun.mdx
@@ -30,4 +30,4 @@ In future versions, this might be implemented as a true async operation.
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse): The final status response after task completion.
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md): The final status response after task completion.
diff --git a/docs/src/sdk-reference/remoteagent/async_watch_logs_and_wait.mdx b/docs/src/sdk-reference/remoteagent/async_watch_logs_and_wait.mdx
index f47a750d6..0eb3da946 100644
--- a/docs/src/sdk-reference/remoteagent/async_watch_logs_and_wait.mdx
+++ b/docs/src/sdk-reference/remoteagent/async_watch_logs_and_wait.mdx
@@ -24,4 +24,4 @@ be instantaneous under high load
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md)
diff --git a/docs/src/sdk-reference/remoteagent/index.mdx b/docs/src/sdk-reference/remoteagent/index.mdx
index 0f3843af0..8f26a1ebe 100644
--- a/docs/src/sdk-reference/remoteagent/index.mdx
+++ b/docs/src/sdk-reference/remoteagent/index.mdx
@@ -31,76 +31,186 @@ concurrent agents, create separate RemoteAgent instances.
## Methods
-
- Create a new RemoteAgent instance with the specified configuration
-
-
- Watch the logs of the agent and wait for completion asynchronously
-
-
- Get the replay for the agent's session
-
-
- Run an agent with the specified request parameters and wait for completion
-
-
- Start the agent with the specified request parameters
-
-
- Get the current status of the agent
-
-
- Stop the currently running agent
-
-
- Wait for the agent to complete its current task
-
-
- Watch the logs of the agent
-
-
- Watch the logs of the agent and wait for completion
-
+
+
+ Create a new RemoteAgent instance with the specified configuration
+
+
+
+
+ Create a new RemoteAgent instance with the specified configuration
+
+
+
+
+ Watch the logs of the agent and wait for completion asynchronously
+
+
+
+
+ Watch the logs of the agent and wait for completion asynchronously
+
+
+
+
+ Get the replay for the agent's session
+
+
+
+
+ Get the replay for the agent's session
+
+
+
+
+ Run an agent with the specified request parameters and wait for completion
+
+
+
+
+ Run an agent with the specified request parameters and wait for completion
+
+
+
+
+ Start the agent with the specified request parameters
+
+
+
+
+ Start the agent with the specified request parameters
+
+
+
+
+ Get the current status of the agent
+
+
+
+
+ Get the current status of the agent
+
+
+
+
+ Stop the currently running agent
+
+
+
+
+ Stop the currently running agent
+
+
+
+
+ Wait for the agent to complete its current task
+
+
+
+
+ Wait for the agent to complete its current task
+
+
+
+
+ Watch the logs of the agent
+
+
+
+
+ Watch the logs of the agent
+
+
+
+
+ Watch the logs of the agent and wait for completion
+
+
+
+
+ Watch the logs of the agent and wait for completion
+
+
## Class Information
diff --git a/docs/src/sdk-reference/remoteagent/replay.mdx b/docs/src/sdk-reference/remoteagent/replay.mdx
index d5618d4bd..de171f179 100644
--- a/docs/src/sdk-reference/remoteagent/replay.mdx
+++ b/docs/src/sdk-reference/remoteagent/replay.mdx
@@ -27,4 +27,4 @@ description: "Get the replay for the agent's session"
## Returns
-[`ReplayResponse`](/sdk-reference/misc/replayresponse): Presigned URLs for HLS playlist and MP4 download.
+[`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md): Presigned URLs for HLS playlist and MP4 download.
diff --git a/docs/src/sdk-reference/remoteagent/run.mdx b/docs/src/sdk-reference/remoteagent/run.mdx
index ba6b2ba5e..290df810e 100644
--- a/docs/src/sdk-reference/remoteagent/run.mdx
+++ b/docs/src/sdk-reference/remoteagent/run.mdx
@@ -37,7 +37,7 @@ This function is synchronous and will block the main thread until the agent is c
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse): The final status response after task completion.
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md): The final status response after task completion.
## Raises
diff --git a/docs/src/sdk-reference/remoteagent/start.mdx b/docs/src/sdk-reference/remoteagent/start.mdx
index 3c8a81005..9154c408d 100644
--- a/docs/src/sdk-reference/remoteagent/start.mdx
+++ b/docs/src/sdk-reference/remoteagent/start.mdx
@@ -30,4 +30,4 @@ The agent will begin processing the task immediately after starting.
## Returns
-[`AgentResponse`](/sdk-reference/misc/agentresponse): The initial response from starting the agent.
+[`AgentResponse`](/sdk-reference/misc/agentresponse)[`AgentResponse`](/sdk-reference/misc/agentresponse.md): The initial response from starting the agent.
diff --git a/docs/src/sdk-reference/remoteagent/status.mdx b/docs/src/sdk-reference/remoteagent/status.mdx
index 2d2140b9d..35de7bc56 100644
--- a/docs/src/sdk-reference/remoteagent/status.mdx
+++ b/docs/src/sdk-reference/remoteagent/status.mdx
@@ -17,7 +17,7 @@ status = agent.status()
## Returns
-[`LegacyAgentStatusResponse`](/sdk-reference/misc/legacyagentstatusresponse): The current status of the agent execution.
+[`LegacyAgentStatusResponse`](/sdk-reference/misc/legacyagentstatusresponse)[`LegacyAgentStatusResponse`](/sdk-reference/misc/legacyagentstatusresponse.md): The current status of the agent execution.
## Raises
diff --git a/docs/src/sdk-reference/remoteagent/stop.mdx b/docs/src/sdk-reference/remoteagent/stop.mdx
index 30ef93177..f3ee891c0 100644
--- a/docs/src/sdk-reference/remoteagent/stop.mdx
+++ b/docs/src/sdk-reference/remoteagent/stop.mdx
@@ -12,7 +12,7 @@ The agent will stop processing its current task immediately.
## Returns
-[`AgentResponse`](/sdk-reference/misc/agentresponse): The response from the stop operation.
+[`AgentResponse`](/sdk-reference/misc/agentresponse)[`AgentResponse`](/sdk-reference/misc/agentresponse.md): The response from the stop operation.
## Raises
diff --git a/docs/src/sdk-reference/remoteagent/wait.mdx b/docs/src/sdk-reference/remoteagent/wait.mdx
index 316f07731..a6d2ebedb 100644
--- a/docs/src/sdk-reference/remoteagent/wait.mdx
+++ b/docs/src/sdk-reference/remoteagent/wait.mdx
@@ -13,7 +13,7 @@ The polling continues until either the agent completes or a timeout is reached.
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse): The final status response after completion.
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md): The final status response after completion.
## Raises
diff --git a/docs/src/sdk-reference/remoteagent/watch_logs.mdx b/docs/src/sdk-reference/remoteagent/watch_logs.mdx
index c5abcbc61..bb82ee387 100644
--- a/docs/src/sdk-reference/remoteagent/watch_logs.mdx
+++ b/docs/src/sdk-reference/remoteagent/watch_logs.mdx
@@ -13,4 +13,4 @@ description: "Watch the logs of the agent"
## Returns
-`UnionType`[[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse), `None`]
+`UnionType`[[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md), `None`]
diff --git a/docs/src/sdk-reference/remoteagent/watch_logs_and_wait.mdx b/docs/src/sdk-reference/remoteagent/watch_logs_and_wait.mdx
index 677f3bfe6..7abbf9522 100644
--- a/docs/src/sdk-reference/remoteagent/watch_logs_and_wait.mdx
+++ b/docs/src/sdk-reference/remoteagent/watch_logs_and_wait.mdx
@@ -13,4 +13,4 @@ description: "Watch the logs of the agent and wait for completion"
## Returns
-[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)
+[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse)[`AgentStatusResponse`](/sdk-reference/misc/agentstatusresponse.md)
diff --git a/docs/src/sdk-reference/remoteagentfallback/index.mdx b/docs/src/sdk-reference/remoteagentfallback/index.mdx
index 2886c4d76..d837e0a6e 100644
--- a/docs/src/sdk-reference/remoteagentfallback/index.mdx
+++ b/docs/src/sdk-reference/remoteagentfallback/index.mdx
@@ -23,13 +23,24 @@ Attributes:
## Methods
-
- Initialize self
-
+
+
+ Initialize self
+
+
+
+
+ Initialize self
+
+
## Class Information
diff --git a/docs/src/sdk-reference/remotefilestorage/index.mdx b/docs/src/sdk-reference/remotefilestorage/index.mdx
index 050335201..16c05b988 100644
--- a/docs/src/sdk-reference/remotefilestorage/index.mdx
+++ b/docs/src/sdk-reference/remotefilestorage/index.mdx
@@ -10,83 +10,204 @@ Base class for storage implementations that handle upload and download file stor
## Methods
-
- Initialize self
-
-
- List files that have been downloaded into storage by the agents
-
-
- List files that have been uploaded to storage
-
-
- Stores a file that has been downloaded from a website in the current session
-
-
- Returns the local path for a file
-
-
- Return LLM instructions to append to the prompt
-
-
- List all files in the download_dir
-
-
- List all files from the upload_dir
-
-
- Stores a file from the local path
-
-
- No description available
-
-
- Upload a file from your local machine to storage
-
+
+
+ Initialize self
+
+
+
+
+ Initialize self
+
+
+
+
+ List files that have been downloaded into storage by the agents
+
+
+
+
+ List files that have been downloaded into storage by the agents
+
+
+
+
+ List files that have been uploaded to storage
+
+
+
+
+ List files that have been uploaded to storage
+
+
+
+
+ Stores a file that has been downloaded from a website in the current session
+
+
+
+
+ Stores a file that has been downloaded from a website in the current session
+
+
+
+
+ Returns the local path for a file
+
+
+
+
+ Returns the local path for a file
+
+
+
+
+ Return LLM instructions to append to the prompt
+
+
+
+
+ Return LLM instructions to append to the prompt
+
+
+
+
+ List all files in the download_dir
+
+
+
+
+ List all files in the download_dir
+
+
+
+
+ List all files from the upload_dir
+
+
+
+
+ List all files from the upload_dir
+
+
+
+
+ Stores a file from the local path
+
+
+
+
+ Stores a file from the local path
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Upload a file from your local machine to storage
+
+
+
+
+ Upload a file from your local machine to storage
+
+
## Class Information
diff --git a/docs/src/sdk-reference/remotefilestorage/list_downloaded_files.mdx b/docs/src/sdk-reference/remotefilestorage/list_downloaded_files.mdx
index a96e288de..852d21a63 100644
--- a/docs/src/sdk-reference/remotefilestorage/list_downloaded_files.mdx
+++ b/docs/src/sdk-reference/remotefilestorage/list_downloaded_files.mdx
@@ -8,4 +8,4 @@ description: "List all files in the download_dir"
## Returns
-`list`[[`FileInfo`](/sdk-reference/misc/fileinfo)]
+`list`[[`FileInfo`](/sdk-reference/misc/fileinfo)[`FileInfo`](/sdk-reference/misc/fileinfo.md)]
diff --git a/docs/src/sdk-reference/remotefilestorage/list_uploaded_files.mdx b/docs/src/sdk-reference/remotefilestorage/list_uploaded_files.mdx
index 6e7e20ad2..342620687 100644
--- a/docs/src/sdk-reference/remotefilestorage/list_uploaded_files.mdx
+++ b/docs/src/sdk-reference/remotefilestorage/list_uploaded_files.mdx
@@ -8,4 +8,4 @@ description: "List all files from the upload_dir"
## Returns
-`list`[[`FileInfo`](/sdk-reference/misc/fileinfo)]
+`list`[[`FileInfo`](/sdk-reference/misc/fileinfo)[`FileInfo`](/sdk-reference/misc/fileinfo.md)]
diff --git a/docs/src/sdk-reference/remotesession/debug_info.mdx b/docs/src/sdk-reference/remotesession/debug_info.mdx
index 704e81681..70f61a9b6 100644
--- a/docs/src/sdk-reference/remotesession/debug_info.mdx
+++ b/docs/src/sdk-reference/remotesession/debug_info.mdx
@@ -9,7 +9,7 @@ description: "Get detailed debug information for the session"
## Returns
-[`SessionDebugResponse`](/sdk-reference/misc/sessiondebugresponse): Debug information for the session.
+[`SessionDebugResponse`](/sdk-reference/misc/sessiondebugresponse)[`SessionDebugResponse`](/sdk-reference/misc/sessiondebugresponse.md): Debug information for the session.
## Raises
diff --git a/docs/src/sdk-reference/remotesession/execute.mdx b/docs/src/sdk-reference/remotesession/execute.mdx
index 4893387b0..ee51145e2 100644
--- a/docs/src/sdk-reference/remotesession/execute.mdx
+++ b/docs/src/sdk-reference/remotesession/execute.mdx
@@ -72,7 +72,7 @@ This syntax also supports Xpath (e.g. `xpath=/html/body/div[3]/div/button[1]`) o
## Returns
-[`ExecutionResult`](/sdk-reference/misc/executionresult): Result containing execution details, any errors, and the updated session state.
+[`ExecutionResult`](/sdk-reference/misc/executionresult)[`ExecutionResult`](/sdk-reference/misc/executionresult.md): Result containing execution details, any errors, and the updated session state.
## Raises
diff --git a/docs/src/sdk-reference/remotesession/get_cookies.mdx b/docs/src/sdk-reference/remotesession/get_cookies.mdx
index 3020ff535..d73d38ddd 100644
--- a/docs/src/sdk-reference/remotesession/get_cookies.mdx
+++ b/docs/src/sdk-reference/remotesession/get_cookies.mdx
@@ -16,7 +16,7 @@ with open("cookies.json", "w") as f:
## Returns
-`list`[[`CookieDict`](/sdk-reference/misc/cookiedict)]: The response containing the list of cookies in the session.
+`list`[[`CookieDict`](/sdk-reference/misc/cookiedict)[`CookieDict`](/sdk-reference/misc/cookiedict.md)]: The response containing the list of cookies in the session.
## Raises
diff --git a/docs/src/sdk-reference/remotesession/index.mdx b/docs/src/sdk-reference/remotesession/index.mdx
index ffd3f0426..48ff22279 100644
--- a/docs/src/sdk-reference/remotesession/index.mdx
+++ b/docs/src/sdk-reference/remotesession/index.mdx
@@ -19,135 +19,336 @@ Attributes:
## Methods
-
- Create a new RemoteSession instance with the specified configuration
-
-
- Get the Chrome DevTools Protocol WebSocket URL for the session
-
-
- Get detailed debug information for the session
-
-
- Executes an action on the current session page
-
-
- Gets cookies from the session
-
-
- Observes the current session page
-
-
- Get the trajectory offset of the session
+
+
+ Create a new RemoteSession instance with the specified configuration
+
+
+
+
+ Create a new RemoteSession instance with the specified configuration
+
+
+
+
+ Get the Chrome DevTools Protocol WebSocket URL for the session
+
+
+
+
+ Get the Chrome DevTools Protocol WebSocket URL for the session
+
+
+
+
+ Get detailed debug information for the session
+
+
+
+
+ Get detailed debug information for the session
+
+
+
+
+ Executes an action on the current session page
+
+
+
+
+ Executes an action on the current session page
+
+
+
+
+ Gets cookies from the session
+
+
+
+
+ Gets cookies from the session
+
+
+
+
+ Observes the current session page
+
+
+
+
+ Observes the current session page
+
+
+
+
+ Get the trajectory offset of the session
-This is useful to start an agent that remembers information about steps
-that happened before it started
-
-
- Get presigned URLs for the session replay
-
-
- Resets the resource to its initial state
-
-
- Scrape the current page data
-
-
- Uploads cookies to the session
-
-
- Start the session using the configured request
-
-
- Get the current status of the session
-
-
- Stop the session and clean up resources
-
-
- Open the viewer for the session based on the viewer_type
-
-
- Opens live session replay in browser (frame by frame) in a new browser tab
-
-
- Open a browser tab with the debug URL for visualizing the session
-
-
- Returns a WebsocketJupyterDisplay for displaying live session replay in Jupyter notebook
-
+ This is useful to start an agent that remembers information about steps
+ that happened before it started
+
+
+
+
+ Get the trajectory offset of the session
+
+ This is useful to start an agent that remembers information about steps
+ that happened before it started
+
+
+
+
+ Get presigned URLs for the session replay
+
+
+
+
+ Get presigned URLs for the session replay
+
+
+
+
+ Resets the resource to its initial state
+
+
+
+
+ Resets the resource to its initial state
+
+
+
+
+ Scrape the current page data
+
+
+
+
+ Scrape the current page data
+
+
+
+
+ Uploads cookies to the session
+
+
+
+
+ Uploads cookies to the session
+
+
+
+
+ Start the session using the configured request
+
+
+
+
+ Start the session using the configured request
+
+
+
+
+ Get the current status of the session
+
+
+
+
+ Get the current status of the session
+
+
+
+
+ Stop the session and clean up resources
+
+
+
+
+ Stop the session and clean up resources
+
+
+
+
+ Open the viewer for the session based on the viewer_type
+
+
+
+
+ Open the viewer for the session based on the viewer_type
+
+
+
+
+ Opens live session replay in browser (frame by frame) in a new browser tab
+
+
+
+
+ Opens live session replay in browser (frame by frame) in a new browser tab
+
+
+
+
+ Open a browser tab with the debug URL for visualizing the session
+
+
+
+
+ Open a browser tab with the debug URL for visualizing the session
+
+
+
+
+ Returns a WebsocketJupyterDisplay for displaying live session replay in Jupyter notebook
+
+
+
+
+ Returns a WebsocketJupyterDisplay for displaying live session replay in Jupyter notebook
+
+
## Class Information
diff --git a/docs/src/sdk-reference/remotesession/observe.mdx b/docs/src/sdk-reference/remotesession/observe.mdx
index 1bf0bbd32..b4fa821f1 100644
--- a/docs/src/sdk-reference/remotesession/observe.mdx
+++ b/docs/src/sdk-reference/remotesession/observe.mdx
@@ -66,4 +66,4 @@ print(actions[0].model_dump())
## Returns
-`UnionType`[[`Observation`](/sdk-reference/misc/observation), `list`[`Annotated`[`UnionType`[[`ClickAction`](/sdk-reference/misc/clickaction), [`FillAction`](/sdk-reference/misc/fillaction), [`MultiFactorFillAction`](/sdk-reference/misc/multifactorfillaction), [`FallbackFillAction`](/sdk-reference/misc/fallbackfillaction), [`CheckAction`](/sdk-reference/misc/checkaction), [`SelectDropdownOptionAction`](/sdk-reference/misc/selectdropdownoptionaction), [`UploadFileAction`](/sdk-reference/misc/uploadfileaction), [`DownloadFileAction`](/sdk-reference/misc/downloadfileaction)], `annotation=NoneType required=True discriminator='type'`]]]: The formatted observation result from the API response when no instructions provided. list[InteractionActionUnion]: The filtered list of actions when instructions is provided.
+`UnionType`[[`Observation`](/sdk-reference/misc/observation)[`Observation`](/sdk-reference/misc/observation.md), `list`[`Annotated`[`UnionType`[[`ClickAction`](/sdk-reference/misc/clickaction)[`ClickAction`](/sdk-reference/misc/clickaction.md), [`FillAction`](/sdk-reference/misc/fillaction)[`FillAction`](/sdk-reference/misc/fillaction.md), [`MultiFactorFillAction`](/sdk-reference/misc/multifactorfillaction)[`MultiFactorFillAction`](/sdk-reference/misc/multifactorfillaction.md), [`FallbackFillAction`](/sdk-reference/misc/fallbackfillaction)[`FallbackFillAction`](/sdk-reference/misc/fallbackfillaction.md), [`CheckAction`](/sdk-reference/misc/checkaction)[`CheckAction`](/sdk-reference/misc/checkaction.md), [`SelectDropdownOptionAction`](/sdk-reference/misc/selectdropdownoptionaction)[`SelectDropdownOptionAction`](/sdk-reference/misc/selectdropdownoptionaction.md), [`UploadFileAction`](/sdk-reference/misc/uploadfileaction)[`UploadFileAction`](/sdk-reference/misc/uploadfileaction.md), [`DownloadFileAction`](/sdk-reference/misc/downloadfileaction)[`DownloadFileAction`](/sdk-reference/misc/downloadfileaction.md)], `annotation=NoneType required=True discriminator='type'`]]]: The formatted observation result from the API response when no instructions provided. list[InteractionActionUnion]: The filtered list of actions when instructions is provided.
diff --git a/docs/src/sdk-reference/remotesession/replay.mdx b/docs/src/sdk-reference/remotesession/replay.mdx
index 2f0432b2b..4b675360c 100644
--- a/docs/src/sdk-reference/remotesession/replay.mdx
+++ b/docs/src/sdk-reference/remotesession/replay.mdx
@@ -33,7 +33,7 @@ to fail immediately if the replay is not yet available.
## Returns
-[`ReplayResponse`](/sdk-reference/misc/replayresponse): Presigned URLs for HLS playlist and MP4 download.
+[`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md): Presigned URLs for HLS playlist and MP4 download.
## Raises
diff --git a/docs/src/sdk-reference/remotesession/scrape.mdx b/docs/src/sdk-reference/remotesession/scrape.mdx
index e1bb85c48..a2006c74e 100644
--- a/docs/src/sdk-reference/remotesession/scrape.mdx
+++ b/docs/src/sdk-reference/remotesession/scrape.mdx
@@ -71,4 +71,4 @@ with client.Session() as session:
## Returns
-`UnionType`[[`StructuredData[BaseModel]`](/sdk-reference/misc/structureddata), [`BaseModel`](/sdk-reference/misc/basemodel), `Dict`[`str`, `Any`], `str`, `list`[[`ImageData`](/sdk-reference/misc/imagedata)]]: An Observation object containing metadata, screenshot, action space, and data space.
+`UnionType`[[`StructuredData[BaseModel]`](/sdk-reference/misc/structureddata)[`StructuredData[BaseModel]`](/sdk-reference/misc/structureddata.md), [`BaseModel`](/sdk-reference/misc/basemodel)[`BaseModel`](/sdk-reference/misc/basemodel.md), `Dict`[`str`, `Any`], `str`, `list`[[`ImageData`](/sdk-reference/misc/imagedata)[`ImageData`](/sdk-reference/misc/imagedata.md)]]: An Observation object containing metadata, screenshot, action space, and data space.
diff --git a/docs/src/sdk-reference/remotesession/set_cookies.mdx b/docs/src/sdk-reference/remotesession/set_cookies.mdx
index cf1472891..068b928a7 100644
--- a/docs/src/sdk-reference/remotesession/set_cookies.mdx
+++ b/docs/src/sdk-reference/remotesession/set_cookies.mdx
@@ -25,7 +25,7 @@ Accepts either cookies (list of dicts) or cookie_file (json file path) as argume
## Returns
-[`SetCookiesResponse`](/sdk-reference/misc/setcookiesresponse): The response from the upload cookies request.
+[`SetCookiesResponse`](/sdk-reference/misc/setcookiesresponse)[`SetCookiesResponse`](/sdk-reference/misc/setcookiesresponse.md): The response from the upload cookies request.
## Raises
diff --git a/docs/src/sdk-reference/remotesession/status.mdx b/docs/src/sdk-reference/remotesession/status.mdx
index 39d85204a..a93b891db 100644
--- a/docs/src/sdk-reference/remotesession/status.mdx
+++ b/docs/src/sdk-reference/remotesession/status.mdx
@@ -16,7 +16,7 @@ status = session.status()
## Returns
-[`SessionResponse`](/sdk-reference/misc/sessionresponse): The current status information of the session.
+[`SessionResponse`](/sdk-reference/misc/sessionresponse)[`SessionResponse`](/sdk-reference/misc/sessionresponse.md): The current status information of the session.
## Raises
diff --git a/docs/src/sdk-reference/remotesession/viewer_notebook.mdx b/docs/src/sdk-reference/remotesession/viewer_notebook.mdx
index b64c17188..6e23bd98f 100644
--- a/docs/src/sdk-reference/remotesession/viewer_notebook.mdx
+++ b/docs/src/sdk-reference/remotesession/viewer_notebook.mdx
@@ -14,4 +14,4 @@ session.viewer_notebook()
## Returns
-[`WebsocketService`](/sdk-reference/misc/websocketservice)
+[`WebsocketService`](/sdk-reference/misc/websocketservice)[`WebsocketService`](/sdk-reference/misc/websocketservice.md)
diff --git a/docs/src/sdk-reference/remoteworkflow/fork.mdx b/docs/src/sdk-reference/remoteworkflow/fork.mdx
index 7632de1d3..5199a8495 100644
--- a/docs/src/sdk-reference/remoteworkflow/fork.mdx
+++ b/docs/src/sdk-reference/remoteworkflow/fork.mdx
@@ -16,4 +16,4 @@ The forked workflow is only accessible to you and you can update it as you want
## Returns
-[`RemoteWorkflow`](/sdk-reference/misc/remoteworkflow)
+[`RemoteWorkflow`](/sdk-reference/misc/remoteworkflow)[`RemoteWorkflow`](/sdk-reference/misc/remoteworkflow.md)
diff --git a/docs/src/sdk-reference/remoteworkflow/get_run.mdx b/docs/src/sdk-reference/remoteworkflow/get_run.mdx
index 3f5869fe7..4e3b6d181 100644
--- a/docs/src/sdk-reference/remoteworkflow/get_run.mdx
+++ b/docs/src/sdk-reference/remoteworkflow/get_run.mdx
@@ -13,4 +13,4 @@ description: "Get a function run by its ID"
## Returns
-[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse)
+[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse)[`GetFunctionRunResponse`](/sdk-reference/misc/getfunctionrunresponse.md)
diff --git a/docs/src/sdk-reference/remoteworkflow/index.mdx b/docs/src/sdk-reference/remoteworkflow/index.mdx
index 9ce4040be..d25b5e3ee 100644
--- a/docs/src/sdk-reference/remoteworkflow/index.mdx
+++ b/docs/src/sdk-reference/remoteworkflow/index.mdx
@@ -12,83 +12,204 @@ Workflows are saved in the notte console for easy access and versioning for user
## Methods
-
- Initialize self
-
-
- Delete the workflow from the notte console
-
-
- Download the function code from the notte console as a python file
-
-
- Fork a shared workflow into your own private workflow
-
-
- Convert the workflow/run to a curl request
-
-
- Get a function run by its ID
-
-
- No description available
-
-
- Replay the workflow run
-
-
- Run the function code using the specified version and variables
-
-
- Manually stop a function run by its ID
-
-
- Update the workflow with a a new code version
-
+
+
+ Initialize self
+
+
+
+
+ Initialize self
+
+
+
+
+ Delete the workflow from the notte console
+
+
+
+
+ Delete the workflow from the notte console
+
+
+
+
+ Download the function code from the notte console as a python file
+
+
+
+
+ Download the function code from the notte console as a python file
+
+
+
+
+ Fork a shared workflow into your own private workflow
+
+
+
+
+ Fork a shared workflow into your own private workflow
+
+
+
+
+ Convert the workflow/run to a curl request
+
+
+
+
+ Convert the workflow/run to a curl request
+
+
+
+
+ Get a function run by its ID
+
+
+
+
+ Get a function run by its ID
+
+
+
+
+ No description available
+
+
+
+
+ No description available
+
+
+
+
+ Replay the workflow run
+
+
+
+
+ Replay the workflow run
+
+
+
+
+ Run the function code using the specified version and variables
+
+
+
+
+ Run the function code using the specified version and variables
+
+
+
+
+ Manually stop a function run by its ID
+
+
+
+
+ Manually stop a function run by its ID
+
+
+
+
+ Update the workflow with a a new code version
+
+
+
+
+ Update the workflow with a a new code version
+
+
## Class Information
diff --git a/docs/src/sdk-reference/remoteworkflow/replay.mdx b/docs/src/sdk-reference/remoteworkflow/replay.mdx
index cbde0e912..5cc6c8ced 100644
--- a/docs/src/sdk-reference/remoteworkflow/replay.mdx
+++ b/docs/src/sdk-reference/remoteworkflow/replay.mdx
@@ -29,7 +29,7 @@ replay.download("run_replay.mp4")
## Returns
-[`ReplayResponse`](/sdk-reference/misc/replayresponse): Contains presigned URLs for MP4 download and HLS playlist.
+[`ReplayResponse`](/sdk-reference/misc/replayresponse)[`ReplayResponse`](/sdk-reference/misc/replayresponse.md): Contains presigned URLs for MP4 download and HLS playlist.
## Raises
diff --git a/docs/src/sdk-reference/remoteworkflow/run.mdx b/docs/src/sdk-reference/remoteworkflow/run.mdx
index e9c268290..5e2d59225 100644
--- a/docs/src/sdk-reference/remoteworkflow/run.mdx
+++ b/docs/src/sdk-reference/remoteworkflow/run.mdx
@@ -46,4 +46,4 @@ function.run(variable1="value1", variable2="value2")
## Returns
-[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse)
+[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse)[`FunctionRunResponse`](/sdk-reference/misc/functionrunresponse.md)
diff --git a/docs/src/sdk-reference/remoteworkflow/stop_run.mdx b/docs/src/sdk-reference/remoteworkflow/stop_run.mdx
index 3fdec6e01..531a82b37 100644
--- a/docs/src/sdk-reference/remoteworkflow/stop_run.mdx
+++ b/docs/src/sdk-reference/remoteworkflow/stop_run.mdx
@@ -13,4 +13,4 @@ description: "Manually stop a function run by its ID"
## Returns
-[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse)
+[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse)[`UpdateFunctionRunResponse`](/sdk-reference/misc/updatefunctionrunresponse.md)