internal

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2026 License: MIT Imports: 53 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Version = "dev"
	Commit  = "none"
	Date    = "unknown"
)

Functions

func CheckAndPromptUpdate

func CheckAndPromptUpdate()

CheckAndPromptUpdate checks for a newer version and prints an advisory. Used by orchestra init to inform the user without blocking.

func GenerateWorkspaceDocs

func GenerateWorkspaceDocs(workspace string)

GenerateWorkspaceDocs creates or overwrites CLAUDE.md and AGENTS.md at the workspace root. It scans .claude/skills/, .claude/agents/, .claude/hooks/ for installed content and reads the pack registry to produce accurate documentation files. Call this from orchestra init and after pack install/remove/update.

func InstallBundledContent

func InstallBundledContent(workspace string)

InstallBundledContent creates the built-in project-manager skill, orchestra skill, orchestra agent, and hooks that ship with every orchestra init. These provide a baseline so the AI IDE knows how to use Orchestra immediately.

func RunInit

func RunInit(args []string)

func RunInstall

func RunInstall(args []string)

RunInstall handles `orchestra install <repo> [flags]`.

func RunLog added in v1.0.2

func RunLog(args []string)

func RunPack

func RunPack(args []string)

RunPack handles `orchestra pack <subcommand>`.

func RunPlugin

func RunPlugin(args []string)

RunPlugin handles `orchestra plugin <subcommand>`.

func RunPlugins

func RunPlugins(args []string)

RunPlugins handles `orchestra plugins` -- lists all installed third-party plugins.

func RunRestart added in v1.0.2

func RunRestart(args []string)

RunRestart handles `orchestra restart [--workspace . --tcp-addr localhost:50101]`. It stops the running instance, then spawns a new `orchestra serve` as a detached process. The command returns immediately after the new process starts.

func RunServe

func RunServe(args []string)

func RunStop added in v1.0.2

func RunStop(args []string)

RunStop handles `orchestra stop [--workspace .]`.

func RunUninstall

func RunUninstall(args []string)

RunUninstall handles `orchestra uninstall <plugin-id-or-repo>`.

func RunUpdate

func RunUpdate(args []string)

RunUpdate handles `orchestra update` (self-update) or `orchestra update <plugin>`.

func RunVersion

func RunVersion()

func SaveRegistry

func SaveRegistry(reg *PluginRegistry) error

SaveRegistry writes the registry to disk, creating directories as needed.

func WatchEscQuit added in v1.0.4

func WatchEscQuit(onQuit func())

WatchEscQuit opens /dev/tty in raw mode. On first ESC it shows a confirmation prompt; pressing ESC again (or 'y') within 3 seconds shuts down. Any other key cancels. Returns immediately if /dev/tty is unavailable.

Types

type ExternalProcess

type ExternalProcess struct {
	Entry  *PluginEntry
	Cmd    *exec.Cmd
	Addr   string // QUIC address from "READY <addr>"
	Client *sdkplugin.OrchestratorClient
	Cancel context.CancelFunc
}

ExternalProcess tracks a running plugin subprocess.

type IDEConfig

type IDEConfig struct {
	Name       string
	Display    string
	ConfigPath func(workspace string) string
	Generate   func(workspace, binaryPath string) ([]byte, error)
}

IDEConfig defines how to generate MCP config for a specific IDE.

type PluginEntry

type PluginEntry struct {
	ID              string   `json:"id"`
	Version         string   `json:"version"`
	Binary          string   `json:"binary"`
	Repo            string   `json:"repo"`
	InstalledAt     string   `json:"installed_at"`
	ProvidesTools   []string `json:"provides_tools"`
	ProvidesStorage []string `json:"provides_storage"`
	NeedsStorage    []string `json:"needs_storage"`

	// Extended fields for selective plugin loading.
	Enabled         bool     `json:"enabled"`
	ProvidesAI      []string `json:"provides_ai,omitempty"`
	NeedsAI         []string `json:"needs_ai,omitempty"`
	NeedsTools      []string `json:"needs_tools,omitempty"`
	ProvidesPrompts []string `json:"provides_prompts,omitempty"`
	Description     string   `json:"description,omitempty"`
	Author          string   `json:"author,omitempty"`
	Platform        string   `json:"platform,omitempty"`
	UpdatedAt       string   `json:"updated_at,omitempty"`
}

PluginEntry describes a single installed plugin.

type PluginRegistry

type PluginRegistry struct {
	Plugins map[string]*PluginEntry `json:"plugins"`
}

PluginRegistry holds all installed third-party plugins, keyed by repo URL.

func LoadRegistry

func LoadRegistry() (*PluginRegistry, error)

LoadRegistry reads the registry from disk. Returns an empty registry if the file does not exist.

Directories

Path Synopsis
Package inprocess provides an in-process plugin router that dispatches tool calls, storage operations, and prompt requests via direct Go function calls instead of QUIC network round-trips.
Package inprocess provides an in-process plugin router that dispatches tool calls, storage operations, and prompt requests via direct Go function calls instead of QUIC network round-trips.

Jump to

Keyboard shortcuts

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