server

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2026 License: MIT Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func RunJSONRPCServer added in v0.12.0

func RunJSONRPCServer(ctx context.Context, config ServerConfig) error

RunJSONRPCServer runs the stdio JSON-RPC 2.0 server. It performs the same bootstrap as RunServer (setup script registers handlers via runtime.jsonrpc.method/notification), then serves requests from stdin until stdin closes or a terminating signal arrives.

func RunServer

func RunServer(ctx context.Context, config ServerConfig) error

RunServer is the main entry point for running the server

Types

type Server

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

Server represents the HTTP server

func NewServer

func NewServer(config ServerConfig) (*Server, error)

NewServer creates a new HTTP server

func (*Server) RunJSONRPCStdio added in v0.12.0

func (s *Server) RunJSONRPCStdio(ctx context.Context) error

RunJSONRPCStdio serves JSON-RPC 2.0 requests from stdin, writing one response per line to stdout. Each request runs on a fresh Scriptling evaluator in its own goroutine; writes are serialised via a mutex. The call blocks until stdin closes (or returns on a fatal read/write error).

func (*Server) Start

func (s *Server) Start() error

Start starts the HTTP server

func (*Server) Stop

func (s *Server) Stop(ctx context.Context) error

Stop gracefully stops the server

type ServerConfig

type ServerConfig struct {
	Address        string
	ScriptFile     string
	LibDirs        []string
	Packages       []string // Package (.zip) paths or URLs
	Insecure       bool     // Allow self-signed HTTPS for package URLs
	CacheDir       string   // Override default OS cache dir for remote packages
	BearerToken    string
	AllowedPaths   []string // Filesystem path restrictions (empty = no restrictions)
	DisabledLibs   []string // Built-in libraries to disable (empty = all enabled)
	PluginDirs     []string
	PluginManager  *scriptlingplugin.Manager
	MCPToolsDir    string // Empty means MCP disabled
	MCPExecTool    bool   // Enable code execution tool
	KVStoragePath  string // Empty means in-memory KV store
	WebRoot        string // Directory to serve static files from (empty = disabled)
	SecretRegistry *secretprovider.Registry
	DockerSock     string
	PodmanSock     string
	TLSCert        string
	TLSKey         string
	TLSGenerate    bool
}

ServerConfig holds the configuration for the HTTP server

Jump to

Keyboard shortcuts

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