skill

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: 10 Imported by: 0

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

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

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) Name

func (s *MeetingSkill) Name() string

Name returns the skill name.

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

func (s *Session) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler for tool results.

Jump to

Keyboard shortcuts

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