mirror of
https://github.com/kolbytn/mindcraft.git
synced 2025-03-28 14:56:24 +01:00
58 lines
1.7 KiB
JavaScript
58 lines
1.7 KiB
JavaScript
import { AgentProcess } from './src/process/agent_process.js';
|
|
import settings from './settings.js';
|
|
import yargs from 'yargs';
|
|
import { hideBin } from 'yargs/helpers';
|
|
import { createMindServer } from './src/server/mind_server.js';
|
|
import { mainProxy } from './src/process/main_proxy.js';
|
|
import { readFileSync } from 'fs';
|
|
|
|
function parseArguments() {
|
|
return yargs(hideBin(process.argv))
|
|
.option('profiles', {
|
|
type: 'array',
|
|
describe: 'List of agent profile paths',
|
|
})
|
|
.option('task_path', {
|
|
type: 'string',
|
|
describe: 'Path to task file to execute'
|
|
})
|
|
.option('task_id', {
|
|
type: 'string',
|
|
describe: 'Task ID to execute'
|
|
})
|
|
.help()
|
|
.alias('help', 'h')
|
|
.parse();
|
|
}
|
|
|
|
function getProfiles(args) {
|
|
return args.profiles || settings.profiles;
|
|
}
|
|
|
|
async function main() {
|
|
if (settings.host_mindserver) {
|
|
const mindServer = createMindServer(settings.mindserver_port);
|
|
}
|
|
mainProxy.connect();
|
|
|
|
const args = parseArguments();
|
|
const profiles = getProfiles(args);
|
|
console.log(profiles);
|
|
const { load_memory, init_message } = settings;
|
|
|
|
for (let i=0; i<profiles.length; i++) {
|
|
const agent_process = new AgentProcess();
|
|
const profile = readFileSync(profiles[i], 'utf8');
|
|
const agent_json = JSON.parse(profile);
|
|
mainProxy.registerAgent(agent_json.name, agent_process);
|
|
agent_process.start(profiles[i], load_memory, init_message, i, args.task_path, args.task_id);
|
|
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
}
|
|
}
|
|
|
|
try {
|
|
main();
|
|
} catch (error) {
|
|
console.error('An error occurred:', error);
|
|
process.exit(1);
|
|
}
|