Documentation
¶
Index ¶
- func DeleteState(name string) error
- func GenerateMountFlags(mounts []ConfigMount) []string
- func SaveState(s *SandboxState) error
- type AgentTemplate
- type ConfigMount
- func ClaudeConfigMounts(syncConfig, syncState, managedSettings bool) []ConfigMount
- func CodexConfigMounts(syncConfig, syncState, managedSettings bool) []ConfigMount
- func GetConfigMounts(agent string, syncConfig, syncState, managedSettings bool) []ConfigMount
- func SessionSyncMounts(hostWorkspace, containerWorkspace string) []ConfigMount
- type Manager
- func (m *Manager) Attach(ctx context.Context, name string) error
- func (m *Manager) List() ([]*SandboxState, error)
- func (m *Manager) Logs(ctx context.Context, name string, follow bool) error
- func (m *Manager) Remove(ctx context.Context, name string) error
- func (m *Manager) Run(ctx context.Context, opts RunOptions) error
- func (m *Manager) Stop(ctx context.Context, name string) error
- type RunOptions
- type SandboxState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteState ¶
func GenerateMountFlags ¶
func GenerateMountFlags(mounts []ConfigMount) []string
func SaveState ¶
func SaveState(s *SandboxState) error
Types ¶
type AgentTemplate ¶
type AgentTemplate struct {
Name string
Image string
EntryCmd []string
EnvVars []string // Required env var names (e.g., "ANTHROPIC_API_KEY")
DefaultArgs []string
}
func GetTemplate ¶
func GetTemplate(agent string) *AgentTemplate
type ConfigMount ¶
func ClaudeConfigMounts ¶
func ClaudeConfigMounts(syncConfig, syncState, managedSettings bool) []ConfigMount
func CodexConfigMounts ¶
func CodexConfigMounts(syncConfig, syncState, managedSettings bool) []ConfigMount
func GetConfigMounts ¶
func GetConfigMounts(agent string, syncConfig, syncState, managedSettings bool) []ConfigMount
func SessionSyncMounts ¶ added in v0.4.0
func SessionSyncMounts(hostWorkspace, containerWorkspace string) []ConfigMount
SessionSyncMounts returns mounts that sync the host's Claude Code session into the VM so /resume works across host and sandbox.
Claude Code stores sessions at ~/.claude/projects/<path-hash>/ where path-hash is the workspace path with "/" replaced by "-". Host: ~/.claude/projects/-Users-adrian-Projects-myapp/ VM: ~/.claude/projects/-workspace/
We mount the host session dir at the VM's expected session path.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func (*Manager) List ¶
func (m *Manager) List() ([]*SandboxState, error)
type RunOptions ¶
type SandboxState ¶
type SandboxState struct {
Name string `json:"name"`
Agent string `json:"agent"`
Workspace string `json:"workspace"`
ContainerID string `json:"container_id"`
Status string `json:"status"` // running, stopped
Created time.Time `json:"created"`
NetworkPolicy string `json:"network_policy"`
AllowedHosts []string `json:"allowed_hosts,omitempty"`
ContainerIP string `json:"container_ip,omitempty"`
}
func ListStates ¶
func ListStates() ([]*SandboxState, error)
func LoadState ¶
func LoadState(name string) (*SandboxState, error)
Click to show internal directories.
Click to hide internal directories.