Help us shape the future of Go! Take the 2026 Go Developer Survey

meetingexec

package
v0.2.11 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2026 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package meetingexec connects approved meeting turns to the existing Rysh executor on a private, in-process-only bus. Nothing is published to pane, history, sharing or audit subscribers on the user's session bus.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LiveProviderError

func LiveProviderError(prov provider.AgenticProvider) error

LiveProviderError says why prov cannot answer in a meeting, or returns nil. Meeting answers are spoken to real people, so a replayed transcript, a recorded session or the mock fallback (a session with no usable provider key) must never reach one. Each case names its own fix: a session started without a provider key used to be told about RYSH_RECORD_DIR/RYSH_REPLAY_DIR, which it never had set.

func New

func New(system *actor.ActorSystem, prov provider.AgenticProvider, readDir string) (meeting.Execute, error)

New deliberately exposes no live parent tool registry, shell, secret access, scope resolver, auto-approval or session memory. Optional reads are confined to an operator-selected directory. Each approved turn gets a fresh executor. This is plain "hey rysh"; attached agents use NewToolAgent (agent.go).

func NewSummarizer

func NewSummarizer(system *actor.ActorSystem, prov provider.AgenticProvider) (meeting.Execute, error)

NewSummarizer is the meeting reporter's LLM (design 045): the session provider on the same isolated in-process bus as New, with no tools at all, so meeting speech summarized into a report can never act. The reporter's prompts carry their own rules; the boundary here only fixes the role.

func NewToolAgent

func NewToolAgent(system *actor.ActorSystem, a ToolAgent) (meeting.Execute, error)

NewToolAgent returns the meeting executor for a tool-using agent.

Types

type ToolAgent

type ToolAgent struct {
	Name string
	// Live reports whether the agent may still answer (loaded and active).
	Live func() error
	// Build returns a new executor with bus id id (unique per turn, so it
	// never shares subjects with the live agent). It must auto-approve.
	Build func(id string) *sharedagentic.LLMPromptExecutionActor
	// NC and Codecs are the session bus the executor publishes steps on.
	NC     *nats.Conn
	Codecs *msg.CodecRegistry
}

ToolAgent is a `##agent`-spawned agent answering meeting turns with its own toolset (founder decision 2026-09-28: "all tools should be available to the agents in the meeting without any approval"). Each turn gets a fresh executor from Build — the same construction as the session's agent, on the session bus — so its tools, MCP servers, integrations and policy are the agent's own. There is no per-action approval; the controls are the speaker allowlist, the kill switch (stop/pause/leave) and the audit log.

Jump to

Keyboard shortcuts

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