embedded

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package embedded holds Patchcord's bundled reference plugins — text, json, encoding, http and time (plugins/examples/*, chosen because none of them has a concrete external service behind it) — as prebuilt executables embedded straight into the patchcord binary for the platform it was built for. See ADR-0059.

It exists so a freshly installed agent has a useful set of actions available without anyone having to manually locate and `plugin install` anything first. Nothing here changes what a plugin *is*: what's embedded is byte-for-byte the same standalone executable `plugin install` would otherwise be pointed at, still launched and supervised as its own OS process speaking the plugin RPC protocol (non-negotiable #3 and #7 in CLAUDE.md, and ADR-0002) — embedding only removes the manual step of finding the executable in the first place.

internal/plugins.SeedEmbedded is this package's only caller.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type File

type File struct {
	// Name is the executable's file name (e.g. "text", or "text.exe" on
	// Windows). It carries no meaning beyond that — a plugin's identity
	// comes entirely from its own handshake manifest, exactly as with any
	// executable passed to `plugin install`.
	Name string
	Data []byte
}

File is one bundled plugin executable, ready to be written to disk and installed.

func Files

func Files() ([]File, error)

Files returns every reference plugin executable embedded for the current platform.

It returns an empty (not nil) slice, never an error over missing content, on a build where the embedding step never ran — e.g. a bare `go build` on a fresh checkout, before `make build-embedded-plugins` (or the release pipeline's per-target equivalent) has populated bin/. An error here means the embedded filesystem itself is malformed, which signals a build problem, not "nothing to seed".

Jump to

Keyboard shortcuts

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