Documentation
¶
Overview ¶
Package skill provides an omniskill-compatible meeting skill for OmniAgent.
This skill enables AI agents to create, join, and manage meetings through the OmniAgent framework using any OmniMeet provider (LiveKit, Daily, etc.).
Usage with OmniAgent:
import (
"github.com/plexusone/omni-livekit/omnimeet"
meetingskill "github.com/plexusone/omnimeet-core/skill"
)
// Create provider
provider, _ := omnimeet.NewProvider(config)
// Create skill
skill := meetingskill.New(provider, meetingskill.Config{
DefaultAgentName: "AI Assistant",
})
// Register with OmniAgent
agent.New(config, agent.WithCompiledSkill(skill))
Index ¶
- type Config
- type Event
- type MeetingSkill
- func (s *MeetingSkill) Close() error
- func (s *MeetingSkill) Description() string
- func (s *MeetingSkill) GetSession(meetingID string) *Session
- func (s *MeetingSkill) Init(ctx context.Context) error
- func (s *MeetingSkill) Name() string
- func (s *MeetingSkill) OnEvent(handler func(Event))
- func (s *MeetingSkill) Provider() provider.MeetingProvider
- func (s *MeetingSkill) Tools() []skill.Tool
- type Session
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config 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
}
Config configures the MeetingSkill.
type Event ¶
type Event struct {
Type string `json:"type"`
MeetingID string `json:"meeting_id"`
Timestamp time.Time `json:"timestamp"`
Data any `json:"data,omitempty"`
}
Event represents a meeting event.
type MeetingSkill ¶
type MeetingSkill struct {
// contains filtered or unexported fields
}
MeetingSkill provides meeting capabilities to OmniAgent via omniskill.
func New ¶
func New(prov provider.MeetingProvider, cfg Config) *MeetingSkill
New creates a new MeetingSkill.
func (*MeetingSkill) Close ¶
func (s *MeetingSkill) Close() error
Close closes the skill and leaves all meetings.
func (*MeetingSkill) Description ¶
func (s *MeetingSkill) Description() string
Description returns the skill description.
func (*MeetingSkill) GetSession ¶
func (s *MeetingSkill) GetSession(meetingID string) *Session
GetSession returns an active meeting session.
func (*MeetingSkill) Init ¶
func (s *MeetingSkill) Init(ctx context.Context) error
Init initializes the skill.
func (*MeetingSkill) OnEvent ¶
func (s *MeetingSkill) OnEvent(handler func(Event))
OnEvent sets the event handler.
func (*MeetingSkill) Provider ¶
func (s *MeetingSkill) Provider() provider.MeetingProvider
Provider returns the underlying meeting provider.
func (*MeetingSkill) Tools ¶
func (s *MeetingSkill) Tools() []skill.Tool
Tools returns the skill's tools.
type Session ¶
type Session struct {
Meeting *meeting.Meeting
Agent provider.AgentParticipant
JoinedAt time.Time
Participants []participant.Participant
// contains filtered or unexported fields
}
Session represents an active meeting session.
func (*Session) MarshalJSON ¶
MarshalJSON implements json.Marshaler for tool results.