diff --git a/packages/web-ui/src/components/SandboxedIframe.ts b/packages/web-ui/src/components/SandboxedIframe.ts index 623ede0a..8a020404 100644 --- a/packages/web-ui/src/components/SandboxedIframe.ts +++ b/packages/web-ui/src/components/SandboxedIframe.ts @@ -347,8 +347,7 @@ export class SandboxIframe extends LitElement { await window.complete(null, returnValue); } catch (error) { - console.error(error?.stack || error?.message || String(error)); - + // Call completion callbacks before complete() (error path) if (window.__completionCallbacks && window.__completionCallbacks.length > 0) { try { diff --git a/packages/web-ui/src/tools/javascript-repl.ts b/packages/web-ui/src/tools/javascript-repl.ts index 16db59e3..00a14b32 100644 --- a/packages/web-ui/src/tools/javascript-repl.ts +++ b/packages/web-ui/src/tools/javascript-repl.ts @@ -63,6 +63,12 @@ export async function executeJavaScript( } } + // Add return value if present + if (result.returnValue !== undefined) { + if (output) output += "\n"; + output += `=> ${typeof result.returnValue === "object" ? JSON.stringify(result.returnValue, null, 2) : result.returnValue}`; + } + // Add file notifications if (result.files && result.files.length > 0) { output += `\n[Files returned: ${result.files.length}]\n`;