From a6742fbfb1e84d02dc87cb239b141611942ff1cb Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Sat, 30 May 2026 23:22:03 -0700 Subject: [PATCH 01/16] Rename managed agents docs for Claude --- docs.json | 9 +++++-- ...d-agents.mdx => claude-managed-agents.mdx} | 24 +++++++++++-------- 2 files changed, 21 insertions(+), 12 deletions(-) rename docs/agents/{anthropic-managed-agents.mdx => claude-managed-agents.mdx} (81%) diff --git a/docs.json b/docs.json index 4ad9bbcb..52dacc18 100644 --- a/docs.json +++ b/docs.json @@ -52,11 +52,11 @@ ] }, { - "group": "Agents in sandbox", + "group": "Agent environments", "pages": [ - "docs/agents/anthropic-managed-agents", "docs/agents/amp", "docs/agents/claude-code", + "docs/agents/claude-managed-agents", "docs/agents/codex", "docs/agents/devin", "docs/agents/openai-agents-sdk", @@ -3727,6 +3727,11 @@ } }, "redirects": [ + { + "source": "/docs/agents/anthropic-managed-agents", + "destination": "/docs/agents/claude-managed-agents", + "permanent": true + }, { "source": "/docs/troubleshooting/pip-install-error", "destination": "/docs/faq/pip-install-error", diff --git a/docs/agents/anthropic-managed-agents.mdx b/docs/agents/claude-managed-agents.mdx similarity index 81% rename from docs/agents/anthropic-managed-agents.mdx rename to docs/agents/claude-managed-agents.mdx index 12ce802d..1aa5d38b 100644 --- a/docs/agents/anthropic-managed-agents.mdx +++ b/docs/agents/claude-managed-agents.mdx @@ -1,13 +1,17 @@ --- -title: "Anthropic Managed Agents" -description: "Use E2B as the sandbox runtime for Anthropic Managed Agents self-hosted environments." +title: "Claude Managed Agents" +description: "Use E2B as the sandbox runtime for Claude Managed Agents self-hosted environments." icon: "/images/icons/claude-code.svg" --- -[Anthropic Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) can use a self-hosted environment when you want to run tool calls in your own infrastructure. E2B provides a reusable `E2B/claude-managed-agents-webhooks` template that receives Anthropic webhooks and routes each Managed Agents session to a persistent E2B worker sandbox. +[Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) can use a self-hosted environment when you want tool calls to run in your own infrastructure. Claude runs the agentic loop and reasoning process with Anthropic; E2B provides isolated sandbox infrastructure for the environment where tool calls execute. The reusable `E2B/claude-managed-agents-webhooks` template receives Anthropic webhooks and routes each Claude Managed Agents session to a persistent E2B worker sandbox. -For the full source, local setup scripts, and app-owned routing examples, see the [Anthropic Managed Agents cookbook](https://github.com/e2b-dev/e2b-cookbook/tree/main/examples/anthropic-managed-agents). +This separation is intentional for security: Claude decides what work to do, while the sandbox contains the execution environment, filesystem, tools, network access, and runtime logs. + + + +For the full source, local setup scripts, and app-owned routing examples, see the [Claude Managed Agents cookbook](https://github.com/e2b-dev/e2b-cookbook/tree/main/examples/anthropic-managed-agents). ## Install dependencies @@ -143,15 +147,15 @@ sandbox.files.write( ``` -## Send work to the agent +## Send work to Claude -Create or select a Managed Agents agent in the [Anthropic Console](https://platform.claude.com/workspaces/default/agents), then create a session with that agent and the same `ANTHROPIC_ENVIRONMENT_ID` you wrote into the webhook sandbox. Creating the session does not start work; the `user.message` event does. +Create or select a Claude Managed Agents agent in the [Anthropic Console](https://platform.claude.com/workspaces/default/agents), then create a session with that agent and the same `ANTHROPIC_ENVIRONMENT_ID` you wrote into the webhook sandbox. Creating the session does not start work; the `user.message` event does. ```bash export ANTHROPIC_AGENT_ID="agent_..." ``` -Use a small sandbox task for the first smoke test: +Use a small shell task for the first smoke test: ```text Use bash to echo webhook-smoke-ok. Answer only with that text. @@ -262,7 +266,7 @@ A healthy run has: - Router logs showing `routing work` and `assigned session`. - A session-to-sandbox assignment in the router's assignment store. - The assigned worker sandbox's `worker.log` showing claimed work, tool execution, and successful results posted back to Anthropic. -- The Anthropic session returning to `session.status_idle`. +- The Claude Managed Agents session returning to `session.status_idle`. The assignment store records the worker sandbox ID for each routed session. Connect to that sandbox and check `/opt/anthropic-managed-agents-js/worker.log` when you need the tool execution logs. @@ -270,13 +274,13 @@ If the session stays at `requires_action`, check `/opt/anthropic-managed-agents- ## Runtime behavior -The worker runs with `/mnt/session` as its workdir. File tools are constrained to that workdir, skills are downloaded under `/mnt/session/skills//`, and generated artifacts should be written under `/mnt/session/outputs`. +The worker sandbox runs tool calls with `/mnt/session` as its workdir. File tools are constrained to that workdir, skills are downloaded under `/mnt/session/skills//`, and generated artifacts should be written under `/mnt/session/outputs`. The webhook sandbox is the router. It keeps a session-to-sandbox assignment store and starts worker sandboxes with E2B auto-resume and pause-on-timeout settings. ## Session-scoped sandboxes -By default, the public webhook template gives each Managed Agents session its own E2B worker sandbox. Follow-up turns for the same session reconnect to the same worker and reuse its `/mnt/session` filesystem. +By default, the public webhook template gives each Claude Managed Agents session its own E2B worker sandbox. Follow-up turns for the same session reconnect to the same worker and reuse its `/mnt/session` filesystem. The sandbox is the isolated execution environment, not the place where Claude's reasoning loop runs. Use [cloud buckets](/docs/storage/cloud-buckets), [Archil](/docs/storage/archil), or [volumes](/docs/volumes) when files need to outlive a sandbox or be shared across many sandboxes. From 2bc9ffcf8003477e33792f34e9c3b618caeb92f9 Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Sat, 30 May 2026 23:22:47 -0700 Subject: [PATCH 02/16] Clarify Claude agents smoke test output --- docs/agents/claude-managed-agents.mdx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/agents/claude-managed-agents.mdx b/docs/agents/claude-managed-agents.mdx index 1aa5d38b..0c191f83 100644 --- a/docs/agents/claude-managed-agents.mdx +++ b/docs/agents/claude-managed-agents.mdx @@ -147,7 +147,7 @@ sandbox.files.write( ``` -## Send work to Claude +## Run an end-to-end smoke test Create or select a Claude Managed Agents agent in the [Anthropic Console](https://platform.claude.com/workspaces/default/agents), then create a session with that agent and the same `ANTHROPIC_ENVIRONMENT_ID` you wrote into the webhook sandbox. Creating the session does not start work; the `user.message` event does. @@ -223,6 +223,12 @@ print(f"Session ID: {session.id}") ``` +Claude should answer: + +```text +webhook-smoke-ok +``` + Then check the webhook sandbox: @@ -265,7 +271,7 @@ A healthy run has: - `/health` returning `ok: true`. - Router logs showing `routing work` and `assigned session`. - A session-to-sandbox assignment in the router's assignment store. -- The assigned worker sandbox's `worker.log` showing claimed work, tool execution, and successful results posted back to Anthropic. +- The assigned worker sandbox's `worker.log` showing the shell tool execution and successful results posted back to Anthropic. - The Claude Managed Agents session returning to `session.status_idle`. The assignment store records the worker sandbox ID for each routed session. Connect to that sandbox and check `/opt/anthropic-managed-agents-js/worker.log` when you need the tool execution logs. From b0b537b12ac6341d54cf1a9c410e7c289ef74bb9 Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Sat, 30 May 2026 23:25:30 -0700 Subject: [PATCH 03/16] Keep agents sidebar group name --- docs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs.json b/docs.json index 52dacc18..c70af8fa 100644 --- a/docs.json +++ b/docs.json @@ -52,7 +52,7 @@ ] }, { - "group": "Agent environments", + "group": "Agents in sandbox", "pages": [ "docs/agents/amp", "docs/agents/claude-code", From 33506cf18cd12ed3a8334a17fbb9a91ba2e6e24a Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Mon, 1 Jun 2026 11:24:58 -0700 Subject: [PATCH 04/16] Use Claude naming in managed agents docs --- docs/agents/claude-managed-agents.mdx | 28 +++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/agents/claude-managed-agents.mdx b/docs/agents/claude-managed-agents.mdx index 0c191f83..eaf209db 100644 --- a/docs/agents/claude-managed-agents.mdx +++ b/docs/agents/claude-managed-agents.mdx @@ -4,7 +4,7 @@ description: "Use E2B as the sandbox runtime for Claude Managed Agents self-host icon: "/images/icons/claude-code.svg" --- -[Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) can use a self-hosted environment when you want tool calls to run in your own infrastructure. Claude runs the agentic loop and reasoning process with Anthropic; E2B provides isolated sandbox infrastructure for the environment where tool calls execute. The reusable `E2B/claude-managed-agents-webhooks` template receives Anthropic webhooks and routes each Claude Managed Agents session to a persistent E2B worker sandbox. +[Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) can use a self-hosted environment when you want tool calls to run in your own infrastructure. Claude runs the agentic loop and reasoning process; E2B provides isolated sandbox infrastructure for the environment where tool calls execute. The reusable `E2B/claude-managed-agents-webhooks` template receives webhooks and routes each Claude Managed Agents session to a persistent E2B worker sandbox. This separation is intentional for security: Claude decides what work to do, while the sandbox contains the execution environment, filesystem, tools, network access, and runtime logs. @@ -32,20 +32,20 @@ Export the values you will pass to the webhook sandbox: # E2B dashboard API keys: https://e2b.dev/dashboard?tab=keys export E2B_API_KEY="..." -# Anthropic Console API keys: https://console.anthropic.com/settings/keys +# Claude Console API keys: https://console.anthropic.com/settings/keys export ANTHROPIC_API_KEY="..." -# Anthropic Console environments: https://platform.claude.com/workspaces/default/environments +# Claude Console environments: https://platform.claude.com/workspaces/default/environments export ANTHROPIC_ENVIRONMENT_ID="..." -# Open the self-hosted environment in the Anthropic Console and click Generate environment key. +# Open the self-hosted environment in the Claude Console and click Generate environment key. export ANTHROPIC_ENVIRONMENT_KEY="..." ``` ## Start the webhook sandbox Start the public template with auto-resume enabled. The template starts a webhook server on port `8000`. -Because Anthropic only shows the webhook signing key after you register an endpoint, write the router config now and add the signing key to the same sandbox after registration. +Because the signing key only appears after you register a webhook endpoint, write the router config now and add the signing key to the same sandbox after registration. ```typescript JavaScript & TypeScript @@ -113,7 +113,7 @@ At this point `/health` returns `200`, but `/webhook` returns `503` until the si ## Register the webhook -In the [Anthropic Console webhooks settings](https://platform.claude.com/settings/workspaces/default/webhooks), create a webhook endpoint using the printed URL: +In the [Claude Console webhooks settings](https://platform.claude.com/settings/workspaces/default/webhooks), create a webhook endpoint using the printed URL: ```text https:///webhook @@ -149,7 +149,7 @@ sandbox.files.write( ## Run an end-to-end smoke test -Create or select a Claude Managed Agents agent in the [Anthropic Console](https://platform.claude.com/workspaces/default/agents), then create a session with that agent and the same `ANTHROPIC_ENVIRONMENT_ID` you wrote into the webhook sandbox. Creating the session does not start work; the `user.message` event does. +Create or select a Claude Managed Agents agent in the [Claude Console](https://platform.claude.com/workspaces/default/agents), then create a session with that agent and the same `ANTHROPIC_ENVIRONMENT_ID` you wrote into the webhook sandbox. Creating the session does not start work; the `user.message` event does. ```bash export ANTHROPIC_AGENT_ID="agent_..." @@ -163,9 +163,9 @@ Use bash to echo webhook-smoke-ok. Answer only with that text. ```typescript JavaScript & TypeScript -import Anthropic from '@anthropic-ai/sdk' +import Claude from '@anthropic-ai/sdk' -const client = new Anthropic({ +const client = new Claude({ apiKey: process.env.ANTHROPIC_API_KEY, }) @@ -194,9 +194,9 @@ console.log(`Session ID: ${session.id}`) ```python Python import os -import anthropic +from anthropic import Anthropic as Claude -client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"]) +client = Claude(api_key=os.environ["ANTHROPIC_API_KEY"]) session = client.beta.sessions.create( agent=os.environ["ANTHROPIC_AGENT_ID"], @@ -271,7 +271,7 @@ A healthy run has: - `/health` returning `ok: true`. - Router logs showing `routing work` and `assigned session`. - A session-to-sandbox assignment in the router's assignment store. -- The assigned worker sandbox's `worker.log` showing the shell tool execution and successful results posted back to Anthropic. +- The assigned worker sandbox's `worker.log` showing the shell tool execution and successful results posted back to Claude. - The Claude Managed Agents session returning to `session.status_idle`. The assignment store records the worker sandbox ID for each routed session. Connect to that sandbox and check `/opt/anthropic-managed-agents-js/worker.log` when you need the tool execution logs. @@ -290,11 +290,11 @@ By default, the public webhook template gives each Claude Managed Agents session Use [cloud buckets](/docs/storage/cloud-buckets), [Archil](/docs/storage/archil), or [volumes](/docs/volumes) when files need to outlive a sandbox or be shared across many sandboxes. -If you want to run that router in your own service instead of in E2B, use the cookbook's [`app-webhooks/` example](https://github.com/e2b-dev/e2b-cookbook/tree/main/examples/anthropic-managed-agents/javascript/app-webhooks). It receives Anthropic webhooks in your app, claims work there, and routes each session to its own E2B sandbox by default. +If you want to run that router in your own service instead of in E2B, use the cookbook's [`app-webhooks/` example](https://github.com/e2b-dev/e2b-cookbook/tree/main/examples/anthropic-managed-agents/javascript/app-webhooks). It receives webhooks in your app, claims work there, and routes each session to its own E2B sandbox by default. ## Clean up -Remove the webhook endpoint in the Anthropic Console before deleting the router sandbox. Then kill the router sandbox and any assigned worker sandboxes you no longer need. +Remove the webhook endpoint in the Claude Console before deleting the router sandbox. Then kill the router sandbox and any assigned worker sandboxes you no longer need. ## Related guides From e24be324366e0ad7ab1ad9ba51791f25e42083f4 Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Wed, 8 Jul 2026 13:08:31 -0700 Subject: [PATCH 05/16] Draft Devin sandbox worker guide --- docs/agents/devin.mdx | 169 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 164 insertions(+), 5 deletions(-) diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index aeab69b8..a465e928 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -1,12 +1,28 @@ --- title: "Devin" -description: "Run Devin for Terminal in a secure E2B sandbox." +description: "Run Devin in or against secure E2B sandboxes." icon: "/images/icons/devin.svg" --- -[Devin for Terminal](https://devin.ai/terminal) is Cognition's coding agent for working directly from a terminal. You can install it in an E2B sandbox and use the sandbox as an isolated workspace for agent tasks. +[Devin](https://devin.ai) is Cognition's coding agent. E2B can be used in two +ways with Devin: -## Installation +- run Devin for Terminal directly inside an E2B sandbox +- run a Devin Outposts worker inside an E2B sandbox, so Devin can route work to + an isolated runtime that can create and inspect other E2B sandboxes + + + The Outposts worker flow below is a rough integration pattern. It assumes you + already have Devin API and Outposts credentials from Cognition. + + +## Run Devin for Terminal inside a sandbox + +[Devin for Terminal](https://devin.ai/terminal) works directly from a terminal. +You can install it in an E2B sandbox and use the sandbox as an isolated +workspace for agent tasks. + +### Installation Use a PTY for install and login because Devin's setup is interactive. You can create a Devin account during sign up if you don't have one. @@ -21,7 +37,7 @@ curl -fsSL https://cli.devin.ai/install.sh | bash source /home/user/.bashrc ``` -## Usage +### Usage After installation and login, use `devin -p` for non-interactive mode and `--permission-mode dangerous` to auto-approve tool calls. @@ -32,7 +48,7 @@ cd /home/user/project devin --permission-mode dangerous -p "Create a hello world HTTP server in Go" ``` -## Example: work on a cloned repository +### Example: work on a cloned repository After installing Devin for Terminal and signing in, clone a repository and run Devin from the project directory. @@ -44,3 +60,146 @@ devin --permission-mode dangerous -p "Add error handling to all API endpoints" ``` Devin can edit files, run commands, and work on code inside the sandbox without accessing your local machine. + +## Run a Devin Outposts worker in a sandbox + +For development and higher-isolation workflows, you can run a Devin Outposts +worker inside an E2B sandbox. In this shape, the Devin session is created by +your app or by Devin, while the worker process runs in the sandbox and joins an +Outposts pool. + +```mermaid +flowchart LR + App["Your app"] -->|"Create or message Devin session"| Devin["Devin API"] + Devin -->|"Route work to pool"| Pool["Devin Outposts pool"] + Pool -->|"Worker claim"| Worker["devin worker in E2B sandbox"] + Worker -->|"Run commands / edit files"| Workspace["Sandbox workspace"] + Worker -->|"Optional: create inner sandboxes"| E2B["E2B API or local dev harness"] +``` + +This lets you keep the agent runtime isolated from the developer machine while +still giving it command execution, filesystem access, preview URLs, and any +credentials you explicitly pass into the sandbox. + +### Credentials + +The Devin API key and the Outposts worker token are different credentials. + +| Credential | Used by | Purpose | +| --- | --- | --- | +| Devin API key | Your backend or app | Create and message Devin sessions through the Devin API | +| Devin organization ID | Your backend or app | Select the Devin organization that owns the session | +| Outposts pool ID | Sandbox worker launcher | Select the pool the worker should join | +| Outposts worker token | `devin worker start` | Authenticate the worker to the pool | + +Do not bake these credentials into a public template. Pass them as runtime +environment variables or use your own secret store. + +### Template + +Build an E2B template that installs the Devin CLI and any project dependencies +the worker should have available. + +```dockerfile +FROM e2bdev/base + +RUN curl -fsSL https://cli.devin.ai/install.sh -o /tmp/devin-install.sh \ + && bash /tmp/devin-install.sh /home/user/devin-worker.log 2>&1 & +`) +``` + +The worker log is the first place to check startup failures: + +```bash +tail -200 /home/user/devin-worker.log +``` + +### Create or message a Devin session + +Use the Devin API from your backend to create a session in the organization that +should use this worker pool. + +```bash +curl --request POST \ + --url "https://api.devin.ai/v3/organizations/$DEVIN_ORG_ID/sessions" \ + --header "Authorization: Bearer $DEVIN_API_KEY" \ + --header "Content-Type: application/json" \ + --data '{ + "prompt": "Use the E2B sandbox worker to inspect the repository and run tests.", + "title": "E2B sandbox worker test", + "tags": ["e2b"] + }' +``` + +Then configure the Devin workflow or Outposts setup so the session routes work +to the same pool the sandbox worker joined. + +### Verify the worker sandbox + +Use E2B command execution or a terminal connection to verify that the worker has +the expected runtime: + +```bash +devin --version +test -d /mnt/repos +tail -200 /home/user/devin-worker.log +``` + +If the worker creates or runs a web app, expose the app on a sandbox port and +open the preview URL returned by E2B. + +## Notes and limitations + +- The Devin API key is not enough to start an Outposts worker. You also need a + pool ID and worker token. +- Organization-scoped Devin API calls require a Devin organization ID. +- Keep worker tokens short-lived or scoped when possible. +- For browser-based tools, collect the Devin API key, organization ID, pool ID, + and worker token from the user and store them only in user-scoped storage such + as an encrypted session cookie or your application's secret store. +- This page intentionally keeps the E2B side generic. If you are running a + local development control plane inside the sandbox, wait for its readiness + script before starting the Devin worker. From 20ba19f84c93ff4e949208fae6eaff115f68c787 Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Wed, 8 Jul 2026 13:10:46 -0700 Subject: [PATCH 06/16] Clarify user-provided Devin credentials --- docs/agents/devin.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index a465e928..8737e413 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -95,6 +95,10 @@ The Devin API key and the Outposts worker token are different credentials. Do not bake these credentials into a public template. Pass them as runtime environment variables or use your own secret store. +If your backend proxies Devin API calls for a browser app, the Devin API key +should still be user-provided and user-scoped. The backend should not use one +shared Devin key for all users. + ### Template Build an E2B template that installs the Devin CLI and any project dependencies @@ -159,8 +163,8 @@ tail -200 /home/user/devin-worker.log ### Create or message a Devin session -Use the Devin API from your backend to create a session in the organization that -should use this worker pool. +Use the Devin API with the user's Devin API key to create a session in the +organization that should use this worker pool. ```bash curl --request POST \ From b2d73ded4adc610bcefc77ecfa7d431a2a8ed726 Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Fri, 10 Jul 2026 17:25:25 -0700 Subject: [PATCH 07/16] Document the public Devin Outposts template Replace the manual worker-image draft with the tested setup UI, credential boundaries, workspace contract, and Devin virtual-environment handoff. --- docs/agents/devin.mdx | 249 +++++++++++++++++------------------------- 1 file changed, 103 insertions(+), 146 deletions(-) diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index 8737e413..3d42ffe1 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -4,27 +4,17 @@ description: "Run Devin in or against secure E2B sandboxes." icon: "/images/icons/devin.svg" --- -[Devin](https://devin.ai) is Cognition's coding agent. E2B can be used in two -ways with Devin: +[Devin](https://devin.ai) is Cognition's coding agent. You can use E2B with +Devin in two ways: -- run Devin for Terminal directly inside an E2B sandbox -- run a Devin Outposts worker inside an E2B sandbox, so Devin can route work to - an isolated runtime that can create and inspect other E2B sandboxes +- run Devin for Terminal directly inside an isolated E2B sandbox +- run a Devin Outposts worker in an E2B sandbox and route Devin sessions to it - - The Outposts worker flow below is a rough integration pattern. It assumes you - already have Devin API and Outposts credentials from Cognition. - - -## Run Devin for Terminal inside a sandbox - -[Devin for Terminal](https://devin.ai/terminal) works directly from a terminal. -You can install it in an E2B sandbox and use the sandbox as an isolated -workspace for agent tasks. - -### Installation +## Run Devin for Terminal -Use a PTY for install and login because Devin's setup is interactive. You can create a Devin account during sign up if you don't have one. +[Devin for Terminal](https://devin.ai/terminal) runs directly from a terminal. +Install it in a sandbox to give Devin an isolated workspace without access to +your local machine. ```bash e2b sandbox create base @@ -33,24 +23,11 @@ e2b sandbox create base # Inside the sandbox ### curl -fsSL https://cli.devin.ai/install.sh | bash - source /home/user/.bashrc ``` -### Usage - -After installation and login, use `devin -p` for non-interactive mode and `--permission-mode dangerous` to auto-approve tool calls. - -```bash -mkdir -p /home/user/project -cd /home/user/project - -devin --permission-mode dangerous -p "Create a hello world HTTP server in Go" -``` - -### Example: work on a cloned repository - -After installing Devin for Terminal and signing in, clone a repository and run Devin from the project directory. +After completing Devin's interactive sign-in, run a task from the project +directory: ```bash git clone https://github.com/your-org/your-repo.git /home/user/repo @@ -59,132 +36,99 @@ cd /home/user/repo devin --permission-mode dangerous -p "Add error handling to all API endpoints" ``` -Devin can edit files, run commands, and work on code inside the sandbox without accessing your local machine. - -## Run a Devin Outposts worker in a sandbox - -For development and higher-isolation workflows, you can run a Devin Outposts -worker inside an E2B sandbox. In this shape, the Devin session is created by -your app or by Devin, while the worker process runs in the sandbox and joins an -Outposts pool. +## Run Devin Outposts in E2B -```mermaid -flowchart LR - App["Your app"] -->|"Create or message Devin session"| Devin["Devin API"] - Devin -->|"Route work to pool"| Pool["Devin Outposts pool"] - Pool -->|"Worker claim"| Worker["devin worker in E2B sandbox"] - Worker -->|"Run commands / edit files"| Workspace["Sandbox workspace"] - Worker -->|"Optional: create inner sandboxes"| E2B["E2B API or local dev harness"] -``` +Use the public `devin-outposts` template to run an Outposts worker and its setup +UI inside an E2B sandbox. The template includes the Devin CLI, starts the setup +UI on port `3000`, and reserves `/mnt/repos` as the worker workspace. -This lets you keep the agent runtime isolated from the developer machine while -still giving it command execution, filesystem access, preview URLs, and any -credentials you explicitly pass into the sandbox. + + Start the template in the E2B dashboard and open its terminal. + -### Credentials +You can also start it with the SDK: -The Devin API key and the Outposts worker token are different credentials. +```ts +import { Sandbox } from "e2b" -| Credential | Used by | Purpose | -| --- | --- | --- | -| Devin API key | Your backend or app | Create and message Devin sessions through the Devin API | -| Devin organization ID | Your backend or app | Select the Devin organization that owns the session | -| Outposts pool ID | Sandbox worker launcher | Select the pool the worker should join | -| Outposts worker token | `devin worker start` | Authenticate the worker to the pool | +const sandbox = await Sandbox.create("aiengineer-d56d/devin-outposts") +console.log(sandbox.sandboxId) +``` -Do not bake these credentials into a public template. Pass them as runtime -environment variables or use your own secret store. +The immutable template ID is `myw11k4t1jtjbr7ckvz8`. -If your backend proxies Devin API calls for a browser app, the Devin API key -should still be user-provided and user-scoped. The backend should not use one -shared Devin key for all users. +### Open the setup UI -### Template +When the terminal connects, it prints the exact setup URL for that sandbox and +the command that reads its one-time control token. The URL has this shape: -Build an E2B template that installs the Devin CLI and any project dependencies -the worker should have available. +```text +https://3000-. +``` -```dockerfile -FROM e2bdev/base +The sandbox receives its runtime ID as `E2B_SANDBOX_ID`. A self-hosted E2B +deployment must configure its own E2B domain when building the template; the +sandbox cannot infer that public domain from its runtime ID. -RUN curl -fsSL https://cli.devin.ai/install.sh -o /tmp/devin-install.sh \ - && bash /tmp/devin-install.sh /home/user/devin-worker.log 2>&1 & -`) -``` +| Value | Purpose | +| --- | --- | +| Devin API key | List and message sessions after this worker claims them | +| Devin API URL | API endpoint for your Devin deployment | +| Devin web URL | Browser origin used to open the Devin task composer | +| Organization | Organization that owns the sessions | +| Outposts pool ID | Virtual environment the worker joins | +| Outposts worker token | Authenticates the worker to that pool | -The worker log is the first place to check startup failures: + + Do not put these credentials in a public template. The setup UI stores them + only in the running sandbox with file mode `0600`. Treat a snapshot of a + configured sandbox as secret-bearing. + -```bash -tail -200 /home/user/devin-worker.log -``` +Save the configuration and start the worker. The status view shows whether the +worker is listening and displays recent worker output for troubleshooting. -### Create or message a Devin session +### Send a task to the Outposts worker -Use the Devin API with the user's Devin API key to create a session in the -organization that should use this worker pool. +1. Select **New task** in the setup UI. It opens Devin with a prepared prompt. +2. In Devin, open **Configuration**, then **Virtual environment**. +3. Select the Outposts environment that matches the configured pool. +4. Send the task. +5. Return to the setup UI and attach the session after the worker claims it. -```bash -curl --request POST \ - --url "https://api.devin.ai/v3/organizations/$DEVIN_ORG_ID/sessions" \ - --header "Authorization: Bearer $DEVIN_API_KEY" \ - --header "Content-Type: application/json" \ - --data '{ - "prompt": "Use the E2B sandbox worker to inspect the repository and run tests.", - "title": "E2B sandbox worker test", - "tags": ["e2b"] - }' -``` +The task prompt tells Devin to work in `/mnt/repos`. If Devin reports a +different workspace, such as `/home/ubuntu/repos`, the session is running on a +managed Devin machine instead of the selected Outposts environment. -Then configure the Devin workflow or Outposts setup so the session routes work -to the same pool the sandbox worker joined. + + Creating a session through the public Devin v3 API does not currently select + an Outposts pool. The initial task is therefore sent from Devin's web UI, + where the virtual environment can be selected. After the worker claims the + session, the template UI can display its history and send follow-up messages + through the API. + -### Verify the worker sandbox +### Verify the worker -Use E2B command execution or a terminal connection to verify that the worker has -the expected runtime: +The worker log is the first place to check startup and claim failures: ```bash devin --version @@ -192,18 +136,31 @@ test -d /mnt/repos tail -200 /home/user/devin-worker.log ``` -If the worker creates or runs a web app, expose the app on a sandbox port and -open the preview URL returned by E2B. +Successful claim logs may contain either `serving session ` or a +structured `session_id` field. Once attached, the setup UI streams the session +history and shows tool activity alongside Devin's messages. + +### How the integration works + +```mermaid +flowchart LR + UI["Setup UI in E2B sandbox"] -->|"Open prepared task"| DevinWeb["Devin web UI"] + DevinWeb -->|"Route selected environment"| Pool["Devin Outposts pool"] + Pool -->|"Worker claim"| Worker["Devin worker in E2B sandbox"] + Worker -->|"Edit files and run commands"| Workspace["/mnt/repos"] + UI -->|"History and follow-ups"| DevinAPI["Devin API"] +``` + +The worker, setup UI, credentials, and workspace stay inside the sandbox. The +browser talks to the setup UI, and the setup UI makes authenticated Devin API +requests on behalf of the user. -## Notes and limitations +## Limitations -- The Devin API key is not enough to start an Outposts worker. You also need a +- A Devin API key does not start an Outposts worker. The worker also needs a pool ID and worker token. -- Organization-scoped Devin API calls require a Devin organization ID. -- Keep worker tokens short-lived or scoped when possible. -- For browser-based tools, collect the Devin API key, organization ID, pool ID, - and worker token from the user and store them only in user-scoped storage such - as an encrypted session cookie or your application's secret store. -- This page intentionally keeps the E2B side generic. If you are running a - local development control plane inside the sandbox, wait for its readiness - script before starting the Devin worker. +- Existing Devin sessions remain assigned to the worker that claimed them. Do + not assume a follow-up will migrate an old session to a replacement worker. +- Use scoped, short-lived Outposts worker tokens when available. +- Web apps started by Devin can be opened through their E2B sandbox preview + URLs. From 6cd0e2b29c14f1f636dd86ec6605d472658a0d68 Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Fri, 10 Jul 2026 17:45:09 -0700 Subject: [PATCH 08/16] Clarify Devin control-plane security semantics Describe the reusable sandbox token, signed session cookie, process readiness, polling behavior, and prompt URL exposure as implemented. --- docs/agents/devin.mdx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index 3d42ffe1..a94ea27a 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -64,7 +64,7 @@ The immutable template ID is `myw11k4t1jtjbr7ckvz8`. ### Open the setup UI When the terminal connects, it prints the exact setup URL for that sandbox and -the command that reads its one-time control token. The URL has this shape: +the command that reads its sandbox-local control token. The URL has this shape: ```text https://3000-. @@ -80,8 +80,9 @@ Read the setup token inside the sandbox: cat /home/user/.config/devin-outposts/control-token ``` -Enter it in the setup UI. The token is stored in an HTTP-only session cookie, -not in browser local storage. +Enter it in the setup UI. A successful exchange issues a signed, HTTP-only +session cookie valid for 12 hours. The control token remains reusable inside +that sandbox and is not stored in browser local storage. ### Configure the worker @@ -104,7 +105,9 @@ organization: Save the configuration and start the worker. The status view shows whether the -worker is listening and displays recent worker output for troubleshooting. +worker process is running and displays recent worker output for troubleshooting. +Confirm the pool appears in Devin's virtual-environment menu before sending a +task; process state alone does not prove pool registration. ### Send a task to the Outposts worker @@ -118,6 +121,9 @@ The task prompt tells Devin to work in `/mnt/repos`. If Devin reports a different workspace, such as `/home/ubuntu/repos`, the session is running on a managed Devin machine instead of the selected Outposts environment. +The task is passed to Devin in the browser URL. Do not include credentials or +other secrets in the task field. + Creating a session through the public Devin v3 API does not currently select an Outposts pool. The initial task is therefore sent from Devin's web UI, @@ -137,8 +143,8 @@ tail -200 /home/user/devin-worker.log ``` Successful claim logs may contain either `serving session ` or a -structured `session_id` field. Once attached, the setup UI streams the session -history and shows tool activity alongside Devin's messages. +structured `session_id` field. Once attached, the setup UI polls the session +history and renders Devin's messages as they become available. ### How the integration works From 99836c1654efa1492f21229f8b918a0f1a38a801 Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Fri, 10 Jul 2026 17:54:14 -0700 Subject: [PATCH 09/16] Document shared Outposts pool assignment Call out that Devin may choose any active worker in a pool so build-specific validation uses a dedicated or drained pool. --- docs/agents/devin.mdx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index a94ea27a..ff6a582f 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -167,6 +167,9 @@ requests on behalf of the user. pool ID and worker token. - Existing Devin sessions remain assigned to the worker that claimed them. Do not assume a follow-up will migrate an old session to a replacement worker. +- Devin can assign a new task to any available worker in the selected pool. + Use a dedicated pool, or stop stale workers, when validating a specific + sandbox or template build. - Use scoped, short-lived Outposts worker tokens when available. - Web apps started by Devin can be opened through their E2B sandbox preview URLs. From 66c4a9aead58e21abfa15a1a177cead29021d3d9 Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Fri, 10 Jul 2026 18:33:42 -0700 Subject: [PATCH 10/16] Expand the Devin Outposts task walkthrough --- docs/agents/devin.mdx | 57 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index ff6a582f..b78df30e 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -111,16 +111,63 @@ task; process state alone does not prove pool registration. ### Send a task to the Outposts worker -1. Select **New task** in the setup UI. It opens Devin with a prepared prompt. -2. In Devin, open **Configuration**, then **Virtual environment**. -3. Select the Outposts environment that matches the configured pool. -4. Send the task. -5. Return to the setup UI and attach the session after the worker claims it. + + + The template UI header should say **Process running**. This means the local + worker process is alive. Before sending work, also verify that the pool is + available in Devin; process state alone does not prove registration. + + + + Enter the task in the template UI and select **Open task in Devin**. A new + Devin composer opens with the task already filled in. Do not start another + session or replace the environment preamble. + + + + Look directly below the prompt. Select the **Configuration** button beside + the attachment and effort controls, then open **Virtual environment**. + + ```text + ┌──────────────────────────────────────────────┐ + │ Prepared task │ + │ │ + └──────────────────────────────────────────────┘ + Attach [ Configuration ] Normal Send + └─ Virtual environment + ``` + + + + Choose the virtual environment whose name exactly matches the pool shown in + the template UI. Devin labels registered pools as Outpost environments. + Do this before selecting **Send**. + + + + Send the prepared task in Devin. Return to the template UI, select + **Refresh** under **Recent sessions**, and attach the new session after this + worker claims it. You can then read history and send follow-up messages from + the template UI. + + The task prompt tells Devin to work in `/mnt/repos`. If Devin reports a different workspace, such as `/home/ubuntu/repos`, the session is running on a managed Devin machine instead of the selected Outposts environment. + + The session is routed correctly when Devin works in `/mnt/repos`, does not ask + you to choose a repository path, and the session appears in the template UI + after the worker claims it. + + + + If Devin says `/mnt/repos` is missing or reports `/home/ubuntu/repos`, stop + that session. Open the task again and select the Outposts pool under + **Configuration** → **Virtual environment** before sending it. + + The task is passed to Devin in the browser URL. Do not include credentials or other secrets in the task field. From 5ffcce05b31d8927b53164680eb284d75d703010 Mon Sep 17 00:00:00 2001 From: Matt Brockman Date: Sun, 12 Jul 2026 22:16:26 -0700 Subject: [PATCH 11/16] Document organization-bound Devin Outposts tasks --- docs/agents/devin.mdx | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index b78df30e..a09ebc0e 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -93,7 +93,7 @@ organization: | --- | --- | | Devin API key | List and message sessions after this worker claims them | | Devin API URL | API endpoint for your Devin deployment | -| Devin web URL | Browser origin used to open the Devin task composer | +| Devin organization URL | Full `/org/` page used to open the task composer in the same organization as the API selection | | Organization | Organization that owns the sessions | | Outposts pool ID | Virtual environment the worker joins | | Outposts worker token | Authenticates the worker to that pool | @@ -109,6 +109,24 @@ worker process is running and displays recent worker output for troubleshooting. Confirm the pool appears in Devin's virtual-environment menu before sending a task; process state alone does not prove pool registration. +If the template reports that no Outposts pools are available, the API key cannot +see a pool that this worker can join. Create or assign the pool in Devin, then +run **Check Devin account** again before saving the connection. + +Copy the organization URL from Devin while that organization is open. For +example: + +```text +https://app.devin.ai/org/your-org +``` + +The organization selected in the template UI controls API session listing and +follow-ups. The `/org/` URL controls where Devin creates the browser +session. These must refer to the same organization; an origin-only URL such as +`https://app.devin.ai` is rejected because it would inherit the browser's last +selected organization. Confirm the pairing in the setup form after selecting +the API organization. Changing either value requires confirmation again. + ### Send a task to the Outposts worker @@ -118,12 +136,15 @@ task; process state alone does not prove pool registration. available in Devin; process state alone does not prove registration. - - Enter the task in the template UI and select **Open task in Devin**. A new - Devin composer opens with the task already filled in. Do not start another - session or replace the environment preamble. + + Enter what Devin should build, change, or investigate. The template adds + instructions to use `/mnt/repos` and to stop when the wrong virtual + environment was selected. Nothing is sent while you type. + + + Choose **Open Devin with this task**. A new Devin page opens with the prompt + pre-filled, but the task is not sent yet. - Look directly below the prompt. Select the **Configuration** button beside the attachment and effort controls, then open **Virtual environment**. @@ -146,7 +167,7 @@ task; process state alone does not prove pool registration. Send the prepared task in Devin. Return to the template UI, select - **Refresh** under **Recent sessions**, and attach the new session after this + **Refresh** under **Sessions claimed by this worker**, and attach the new session after this worker claims it. You can then read history and send follow-up messages from the template UI. From b985f672f28c96796183dc48d2689c2c067d63a7 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Mon, 13 Jul 2026 18:50:29 +0000 Subject: [PATCH 12/16] Updated mintlify pages - Updated docs/agents/devin.mdx - Created images/devin_flowchart.png Mintlify-Source: dashboard-editor --- docs/agents/devin.mdx | 136 ++++++++++--------------------------- images/devin_flowchart.png | Bin 0 -> 29402 bytes 2 files changed, 34 insertions(+), 102 deletions(-) create mode 100644 images/devin_flowchart.png diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index a09ebc0e..195aa779 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -4,17 +4,14 @@ description: "Run Devin in or against secure E2B sandboxes." icon: "/images/icons/devin.svg" --- -[Devin](https://devin.ai) is Cognition's coding agent. You can use E2B with -Devin in two ways: +[Devin](https://devin.ai) is Cognition's coding agent. You can use E2B with Devin in two ways: - run Devin for Terminal directly inside an isolated E2B sandbox - run a Devin Outposts worker in an E2B sandbox and route Devin sessions to it ## Run Devin for Terminal -[Devin for Terminal](https://devin.ai/terminal) runs directly from a terminal. -Install it in a sandbox to give Devin an isolated workspace without access to -your local machine. +[Devin for Terminal](https://devin.ai/terminal) runs directly from a terminal. Install it in a sandbox to give Devin an isolated workspace without access to your local machine. ```bash e2b sandbox create base @@ -26,8 +23,7 @@ curl -fsSL https://cli.devin.ai/install.sh | bash source /home/user/.bashrc ``` -After completing Devin's interactive sign-in, run a task from the project -directory: +After completing Devin's interactive sign-in, run a task from the project directory: ```bash git clone https://github.com/your-org/your-repo.git /home/user/repo @@ -38,15 +34,9 @@ devin --permission-mode dangerous -p "Add error handling to all API endpoints" ## Run Devin Outposts in E2B -Use the public `devin-outposts` template to run an Outposts worker and its setup -UI inside an E2B sandbox. The template includes the Devin CLI, starts the setup -UI on port `3000`, and reserves `/mnt/repos` as the worker workspace. +Use the public `devin-outposts` template to run an Outposts worker and its setup UI inside an E2B sandbox. The template includes the Devin CLI, starts the setup UI on port `3000`, and reserves `/mnt/repos` as the worker workspace. - + Start the template in the E2B dashboard and open its terminal. @@ -63,16 +53,13 @@ The immutable template ID is `myw11k4t1jtjbr7ckvz8`. ### Open the setup UI -When the terminal connects, it prints the exact setup URL for that sandbox and -the command that reads its sandbox-local control token. The URL has this shape: +When the terminal connects, it prints the exact setup URL for that sandbox and the command that reads its sandbox-local control token. The URL has this shape: ```text https://3000-. ``` -The sandbox receives its runtime ID as `E2B_SANDBOX_ID`. A self-hosted E2B -deployment must configure its own E2B domain when building the template; the -sandbox cannot infer that public domain from its runtime ID. +The sandbox receives its runtime ID as `E2B_SANDBOX_ID`. A self-hosted E2B deployment must configure its own E2B domain when building the template; the sandbox cannot infer that public domain from its runtime ID. Read the setup token inside the sandbox: @@ -80,14 +67,11 @@ Read the setup token inside the sandbox: cat /home/user/.config/devin-outposts/control-token ``` -Enter it in the setup UI. A successful exchange issues a signed, HTTP-only -session cookie valid for 12 hours. The control token remains reusable inside -that sandbox and is not stored in browser local storage. +Enter it in the setup UI. A successful exchange issues a signed, HTTP-only session cookie valid for 12 hours. The control token remains reusable inside that sandbox and is not stored in browser local storage. ### Configure the worker -The setup UI asks for credentials and routing information from your Devin -organization: +The setup UI asks for credentials and routing information from your Devin organization: | Value | Purpose | | --- | --- | @@ -99,55 +83,35 @@ organization: | Outposts worker token | Authenticates the worker to that pool | - Do not put these credentials in a public template. The setup UI stores them - only in the running sandbox with file mode `0600`. Treat a snapshot of a - configured sandbox as secret-bearing. + Do not put these credentials in a public template. The setup UI stores them only in the running sandbox with file mode `0600`. Treat a snapshot of a configured sandbox as secret-bearing. -Save the configuration and start the worker. The status view shows whether the -worker process is running and displays recent worker output for troubleshooting. -Confirm the pool appears in Devin's virtual-environment menu before sending a -task; process state alone does not prove pool registration. +Save the configuration and start the worker. The status view shows whether the worker process is running and displays recent worker output for troubleshooting. Confirm the pool appears in Devin's virtual-environment menu before sending a task; process state alone does not prove pool registration. -If the template reports that no Outposts pools are available, the API key cannot -see a pool that this worker can join. Create or assign the pool in Devin, then -run **Check Devin account** again before saving the connection. +If the template reports that no Outposts pools are available, the API key cannot see a pool that this worker can join. Create or assign the pool in Devin, then run **Check Devin account** again before saving the connection. -Copy the organization URL from Devin while that organization is open. For -example: +Copy the organization URL from Devin while that organization is open. For example: ```text https://app.devin.ai/org/your-org ``` -The organization selected in the template UI controls API session listing and -follow-ups. The `/org/` URL controls where Devin creates the browser -session. These must refer to the same organization; an origin-only URL such as -`https://app.devin.ai` is rejected because it would inherit the browser's last -selected organization. Confirm the pairing in the setup form after selecting -the API organization. Changing either value requires confirmation again. +The organization selected in the template UI controls API session listing and follow-ups. The `/org/` URL controls where Devin creates the browser session. These must refer to the same organization; an origin-only URL such as `https://app.devin.ai` is rejected because it would inherit the browser's last selected organization. Confirm the pairing in the setup form after selecting the API organization. Changing either value requires confirmation again. ### Send a task to the Outposts worker - The template UI header should say **Process running**. This means the local - worker process is alive. Before sending work, also verify that the pool is - available in Devin; process state alone does not prove registration. + The template UI header should say **Process running**. This means the local worker process is alive. Before sending work, also verify that the pool is available in Devin; process state alone does not prove registration. - - Enter what Devin should build, change, or investigate. The template adds - instructions to use `/mnt/repos` and to stop when the wrong virtual - environment was selected. Nothing is sent while you type. + Enter what Devin should build, change, or investigate. The template adds instructions to use `/mnt/repos` and to stop when the wrong virtual environment was selected. Nothing is sent while you type. - Choose **Open Devin with this task**. A new Devin page opens with the prompt - pre-filled, but the task is not sent yet. + Choose **Open Devin with this task**. A new Devin page opens with the prompt pre-filled, but the task is not sent yet. - Look directly below the prompt. Select the **Configuration** button beside - the attachment and effort controls, then open **Virtual environment**. + Look directly below the prompt. Select the **Configuration** button beside the attachment and effort controls, then open **Virtual environment**. ```text ┌──────────────────────────────────────────────┐ @@ -158,46 +122,28 @@ the API organization. Changing either value requires confirmation again. └─ Virtual environment ``` - - Choose the virtual environment whose name exactly matches the pool shown in - the template UI. Devin labels registered pools as Outpost environments. - Do this before selecting **Send**. + Choose the virtual environment whose name exactly matches the pool shown in the template UI. Devin labels registered pools as Outpost environments. Do this before selecting **Send**. - - Send the prepared task in Devin. Return to the template UI, select - **Refresh** under **Sessions claimed by this worker**, and attach the new session after this - worker claims it. You can then read history and send follow-up messages from - the template UI. + Send the prepared task in Devin. Return to the template UI, select **Refresh** under **Sessions claimed by this worker**, and attach the new session after this worker claims it. You can then read history and send follow-up messages from the template UI. -The task prompt tells Devin to work in `/mnt/repos`. If Devin reports a -different workspace, such as `/home/ubuntu/repos`, the session is running on a -managed Devin machine instead of the selected Outposts environment. +The task prompt tells Devin to work in `/mnt/repos`. If Devin reports a different workspace, such as `/home/ubuntu/repos`, the session is running on a managed Devin machine instead of the selected Outposts environment. - The session is routed correctly when Devin works in `/mnt/repos`, does not ask - you to choose a repository path, and the session appears in the template UI - after the worker claims it. + The session is routed correctly when Devin works in `/mnt/repos`, does not ask you to choose a repository path, and the session appears in the template UI after the worker claims it. - If Devin says `/mnt/repos` is missing or reports `/home/ubuntu/repos`, stop - that session. Open the task again and select the Outposts pool under - **Configuration** → **Virtual environment** before sending it. + If Devin says `/mnt/repos` is missing or reports `/home/ubuntu/repos`, stop that session. Open the task again and select the Outposts pool under **Configuration** → **Virtual environment** before sending it. -The task is passed to Devin in the browser URL. Do not include credentials or -other secrets in the task field. +The task is passed to Devin in the browser URL. Do not include credentials or other secrets in the task field. - Creating a session through the public Devin v3 API does not currently select - an Outposts pool. The initial task is therefore sent from Devin's web UI, - where the virtual environment can be selected. After the worker claims the - session, the template UI can display its history and send follow-up messages - through the API. + Creating a session through the public Devin v3 API does not currently select an Outposts pool. The initial task is therefore sent from Devin's web UI, where the virtual environment can be selected. After the worker claims the session, the template UI can display its history and send follow-up messages through the API. ### Verify the worker @@ -210,34 +156,20 @@ test -d /mnt/repos tail -200 /home/user/devin-worker.log ``` -Successful claim logs may contain either `serving session ` or a -structured `session_id` field. Once attached, the setup UI polls the session -history and renders Devin's messages as they become available. +Successful claim logs may contain either `serving session ` or a structured `session_id` field. Once attached, the setup UI polls the session history and renders Devin's messages as they become available. ### How the integration works -```mermaid -flowchart LR - UI["Setup UI in E2B sandbox"] -->|"Open prepared task"| DevinWeb["Devin web UI"] - DevinWeb -->|"Route selected environment"| Pool["Devin Outposts pool"] - Pool -->|"Worker claim"| Worker["Devin worker in E2B sandbox"] - Worker -->|"Edit files and run commands"| Workspace["/mnt/repos"] - UI -->|"History and follow-ups"| DevinAPI["Devin API"] -``` + + ![Devin Flowchart](/images/devin_flowchart.png) + -The worker, setup UI, credentials, and workspace stay inside the sandbox. The -browser talks to the setup UI, and the setup UI makes authenticated Devin API -requests on behalf of the user. +The worker, setup UI, credentials, and workspace stay inside the sandbox. The browser talks to the setup UI, and the setup UI makes authenticated Devin API requests on behalf of the user. ## Limitations -- A Devin API key does not start an Outposts worker. The worker also needs a - pool ID and worker token. -- Existing Devin sessions remain assigned to the worker that claimed them. Do - not assume a follow-up will migrate an old session to a replacement worker. -- Devin can assign a new task to any available worker in the selected pool. - Use a dedicated pool, or stop stale workers, when validating a specific - sandbox or template build. +- A Devin API key does not start an Outposts worker. The worker also needs a pool ID and worker token. +- Existing Devin sessions remain assigned to the worker that claimed them. Do not assume a follow-up will migrate an old session to a replacement worker. +- Devin can assign a new task to any available worker in the selected pool. Use a dedicated pool, or stop stale workers, when validating a specific sandbox or template build. - Use scoped, short-lived Outposts worker tokens when available. -- Web apps started by Devin can be opened through their E2B sandbox preview - URLs. +- Web apps started by Devin can be opened through their E2B sandbox preview URLs. \ No newline at end of file diff --git a/images/devin_flowchart.png b/images/devin_flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..45891e3051a1a3833fa84591a7871680dc97349b GIT binary patch literal 29402 zcmeFYd0dj&-#=`dHI+HlG%apzGfrh{nxf)TGgD@kR&KdLYG{hM28aq&&SXt4m8F>r zHI}=Q3*ZJ=mZ&IHDk!K}h$M)l1c(Uy?EBom`?>#r{(1hm&+7#jXW?9*^S;jKeAesk z1uu7lje9og>FF7GocZ&Tp5CT7J-t=z4f-oBn4T}hmCFwaX9AP;^nU*3`)8HMrGsBr z8doJ>a{pbgo?$$*Qdt{y^886Xy@uRP%VFzQ>RYa#x_sRyKJq#;ED54_Iywp#R@#ss zp{JMR=ke!B-;`CeBV5 zB5+$TV*n3yn>==L_=|qE(Re5o{B})sW1|f?(w|x&6%<$Ob@vry*J4@-A?;y!UJ^4B4

|NhX)WWb)~xzj`c^-Vr}~|zvboD% zIy$mwNX;6?s+;cM(nl&JdJeCcwSRVeoxiiwjUr2J3cd@#>1tX`J99b~=e6eii{ug@&{YjTxn&*Uof`0gX~n#YFx+ilyo{3;$cblowil?oy9 z!^NvPdDcGqnde=zJl)1~aeJWaO4mzVZm?n`Qe)yLeUXUncltR{cA|ljvw)wfy_h|6uZ3!yA)xL z?hMz=*=_}EX1${NS!Z_&i_;tX5l+DvJ4-?KCG0$@VX43=c=7={?#m?m^(wPr#B2@p zhCizW2pGY{3V&DC*@lK(K)&fhOW#op07EsrWz<^$W^3mU0r1b#^ux{O`)+R~x@~1+ z7U>RHP5gfCRQ=788(n_rc9iDpXzsgVrp~X!^u(Ad{2YnIucIyo)@tT;J0GCiJ7*rk zuMkfGFl4OeNTSLNeV~4=9$lCQzT+u%HVXwGyT0||L66J=%9657J+Ud#+BC|i0g^%;($|D{$M*(Wq%(Xq3mfo%dZn_*U+T-z1QG`(zeu>lZDcUiEGwULI zwD%|=vPLfaSG{2F#p1Ob^iX?_miD{SrIa6~@|pC`ZGF!qwbI7;Q@~3PUzB+T?$qIQ z8n4iF+bg}2ZxYHbDFk=E_!Sl6@o-CN$JEvm$!knZ@u1+jBEFQ^vpzU{UIlBmb9F(4auTHZYV&f4;C`#rNg6+dae7BqytfL*r4s+#U- z(^KJmHd6F<(<;x&F0E6TRuQ_WU)r1%_=W!OaFm)duC1#$)Oh{Z&|2{d@Q;LibdYAD z;&ZxAk*cRmmu^a&F_+Q=05yi=MmCzylT5Cq-~3C34o8O1Zwy^XfJuUFIfj!c~d_jC67Y)3@GPlYa`#{xY)ObeN#rpVa)1aqIpY z#mPmdihK<9bD(VQ%Eom{F!^CVd;;P+|FYU1RvhY|H!}Kx{6OT>*fHkrkxKt zDm8Cn_wtXsuD(|oy56Dd26gSpWn>D+XK(x-X2rc_ZEiRW0*u3`@7+79^zxmw*Gp(g zdO?g|-p|SkTH|i+9;KSL3YTYi&rDu%yc#;lwslh6q%D{u)tjcw=CVYq|14&H$hjeq zUmvRkMq8J0lKc5LXzd^hfv}fzOa`(!C)y z5;zewHTlD8(yAM2{=Xj6ytZ275YFq-V;QcCYcg)LZBQ7jtSh3=2-h}(I%sD>0OE3^ z_2b(1>d}wH-U<8!i%J4$@dcs za>c5GyMpvvZ?`+_pY24%PS}5B(0{&0@RAg{w^ZMAFD_kG;C64=5MyT_zG`jUn*Sct z={i<8m(|gs6}lPZzs2cDB^9qJ#+$zS{`UwyJwy3xX2en*`1JBs;N@*PMLbel)V+FF zqS605MiFLncNmwx%i@7q2UW(4vAEF*yAknB+(vLEf2dHlspFK<2U7lBiume}oBKBN zIg9C^89};#wl#3BWZ%&#%cI|?a@ca)mAQV2^VGG4bb1hQdj`NiHl@rI6z7`HK0{+Q z=>eH4{CDFo!6Fv_R%FOCOgXsnU`k&-&(I=p3*o2q^>`+(eKYLa_jYeG*gSnAiHCnT z3oKs5aH5) z{SQ6!D@Zw?{Nn^7XMdh9UOqE+)kZ~dJ-@`p8#Y1olrO&z(sLM%GtlALS9WxD{=DOD zhwQKRNUi*njue3sOl}n}U0*RxR|d_OZqzG%k$zmr`RbHGB#AP#^5IXPPwB(JvtaP< z=>h3fI%(-!(5yZpUNJMEPki}S+x!jLU zIJEz3nPCsDS)oHmrvOb@X$0`ZcvvtPmY;XvhtT+iC*ocy7BX^s{en#dx*)S4Sc3V! zUv6xlI*qG0z}J{1Iz5ddd$Ths9S>#ivM{90UnmdINnJu)wRyzt=UA%(BtRXW87)3m zp-b3cZKfQEG!xc+NaDJ75C57Qe2n%!K>ae3EJVY`+fFlkMSHd|x%oE|#S8Y&xtt;e;EX|gJl-!`llf>l6LY0nl%@F`ab$#<3kHy=g zT3nW9$&u&+p>aElbAO`f0WE|fy2i^Tg*kC<%Rgxdk-MRZcNR!mcV=lV^`eK9!AuR# zrK3$h#|WN%(Bs}2u=daEXtxgoH-1r;SiN1U6MD0F_?3?HqovCe_mr!jd;e7quDkUT zzeQSOILootEPT~Yf5m{z_$6}~-eiZi7uY4v4x@P5E=^g&o5)V-t~K$Bg=^etIh}~= zD8PTx1P?SL)RsA<=x-XXEo+{Y6CYrjFu*wSw^v9qqfCPSYf5*L@Jzq-2T zsR&_|;wUG|6YGBE*{0%eF|$X7=tBti9uM|uT>RU)4c2%=dioKBdqJzsl<;NP(rLhf zGwHbku<=4sS%5C6Jgjuj>o$UEdl@5S24U3`V#+E!P~`ntTXqV0+TLus&|b_$DRHZZf+@ah{APO9y#vr=U{{dL zAN2l?dZ(U$raZrHgxvW+T)R95Tgb!58^}P;oeNg9xpjr?%nwk}hl-ij4@ovpmVU?8 z(=_*tN#V-Gf1!VXh_{!gl0YyD5;{UEi150gF$I||q(FN3r^k3W$+}W2L8arssploq zto+A2Q3=a(CK64qDU^)D54EmlncF4uq+8oIxKkeT0jm zUeQm%Z$bZUmoykOE0I43D`Uo_UA2@6@jx@-`@JVeQV#2-JS2vb_~|fKX4!)fB8OeJ zX$$;j7`(ZbJO7OELEWBcO{h19FU8?#?OmzdO$VgYQC;HbJQC10U-@#4g&SCS>QQ!! z*;*GX9T*D28|dQSW*kUn3ke<4TvzTt8KGl6f~gH|gHK9m1N#KR_~V0kTEsriu+QBvnf< zn_wZNZ3HjZpfxFHC*pO$kw zZzqhhZQ#^>m#a6@bN+2|U3;Etn~p?ZX39s%mwjbpcgODmTD3t!3;4e2^qeQIv7SY= zAa7vO66@83{1Y&^%XzEPYS*~!QuY)D1yn|_AfeaU>sJ;c{nqY>4amWae_K`l)D@qb z81Y2f_dfS$^&<^z_nDHLlLdV3b{Q*EPb^9c$yIAI)eq44__uMq$%5OkTFUFd11Ku6 zmOmWU&c*nApVe#MO|G8z<(x5_>wQs~+Mx97LxSK2V3LgW1*)Q$&IHzPF6*4Ku`=9w z$R;JNtk8T-yA_RJwdo+t)a>WYrK<+qa>nnO*~NStw`ZzDFgfQmtgoo@I#@9j-4pQll=X zn4(f6OB=H5l;JZ7>riNQ06XKUD4K37+ zMtr>_fX)OnKUDLthQvc%M5bT&q+zV4>x#i>0b7yC5El%j z3oE(M2CiE%*C!*Xb_;#=%H)$jt?+ij=5HkmRM=#<^~dXo?x^(|7U*@W>I@U3ogD#- z2d7ge_N4&baEu_3ZfQ0P0-Dpc8>i7Xt>1ZD5JxyE(1^3299yk;HIaVs%R7{6RJb7f zcVINkZ5-y>KGJVn*wCNqJ2M(-7N5Q5bEe*m(PLT|dTa7&xhX~W@!Ep?obAF0#wwRS zj6xL>3^Xs2zw@YG#oG>Ty-Rr%`18B4zh+VBQln$-*d%}OHN~MEcam$nJ8oP)LhIoU z(>PX9=qJsNef+Bor?Syf`hd{rL+oHNr7MtI;kNbr8h345S!34mn{U)5*cH)@E>xlr z3%q~Ur40$@lxc=V(r4Mt>-zG%o_5&-OYYWf)3Ru#`z1^NLlFRz`#q0ZQ|0!Ng zkN@w_mFwh%AI83`@c&gDuC6HX|F^OdoGJXD=F5#geogovHpb-r{||q4*)i5cB>r4r z8TyY*$fSuxF=OO3fIR@fm$ShOHA7w5Pf zYT*|8($W%xa!$x7QTId{85zxsYVZ?WX4*j7{O5NmDnS7J@SoL(wiAo@vSbio~ zfVkEmR^k|F1+2xwVG`mA`W}IDs@bOzXXPWegQ|@UBg+KZ|Fj`{ zw+#6t5oc`6L+@)_@!Eyzl0H@G5|L7}5(HqrySLL2LPpMwwUTn6?0WbL{Xl&3Qdq6j z;RU_GN*c=_C;}M5T?kf#9nM3T3Fri+vmKdk`iq(5Sm{d_R;za;dSYjXS+5dAuSVs1 z?vYYCX06OzA6MmB>|*S79_pCodW)OOb-E8t=KOfsZqnpy5KpkCw(YhcF+}_{c6+1>=tYX>xjwR?Ua|xX<~ipwyOT( z#LL$Uiv=K5vC}Mp4JsPt6{9eZ1k}k@v{|sa9V$ylg}NxaIM|Xw1hge}}pcpRUvP83E#qMX8N$N7a_RRB>Ia zY$__38=v~or`wvgVi^Mw(zQJoZ$SUz8;1eiDU1gfl2Wy}vSUJ%P4_x{_7((}kvhJ8 z^aP3-O2^Mlz->9XH39fJV>QjB5HfLR9A2AzT+(si7oPCikP54vTL3)Z(I3=!PQN^@ z&*Z@{(rm!QNFksg52b$%K4@#Cp@Q#@P;5rC>Lxp@O)J~l`y>{*JMB^f@-?j%Wj9xu zfAGLV7dlcW@{$@Q`N+noLh6@_V~`?Sao&-DdgqVZF+W4_6>D8`C>cT!5WpSHEz9{3 zCV;!ej5n3`B<>lO%HI6F$vge0^_T5Kd9Yo_T7OO~#|OBz?3mrkW{HuI|iBzQlRH8_*EI3n2zh%Om{U;)#Pc<@>?H=J~w$X1{XX3zI@eg@x?RKEyR# zrdJS_X+}_SwFlSJg3Qo34?uHn6O}F<#NjrYHy_p3^f&z^cA64S?bE^D@Cu*0hv8%mcZk5;ehkLF1=+ zpBg`$H)n^gb!<`mo61^;dfgVMtuBf-4akqOys^fdJ5vc|l)9uz;ra4-vYf?mj7I!J zlsM#j539WQU)gf`taz(gy;3eZx@xSQgK4TQ6YD>ZEr5XE@7M3@L4eaN6E4_o_@j@~ z(Dv#Qj(`IB25+0Z?%;whXsRDHo<1c}>|rG$eNpIQ`H(?)T2)c+mWKuI8g1VDIVu9X zfpO#IE6f=8`HmWEZ=!*6;}~P{o(1!80x-fTN!#ICfD_(8MT64n$QMcBkffmMPDwg7 zz%{2PuUI)~ft5<)H#;1rRb)Sf57)l_>2P_&=UvbsR#Y@-b__FJ`0}$~)bQ3FT>+9} zgbC_A45W@?+4lz_hBZyo(FGs6#~M#K_Ad%cLCaqSswezr9_^?w!ZIqF3a0ndVsZtq z7F3se19|uvl_tc?rLk?8!epxdQB6eHLp6N&RF<>+vhb1k>B`nvm*>O zT2QuHbZih-ty+-H^Fw79Ct;LsRsE3bQZkEw)(kPW0BjnvC(*(?bX?w9)69l>9vh^_ znOh6;R>1MkS$?95eaH z{1TW7C-4ns5#hd%<&x#r;^KV4)Zz!*K*K4ug^o*$6?O#9Wy_o}vFDGri#{QOhFkp% z*^N!T=QiVo`O?$Hk@~|6!A~f%e!#W{1k_KfM6Xzz0CETa@iO(C)y& zMq@@&Tc5(>05|CvU0@;PBo8iodC`4&_~en0(-b@^IWRDDYQa_l&na3FI#5TxjT0}* zH0o&l7$%mqkFE~n0-&YUbPfzA&PJ3tf-Rdw^?}@iLC!KGMm>i#vL&b~ihy7oL{oqx z$*-sNSHnW_VzfjWf(*`_UJ^>Eh``6V`E)+db0AMARG%XlMw#HqIbb4?hQg~v#s}Qu zxlIzO%;ALY|P+6_qy&LjwYi8zk-6|n=~*bwTU zf6wu#58;6bP9QX9#d0AikabO5t?YJjJWB|}@={bEhTLGLHcS|>N%V%3A0s4ixy0Qy zriCQ$7;p~v_HZeT8Mq)L8p^`xFjD)9H;|Lh=Lcx2`4Mi6cnsb(o-6ZSAf^4(d!X9U zpb^9MPFtun{X^3dU3!?kv$Y;2Y2`o3IgHP3FAZcT&^WR?G3}9|$6aaHWH$CS4A&f5 zbUN9;4M)+2@G8{7yQel*ba_N)5;axBNLD#{=^_mhBwz23o4|0k4(s<4!NhwU3}tya z4E==WSTfato4#($C2^h?BWP9GL68$Hpo+4j$8~Kz+)hg@Qnhi6eo=p^w)7m$sS;m| z;5+pEW7N;~t6;%veBoi-%pgunA&Pq+&u!_oFK;fXApcy@aGMV&9D9)Yz~;7N{y^Be zIFeg`<^b2;U;H^*dqw2#>()t(X!ZIQ!^t)RASi76<>XdLbKvVf745z_W(~-2PfIAO zIh@q!VT#vptf~k;APECYh#=Rd3BhRsUWmdE~Ljzy@ZXHTc zmqp_{B^E{1A=SxuEHbK{>5XaWva`bwKP_>v+RMYw&Clex>xXlEue^Sy10JSw0)fXn zhe1r}boP}sP7w>sXx2h?-c{Bq2?}tDD48Zt7s3~g1HFolis&Rc>RJ9GMZ~5?=rYt&>liEn$@FBlw znC5%(?MundB0pyTVWXN*yBeIe4;Mj)kajx8lqQ-s&OP1HGM@j5Z$l0RNy-v~2`=Dk z@vL6W1!>bNcnA1h*li83Y-BSEnimn&d&mh{A=eX&K8)jw_{ zrOq=qxe%6~bMDjXbI!Ay2JiJjgQ+Idsisl5X3ZKxabk7E6TpFiOMt7{T=-*-?4Pcd zdO{EXU_u&ZTgyQ7cdZ0D{kEz9>?oth1~^!2Q@1o3bN?^I`|_uz$$dQ`{%E{Ob3Ev4 z@;hf=(6qo#Shz!Z%**b|R0@i}Je1y)@5mSg-Q-Gaj(Ej%)T3l`0JrtyW`;#ktW?^X zf-EXm`)f?;ylbglU1*eK(0(z2g{e|0oG3exehQh9!#^)f`l6A=oJx3hqn5$NyxOz) z9G<+(x@rhsHSgT?*_x|u4}?T=F}rzRgAyOv?M-@DF>O<$@qtXF7;$d?#erT$p3VRh z*60U}jw`~Zn>mWEjvt~g-sF0}dk8gy6L9XAhWX}6Bl6U>r?%j=(?#)f&Njc8(LcIA z-Je;BS85DnqDrmMGb_q!jG4Ke_`{__(w=bbiaw~koyugRE8x!61)$XED72%oCS`-V zKfra{uY&=Ug~#g`@@#afJIt}UF=8=*T0jpnx=m(A6GB^Oi}AWOj_?T*|^=i!}+gp$^H(Fh~?J*`~8AAw@0kC{P9a9GO06E5KdjmvOi+FYw}&V=Or z^JArNuBulmNJ_%8l&sUayHf>^1Lj;X`^?^5$Th0uUBcwky<6-5qbfz!rTfOJi|XOi zy4JBr)RL#>V7x)@jVjs>fpl*Hjw(3UI=7+>zYR;#2K-vE^pEmV=UoDs7Nsw1F1)la-jUv~+9c_wI5=x7$giL`D6-!8NJbGV{>_uO21`E>z zaUC)S&d!!cIM=ptMYf=Hhzh9S>An4W|wW9l?HFZw=guSWz=uIdAI{0*spd%2(;y2ewEep7= zn5LzVk#c1@5o;|h0f3LtWry>cKt^tR919+BgVD`)@p5*K_$2~2)!3-*Q&q=#h`SCn zHj#_uCoopx&p}?*?swR&C;Bu+n)`(KD44Egpjb!J3>*?xX@Vq^Az&|jazjXz06C@w z*;7?VQ1vE8tIS!MY3T^6iwfsDGV#y$7cRLB8N{D2~`1VVdZnB3$V-@P%b>GlohAp(jQP<)69>GoCU6?cxo8|{>sI!Gm!~o~a z-Re;4vh2UBMru*A{=Vd1O{s(xh^m6KDV5^t9i%*(jWRKs`%Fbn=f&Xn`C=AEgy|9r z-X8sKBSE}N7bn!{S2I6XE*pA7Gn1a0Aedred^+T`hc>vf7S~0XPWv|-P?!IjA-sZ@uk&^3oq*Y9wXK@A+I8DUVfdx&tqO1JRo7>c_BkTGHOLX4~ z-@jYjfLZ37VPC}dZSSqs9lj5Qs7fJ8C0B?ixlLZp!Kja+0w{OVl#SkT^*%gq-9BGb z@J@+OiD7fe`r+t{!u9Z*)T<~Es$Uv_sXnIn%FVp2zN#qE#&0wbU`+&cPPbkwq4__H z%`f9KMl-I(-x=_FaJZl*<8+DDD)UgJ)+fqqu7@aDH>8@%J^*>{hx34kh&M zY)FpfJoo!G+ovii2D)qcsQPDRTlr%Firc-5mtbp}U{#=c<=WL3HN1Tk7l6J!imArX zV=@F$D9U|0$VeZxtHueyE|K|nymh$Kx|-LR?GJlZT*2uiFluv?(7THoa2QEUgxT@9 zXb`45(PKwTF^aAMt7}AAkLXpefi}_|#+PMT;z#|-MxGD3rSxkR*-CI|RNeBlxcVNA zdjVA~elyAomV6Fjq)=JU3WiCqSYw<0Z+;q%!=HQ|X9&2;wP)!1z)+9a;2Mi z>2mOvfZ3_q=m<&U;c{u1W`#fRvnTzlL{A>c!6o7V@OY~2{aFVq*!V;GHTCgeKg4un z%;eNRegleg;}@_jEft?jxTKdz_xeYo93EJKXIii0-W$l0v-wIl!aIW<(R`v|d!>vzSet ziYDi{(G68RRNC0W!FsQRBMJL9aWdfy&}^tf3Rs zJ^>5x$c4i6#(}SGTI>@FvG5y#j$k?6V_G|3fsl1245MC>&HxdZ0M=NU{Yl(-N;LaN zT9ZHPgZ#xmsT(^lvjY4;LXXINy1XPaTR*>KO#MOMY{&zFxHi>#uD+&kxc`sfZl?H7 zw6GA#AG)Z2pcrvJbdC8?-%@lHlmjF|zt!yVXm@cpDaalsrWY%^7jKWCa0Sk~0p}dx zLUJl=mEB6J#Gg-WY8chhDFn0a$p<2^TYUw8gM>h)peD2<%=wy*?1Er`S@BO;*-4Vh$eSi! zRpFzfIiR47D5YrFOdDR|g@}+uIDRZz?m@k2xfS4qikuI z(?$|KrP*0B#s4C>aV2)%)kSR!9nVWe7XY_jl26a}F-1Rkx0Y5TlfbOM`3;Gh5q*+h zXe)u1Js{B*!Jk*=6JoW4>&Jn*uT?F^3E_3$uw&y!$*vs%QVq=zA?lDjJgnr9TZLEa3cg3!M(qq$6dS^&~m^E<0 zv5p0P-6CJx*>(qvsy9C|WW#|L*AXI{dp5Vltf?0P3AN|s2P-&OnTT6mWD3D$4Tt~( zeBY|lvmfefSjXzui_7_!gom5ztNc#{)|bWg)r(VG%{ZOSd&uO|8|sRNSViXXzNMlc z&a2w1Ke*PE#=EPEf1w5g;z(+I4yx3BsL_T8pXHc`Uj@1e=@5ZZbm%wKviF-iDG}7! zww87iJih*IWamu6zntfR`TbDuIzYzu?0Ab3WSNjLaBU)MM z0*D<(Q{(lMdnL8cB%BIKUdtsfy5^E_0|CF#o|cUW_GZ>aO|| zugF8azuSqpn+7Bsp8rxINa6w|)fXxDSr7f`P^ondx}A{w;J&iS0JVy2GEnbT+FhcR zEX6z;403nTUUx$|9d0!gzi34N)rn~?s~!+-=#vca{i&m4QFhhH9rf`2qn5J0NxFc& z;n~h3bK-{7sS7bcc9P@h=o4(3YFzQ=g63DzWmd^w!Chx2<$$rAH{{>kRMtf8Yu$E| zs}o#t;91*@*QDY)0Fr=IzWju4_o)CTcOL}vI0m0xlc9|&3d3Z}DL_f>yA1CKROIiD zqhsWolRztdwQtGlL-d!`xs9_;Fz3*hYuHmrOGVyYp6ja?~F^>rVH31^ZXKdP55;+AJU;0RW&}SWS z_}ci6GuED=Q}}1EmgD4x)0ii6GMSSvTa6cvI{>zrGE-PLP!ntM0o6?A=ZM{fd)mp_QezL1m|e&US|(>q!1a*VF5+=IGWwI=NTLp7*(j9;g*$5!85tSNO@6Y9+Ub5)-%*V!|W^*MK{2iHWx# z^m+d)p%~5LNf9!(HXd%h;u?fzMw(dT>uln-KejN-UHHKTX8b1$$iIx+7*gNzEbCLH z(?R-TAbYOSYhcMC<93w6ESnQk+BURhK zMlx1BhA);@b)#{Qb%}b2cC)h*E{c2U*l!Z0@MukbftZns&!Kk^(Olho%k}|e+T0^N zw^P!#+ob|ho&3<*-LX&c3h`UTXyUap*7-BuPS=1Ez>SWh8IAG8>|g3^5<#tO3R7GJ z-!5~&G*3tKFWG|OWzct{^#JdKuJ!)6N;WoI&P8@vOJ}QTh~c{+)5&7|+(Cw!Pw8<; z#BoE!IvcCh7c*@>?Q;qBAE-2yx1_93VLO%vv_W7hOihB2ifo;OD5tfJ-oE;lPxiJ8 z=7z0VZQ>)cvC==Ab3ygM_X}_L3p~zA)a28;+UF83Eg^eTru{B*ejzW~tdLl_$wvKv zo0q%AsAA97dM9l4V4dmC_pXe(T7xoyUms9UESrx{U?oE1k5{g)b_x(ZNMBDr;d>yI z&FfxV%<}6xAgpQM1O4g7vc|vjv<5w_b0nJ@_?kEdj<9(N*~jM(Le`a-SE5Bn#FBe? z19KrbOdY;cUD{AjjdAGB7*dSXNhhl0uO)F#t%Eqdkni!h^~R;n&u4Yl+L|=dZ%HM- zjig$c=vaVXe0iJo1^ET_wKMhlcRVJ_(aiu|1z2Wdn%{z^&OY61|J_YH7M8EZa z!rOAqz#RQQeTA6ztdDV?<5%*yqd7~CrYCneJoY*tItYrb`%qAGelRC8q-0gq>Grd* z_LzzD*>#HBoIUGah@J)tS%EB;Dy?)=)Oy6aYDoLP=-SKe9Z&7W9n`*=wnNC}k}={_ zbMDU)8_|Pa{)19lSz+W26s43fTkUD1BMhXC|Kt>J1Z{qm(F_xnS0Mf(W@L48SWS{s z&o=5id|5DkhsoicG-*a}uqd`4+bg~uvl6=skXQH>)%LZwoe7c@ryh@z19IqUQC`qr z_9?ZN+g^kOu(*#i=hqD@ZfQZn&HPTGuQzWOl>w`^4`+G8$Uzzc{DYfVI_5qM2vChd ze`=r2>tAtBB|D-lKW-^K=4oVsQN)~Mjdc1W~{ zjJQ&=afs1aOV%4_UG%#>R{?tf4>fWQ?iM5mE6PPa{n9A(P(9uNL2o1)gj9=R{2RPl zDd*x-&rmbt^%8&Ah5hJZl|*|@hEw&n3B$b491b4fH!3+R?+4`$)+XN;`M}(JjpLII z7B5CacfC#?GYm$ZZ^bPXo9Cj5a#^>8lan60YNMmKNl_y2BnVKO{BQMvrt=f}Y6AOb z;kt-swH26sj45ZuztD`oMC`4Xf4VrmV=sud)RKE^z31!*n>L*5;KfHNQn8P^RWN>F zV-~ZmERI#>a5oVCXSe^=R;sHrI>Pzi#gkdM#de%VRw?G-2`;NY41(l}+6O_oXXS(J z0lz@Do7eIPh_+wM-t*{)utwIir(^5o7V}HyER_bMj|ys5{E#NsVV1nO=Buu{_``B6 z4#<{1wSee~htY{DV#L0GVzu*%sFdxhxEx@~letAM0sD?C{03I-B&3o7Vj!VQKs0`uHmd&1)(EjC~fxVC&Az4fx=MHe5l)vIS4+R-VSg0la}^d^(c# zL02h7Tge{cqD+G|hKmPeQ%E1(`mddcTxwAgrxxu?j~3V*F>A$f;04Q|qX&dD-n-_| z`RaWY1od%cl+IoL0R2E*1v6rD=Y;kUN~9nvy(5N-9B8QY$>=%h6VRg+G_kvw-g-9$pi18bu8#f`ST1^U3^W zhR7`rqVbUt<)CODQ%t>grw|?0M67Z#EFAVP@xup<*+hkoW|h*2YkIt_91Q_FYQ?Uy5cL2_j@rSay<5!z1QzNNU(p7TTNpl zbptudEGXF3A63MwV*4?y{+)>7dR1|Lglp>hrtXZgd%{n*0-kfoX~_YfhK>sPIt!rk zo!$Dhjs`Pfw7Q(pj)>Iv@>!wu-%w!(%1jXq{O9`Ro7@OA#7#2zjNQSqBtyCv?zVS007=9|TGUSj6&YD(Yx`FE^&C+?Q)jIqj5*7l~j zSFi#AetY{sz%W#TQq`gs(7|rafEBM)5j;b(czbOAln6L*{&|xqI};XBzVND3BKpyj zziGY1M$vZPR^0uSIOp8oDR~<2Zw)q~YV_lBbGyQ{2Byb<7@KZ3ic?@x$ZZF2a`}ir zLeaFr^aWTpQDZX~yt2jlOLeg1Y;H8)Su*VQRDN#w@#EY;6azk$4g=97lw~)jA;;d= z=+y;D+s4v8q@6Utwrt^UA(G_`GpZLAw?)^Evzs_{Sc&=-5t4QwX!-!RiI3tCW6KkR ziQ}2>s$lfC-gU`d85&laxl2O33l4vy$X8Msc<3|6=w;u)@gpOui)%>Y+XIKwl1n#! zsg5QbC1~eQeNEIGsg)B@15V`}@{V*C@tr7j!og1yN`FGo<=P~)lM|6+=GF{)?c}UN zX$@8F=w}m=$&T<44t&nMhcdoX#wp;hdOIzlithDv^luz9k_wjwh=9C`ji=r2dQ93^ z46KCeC!+N&Dz8k~Ls~!TmkQDY5umo~GoaBXT&HA@@3HAeQ1uUEaXj{U+d!g!U`o`k z`*9)uM0ApDHK_&^OM+5wev~-3N?ON=>6BJxr-aDpk&@|oZe_QEVhn~>4olfk9!7_g1qN=wH@J^O62Y?lqum3lrwKJ%~ zK>3Boev&A=x})Ik!D<61OBxMe=;v5;2rP_}2qo!!DY5Dn1$v{5ST{tR;i#q!?mv)} zlBau}onuQ+{d$w@`H=Gf9A{s)m$XCM_#zYj_RPnymt`Br;tXzj?~KZQTT+(bMlem- zur|)~W8O-rJ@D6xx_Z=z!Ap44=d!WcwEIQ-xkh%%Hk9HSz)ULCXFe4^1N6>Cjjku( zm0cvxTlV&MRmVF@E*Y zp^R$I#lmDt;dEEvB*G^ zf=&slItxn2f7E|B?aW8?Eqcs1iJm5o%2zmUe*27PZ~?>U;`Q{hAqOnssGok+XdCau zOrW?neGZTS{9Gpdjlb-Cc2WUSmz5x$zk0;1U+*aDl-LuY9d3r(TE=sJ1993=6V8u? zWqW!q0e?c2JhB%hdYZfFU;iFRUPlYUHf}{qC$cFIjL?F1TM4T!cwWJcm!=cXQFIz9 zjm2Uyv^NIh8g~b4uo^QI($4*J&gIq-s`jiKtWJkL@VP5H&S^#%*lIJn{54fi@9Upe z)v;Eiw|l?+)+mv^5|~|`$gsfAn(K1gvel}IlQQ*h+>|HZ(|0{mKZ@7u-GC4q8XEF~ zM)jRml3W?$SZYXX(l3^wZ9i%L7MBqFMIsSH-nl&cJ#0-WV6S7d*+`I8+dwkEJG%uT z;V{I=36yZc$;Pk{7aQQqJ&He1Sze$6QT@)sZ|Nm6fq1M`(0-#dAV^fIv>+&mNa!_$po{}bQxTOC;z$z^0s;mIgg6L@Kp2J4QfP)qNg{+0 zAtZSxIwah8-}k=v@BO*whxy!lpSAa@d#!!;THy31OCw%ImCSHz7}*IbqOUD_ZHm3~ zIwJ6EbJ$qhE2BXM?^Rt1Z*(z{=X6A~Hyxu1O=A~@wa^3Lt|x@*ojxaw=Ibe}b_la! zK#t!E0c9o-NsnSqzgzf;lQmfsF@Vrj>*T!7G00D!LGb5aB6PDKGk()4F@UyRvlSS) zLKH==fr|6+Lf_7yiY(R6HRO<9cICuCmR-wcU^`6FjPm%vcx!>`@sT-w>d6ys{JHBt zvh=94?ak41%6havlK$?b>Tv51Ix|jVA+%BJ zJTr)?u19*-qYv#jfxko0tdrEol0Sd(7+Imx(y%6g||cEh>fcFvq#)xAb&Ilu`67w{b?-H7u!CEFz)5&zzR4Da}IC zU^2_ciiss zmm%!~NS&W~FC$tS=sOKCGq#hR9(`kei#Wr(jCH1 zy+g2LcRX439>LfAVYZ2`)h%*fW^<&LOO4PC;JwciR#e599e8T>FxwKm&2r*m?{5z) z;}7^Nh1R$oHGjBaOkG}~>7co;6=?q2>1aJixrrmzPwVCB7g6<_+G}>`!z`?O-P1 z4YkP){DET;B}ilq5@`)+NiOXxYk*hyt;$+GZ!&ig5T5%b9Wkm_U>4osV@5G>zM~e3 zvW2io(gy)eZH)D&y(=hKoHt&Y5RjZ9Zoh5?@G6mrg3MB9`DHJeS%~5FtoCpC*gzdX z4RG12S~xIrkw68Ke+OSbc&tBBDYZixfrA@_uBz_c_Zkz@)#{t$Crw!xmapDaW^yPq z;M8-y-iC#NW8MP|_^$KzN5vJQzCZrg!Q@}{bP%ocr?Fc5YB!YYEreoll=GS~@# zQGovr@vy>HPv?}+t`pFD9ZN^eh0~I5Wmz!s#^UBH#W2-Ovcmq_py>}EuzpGiXhoXypn2&)cdmY?dMa=rVxbYp5yXe`$LsFd>l zZXg?<`n*znvL8J9X)7@-nZpcz&R6qWErH^{2OQF8os8f00W}Gw^`SnxOy%n=geLzb zW$aWOn8C68=UA+2CRJ?*SNcYCJFqwUlw@@P$a8h#Rn60xLrhZidoH;2 z<#CGL@67rZM%(y{IN~zFhPD=2_mDuDP&XGI<$`b8Frx@srbwwr>7}JOpTcR zoLLPI&Yct)i%(4{%th>d!+Ck|f?b%Q>-@xE%GWHy_M!NV*N8m~kqhMq*{iS8x7jAw z8G!fHe|$q$HC8A;81rMYYxba(uGac;WW{(UC*%9`IDcVS;8fMg^4yB~MeImVf&Iw)UbKAOCT0A_foNt$dDX|JnxO|* zzsy|?g8%wut~FrHBVe)(?eD(c>~N$Um~bN52%LZU;3??+w{+b;~7` z18gx8F#Ciy=n`q(ot#j5e75HlA}+gjZTQuGg;|K<7N<_6_5Gc>=5NUn9G$YL=&(~G zTG`1?1F7l>Y0T=$^;U!cu=dFci^H7;=!l#|C@Td&hhpC4Q&ocC)c0VBkdc39*VEK+1vKBwBOdpqv|vsF3jIlC*W zsl!q|;U$O0zg&kEQsdD#WeD=AT>rt-)CIG_#EKObpTV*-ZODbx>RB11AKY4BtQs~3 zE5ooBHAIFz!Wq9~~9)m$h7|AQ<; z0XATCs)rcgsJs=Fy+)oezXM+@I^fNjcz_wjJY<-CcCi?_*-6bM zOLLD3plY|)FRaTPn`uW|mz-DUBt$WC_^3`3g}vq<_jNrnQgjg_5R9|C`0CgqpXe~| zRlz2UhrzSsK@c;ZxatpULjZ@Ep~SoLm>s?MG@j>Phn?nug@CXJ%w;S{+3iE5n1hdQ zxg!u^e5kPTvtdQxD`7OaN6#N_L*2++t6o!g%R$NJ;bYZnqA4_rwEa%RM245J~DLhYAiwy1&nJ%Z}&kijK+)WJc0FH zzQji}G`EOmt+$9ir3PU6dyeXhd{Zjcg4X1Tf+4LJg--s;C=LjN>(Le$v6R`>@EXn? z2Xgk?4p20GdI!lR_Qal&`us}w9Cg^hBFG$Ew&-5Q&7X~ip;mo z>E==9^*^twV}^0enF(3v8|I0E$Q#5#Zh{8^s=_>#$!i>j3nv@XyU>8*QiED(= zY!UkrGPOE-%xik#%4`$3#}D0|$XB!HBcWu3YWO$jAVz?z*j}t6yz!EeL?EX+Y>HWP zc|0^bxO~35)1xcN`ip;rHR=5UaRssYSF%(4UK1BxD3@gZdb0^)s*kbKPp>t*v?65#%2NG0GMYwo?kv-55e-E_#kS@5FM@lmu_IC&VL^5bTA*AP=2DHvZ;p! zg>etZRu4|(>lsVE6MuKb0HqiYZ!HJ7*C!^aZ~X{OF#@i(1OOOXePZM^(DD&>e~$Q$ z9LBFaomf}DQ_}6fQcS?UjGN7#CcK3&p#%0#%bXSv%ii;&fm*0wocXfd9U%OqyJJhoRMC@8K@!1>m+&)xNt-*03LF z5;tM!z_$S>`rDr|QA11|!f~>|dBeZX*la3ZnKylz6AQRa*Lpj{Zeukhkid69EbL1M zj!}$6Eg9^YiuYKQX10bAcd~&d1wWoN`aNleF_x?RzWfakAhM=s-=#n zza?0~Cq~}yRr-Ed7-pki0fHMU^{@cIp$@k532r=>d|pjK>Qn(SO_TYl*guAtyjt&M zywvf7&_GHResuXP>YwPkVX`)WA$9q_TorT32K2M2@hoT2E0IypiEup$9^dCu_@C!e zvuDfrwSY$g|2zcw6YBx(Jn#T-&X(FCq*p?m1dpD8-lQ}l8Hz7i4P;%y84rlrva!c? zvY>9;()-{qDCJ4w9%B6x%v1i$wBXkX3oPNFZh-XWn27hGcrzJ=g2Ox}qL5UOS_rR$q z%?2glVj8Qq0%gIq8w5s92*;$S%NFkc4s?3Uf*`Eo;JD{&jX)2g`1;=e7ky6?Oy z6?RW5cwnA5NUKj{o9nvDFyWbi>pZOKwYesU^MjLgy^lRJ`;z?eK&cTpsJ!I>xlua9k8LtMbY(TNLN~$M7#jN ztZ=fHgQ(TaEzareX+d*EgUU3h9znM!u5x?91y-h~QAx+w#i)uw*lxEPm3d;0dMsaT zcfQl;rNj^b79H_q!o@bAr)sZ(<|t>{%jbOLi@o>f$L^mV3BJJ_Hrq%R*`a$z0lsh9 z=>_6f1DRKd8W96FrHo0FYB1pvc+{aBrmzrP3c<+m%V~Adh!g2qo3i6uJ=cPn#uP*^ z7{sgSNab2RyG z$i}pXdrWi7sOOsw$@z);u4gJmJfju&6-XnWH_|%%OpwSaR!r+KYAm z13v3*Cevb?>$Zb%X5|4uQ781~y0&w@WtmP>yDklEi~H1WD0e~6g-Ws|otJ&vSd4jj zbJ6OQkc_fYjcdrf(cMwsZ%le!G%3U7*7fLdt8h(yf{|?HKMadn&_vS94^PYO@QlVA z6v4uRXSqn3Rd3I0p=aMKFK((J+OWZjJd6f%Ev*Ct8Fb?4Lro?HVQq{ebWMavF2Rdh z(n$|csU#w7P~_zP&X0@g@6jJ%I!K+cdi2=5oFka>jF6i!K+i|CTX;q3TMDdb)|d%f z_93R!ssZgz=e&;?Oux9%_?)@DH*|73wbrPJpK|Yb>PWavm2t+OcnzqYWd*ggWn)4R zyeUA3Z91)<8VDXM)7JR-c6*qHh>oEU$u>M3x4K?2=ur^wUPzo~v(_Y(8T z?9hfM*)$)IirrmPCG!#7gySmh+SpJc+k9R%1;r8EZ534GsX(a(_! z2hCN_lcZV;l%CO5qTt_IzhT-9Vb`CLn>e1j5UKczR{ATB>YiSL)DgZhx48XE(l~3Vp>VX-3gZ;iU_H&=?-&GxdUNncA}(!sl|EWlFpZ z4A8{23=Zeyw#LjM{xb*O#d5|gZdZ^EDoQm} zBP$K4HstBuDH6?{jV<0QLu#?2GHs98Q}OmyW+7*);lvWb$k%7uyA@jMdko|p1#nSVn zb$=ccTtSpXBpXv-q1>~_oH@$4lGi&sVGVuO^QEpO1EJ+D#-!85kBbu_mt1NPw4z;WBY+O5wgj*<1eEKSrt zImg}NO~Pb-wT#C?33^IR=4ZY>qcJ9J`Ny)U-etA6yB5gPQ3F?o?Gr|Gs{4$y8lpAX z#=AbjZg*iPefZO#sJ`2IRE@EtLrgi*oQ zsPkVVxpn*rZe$40xT=L&`+QDrv_CB^r+0E*W_oH{VWxis7T?hCC2#1rvKQ3uKl?jx z$REHMa_|{E;T3rONR;(m+{TEM$r`9%6;oS@7G2=#r%AMD6)N*Ck_JnVelW%mk`#E2 zr`NO_bD-MAfO)ZaB2+^{O2BRRrE@;xcd0#9#(YOvN{`@TX`*vgW35r)s+ydUY*J*q zB3Hk0#0Jm1_+c>nc)pego4(LxfZ`-}JYB5m9T>f0;AzA1Yv#y#z0|T`-{$H4G-q&_ zN6iTPJF+)5Xn`)AsWK~x#yDtnJVn}Mk&_aTkhSCP9c(l5mC0)Rs-zLhPpCy&mT-5| zwsV5d`O#jNs%)z2r3;LS_$`DqRqKl_<&t|Rp82xaB!R205&&CStJI|5IC~&CDx5e! zhQAVk$Z=>0BMRHfW(IUT){c)qn=N~)CzHw65(H%*+U$C~c$^6NM?Ux$F+xnb`U z;;+Z{-z;69zja>fmmqe;ZER-{be99|`W++=>V|?j-)10s6gj~f9;NQt77=)cOTpL6 zQ;$bAo?^nb@rC+@gNmeK=0zzWK=osnEk5o|m5&To;cRJT$%JG#BP7uCfT4u1FNFFp z1{$pjf{d!y&rNowxZetHE=MnP)yoyp>f>iUmjUyyA=**#Roj;}Ipe#bHPAS$oV8J{ zWUD89bX*S%Whl!{#=^MhPf5$h56$EW-(QfL+8BBP7{EFgk1{9FITu1CF_>H7de9d+ zHIW!}9aj*grP6WWnwJ!f~l1`S=%AAV%q+J+;&@ z(w59l>>>yJY8m-KFs0Uo;I0Zkq}CGf2-ft$LZmd>D>w4f61?zXP=N`Xf-ZUEG>hPV zVa??#y`M)Ll8hMvH|^qLp~Af*T`ep0vW3zL^_TNdB zXMN`3bFDm&AD68sWwNMN&?@K791h#AwpiqyKoO2(_S4xeOJmBqLHE7-f$nG@#&B+u z=IQ)^7;sZK)v&U9A5w%S@s3JEfU@q@*cC&j7EatZLq8Y6Ab2GK6uG?~xrhcz-*qAt zrpHG=izelsOX#6~L@WevN^2+PMxQ+AX*9?U-4k&9@{vzBNF+u5xOmKTY3W4hgo#M2 zWrcJ3pnfSHc{p-OR0$uqQr5;Ov5JaetL)j5I)L-9e4agY^6oGs-td$(FI^b zmF#m4H^nW-mbci5TlP#8k!3<4%fx)mKG3V*K({0@!Qxf_JY}0foZUcm3ox=OhGAaR zZj$uu5%&xShgunSWfYN@nt=pkuxjP zUK%p}hDvbVE>&ABZkg6lzTp$&Xp8N&mEu(0FP{5K;j-2IByKTY-l8pT`Ez;8I&sS_ zk}cLqe>{)8L|=fAbU=(aJKRBK_L8XQhGbR#qhf`)J()QAY@yF+d>2OQBx)stpODn= zRNAU+ykxX?87MIgEuLv++fis3xKyDDN#8ntT}JNAb0DD}o4AC)qdq#-?2^n%*&$|+ zjjkL>SjP!7>A^_#7V-KEl?O3G9bFyQWgi-0t3e@h*oO*`^$iQPiu86_K8=_kkBQTv zSvFKwk(6TonquT078b*dw8!(LrvpO+Vykv3!;VUuSXEu)?z^2uw^Twu~oSX_eAGgq_ zq787Y#!qk zZD3&FNrvj+ptiogB^AbN=e}{ffAk^SJKOi<&hwp27Rz;_0>6$~k1=~c*s#PHH*fHG zq^uG&Q4^z|bFr_oSCL8m<|aGsRBPYlwUP1%qxnqlHd1lWsR?IAI0&fN3Hn$+%yqQQ zhD?MF;td4)y1E%GzmO0vr5wC&W5BuDVZgBcB+=CD@WbFyRB!*?-!f~e1CNEJwjP+{ z@gV$pZFJiTMp9DJ4%xUaPE7+IZ@4MMOXmwhBovGX$U=C0!H$#`uiO0{^%2haY{t9c zaSC{4C%^YK77Jl?Fv3DZ^M|J|&pdtOcFce{3SPS@FlKqG_(mAfD^C5%)Ni@=$47|- z18!Gxql1I)FuU2xc1H}Tu#zhF{MV!%c#&gn6mIUO?}_x>n_*$RLZ6%u*CUx9a?HA- zF}-@bpznKeRMOXAp592(Q(~Z-d`>G}>0f z35Y;ebdF_@>3G$zVvfwwdO^DkU7~hbC1{r&bXEVHBIfGuv~$V3kGWi$k2*!F3JVJ> zXsLP6wQpD;g>yQz3T(@RwlSU4aE0NhmXo|s=lU*Rz6F2me2ov58%P4n^>yh4u3=x! z&{5G3KjzXSBf#7*8li z5d+uhq1*msFqzEp8s&VV;E)OR_tH#w;Jbx=I+ZBKE|4>4LVA90u%H`eRAt1>>#^%J zgII7LtLgg5jMrj$R*t}ccbnEP;Wy;2u?9RT1hpytH%vkF#$uYMe@URWUfW*A2@}++ zzkNHn%6}8zOejAG|B1rCyobov&kwk`ZR$`Zszs|se3@*#%Cr6w?$w-`3gYCZENqK} zhY+zbJ=mkza*W$$yo<(K)BC*84W;Jz<@`sRlecqF*^6~&(uOQ01N&4ehYRACRnh8(Dtkk$q)c&IoE&DqbV_JF@)i|IN zq9CZ%SoGa`XZNJ@%09jHtYhnV#SQpC6AjdGPssjh3 zbe^ZWD=#ri{m2J(V5qw-#Y1F<+)3C5ABF5owjbHE)bHR3?x2LiUgS0z4CS6c1#vJ& zZDthq7VDZE+c1CUotWo^ap3yuM{e)UN92x-D=c#F0xO zFT4ko$q@XO!Ua52vX@vuj+_UE4r7Hsu@+slnnhnq;{EEC2?yJ@F_8<7Z&8@0uRUz= z4;lUQl+A*FTH#n@t_rnNxS1@PzDyDJBhA1M##MaI-CWfrW85TADBX z3g~<+wcE_5$=VmLNFuAHVgLF44+Z}JDByZVB=`Alx~A7(;orV?o1e8Z KDgDLm_J08=9;)&H literal 0 HcmV?d00001 From 2de67cd4cd003269d02a05f45705099c41342968 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Mon, 13 Jul 2026 21:02:38 +0000 Subject: [PATCH 13/16] Updated mintlify pages - Updated docs/agents/devin.mdx - Created images/devin_flowchart-1.png - Created images/devin_flowchart-2.png Mintlify-Source: dashboard-editor --- docs/agents/devin.mdx | 2 +- images/devin_flowchart-1.png | Bin 0 -> 10086 bytes images/devin_flowchart-2.png | Bin 0 -> 10086 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 images/devin_flowchart-1.png create mode 100644 images/devin_flowchart-2.png diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index 195aa779..b28b1570 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -161,7 +161,7 @@ Successful claim logs may contain either `serving session ` or a str ### How the integration works - ![Devin Flowchart](/images/devin_flowchart.png) + ![Devin Flowchart 2](/images/devin_flowchart-2.png) The worker, setup UI, credentials, and workspace stay inside the sandbox. The browser talks to the setup UI, and the setup UI makes authenticated Devin API requests on behalf of the user. diff --git a/images/devin_flowchart-1.png b/images/devin_flowchart-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ee050706713ed93e8b593d559272f487972a518a GIT binary patch literal 10086 zcmb_?2UJsCw{6f*RHTTa(u-K=y;ng60jYt|L8SNIt42VO5R|4sKsuo$D7_0vmtI2e zH4uSXK005QRi)VTO z0NEANRd$V>G{QDzb&J$p_jqCK4FKG@{pTVBq-D^P2FbkjRFwgU0p=~z&0qFPno0n` zH|UKsE7I!#YMp{=>F%2=m zE^pYO$RfZRQhx(-FU3x&zgMFe1K~G*+k7dONyy{M4=VbA zQf(if>ORVza+!W5RLf;)JJ!{hMX_<>8?tF4CvR^y@73%W4?&gW68PR+9dHj1@n;j8 znw+F>4m_|6@bVI&b9Qz{36wPQG*niK$;rw#jM8)$^*1#&#q?IrU;-dv%`Gi#+rM*B zCEsdGmmlLNpW2afJ^H6Y zw{G;>dV70&J{rZN(Z!gZouB2;_LZ(%8#x$ce}T_nrmv&%KSp4(ZWagxdM)27{8MhtS(lYIPImpkuaVez!I+3G zUc?`4e3NIpm)x_h7s#es1^;GcEBsbIQn;3^u9fQyyVh5vZ?zt`?{#ZtX6Bx!o)E00 zRM0vc{fhJo zZfRt5dW!c|P*h}FdBkuVrx~gsCl}|tX-2*k5dJ_tG23}|ENfVK)!f|46xaPES$oq= zOL;5SkOf`X+Y*H1nLx@hUN%QEL$D5UJ}|HM@dUV+LNyOk;Rc&1uCe97I&;xO2#vS3dQTMbu46iA8!!!GaDA5CLRBcoiC%rbIp~U;8 zA88FO-A36j<1R-C=(~@M&@W8?_^gG4h~u?_=6};UzP>k zIU@LC7!BPu0>xCk64XcO9mETQbDX{C3JoH9d#{(2$_h!-tc~}oIxd8rmbJwf7=H(o9_R_R>AtyLIXq^>a8@Njmdd_3iRzie|; z+GR?}%AU5$h^0f@*&aV=K1*Hs2u@n6OB^$Dic5aH@H6Qnnov3Yk@I8w&}Uu&_uM$k z4;f3f+rMVIS61~AUL#Oi5QTL@TklZbkRBuVXG$$~KHFsBpo~E@n{uC-rCWoZ^CMK9 z-FFcYo_>M|Mb_{;#hjDU;sE}_gAnxtdD_VF1?F*%+_7O8WbfW)&|HMg&t{oA0Vm1u zmpa6HH)-XVPCXTY$GrRBK&Nhb^UWYjM*9xDx&!krd$P8x;~mb*OF9|o5sK#+0uIh* zQHTJpWFKLPtVP%T@kdHI=AM{ess3FDQY?K-a$2&#r|W1snfkUiWeL-e!2@3RI+$0+ zK+~)(9(yE@9I4_&){t4K;)D8pQ<0imD+o#L!8IArHH9K#qkG_&kT|S|g@0yE$R4&{ zUK=mtW{UoOlnt7#0)8&&W?!Q`?A<}omGg<*YI16VR)74sNLTO@2D|k31$vQg(&4X& zOHx+=ToFLPzXdwHgt=i@;ZGj=T_U)1SfWk&HRXkWI6e}? z_!3%?A|7_}YoOF_uYmU1C!ZSZm{YzGs-jg;q2^x8X$;O-_=)+6h>@|!wa_iZc!bG0 zx)MYg&OEuE)m+n|81Allxroa$+zGr8;@B{F?kwv~401_A9TjfEDzcX7zSjRDjuZZ1 z(?8npTKeizjxUvQt+^55u&|6u`=G?Ig!OR5`Lt8O%|$v^hIWwHF7!mZi7j4vDxT~| zJBQpQF>vJ$XPsjppy+1LS6RQO$}AeieSoj?FTJ-EsWvVFj^8u4RW7iWw*Yj2Z$%vz zI=#XVrLc-Dmm>%XN3_#^8V;i$iB}>RJ?{;kJAr8=$i^ZX%%*8fwI?V6#UB*D`lR*| z4!=1n><3(LU;4d|$ZP9Bl1pFz&Sul@q*WW$J`%WHFDbP;QysimeN3w`0 z#bU!PYpHSkTn5$n-~z^Ai`EvEb$^uZV3~5m<`O`k zv>eN2!n{X+G^Rez=g+TvsI7tHap$}dY~mcZoODo`C5|w{!dI;HZK_K{kq;s;D)!>S;}-6^UG}%H_a6rXv%!FSLA`6K7zeLLRyv- z1DIPxW5!%-jr?X~rxw8;!i0c%^tL*OysSh;^@8cgHA3)Bv_t1e4!f znoowS=g0AGls({DU@!6JF9G5zzcWq#THbpL5*i3?c&t35iU!XqX!`GPoXK_gj_4jY zI{WQQ%~=Zv>Ubg`jn$A9eWBuhfK{&zYXKriyhU% z6@_r}wxr>#ZVsHn5sd>I@L5M0#UlpZciL|o$Li)pav>dT@jK^R#e$+uY)6=*q0f@Q zS~<~{>fu$-gkA7qsdH}dYEZ59UdDT*keQ@`qc{)S2HymnWA!mhEQi_ZaQ=PrYM-^CE@Y$3Z4N)U1(4vlwOn@G=+>+OVI ziQ3!abeVoJIPqy%MuFp6GB-5YN1V~5DERS*y~!7r{@)pnG~q7Bs$EOGrh9!e!ds+2 zQq$?_N+H7n3nXJsJ=VF>EPIIejI-`#0cj$-sJYpH>y9cwm;l-Z|dG zjHYX4tft1AkX@ft;Aa9K@I$xAM&rjiUl&_KZ!>W;+SWV?igKUNA=7%fsiEi^P;436 zVCoZIX)+X=z}h=0uDh9udDw1T?tkntw(-#dHgkFbVueL+?>%%yhiT9R`}O>l3gXg0 zI4k8j!}JL3TbY!B@;J361jNT3_sL+x@q5DopBqQj8mc~N8kame_i68X5h=^+4v02( zB0Rdi^$^}KGwtrqGo@a{Vj<9-nW~vu{4~Zm&9_P??QBZvnn>8|MZ3OR7{e>!qtGyv88YtH1>kFeR#XIS7uU;etwBbu;`{g zkt`n?Nh2{%(;QzG6_?RU0}c+b$ogD~pW0wb2e`$E9r%^n<+;1mUu+mhM61A3mqRX; zAhPYKcdwF;$lJOkbDGdC;l^~<>MSv;?gDi_4sFm32) z77$x#gnTny{z461U#FAUib}?hE%yhAupw;u&48lJ4deinb*1{}VbvDDoj0@yM^SUr zQNUu*yN5?A$%>sJKp)p7MoB6FqRaa8b7Ss*AOR_m^RdGwwuD;4_U5Ot3m2|s;Z%4@ z6wkp_993qhQ~Yy@rXm>-`bd zE4w%;X=&-Y+Kbel`FRT^Z3#)q1!v^A(;ck7rq3SF@kx1evzvC7Leo6~*jO1JK#BfrL;dSjkkEKgzivc49sIHT=WvSFssZL?XM zeBLwkcnMrSIKr~^=1|oWp*TW|;@^rK$rn91I1q;B%6S2bfkA1xUbn^z zp8Aoy}JL1Pe7p4BOb)K3-R?fP${{Vd=R8RVR)DI@mZtURXH=8 zq7f>FlI_owlenkfTUso+IEe}S8@Ho;bbU|GQ;>JX>bgI6*SWa5b|gO=hwlhJ>tS$6 zz|m(bO+*kl!Gq^AD5~C6=M^26dTuZF`hC5($;rt^TAq4d;gEkJIGj&M0c9$E8)*oo*5YSXE2$pdbg))Q7qR-W zLJpA#qAToY(qK}&6$yR}-S6FClET}?yR)Osm_9X2Z!$$K2`}Z8{;sCm3qA1aeLTj> z1X+O-RC04q`Q{Qb>*De2xrbUOpF8B~mK;^9EbwPCv{# z=Z54gBsD)p6YYY`S&t6-+IB;*Ua`E#tt$t9$cErhd&$a6`s3V21=e+LM)j#9-@Xqd z;a+F3LPo)!_^xqNad-ysNrA^xUVw~&JInHI2tWrw617)6DE<~K#)RE$0~A~%J(9V3 z?=>asUkf21NN|kS_`R*6M9WaCLd($CI^I4sf0(Dql_!Pho=9p~Rq6hzy`P=NQ-Si(~LFIIj?TpTv>pW{!R zxas3IwzXY9ctG8;zm&JDJgRt6jrqr>S!^$zJpZcEd8q<_`3G{#?jF+ul%_<)N zQ&Ud!xc1Kw?d{=$hV13h0gk4Fr}IrIJbgoLttiN z(nLx{U#CNY`Ji7)A*{_EmPcWc8c^yE2sS<`JAT|J`+^Uj%NyHjF5iPSxYF;G%vO7H} zg>kB(PXncTzsYNFL3~^-o(q;;5~EJ%-t$DSuse^!mK=*~(h0@2c8uUreMB;II!gXU zU=Um@W=y{g(k2s+u4c-S4>9jBNxW91=Z)u&_;`{c~%0}bl1>9F;e8XNgrRHn4 zHyBeCmZSMbdyZ>V(;vzJnyF5R9B9Wd@9tOm00z-Qt7MOraKf7)Ffby+!h=$Ra84Ugx=6>q5>6rz|K5Jn{xZ_U&qz+- zcgy%Mhzk=0)KCC~Jb9&pfl2OkET|>33Y>NRFzmMYEV;d=bI5TO?Ck8|WS&xqN05|V zo^F-;pk5IiJjA;}q8(3IYig~9J_`id{NP~sy;J6v-wyJ0!nM#$KRxLRCyC&*r7TXC z>R2F2Fl#=)TqNu}v}7WEWnSdT92`u2fE@kj`JX6629v6v&uGD|?7a`x2*mTN2UR9z zA3_Y*%I@PQ0dZ?JiU?G+0pb&pNL)&nbdMsz{nKwvO`&C8B;;*ROia`m1q*lhjF;sa zSy-GG)gw50*qDd(yHvi{)k)9J%%lf39doNi^HT9f1{a{Vr%0GwN~#T(7$SEL569}~ z5WX@nDIj?lt$oPas0&-1)IdfXJWA zFvXo#$Ws-b4ffoRN|DA=jIcP9jp*p;VUM=r`;6%W$%Y#uVc9bAP^e(aoQP1exw$z6 z|E|}~#bxr>uZHj>stT{T+fIfmrn?`OlT@jd@ZN~~ z(D->nbMUf{zC7#Iy~+b$8x=jx^%vUOl;vW} z%F1qRJa`I%)m7+P;M9o5mX=UzRjcHWR=lMm>OjRt?P5bBHB^0g(O1*!zB&z5dU$Kg z#Ai%h1wSx2NVUrfBF!yzK!h^8>oUVgZ?C!-draKn;^J2wEph`D=ye6r8cVerV9Zb=h#{7}!xqQs)GI1GRHqIH z%ZvCiR1(%tshW$2IN!=rbR;hnaLutm2stvu;TNbf=dnQ6s~!(&Fc|Rst-ru=IUbn> zwb=OPWvrJ>P@S9^f)hHpf+ak-FO_lJyD7K#VI&D@wpT0RE6^C<7>EAt6*wD>fbZ%> z*U(fgXG=#G$5>owo{s0lncx(}R?dxDxnDA5T+;K0gMqJdY5!KH{!_1hLMm#9nY9BJ zLGWbY5E4WG1cG0$KyQ1LWwari%SVw4qyqT;IpW&AYG)z&0h5UnqNr>|T2s2pO|_A^ zUSLUbo7o_F%gL<8+3w>B`woEbQr|1vR*u8`2GC_Ee95SZ@R{eU^l-xb-HWp(ajLI5 zAw)P;*g-x<;S`Dah1>q7YcZ3R<3A7<1&lz892;&k{YSR=*Z#d#AEQzlIh66-m(h!n z9LoBCgzg^@2I}a3zEaC#*Q9nfuHcnH6|)JgSa-&ke`%2ww3^t31S`pKH`3*WKA&=J zkmkoNU3L^AQxu6v_qO4@TAny?PtT|ew2(Ma*D1(gc?Wc4g~Bo&voPR;W%j1o3SS zcJ2$msHr*^U!9ZDhYs4g{N4d>6N4tG!w9J-+mjwl8UN6$EB2nWd06cDV~L~zb$_Y? zD7hinMI1=E>iI#I9K4mIO3r*q&u|zGl5x3H2)d9dlYbX})&+3tVLO-pV>eZKQB3QL zMKA)dvLKRyi~N_zU^1IR3ypvM6Ah0*S~rkER5)Wt_l}X~)l)87N#UQ)U+V1{*!H5h zI@g+djLafYB`dFl-e0=;N1EcSlC%m%=}1s@uj^~AVag3^j`eZRX`*gZVv=K(2^(Lc zWv)iU9P2IyWBzkHgyaaFkd$n|Zr65Php$a|xMH=xm)EUR(SG3uXEhl!MP#o9S$RFebTDCPHoWEmc)_R#H+@mWL0Dn_t;@O6=f*zGdd- z=6*(muojkMZ;ZpwdRL0(8>zE{8U=exyw`Ls^`pCPAZ1%rREddlp#(9D?at09SY~Et zwMAn9?e_I}jtRIk2!;kv>!lZKujGZyUmf2-?XD~a+S%I+g0B8iX|6nTT@q~2vuQDM z^k}7_4Gqf?UBNrLy~V{JDXFQh!NIbu`Q282A38arIg$zvgbvJq3i9#&Jd>4`6^1S+ zYm+bINkTXG6Uo^@wVf!+E%xb?3}=`!9p2*HZeYTS4B-)M_ip5mL7kF} zsDMxrqpq1D@gApq&PgkBzr!(V zqLl0M$6>fau)KV#fgvFw!%#Ub3@;Kn5R#uAl%#4M0sPFI(Uz28<>dFt zih?03$tyHe{tpijupPMLn=ztZcL(_exaLczaIntgzOk_p`Tbn#tMSO7?Tcd7PV5oJ zG@Wjo<7rCm)6rrpJG;(i;?c~9wK^;un%M<0MvoUgu zxK*{rHJ`fSq>Zp|*nGKSD7hw3(&C^@7Yg`knLSIwi*zvZt)imTvR zUoh;|Am7b$5ICcHdpWj(LgdaoRfsw!lRI%G*TVV0+qxz079#_g3sRks0gLijGqgRQ z-K%Ks!k4106jLmz);9u~+U#Ftad(Y>j6OJ9u~4dSjdymRZ>h-%UO(^>#0r zt&Tnr=0oKNVLfr0lb)f-5f$qps~a-EkWJbjikm(?OHj+FMn0JO4=d*%p3c7pqzpjt zq`Dkonh(-aYN@sch_9y)79-n9<1K_Xtro&hfK!amajNAcPGN)swNh#eSx~GHEt$Fs zy7_-&?Szq=@ zUrtMKRR0OZi^C$6$e@RRfLP;}7o*xDE%?8m#(y!Z{_70?>7xj^2s5?pmr8ZVGImJP zL~Y)gUIK<4!>-AKxm$-J?4>!Hk!&Brek)$sn*DK3YhRA3SyE9opI3a{OJIvvC# zn1b=!nrzRpmRwaO7cw7stLsmERuL-YLRvIfx#xn>Ct*@f56kaj_ej{vXrk%kvMPrS z0wt#`qkxkvouH!J)T$b*+yyb+SzS2sP8E|)zlzp&;Cx`2o}O{CDK!p}H-$2k@7FK5 zH&U%mbS@ml`RFUolW%P^KFw?&D?p>PyZiGM)bE1jsIZTcjbGp>71o24O_|`$pH;Oc z0goQ?9i`uDAX8$nyfURRqTXevF8dPt*W;}-o0s?|pV^nto5Aq7)bW)LtxtYI%#Jo| z>D&T>E53eu_;$VvH8}BjL{Bz-zR;^~Y+m=STYfdulN6Dd*lbECh5!E%_%cpe-Rvy{Zb6A__rJU@W+~& z1z(I@B{A)&5p`E{b+4d`%Q*YR5W@@1w{<0}FSdtv(Gn=*;G?oIQm>!f8 ziGW%$22<#S2Za2)!TP^lv;X?cdrDKn`<+Bm#-{{8Gp(H0H4{X^s#F&@uSlCSg?_mz z_u7LZLD*YHhMJ01Q0hwe$wKBoag15kkRS~C8HQ;)hr+ zqLP$8;vzu>DEtkWoS&}-Ie)KlB^^kquBq|&6o~fl@_G#j@pSJ0C|on+`lpbrDjnVW z>eZYZN(L6s!ot$wz2-f&uuu~j8Tr|8WE+>0I7vE5V(WtlkwG^u>~)D0TLv)2-tNsk za{}fZ=I7@d4a`IneyC@!ck9qlQ|Hh+t)r~pfv71?caU;2y+)}d2>13DP3edDl5m)@ zvR5q$Wk{_Kgo%W?Tazl&6S*hj=rhHp6XE;-A9&tF!i3 zA?-rEmOrmtj^9^yj0L8(wK@pK$KHsNqwHjDzfbSYcR}Jl^lWkRQSH5p_p?R}3O5XA z2L`luz{>{y9`xU63>Zp$_7*7uLW+dbVyd2{zJFDFBuM)}*2WC+f3JLFU|EStGO!!@HrTzDl zO8<6b$x8WW-^%F2=gUy4#zG*FVCEf9#@}i?CI9> zU~z>KC;h3_r#mgxq9}XtNj>Sb1E4}j{GZ_FKY{0e5Fz?5$RhWzk-hj@1^)9jYR|Qv JA(UUe{TGLff=&Pc literal 0 HcmV?d00001 diff --git a/images/devin_flowchart-2.png b/images/devin_flowchart-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ee050706713ed93e8b593d559272f487972a518a GIT binary patch literal 10086 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 JA(UUe{TGLff=&Pc literal 0 HcmV?d00001 From 0d707348da4e50dccc08cbf1b724f198dfb34e87 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Mon, 13 Jul 2026 21:03:23 +0000 Subject: [PATCH 14/16] Updated mintlify pages - Updated docs/agents/devin.mdx - Created images/devin_flowchart-3.png Mintlify-Source: dashboard-editor --- docs/agents/devin.mdx | 17 ++++++++++++++++- images/devin_flowchart-3.png | Bin 0 -> 24327 bytes 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 images/devin_flowchart-3.png diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index b28b1570..dd2d9120 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -161,7 +161,22 @@ Successful claim logs may contain either `serving session ` or a str ### How the integration works - ![Devin Flowchart 2](/images/devin_flowchart-2.png) + Devin Flowchart 2 + Devin Flowchart 2 The worker, setup UI, credentials, and workspace stay inside the sandbox. The browser talks to the setup UI, and the setup UI makes authenticated Devin API requests on behalf of the user. diff --git a/images/devin_flowchart-3.png b/images/devin_flowchart-3.png new file mode 100644 index 0000000000000000000000000000000000000000..9bdb4e77918eae6fe745de10d2e91d0db48147eb GIT binary patch literal 24327 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 Date: Mon, 13 Jul 2026 21:09:35 +0000 Subject: [PATCH 15/16] Updated mintlify pages - Updated docs/agents/devin.mdx - Created images/Frame-13.png Mintlify-Source: dashboard-editor --- docs/agents/devin.mdx | 18 ++++-------------- images/Frame-13.png | Bin 0 -> 34915 bytes 2 files changed, 4 insertions(+), 14 deletions(-) create mode 100644 images/Frame-13.png diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index dd2d9120..6926b4a1 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -162,20 +162,10 @@ Successful claim logs may contain either `serving session ` or a str Devin Flowchart 2 - Devin Flowchart 2 diff --git a/images/Frame-13.png b/images/Frame-13.png new file mode 100644 index 0000000000000000000000000000000000000000..2639bb83dfbec848345e60b9d185f7161546cc1d GIT binary patch literal 34915 zcmeFZXIN9|+wL7~3?eY2W2McE1&|U4RHW-Lib_Z6($t8Q00IFaB*36DHW;NuN

+=U*2!~-T!xg+8;PLR=d|-)>`*<{;u=R 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­!-<2pZX}u)3iqqA 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 bOm$V|)4^GU9S%d6A7y*a@t2CTez*S{M1&XB literal 0 HcmV?d00001 From 4c13c898f27aa2594789d5fb94214dd461ea96ce Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Mon, 13 Jul 2026 21:12:15 +0000 Subject: [PATCH 16/16] Updated mintlify pages - Updated docs/agents/devin.mdx Mintlify-Source: dashboard-editor --- docs/agents/devin.mdx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/docs/agents/devin.mdx b/docs/agents/devin.mdx index 6926b4a1..544a47f9 100644 --- a/docs/agents/devin.mdx +++ b/docs/agents/devin.mdx @@ -160,14 +160,12 @@ Successful claim logs may contain either `serving session ` or a str ### How the integration works - - Frame 13 - +Frame 13 The worker, setup UI, credentials, and workspace stay inside the sandbox. The browser talks to the setup UI, and the setup UI makes authenticated Devin API requests on behalf of the user.