Help us shape the future of Go! Take the 2026 Go Developer Survey

codexcli

package
v1.217.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package codexcli provides an AI provider that invokes the OpenAI Codex CLI as a subprocess, reusing the user's ChatGPT Plus/Pro subscription.

Index

Constants

View Source
const (
	// ProviderName is the name of this provider for configuration lookup.
	ProviderName = "codex-cli"
	// DefaultBinary is the default binary name for Codex CLI.
	DefaultBinary = "codex"
)

Variables

This section is empty.

Functions

func ExtractResult

func ExtractResult(output []byte) (string, error)

ExtractResult parses JSONL output and extracts the final text response. Codex CLI emits JSONL events. The response text is in "item.completed" events where item.type is "agent_message" (text in item.text directly) or "message" (text in item.content[].text array).

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client invokes the OpenAI Codex CLI in non-interactive mode.

func NewClient

func NewClient(atmosConfig *schema.AtmosConfiguration) (*Client, error)

NewClient creates a new Codex CLI client from Atmos configuration.

func (*Client) GetMaxTokens

func (c *Client) GetMaxTokens() int

GetMaxTokens returns 0 — managed by Codex CLI internally.

func (*Client) GetModel

func (c *Client) GetModel() string

GetModel returns the configured model name.

func (*Client) SendMessage

func (c *Client) SendMessage(ctx context.Context, message string) (string, error)

SendMessage sends a prompt to Codex CLI and returns the response.

func (*Client) SendMessageWithHistory

func (c *Client) SendMessageWithHistory(ctx context.Context, messages []types.Message) (string, error)

SendMessageWithHistory concatenates history into a single prompt.

func (*Client) SendMessageWithSystemPromptAndTools

func (c *Client) SendMessageWithSystemPromptAndTools(
	ctx context.Context,
	systemPrompt string,
	atmosMemory string,
	messages []types.Message,
	_ []tools.Tool,
) (*types.Response, error)

SendMessageWithSystemPromptAndTools sends with system prompt prepended.

func (*Client) SendMessageWithTools

func (c *Client) SendMessageWithTools(_ context.Context, _ string, _ []tools.Tool) (*types.Response, error)

SendMessageWithTools is not supported — Codex CLI manages its own tools.

func (*Client) SendMessageWithToolsAndHistory

func (c *Client) SendMessageWithToolsAndHistory(_ context.Context, _ []types.Message, _ []tools.Tool) (*types.Response, error)

SendMessageWithToolsAndHistory is not supported.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL