index.js 1.26 KB
/**
 * @mas/evolution — 进化系统共享包
 *
 * 使用前必须调用 initQueries(knexInstance) 注入数据库连接。
 */

const { evolutionQueries, initQueries } = require('./queries');
const { RunController } = require('./run-controller');
const { EvolutionLogger } = require('./evolution-logger');
const evaluator = require('./evaluator');
const steps = require('./steps');
const { forageOneSkill, forageSkills } = require('./forager');
const { seedRunPopulation } = require('./genome/seeder');
const { writeGenomeToSkill } = require('./genome/deserializer');
const { evaluateRunFitness } = require('./operators/fitness-calculator');
const { selectGeneration } = require('./operators/selector');
const { crossoverGeneration } = require('./operators/crossover');

module.exports = {
  // 初始化
  initQueries,

  // 数据查询层
  evolutionQueries,

  // 控制器
  RunController,

  // 日志
  EvolutionLogger,

  // 评估器
  evaluator,
  callEvaluator: evaluator.callEvaluator,
  setAgentManager: evaluator.setAgentManager,
  setLogSink: evaluator.setLogSink,

  // 步骤
  steps,

  // 采集
  forageOneSkill,
  forageSkills,

  // 基因组
  seedRunPopulation,
  writeGenomeToSkill,

  // 算子
  evaluateRunFitness,
  selectGeneration,
  crossoverGeneration,
};