peergenx

package
v0.0.0-...-17a0321 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2026 License: BSD-3-Clause Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDenied        = errors.New("peergenx: denied")
	ErrNotFound      = errors.New("peergenx: not found")
	ErrInvalid       = errors.New("peergenx: invalid resource")
	ErrInvalidOutput = errors.New("peergenx: invalid provider output")
	ErrUnsupported   = errors.New("peergenx: unsupported resource")
	ErrNotConfigured = errors.New("peergenx: service not configured")
)

Functions

This section is empty.

Types

type AudioOutput

type AudioOutput interface {
	ConsumeAgentOutput(context.Context, genx.Stream) error
}

type Builder

type Builder interface {
	BuildGenerator(context.Context, GeneratorConfig) (genx.Generator, error)
	BuildTransformer(context.Context, TransformerConfig) (genx.Transformer, error)
}

type DefaultBuilder

type DefaultBuilder struct {
	HTTPClient *http.Client
}

func (DefaultBuilder) BuildGenerator

func (b DefaultBuilder) BuildGenerator(ctx context.Context, cfg GeneratorConfig) (genx.Generator, error)

func (DefaultBuilder) BuildTransformer

func (b DefaultBuilder) BuildTransformer(_ context.Context, cfg TransformerConfig) (genx.Transformer, error)

type EmbeddingConfig

type EmbeddingConfig = GeneratorConfig

EmbeddingConfig contains the resources resolved for one embedding model. It aliases GeneratorConfig because both model kinds use the same provider, tenant, and credential resource shape while their resolvers enforce distinct ModelKind contracts.

type Generator

type Generator struct {
	// contains filtered or unexported fields
}

func (*Generator) GenerateStream

func (g *Generator) GenerateStream(ctx context.Context, pattern string, mctx genx.ModelContext) (genx.Stream, error)

func (*Generator) Invoke

func (g *Generator) Invoke(ctx context.Context, pattern string, mctx genx.ModelContext, tool *genx.FuncTool) (genx.Usage, *genx.FuncCall, error)

type GeneratorConfig

type GeneratorConfig struct {
	Pattern    string
	Model      apitypes.Model
	Tenant     Tenant
	Credential apitypes.Credential
}

type Peer

type Peer interface {
	PublicKey() giznet.PublicKey
}

type SayRequest

type SayRequest struct {
	Text       string
	VoiceAlias string
}

type SayResponse

type SayResponse struct {
	Accepted bool
}

type Service

type Service struct {
	Peer            Peer
	Models          ModelGetter
	Voices          VoiceGetter
	Credentials     CredentialGetter
	ProviderTenants ProviderTenantGetter
	Builder         Builder
	AudioOutput     AudioOutput
}

func New

func New(service Service) *Service

func (*Service) BuildTransformer

func (s *Service) BuildTransformer(ctx context.Context, pattern string) (genx.Transformer, error)

BuildTransformer resolves and validates a transformer without starting a provider session. Workflow factories use it to reject invalid persisted resources and credentials during AgentHost initialization.

func (*Service) BuildTransformerWithToolInvoker

func (s *Service) BuildTransformerWithToolInvoker(
	ctx context.Context,
	pattern string,
	toolInvoker genx.ToolInvoker,
) (genx.Transformer, error)

BuildTransformerWithToolInvoker resolves and validates a transformer with the AgentHost-owned ToolInvoker for the current Peer run.

func (*Service) Extract

Extract transcribes audio and invokes the aliased LLM with a server-owned schema-constrained extraction tool.

func (*Service) Generator

func (s *Service) Generator() genx.Generator

func (*Service) ListAccessibleGeneratorConfigs

func (s *Service) ListAccessibleGeneratorConfigs(ctx context.Context) ([]GeneratorConfig, error)

func (*Service) ResolveEmbedding

func (s *Service) ResolveEmbedding(ctx context.Context, pattern string) (EmbeddingConfig, error)

ResolveEmbedding resolves an embedding model alias into its canonical model, provider tenant, and credential resources.

func (*Service) ResolveGenerator

func (s *Service) ResolveGenerator(ctx context.Context, pattern string) (GeneratorConfig, error)

func (*Service) ResolveTransformer

func (s *Service) ResolveTransformer(ctx context.Context, pattern string) (TransformerConfig, error)

func (*Service) Say

func (s *Service) Say(ctx context.Context, request SayRequest) (SayResponse, error)

func (*Service) Synthesize

func (s *Service) Synthesize(ctx context.Context, voiceAlias, text string, acceptedContentTypes []string) (SpeechSynthesis, error)

func (*Service) Transcribe

func (s *Service) Transcribe(ctx context.Context, modelAlias, language string, input genx.Stream) (string, error)

func (*Service) Transformer

func (s *Service) Transformer() genx.TransformerMux

type SpeechExtraction

type SpeechExtraction struct {
	Transcript string
	ResultJSON string
}

SpeechExtraction contains the final transcript and canonical schema-valid JSON.

type SpeechExtractionRequest

type SpeechExtractionRequest struct {
	ASRModelAlias       string
	ExtractModelAlias   string
	Language            string
	SchemaJSON          string
	Instruction         string
	Input               genx.Stream
	MaxSchemaDepth      int
	MaxSchemaProperties int
	MaxTranscriptBytes  int
	MaxResultBytes      int
}

SpeechExtractionRequest describes one audio transcription and structured extraction using RuntimeProfile model aliases.

type SpeechSynthesis

type SpeechSynthesis struct {
	Stream       genx.Stream
	ContentType  string
	SampleRateHz *int32
	Channels     *int32
}

type Tenant

type Tenant struct {
	Kind      string
	DeepSeek  *apitypes.DeepSeekTenant
	OpenAI    *apitypes.OpenAITenant
	Gemini    *apitypes.GeminiTenant
	DashScope *apitypes.DashScopeTenant
	MiniMax   *apitypes.MiniMaxTenant
	Volc      *apitypes.VolcTenant
}

type Transformer

type Transformer struct {
	// contains filtered or unexported fields
}

func (*Transformer) Transform

func (t *Transformer) Transform(ctx context.Context, pattern string, input genx.Stream) (genx.Stream, error)

type TransformerConfig

type TransformerConfig struct {
	Pattern     string
	Model       *apitypes.Model
	Voice       *apitypes.Voice
	Tenant      Tenant
	Credential  apitypes.Credential
	Params      map[string]any
	ToolInvoker genx.ToolInvoker
}

Jump to

Keyboard shortcuts

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