- Introduced a human-readable display name for the sandbox, constructed from the agent and workspace names. - Updated the BuildIdentifier function to include workspace ID in identifiers for long-running and persistent lifecycles. - Modified sandbox creation options to incorporate the display name, improving clarity in sandbox management. - Refactored related tests to ensure compatibility with the new identifier structure and display name integration. Made-with: Cursor
52 lines
1.5 KiB
Go
52 lines
1.5 KiB
Go
package runtime
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
)
|
|
|
|
// Image manages container images on a runtime node.
|
|
type Image interface {
|
|
Exists(ctx context.Context, ref string) (bool, error)
|
|
Inspect(ctx context.Context, ref string) (*ImageMeta, error)
|
|
Pull(ctx context.Context, ref string, opts PullOptions) (<-chan PullProgress, error)
|
|
Remove(ctx context.Context, ref string, force bool) error
|
|
List(ctx context.Context) ([]ImageInfo, error)
|
|
}
|
|
|
|
// ImageMeta holds static metadata extracted from a container image.
|
|
type ImageMeta struct {
|
|
OS string // "linux", "windows"
|
|
Arch string // "amd64", "arm64"
|
|
Shell string // preferred shell: "bash", "sh", "cmd.exe", "pwsh"
|
|
WorkDir string // default working directory from Dockerfile WORKDIR
|
|
}
|
|
|
|
// PullOptions configures an image pull operation.
|
|
type PullOptions struct {
|
|
Auth *RegistryAuth // nil = anonymous / public
|
|
}
|
|
|
|
// RegistryAuth holds credentials for a private container registry.
|
|
type RegistryAuth struct {
|
|
Username string
|
|
Password string
|
|
Server string // e.g. "ghcr.io", "registry.example.com"
|
|
}
|
|
|
|
// PullProgress reports real-time progress of an image pull.
|
|
type PullProgress struct {
|
|
Status string // "Pulling fs layer", "Downloading", "Extracting", "Pull complete", etc.
|
|
Layer string // layer digest / short ID
|
|
Current int64 // bytes completed
|
|
Total int64 // bytes total (0 if unknown)
|
|
Error string // non-empty on failure
|
|
}
|
|
|
|
// ImageInfo describes a local image.
|
|
type ImageInfo struct {
|
|
ID string
|
|
Tags []string
|
|
Size int64
|
|
Created time.Time
|
|
}
|