This commit is contained in:
seb
2026-10-06 12:29:29 +02:00
parent 5eb0f28300
commit 965bd34ade

View File

@@ -122,11 +122,11 @@ export function createJavascriptExecuteTool({ googleAuthId }) {
return defineTool({ return defineTool({
name: 'javascript_execute', name: 'javascript_execute',
description: description:
'Execute JS in isolated Node worker sandbox. Assign `module.exports` to return value (sync value or Promise; no bare top-level await — wrap async in IIFE: `module.exports = (async () => { ... })()`). ' + 'Execute JS in isolated worker sandbox. Assign `module.exports` to return value (sync value or Promise; wrap async in IIFE: `module.exports = (async () => { ... })()`). ' +
'REST API: `await fetch("/path")` (authenticated). ' + 'REST API: `await fetch("/path")` (authenticated). ' +
'VFS: `fs.readFileSync`/`writeFileSync` for binary artifacts/buffers/images (`image/` is read-only). ' + 'VFS: directly use global `fs.readFileSync`/`writeFileSync` for binary artifacts/buffers/images (`image/` is read-only; paths must be relative paths, root is not allowed). ' +
'Embed generated images in markdown: `![alt](path)`. Use find_files/read_file/patch for text. ' + 'Embed generated images in markdown: `![alt](relative/path)`. Use find_files/read_file/patch for text. ' +
'Globals: `fs`/`vfs`, `sharp`, WebCrypto `crypto` (`subtle`, `randomUUID`), web standard globals. Node built-ins unavailable (`require` fails).', 'All APIs are pre-injected globals: `fs`/`vfs` (virtual filesystem), `sharp` (image processing), WebCrypto `crypto` (`subtle`, `randomUUID`), and standard web globals. Do NOT use `require()` or `import` (disabled; all necessary APIs are already in global scope).',
strict: false, strict: false,
parameters: { parameters: {
type: 'object', type: 'object',
@@ -135,7 +135,7 @@ export function createJavascriptExecuteTool({ googleAuthId }) {
properties: { properties: {
code: { code: {
type: 'string', type: 'string',
description: 'CommonJS JS code. Assign result to `module.exports`. Async code must use IIFE.', description: 'JavaScript code. Assign result to `module.exports`. Async code must use IIFE. Do not use require() or import.',
}, },
timeout: { timeout: {
type: 'number', type: 'number',