codex

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package codex exposes typed public event inputs, responses, and registrars for Codex runtime integrations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterCustomJSON

func RegisterCustomJSON[T any](r *Registrar, eventName string, fn func(*T) *Response) error

RegisterCustomJSON registers an experimental future Codex hook whose payload is delivered as a JSON argv argument. The handler remains fully typed.

Types

type NotifyEvent

type NotifyEvent struct {
	// Raw keeps the original notify payload as it was received from argv JSON.
	Raw json.RawMessage
	// Client identifies the Codex client variant that emitted the event.
	Client string
}

NotifyEvent is the decoded Codex notify payload and its raw JSON form.

func (*NotifyEvent) RawJSON

func (e *NotifyEvent) RawJSON() json.RawMessage

RawJSON returns the original JSON payload for pass-through or custom decoding.

type PermissionRequestEvent added in v1.2.0

type PermissionRequestEvent = internalcodex.PermissionRequestInput

PermissionRequestEvent is the Codex PermissionRequest hook input (decoded from stdin JSON). ToolInput stays raw JSON for typed consumers.

type PreToolUseEvent added in v1.2.0

type PreToolUseEvent = internalcodex.PreToolUseInput

PreToolUseEvent is the Codex PreToolUse hook input (decoded from stdin JSON). ToolInput stays raw JSON for typed consumers.

type Registrar

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

Registrar registers public Codex event handlers on a root SDK app.

func NewRegistrar

func NewRegistrar(backend runtime.RegistrarBackend) *Registrar

NewRegistrar builds a Codex registrar on top of the shared runtime backend.

func (*Registrar) OnNotify

func (r *Registrar) OnNotify(fn func(*NotifyEvent) *Response)

OnNotify registers a handler for the Codex Notify.

func (*Registrar) OnPermissionRequest added in v1.2.0

func (r *Registrar) OnPermissionRequest(fn func(*PermissionRequestEvent) *Response)

OnPermissionRequest registers a handler for the Codex PermissionRequest.

func (*Registrar) OnPreToolUse added in v1.2.0

func (r *Registrar) OnPreToolUse(fn func(*PreToolUseEvent) *Response)

OnPreToolUse registers a handler for the Codex PreToolUse.

func (*Registrar) OnStop added in v1.2.0

func (r *Registrar) OnStop(fn func(*StopEvent) *Response)

OnStop registers a handler for the Codex Stop.

func (*Registrar) OnSubagentStop added in v1.2.0

func (r *Registrar) OnSubagentStop(fn func(*SubagentStopEvent) *Response)

OnSubagentStop registers a handler for the Codex SubagentStop.

type Response

type Response struct{}

Response represents a successful acknowledgement of a Codex event (Notify and the observation-style lifecycle hooks Stop, SubagentStop, PreToolUse, and PermissionRequest).

func Continue

func Continue() *Response

Continue acknowledges the event and exits successfully with empty output.

type StopEvent added in v1.2.0

type StopEvent = internalcodex.StopInput

StopEvent is the Codex Stop lifecycle hook input (decoded from stdin JSON). Field names follow the Codex hooks schema; wire uses snake_case via the platform adapter.

type SubagentStopEvent added in v1.2.0

type SubagentStopEvent = internalcodex.SubagentStopInput

SubagentStopEvent is the Codex SubagentStop hook input (decoded from stdin JSON). It carries the Stop fields plus subagent identity.

Jump to

Keyboard shortcuts

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