Documentation
¶
Index ¶
- Constants
- Variables
- func AdoptOrResumeSession(ctx context.Context, controller SessionController, runtime string, ...) (*contract.RuntimeSession, error)
- func FindSessionByIDOrProviderID(sessions []contract.RuntimeSession, sessionID string, providerSessionID string) (*contract.RuntimeSession, bool)
- func MetadataForNoToolTurn(metadata map[string]any) map[string]any
- func MetadataWithDisabledTools(metadata map[string]any, tools ...string) map[string]any
- type Provider
- type RespondRequest
- type ResumeSessionRequest
- type RuntimeMetadata
- type SendInputRequest
- type SessionController
- type StartSessionRequest
- type StructuredResultExtractor
- type StructuredSessionController
- type StructuredSessionOptions
- type StructuredSessionResult
- type TurnAccumulator
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
Types ¶
type Provider ¶
type Provider interface {
Runtime() string
Describe() contract.RuntimeDescriptor
StartSession(context.Context, StartSessionRequest) (*contract.RuntimeSession, error)
ResumeSession(context.Context, ResumeSessionRequest) (*contract.RuntimeSession, error)
SendInput(context.Context, SendInputRequest) (*contract.RuntimeEvent, error)
Interrupt(context.Context, string) (*contract.RuntimeEvent, error)
Respond(context.Context, RespondRequest) (*contract.RuntimeEvent, error)
StopSession(context.Context, string) (*contract.RuntimeEvent, error)
ListSessions(context.Context) ([]contract.RuntimeSession, error)
}
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 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 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 StructuredResultExtractor ¶ added in v0.4.5
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
Source Files
¶
Click to show internal directories.
Click to hide internal directories.