INNER CODE UNIT · Go
newCodexProvider
k1LoW/runn · agent_codex.go:19
func newCodexProvider(cfg *AgentRunnerConfig) (*codexProvider, error) {
if cfg.Provider != "" && cfg.Provider != "openai" {
return nil, fmt.Errorf("codex agent does not support provider %q (only openai)", cfg.Provider)
}
perms, err := parseAgentPermissions(cfg.Permissions)
if err != nil {
return nil, err
}
var opts []codex.Option
if cfg.Interactive {
opts = append(opts, codex.WithOnCommandApproval(func(_ context.Context, req codex.CommandApprovalRequest) (codex.ApprovalDecision, error) {
switch perms.decide(req.Command) {
case agentPermissionAllow:
return codex.DecisionAccept, nil
case agentPermissionDeny: