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:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…