diff --git a/app/Build/Commands/Qdrant.cs b/app/Build/Commands/Qdrant.cs index 4133332e..f51c0fa7 100644 --- a/app/Build/Commands/Qdrant.cs +++ b/app/Build/Commands/Qdrant.cs @@ -44,7 +44,8 @@ public static class Qdrant { using var archive = new ZipArchive(zStream, ZipArchiveMode.Read); archive.ExtractToDirectory(qdrantTmpExtractPath.FullName, overwriteFiles: true); - } else + } + else { await using var uncompressedStream = new GZipStream(zStream, CompressionMode.Decompress); await TarFile.ExtractToDirectoryAsync(uncompressedStream, qdrantTmpExtractPath.FullName, true); @@ -63,7 +64,7 @@ public static class Qdrant } var qdrantDBSourcePath = Path.Join(qdrantTmpExtractPath.FullName, database.Path); - var qdrantDBTargetPath = Path.Join(cwd, "resources", "databases", "qdrant",database.Filename); + var qdrantDBTargetPath = Path.Join(cwd, "resources", "databases", "qdrant", database.Filename); if (!File.Exists(qdrantDBSourcePath)) { Console.WriteLine($" failed to find the database file '{qdrantDBSourcePath}'"); diff --git a/app/MindWork AI Studio/Tools/Databases/DatabaseClient.cs b/app/MindWork AI Studio/Tools/Databases/DatabaseClient.cs index 3881a9fc..5ea457ec 100644 --- a/app/MindWork AI Studio/Tools/Databases/DatabaseClient.cs +++ b/app/MindWork AI Studio/Tools/Databases/DatabaseClient.cs @@ -3,7 +3,9 @@ public abstract class DatabaseClient(string name, string path) { public string Name => name; + private string Path => path; + protected ILogger? logger; public abstract IAsyncEnumerable<(string Label, string Value)> GetDisplayInfo(); diff --git a/app/MindWork AI Studio/Tools/Databases/Qdrant/QdrantClientImplementation.cs b/app/MindWork AI Studio/Tools/Databases/Qdrant/QdrantClientImplementation.cs index 4ef49dc1..e4cd5a2c 100644 --- a/app/MindWork AI Studio/Tools/Databases/Qdrant/QdrantClientImplementation.cs +++ b/app/MindWork AI Studio/Tools/Databases/Qdrant/QdrantClientImplementation.cs @@ -6,10 +6,13 @@ namespace AIStudio.Tools.Databases.Qdrant; public class QdrantClientImplementation : DatabaseClient { private int HttpPort { get; } + private int GrpcPort { get; } private string IpAddress => "localhost"; private QdrantClient GrpcClient { get; } + private string Fingerprint { get; } + private string ApiToken { get; } public QdrantClientImplementation(string name, string path, int httpPort, int grpcPort, string fingerprint, string apiToken): base(name, path) diff --git a/app/MindWork AI Studio/Tools/Rust/QdrantInfo.cs b/app/MindWork AI Studio/Tools/Rust/QdrantInfo.cs index 6f9b2e5c..8dac8aa7 100644 --- a/app/MindWork AI Studio/Tools/Rust/QdrantInfo.cs +++ b/app/MindWork AI Studio/Tools/Rust/QdrantInfo.cs @@ -8,8 +8,12 @@ public record struct QdrantInfo { public string Path { get; init; } + public int PortHttp { get; init; } + public int PortGrpc { get; init; } + public string Fingerprint { get; init; } + public string ApiToken { get; init; } } \ No newline at end of file diff --git a/runtime/src/qdrant.rs b/runtime/src/qdrant.rs index 4a945d5d..0ae5a2ee 100644 --- a/runtime/src/qdrant.rs +++ b/runtime/src/qdrant.rs @@ -106,10 +106,12 @@ pub fn start_qdrant_server() { } else { debug!(Source = "Qdrant Server"; "{line}"); } - } + }, + CommandEvent::Stderr(line) => { error!(Source = "Qdrant Server (stderr)"; "{line}"); - } + }, + _ => {} } } @@ -132,9 +134,7 @@ pub fn stop_qdrant_server() { pub fn create_temp_tls_files(path: PathBuf) -> Result<(PathBuf, PathBuf), Box> { let (certificate, cert_private_key, cert_fingerprint) = generate_certificate(); - let temp_dir = init_tmpdir_in(path); - let cert_path = temp_dir.join("cert.pem"); let key_path = temp_dir.join("key.pem");