Files
idoubiandClaude Opus 4.6 197722e84e fix: lazy-load all Anthropic-internal packages and add missing deps
- Convert static imports of @ant/computer-use-mcp,
  @ant/claude-for-chrome-mcp, @ant/computer-use-input, and
  color-diff-napi to lazy require() with no-op fallbacks
- Add cli-boxes and qrcode as runtime dependencies
- Prevents "Cannot find package" errors in Next.js and other
  bundled environments where internal packages are unavailable

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 02:08:40 +08:00

45 lines
1.2 KiB
TypeScript

/**
* Example 2: Multi-Tool Orchestration
*
* The agent autonomously uses Glob, Bash, and Read tools to
* accomplish a multi-step task.
*
* Run: npx tsx examples/02-multi-tool.ts
*/
import { createAgent } from '@shipany/open-agent-sdk'
async function main() {
console.log('--- Example 2: Multi-Tool Orchestration ---\n')
const agent = createAgent({
model: process.env.ANTHROPIC_MODEL || 'claude-sonnet-4-6',
maxTurns: 15,
})
for await (const event of agent.query(
'Do these steps: ' +
'1) Use Glob to find all .ts files in src/ (pattern "src/*.ts"). ' +
'2) Use Bash to count lines in src/agent.ts with `wc -l`. ' +
'3) Give a brief summary.',
)) {
const msg = event as any
if (msg.type === 'assistant') {
for (const block of msg.message?.content || []) {
if (block.type === 'tool_use') {
console.log(`[${block.name}] ${JSON.stringify(block.input).slice(0, 100)}`)
}
if (block.type === 'text' && block.text.trim()) {
console.log(`\n${block.text}`)
}
}
}
if (msg.type === 'result') {
console.log(`\n--- ${msg.subtype} | ${msg.usage?.input_tokens}/${msg.usage?.output_tokens} tokens ---`)
}
}
}
main().catch(console.error)