Skip to content

Commit b7d92d4

Browse files
authored
Honor explicit sandbox code before chat generation (#629)
1 parent 8a597ca commit b7d92d4

2 files changed

Lines changed: 18 additions & 4 deletions

File tree

packages/cli/src/agent-code.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,6 @@ export interface AgentSandboxCodeOptions {
3030
}
3131

3232
export async function resolveSandboxTaskCode(options: AgentSandboxCodeOptions): Promise<string> {
33-
if (options.agent) {
34-
return agentChatTaskCode(options)
35-
}
36-
3733
if (options.code) {
3834
return options.code
3935
}
@@ -42,6 +38,10 @@ export async function resolveSandboxTaskCode(options: AgentSandboxCodeOptions):
4238
return readFile(resolve(options.codeFile), "utf8")
4339
}
4440

41+
if (options.agent) {
42+
return agentChatTaskCode(options)
43+
}
44+
4545
return `echo json_encode(array('task_received' => true), JSON_PRETTY_PRINT);`
4646
}
4747

scripts/agent-sandbox-code-smoke.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,20 @@ import { recipeExecutionSpec } from "../packages/cli/src/agent-sandbox.ts"
33
import { agentSandboxRunCode, resolveSandboxTaskCode } from "../packages/cli/src/agent-code.ts"
44

55
async function main() {
6+
const explicitInlineCode = await resolveSandboxTaskCode({
7+
task: "Run explicit code",
8+
agent: "sandbox-agent",
9+
code: "echo 'explicit';",
10+
})
11+
assert.equal(explicitInlineCode, "echo 'explicit';", "explicit sandbox code should take precedence over generated agent chat code")
12+
13+
const explicitFileCode = await resolveSandboxTaskCode({
14+
task: "Run explicit code file",
15+
agent: "sandbox-agent",
16+
codeFile: "scripts/agent-sandbox-code-smoke.ts",
17+
})
18+
assert.match(explicitFileCode, /resolveSandboxTaskCode/, "explicit sandbox code files should take precedence over generated agent chat code")
19+
620
const sandboxWorkspace = {
721
schema: "wp-codebox/sandbox-workspace/v1" as const,
822
root: "/workspace",

0 commit comments

Comments
 (0)