| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/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
- };
|