controlplane

package
v0.4.5 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MetadataKeyTitle    = "title"
	MetadataKeySystem   = "system"
	MetadataKeyAgent    = "agent"
	MetadataKeyModel    = "model"
	MetadataKeyProvider = "provider"
	MetadataKeyTools    = "tools"
)

Variables

View Source
var DefaultNoToolTurnTools = []string{
	"bash",
	"edit",
	"glob",
	"grep",
	"list",
	"patch",
	"read",
	"todowrite",
	"webfetch",
	"write",
}
View Source
var ErrMissingStructuredResult = errors.New("structured result not found")

Functions

func AdoptOrResumeSession added in v0.4.5

func AdoptOrResumeSession(
	ctx context.Context,
	controller SessionController,
	runtime string,
	request ResumeSessionRequest,
) (*contract.RuntimeSession, error)

func FindSessionByIDOrProviderID added in v0.4.5

func FindSessionByIDOrProviderID(
	sessions []contract.RuntimeSession,
	sessionID string,
	providerSessionID string,
) (*contract.RuntimeSession, bool)

func MetadataForNoToolTurn added in v0.4.5

func MetadataForNoToolTurn(metadata map[string]any) map[string]any

func MetadataWithDisabledTools added in v0.4.5

func MetadataWithDisabledTools(metadata map[string]any, tools ...string) map[string]any

Types

type RespondRequest

type RespondRequest struct {
	SessionID string
	RequestID string
	Action    contract.RespondAction
	Text      string
	OptionID  string
	Answers   []contract.RequestAnswer
	Metadata  map[string]any
}

func (*RespondRequest) Normalize

func (request *RespondRequest) Normalize()

func (RespondRequest) Validate

func (request RespondRequest) Validate() error

type ResumeSessionRequest

type ResumeSessionRequest struct {
	SessionID         string
	ProviderSessionID string
	CWD               string
	Model             string
	Metadata          map[string]any
}

type RuntimeMetadata added in v0.4.5

type RuntimeMetadata struct {
	Title    string
	System   string
	Agent    string
	Model    string
	Provider string
	Labels   map[string]string
	Extra    map[string]any
}

func (RuntimeMetadata) Map added in v0.4.5

func (metadata RuntimeMetadata) Map() map[string]any

type SendInputRequest

type SendInputRequest struct {
	SessionID string
	Text      string
	Metadata  map[string]any
}

type SessionController added in v0.4.5

type SessionController interface {
	ListSessions(context.Context, string) ([]contract.RuntimeSession, error)
	ResumeSession(context.Context, string, ResumeSessionRequest) (*contract.RuntimeSession, error)
}

type StartSessionRequest

type StartSessionRequest struct {
	SessionID string
	CWD       string
	Model     string
	Prompt    string
	Metadata  map[string]any
}

type StructuredResultExtractor added in v0.4.5

type StructuredResultExtractor func(values ...string) (rendered string, normalisedJSON string)

type StructuredSessionController added in v0.4.5

type StructuredSessionController interface {
	SubscribeEvents(buffer int) (<-chan contract.RuntimeEvent, func())
	StartSession(context.Context, string, StartSessionRequest) (*contract.RuntimeSession, error)
	SendInput(context.Context, SendInputRequest) (*contract.RuntimeEvent, error)
}

type StructuredSessionOptions added in v0.4.5

type StructuredSessionOptions struct {
	EventBuffer int
	TickEvery   time.Duration

	Extract StructuredResultExtractor

	RepairPrompt   string
	RepairMetadata map[string]any
	MaxRepairTurns int

	OnSessionStarted          func(context.Context, *contract.RuntimeSession) error
	OnTick                    func(context.Context, string) error
	OnEvent                   func(context.Context, contract.RuntimeEvent) error
	OnTurnEvents              func(context.Context, string) error
	OnMissingStructuredResult func(context.Context) error
}

type StructuredSessionResult added in v0.4.5

type StructuredSessionResult struct {
	Session       *contract.RuntimeSession
	Text          string
	JSON          string
	Repaired      bool
	RepairAttempt int
}

func RunStructuredSession added in v0.4.5

func RunStructuredSession(
	ctx context.Context,
	controller StructuredSessionController,
	runtime string,
	request StartSessionRequest,
	options StructuredSessionOptions,
) (StructuredSessionResult, error)

type TurnAccumulator added in v0.4.5

type TurnAccumulator struct {
	EventLines  []string
	JoinedText  strings.Builder
	LatestDelta string
	FinalText   string
}

func (*TurnAccumulator) Add added in v0.4.5

func (t *TurnAccumulator) Add(event contract.RuntimeEvent)

func (*TurnAccumulator) EventsJSONL added in v0.4.5

func (t *TurnAccumulator) EventsJSONL() string

func (*TurnAccumulator) HasEvents added in v0.4.5

func (t *TurnAccumulator) HasEvents() bool

func (*TurnAccumulator) JoinedDelta added in v0.4.5

func (t *TurnAccumulator) JoinedDelta() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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