}
}
+ /**
+ * Persists AI response to the file; deletes the original file
+ */
private static void saveAiResponseToFile(File file, Task task, String aiResponse) throws IOException {
StringBuilder resultFileContent = new StringBuilder();
}
+ /**
+ * Returns duration string based on elapsed time.
+ */
private static String getDuration(long startTimeMillis, long endTimeMillis) {
long durationSeconds = (endTimeMillis - startTimeMillis) / 1000;
/**
* Builds a Task object from the contents of a file.
- *
+ * <p>
* This method now implements a three-level hierarchy for model selection:
* 1. Explicit model specified in TOCOMPUTE line (the highest priority)
* 2. Model alias defined in the skill configuration (if present)