From 1b9e7afa8a0532406bad0259c4ca14fe8829a5ae Mon Sep 17 00:00:00 2001 From: Kazuhiro Sera Date: Thu, 23 Oct 2025 21:56:48 +0900 Subject: [PATCH] fix: #607 make main execution in examples consistent --- .../agents-as-tools-conditional.ts | 10 ++--- examples/agent-patterns/agents-as-tools.ts | 3 +- examples/agent-patterns/deterministic.ts | 2 +- examples/agent-patterns/forcing-tool-use.ts | 37 +++++++++++-------- .../human-in-the-loop-stream.ts | 5 ++- examples/agent-patterns/human-in-the-loop.ts | 3 +- examples/agent-patterns/input-guardrails.ts | 5 ++- examples/agent-patterns/llm-as-a-judge.ts | 2 +- examples/agent-patterns/output-guardrails.ts | 5 ++- examples/agent-patterns/parallelization.ts | 2 +- examples/agent-patterns/routing.ts | 2 +- examples/agent-patterns/streamed.ts | 5 ++- .../agent-patterns/streaming-guardrails.ts | 5 ++- examples/basic/agent-lifecycle-example.ts | 7 ++-- examples/basic/chat.ts | 5 ++- examples/basic/conversations.ts | 8 ++-- examples/basic/dynamic-system-prompt.ts | 7 ++-- examples/basic/hello-world-gpt-5.ts | 7 ++-- examples/basic/hello-world-gpt-oss.ts | 7 ++-- examples/basic/hello-world.ts | 7 ++-- examples/basic/index.ts | 5 ++- examples/basic/json-schema-output-type.ts | 5 ++- examples/basic/lifecycle-example.ts | 7 ++-- examples/basic/local-file.ts | 7 ++-- examples/basic/local-image.ts | 7 ++-- examples/basic/previous-response-id.ts | 17 +++++---- examples/basic/prompt-id.ts | 7 ++-- examples/basic/remote-image.ts | 7 ++-- examples/basic/remote-pdf.ts | 7 ++-- examples/basic/stream-items.ts | 7 ++-- examples/basic/stream-text.ts | 7 ++-- examples/basic/tool-use-behavior.ts | 5 ++- examples/basic/tools.ts | 7 ++-- examples/customer-service/index.ts | 2 +- examples/docs/context/localContext.ts | 7 ++-- examples/docs/models/openaiProvider.ts | 11 ++---- examples/financial-research-agent/main.ts | 7 ++-- examples/handoffs/index.ts | 10 ++--- examples/handoffs/is-enabled.ts | 10 ++--- examples/handoffs/types.ts | 10 ++--- examples/mcp/get-all-mcp-tools-example.ts | 4 +- .../model-providers/custom-example-agent.ts | 3 +- .../model-providers/custom-example-global.ts | 7 ++-- .../custom-example-provider.ts | 7 ++-- examples/research-bot/main.ts | 7 ++-- examples/tools/code-interpreter.ts | 5 ++- examples/tools/computer-use.ts | 5 ++- examples/tools/file-search.ts | 5 ++- examples/tools/image-generation.ts | 5 ++- examples/tools/web-search-filters.ts | 5 ++- examples/tools/web-search.ts | 5 ++- 51 files changed, 203 insertions(+), 141 deletions(-) diff --git a/examples/agent-patterns/agents-as-tools-conditional.ts b/examples/agent-patterns/agents-as-tools-conditional.ts index 5458c65b..03e80cfc 100644 --- a/examples/agent-patterns/agents-as-tools-conditional.ts +++ b/examples/agent-patterns/agents-as-tools-conditional.ts @@ -124,9 +124,7 @@ async function main() { } } -if (require.main === module) { - main().catch((error) => { - console.error('Error:', error); - process.exitCode = 1; - }); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/agent-patterns/agents-as-tools.ts b/examples/agent-patterns/agents-as-tools.ts index 23879eb7..b8172ea3 100644 --- a/examples/agent-patterns/agents-as-tools.ts +++ b/examples/agent-patterns/agents-as-tools.ts @@ -91,5 +91,6 @@ async function main() { } main().catch((error) => { - console.error('Error:', error); + console.error(error); + process.exit(1); }); diff --git a/examples/agent-patterns/deterministic.ts b/examples/agent-patterns/deterministic.ts index fcf0e4b3..ec67ae4a 100644 --- a/examples/agent-patterns/deterministic.ts +++ b/examples/agent-patterns/deterministic.ts @@ -81,6 +81,6 @@ async function main() { } main().catch((error) => { - console.error('Error:', error); + console.error(error); process.exit(1); }); diff --git a/examples/agent-patterns/forcing-tool-use.ts b/examples/agent-patterns/forcing-tool-use.ts index 6180370a..084139df 100644 --- a/examples/agent-patterns/forcing-tool-use.ts +++ b/examples/agent-patterns/forcing-tool-use.ts @@ -80,23 +80,28 @@ async function main( } // CLI argument parsing -if (require.main === module) { - const args = process.argv.slice(2); - let toolUseBehavior: 'default' | 'first_tool' | 'custom' = 'default'; - const idx = args.findIndex((a) => a === '-t' || a === '--tool-use-behavior'); - if (idx !== -1 && args[idx + 1]) { - const val = args[idx + 1]; - if (val === 'default' || val === 'first_tool' || val === 'custom') { - toolUseBehavior = val; - } else { - console.error('Invalid tool use behavior:', val); - process.exit(1); - } +const args = process.argv.slice(2); +let toolUseBehavior: 'default' | 'first_tool' | 'custom' = 'default'; +const flagIndex = args.findIndex( + (arg) => arg === '-t' || arg === '--tool-use-behavior', +); + +if (flagIndex !== -1 && args[flagIndex + 1]) { + const value = args[flagIndex + 1]; + if (value === 'default' || value === 'first_tool' || value === 'custom') { + toolUseBehavior = value; } else { - console.log( - 'Usage: pnpm run start:forcing-tool-use -t ', - ); + console.error('Invalid tool use behavior:', value); process.exit(1); } - main(toolUseBehavior).catch(console.error); +} else { + console.log( + 'Usage: pnpm run start:forcing-tool-use -t ', + ); + process.exit(1); } + +main(toolUseBehavior).catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/agent-patterns/human-in-the-loop-stream.ts b/examples/agent-patterns/human-in-the-loop-stream.ts index e9a5fb86..b8904947 100644 --- a/examples/agent-patterns/human-in-the-loop-stream.ts +++ b/examples/agent-patterns/human-in-the-loop-stream.ts @@ -94,4 +94,7 @@ async function main() { console.log('\n\nDone'); } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/agent-patterns/human-in-the-loop.ts b/examples/agent-patterns/human-in-the-loop.ts index 929c3480..84cc77d0 100644 --- a/examples/agent-patterns/human-in-the-loop.ts +++ b/examples/agent-patterns/human-in-the-loop.ts @@ -105,5 +105,6 @@ async function main() { } main().catch((error) => { - console.dir(error, { depth: null }); + console.error(error); + process.exit(1); }); diff --git a/examples/agent-patterns/input-guardrails.ts b/examples/agent-patterns/input-guardrails.ts index 959713e8..8ae30655 100644 --- a/examples/agent-patterns/input-guardrails.ts +++ b/examples/agent-patterns/input-guardrails.ts @@ -45,4 +45,7 @@ async function main() { }); } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/agent-patterns/llm-as-a-judge.ts b/examples/agent-patterns/llm-as-a-judge.ts index de85389e..1d43daf3 100644 --- a/examples/agent-patterns/llm-as-a-judge.ts +++ b/examples/agent-patterns/llm-as-a-judge.ts @@ -73,6 +73,6 @@ async function main() { } main().catch((error) => { - console.error('Error:', error); + console.error(error); process.exit(1); }); diff --git a/examples/agent-patterns/output-guardrails.ts b/examples/agent-patterns/output-guardrails.ts index 3aa973ae..cc57a89a 100644 --- a/examples/agent-patterns/output-guardrails.ts +++ b/examples/agent-patterns/output-guardrails.ts @@ -74,4 +74,7 @@ async function main() { }); } -main(); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/agent-patterns/parallelization.ts b/examples/agent-patterns/parallelization.ts index 3b2fe472..3493963f 100644 --- a/examples/agent-patterns/parallelization.ts +++ b/examples/agent-patterns/parallelization.ts @@ -54,6 +54,6 @@ async function main() { } main().catch((error) => { - console.error('Error:', error); + console.error(error); process.exit(1); }); diff --git a/examples/agent-patterns/routing.ts b/examples/agent-patterns/routing.ts index 3958b696..fecebf8e 100644 --- a/examples/agent-patterns/routing.ts +++ b/examples/agent-patterns/routing.ts @@ -71,6 +71,6 @@ async function main() { } main().catch((error) => { - console.error('Error:', error); + console.error(error); process.exit(1); }); diff --git a/examples/agent-patterns/streamed.ts b/examples/agent-patterns/streamed.ts index d6a06e41..d83ecfb9 100644 --- a/examples/agent-patterns/streamed.ts +++ b/examples/agent-patterns/streamed.ts @@ -79,4 +79,7 @@ async function main() { } } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/agent-patterns/streaming-guardrails.ts b/examples/agent-patterns/streaming-guardrails.ts index dd68c34e..84b1a273 100644 --- a/examples/agent-patterns/streaming-guardrails.ts +++ b/examples/agent-patterns/streaming-guardrails.ts @@ -62,4 +62,7 @@ async function main() { console.log(`\n\n${result.finalOutput}`); } -main(); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/agent-lifecycle-example.ts b/examples/basic/agent-lifecycle-example.ts index 8099756b..3758491c 100644 --- a/examples/basic/agent-lifecycle-example.ts +++ b/examples/basic/agent-lifecycle-example.ts @@ -61,6 +61,7 @@ async function main() { console.log(result.finalOutput); } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/chat.ts b/examples/basic/chat.ts index 832ca1e4..f57cc9d9 100644 --- a/examples/basic/chat.ts +++ b/examples/basic/chat.ts @@ -60,4 +60,7 @@ async function main() { }); } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/conversations.ts b/examples/basic/conversations.ts index d0054b3b..bd156e53 100644 --- a/examples/basic/conversations.ts +++ b/examples/basic/conversations.ts @@ -61,6 +61,8 @@ async function main() { } } } -if (require.main === module) { - main().catch(console.error); -} + +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/dynamic-system-prompt.ts b/examples/basic/dynamic-system-prompt.ts index a8aedb70..3a7339bc 100644 --- a/examples/basic/dynamic-system-prompt.ts +++ b/examples/basic/dynamic-system-prompt.ts @@ -38,6 +38,7 @@ async function main() { console.log(`Assistant: ${result.finalOutput}`); } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/hello-world-gpt-5.ts b/examples/basic/hello-world-gpt-5.ts index 4f83d73b..ab92b50f 100644 --- a/examples/basic/hello-world-gpt-5.ts +++ b/examples/basic/hello-world-gpt-5.ts @@ -63,6 +63,7 @@ async function main() { // console.log(completionsResult2.finalOutput); } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/hello-world-gpt-oss.ts b/examples/basic/hello-world-gpt-oss.ts index 970cb958..98af33df 100644 --- a/examples/basic/hello-world-gpt-oss.ts +++ b/examples/basic/hello-world-gpt-oss.ts @@ -40,6 +40,7 @@ async function main() { // console.log(result.finalOutput); } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/hello-world.ts b/examples/basic/hello-world.ts index 9deeec8d..00eca850 100644 --- a/examples/basic/hello-world.ts +++ b/examples/basic/hello-world.ts @@ -17,6 +17,7 @@ async function main() { // Endless by design. } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/index.ts b/examples/basic/index.ts index addf7f1b..6a03861a 100644 --- a/examples/basic/index.ts +++ b/examples/basic/index.ts @@ -36,4 +36,7 @@ async function main() { console.log(result.finalOutput); } -main(); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/json-schema-output-type.ts b/examples/basic/json-schema-output-type.ts index ffc8f415..3177bbc1 100644 --- a/examples/basic/json-schema-output-type.ts +++ b/examples/basic/json-schema-output-type.ts @@ -24,4 +24,7 @@ async function main() { // { city: 'London', forecast: '...'} } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/lifecycle-example.ts b/examples/basic/lifecycle-example.ts index 8ed864f3..971af5db 100644 --- a/examples/basic/lifecycle-example.ts +++ b/examples/basic/lifecycle-example.ts @@ -89,6 +89,7 @@ async function main() { console.log(result.finalOutput); } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/local-file.ts b/examples/basic/local-file.ts index 5b4ebfc6..74fd9486 100644 --- a/examples/basic/local-file.ts +++ b/examples/basic/local-file.ts @@ -42,6 +42,7 @@ async function main() { // OpenAI o3 and OpenAI o4-mini combine state-of-the-art reasoning with full tool capabilities — web browsing, Python, image and file analysis, image generation, canvas, automations, file search, and memory. } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/local-image.ts b/examples/basic/local-image.ts index 0ced5eef..2e596314 100644 --- a/examples/basic/local-image.ts +++ b/examples/basic/local-image.ts @@ -39,6 +39,7 @@ async function main() { // This image shows a large American bison standing on a grassy hill. The bison has a shaggy brown coat, with parts of its fur shedding, and prominent curved horns. The background is mostly a light, overcast sky, which makes the bison stand out prominently in the image. There is green grass and some small wild plants in the foreground. The overall scene appears natural and serene, likely in a prairie or grassland environment. } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/previous-response-id.ts b/examples/basic/previous-response-id.ts index 1bc2ef26..589ba8da 100644 --- a/examples/basic/previous-response-id.ts +++ b/examples/basic/previous-response-id.ts @@ -1,6 +1,6 @@ import { Agent, run } from '@openai/agents'; -async function main() { +async function runBasic() { const agent = new Agent({ name: 'Assistant', instructions: 'You are a helpful assistant. be VERY concise.', @@ -18,7 +18,7 @@ async function main() { console.log(result.finalOutput); // e.g., Brasilia } -async function mainStream() { +async function runStream() { const agent = new Agent({ name: 'Assistant', instructions: 'You are a helpful assistant. be VERY concise.', @@ -54,7 +54,7 @@ async function mainStream() { console.log(); } -async function promptAndRun() { +async function main() { const readline = await import('node:readline/promises'); const rl = readline.createInterface({ input: process.stdin, @@ -63,12 +63,13 @@ async function promptAndRun() { const isStream = await rl.question('Run in stream mode? (y/n): '); rl.close(); if (isStream.trim().toLowerCase() === 'y') { - await mainStream(); + await runStream(); } else { - await main(); + await runBasic(); } } -if (require.main === module) { - promptAndRun().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/prompt-id.ts b/examples/basic/prompt-id.ts index a318836c..c8c3d755 100644 --- a/examples/basic/prompt-id.ts +++ b/examples/basic/prompt-id.ts @@ -13,6 +13,7 @@ async function main() { console.log(result.finalOutput); } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/remote-image.ts b/examples/basic/remote-image.ts index 52cffc64..974efe67 100644 --- a/examples/basic/remote-image.ts +++ b/examples/basic/remote-image.ts @@ -32,6 +32,7 @@ async function main() { // This image shows the Golden Gate Bridge, a famous suspension bridge located in San Francisco, California. The bridge is painted in its signature "International Orange" color and spans the Golden Gate Strait, connecting San Francisco to Marin County. The photo is taken during daylight, with the city and hills visible in the background and water beneath the bridge. The bridge is an iconic landmark and a symbol of San Francisco. } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/remote-pdf.ts b/examples/basic/remote-pdf.ts index 7ff38acc..21cf2f4f 100644 --- a/examples/basic/remote-pdf.ts +++ b/examples/basic/remote-pdf.ts @@ -22,6 +22,7 @@ async function main() { console.log(result.finalOutput); } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/stream-items.ts b/examples/basic/stream-items.ts index 021edaf6..ed6239b6 100644 --- a/examples/basic/stream-items.ts +++ b/examples/basic/stream-items.ts @@ -61,6 +61,7 @@ async function main() { // === Run complete === } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/stream-text.ts b/examples/basic/stream-text.ts index 8bc5ff91..e8af3d24 100644 --- a/examples/basic/stream-text.ts +++ b/examples/basic/stream-text.ts @@ -15,6 +15,7 @@ async function main() { console.log(); } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/tool-use-behavior.ts b/examples/basic/tool-use-behavior.ts index e60b6b4a..52e46bd8 100644 --- a/examples/basic/tool-use-behavior.ts +++ b/examples/basic/tool-use-behavior.ts @@ -67,4 +67,7 @@ async function main() { console.log(finalOutput3); } -main(); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/basic/tools.ts b/examples/basic/tools.ts index 85f30cf7..13f85ec8 100644 --- a/examples/basic/tools.ts +++ b/examples/basic/tools.ts @@ -32,6 +32,7 @@ async function main() { // The weather in Tokyo is sunny with some wind, and the temperature ranges between 14°C and 20°C. } -if (require.main === module) { - main(); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/customer-service/index.ts b/examples/customer-service/index.ts index 15d1b412..bea91390 100644 --- a/examples/customer-service/index.ts +++ b/examples/customer-service/index.ts @@ -181,6 +181,6 @@ async function main() { } main().catch((error) => { - console.error('Error:', error); + console.error(error); process.exit(1); }); diff --git a/examples/docs/context/localContext.ts b/examples/docs/context/localContext.ts index 40160ab0..7782dd35 100644 --- a/examples/docs/context/localContext.ts +++ b/examples/docs/context/localContext.ts @@ -34,6 +34,7 @@ async function main() { // The user John is 47 years old. } -if (require.main === module) { - main().catch(console.error); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/docs/models/openaiProvider.ts b/examples/docs/models/openaiProvider.ts index ac2de20a..dfd59a31 100644 --- a/examples/docs/models/openaiProvider.ts +++ b/examples/docs/models/openaiProvider.ts @@ -23,11 +23,8 @@ async function main() { console.log(result.finalOutput); } -if (require.main === module) { - main().catch((err) => { - console.error(err); - process.exit(1); - }); -} - +main().catch((error) => { + console.error(error); + process.exit(1); +}); setTracingExportApiKey(process.env.OPENAI_API_KEY!); diff --git a/examples/financial-research-agent/main.ts b/examples/financial-research-agent/main.ts index 92782bb2..e8cd8de0 100644 --- a/examples/financial-research-agent/main.ts +++ b/examples/financial-research-agent/main.ts @@ -20,6 +20,7 @@ async function main() { }); } -if (require.main === module) { - main(); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/handoffs/index.ts b/examples/handoffs/index.ts index 6ca808d4..0982f46d 100644 --- a/examples/handoffs/index.ts +++ b/examples/handoffs/index.ts @@ -103,9 +103,7 @@ async function main() { }); } -if (require.main === module) { - main().catch((err) => { - console.error(err); - process.exit(1); - }); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/handoffs/is-enabled.ts b/examples/handoffs/is-enabled.ts index 04356769..92739b8d 100644 --- a/examples/handoffs/is-enabled.ts +++ b/examples/handoffs/is-enabled.ts @@ -134,9 +134,7 @@ async function main() { } } -if (require.main === module) { - main().catch((error) => { - console.error('Error:', error); - process.exitCode = 1; - }); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/handoffs/types.ts b/examples/handoffs/types.ts index a9f2cf0a..3be1d686 100644 --- a/examples/handoffs/types.ts +++ b/examples/handoffs/types.ts @@ -49,9 +49,7 @@ async function main() { } } -if (require.main === module) { - main().catch((err) => { - console.error(err); - process.exit(1); - }); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/mcp/get-all-mcp-tools-example.ts b/examples/mcp/get-all-mcp-tools-example.ts index 419c718e..30903f87 100644 --- a/examples/mcp/get-all-mcp-tools-example.ts +++ b/examples/mcp/get-all-mcp-tools-example.ts @@ -104,7 +104,7 @@ async function main() { } } -main().catch((err) => { - console.error('Error:', err); +main().catch((error) => { + console.error(error); process.exit(1); }); diff --git a/examples/model-providers/custom-example-agent.ts b/examples/model-providers/custom-example-agent.ts index 3d55a4a1..789793e9 100644 --- a/examples/model-providers/custom-example-agent.ts +++ b/examples/model-providers/custom-example-agent.ts @@ -34,5 +34,6 @@ async function main() { } main().catch((error) => { - console.error('Error:', error); + console.error(error); + process.exit(1); }); diff --git a/examples/model-providers/custom-example-global.ts b/examples/model-providers/custom-example-global.ts index 42a1bbf2..a2cdc513 100644 --- a/examples/model-providers/custom-example-global.ts +++ b/examples/model-providers/custom-example-global.ts @@ -70,6 +70,7 @@ async function main() { console.log(result.finalOutput); } -if (require.main === module) { - main(); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/model-providers/custom-example-provider.ts b/examples/model-providers/custom-example-provider.ts index 468cb79e..eccf48a9 100644 --- a/examples/model-providers/custom-example-provider.ts +++ b/examples/model-providers/custom-example-provider.ts @@ -65,6 +65,7 @@ async function main() { console.log(result.finalOutput); } -if (require.main === module) { - main(); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/research-bot/main.ts b/examples/research-bot/main.ts index c4f75a4f..d515ca9c 100644 --- a/examples/research-bot/main.ts +++ b/examples/research-bot/main.ts @@ -13,6 +13,7 @@ async function main() { }); } -if (require.main === module) { - main(); -} +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/tools/code-interpreter.ts b/examples/tools/code-interpreter.ts index 9869083f..91158928 100644 --- a/examples/tools/code-interpreter.ts +++ b/examples/tools/code-interpreter.ts @@ -38,4 +38,7 @@ async function main() { }); } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/tools/computer-use.ts b/examples/tools/computer-use.ts index b8466875..c2435d97 100644 --- a/examples/tools/computer-use.ts +++ b/examples/tools/computer-use.ts @@ -186,6 +186,7 @@ class LocalPlaywrightComputer implements Computer { } } -main().catch((err) => { - console.error('Error:', err); +main().catch((error) => { + console.error(error); + process.exit(1); }); diff --git a/examples/tools/file-search.ts b/examples/tools/file-search.ts index 592c7ea5..5ab051e8 100644 --- a/examples/tools/file-search.ts +++ b/examples/tools/file-search.ts @@ -54,4 +54,7 @@ async function main() { }); } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/tools/image-generation.ts b/examples/tools/image-generation.ts index a92dc23a..4849c962 100644 --- a/examples/tools/image-generation.ts +++ b/examples/tools/image-generation.ts @@ -88,4 +88,7 @@ async function main() { }); } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/tools/web-search-filters.ts b/examples/tools/web-search-filters.ts index 1e814dcf..ee7d173e 100644 --- a/examples/tools/web-search-filters.ts +++ b/examples/tools/web-search-filters.ts @@ -55,4 +55,7 @@ async function main() { }); } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/examples/tools/web-search.ts b/examples/tools/web-search.ts index 4e9d0963..c593c5e9 100644 --- a/examples/tools/web-search.ts +++ b/examples/tools/web-search.ts @@ -31,4 +31,7 @@ async function main() { }); } -main().catch(console.error); +main().catch((error) => { + console.error(error); + process.exit(1); +});