daemon

package
v0.0.0-...-8d0dba2 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2026 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DaemonStatus

func DaemonStatus(inst *api.Instance) *api.DaemonStatus

func InstanceURLs

func InstanceURLs(inst *api.Instance) map[string]string

func Serve

func Serve(ctx context.Context, opts Options) error

func SetStartDaemonFuncForTest

func SetStartDaemonFuncForTest(fn func(worktree, instanceID, projectName string) error) func()

Types

type Action

type Action string
const (
	ActionPing       Action = "ping"
	ActionRun        Action = "run"
	ActionWatch      Action = "watch"
	ActionFlush      Action = "flush"
	ActionStop       Action = "stop"
	ActionStatus     Action = "status"
	ActionSubscribe  Action = "subscribe"
	ActionRestart    Action = "restart"
	ActionInvalidate Action = "invalidate"
	ActionRetarget   Action = "retarget"
	ActionRunAction  Action = "action_run"
)

type ActionRunResult

type ActionRunResult struct {
	RunID        string            `json:"runId,omitempty"`
	ActionID     string            `json:"actionId"`
	Kind         string            `json:"kind,omitempty"`
	Component    string            `json:"component,omitempty"`
	Status       string            `json:"status"`
	Inputs       map[string]string `json:"inputs,omitempty"`
	CreatedFiles []string          `json:"createdFiles,omitempty"`
	Run          *api.RunResult    `json:"run,omitempty"`
	Relaunch     *StartResult      `json:"relaunch,omitempty"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func Dial

func Dial(worktree string) (*Client, error)

func Ensure

func Ensure(ctx context.Context, worktree, projectName string) (outClient *Client, outStarted bool, returnedErr error)

func (*Client) Call

func (c *Client) Call(ctx context.Context, req Request, onEvent ...func(api.Event)) (outResponse Response, returnedErr error)

func (*Client) Ping

func (c *Client) Ping(ctx context.Context) error

func (*Client) Subscribe

func (c *Client) Subscribe(ctx context.Context, onEvent func(api.Event)) error

type Options

type Options struct {
	Worktree string
	Project  string
	LogPath  string
}

type Request

type Request struct {
	ID           string             `json:"id,omitempty"`
	CallerPID    int                `json:"callerPid,omitempty"`
	Action       Action             `json:"action"`
	Project      string             `json:"project,omitempty"`
	Target       string             `json:"target,omitempty"`
	Mode         api.RunMode        `json:"mode,omitempty"`
	MaxParallel  int                `json:"maxParallel,omitempty"`
	Detach       bool               `json:"detach,omitempty"`
	StreamEvents bool               `json:"streamEvents,omitempty"`
	TimeoutMs    int64              `json:"timeoutMs,omitempty"`
	Headless     api.HeadlessPolicy `json:"headless,omitempty"`
	Task         string             `json:"task,omitempty"`
	All          bool               `json:"all,omitempty"`
	Upstream     bool               `json:"upstream,omitempty"`
	Downstream   bool               `json:"downstream,omitempty"`
	Env          map[string]string  `json:"env,omitempty"`
	ActionID     string             `json:"actionId,omitempty"`
	ActionKind   string             `json:"actionKind,omitempty"`
	Component    string             `json:"component,omitempty"`
	Inputs       map[string]string  `json:"inputs,omitempty"`
	Preview      bool               `json:"preview,omitempty"`
}

type Response

type Response struct {
	ID               string                `json:"id,omitempty"`
	OK               bool                  `json:"ok"`
	Error            *api.CommandError     `json:"error,omitempty"`
	ResourceConflict *api.ResourceConflict `json:"resourceConflict,omitempty"`
	Started          *StartResult          `json:"started,omitempty"`
	Run              *api.RunResult        `json:"run,omitempty"`
	Flush            *api.FlushResult      `json:"flush,omitempty"`
	Stop             *StopResult           `json:"stop,omitempty"`
	Status           *api.StatusResult     `json:"status,omitempty"`
	ActionResult     *ActionRunResult      `json:"actionResult,omitempty"`
	Lifecycle        *api.LifecycleResult  `json:"lifecycle,omitempty"`
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

type StartResult

type StartResult struct {
	RunID         string      `json:"runId"`
	InstanceID    string      `json:"instanceId"`
	Target        string      `json:"target"`
	Mode          api.RunMode `json:"mode"`
	DaemonPID     int         `json:"daemonPid"`
	LogPath       string      `json:"logPath"`
	Accepted      bool        `json:"accepted"`
	DaemonStarted bool        `json:"daemonStarted"`
	Ready         bool        `json:"ready"`
	State         string      `json:"state"`
}

type StopResult

type StopResult struct {
	InstanceID string               `json:"instanceId"`
	Stopped    []string             `json:"stopped"`
	Lifecycle  *api.LifecycleResult `json:"lifecycle,omitempty"`
}

Jump to

Keyboard shortcuts

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