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