Help us shape the future of Go! Take the 2026 Go Developer Survey

saucer

package
v0.57.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 2, 2026 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const ConfigID = ControllerID

ConfigID is the string used to identify this config object.

View Source
const ControllerID = "bldr/web/plugin/saucer"

ControllerID is the saucer runtime controller ID.

View Source
const RuntimeID = "saucer"

RuntimeID is the runtime identifier.

View Source
const SRPCSaucerDebugServiceServiceID = "saucer.SaucerDebugService"

Variables

View Source
var (
	ExternalLinks_name = map[int32]string{
		0: "EXTERNAL_LINKS_OS_BROWSER",
		1: "EXTERNAL_LINKS_DENY",
	}
	ExternalLinks_value = map[string]int32{
		"EXTERNAL_LINKS_OS_BROWSER": 0,
		"EXTERNAL_LINKS_DENY":       1,
	}
)

Enum value maps for ExternalLinks.

View Source
var MaxFrameSize uint32 = 10 * 1024 * 1024 // 10MB

MaxFrameSize is the maximum size of a length-prefixed frame.

View Source
var Version = controller.MustParseVersion("0.0.1")

Version is the API version.

Functions

func NewSRPCSaucerDebugServiceHandler

func NewSRPCSaucerDebugServiceHandler(impl SRPCSaucerDebugServiceServer, serviceID string) srpc.Handler

NewSRPCSaucerDebugServiceHandler constructs a new RPC handler. serviceID: if empty, uses default: saucer.SaucerDebugService

func SRPCRegisterSaucerDebugService

func SRPCRegisterSaucerDebugService(mux srpc.Mux, impl SRPCSaucerDebugServiceServer) error

SRPCRegisterSaucerDebugService registers the implementation with the mux. Uses the default serviceID: saucer.SaucerDebugService

Types

type Config

type Config struct {

	// SaucerPath is the path to the saucer binary.
	SaucerPath string `protobuf:"bytes,1,opt,name=saucer_path,json=saucerPath,proto3" json:"saucerPath,omitempty"`
	// WorkdirPath is the path to the working directory to use.
	// If unset, defaults to the current working directory of the process.
	WorkdirPath string `protobuf:"bytes,2,opt,name=workdir_path,json=workdirPath,proto3" json:"workdirPath,omitempty"`
	// WebRuntimeId is the value to use for the runtime uuid.
	// Used for the Unix pipe paths and for the BroadcastChannel ids.
	// Should be unique against other running Saucer instances.
	WebRuntimeId string `protobuf:"bytes,3,opt,name=web_runtime_id,json=webRuntimeId,proto3" json:"webRuntimeId,omitempty"`
	// ExternalLinks configures how external links are handled.
	ExternalLinks ExternalLinks `protobuf:"varint,4,opt,name=external_links,json=externalLinks,proto3" json:"externalLinks,omitempty"`
	// SaucerFlags are additional flags to pass to the saucer binary.
	SaucerFlags []string `protobuf:"bytes,5,rep,name=saucer_flags,json=saucerFlags,proto3" json:"saucerFlags,omitempty"`
	// BootstrapHtml is the HTML content to load initially.
	// This is the full HTML string with import map.
	BootstrapHtml string `protobuf:"bytes,6,opt,name=bootstrap_html,json=bootstrapHtml,proto3" json:"bootstrapHtml,omitempty"`
	// DevTools enables the developer tools in the webview.
	DevTools bool `protobuf:"varint,7,opt,name=dev_tools,json=devTools,proto3" json:"devTools,omitempty"`
	// EntrypointJs is the entrypoint JavaScript module.
	// This is written to a file and served at /entrypoint.mjs.
	EntrypointJs string `protobuf:"bytes,8,opt,name=entrypoint_js,json=entrypointJs,proto3" json:"entrypointJs,omitempty"`
	// AppName is the application display name.
	AppName string `protobuf:"bytes,9,opt,name=app_name,json=appName,proto3" json:"appName,omitempty"`
	// WindowTitle overrides the window title (defaults to app_name).
	WindowTitle string `protobuf:"bytes,10,opt,name=window_title,json=windowTitle,proto3" json:"windowTitle,omitempty"`
	// WindowWidth is the default window width in pixels.
	WindowWidth uint32 `protobuf:"varint,11,opt,name=window_width,json=windowWidth,proto3" json:"windowWidth,omitempty"`
	// WindowHeight is the default window height in pixels.
	WindowHeight uint32 `protobuf:"varint,12,opt,name=window_height,json=windowHeight,proto3" json:"windowHeight,omitempty"`
	// contains filtered or unexported fields
}

Config is the configuration for the saucer runtime.

func (*Config) CloneMessageVT

func (m *Config) CloneMessageVT() protobuf_go_lite.CloneMessage

func (*Config) CloneVT

func (m *Config) CloneVT() *Config

func (*Config) EqualMessageVT

func (this *Config) EqualMessageVT(thatMsg any) bool

func (*Config) EqualVT

func (this *Config) EqualVT(that *Config) bool

func (*Config) EqualsConfig

func (c *Config) EqualsConfig(other config.Config) bool

EqualsConfig checks if the other config is equal.

func (*Config) GetAppName

func (x *Config) GetAppName() string

func (*Config) GetBootstrapHtml

func (x *Config) GetBootstrapHtml() string

func (*Config) GetConfigID

func (c *Config) GetConfigID() string

GetConfigID returns the unique string for this configuration type.

func (*Config) GetDevTools

func (x *Config) GetDevTools() bool

func (*Config) GetEntrypointJs

func (x *Config) GetEntrypointJs() string
func (x *Config) GetExternalLinks() ExternalLinks

func (*Config) GetSaucerFlags

func (x *Config) GetSaucerFlags() []string

func (*Config) GetSaucerPath

func (x *Config) GetSaucerPath() string

func (*Config) GetWebRuntimeId

func (x *Config) GetWebRuntimeId() string

func (*Config) GetWindowHeight

func (x *Config) GetWindowHeight() uint32

func (*Config) GetWindowTitle

func (x *Config) GetWindowTitle() string

func (*Config) GetWindowWidth

func (x *Config) GetWindowWidth() uint32

func (*Config) GetWorkdirPath

func (x *Config) GetWorkdirPath() string

func (*Config) MarshalJSON

func (x *Config) MarshalJSON() ([]byte, error)

MarshalJSON marshals the Config to JSON.

func (*Config) MarshalProtoJSON

func (x *Config) MarshalProtoJSON(s *json.MarshalState)

MarshalProtoJSON marshals the Config message to JSON.

func (*Config) MarshalProtoText

func (x *Config) MarshalProtoText() string

func (*Config) MarshalToSizedBufferVT

func (m *Config) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Config) MarshalToVT

func (m *Config) MarshalToVT(dAtA []byte) (int, error)

func (*Config) MarshalVT

func (m *Config) MarshalVT() (dAtA []byte, err error)

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (x *Config) Reset()

func (*Config) SizeVT

func (m *Config) SizeVT() (n int)

func (*Config) String

func (x *Config) String() string

func (*Config) UnmarshalJSON

func (x *Config) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals the Config from JSON.

func (*Config) UnmarshalProtoJSON

func (x *Config) UnmarshalProtoJSON(s *json.UnmarshalState)

UnmarshalProtoJSON unmarshals the Config message from JSON.

func (*Config) UnmarshalVT

func (m *Config) UnmarshalVT(dAtA []byte) error

func (*Config) Validate

func (c *Config) Validate() error

Validate validates the configuration.

type Controller

type Controller struct {
	// contains filtered or unexported fields
}

Controller is the saucer runtime controller. Communicates with the Saucer webview via IPC.

func NewController

func NewController(
	le *logrus.Entry,
	b bus.Bus,
	saucerPath, workdirPath,
	runtimeUuid string,
	extraSaucerArgs []string,
	saucerInit *SaucerInit,
) (*Controller, error)

NewController constructs a new Saucer runtime controller. sessionUuid is used to make the unix pipe path unique.

func (*Controller) Close

func (r *Controller) Close() error

Close closes the runtime.

func (*Controller) Execute

func (r *Controller) Execute(ctx context.Context) error

Execute executes the runtime. Returns any errors, nil if Execute is not required.

func (*Controller) GetBus

func (r *Controller) GetBus() bus.Bus

GetBus returns the root controller bus to use in this process.

func (*Controller) GetControllerInfo

func (r *Controller) GetControllerInfo() *controller.Info

GetControllerInfo returns information about the controller.

func (*Controller) GetLogger

func (r *Controller) GetLogger() *logrus.Entry

GetLogger returns the root log entry.

func (*Controller) HandleDirective

func (r *Controller) HandleDirective(ctx context.Context, di directive.Instance) ([]directive.Resolver, error)

HandleDirective asks if the handler can resolve the directive.

func (*Controller) WaitSaucer

func (r *Controller) WaitSaucer(ctx context.Context, errCh <-chan error) (*Saucer, error)

WaitSaucer waits for the Saucer object to be ready and returns it. if errCh is set, checks it for errors to return early.

type DocumentManager

type DocumentManager struct {
	// contains filtered or unexported fields
}

DocumentManager tracks connected web documents and manages RPC streams via yamux multiplexed over a single HTTP streaming connection per document.

func NewDocumentManager

func NewDocumentManager(le *logrus.Entry) *DocumentManager

NewDocumentManager constructs a new DocumentManager.

func (*DocumentManager) Close

func (dm *DocumentManager) Close()

Close closes all documents.

func (*DocumentManager) CreateWebDocument

CreateWebDocument is not supported for saucer (single window).

func (*DocumentManager) FlushIndexCache added in v0.51.3

FlushIndexCache is not supported for saucer.

func (*DocumentManager) GetDefaultDocID

func (dm *DocumentManager) GetDefaultDocID() string

GetDefaultDocID returns the default document ID.

func (*DocumentManager) GetDocumentIDs

func (dm *DocumentManager) GetDocumentIDs() []string

GetDocumentIDs returns the IDs of connected documents.

func (*DocumentManager) GetWebDocuments

func (dm *DocumentManager) GetWebDocuments() map[string]*documentState

GetWebDocuments returns the current snapshot of active WebDocuments.

func (*DocumentManager) GetWebRuntimeStatusCtr

func (dm *DocumentManager) GetWebRuntimeStatusCtr() *ccontainer.CContainer[*web_runtime.WebRuntimeStatus]

GetWebRuntimeStatusCtr returns the status container.

func (*DocumentManager) HandleWebDocumentRpc

func (dm *DocumentManager) HandleWebDocumentRpc(
	ctx context.Context,
	componentID string,
	_ func(),
) (srpc.Invoker, func(), error)

HandleWebDocumentRpc handles a Go->JS RPC stream via the document manager.

func (*DocumentManager) RemoveWebDocument

RemoveWebDocument is not supported for saucer.

func (*DocumentManager) ServeSaucerHTTP

func (dm *DocumentManager) ServeSaucerHTTP(rw http.ResponseWriter, req *http.Request)

ServeSaucerHTTP handles /b/saucer/* routes.

func (*DocumentManager) SetServer

func (dm *DocumentManager) SetServer(srv *srpc.Server)

SetServer sets the SRPC server for handling JS-initiated RPC streams.

func (*DocumentManager) WaitDefaultDoc

func (dm *DocumentManager) WaitDefaultDoc(ctx context.Context) (string, error)

WaitDefaultDoc waits for a default document to be set.

func (*DocumentManager) WatchWebRuntimeStatus

WatchWebRuntimeStatus streams document status updates to the Remote.

func (*DocumentManager) WebDocumentOpenStream

func (dm *DocumentManager) WebDocumentOpenStream(
	ctx context.Context,
	msgHandler srpc.PacketDataHandler,
	closeHandler srpc.CloseHandler,
	webDocumentID string,
) (srpc.PacketWriter, error)

WebDocumentOpenStream opens an RPC stream with the given WebDocument via yamux.

func (*DocumentManager) WebDocumentRpc

WebDocumentRpc handles a Go->JS RPC stream via the SRPC protocol.

func (*DocumentManager) WebWorkerRpc

WebWorkerRpc is not supported for saucer.

type EvalJSRequest

type EvalJSRequest struct {

	// Code is the JavaScript code to evaluate.
	Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	// contains filtered or unexported fields
}

EvalJSRequest is a request to evaluate JavaScript code.

func (*EvalJSRequest) CloneMessageVT

func (m *EvalJSRequest) CloneMessageVT() protobuf_go_lite.CloneMessage

func (*EvalJSRequest) CloneVT

func (m *EvalJSRequest) CloneVT() *EvalJSRequest

func (*EvalJSRequest) EqualMessageVT

func (this *EvalJSRequest) EqualMessageVT(thatMsg any) bool

func (*EvalJSRequest) EqualVT

func (this *EvalJSRequest) EqualVT(that *EvalJSRequest) bool

func (*EvalJSRequest) GetCode

func (x *EvalJSRequest) GetCode() string

func (*EvalJSRequest) MarshalJSON

func (x *EvalJSRequest) MarshalJSON() ([]byte, error)

MarshalJSON marshals the EvalJSRequest to JSON.

func (*EvalJSRequest) MarshalProtoJSON

func (x *EvalJSRequest) MarshalProtoJSON(s *json.MarshalState)

MarshalProtoJSON marshals the EvalJSRequest message to JSON.

func (*EvalJSRequest) MarshalProtoText

func (x *EvalJSRequest) MarshalProtoText() string

func (*EvalJSRequest) MarshalToSizedBufferVT

func (m *EvalJSRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*EvalJSRequest) MarshalToVT

func (m *EvalJSRequest) MarshalToVT(dAtA []byte) (int, error)

func (*EvalJSRequest) MarshalVT

func (m *EvalJSRequest) MarshalVT() (dAtA []byte, err error)

func (*EvalJSRequest) ProtoMessage

func (*EvalJSRequest) ProtoMessage()

func (*EvalJSRequest) Reset

func (x *EvalJSRequest) Reset()

func (*EvalJSRequest) SizeVT

func (m *EvalJSRequest) SizeVT() (n int)

func (*EvalJSRequest) String

func (x *EvalJSRequest) String() string

func (*EvalJSRequest) UnmarshalJSON

func (x *EvalJSRequest) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals the EvalJSRequest from JSON.

func (*EvalJSRequest) UnmarshalProtoJSON

func (x *EvalJSRequest) UnmarshalProtoJSON(s *json.UnmarshalState)

UnmarshalProtoJSON unmarshals the EvalJSRequest message from JSON.

func (*EvalJSRequest) UnmarshalVT

func (m *EvalJSRequest) UnmarshalVT(dAtA []byte) error

type EvalJSResponse

type EvalJSResponse struct {

	// Result is the result string.
	Result string `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
	// Error is the error message, if any.
	Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

EvalJSResponse is the response from evaluating JavaScript code.

func (*EvalJSResponse) CloneMessageVT

func (m *EvalJSResponse) CloneMessageVT() protobuf_go_lite.CloneMessage

func (*EvalJSResponse) CloneVT

func (m *EvalJSResponse) CloneVT() *EvalJSResponse

func (*EvalJSResponse) EqualMessageVT

func (this *EvalJSResponse) EqualMessageVT(thatMsg any) bool

func (*EvalJSResponse) EqualVT

func (this *EvalJSResponse) EqualVT(that *EvalJSResponse) bool

func (*EvalJSResponse) GetError

func (x *EvalJSResponse) GetError() string

func (*EvalJSResponse) GetResult

func (x *EvalJSResponse) GetResult() string

func (*EvalJSResponse) MarshalJSON

func (x *EvalJSResponse) MarshalJSON() ([]byte, error)

MarshalJSON marshals the EvalJSResponse to JSON.

func (*EvalJSResponse) MarshalProtoJSON

func (x *EvalJSResponse) MarshalProtoJSON(s *json.MarshalState)

MarshalProtoJSON marshals the EvalJSResponse message to JSON.

func (*EvalJSResponse) MarshalProtoText

func (x *EvalJSResponse) MarshalProtoText() string

func (*EvalJSResponse) MarshalToSizedBufferVT

func (m *EvalJSResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*EvalJSResponse) MarshalToVT

func (m *EvalJSResponse) MarshalToVT(dAtA []byte) (int, error)

func (*EvalJSResponse) MarshalVT

func (m *EvalJSResponse) MarshalVT() (dAtA []byte, err error)

func (*EvalJSResponse) ProtoMessage

func (*EvalJSResponse) ProtoMessage()

func (*EvalJSResponse) Reset

func (x *EvalJSResponse) Reset()

func (*EvalJSResponse) SizeVT

func (m *EvalJSResponse) SizeVT() (n int)

func (*EvalJSResponse) String

func (x *EvalJSResponse) String() string

func (*EvalJSResponse) UnmarshalJSON

func (x *EvalJSResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals the EvalJSResponse from JSON.

func (*EvalJSResponse) UnmarshalProtoJSON

func (x *EvalJSResponse) UnmarshalProtoJSON(s *json.UnmarshalState)

UnmarshalProtoJSON unmarshals the EvalJSResponse message from JSON.

func (*EvalJSResponse) UnmarshalVT

func (m *EvalJSResponse) UnmarshalVT(dAtA []byte) error
type ExternalLinks int32

ExternalLinks configures how external links are handled.

const (
	// EXTERNAL_LINKS_OS_BROWSER opens external links in the OS default browser.
	ExternalLinks_EXTERNAL_LINKS_OS_BROWSER ExternalLinks = 0
	// EXTERNAL_LINKS_DENY denies all external link navigation.
	ExternalLinks_EXTERNAL_LINKS_DENY ExternalLinks = 1
)

func (ExternalLinks) Enum

func (x ExternalLinks) Enum() *ExternalLinks

func (ExternalLinks) MarshalJSON

func (x ExternalLinks) MarshalJSON() ([]byte, error)

MarshalJSON marshals the ExternalLinks to JSON.

func (ExternalLinks) MarshalProtoJSON

func (x ExternalLinks) MarshalProtoJSON(s *json.MarshalState)

MarshalProtoJSON marshals the ExternalLinks to JSON.

func (ExternalLinks) MarshalProtoText

func (x ExternalLinks) MarshalProtoText() string

func (ExternalLinks) MarshalText

func (x ExternalLinks) MarshalText() ([]byte, error)

MarshalText marshals the ExternalLinks to text.

func (ExternalLinks) String

func (x ExternalLinks) String() string

func (*ExternalLinks) UnmarshalJSON

func (x *ExternalLinks) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals the ExternalLinks from JSON.

func (*ExternalLinks) UnmarshalProtoJSON

func (x *ExternalLinks) UnmarshalProtoJSON(s *json.UnmarshalState)

UnmarshalProtoJSON unmarshals the ExternalLinks from JSON.

func (*ExternalLinks) UnmarshalText

func (x *ExternalLinks) UnmarshalText(b []byte) error

UnmarshalText unmarshals the ExternalLinks from text.

type Factory

type Factory struct {
	// contains filtered or unexported fields
}

Factory constructs a Saucer runtime controller.

func NewFactory

func NewFactory(bus bus.Bus) *Factory

NewFactory builds a Saucer runtime factory.

func (*Factory) Construct

func (t *Factory) Construct(
	ctx context.Context,
	conf config.Config,
	opts controller.ConstructOpts,
) (controller.Controller, error)

Construct constructs the associated controller given configuration.

func (*Factory) ConstructConfig

func (t *Factory) ConstructConfig() config.Config

ConstructConfig constructs an instance of the controller configuration.

func (*Factory) GetConfigID

func (t *Factory) GetConfigID() string

GetConfigID returns the configuration ID for the controller.

func (*Factory) GetControllerID

func (t *Factory) GetControllerID() string

GetControllerID returns the unique ID for the controller.

func (*Factory) GetVersion

func (t *Factory) GetVersion() controller.Version

GetVersion returns the version of this controller.

type RequestHandler

type RequestHandler struct {
	// contains filtered or unexported fields
}

RequestHandler accepts yamux streams from C++ and routes FetchRequest/FetchResponse.

func NewRequestHandler

func NewRequestHandler(
	le *logrus.Entry,
	docMgr *DocumentManager,
	handler http.HandlerFunc,
	bootstrapHTML string,
	entrypointJS string,
) *RequestHandler

NewRequestHandler constructs a new RequestHandler.

func (*RequestHandler) AcceptStreams

func (h *RequestHandler) AcceptStreams(ctx context.Context, mc srpc.MuxedConn) error

AcceptStreams accepts yamux streams from the muxed connection and handles each.

type SRPCSaucerDebugServiceClient

type SRPCSaucerDebugServiceClient interface {
	// SRPCClient returns the underlying SRPC client.
	SRPCClient() srpc.Client

	// EvalJS evaluates JavaScript code in the webview context.
	EvalJS(ctx context.Context, in *EvalJSRequest) (*EvalJSResponse, error)
}

func NewSRPCSaucerDebugServiceClient

func NewSRPCSaucerDebugServiceClient(cc srpc.Client) SRPCSaucerDebugServiceClient

func NewSRPCSaucerDebugServiceClientWithServiceID

func NewSRPCSaucerDebugServiceClientWithServiceID(cc srpc.Client, serviceID string) SRPCSaucerDebugServiceClient

type SRPCSaucerDebugServiceHandler

type SRPCSaucerDebugServiceHandler struct {
	// contains filtered or unexported fields
}

func (SRPCSaucerDebugServiceHandler) GetMethodIDs

func (SRPCSaucerDebugServiceHandler) GetMethodIDs() []string

func (*SRPCSaucerDebugServiceHandler) GetServiceID

func (d *SRPCSaucerDebugServiceHandler) GetServiceID() string

func (*SRPCSaucerDebugServiceHandler) InvokeMethod

func (d *SRPCSaucerDebugServiceHandler) InvokeMethod(
	serviceID, methodID string,
	strm srpc.Stream,
) (bool, error)

func (SRPCSaucerDebugServiceHandler) InvokeMethod_EvalJS

type SRPCSaucerDebugServiceServer

type SRPCSaucerDebugServiceServer interface {
	// EvalJS evaluates JavaScript code in the webview context.
	EvalJS(context.Context, *EvalJSRequest) (*EvalJSResponse, error)
}

type SRPCSaucerDebugService_EvalJSStream

type SRPCSaucerDebugService_EvalJSStream interface {
	srpc.Stream
}

type Saucer

type Saucer struct {
	// contains filtered or unexported fields
}

Saucer is a running instance of the Saucer webview.

func RunSaucer

func RunSaucer(
	ctx context.Context,
	le *logrus.Entry,
	saucerPath,
	workdirPath,
	runtimeUuid string,
	extraSaucerFlags []string,
	saucerInit *SaucerInit,
) (*Saucer, error)

RunSaucer listens on the IPC pipe and starts the Saucer sub-process.

func (*Saucer) Close

func (s *Saucer) Close()

Close shuts down the saucer instance.

func (*Saucer) GetCmd

func (s *Saucer) GetCmd() *oexec.Cmd

GetCmd returns the running Saucer command.

func (*Saucer) GetMuxedConn

func (s *Saucer) GetMuxedConn() srpc.MuxedConn

GetMuxedConn returns the main muxed conn with the C++ process.

type SaucerInit

type SaucerInit struct {

	// DevTools enables the developer tools.
	DevTools bool `protobuf:"varint,1,opt,name=dev_tools,json=devTools,proto3" json:"devTools,omitempty"`
	// BootstrapHtml is the HTML content to load initially.
	// This is the full HTML string, not base64 encoded.
	// Deprecated: Use bootstrap_html_path instead to avoid env var size limits.
	BootstrapHtml string `protobuf:"bytes,2,opt,name=bootstrap_html,json=bootstrapHtml,proto3" json:"bootstrapHtml,omitempty"`
	// ExternalLinks configures how external links are handled.
	ExternalLinks ExternalLinks `protobuf:"varint,3,opt,name=external_links,json=externalLinks,proto3" json:"externalLinks,omitempty"`
	// BootstrapHtmlPath is the path to a file containing the bootstrap HTML.
	// Used instead of bootstrap_html to avoid "argument list too long" errors.
	BootstrapHtmlPath string `protobuf:"bytes,4,opt,name=bootstrap_html_path,json=bootstrapHtmlPath,proto3" json:"bootstrapHtmlPath,omitempty"`
	// EntrypointJs is the entrypoint JavaScript module content.
	// Written to a file and passed as entrypoint_js_path to C++.
	EntrypointJs string `protobuf:"bytes,5,opt,name=entrypoint_js,json=entrypointJs,proto3" json:"entrypointJs,omitempty"`
	// EntrypointJsPath is the path to the entrypoint JS module file.
	// The C++ binary serves this at /entrypoint.mjs.
	EntrypointJsPath string `protobuf:"bytes,6,opt,name=entrypoint_js_path,json=entrypointJsPath,proto3" json:"entrypointJsPath,omitempty"`
	// AppName is the application display name.
	AppName string `protobuf:"bytes,7,opt,name=app_name,json=appName,proto3" json:"appName,omitempty"`
	// WindowTitle overrides the window title (defaults to app_name).
	WindowTitle string `protobuf:"bytes,8,opt,name=window_title,json=windowTitle,proto3" json:"windowTitle,omitempty"`
	// WindowWidth is the default window width in pixels.
	WindowWidth uint32 `protobuf:"varint,9,opt,name=window_width,json=windowWidth,proto3" json:"windowWidth,omitempty"`
	// WindowHeight is the default window height in pixels.
	WindowHeight uint32 `protobuf:"varint,10,opt,name=window_height,json=windowHeight,proto3" json:"windowHeight,omitempty"`
	// contains filtered or unexported fields
}

SaucerInit is passed from Go to the Saucer C++ process on startup. Serialized as JSON and passed via BLDR_SAUCER_INIT env var.

func (*SaucerInit) CloneMessageVT

func (m *SaucerInit) CloneMessageVT() protobuf_go_lite.CloneMessage

func (*SaucerInit) CloneVT

func (m *SaucerInit) CloneVT() *SaucerInit

func (*SaucerInit) EqualMessageVT

func (this *SaucerInit) EqualMessageVT(thatMsg any) bool

func (*SaucerInit) EqualVT

func (this *SaucerInit) EqualVT(that *SaucerInit) bool

func (*SaucerInit) GetAppName

func (x *SaucerInit) GetAppName() string

func (*SaucerInit) GetBootstrapHtml

func (x *SaucerInit) GetBootstrapHtml() string

func (*SaucerInit) GetBootstrapHtmlPath

func (x *SaucerInit) GetBootstrapHtmlPath() string

func (*SaucerInit) GetDevTools

func (x *SaucerInit) GetDevTools() bool

func (*SaucerInit) GetEntrypointJs

func (x *SaucerInit) GetEntrypointJs() string

func (*SaucerInit) GetEntrypointJsPath

func (x *SaucerInit) GetEntrypointJsPath() string
func (x *SaucerInit) GetExternalLinks() ExternalLinks

func (*SaucerInit) GetWindowHeight

func (x *SaucerInit) GetWindowHeight() uint32

func (*SaucerInit) GetWindowTitle

func (x *SaucerInit) GetWindowTitle() string

func (*SaucerInit) GetWindowWidth

func (x *SaucerInit) GetWindowWidth() uint32

func (*SaucerInit) MarshalJSON

func (x *SaucerInit) MarshalJSON() ([]byte, error)

MarshalJSON marshals the SaucerInit to JSON.

func (*SaucerInit) MarshalProtoJSON

func (x *SaucerInit) MarshalProtoJSON(s *json.MarshalState)

MarshalProtoJSON marshals the SaucerInit message to JSON.

func (*SaucerInit) MarshalProtoText

func (x *SaucerInit) MarshalProtoText() string

func (*SaucerInit) MarshalToSizedBufferVT

func (m *SaucerInit) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*SaucerInit) MarshalToVT

func (m *SaucerInit) MarshalToVT(dAtA []byte) (int, error)

func (*SaucerInit) MarshalVT

func (m *SaucerInit) MarshalVT() (dAtA []byte, err error)

func (*SaucerInit) ProtoMessage

func (*SaucerInit) ProtoMessage()

func (*SaucerInit) Reset

func (x *SaucerInit) Reset()

func (*SaucerInit) SizeVT

func (m *SaucerInit) SizeVT() (n int)

func (*SaucerInit) String

func (x *SaucerInit) String() string

func (*SaucerInit) UnmarshalJSON

func (x *SaucerInit) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals the SaucerInit from JSON.

func (*SaucerInit) UnmarshalProtoJSON

func (x *SaucerInit) UnmarshalProtoJSON(s *json.UnmarshalState)

UnmarshalProtoJSON unmarshals the SaucerInit message from JSON.

func (*SaucerInit) UnmarshalVT

func (m *SaucerInit) UnmarshalVT(dAtA []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL