Documentation
¶
Overview ¶
Package cmd is beekeeper's command line.
Index ¶
Constants ¶
const ( // ExitGateQueued: the merge waits on for its turn, or for the GitHub // budget's reset, in a run of its own, which wakes its owner with the // outcome. ExitGateQueued = 76 // ExitGateRefused: a hold, a GitHub budget unknown or an unreadable // installation; nothing is queued. ExitGateRefused = 77 // ExitGateUnread: the GitHub budget read failed in transit on every try // (sysexits' EX_IOERR); the merge was neither judged nor queued, the same // command runs again once GitHub answers. ExitGateUnread = 74 // ExitGateDuplicate: the pull request's merge already runs, devctl's // "not applicable". ExitGateDuplicate = 3 // GatePrefix starts every line the gate prints. GatePrefix = "beekeeper gate: " // DefaultGateWait is a foreground merge's wait for its turn before it // waits on in a run of its own; the hook gives a background one // BackgroundGateWait. DefaultGateWait = 2 * time.Minute BackgroundGateWait = 30 * time.Minute )
The gate's own exit codes, apart from devctl's 1-9 and the busy machine's 75.
const ( ExitError = 1 ExitUsage = 2 ExitRefused = 3 ExitRelieved = 4 ExitVault = 78 ExitOutdated = 125 )
Exit codes: 0 done, 1 error, 2 usage, 3 refused (a lease held or not granted, a hold set, the budget under its floor, a platform part this build does not have, a save by a release older than the one that wrote the state), 4 relieved (supervisor status in the session a relay relieved), 69 central unreachable (ExitCentral: a central verb whose instance did not answer), 78 vault (ExitVault: beekeeper secret could not read the shared vault: none configured, no token, op failing or silent), 125 outdated (a newer release exists: self-update --check, the status devctl's version check and muster's self-update --check use).
const ExitCentral = 69
ExitCentral is a central verb refused because the central instance is unreachable: there is no local copy to act on instead.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Harness ¶ added in v0.171.0
type Harness interface {
// Name is the harness's short name ("" for Claude Code, "omp", "agy", "codex").
Name() string
// HostPrefix prefixes a started session's HostSession ("local_", "omp_", "agy_", "codex_").
HostPrefix() string
// EnvAgent is the environment variable a started session's shell carries, "" for Claude Code.
EnvAgent() string
// Start starts sp on this harness.
Start(ctx context.Context, a *app, sp agentStart) error
// DryRun prints how Start would start sp without starting anything.
DryRun(ctx context.Context, a *app, sp agentStart, gaps []string) error
// Wake delivers msg from by to the registered agent ag started under id.
Wake(a *app, by state.Party, ag state.Agent, id, msg string) error
// Send writes msg to the inbox of the agent name started under id.
Send(a *app, name, id, msg string) error
// Stop stops the unit and removes the inbox of the agent started under id.
Stop(ctx context.Context, a *app, id string) string
// Discover lists the running sessions of this harness.
Discover(cfg *config.Config, t *proc.Table, now time.Time) []*claude.Session
// Ended lists the sessions of this harness active since that no process runs.
Ended(cfg *config.Config, running []*claude.Session, since time.Time) []*claude.Session
// Tail reads the last n conversation turns of a transcript.
Tail(path string, n int) ([]claude.Turn, error)
// Follow reads the last n turns of a transcript, including tool calls.
Follow(path string, n int) ([]claude.Turn, error)
// ReadTranscript reads the work and activity of a session's transcript window.
ReadTranscript(a *app, s *claude.Session, now time.Time) (claude.Work, claude.Activity)
// SpendTranscripts reads whole-transcript API requests in [from, to) for spend.
SpendTranscripts(cfg *config.Config, from, to time.Time) ([]claude.SpendTranscript, error)
}
Harness is a coding agent harness beekeeper starts, lists, follows, wakes, stops and prices.
type ServeModeState ¶ added in v0.171.0
type ServeModeState struct {
// Mode is the mode the reader last reported.
Mode string `json:"mode,omitempty"`
// Pending is the mode a switch waits to run into.
Pending string `json:"pending,omitempty"`
// Node is the constraint the pending switch waits for; empty once the
// holder released and the request stands only for the watch to retry.
Node string `json:"node,omitempty"`
// Reason says why the switch waits.
Reason string `json:"reason,omitempty"`
// Since is when the desk asked for the pending switch.
Since time.Time `json:"since,omitzero"`
// At is when the machine was last reconciled.
At time.Time `json:"at,omitzero"`
}
ServeModeState is a self-hosted provider's serving-mode machine: the mode the reader reported, the mode a switch waits to run into, the node whose constraint the drain waits for, and why the switch waits.
Source Files
¶
- agentbackground.go
- agentdesktop.go
- agentdir.go
- agentgh.go
- agenthandover.go
- agentkeep.go
- agentpark.go
- agentprofile.go
- agentresume.go
- agents.go
- agentstart.go
- agentstartagy.go
- agentstartcodex.go
- agentstartomp.go
- agenttitle.go
- agentwake.go
- alerts.go
- answer.go
- app.go
- appcreate.go
- appinstallation.go
- appmanifest.go
- archivable.go
- archive.go
- board.go
- broadcast.go
- browse.go
- browsewindow.go
- budget.go
- cacheclear.go
- capacity.go
- central.go
- centralfeed.go
- centralholds.go
- centrallanes.go
- centralmailbox.go
- centralroster.go
- claude_usage.go
- config.go
- cpu.go
- debug.go
- desktoproom.go
- diskprune.go
- diskwatch.go
- dockerprune.go
- doctor.go
- executioncontrol.go
- executionharness.go
- executionhost.go
- executionmessage.go
- executionops.go
- executionresolution.go
- executionrun.go
- executionstart.go
- feedback.go
- free.go
- gate.go
- gatecheck.go
- gatemerge.go
- gatepair.go
- gatepreempt.go
- gateread.go
- gateruns.go
- gatestop.go
- gateurgent.go
- gocache.go
- gtt.go
- guard.go
- guide.go
- guidestale.go
- handover.go
- handoverboard.go
- handoverselect.go
- harness.go
- hold.go
- hookpreinvocation.go
- importrow.go
- install.go
- labs.go
- lanes.go
- lease.go
- leasekube.go
- leaselab.go
- leaselabconfig.go
- leftover.go
- lint.go
- metrics.go
- modelserver.go
- note.go
- notecentral.go
- notecheck.go
- notedecision.go
- notehold.go
- noteovertaken.go
- offroster.go
- owed.go
- owned.go
- pageowner.go
- pagerduty.go
- person.go
- platform.go
- pluginsync.go
- priority.go
- profile.go
- prompt.go
- proof.go
- ps.go
- rankchanges.go
- relay.go
- reopenwait.go
- report.go
- reporter.go
- restart.go
- retask.go
- revived.go
- root.go
- sametitle.go
- sandbox.go
- sandboxgithub.go
- sandboxhost.go
- sandboxsign.go
- sandboxvault.go
- scan.go
- secret.go
- secretcapture.go
- secretgithubapp.go
- secretitems.go
- secretlog.go
- secretpage.go
- secretreveal.go
- secretstore.go
- secretunlock.go
- seen.go
- selfupdate.go
- serve.go
- serveconversations.go
- servedecisions.go
- servemessages.go
- serveresources.go
- servescope.go
- servetools.go
- servewatch.go
- servingmodes.go
- servingmodes_lease.go
- servingmodes_proc_unix.go
- sessions.go
- sink.go
- slotorphans.go
- snapshot.go
- spend.go
- squashmerge.go
- stalewatch.go
- standby.go
- standing.go
- startsummary.go
- status.go
- stop.go
- storm.go
- successor.go
- supervisor.go
- supervisoralerts.go
- supervisorfill.go
- supervisorloop.go
- supervisorresume.go
- supervisorwatch.go
- teleport.go
- timer.go
- timercheck.go
- timercond.go
- tmpfs.go
- ui.go
- ungated.go
- upgrades.go
- usage.go
- watch.go
- worktrees.go
- yours.go