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

grok

package
v0.0.204 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindAgentPath

func FindAgentPath(env *exec.Env) (string, error)

FindAgentPath looks up the grok binary in PATH, then probes well-known install locations.

func TestExported_writeAgentEventsFromGrokLine added in v0.0.31

func TestExported_writeAgentEventsFromGrokLine(rawLog io.Writer, line string)

TestExported_writeAgentEventsFromGrokLine wraps writeAgentEventsFromGrokLine for doctest access.

Types

type GrokAgent

type GrokAgent struct {
	AgentPath     string
	SettingsPath  string
	Workspace     string
	Env           *exec.Env
	LastSessionID string
}

GrokAgent wraps the grok CLI (xAI's Grok coding agent).

func (*GrokAgent) Ask

func (a *GrokAgent) Ask(ctx context.Context, question string, opts *registry.AskOptions, onDelta registry.DeltaCallback) (string, error)

Ask invokes the grok CLI with the given prompt and streams the response.

It runs:

grok -p "<prompt>" --output-format streaming-json --always-approve

with optional --model and --resume flags.

func (*GrokAgent) ListModels

func (a *GrokAgent) ListModels(ctx context.Context) ([]registry.ModelInfo, error)

ListModels runs "grok models" and parses the output to return model IDs.

Sample output:

You are logged in with grok.com.

Default model: grok-composer-2.5-fast

Available models:
  - grok-build
  * grok-composer-2.5-fast (default)

Lines starting with "- " or "* " are parsed as model entries.

type GrokEventWriter added in v0.0.31

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

GrokEventWriter converts grok streaming JSON lines into coalesced AgentEvent JSONL.

func NewGrokEventWriter added in v0.0.31

func NewGrokEventWriter(w io.Writer) *GrokEventWriter

NewGrokEventWriter creates a writer that buffers consecutive grok thought deltas into a single ActionThink event before writing to w.

func (*GrokEventWriter) Flush added in v0.0.31

func (g *GrokEventWriter) Flush()

Flush writes any buffered thought text as a single ActionThink event.

func (*GrokEventWriter) WriteGrokLine added in v0.0.31

func (g *GrokEventWriter) WriteGrokLine(line string)

WriteGrokLine parses one grok streaming JSON line and writes AgentEvent JSONL.

Jump to

Keyboard shortcuts

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