JsSandboxTool class
Secure, isolated JavaScript evaluation tool for Neomage.
Permits the AI agent to execute complex mathematical computations, format conversational structures, and run logic dynamically without ever exposing the host machine's command line or filesystem.
Constructors
Properties
- alwaysLoad → bool
-
Whether this tool should always be loaded (never deferred).
no setterinherited
- definition → ToolDefinition
-
Convert to API tool definition.
no setterinherited
- description → String
-
Human-readable description.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
-
inputSchema
→ Map<
String, dynamic> -
JSON Schema for the tool's input parameters.
no setteroverride
- interruptBehavior → InterruptBehavior
-
How this tool behaves when interrupted by user input.
no setterinherited
- isAvailable → bool
-
Whether this tool is available on the current platform.
no setterinherited
- isConcurrencySafe → bool
-
Whether this tool is safe to run concurrently with other tools.
no setteroverride
- isDestructive → bool
-
Whether this tool can cause destructive changes.
no setterinherited
- isEnabled → bool
-
Whether this tool is enabled (can be toggled by config).
no setterinherited
- isMcp → bool
-
Whether this tool comes from an MCP server.
no setterinherited
- isReadOnly → bool
-
Whether this tool only reads data (no side effects).
no setteroverride
- maxResultSizeChars → int?
-
Maximum size in characters for tool results before disk persistence.
no setterinherited
-
mcpInfo
→ Map<
String, dynamic> ? -
MCP server info if this is an MCP tool.
no setterinherited
- name → String
-
Tool name as registered with the API.
no setteroverride
- prompt → String
-
Detailed prompt text sent in the system prompt for this tool.
no setterinherited
- requiresUserInteraction → bool
-
Whether this tool requires user interaction (prompts, confirmations).
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- shouldDefer → bool
-
Whether this tool should be deferred (loaded on demand via ToolSearch).
no setterinherited
- strict → bool
-
Whether this tool enforces strict JSON output.
no setterinherited
- userFacingName → String
-
Human-facing name for display in permission prompts.
no setterinherited
Methods
-
call(
Map< String, dynamic> input, ToolUseContext context) → Future<ToolResult> -
Execute with full context (default delegates to simple execute).
inherited
-
checkPermissions(
Map< String, dynamic> input, ToolPermissionContext permContext) → Future<PermissionDecision> -
Check if this tool use is permitted. Returns a PermissionDecision.
Override in subclasses for tool-specific permission logic.
inherited
-
execute(
Map< String, dynamic> input) → Future<ToolResult> -
Execute the tool with the given input.
override
-
getActivityDescription(
Map< String, dynamic> input) → String -
Activity description for status display.
override
-
getPermissionExplanation(
Map< String, dynamic> input) → PermissionExplanation? -
Permission explanation for this tool.
inherited
-
getToolUseSummary(
Map< String, dynamic> input) → String -
Short summary of tool use for compact/grouped display.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toAutoClassifierInput(
Map< String, dynamic> input) → String -
Generate classifier input for auto-permission decisions.
Returns empty string to skip classification.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
validateInput(
Map< String, dynamic> input) → ValidationResult -
Validate input before execution and permission checks.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited