Versions in this module Expand all Collapse all v0 v0.1.7 Nov 3, 2026 v0.1.6 Oct 27, 2026 Changes in this version + const DeletionAccepted + const DeletionAlreadyAbsent + const DeletionCompleted + const DeletionUnspecified + const EndpointCredentialUnavailable + const EndpointFailureDomainTokenGrant + const EndpointFailureDomainUnspecified + const EndpointHTTPResponseReceived + const EndpointNoObservedExchange + const EndpointPolicyDenied + const EndpointTLSFailed + const EndpointTransportFailed + const EndpointUnspecified + const EndpointUpstreamRejected + const ErrorAlreadyExists + const ErrorCancelled + const ErrorConflict + const ErrorDeadlineExceeded + const ErrorInternal + const ErrorInvalidArgument + const ErrorNotFound + const ErrorPermissionDenied + const ErrorUnauthenticated + const ErrorUnavailable + const ErrorUnimplemented + const EventAdded + const EventDeleted + const EventError + const EventModified + const ExtensionKindComputeDriver + const ExtensionKindCredentialDriver + const ExtensionKindGatewayInterceptor + const ExtensionKindSupervisorMiddleware + const ExtensionKindUnknown + const NetworkAccessPresetFull + const NetworkAccessPresetReadOnly + const NetworkAccessPresetReadWrite + const NetworkAccessPresetUnspecified + const NetworkEnforcementModeAudit + const NetworkEnforcementModeEnforce + const NetworkEnforcementModeUnspecified + const NetworkTLSModePassthrough + const NetworkTLSModeSkip + const NetworkTLSModeTerminate + const NetworkTLSModeUnspecified + const PolicyLoadStatusFailed + const PolicyLoadStatusLoaded + const PolicyLoadStatusPending + const PolicyLoadStatusSuperseded + const PolicyLoadStatusUnspecified + const PolicySourceGlobal + const PolicySourceSandbox + const PolicySourceUnspecified + const ProfileCategoryAgent + const ProfileCategoryData + const ProfileCategoryInference + const ProfileCategoryKnowledge + const ProfileCategoryMessaging + const ProfileCategoryOther + const ProfileCategorySourceControl + const RefreshRecoveryActionFixConfiguration + const RefreshRecoveryActionInvestigate + const RefreshRecoveryActionReauthorize + const RefreshRecoveryActionRetry + const RefreshRecoveryActionUnspecified + const RefreshStrategyExternal + const RefreshStrategyGoogleServiceAccountJWT + const RefreshStrategyOAuth2ClientCredentials + const RefreshStrategyOAuth2RefreshToken + const RefreshStrategyStatic + const SandboxCompleted + const SandboxDeleting + const SandboxError + const SandboxProvisioning + const SandboxReady + const SandboxRestartAlways + const SandboxRestartNever + const SandboxRestartOnFailure + const SandboxStarting + const SandboxStopped + const SandboxStopping + const SandboxSuspended + const SandboxSuspending + const SandboxUnknown + const ServiceAuthorizationModeBearerPassthrough + const ServiceAuthorizationModeStrip + const ServiceStatusDegraded + const ServiceStatusHealthy + const ServiceStatusUnhealthy + const ServiceStatusUnknown + const SettingScopeGlobal + const SettingScopeSandbox + const SettingScopeUnspecified + const SettingValueBool + const SettingValueBytes + const SettingValueInt + const SettingValueString + const StreamStderr + const StreamStdout + const WorkspaceActive + const WorkspaceRoleAdmin + const WorkspaceRoleUnknown + const WorkspaceRoleUser + const WorkspaceTerminating + const WorkspaceUnknown + var ErrTransportNotAvailable = errors.New("openshell: file transport not available") + var WithAnnotations = types.WithAnnotations + var WithDraftApprovals = types.WithDraftApprovals + var WithIncludeSecurityFlagged = types.WithIncludeSecurityFlagged + var WithLabels = types.WithLabels + var WithListGlobal = types.WithListGlobal + var WithLogLines = types.WithLogLines + var WithLogMinLevel = types.WithLogMinLevel + var WithLogSince = types.WithLogSince + var WithLogSources = types.WithLogSources + var WithPageSize = types.WithPageSize + var WithPageToken = types.WithPageToken + var WithServiceExposures = types.WithServiceExposures + var WithStatusFilter = types.WithStatusFilter + var WithStatusGlobal = types.WithStatusGlobal + var WithVersion = types.WithVersion + func CancelInteractive(session InteractiveSession) error + func CloseInteractiveInput(session InteractiveSession) error + func IsAlreadyExists(err error) bool + func IsCancelled(err error) bool + func IsConflict(err error) bool + func IsDeadlineExceeded(err error) bool + func IsInvalidArgument(err error) bool + func IsNotFound(err error) bool + func IsPermissionDenied(err error) bool + func IsUnauthenticated(err error) bool + func IsUnavailable(err error) bool + func IsUnimplemented(err error) bool + type AddAllowRules = types.AddAllowRules + type AddDenyRules = types.AddDenyRules + type AddNetworkRule = types.AddNetworkRule + type ApproveAllOption = types.ApproveAllOption + type ApproveAllResult = types.ApproveAllResult + type ApproveResult = types.ApproveResult + type AttachProviderResult = types.AttachProviderResult + type AuthProvider = types.AuthProvider + func NoAuth() AuthProvider + func RefreshableToken(src oauth2.TokenSource, opts ...RefreshOption) (AuthProvider, error) + func StaticToken(token string) AuthProvider + func WithExtraHeaders(base AuthProvider, headers map[string]string) (AuthProvider, error) + type ClearResult = types.ClearResult + type Client struct + func NewClient(cfg Config) (*Client, error) + func (c *Client) Close() error + func (c *Client) Config() ConfigInterface + func (c *Client) CreateSandboxFromTemplate(ctx context.Context, workspace, name, templateName string, spec *SandboxSpec, ...) (*Sandbox, error) + func (c *Client) Exec() ExecInterface + func (c *Client) Files() FileInterface + func (c *Client) Health() HealthInterface + func (c *Client) Policy() PolicyInterface + func (c *Client) Providers() ProviderInterface + func (c *Client) SSH() SSHInterface + func (c *Client) SandboxSuspendResume() SandboxSuspendResumeInterface + func (c *Client) SandboxTemplates() SandboxTemplateInterface + func (c *Client) Sandboxes() SandboxInterface + func (c *Client) Services() ServiceInterface + func (c *Client) TCP() TCPInterface + func (c *Client) Workspaces() WorkspaceInterface + type ClientInterface interface + Close func() error + Config func() ConfigInterface + CreateSandboxFromTemplate func(ctx context.Context, workspace, name, templateName string, spec *SandboxSpec, ...) (*Sandbox, error) + Exec func() ExecInterface + Files func() FileInterface + Health func() HealthInterface + Policy func() PolicyInterface + Providers func() ProviderInterface + SSH func() SSHInterface + SandboxSuspendResume func() SandboxSuspendResumeInterface + SandboxTemplates func() SandboxTemplateInterface + Sandboxes func() SandboxInterface + Services func() ServiceInterface + TCP func() TCPInterface + Workspaces func() WorkspaceInterface + type ComputeDriverInfo = types.ComputeDriverInfo + type Config = types.Config + type ConfigInterface interface + GetGateway func(ctx context.Context) (*GatewayConfig, error) + GetSandbox func(ctx context.Context, workspace, sandboxName string) (*SandboxConfig, error) + Update func(ctx context.Context, workspace string, update *ConfigUpdate) (*ConfigUpdateResult, error) + type ConfigUpdate = types.ConfigUpdate + type ConfigUpdateResult = types.ConfigUpdateResult + type CreateOption = types.CreateOption + type CurrentUser = types.CurrentUser + type DeleteOptions = types.DeleteOptions + type DeletionOutcome = types.DeletionOutcome + type DeletionResult = types.DeletionResult + type DetachProviderResult = types.DetachProviderResult + type DraftChunkApproval = types.DraftChunkApproval + type DraftHistoryEntry = types.DraftHistoryEntry + type DraftPolicy = types.DraftPolicy + type EffectiveSetting = types.EffectiveSetting + type EndpointFailure = types.EndpointFailure + type EndpointFailureDomain = types.EndpointFailureDomain + type EndpointResult = types.EndpointResult + type EndpointStatus = types.EndpointStatus + type ErrorCode = types.ErrorCode + type ErrorInfo = types.ErrorInfo + type Event = types.Event[T] + type EventType = types.EventType + type ExecChunk = types.ExecChunk + type ExecInterface interface + Interactive func(ctx context.Context, workspace, sandboxName string, command []string, ...) (InteractiveSession, error) + Run func(ctx context.Context, workspace, sandboxName string, command []string, ...) (*ExecResult, error) + Stream func(ctx context.Context, workspace, sandboxName string, command []string, ...) (ExecStream, error) + type ExecOptions = types.ExecOptions + type ExecResult = types.ExecResult + type ExecStream interface + Close func() error + ExitCode func() (int, error) + Next func() (*ExecChunk, error) + type ExposeServiceOptions struct + AuthorizationMode ServiceAuthorizationMode + type ExtensionInfo = types.ExtensionInfo + type ExtensionKind = types.ExtensionKind + type FieldViolation = types.FieldViolation + type FileInterface interface + Download func(ctx context.Context, workspace, sandboxName string, remotePath string, ...) error + Upload func(ctx context.Context, workspace, sandboxName string, localPath string, ...) error + type FilesystemPolicy = types.FilesystemPolicy + type ForwardListener interface + Addr func() net.Addr + Close func() error + type ForwardOption func(*forwardConfig) + func WithForwardServiceID(id string) ForwardOption + type GatewayConfig = types.GatewayConfig + type GatewayInfo = types.GatewayInfo + type GetDraftOption = types.GetDraftOption + type GetStatusOption = types.GetStatusOption + type GraphqlOperation = types.GraphqlOperation + type HealthInterface interface + Check func(ctx context.Context) (*HealthResult, error) + GetCurrentUser func(ctx context.Context) (*CurrentUser, error) + GetGatewayInfo func(ctx context.Context) (*GatewayInfo, error) + type HealthResult = types.HealthResult + type ImportResult = types.ImportResult + type InteractiveSession interface + Close func() error + ExitCode func() (int, error) + Read func(p []byte) (int, error) + Resize func(cols, rows uint32) error + Write func(p []byte) (int, error) + type InteractiveSessionControl interface + Cancel func() error + CloseWrite func() error + type L7Allow = types.L7Allow + type L7DenyRule = types.L7DenyRule + type L7QueryMatcher = types.L7QueryMatcher + type L7Rule = types.L7Rule + type L7RuleTarget = types.L7RuleTarget + type LandlockPolicy = types.LandlockPolicy + type LintResult = types.LintResult + type ListOptions = types.ListOptions + type ListPolicyOption = types.ListPolicyOption + type ListenOption func(*listenConfig) + func WithBindAddress(addr string) ListenOption + func WithListenServiceID(id string) ListenOption + func WithSSHTunnel() ListenOption + type LogLine = types.LogLine + type LogOption = types.LogOption + type LogResult = types.LogResult + type Logger = types.Logger + type NetworkAccessPreset = types.NetworkAccessPreset + type NetworkBinary = types.NetworkBinary + type NetworkEndpoint = types.NetworkEndpoint + type NetworkEnforcementMode = types.NetworkEnforcementMode + type NetworkPolicyRule = types.NetworkPolicyRule + type NetworkTLSMode = types.NetworkTLSMode + type Page struct + Items []T + NextPageToken string + type Pager struct + func NewPager[T any](pageToken string, fetch func(context.Context, string) (*Page[T], error)) *Pager[T] + func (p *Pager[T]) All(ctx context.Context) ([]T, error) + func (p *Pager[T]) NextPage(ctx context.Context) (*Page[T], error) + type PolicyChunk = types.PolicyChunk + type PolicyInterface interface + ApproveAllDraftChunks func(ctx context.Context, workspace, sandboxName string, opts ...ApproveAllOption) (*ApproveAllResult, error) + ApproveDraftChunk func(ctx context.Context, workspace, sandboxName, chunkID, reviewToken string) (*ApproveResult, error) + ClearDraftChunks func(ctx context.Context, workspace, sandboxName string) (*ClearResult, error) + EditDraftChunk func(ctx context.Context, workspace, sandboxName, chunkID string, ...) error + GetDraft func(ctx context.Context, workspace, sandboxName string, opts ...GetDraftOption) (*DraftPolicy, error) + GetDraftHistory func(ctx context.Context, workspace, sandboxName string) ([]DraftHistoryEntry, error) + GetStatus func(ctx context.Context, workspace, sandboxName string, opts ...GetStatusOption) (*PolicyStatusResult, error) + List func(workspace, sandboxName string, opts ...ListPolicyOption) (*Pager[SandboxPolicyRevision], error) + ListAll func(ctx context.Context, workspace, sandboxName string, opts ...ListPolicyOption) ([]SandboxPolicyRevision, error) + RejectDraftChunk func(ctx context.Context, workspace, sandboxName, chunkID, reason string) error + UndoDraftChunk func(ctx context.Context, workspace, sandboxName, chunkID string) (*UndoResult, error) + type PolicyLoadStatus = types.PolicyLoadStatus + type PolicyMergeOperation = types.PolicyMergeOperation + type PolicyNetworkBinary = types.PolicyNetworkBinary + type PolicyNetworkEndpoint = types.PolicyNetworkEndpoint + type PolicySource = types.PolicySource + type PolicyStatusResult = types.PolicyStatusResult + type ProcessPolicy = types.ProcessPolicy + type ProfileCategory = types.ProfileCategory + type ProfileCredential = types.ProfileCredential + type ProfileDiagnostic = types.ProfileDiagnostic + type ProfileDiscovery = types.ProfileDiscovery + type ProfileImportItem = types.ProfileImportItem + type ProfileInterface interface + Delete func(ctx context.Context, workspace, id string, opts ...DeleteOptions) (*DeletionResult, error) + Get func(ctx context.Context, workspace, id string) (*ProviderProfile, error) + Import func(ctx context.Context, workspace string, items []ProfileImportItem) (*ImportResult, error) + Lint func(ctx context.Context, workspace string, items []ProfileImportItem) (*LintResult, error) + List func(workspace string, opts ...ListOptions) (*Pager[*ProviderProfile], error) + ListAll func(ctx context.Context, workspace string, opts ...ListOptions) ([]*ProviderProfile, error) + Update func(ctx context.Context, workspace, id string, expectedResourceVersion uint64, ...) (*UpdateResult, error) + type Provider = types.Provider + type ProviderInterface interface + Create func(ctx context.Context, workspace string, provider *Provider) (*Provider, error) + Delete func(ctx context.Context, workspace, name string, opts ...DeleteOptions) (*DeletionResult, error) + Ensure func(ctx context.Context, workspace string, provider *Provider) (*Provider, error) + Get func(ctx context.Context, workspace, name string) (*Provider, error) + List func(workspace string, opts ...ListOptions) (*Pager[*Provider], error) + ListAll func(ctx context.Context, workspace string, opts ...ListOptions) ([]*Provider, error) + Profiles func() ProfileInterface + Refresh func() RefreshInterface + Update func(ctx context.Context, workspace string, provider *Provider) (*Provider, error) + type ProviderProfile = types.ProviderProfile + type ProviderSpec = types.ProviderSpec + type RefreshConfig = types.RefreshConfig + type RefreshInterface interface + Configure func(ctx context.Context, workspace string, config *RefreshConfig) (*RefreshStatus, error) + Delete func(ctx context.Context, workspace, provider, credentialKey string, ...) (*DeletionResult, error) + GetStatus func(ctx context.Context, workspace, provider, credentialKey string) ([]*RefreshStatus, error) + Rotate func(ctx context.Context, workspace, provider, credentialKey string) (*RefreshStatus, error) + type RefreshOption func(*refreshConfig) + func WithLeeway(d time.Duration) RefreshOption + func WithLogger(l types.Logger) RefreshOption + type RefreshRecoveryAction = types.RefreshRecoveryAction + type RefreshStatus = types.RefreshStatus + type RefreshStrategy = types.RefreshStrategy + type RemoveNetworkBinary = types.RemoveNetworkBinary + type RemoveNetworkEndpoint = types.RemoveNetworkEndpoint + type RemoveNetworkRule = types.RemoveNetworkRule + type ResumeOptions = types.ResumeOptions + type SSHInterface interface + CreateSession func(ctx context.Context, workspace, sandboxName string) (*SSHSession, error) + RevokeSession func(ctx context.Context, workspace, token string, opts ...DeleteOptions) (*DeletionResult, error) + Tunnel func(ctx context.Context, workspace, sandboxName string, port uint32, ...) (io.ReadWriteCloser, error) + type SSHSession = types.SSHSession + type Sandbox = types.Sandbox + type SandboxCondition = types.SandboxCondition + type SandboxConfig = types.SandboxConfig + type SandboxGPURequirements = types.SandboxGPURequirements + type SandboxInterface interface + AttachProvider func(ctx context.Context, workspace, sandboxName, providerName string, ...) (*AttachProviderResult, error) + Create func(ctx context.Context, workspace, name string, spec *SandboxSpec, ...) (*Sandbox, error) + Delete func(ctx context.Context, workspace, name string, opts ...DeleteOptions) (*DeletionResult, error) + DetachProvider func(ctx context.Context, workspace, sandboxName, providerName string, ...) (*DetachProviderResult, error) + Get func(ctx context.Context, workspace, name string) (*Sandbox, error) + GetLogs func(ctx context.Context, workspace, sandboxName string, opts ...LogOption) (*LogResult, error) + List func(workspace string, opts ...ListOptions) (*Pager[*Sandbox], error) + ListAll func(ctx context.Context, workspace string, opts ...ListOptions) ([]*Sandbox, error) + ListAllProviders func(ctx context.Context, workspace, sandboxName string, opts ...ListOptions) ([]*Provider, error) + ListProviders func(workspace, sandboxName string, opts ...ListOptions) (*Pager[*Provider], error) + Start func(ctx context.Context, workspace, name string) (*Sandbox, error) + Stop func(ctx context.Context, workspace, name string) (*Sandbox, error) + WaitReady func(ctx context.Context, workspace, name string, opts ...WaitOptions) (*Sandbox, error) + WaitStopped func(ctx context.Context, workspace, name string, opts ...WaitOptions) (*Sandbox, error) + Watch func(ctx context.Context, workspace, name string, opts ...WatchOptions) (WatchInterface[*Sandbox], error) + type SandboxPhase = types.SandboxPhase + type SandboxPolicy = types.SandboxPolicy + type SandboxPolicyRevision = types.SandboxPolicyRevision + type SandboxResources = types.SandboxResources + type SandboxRestartPolicy = types.SandboxRestartPolicy + type SandboxServiceLevel = types.SandboxServiceLevel + type SandboxSpec = types.SandboxSpec + type SandboxStartup = types.SandboxStartup + type SandboxStatus = types.SandboxStatus + type SandboxSuspendResumeInterface interface + Resume func(ctx context.Context, workspace, name string, opts ...ResumeOptions) (*Sandbox, error) + Suspend func(ctx context.Context, workspace, name string) (*Sandbox, error) + WaitSuspended func(ctx context.Context, workspace, name string, opts ...WaitOptions) (*Sandbox, error) + type SandboxTemplate = types.SandboxTemplate + type SandboxTemplateCreateInterface interface + CreateFromTemplate func(ctx context.Context, workspace, name, templateName string, spec *SandboxSpec, ...) (*Sandbox, error) + type SandboxTemplateInterface interface + Create func(ctx context.Context, workspace string, template *SandboxWorkloadTemplate) (*SandboxWorkloadTemplate, error) + Delete func(ctx context.Context, workspace, name string, opts ...DeleteOptions) (*DeletionResult, error) + Get func(ctx context.Context, workspace, name string) (*SandboxWorkloadTemplate, error) + List func(workspace string, opts ...ListOptions) (*Pager[*SandboxWorkloadTemplate], error) + ListAll func(ctx context.Context, workspace string, opts ...ListOptions) ([]*SandboxWorkloadTemplate, error) + type SandboxWorkloadConfig = types.SandboxWorkloadConfig + type SandboxWorkloadTemplate = types.SandboxWorkloadTemplate + type SandboxWorkloadTemplateProvenance = types.SandboxWorkloadTemplateProvenance + type SandboxWorkloadTemplateSpec = types.SandboxWorkloadTemplateSpec + type ServiceAuthorizationMode = types.ServiceAuthorizationMode + type ServiceEndpoint = types.ServiceEndpoint + type ServiceExposure = types.ServiceExposure + type ServiceInterface interface + Delete func(ctx context.Context, workspace, sandboxName, serviceName string, ...) (*DeletionResult, error) + Expose func(ctx context.Context, workspace, sandboxName, serviceName string, ...) (*ServiceEndpoint, error) + Get func(ctx context.Context, workspace, sandboxName, serviceName string) (*ServiceEndpoint, error) + List func(workspace, sandboxName string, opts ...ListOptions) (*Pager[*ServiceEndpoint], error) + ListAll func(ctx context.Context, workspace, sandboxName string, opts ...ListOptions) ([]*ServiceEndpoint, error) + type ServiceStatus = types.ServiceStatus + type SettingScope = types.SettingScope + type SettingValue = types.SettingValue + type SettingValueType = types.SettingValueType + type StatusError = types.StatusError + type StreamType = types.StreamType + type TCPInterface interface + Forward func(ctx context.Context, workspace, sandboxName string, port uint32, ...) (io.ReadWriteCloser, error) + Listen func(ctx context.Context, workspace, sandboxName string, remotePort uint32, ...) (ForwardListener, error) + type TLSConfig = types.TLSConfig + type TokenGrantFailureObservation = types.TokenGrantFailureObservation + type TunnelOption func(*tunnelConfig) + func WithTunnelServiceID(id string) TunnelOption + type UndoResult = types.UndoResult + type UpdateResult = types.UpdateResult + type WaitOptions = types.WaitOptions + type WatchInterface = types.WatchInterface[T] + type WatchOptions = types.WatchOptions + type Workspace = types.Workspace + type WorkspaceInterface interface + AddMember func(ctx context.Context, workspace, principalSubject string, role WorkspaceRole) (*WorkspaceMember, error) + Create func(ctx context.Context, name string, labels map[string]string) (*Workspace, error) + Delete func(ctx context.Context, name string, opts ...DeleteOptions) (*DeletionResult, error) + Get func(ctx context.Context, name string) (*Workspace, error) + List func(opts ...ListOptions) (*Pager[*Workspace], error) + ListAll func(ctx context.Context, opts ...ListOptions) ([]*Workspace, error) + ListAllMembers func(ctx context.Context, workspace string, opts ...ListOptions) ([]*WorkspaceMember, error) + ListMembers func(workspace string, opts ...ListOptions) (*Pager[*WorkspaceMember], error) + RemoveMember func(ctx context.Context, workspace, principalSubject string, opts ...DeleteOptions) (*DeletionResult, error) + type WorkspaceMember = types.WorkspaceMember + type WorkspacePhase = types.WorkspacePhase + type WorkspaceRole = types.WorkspaceRole