grok

package
v0.0.31 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2026 License: MIT Imports: 10 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.

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