From 44c92098dc57ae7e41b12084d80ae8575f75812c Mon Sep 17 00:00:00 2001 From: Fabian Chibuike Muoghalu Date: Sun, 1 Jun 2025 01:57:36 +0100 Subject: [PATCH] modify dockerfile to incorporate all referenced projects --- .../BloggerAgent.Api.csproj | 0 .../BloggerAgent.Api.csproj.user | 0 .../Controllers/BloggerAgentController.cs | 0 .../Controllers/TelexIntegrationController.cs | 0 .../Middleware/ExceptionHandler.cs | 0 .../Middleware/RequestLoggingMiddleware.cs | 0 .../Program.cs | 0 .../Properties/launchSettings.json | 0 .../TelexBloggerAgent.http | 0 .../appsettings.json | 0 BloggerAgent.Application/Dtos/TaskRequest.cs | 6 ++--- BloggerAgent.Application/Dtos/TaskResponse.cs | 6 ++--- Dockerfile | 24 ++++++++++++------- TelexBloggerAgent.sln | 2 +- 14 files changed, 23 insertions(+), 15 deletions(-) rename {TelexBloggerAgent => BloggerAgent.Api}/BloggerAgent.Api.csproj (100%) rename {TelexBloggerAgent => BloggerAgent.Api}/BloggerAgent.Api.csproj.user (100%) rename {TelexBloggerAgent => BloggerAgent.Api}/Controllers/BloggerAgentController.cs (100%) rename {TelexBloggerAgent => BloggerAgent.Api}/Controllers/TelexIntegrationController.cs (100%) rename {TelexBloggerAgent => BloggerAgent.Api}/Middleware/ExceptionHandler.cs (100%) rename {TelexBloggerAgent => BloggerAgent.Api}/Middleware/RequestLoggingMiddleware.cs (100%) rename {TelexBloggerAgent => BloggerAgent.Api}/Program.cs (100%) rename {TelexBloggerAgent => BloggerAgent.Api}/Properties/launchSettings.json (100%) rename {TelexBloggerAgent => BloggerAgent.Api}/TelexBloggerAgent.http (100%) rename {TelexBloggerAgent => BloggerAgent.Api}/appsettings.json (100%) diff --git a/TelexBloggerAgent/BloggerAgent.Api.csproj b/BloggerAgent.Api/BloggerAgent.Api.csproj similarity index 100% rename from TelexBloggerAgent/BloggerAgent.Api.csproj rename to BloggerAgent.Api/BloggerAgent.Api.csproj diff --git a/TelexBloggerAgent/BloggerAgent.Api.csproj.user b/BloggerAgent.Api/BloggerAgent.Api.csproj.user similarity index 100% rename from TelexBloggerAgent/BloggerAgent.Api.csproj.user rename to BloggerAgent.Api/BloggerAgent.Api.csproj.user diff --git a/TelexBloggerAgent/Controllers/BloggerAgentController.cs b/BloggerAgent.Api/Controllers/BloggerAgentController.cs similarity index 100% rename from TelexBloggerAgent/Controllers/BloggerAgentController.cs rename to BloggerAgent.Api/Controllers/BloggerAgentController.cs diff --git a/TelexBloggerAgent/Controllers/TelexIntegrationController.cs b/BloggerAgent.Api/Controllers/TelexIntegrationController.cs similarity index 100% rename from TelexBloggerAgent/Controllers/TelexIntegrationController.cs rename to BloggerAgent.Api/Controllers/TelexIntegrationController.cs diff --git a/TelexBloggerAgent/Middleware/ExceptionHandler.cs b/BloggerAgent.Api/Middleware/ExceptionHandler.cs similarity index 100% rename from TelexBloggerAgent/Middleware/ExceptionHandler.cs rename to BloggerAgent.Api/Middleware/ExceptionHandler.cs diff --git a/TelexBloggerAgent/Middleware/RequestLoggingMiddleware.cs b/BloggerAgent.Api/Middleware/RequestLoggingMiddleware.cs similarity index 100% rename from TelexBloggerAgent/Middleware/RequestLoggingMiddleware.cs rename to BloggerAgent.Api/Middleware/RequestLoggingMiddleware.cs diff --git a/TelexBloggerAgent/Program.cs b/BloggerAgent.Api/Program.cs similarity index 100% rename from TelexBloggerAgent/Program.cs rename to BloggerAgent.Api/Program.cs diff --git a/TelexBloggerAgent/Properties/launchSettings.json b/BloggerAgent.Api/Properties/launchSettings.json similarity index 100% rename from TelexBloggerAgent/Properties/launchSettings.json rename to BloggerAgent.Api/Properties/launchSettings.json diff --git a/TelexBloggerAgent/TelexBloggerAgent.http b/BloggerAgent.Api/TelexBloggerAgent.http similarity index 100% rename from TelexBloggerAgent/TelexBloggerAgent.http rename to BloggerAgent.Api/TelexBloggerAgent.http diff --git a/TelexBloggerAgent/appsettings.json b/BloggerAgent.Api/appsettings.json similarity index 100% rename from TelexBloggerAgent/appsettings.json rename to BloggerAgent.Api/appsettings.json diff --git a/BloggerAgent.Application/Dtos/TaskRequest.cs b/BloggerAgent.Application/Dtos/TaskRequest.cs index 9caf0a1..2a1c96c 100644 --- a/BloggerAgent.Application/Dtos/TaskRequest.cs +++ b/BloggerAgent.Application/Dtos/TaskRequest.cs @@ -25,7 +25,7 @@ public static object SendTaskRequest() { Id = "0195c514-2292-71e2-9378-21d11be2ad8c", SessionId = "0195c514-2292-71e2-9378-21d11be2ad8c", - Message = new Message + Message = new TaskMessage { Role = "user", Parts = new List @@ -53,14 +53,14 @@ public class SendTaskParams { public string Id { get; set; } // task id public string SessionId { get; set; } // session id (same as id here) - public Message Message { get; set; } + public TaskMessage Message { get; set; } public List? AcceptedOutputModes { get; set; } // can be null public bool? PushNotification { get; set; } public int? HistoryLength { get; set; } public Dictionary? Metadata { get; set; } } - public class Message + public class TaskMessage { public string Role { get; set; } // e.g., "user" public List Parts { get; set; } diff --git a/BloggerAgent.Application/Dtos/TaskResponse.cs b/BloggerAgent.Application/Dtos/TaskResponse.cs index 41ca84c..7e5abd5 100644 --- a/BloggerAgent.Application/Dtos/TaskResponse.cs +++ b/BloggerAgent.Application/Dtos/TaskResponse.cs @@ -26,7 +26,7 @@ public static object SendTaskResponse() Status = new Status { State = "completed", - Message = new Message + Message = new TaskMessage { Role = "agent", Parts = new List @@ -95,14 +95,14 @@ public class Result public string SessionId { get; set; } public Status Status { get; set; } public List Artifacts { get; set; } - public List? History { get; set; } + public List? History { get; set; } public Dictionary? Metadata { get; set; } } public class Status { public string State { get; set; } // e.g., "completed" - public Message Message { get; set; } + public TaskMessage Message { get; set; } public DateTime Timestamp { get; set; } } diff --git a/Dockerfile b/Dockerfile index c18502c..ad3fda0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,21 +12,29 @@ EXPOSE 8081 FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build ARG BUILD_CONFIGURATION=Release WORKDIR /src -COPY ["TelexBloggerAgent/TelexBloggerAgent.csproj", "TelexBloggerAgent/"] -RUN dotnet restore "./TelexBloggerAgent/TelexBloggerAgent.csproj" + +# Copy csproj files and restore dependencies +COPY ["BloggerAgent.Api/BloggerAgent.Api.csproj", "BloggerAgent.Api/"] +COPY ["BloggerAgent.Domain/BloggerAgent.Domain.csproj", "BloggerAgent.Domain/"] +COPY ["BloggerAgent.Application/BloggerAgent.Application.csproj", "BloggerAgent.Application/"] +COPY ["BloggerAgent.Infrastructure/BloggerAgent.Infrastructure.csproj", "BloggerAgent.Infrastructure/"] +RUN dotnet restore "BloggerAgent.Api/BloggerAgent.Api.csproj" + +# Copy the rest of the project files COPY . . -WORKDIR "/src/TelexBloggerAgent" -RUN dotnet build "./TelexBloggerAgent.csproj" -c $BUILD_CONFIGURATION -o /app/build + +# Build the project +WORKDIR "/src/BloggerAgent.Api" +RUN dotnet build "./BloggerAgent.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build # This stage is used to publish the service project to be copied to the final stage FROM build AS publish ARG BUILD_CONFIGURATION=Release -RUN dotnet publish "./TelexBloggerAgent.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false +RUN dotnet publish "./BloggerAgent.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false # This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration) FROM base AS final WORKDIR /app COPY --from=publish /app/publish . -# <-- Added this line to copy the JSON file -COPY TelexBloggerAgent/Integration.json /app/ -ENTRYPOINT ["dotnet", "TelexBloggerAgent.dll"] \ No newline at end of file + +ENTRYPOINT ["dotnet", "BloggerAgent.Api.dll"] \ No newline at end of file diff --git a/TelexBloggerAgent.sln b/TelexBloggerAgent.sln index 31bdb18..23858c4 100644 --- a/TelexBloggerAgent.sln +++ b/TelexBloggerAgent.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.12.35707.178 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BloggerAgent.Api", "TelexBloggerAgent\BloggerAgent.Api.csproj", "{DFD6AB28-E242-4A52-979A-03874E9CAB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BloggerAgent.Api", "BloggerAgent.Api\BloggerAgent.Api.csproj", "{DFD6AB28-E242-4A52-979A-03874E9CAB05}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{464104A8-DB23-45DC-99C4-191841B756B7}" ProjectSection(SolutionItems) = preProject