Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions src/coder_eval/models/sandbox.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,22 @@ class DockerDriverConfig(BaseModel):
default_factory=list,
description="Extra `-v src:dst[:ro]` mount specs forwarded to `docker run`. Validated for basic syntax.",
)
agent_input_patterns: list[str] = MergeField(
strategy="replace",
default_factory=list,
description=(
"Relative glob patterns copied from each local plugin or template source into the agent container. "
"Only these staged copies are mounted; an empty list permits no external source files."
),
)

@field_validator("agent_input_patterns")
@classmethod
def _validate_agent_input_patterns(cls, patterns: list[str]) -> list[str]:
for pattern in patterns:
if not pattern or pattern.startswith(("/", "\\")) or ".." in pattern.replace("\\", "/").split("/"):
raise ValueError("agent_input_patterns entries must be non-empty relative paths without '..'")
return patterns

@field_validator("working_dir")
@classmethod
Expand Down