Spaces:
Running on Zero
Running on Zero
| import { JsonSchemaType, ToolCallType } from '$lib/enums'; | |
| import type { OpenAIToolDefinition } from '$lib/types'; | |
| export const SANDBOX_TOOL_NAME = 'run_javascript'; | |
| export const SANDBOX_TIMEOUT_MS_DEFAULT = 10000; | |
| export const SANDBOX_TIMEOUT_MS_MAX = 30000; | |
| export const SANDBOX_OUTPUT_MAX_CHARS = 8192; | |
| export const SANDBOX_EMPTY_OUTPUT = '(no output)'; | |
| export const SANDBOX_TRUNCATION_NOTICE = '[output truncated]'; | |
| export const SANDBOX_TOOL_DEFINITION: OpenAIToolDefinition = { | |
| type: ToolCallType.FUNCTION, | |
| function: { | |
| name: SANDBOX_TOOL_NAME, | |
| description: | |
| 'Execute JavaScript in a sandboxed browser worker (no DOM, no page access). ' + | |
| 'Top level await is supported. Use console.log to print intermediate values; ' + | |
| 'a top level return statement is captured as the result.', | |
| parameters: { | |
| type: JsonSchemaType.OBJECT, | |
| properties: { | |
| code: { | |
| type: JsonSchemaType.STRING, | |
| description: 'JavaScript source to execute' | |
| }, | |
| timeout_ms: { | |
| type: JsonSchemaType.NUMBER, | |
| description: `Execution timeout in milliseconds, default ${SANDBOX_TIMEOUT_MS_DEFAULT}, max ${SANDBOX_TIMEOUT_MS_MAX}` | |
| } | |
| }, | |
| required: ['code'] | |
| } | |
| } | |
| }; | |