Documentation
¶
Index ¶
- Constants
- 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) *http.Request
- func WithLocalUIPortForwardRoute(r *http.Request, forwardID string) *http.Request
- type Backend
- type CodeRuntimeArtifactManifest
- type CodeRuntimeSetupChunkResult
- type CodeRuntimeSetupOperation
- type CodeRuntimeSetupOperationRequest
- type CodeRuntimeStatus
- type CodeRuntimeVersionRequest
- type CodexBackend
- type CreateSpaceRequest
- type Options
- type PortForwardBackend
- type Server
- func (g *Server) Close() error
- 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 (
// LocalUIChannelID is the synthetic session channel used by Local UI Env App requests.
LocalUIChannelID = "local-ui"
)
Variables ¶
This section is empty.
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 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 CodexBackend ¶
type CodexBackend interface {
Status(ctx context.Context) codexbridge.Status
ReadCapabilities(ctx context.Context, cwd string) (*codexbridge.Capabilities, error)
ListThreads(ctx context.Context, req codexbridge.ListThreadsRequest) ([]codexbridge.Thread, error)
ReadThread(ctx context.Context, threadID string) (*codexbridge.ThreadDetail, error)
StartThread(ctx context.Context, req codexbridge.StartThreadRequest) (*codexbridge.ThreadDetail, error)
StartTurn(ctx context.Context, req codexbridge.StartTurnRequest) (*codexbridge.Turn, error)
SteerTurn(ctx context.Context, req codexbridge.SteerTurnRequest) (*codexbridge.Turn, error)
ArchiveThread(ctx context.Context, threadID string) error
UnarchiveThread(ctx context.Context, threadID string) error
ForkThread(ctx context.Context, req codexbridge.ForkThreadRequest) (*codexbridge.ThreadDetail, error)
InterruptTurn(ctx context.Context, req codexbridge.InterruptTurnRequest) error
StartReview(ctx context.Context, req codexbridge.StartReviewRequest) (*codexbridge.ThreadDetail, error)
SubscribeThreadEvents(ctx context.Context, threadID string, afterSeq int64) ([]codexbridge.Event, <-chan codexbridge.Event, error)
RespondToRequest(ctx context.Context, threadID string, requestID string, resp codexbridge.PendingRequestResponse) error
}
type CreateSpaceRequest ¶
type Options ¶
type Options struct {
Logger *slog.Logger
ListenAddr string
DistFS stdfs.FS
Backend Backend
PortForward PortForwardBackend
AI *ai.Service
Notes *notes.Service
WorkbenchLayout *workbenchlayout.Service
Terminal *terminal.Manager
Codex CodexBackend
Audit *auditlog.Store
Diagnostics *diagnostics.Store
ResolveSessionMeta func(channelID string) (*session.Meta, bool)
ResolveSessionTunnelURL func(channelID string) (string, bool)
// 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
// 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)
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) 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.