import { AgentBay } from 'wuying-agentbay-sdk'; async function main() { const apiKey = process.env.AGENTBAY_API_KEY; if (!apiKey) { console.error("Please set AGENTBAY_API_KEY environment variable"); process.exit(1); } const agentBay = new AgentBay({ apiKey }); console.log("Creating session..."); const sessionResult = await agentBay.create({ imageId: "code_latest" }); if (!sessionResult.success || !sessionResult.session) { console.error("Failed to create session:", sessionResult.errorMessage); process.exit(1); } const session = sessionResult.session; console.log(`Session created: ${session.sessionId}`); try { // 1. Logs Capture console.log("\n--- Logs Capture Test ---"); const logsCode = ` import sys print("This goes to stdout") print("This goes to stderr", file=sys.stderr) `; const logsResult = await session.code.runCode(logsCode, "python"); printResult(logsResult); // 2. Rich Output (HTML) console.log("\n--- Rich Output (HTML) Test ---"); const htmlCode = ` from IPython.display import display, HTML display(HTML("

Hello from AgentBay

")) `; const htmlResult = await session.code.runCode(htmlCode, "python"); printResult(htmlResult); // 3. Error Handling console.log("\n--- Error Handling Test ---"); const errorCode = ` raise ValueError("Something went wrong") `; const errorResult = await session.code.runCode(errorCode, "python"); printResult(errorResult); } finally { console.log("\nCleaning up..."); await session.delete(); } } function printResult(result: any) { if (result.success) { console.log("Success: true"); if (result.logs) { if (result.logs.stdout.length > 0) { console.log("Stdout:", JSON.stringify(result.logs.stdout)); } if (result.logs.stderr.length > 0) { console.log("Stderr:", JSON.stringify(result.logs.stderr)); } } if (result.results) { console.log("Results count:", result.results.length); result.results.forEach((item: any, index: number) => { const types = Object.keys(item).filter(k => k !== 'isMainResult'); console.log(`Result [${index}] types:`, types.join(", ")); if (item.text) console.log(` Text: ${item.text.substring(0, 50)}...`); if (item.html) console.log(` HTML: ${item.html.substring(0, 50)}...`); }); } } else { console.log("Success: false"); console.log("Error Message:", result.errorMessage); if (result.error) { console.log("Error Details:", JSON.stringify(result.error)); } } } main().catch(console.error);