#!/usr/bin/env node const { buildDeepDive } = require('../features/voc-problem-deep-dive/deep-dive'); function parseArgs(argv) { const args = {}; const setArg = (key, value) => { args[key] = value; if (key.includes('-')) { args[key.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase())] = value; } }; for (let i = 0; i < argv.length; i++) { const token = argv[i]; if (!token.startsWith('--')) continue; const eq = token.indexOf('='); if (eq >= 0) { setArg(token.slice(2, eq), token.slice(eq + 1)); continue; } const key = token.slice(2); const next = argv[i + 1]; if (next && !next.startsWith('--')) { setArg(key, next); i++; } else { setArg(key, true); } } return args; } async function runVocProblemDeepDive(input = {}) { return buildDeepDive(input); } async function main() { const args = parseArgs(process.argv.slice(2)); const result = await runVocProblemDeepDive(args); if (args.assistantMessageOnly || args['assistant-message-only']) { console.log(result.assistantMessage || JSON.stringify(result, null, 2)); } else { console.log(JSON.stringify(result, null, 2)); } if (!args.assistantMessageOnly && !args['assistant-message-only'] && (args.resultPrefix || args['result-prefix'])) { const prefix = args.resultPrefix || args['result-prefix']; console.log(`${prefix}=${JSON.stringify(result)}`); } } if (require.main === module) { main().catch(error => { console.error(JSON.stringify({ status: 'error', message: error.message }, null, 2)); process.exit(1); }); } module.exports = { runVocProblemDeepDive };