context

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: May 13, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildChatRequest

func BuildChatRequest(in ChatRequestInput) llm.ChatRequest

BuildChatRequest applies model capability gates and returns a ready request.

func BuildMessages

func BuildMessages(req BuildRequest) ([]llm.Message, error)

BuildMessages assembles validated request messages for one model turn.

func BuildPairAwareCompactedMessages

func BuildPairAwareCompactedMessages(cfg PairAwareCompactionConfig) ([]llm.Message, bool, error)

func BuildTurnMessages

func BuildTurnMessages(req TurnMessagesRequest) ([]llm.Message, error)

BuildTurnMessages assembles system + optional web-lookup + conversation messages.

func EstimateRequestTokens

func EstimateRequestTokens(messages []llm.Message) int

EstimateRequestTokens approximates tokens for a complete request message set using a conservative ~4 chars/token heuristic.

func ValidateToolPairInvariant

func ValidateToolPairInvariant(messages []llm.Message) error

Types

type BuildRequest

type BuildRequest struct {
	SystemMessages       []llm.Message
	ConversationMessages []llm.Message
}

BuildRequest defines the minimal inputs needed to assemble one model turn.

type ChatRequestInput

type ChatRequestInput struct {
	Model       string
	Messages    []llm.Message
	Tools       []llm.ToolDefinition
	Assets      map[llm.AssetID]llm.ImageAsset
	Temperature float64
}

ChatRequestInput describes one model request assembly unit from prepared turn messages and candidate tools.

type PairAwareCompactionConfig

type PairAwareCompactionConfig struct {
	Messages        []llm.Message
	LatestUserIndex int
	KeepPairCount   int
	SummaryBuilder  func(history []llm.Message) (llm.Message, error)
}

type TurnMessagesRequest

type TurnMessagesRequest struct {
	SystemPrompt         string
	WebLookupInstruction string
	ConversationMessages []llm.Message
}

TurnMessagesRequest defines one model turn message assembly contract.

Jump to

Keyboard shortcuts

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