Documentation
¶
Index ¶
- type Option
- type Runner
- func (r *Runner) Close() error
- func (r *Runner) Language() string
- func (r *Runner) RegisterAnyFunc(name string, fn any) error
- func (r *Runner) RegisterFunc(name string, fn ramune.GoFunc) error
- func (r *Runner) Run(ctx context.Context, code string) (*codeact.RunResult, error)
- func (r *Runner) ToolDescription() string
- func (r *Runner) ToolName() string
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 ¶
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 ¶
WithRuntimeOptions passes additional ramune.Option values.
func WithTimeout ¶
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 (*Runner) RegisterAnyFunc ¶
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 ¶
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");