From 536197decb8490d2856ea93221376559314a02f3 Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Sun, 11 Jan 2026 05:55:25 +0200 Subject: [PATCH] Refactor codebase to replace `ConfigurationModel` with `Model` for model representation. --- .../alyverkko_cli/commands/WizardCommand.java | 12 +++++----- .../commands/task_processor/Task.java | 4 ++-- .../task_processor/TaskProcessorCommand.java | 4 ++-- .../configuration/Configuration.java | 2 +- .../{ConfigurationModel.java => Model.java} | 3 +-- .../configuration/ModelLibrary.java | 22 +++++++++---------- 6 files changed, 23 insertions(+), 24 deletions(-) rename src/main/java/eu/svjatoslav/alyverkko_cli/configuration/{ConfigurationModel.java => Model.java} (96%) diff --git a/src/main/java/eu/svjatoslav/alyverkko_cli/commands/WizardCommand.java b/src/main/java/eu/svjatoslav/alyverkko_cli/commands/WizardCommand.java index 56ce403..5056ecb 100644 --- a/src/main/java/eu/svjatoslav/alyverkko_cli/commands/WizardCommand.java +++ b/src/main/java/eu/svjatoslav/alyverkko_cli/commands/WizardCommand.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import eu.svjatoslav.alyverkko_cli.Command; import eu.svjatoslav.alyverkko_cli.configuration.Configuration; import eu.svjatoslav.alyverkko_cli.configuration.ConfigurationHelper; -import eu.svjatoslav.alyverkko_cli.configuration.ConfigurationModel; +import eu.svjatoslav.alyverkko_cli.configuration.Model; import eu.svjatoslav.commons.cli_helper.parameter_parser.Parser; import eu.svjatoslav.commons.cli_helper.parameter_parser.parameter.FileOption; @@ -382,7 +382,7 @@ public class WizardCommand implements Command { return; } - List existingModels = configuration.getModels(); + List existingModels = configuration.getModels(); if (existingModels == null) { existingModels = new ArrayList<>(); configuration.setModels(existingModels); @@ -440,16 +440,16 @@ public class WizardCommand implements Command { } private void addNewModel(String relativePath) { - ConfigurationModel newModel = getNewModel(relativePath); + Model newModel = getNewModel(relativePath); configuration.getModels().add(newModel); System.out.println("Added new model: " + newModel.getAlias() + " (" + newModel.getFilesystemPath() + ")"); configurationUpdated = true; modelsUpdated = true; } - private ConfigurationModel getNewModel(String relativePath) { + private Model getNewModel(String relativePath) { String suggestedAlias = suggestAlias(relativePath); - ConfigurationModel newModel = new ConfigurationModel(); + Model newModel = new Model(); newModel.setAlias(suggestedAlias + "-new"); newModel.setFilesystemPath(relativePath); newModel.setContextSizeTokens(32768); // Default context size @@ -459,7 +459,7 @@ public class WizardCommand implements Command { private void annotateMissingModels() { // Process existing models to add/remove -missing suffix - for (ConfigurationModel model : configuration.getModels()) { + for (Model model : configuration.getModels()) { File modelFile = new File(configuration.getModelsDirectory(), model.getFilesystemPath()); if (!modelFile.exists()) { if (!model.getAlias().endsWith("-missing")) { diff --git a/src/main/java/eu/svjatoslav/alyverkko_cli/commands/task_processor/Task.java b/src/main/java/eu/svjatoslav/alyverkko_cli/commands/task_processor/Task.java index 1fed2e4..2e80c53 100644 --- a/src/main/java/eu/svjatoslav/alyverkko_cli/commands/task_processor/Task.java +++ b/src/main/java/eu/svjatoslav/alyverkko_cli/commands/task_processor/Task.java @@ -1,6 +1,6 @@ package eu.svjatoslav.alyverkko_cli.commands.task_processor; -import eu.svjatoslav.alyverkko_cli.configuration.ConfigurationModel; +import eu.svjatoslav.alyverkko_cli.configuration.Model; import eu.svjatoslav.alyverkko_cli.configuration.SkillConfig; import static eu.svjatoslav.alyverkko_cli.Main.configuration; @@ -35,7 +35,7 @@ public class Task { /** * The AI model to be used for processing this query. */ - public ConfigurationModel model; + public Model model; /** * The start time of the query (milliseconds since epoch). diff --git a/src/main/java/eu/svjatoslav/alyverkko_cli/commands/task_processor/TaskProcessorCommand.java b/src/main/java/eu/svjatoslav/alyverkko_cli/commands/task_processor/TaskProcessorCommand.java index 4f095d2..c811509 100644 --- a/src/main/java/eu/svjatoslav/alyverkko_cli/commands/task_processor/TaskProcessorCommand.java +++ b/src/main/java/eu/svjatoslav/alyverkko_cli/commands/task_processor/TaskProcessorCommand.java @@ -2,7 +2,7 @@ package eu.svjatoslav.alyverkko_cli.commands.task_processor; import eu.svjatoslav.alyverkko_cli.*; import eu.svjatoslav.alyverkko_cli.configuration.ConfigurationHelper; -import eu.svjatoslav.alyverkko_cli.configuration.ConfigurationModel; +import eu.svjatoslav.alyverkko_cli.configuration.Model; import eu.svjatoslav.alyverkko_cli.configuration.SkillConfig; import eu.svjatoslav.alyverkko_cli.configuration.ModelLibrary; import eu.svjatoslav.commons.cli_helper.parameter_parser.Parser; @@ -337,7 +337,7 @@ public class TaskProcessorCommand implements Command { // Set AI model using hierarchy: TOCOMPUTE > skill config > default String modelAlias = fileProcessingSettings.getOrDefault("model", skill.getModelAlias() != null ? skill.getModelAlias() : "default"); - Optional modelOptional = modelLibrary.findModelByAlias(modelAlias); + Optional modelOptional = modelLibrary.findModelByAlias(modelAlias); if (!modelOptional.isPresent()) { throw new IllegalArgumentException("Model with alias '" + modelAlias + "' not found."); } diff --git a/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/Configuration.java b/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/Configuration.java index 5d47c96..abe5b33 100644 --- a/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/Configuration.java +++ b/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/Configuration.java @@ -98,7 +98,7 @@ public class Configuration { /** * The list of models defined in this configuration. */ - private List models; + private List models; /** diff --git a/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/ConfigurationModel.java b/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/Model.java similarity index 96% rename from src/main/java/eu/svjatoslav/alyverkko_cli/configuration/ConfigurationModel.java rename to src/main/java/eu/svjatoslav/alyverkko_cli/configuration/Model.java index 5accc73..26f4406 100644 --- a/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/ConfigurationModel.java +++ b/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/Model.java @@ -1,6 +1,5 @@ package eu.svjatoslav.alyverkko_cli.configuration; -import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; @@ -11,7 +10,7 @@ import lombok.Data; * end-of-text marker. */ @Data -public class ConfigurationModel { +public class Model { /** * A short name for the model, e.g., "default" or "mistral". diff --git a/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/ModelLibrary.java b/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/ModelLibrary.java index a676bee..68c5ece 100644 --- a/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/ModelLibrary.java +++ b/src/main/java/eu/svjatoslav/alyverkko_cli/configuration/ModelLibrary.java @@ -14,13 +14,13 @@ public class ModelLibrary { /** * The list of all successfully loaded models in this library. */ - private final List models; + private final List models; /** * The default model for this library (e.g., the first successfully * loaded model in the list). */ - private static ConfigurationModel defaultModel; + private static Model defaultModel; /** * Base directory containing the model files. @@ -29,16 +29,16 @@ public class ModelLibrary { /** * Constructs a library of AI models from the provided list of - * {@link ConfigurationModel}s, ignoring those whose paths do not exist. + * {@link Model}s, ignoring those whose paths do not exist. * * @param modelsBaseDirectory the root directory where model files are stored. * @param configModels a list of model configurations. */ - public ModelLibrary(File modelsBaseDirectory, List configModels) { + public ModelLibrary(File modelsBaseDirectory, List configModels) { this.modelsBaseDirectory = modelsBaseDirectory; this.models = new ArrayList<>(); - for (ConfigurationModel configModel : configModels) { + for (Model configModel : configModels) { addModel(configModel); } @@ -57,7 +57,7 @@ public class ModelLibrary { * @param model the model to add. * @throws RuntimeException if a model with the same alias already exists. */ - public void addModel(ConfigurationModel model) { + public void addModel(Model model) { if (findModelByAlias(model.getAlias()).isPresent()) { throw new RuntimeException("Model with alias \"" + model.getAlias() + "\" already exists!"); } @@ -67,7 +67,7 @@ public class ModelLibrary { /** * @return the list of loaded models in this library. */ - public List getModels() { + public List getModels() { return models; } @@ -77,7 +77,7 @@ public class ModelLibrary { * @param alias the model alias to look for. * @return an {@link Optional} describing the found model, or empty if none match. */ - public Optional findModelByAlias(String alias) { + public Optional findModelByAlias(String alias) { return models.stream() .filter(model -> model.getAlias().equals(alias)) .findFirst(); @@ -86,7 +86,7 @@ public class ModelLibrary { /** * @return the default model (first loaded model). */ - public ConfigurationModel getDefaultModel() { + public Model getDefaultModel() { return defaultModel; } @@ -95,13 +95,13 @@ public class ModelLibrary { */ public void printModels() { System.out.println("Available models:\n"); - for (ConfigurationModel model : models) { + for (Model model : models) { model.printModelDetails(); System.out.println(); } } - public String getModelFullFilesystemPath(ConfigurationModel model) { + public String getModelFullFilesystemPath(Model model) { return new File(modelsBaseDirectory, model.getFilesystemPath()).getAbsolutePath(); } -- 2.20.1