Skip to content

Commit 93c1939

Browse files
authored
Merge pull request #4796 from Agenta-AI/release/v0.104.2
[release] v0.104.2
2 parents 8b7e319 + e7a5ab9 commit 93c1939

94 files changed

Lines changed: 3117 additions & 818 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

api/oss/src/utils/env.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ class ServicesCodeConfig(BaseModel):
342342
sandbox_runner: str = (
343343
os.getenv("AGENTA_SERVICES_CODE_SANDBOX_RUNNER")
344344
or os.getenv("AGENTA_SERVICES_SANDBOX_RUNNER")
345-
or "local"
345+
or "restricted"
346346
)
347347

348348
model_config = ConfigDict(extra="ignore")

api/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "api"
3-
version = "0.104.1"
3+
version = "0.104.2"
44
description = "Agenta API"
55
requires-python = ">=3.11,<3.14"
66
authors = [

api/uv.lock

Lines changed: 20 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

clients/python/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "agenta-client"
3-
version = "0.104.1"
3+
version = "0.104.2"
44
description = "Fern-generated Python client for the Agenta API."
55
requires-python = ">=3.11,<3.14"
66
authors = [

clients/python/uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/docs/evaluation/configure-evaluators/07-custom-evaluator.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ description: "Write custom evaluators in Python, JavaScript, or TypeScript with
55

66
Custom code evaluators let you write your own evaluation logic in Python, JavaScript, or TypeScript. Your code has access to the application inputs, outputs, and the full execution trace (spans, latency, token usage, costs).
77

8+
:::warning Self-hosted deployments only
9+
On self-hosted Agenta, custom evaluator code runs server-side. By default it runs in a restricted Python sandbox (no filesystem, network, or host access). Operators can change the runner with the `AGENTA_SERVICES_CODE_SANDBOX_RUNNER` environment variable: `local` runs code with no sandbox (trusted authors only), `daytona` runs it in an isolated remote sandbox. See [environment configuration](/self-host/configuration). Agenta Cloud is unaffected — it isolates evaluator execution.
10+
:::
11+
812
## Function signature
913

1014
Your code must define an `evaluate` function with the following signature:

docs/docs/self-host/02-configuration.mdx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,16 @@ for how they behave. The plan and role variables are Enterprise-only; see
115115
| `AGENTA_SERVICES_HOOK_ALLOW_INSECURE` | `agenta.services.hook.allow_insecure` | `agenta.services.hook.allowInsecure` |
116116
| `AGENTA_SERVICES_MIDDLEWARE_CACHING_ENABLED` | `agenta.services.middleware.caching_enabled` | `agenta.services.middleware.cachingEnabled` |
117117

118+
:::warning Custom-code evaluator runner
119+
`AGENTA_SERVICES_CODE_SANDBOX_RUNNER` selects how [custom-code evaluators](/evaluation/configure-evaluators/custom-evaluator) execute:
120+
121+
- `restricted` (default) — in-process Python sandbox with limited builtins and an allowlist of pure-standard-library imports. No filesystem, network, or host access.
122+
- `local` — raw execution in the services process with **no sandbox**. Any author who can create a custom-code evaluator can run arbitrary code on the host. Use only for trusted, single-tenant deployments.
123+
- `daytona` — isolated remote sandbox (strongest). Recommended when evaluator authors are not fully trusted. Requires the [daytona](#daytona) credentials below.
124+
125+
The legacy `AGENTA_SERVICES_SANDBOX_RUNNER` is still accepted as a fallback.
126+
:::
127+
118128
## Agenta — webhooks
119129

120130
| Env var | env.py path | values.yaml path |

hosting/docker-compose/ee/env.ee.dev.example

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,9 @@ AGENTA_CRYPT_KEY=replace-me
7878
# ================================================================== #
7979
# Agenta - Services (code/hook/middleware)
8080
# ================================================================== #
81-
# AGENTA_SERVICES_CODE_SANDBOX_RUNNER=local
81+
# Custom-code evaluator runner: restricted (default, in-process sandbox) | local
82+
# (no sandbox, raw exec — trusted/single-tenant only) | daytona (isolated remote sandbox)
83+
# AGENTA_SERVICES_CODE_SANDBOX_RUNNER=restricted
8284
# AGENTA_SERVICES_HOOK_ALLOW_INSECURE=true
8385
# AGENTA_SERVICES_MIDDLEWARE_AUTH_ENABLED=true
8486
# AGENTA_SERVICES_MIDDLEWARE_CACHING_ENABLED=true

hosting/docker-compose/ee/env.ee.gh.example

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,9 @@ AGENTA_CRYPT_KEY=replace-me
7878
# ================================================================== #
7979
# Agenta - Services (code/hook/middleware)
8080
# ================================================================== #
81-
# AGENTA_SERVICES_CODE_SANDBOX_RUNNER=local
81+
# Custom-code evaluator runner: restricted (default, in-process sandbox) | local
82+
# (no sandbox, raw exec — trusted/single-tenant only) | daytona (isolated remote sandbox)
83+
# AGENTA_SERVICES_CODE_SANDBOX_RUNNER=restricted
8284
# AGENTA_SERVICES_HOOK_ALLOW_INSECURE=true
8385
# AGENTA_SERVICES_MIDDLEWARE_AUTH_ENABLED=true
8486
# AGENTA_SERVICES_MIDDLEWARE_CACHING_ENABLED=true

hosting/docker-compose/oss/env.oss.dev.example

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,9 @@ AGENTA_CRYPT_KEY=replace-me
7878
# ================================================================== #
7979
# Agenta - Services (code/hook/middleware)
8080
# ================================================================== #
81-
# AGENTA_SERVICES_CODE_SANDBOX_RUNNER=local
81+
# Custom-code evaluator runner: restricted (default, in-process sandbox) | local
82+
# (no sandbox, raw exec — trusted/single-tenant only) | daytona (isolated remote sandbox)
83+
# AGENTA_SERVICES_CODE_SANDBOX_RUNNER=restricted
8284
# AGENTA_SERVICES_HOOK_ALLOW_INSECURE=true
8385
# AGENTA_SERVICES_MIDDLEWARE_AUTH_ENABLED=true
8486
# AGENTA_SERVICES_MIDDLEWARE_CACHING_ENABLED=true

0 commit comments

Comments
 (0)