Documentation
¶
Index ¶
- func WithTimeout(timeout time.Duration) (context.Context, context.CancelFunc)
- type AddOptions
- type Client
- type WorkspaceClient
- func (wc *WorkspaceClient) Add(ctx context.Context, name, path string, autoStart bool, port int) (*workspace.WorkspaceInfo, error)
- func (wc *WorkspaceClient) AddWithOptions(ctx context.Context, opts AddOptions) (*workspace.WorkspaceInfo, error)
- func (wc *WorkspaceClient) Close() error
- func (wc *WorkspaceClient) Discover(ctx context.Context, paths []string) ([]workspace.DiscoveredRepo, error)
- func (wc *WorkspaceClient) Get(ctx context.Context, id string) (*workspace.WorkspaceInfo, error)
- func (wc *WorkspaceClient) List(ctx context.Context) ([]workspace.WorkspaceInfo, error)
- func (wc *WorkspaceClient) Remove(ctx context.Context, id string) error
- func (wc *WorkspaceClient) Restart(ctx context.Context, id string) (*workspace.WorkspaceInfo, error)
- func (wc *WorkspaceClient) Start(ctx context.Context, id string) (*workspace.WorkspaceInfo, error)
- func (wc *WorkspaceClient) Stop(ctx context.Context, id string) (*workspace.WorkspaceInfo, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WithTimeout ¶
WithTimeout is a helper to create a context with timeout.
Types ¶
type AddOptions ¶
type AddOptions struct {
Name string
Path string
AutoStart bool
Port int
CreateIfMissing bool // Create directory if it doesn't exist
}
AddOptions contains options for adding a workspace.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a JSON-RPC 2.0 client for WebSocket communication.
type WorkspaceClient ¶
type WorkspaceClient struct {
// contains filtered or unexported fields
}
WorkspaceClient provides JSON-RPC methods for workspace operations.
func NewWorkspaceClient ¶
func NewWorkspaceClient(url string) (*WorkspaceClient, error)
NewWorkspaceClient creates a new workspace client connected via JSON-RPC.
func (*WorkspaceClient) Add ¶
func (wc *WorkspaceClient) Add(ctx context.Context, name, path string, autoStart bool, port int) (*workspace.WorkspaceInfo, error)
Add creates a new workspace.
func (*WorkspaceClient) AddWithOptions ¶
func (wc *WorkspaceClient) AddWithOptions(ctx context.Context, opts AddOptions) (*workspace.WorkspaceInfo, error)
AddWithOptions creates a new workspace with additional options. Use CreateIfMissing to create the directory if it doesn't exist.
func (*WorkspaceClient) Close ¶
func (wc *WorkspaceClient) Close() error
Close closes the underlying connection.
func (*WorkspaceClient) Discover ¶
func (wc *WorkspaceClient) Discover(ctx context.Context, paths []string) ([]workspace.DiscoveredRepo, error)
Discover scans for Git repositories.
func (*WorkspaceClient) Get ¶
func (wc *WorkspaceClient) Get(ctx context.Context, id string) (*workspace.WorkspaceInfo, error)
Get returns a specific workspace by ID.
func (*WorkspaceClient) List ¶
func (wc *WorkspaceClient) List(ctx context.Context) ([]workspace.WorkspaceInfo, error)
List returns all workspaces.
func (*WorkspaceClient) Remove ¶
func (wc *WorkspaceClient) Remove(ctx context.Context, id string) error
Remove deletes a workspace.
func (*WorkspaceClient) Restart ¶
func (wc *WorkspaceClient) Restart(ctx context.Context, id string) (*workspace.WorkspaceInfo, error)
Restart restarts a workspace.
func (*WorkspaceClient) Start ¶
func (wc *WorkspaceClient) Start(ctx context.Context, id string) (*workspace.WorkspaceInfo, error)
Start starts a workspace.
func (*WorkspaceClient) Stop ¶
func (wc *WorkspaceClient) Stop(ctx context.Context, id string) (*workspace.WorkspaceInfo, error)
Stop stops a workspace.