agent

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package agent provides OmniAgent integration for OmniMeet.

This package provides a meeting skill that enables AI agents to create, join, and manage meetings through the OmniAgent framework.

Package agent provides OmniAgent integration for OmniMeet.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MeetingEvent

type MeetingEvent struct {
	Type      string    `json:"type"`
	MeetingID string    `json:"meeting_id"`
	Timestamp time.Time `json:"timestamp"`
	Data      any       `json:"data,omitempty"`
}

MeetingEvent represents an event during a meeting.

type MeetingSession

type MeetingSession struct {
	Meeting      *meeting.Meeting
	Agent        provider.AgentParticipant
	JoinedAt     time.Time
	Transcript   []TranscriptEntry
	Participants []participant.Participant
	// contains filtered or unexported fields
}

MeetingSession represents an active meeting session.

type MeetingSkill

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

MeetingSkill provides meeting capabilities to OmniAgent.

func NewMeetingSkill

func NewMeetingSkill(prov provider.MeetingProvider, cfg SkillConfig) (*MeetingSkill, error)

NewMeetingSkill creates a new MeetingSkill.

func (*MeetingSkill) Close

func (s *MeetingSkill) Close() error

Close closes the skill.

func (*MeetingSkill) Description

func (s *MeetingSkill) Description() string

Description returns the skill description.

func (*MeetingSkill) GetSession

func (s *MeetingSkill) GetSession(meetingID string) *MeetingSession

GetSession returns an active meeting session.

func (*MeetingSkill) Init

func (s *MeetingSkill) Init(ctx context.Context) error

Init initializes the skill.

func (*MeetingSkill) Name

func (s *MeetingSkill) Name() string

Name returns the skill name.

func (*MeetingSkill) OnMeetingEvent

func (s *MeetingSkill) OnMeetingEvent(handler func(MeetingEvent))

OnMeetingEvent sets the event handler.

func (*MeetingSkill) Tools

func (s *MeetingSkill) Tools() []Tool

Tools returns the skill's tools.

type SkillConfig

type SkillConfig struct {
	// DefaultMeetingName is used when creating meetings without a name.
	DefaultMeetingName string
	// DefaultAgentName is the default name for the agent participant.
	DefaultAgentName string
	// AutoJoinAsAgent controls whether the agent automatically joins created meetings.
	AutoJoinAsAgent bool
	// TranscriptionEnabled enables real-time transcription.
	TranscriptionEnabled bool
}

SkillConfig configures the MeetingSkill.

type Tool

type Tool interface {
	Name() string
	Description() string
	Parameters() map[string]any
	Execute(ctx context.Context, args json.RawMessage) (string, error)
}

Tool interface for OmniAgent integration.

type TranscriptEntry

type TranscriptEntry struct {
	ParticipantID   string    `json:"participant_id"`
	ParticipantName string    `json:"participant_name"`
	Text            string    `json:"text"`
	Timestamp       time.Time `json:"timestamp"`
	IsFinal         bool      `json:"is_final"`
}

TranscriptEntry represents a transcript segment.

type VoiceMeetingSkill

type VoiceMeetingSkill struct {
	*MeetingSkill
	// contains filtered or unexported fields
}

VoiceMeetingSkill extends MeetingSkill with voice capabilities. It integrates OmniVoice STT/TTS for real-time speech processing.

func NewVoiceMeetingSkill

func NewVoiceMeetingSkill(prov provider.MeetingProvider, cfg SkillConfig, voiceCfg VoiceSkillConfig) (*VoiceMeetingSkill, error)

NewVoiceMeetingSkill creates a new VoiceMeetingSkill.

func (*VoiceMeetingSkill) Description

func (s *VoiceMeetingSkill) Description() string

Description returns the skill description.

func (*VoiceMeetingSkill) Tools

func (s *VoiceMeetingSkill) Tools() []Tool

Tools returns the skill's tools with voice-specific overrides.

type VoiceSkillConfig

type VoiceSkillConfig struct {
	// STTProvider is the speech-to-text provider (from omnivoice-core).
	STTProvider stt.Provider
	// TTSProvider is the text-to-speech provider (from omnivoice-core).
	TTSProvider tts.Provider
	// STTConfig configures speech-to-text (from omnivoice-core).
	STTConfig stt.TranscriptionConfig
	// TTSConfig configures text-to-speech (from omnivoice-core).
	TTSConfig tts.SynthesisConfig
	// OnTranscript is called when speech is transcribed.
	OnTranscript func(meetingID, participantID, participantName, text string, isFinal bool)
}

VoiceSkillConfig configures voice integration.

Jump to

Keyboard shortcuts

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