Documentation
¶
Index ¶
- Constants
- Variables
- func LocalEnvSessionMeta(configPath string) *session.Meta
- func WithLocalUICodeSpaceRoute(r *http.Request, codeSpaceID string) *http.Request
- func WithLocalUIEnvRoute(r *http.Request) *http.Request
- func WithLocalUIPluginRoute(r *http.Request, channelID string) *http.Request
- func WithLocalUIPortForwardRoute(r *http.Request, forwardID string) *http.Request
- type AIOrphanRootMaintenanceProvider
- type AIReadinessSnapshot
- type AIReadinessState
- type AIServiceProvider
- type AIServiceStartupOptions
- type Backend
- type CodeRuntimeArtifactManifest
- type CodeRuntimeSetupChunkResult
- type CodeRuntimeSetupOperation
- type CodeRuntimeSetupOperationRequest
- type CodeRuntimeStatus
- type CodeRuntimeVersionRequest
- type CreateSpaceRequest
- type Options
- type PortForwardBackend
- type Server
- func (g *Server) Close() error
- func (g *Server) ClosePluginSessionConnections(channelID string)
- func (g *Server) CodeRuntimeStatus(ctx context.Context) (CodeRuntimeStatus, error)
- func (g *Server) EnvAppShellReadinessError() error
- func (g *Server) EnvAppShellReady() bool
- func (g *Server) PluginPlatformEnabled() bool
- func (g *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (g *Server) Start(ctx context.Context) error
- func (g *Server) URL() string
- type SpaceStatus
- type UpdateSpaceRequest
Constants ¶
View Source
const ( AIReadinessContractErrorReasonCode = "ai_readiness_contract_error" AIServiceStartupErrorReasonCode = "ai_service_startup_error" AIHostThreadSettingsMissingReasonCode = "host_thread_settings_missing" )
View Source
const (
// LocalUIChannelID is the synthetic session channel used by Local UI Env App requests.
LocalUIChannelID = "local-ui"
)
Variables ¶
View Source
var ( ErrAIRetryInProgress = errors.New("AI readiness check is already in progress") )
Functions ¶
func LocalEnvSessionMeta ¶ added in v0.7.2
LocalEnvSessionMeta returns the synthetic Env App session used by Local UI routes.
func WithLocalUIPluginRoute ¶ added in v0.7.2
Types ¶
type AIOrphanRootMaintenanceProvider ¶ added in v0.11.0
type AIOrphanRootMaintenanceProvider interface {
ReviewOrphanCanonicalRoots(context.Context) (ai.OrphanCanonicalRootReview, error)
AdoptOrphanCanonicalRoot(context.Context, ai.AdoptOrphanCanonicalRootRequest) (int, error)
DeleteOrphanCanonicalRoot(context.Context, ai.DeleteOrphanCanonicalRootRequest) (int, error)
}
type AIReadinessSnapshot ¶ added in v0.11.0
type AIReadinessSnapshot struct {
State AIReadinessState `json:"state"`
ReasonCode string `json:"reason_code,omitempty"`
Retryable bool `json:"retryable"`
SafeToRetry bool `json:"safe_to_retry"`
Committed bool `json:"committed"`
RolledBack bool `json:"rolled_back"`
IssueCount int `json:"issue_count,omitempty"`
TraceID string `json:"trace_id,omitempty"`
StartupPhase string `json:"startup_phase,omitempty"`
RetryReason string `json:"retry_reason,omitempty"`
}
AIReadinessSnapshot contains only Redeven-owned, sanitized availability facts. It must never contain Floret Store or Agent snapshots.
type AIReadinessState ¶ added in v0.11.0
type AIReadinessState string
const ( AIReadinessInspecting AIReadinessState = "inspecting" AIReadinessMigrating AIReadinessState = "migrating" AIReadinessVerifying AIReadinessState = "verifying" AIReadinessRecovering AIReadinessState = "recovering" AIReadinessReady AIReadinessState = "ready" AIReadinessDegraded AIReadinessState = "degraded" AIReadinessBlocked AIReadinessState = "blocked" )
type AIServiceProvider ¶ added in v0.11.0
type AIServiceStartupOptions ¶ added in v0.11.0
type AIServiceStartupOptions struct {
Config *config.AIConfig
AgentHomeDir string
Shell string
FilesystemScope *filesystemscope.Registry
}
AIServiceStartupOptions contains the Redeven-owned inputs that may change between service generations. It carries no Store or Agent lifecycle state.
type Backend ¶
type Backend interface {
ListSpaces(ctx context.Context) ([]SpaceStatus, error)
CreateSpace(ctx context.Context, req CreateSpaceRequest) (*SpaceStatus, error)
UpdateSpace(ctx context.Context, codeSpaceID string, req UpdateSpaceRequest) (*SpaceStatus, error)
DeleteSpace(ctx context.Context, codeSpaceID string) error
StartSpace(ctx context.Context, codeSpaceID string) (*SpaceStatus, error)
StopSpace(ctx context.Context, codeSpaceID string) error
ResolveCodeServerPort(ctx context.Context, codeSpaceID string) (int, error)
CodeRuntimeStatus(ctx context.Context) (CodeRuntimeStatus, error)
CreateCodeRuntimeSetupOperation(ctx context.Context, operationID string, installMethod codeserver.BrowserEditorInstallMethod, manifest *CodeRuntimeArtifactManifest) (CodeRuntimeSetupOperation, error)
AppendCodeRuntimeSetupChunk(ctx context.Context, operationID string, chunkIndex int64, body io.Reader) (CodeRuntimeSetupChunkResult, error)
CompleteCodeRuntimeSetupOperation(ctx context.Context, operationID string) (CodeRuntimeStatus, error)
CancelCodeRuntimeSetupOperation(ctx context.Context, operationID string) (CodeRuntimeStatus, error)
SelectCodeRuntimeVersion(ctx context.Context, version string) (CodeRuntimeStatus, error)
RemoveCodeRuntimeVersion(ctx context.Context, version string) (CodeRuntimeStatus, error)
CancelCodeRuntimeOperation(ctx context.Context) (CodeRuntimeStatus, error)
}
type CodeRuntimeArtifactManifest ¶
type CodeRuntimeArtifactManifest = codeserver.WorkspaceEngineArtifactManifest
type CodeRuntimeSetupChunkResult ¶ added in v0.10.0
type CodeRuntimeSetupChunkResult = codeserver.WorkspaceEngineSetupChunkResult
type CodeRuntimeSetupOperation ¶ added in v0.10.0
type CodeRuntimeSetupOperation = codeserver.WorkspaceEngineSetupOperation
type CodeRuntimeSetupOperationRequest ¶ added in v0.10.0
type CodeRuntimeSetupOperationRequest struct {
OperationID string `json:"operation_id"`
InstallMethod codeserver.BrowserEditorInstallMethod `json:"install_method"`
Manifest *CodeRuntimeArtifactManifest `json:"manifest,omitempty"`
}
type CodeRuntimeStatus ¶
type CodeRuntimeStatus = codeserver.RuntimeStatus
type CodeRuntimeVersionRequest ¶
type CodeRuntimeVersionRequest struct {
Version string `json:"version"`
}
type CreateSpaceRequest ¶
type Options ¶
type Options struct {
Logger *slog.Logger
ListenAddr string
DistFS stdfs.FS
Backend Backend
PortForward PortForwardBackend
AIServiceProvider AIServiceProvider
Notes *notes.Service
WorkbenchLayout *workbenchlayout.Service
Terminal *terminal.Manager
Audit *auditlog.Store
Diagnostics *diagnostics.Store
ResolveSessionMeta func(channelID string) (*session.Meta, bool)
ResolveSessionTunnelURL func(channelID string) (string, bool)
AcquirePluginSession func(channelID string) (*session.Meta, func(), bool)
EndPluginSession func(channelID string)
// ConfigPath is the absolute path to the runtime config file.
// It is used to read and persist settings updates initiated from the Env App UI.
ConfigPath string
// SecretsStore holds user-managed secrets (such as AI provider API keys).
// If nil, the app server will derive a default secrets path from ConfigPath.
SecretsStore *settings.SecretsStore
// ThreadReadStateStore persists scoped per-surface thread read watermarks.
ThreadReadStateStore *threadreadstate.Store
// PluginPlatform is the released ReDevPlugin HTTP handler mounted behind Redeven routes.
PluginPlatform http.Handler
PluginMarketSnapshot func() (pluginmarket.Snapshot, bool)
PluginMarketDetail func(context.Context, string) (pluginmarket.PluginDetail, int64, error)
PluginMarketIcon func(context.Context, string, string) (pluginmarket.IconAsset, error)
// AgentHomeDir is the canonical absolute path to the default home directory.
AgentHomeDir string
FilesystemScope *filesystemscope.Registry
}
type PortForwardBackend ¶
type PortForwardBackend interface {
ListForwards(ctx context.Context) ([]pfregistry.Forward, error)
GetForward(ctx context.Context, forwardID string) (*pfregistry.Forward, error)
OpenForwardSession(ctx context.Context, req portforward.OpenForwardSessionRequest) (*portforward.ForwardSession, error)
SaveForwardSession(ctx context.Context, forwardID string, req portforward.SaveForwardSessionRequest) (*pfregistry.Forward, error)
CreateForward(ctx context.Context, req portforward.CreateForwardRequest) (*pfregistry.Forward, error)
UpdateForward(ctx context.Context, forwardID string, req portforward.UpdateForwardRequest) (*pfregistry.Forward, error)
DeleteForward(ctx context.Context, forwardID string) error
TouchLastOpened(ctx context.Context, forwardID string) (*pfregistry.Forward, error)
}
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func (*Server) ClosePluginSessionConnections ¶ added in v0.11.0
func (*Server) CodeRuntimeStatus ¶
func (g *Server) CodeRuntimeStatus(ctx context.Context) (CodeRuntimeStatus, error)
func (*Server) EnvAppShellReadinessError ¶
EnvAppShellReadinessError validates that the embedded Env App shell can be opened by Desktop before the runtime advertises open-readiness.
func (*Server) EnvAppShellReady ¶
EnvAppShellReady reports whether the embedded Env App shell is complete.
func (*Server) PluginPlatformEnabled ¶ added in v0.7.2
type SpaceStatus ¶
type SpaceStatus struct {
CodeSpaceID string `json:"code_space_id"`
Name string `json:"name"`
Description string `json:"description"`
WorkspacePath string `json:"workspace_path"`
CodePort int `json:"code_port"`
CreatedAtUnixMs int64 `json:"created_at_unix_ms"`
UpdatedAtUnixMs int64 `json:"updated_at_unix_ms"`
LastOpenedAtUnixMs int64 `json:"last_opened_at_unix_ms"`
Running bool `json:"running"`
PID int `json:"pid"`
}
type UpdateSpaceRequest ¶
Click to show internal directories.
Click to hide internal directories.