completely remove the skipping first player logic

This commit is contained in:
Jochen
2025-11-27 13:21:40 +11:00
parent c58aa80932
commit 99125fc39e
3 changed files with 0 additions and 62 deletions

View File

@@ -1297,11 +1297,6 @@ impl<W: UiWriter> Agent<W> {
self.providers.get(None)
}
/// Get a reference to the UI writer
pub fn ui_writer(&self) -> &W {
&self.ui_writer
}
/// Get the current session ID for this agent
pub fn get_session_id(&self) -> Option<&str> {
self.session_id.as_deref()

View File

@@ -1,9 +1,6 @@
use anyhow::Result;
use serde::{Deserialize, Serialize};
use std::path::{Path, PathBuf};
use std::process::exit;
use crate::ui_writer::UiWriter;
/// Represents a G3 project with workspace configuration
#[derive(Debug, Clone, Serialize, Deserialize)]
@@ -101,50 +98,6 @@ impl Project {
self.requirements_text.is_some() || self.requirements_path.is_some()
}
/// Check if implementation files exist in the workspace
pub fn has_implementation_files<W: UiWriter>(&self, ui_writer: &W) -> bool {
self.check_dir_for_implementation_files(&self.workspace_dir, ui_writer)
}
/// Recursively check a directory for implementation files
#[allow(clippy::only_used_in_recursion)]
fn check_dir_for_implementation_files<W: UiWriter>(&self, dir: &Path, ui_writer: &W) -> bool {
// Common source file extensions
let extensions = vec![
"swift", "rs", "py", "js", "ts", "java", "cpp", "c",
"go", "rb", "php", "cs", "kt", "scala", "m", "h"
];
if let Ok(entries) = std::fs::read_dir(dir) {
for entry in entries.flatten() {
let path = entry.path();
if path.is_file() {
// Check if it's a source file
if let Some(ext) = path.extension() {
if let Some(ext_str) = ext.to_str() {
if extensions.contains(&ext_str) {
ui_writer.println(&format!("Existing implementation file found: {}", path.display()));
return true;
}
}
}
} else if path.is_dir() {
// Skip hidden directories and common non-source directories
if let Some(name) = path.file_name().and_then(|n| n.to_str()) {
if !name.starts_with('.') && name != "logs" && name != "target" && name != "node_modules" {
// Recursively check subdirectories
if self.check_dir_for_implementation_files(&path, ui_writer) {
return true;
}
}
}
}
}
}
false
}
/// Read the requirements file content
pub fn read_requirements(&self) -> Result<Option<String>> {
// Prioritize requirements text override