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

clients

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LLMClient

type LLMClient interface {
	AnalyzeFeedback(ctx context.Context, message string) (*StrategyResult, error)
}

LLMClient defines the interface for LLM-based feedback analysis. The implementation will call an external LLM (OpenAI / Claude / etc.).

func NewLLMClient

func NewLLMClient() LLMClient

NewLLMClient creates a new LLM client.

type Profile

type Profile struct {
	StudentID uuid.UUID      `json:"student_id"`
	Name      string         `json:"name"`
	Skills    map[string]int `json:"skills"`
}

Profile represents student profile data

type ProfileClient

type ProfileClient interface {
	GetProfile(ctx context.Context, studentID uuid.UUID) (*Profile, error)
}

ProfileClient defines the interface for accessing student profile data

func NewProfileClient

func NewProfileClient() ProfileClient

NewProfileClient creates a new profile client.

type StrategyResult

type StrategyResult struct {
	PerceivedDifficulty  string                 `json:"perceived_difficulty"`
	DifficultyAdjustment float64                `json:"difficulty_adjustment"`
	TopicWeights         map[string]float64     `json:"topic_weights"`
	Sentiment            string                 `json:"sentiment"`
	StrategySnapshot     map[string]interface{} `json:"strategy_snapshot"`
}

StrategyResult holds the LLM-determined strategy for a student.

func (*StrategyResult) MarshalSnapshot

func (r *StrategyResult) MarshalSnapshot() (json.RawMessage, error)

MarshalSnapshot serialises StrategySnapshot to JSON bytes.

Jump to

Keyboard shortcuts

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