Skip to content

Commit 5268bc9

Browse files
merge: resolve PR #35 conflicts with fix/tool-sandbox
Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: Cai-Tang-www <106404101+Cai-Tang-www@users.noreply.github.com>
2 parents b3dea96 + 1eb6315 commit 5268bc9

1 file changed

Lines changed: 15 additions & 16 deletions

File tree

internal/tools/manager.go

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -331,26 +331,25 @@ func (m *DefaultManager) Execute(ctx context.Context, input ToolCallInput) (Tool
331331
return result, permissionErrorFromDecision(decision)
332332
}
333333

334-
plan, err := m.sandbox.Check(ctx, action)
335-
if err != nil {
336-
if decision, decisionMatched := resolveSandboxOutsideWriteDecision(input, action, err, m.sessionDecisions); decisionMatched {
337-
if decision.Decision != security.DecisionAllow {
338-
result := blockedToolResult(input, decision)
339-
return result, permissionErrorFromDecision(decision)
334+
plan, err := m.sandbox.Check(ctx, action)
335+
if err != nil {
336+
if decision, decisionMatched := resolveSandboxOutsideWriteDecision(input, action, err, m.sessionDecisions); decisionMatched {
337+
if decision.Decision != security.DecisionAllow {
338+
result := blockedToolResult(input, decision)
339+
return result, permissionErrorFromDecision(decision)
340+
}
341+
m.auditCapabilityDecision(action, string(security.DecisionAllow), decision.Reason)
342+
return m.executor.Execute(ctx, input)
343+
} else {
344+
result := NewErrorResult(input.Name, "workspace sandbox rejected action", sandboxErrorDetails(action, err), actionMetadata(action))
345+
result.ToolCallID = input.ID
346+
return result, err
340347
}
341-
m.auditCapabilityDecision(action, string(security.DecisionAllow), decision.Reason)
342-
return m.executor.Execute(ctx, input)
348+
} else if plan != nil {
349+
input.WorkspacePlan = plan
343350
}
344-
result := NewErrorResult(input.Name, "workspace sandbox rejected action", sandboxErrorDetails(action, err), actionMetadata(action))
345-
result.ToolCallID = input.ID
346-
return result, err
347-
}
348351
m.auditCapabilityDecision(action, string(security.DecisionAllow), "")
349352

350-
if plan != nil {
351-
input.WorkspacePlan = plan
352-
}
353-
354353
return m.executor.Execute(ctx, input)
355354
}
356355

0 commit comments

Comments
 (0)