js

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2026 License: MIT Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option func(*options)

Option configures a JS runner.

func WithDependencies

func WithDependencies(pkgs ...string) Option

WithDependencies declares npm packages available to the executed code.

func WithPermissions

func WithPermissions(p *ramune.Permissions) Option

WithPermissions sets custom permission controls for code execution.

func WithRuntimeOptions

func WithRuntimeOptions(opts ...ramune.Option) Option

WithRuntimeOptions passes additional ramune.Option values.

func WithTimeout

func WithTimeout(d time.Duration) Option

WithTimeout sets the default execution timeout per Run call.

type Runner

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

Runner is a JS code execution runner backed by Ramune (JavaScriptCore). It implements codeact.Runner and additionally exposes RegisterFunc for injecting Go functions callable from JavaScript.

func NewRunner

func NewRunner(opts ...Option) (*Runner, error)

NewRunner creates a JS code execution runner.

func (*Runner) Close

func (r *Runner) Close() error

func (*Runner) Language

func (r *Runner) Language() string

func (*Runner) RegisterAnyFunc

func (r *Runner) RegisterAnyFunc(name string, fn any) error

RegisterAnyFunc registers an arbitrary Go function as a global JavaScript function. The function signature is inspected via reflection and arguments/return values are automatically converted. This is used by the aifunc package.

func (*Runner) RegisterFunc

func (r *Runner) RegisterFunc(name string, fn ramune.GoFunc) error

RegisterFunc registers a Go function as a global JavaScript function. The registered function can be called directly from LLM-generated code.

runner.RegisterFunc("queryDB", func(args []any) (any, error) {
    sql, _ := args[0].(string)
    return db.Query(ctx, sql)
})

In JavaScript: const rows = queryDB("SELECT * FROM users");

func (*Runner) Run

func (r *Runner) Run(ctx context.Context, code string) (*codeact.RunResult, error)

func (*Runner) ToolDescription

func (r *Runner) ToolDescription() string

func (*Runner) ToolName

func (r *Runner) ToolName() string

Jump to

Keyboard shortcuts

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