From 682bab26bca164181a2c06935c9350109403b12c Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Tue, 6 May 2025 00:14:32 +0200 Subject: [PATCH] prod azure 1.0.9 --- connectors/connectorAiOpenai.py | 23 +- connectors/connectorDbJson.py | 2 - modules/agentAnalyst.py | 1 + modules/agentCoach.py | 376 ++++++++++ modules/agentCoder.py | 1 + modules/agentDocumentation.py | 108 +-- modules/agentWebcrawler.py | 1 + modules/documentProcessor.py | 18 +- modules/gatewayInterface.py | 5 +- modules/lucydomInterface.py | 9 +- modules/workflowAgentsRegistry.py | 1 + modules/workflowManager.py | 50 +- routes/routeUsers.py | 66 +- static/1_LF-Details.png | Bin 0 -> 253009 bytes static/2_LF-Details_Description.txt | 295 ++++++++ static/3_generated_code.py | 38 + static/4_execution_history.json | 19 + static/5_prime_numbers.txt | 1000 +++++++++++++++++++++++++++ 18 files changed, 1877 insertions(+), 136 deletions(-) create mode 100644 modules/agentCoach.py create mode 100644 static/1_LF-Details.png create mode 100644 static/2_LF-Details_Description.txt create mode 100644 static/3_generated_code.py create mode 100644 static/4_execution_history.json create mode 100644 static/5_prime_numbers.txt diff --git a/connectors/connectorAiOpenai.py b/connectors/connectorAiOpenai.py index e394030d..fd03af86 100644 --- a/connectors/connectorAiOpenai.py +++ b/connectors/connectorAiOpenai.py @@ -1,4 +1,5 @@ import logging +import base64 import httpx from typing import Dict, Any, List, Union from fastapi import HTTPException @@ -93,7 +94,7 @@ class ChatService: Analyzes an image with the OpenAI Vision API. Args: - imageData: Either a file path (str) or image data (bytes) + imageData: base64encoded data mimeType: The MIME type of the image (optional, only for binary data) prompt: The prompt for analysis @@ -101,23 +102,7 @@ class ChatService: The response from the OpenAI Vision API as text """ try: - logger.debug("Starting image analysis...") - # Distinguish between file path and binary data - if isinstance(imageData, str): - # It's a file path - import filehandling only when needed - from modules import agentserviceFilemanager as fileHandler - base64Data, autoMimeType = fileHandler.encodeFileToBase64(imageData) - mimeType = mimeType or autoMimeType - else: - # It's binary data - import base64 - base64Data = base64.b64encode(imageData).decode('utf-8') - # MIME type must be specified for binary data - if not mimeType: - # Fallback to generic image type - mimeType = "image/png" - - # Prepare the payload for the Vision API + logger.debug(f"Starting image analysis for {mimeType} with query '{prompt}' for {mimeType} size {len(imageData)}B...") messages = [ { "role": "user", @@ -126,7 +111,7 @@ class ChatService: { "type": "image_url", "image_url": { - "url": f"data:{mimeType};base64,{base64Data}" + "url": f"data:{mimeType};base64,{imageData}" } } ] diff --git a/connectors/connectorDbJson.py b/connectors/connectorDbJson.py index 449d3bb3..de8f8b63 100644 --- a/connectors/connectorDbJson.py +++ b/connectors/connectorDbJson.py @@ -56,7 +56,6 @@ class DatabaseConnector: self.mandateId = self._mandateId self.userId = self._userId - logger.info(f"DatabaseConnector initialized for directory: {self.dbFolder}") logger.debug(f"Context: mandateId={self.mandateId}, userId={self.userId}") def _initializeSystemTable(self): @@ -286,7 +285,6 @@ class DatabaseConnector: def getRecordset(self, table: str, fieldFilter: List[str] = None, recordFilter: Dict[str, Any] = None) -> List[Dict[str, Any]]: """Returns a list of records from a table, filtered by criteria.""" data = self._loadTable(table) - logger.debug(f"getRecordset: data volume of {len(data)} records") # Apply recordFilter if available if recordFilter: diff --git a/modules/agentAnalyst.py b/modules/agentAnalyst.py index 853b3955..5e68c91e 100644 --- a/modules/agentAnalyst.py +++ b/modules/agentAnalyst.py @@ -23,6 +23,7 @@ class AgentAnalyst(AgentBase): """Initialize the data analysis agent""" super().__init__() self.name = "analyst" + self.label = "Data Analysis" self.description = "Analyzes data using AI-powered insights and visualizations, produce diagrams and visualizations" self.capabilities = [ "dataAnalysis", diff --git a/modules/agentCoach.py b/modules/agentCoach.py new file mode 100644 index 00000000..6a0616bf --- /dev/null +++ b/modules/agentCoach.py @@ -0,0 +1,376 @@ +""" +Coach agent for answering questions and generating structured content. +Provides direct AI-based responses using extracted data from documents. +""" + +import logging +from typing import Dict, Any, List +import json +from datetime import datetime + +from modules.workflowAgentsRegistry import AgentBase + +logger = logging.getLogger(__name__) + +class AgentCoach(AgentBase): + """AI-driven agent for answering questions and generating structured content from extracted data""" + + def __init__(self): + """Initialize the coach agent""" + super().__init__() + self.name = "coach" + self.label = "Coach & Assistant" + self.description = "Answers questions and generates content directly from extracted data without complex processing" + self.capabilities = [ + "questionAnswering", + "contentGeneration", + "simpleDataFormatting", + "informationSynthesis", + "directResponse", + "imageInterpretation", + "structuredOutput" + ] + + def setDependencies(self, mydom=None): + """Set external dependencies for the agent.""" + self.mydom = mydom + + async def processTask(self, task: Dict[str, Any]) -> Dict[str, Any]: + """ + Process a task by directly using AI to provide answers or content based on extracted data. + + Args: + task: Task dictionary with prompt, inputDocuments, outputSpecifications + + Returns: + Dictionary with feedback and documents + """ + try: + # Extract task information + prompt = task.get("prompt", "") + inputDocuments = task.get("inputDocuments", []) + outputSpecs = task.get("outputSpecifications", []) + + # Check AI service + if not self.mydom: + return { + "feedback": "The Coach agent requires an AI service to function.", + "documents": [] + } + + # Collect all extracted data from input documents + documentContext = self._collectExtractedData(inputDocuments) + + # Generate task understanding to guide response creation + taskUnderstanding = await self._analyzeTask(prompt, documentContext) + + # Generate documents based on output specifications + documents = [] + + # If no output specs provided, create a default document + if not outputSpecs: + defaultFormat = taskUnderstanding.get("recommendedFormat", "md") + defaultTitle = taskUnderstanding.get("suggestedFilename", "response") + + outputSpecs = [{ + "label": f"{defaultTitle}.{defaultFormat}", + "description": "Response to your request" + }] + + # Process each output specification + for spec in outputSpecs: + outputLabel = spec.get("label", "output.txt") + outputDescription = spec.get("description", "") + + # Determine format based on file extension + outputFormat = outputLabel.split('.')[-1].lower() if '.' in outputLabel else "txt" + + # Generate document based on format + document = await self._generateDocument( + prompt, + documentContext, + outputLabel, + outputFormat, + outputDescription, + taskUnderstanding + ) + + documents.append(document) + + # Generate feedback + feedback = taskUnderstanding.get("feedback", "I've created content based on your request.") + + return { + "feedback": feedback, + "documents": documents + } + + except Exception as e: + logger.error(f"Error in coach processing: {str(e)}", exc_info=True) + return { + "feedback": f"Error while processing your request: {str(e)}", + "documents": [] + } + + def _collectExtractedData(self, documents: List[Dict[str, Any]]) -> str: + """ + Collect extracted data from input documents. + + Args: + documents: List of input documents + + Returns: + Combined extracted data as text + """ + contextParts = [] + + for doc in documents: + docName = doc.get("name", "unnamed") + if doc.get("ext"): + docName = f"{docName}.{doc.get('ext')}" + + contextParts.append(f"\n\n--- {docName} ---\n") + + # Process contents, focusing on dataExtracted field + for content in doc.get("contents", []): + if content.get("dataExtracted"): + contextParts.append(content.get("dataExtracted", "")) + + return "\n".join(contextParts) + + async def _analyzeTask(self, prompt: str, context: str) -> Dict: + """ + Use AI to analyze the task and develop an understanding of what's required. + + Args: + prompt: The task prompt + context: Extracted document data + + Returns: + Task understanding dictionary + """ + analysisPrompt = f""" + Analyze this request to determine the best approach for creating a response. + + REQUEST: {prompt} + + EXTRACTED DATA: + {context[:1500]}... (truncated if longer) + + Create a task analysis in JSON format with the following structure: + {{ + "requestType": "question|content|data|report|description", + "recommendedFormat": "md|txt|html|csv|json", + "suggestedFilename": "appropriate_filename_without_extension", + "contentFocus": "brief description of what to focus on", + "feedback": "brief explanation of how you'll approach this request", + "complexity": "simple|moderate|complex" + }} + + Only return valid JSON. No preamble or explanations. + """ + + try: + response = await self.mydom.callAi([ + {"role": "system", "content": "You are a task analysis expert. Respond with valid JSON only."}, + {"role": "user", "content": analysisPrompt} + ]) + + # Extract JSON from response + jsonStart = response.find('{') + jsonEnd = response.rfind('}') + 1 + + if jsonStart >= 0 and jsonEnd > jsonStart: + taskUnderstanding = json.loads(response[jsonStart:jsonEnd]) + return taskUnderstanding + else: + # Fallback if JSON not found + return { + "requestType": "content", + "recommendedFormat": "md", + "suggestedFilename": "response", + "contentFocus": "Addressing the main request", + "feedback": "I've created content based on your request and the provided data.", + "complexity": "moderate" + } + + except Exception as e: + logger.warning(f"Error analyzing task: {str(e)}") + return { + "requestType": "content", + "recommendedFormat": "md", + "suggestedFilename": "response", + "contentFocus": "Addressing the main request", + "feedback": "I've created content based on your request and the provided data.", + "complexity": "moderate" + } + + async def _generateDocument(self, prompt: str, context: str, outputLabel: str, + outputFormat: str, description: str, taskUnderstanding: Dict) -> Dict[str, Any]: + """ + Generate a document based on the request and extracted data. + + Args: + prompt: The task prompt + context: Extracted document data + outputLabel: Output filename + outputFormat: Output format (file extension) + description: Output description + taskUnderstanding: Task understanding from analysis + + Returns: + Document object + """ + # Determine content type based on format + contentType = self._getContentType(outputFormat) + + # Build prompt based on output format + generationPrompt = f""" + Create a response to the following request in {outputFormat} format: + + REQUEST: {prompt} + + EXTRACTED DATA: + {context} + + OUTPUT REQUIREMENTS: + - Filename: {outputLabel} + - Format: {outputFormat} + - Description: {description} + - Focus on: {taskUnderstanding.get("contentFocus", "Addressing the main request")} + + Guidelines: + 1. Create content that directly addresses the request + 2. Use the extracted data to inform your response + 3. Format the output appropriately for {outputFormat} + 4. Be comprehensive but focused + 5. Include appropriate formatting, structure, and organization + + Your response should be in valid {outputFormat} format without explanations or markdown formatting around it. + """ + + try: + # Build system prompt based on format + systemPrompt = f"You create {outputFormat} format content based on requests and extracted data. Provide only the content in valid {outputFormat} format." + + # Generate content with AI + content = await self.mydom.callAi([ + {"role": "system", "content": systemPrompt}, + {"role": "user", "content": generationPrompt} + ]) + + # Process content based on format + if outputFormat in ["json", "csv"]: + # For structured formats, extract from code blocks if present + content = self._extractFromCodeBlocks(content, outputFormat) + + # Validate JSON if needed + if outputFormat == "json": + try: + json.loads(content) + except: + logger.warning("Invalid JSON generated, attempting to fix") + # Try to extract just the JSON portion + jsonStart = content.find('{') + jsonEnd = content.rfind('}') + 1 + if jsonStart >= 0 and jsonEnd > jsonStart: + content = content[jsonStart:jsonEnd] + + # Ensure proper structure for markdown/HTML + if outputFormat in ["md", "markdown"] and not content.strip().startswith("#"): + title = "Response" + content = f"# {title}\n\n{content}" + elif outputFormat == "html" and not "{title}

{title}

{content}" + + return self.formatAgentDocumentOutput(outputLabel, content, contentType) + + except Exception as e: + logger.error(f"Error generating document: {str(e)}") + + # Create error document + errorContent = self._createErrorContent(str(e), outputFormat) + return self.formatAgentDocumentOutput(outputLabel, errorContent, contentType) + + def _getContentType(self, outputFormat: str) -> str: + """ + Get content type based on format. + + Args: + outputFormat: Output format + + Returns: + Content type + """ + contentTypeMap = { + "md": "text/markdown", + "markdown": "text/markdown", + "html": "text/html", + "txt": "text/plain", + "text": "text/plain", + "json": "application/json", + "csv": "text/csv", + "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" + } + + return contentTypeMap.get(outputFormat, "text/plain") + + def _extractFromCodeBlocks(self, content: str, format: str) -> str: + """ + Extract content from code blocks if present. + + Args: + content: Raw content + format: Expected format + + Returns: + Extracted content + """ + # Check for code blocks + codeBlockStart = f"```{format}" + if codeBlockStart in content: + start = content.find(codeBlockStart) + len(codeBlockStart) + end = content.find("```", start) + if end > start: + return content[start:end].strip() + + # Check for generic code blocks + if "```" in content: + start = content.find("```") + 3 + # Skip format identifier if present + if content[start:].strip() and not content[start:start+1].isalnum(): + start = content.find("\n", start) + 1 + end = content.find("```", start) + if end > start: + return content[start:end].strip() + + return content + + def _createErrorContent(self, errorMessage: str, outputFormat: str) -> str: + """ + Create error content in the appropriate format. + + Args: + errorMessage: Error message + outputFormat: Output format + + Returns: + Formatted error content + """ + if outputFormat == "json": + return json.dumps({"error": errorMessage}) + elif outputFormat == "csv": + return f"error\n{errorMessage}" + elif outputFormat in ["md", "markdown"]: + return f"# Error\n\n{errorMessage}" + elif outputFormat == "html": + return f"

Error

{errorMessage}

" + else: + return f"Error: {errorMessage}" + + +# Factory function for the Coach agent +def getAgentCoach(): + """Returns an instance of the Coach agent.""" + return AgentCoach() \ No newline at end of file diff --git a/modules/agentCoder.py b/modules/agentCoder.py index 0286a157..9af8fd7d 100644 --- a/modules/agentCoder.py +++ b/modules/agentCoder.py @@ -24,6 +24,7 @@ class AgentCoder(AgentBase): """Initialize the coder agent""" super().__init__() self.name = "coder" + self.label = "Developer and Code Executor" self.description = "Develops and executes Python code for data processing and automation" self.capabilities = [ "code_development", diff --git a/modules/agentDocumentation.py b/modules/agentDocumentation.py index daae8a97..38b401d2 100644 --- a/modules/agentDocumentation.py +++ b/modules/agentDocumentation.py @@ -18,6 +18,7 @@ class AgentDocumentation(AgentBase): """Initialize the documentation agent""" super().__init__() self.name = "documentation" + self.label = "Documentation" self.description = "Creates structured documentation, reports, and content using AI with multi-step generation" self.capabilities = [ "report_generation", @@ -59,7 +60,8 @@ class AgentDocumentation(AgentBase): # Create task analysis to understand the requirements documentationPlan = await self._analyzeTask(prompt, documentContext, outputSpecs) - + logger.debug(f"Documentation plan: {documentationPlan}") + # Generate all required output documents documents = [] @@ -216,7 +218,7 @@ class AgentDocumentation(AgentBase): else: # Fallback if JSON not found return { - "title": "Documentation", + "title": "Documentation (DEFAULT)", "documentType": "report", "audience": "general", "detailedStructure": [ @@ -332,17 +334,17 @@ class AgentDocumentation(AgentBase): # Fallback structure if none provided detailedStructure = [ { - "title": "Introduction", + "title": "Introduction (Default)", "keyPoints": ["Purpose", "Scope"], "importance": "high" }, { - "title": "Main Content", + "title": "Main Content (Default)", "keyPoints": ["Core Information"], "importance": "high" }, { - "title": "Conclusion", + "title": "Conclusion (Default)", "keyPoints": ["Summary", "Next Steps"], "importance": "medium" } @@ -351,25 +353,25 @@ class AgentDocumentation(AgentBase): try: # Step 1: Generate document introduction introPrompt = f""" - Create the introduction for a {documentType} titled "{title}". - - DOCUMENT OVERVIEW: - - Type: {documentType} - - Audience: {audience} - - Tone: {tone} - - Key Topics: {', '.join(keyTopics)} - - Format: {formatType} - - TASK CONTEXT: {prompt} - - This introduction should: - 1. Clearly state the purpose and scope of the document - 2. Provide context and background information - 3. Outline what the reader will find in the document - 4. Set the appropriate tone for the {audience} audience - - The introduction should be professional and engaging, formatted according to {formatType} standards. - """ +Create the introduction for a {documentType} titled "{title}". + +DOCUMENT OVERVIEW: +- Type: {documentType} +- Audience: {audience} +- Tone: {tone} +- Key Topics: {', '.join(keyTopics)} +- Format: {formatType} + +TASK CONTEXT: {prompt} + +This introduction should: +1. Clearly state the purpose and scope of the document +2. Provide context and background information +3. Outline what the reader will find in the document +4. Set the appropriate tone for the {audience} audience + +The introduction should be professional and engaging, but short and precise, formatted according to {formatType} standards. do not add details, which are not requested by the Task Context. +""" introduction = await self.mydom.callAi([ {"role": "system", "content": f"You are a documentation expert creating an introduction in {formatType} format."}, @@ -417,35 +419,35 @@ class AgentDocumentation(AgentBase): detailLevel = "high" if importance == "high" else "medium" sectionPrompt = f""" - Create the "{sectionTitle}" section for a {documentType} titled "{title}". - - SECTION DETAILS: - - Title: {sectionTitle} - - Key Points to Cover: {', '.join(keyPoints)} - - Subsections: {', '.join(subsections)} - - Detail Level: {detailLevel} - - DOCUMENT CONTEXT: - - Type: {documentType} - - Audience: {audience} - - Tone: {tone} - - Format: {formatType} - - TASK CONTEXT: {prompt} - - AVAILABLE INFORMATION: - {context[:500]}... (truncated) - - This section should: - 1. Be comprehensive and well-structured - 2. Cover all the key points listed - 3. Include the specified subsections with appropriate headings - 4. Maintain a {tone} tone suitable for the {audience} audience - 5. Be properly formatted according to {formatType} standards - 6. Include specific examples, data, or evidence where appropriate - - Be thorough in your coverage of this section, providing substantive content. - """ +Create the "{sectionTitle}" section for a {documentType} titled "{title}". + +SECTION DETAILS: +- Title: {sectionTitle} +- Key Points to Cover: {', '.join(keyPoints)} +- Subsections: {', '.join(subsections)} +- Detail Level: {detailLevel} + +DOCUMENT CONTEXT: +- Type: {documentType} +- Audience: {audience} +- Tone: {tone} +- Format: {formatType} + +TASK CONTEXT: {prompt} + +AVAILABLE INFORMATION: +{context[:500]}... (truncated) + +This section should: +1. Be comprehensive and well-structured +2. Cover all the key points listed +3. Include the specified subsections with appropriate headings +4. Maintain a {tone} tone suitable for the {audience} audience +5. Be properly formatted according to {formatType} standards +6. Include specific examples, data, or evidence where appropriate + +Be thorough in your coverage of this section, providing substantive content focussing on the Task content. +""" sectionContent = await self.mydom.callAi([ {"role": "system", "content": f"You are a documentation expert creating detailed content for the {sectionTitle} section."}, diff --git a/modules/agentWebcrawler.py b/modules/agentWebcrawler.py index cc2fe3f7..7f5cad09 100644 --- a/modules/agentWebcrawler.py +++ b/modules/agentWebcrawler.py @@ -26,6 +26,7 @@ class AgentWebcrawler(AgentBase): """Initialize the webcrawler agent""" super().__init__() self.name = "webcrawler" + self.label = "Web-Research" self.description = "Conducts web research and collects information from online sources" self.capabilities = [ "webSearch", diff --git a/modules/documentProcessor.py b/modules/documentProcessor.py index 528109be..d3b637e1 100644 --- a/modules/documentProcessor.py +++ b/modules/documentProcessor.py @@ -206,7 +206,7 @@ def extractTextContent(fileName: str, fileContent: bytes, mimeType: str) -> List "sequenceNr": 1, "name": "1_text", # Simplified naming "ext": fileExtension, - "contentType": "text", + "contentType": "text/plain", "data": textContent, "base64Encoded": False, "metadata": { @@ -225,7 +225,7 @@ def extractTextContent(fileName: str, fileContent: bytes, mimeType: str) -> List "sequenceNr": 1, "name": "1_text", # Simplified naming "ext": fileExtension, - "contentType": "text", + "contentType": "text/plain", "data": textContent, "base64Encoded": False, "metadata": { @@ -282,7 +282,7 @@ def extractCsvContent(fileName: str, fileContent: bytes) -> List[Dict[str, Any]] "sequenceNr": 1, "name": "1_csv", # Simplified naming "ext": "csv", - "contentType": "csv", + "contentType": "text/csv", "data": csvContent, "base64Encoded": False, "metadata": { @@ -302,7 +302,7 @@ def extractCsvContent(fileName: str, fileContent: bytes) -> List[Dict[str, Any]] "sequenceNr": 1, "name": "1_csv", # Simplified naming "ext": "csv", - "contentType": "csv", + "contentType": "text/csv", "data": csvContent, "base64Encoded": False, "metadata": { @@ -519,7 +519,7 @@ def extractImageContent(fileName: str, fileContent: bytes, mimeType: str) -> Lis "sequenceNr": 1, "name": "1_image", # Simplified naming "ext": fileExtension, - "contentType": "image", + "contentType": mimeType, "data": encoded_data, "base64Encoded": True, "metadata": imageMetadata @@ -531,7 +531,7 @@ def extractImageContent(fileName: str, fileContent: bytes, mimeType: str) -> Lis "sequenceNr": 2, "name": "2_text_image_info", # Simplified naming with label "ext": "txt", - "contentType": "text", + "contentType": "text/plain", "data": imageDescription, "base64Encoded": False, "metadata": { @@ -604,7 +604,7 @@ def extractPdfContent(fileName: str, fileContent: bytes) -> List[Dict[str, Any]] "sequenceNr": len(contents) + 1, "name": f"{len(contents) + 1}_text", # Simplified naming "ext": "txt", - "contentType": "text", + "contentType": "text/plain", "data": extractedText, "base64Encoded": False, "metadata": { @@ -743,7 +743,7 @@ def extractWordContent(fileName: str, fileContent: bytes, mimeType: str) -> List "sequenceNr": 1, "name": "1_text", # Simplified naming "ext": "txt", - "contentType": "text", + "contentType": "text/plain", "data": extractedText, "base64Encoded": False, "metadata": { @@ -845,7 +845,7 @@ def extractExcelContent(fileName: str, fileContent: bytes, mimeType: str) -> Lis "sequenceNr": len(contents) + 1, "name": f"{len(contents) + 1}_csv_{sheetSafeName}", # Simplified naming with sheet label "ext": "csv", - "contentType": "csv", + "contentType": "text/csv", "data": csvContent, "base64Encoded": False, "metadata": { diff --git a/modules/gatewayInterface.py b/modules/gatewayInterface.py index 7c7f0aea..94359949 100644 --- a/modules/gatewayInterface.py +++ b/modules/gatewayInterface.py @@ -393,7 +393,9 @@ class GatewayInterface: def authenticateUser(self, username: str, password: str) -> Optional[Dict[str, Any]]: """Authenticates a user by username and password.""" - user = self.getUserByUsername(username) + # Instead of using UAM filtering, directly get user from database + users = self.db.getRecordset("users") + user = next((u for u in users if u.get("username") == username), None) if not user: return None @@ -412,6 +414,7 @@ class GatewayInterface: return authenticatedUser + def updateUser(self, userId: int, userData: Dict[str, Any]) -> Dict[str, Any]: """Updates a user if current user has permission.""" # Check if the user exists and current user has access diff --git a/modules/lucydomInterface.py b/modules/lucydomInterface.py index ac779782..f0f91b2d 100644 --- a/modules/lucydomInterface.py +++ b/modules/lucydomInterface.py @@ -263,6 +263,13 @@ class LucyDOMInterface: else: return await self.aiService.callApi(messages) + async def callAi4Image(self, imageData: Union[str, bytes], mimeType: str = None, prompt: str = "Describe this image") -> str: + """Enhanced AI service call with language support.""" + if not self.aiService: + logger.error("AI service not set in LucyDOMInterface") + return "Error: AI service not available" + return await self.aiService.analyzeImage(imageData, mimeType, prompt) + # Utilities def getInitialId(self, table: str) -> Optional[int]: @@ -680,7 +687,7 @@ class LucyDOMInterface: self.createFileData(dbFile["id"], fileContent) # Debug: Export file to static folder - # self._exportFileToStatic(fileContent, dbFile["id"], fileName) + self._exportFileToStatic(fileContent, dbFile["id"], fileName) logger.info(f"File upload process completed for: {fileName}") return dbFile diff --git a/modules/workflowAgentsRegistry.py b/modules/workflowAgentsRegistry.py index 8cd7d63d..25d8d2ff 100644 --- a/modules/workflowAgentsRegistry.py +++ b/modules/workflowAgentsRegistry.py @@ -28,6 +28,7 @@ class AgentBase: def __init__(self): """Initialize the base agent.""" self.name = "base-agent" + self.label = "(Template)" self.description = "Basic agent functionality" self.capabilities = [] self.mydom = None diff --git a/modules/workflowManager.py b/modules/workflowManager.py index 087cb5a1..5d89d311 100644 --- a/modules/workflowManager.py +++ b/modules/workflowManager.py @@ -135,7 +135,7 @@ class WorkflowManager: try: # State 3: User Message Processing self.checkExitCriteria(workflow) - messageUser = await self.chatMessageToWorkflow("user", "", userInput, workflow) + messageUser = await self.chatMessageToWorkflow("user", None, userInput, workflow) messageUser["status"] = "first" # For first message # State 4: Project Manager Analysis @@ -155,7 +155,7 @@ class WorkflowManager: self.checkExitCriteria(workflow) responseMessage = { "role": "assistant", - "agentName": "project_manager", + "agentName": "Project Manager", "content": objUserResponse, "status": "step" # As per state machine specification } @@ -228,10 +228,8 @@ class WorkflowManager: """ currentTime = datetime.now().isoformat() - logger.debug(f"CHECK DATA0 id'{workflowId}'") workflowExist=self.mydom.getWorkflow(workflowId) if workflowId is None or not workflowExist: - logger.debug(f"CHECK DATA1 id'{workflowId}'") # Create new workflow newWorkflowId = str(uuid.uuid4()) if workflowId is None else workflowId workflow = { @@ -277,8 +275,8 @@ class WorkflowManager: workflow["messageIds"] = [msg["id"] for msg in workflow.get("messages", [])] # Update in database - self.mydom.updateWorkflow(workflowId, {"messageIds": workflow["messageIds"]}) - + self.mydom.updateWorkflow(workflowId, {"messageIds": workflow["messageIds"]}) + # Update status and increment round counter workflow["status"] = "running" workflow["lastActivity"] = currentTime @@ -467,24 +465,25 @@ JSON_OUTPUT = {{ agentName = task.get("agent") agentPrompt = task.get("prompt", "") + # Get agent from registry + agent = self.agentRegistry.getAgent(agentName) + if not agent: + logger.error(f"Agent '{agentName}' not found") + return [] + agentLabel = agent.label + # Log the current step outputLabels = [] for doc in task.get("outputDocuments", []): outputLabels.append(doc.get("label", "unknown")) - stepInfo = f"Agent '{agentName}' to create {', '.join(outputLabels)}." + stepInfo = f"Agent {agentLabel} to create {', '.join(outputLabels)}." self.logAdd(workflow, stepInfo, level="info") # Check if prompt is empty if agentPrompt == "": logger.warning("Empty prompt, no task to do") return [] - - # Get agent from registry - agent = self.agentRegistry.getAgent(agentName) - if not agent: - logger.error(f"Agent '{agentName}' not found") - return [] # Prepare output document specifications outputSpecs = [] @@ -526,7 +525,7 @@ JSON_OUTPUT = {{ # Log the agent response self.logAdd( workflow, - f"Agent '{agentName}' completed task. Feedback: {agentResults.get('feedback', 'No feedback provided')}", + f"Agent {agentLabel} completed task. Feedback: {agentResults.get('feedback', 'No feedback provided')}", level="info" ) @@ -537,14 +536,14 @@ JSON_OUTPUT = {{ } # Create a message in the workflow with the agent's response - agentMessage = await self.chatMessageToWorkflow("assistant", agentName, agentInputs, workflow) + agentMessage = await self.chatMessageToWorkflow("assistant", agent, agentInputs, workflow) agentMessage["status"] = "step" # As per state machine specification logger.debug(f"Agent result = {self.parseJson2text(agentMessage)}.") return agentMessage.get("documents", []) except Exception as e: - errorMsg = f"Error executing agent '{agentName}': {str(e)}" + errorMsg = f"Error executing agent '{agentLabel}': {str(e)}" logger.error(errorMsg, exc_info=True) # Add exc_info=True to get full traceback self.logAdd(workflow, errorMsg, level="error") return [] @@ -599,7 +598,7 @@ filesDelivered = {self.parseJson2text(matchingDocuments)} logger.debug(f"FINAL PROMPT = {self.parseJson2text(finalPrompt)}.") finalMessage = { "role": "assistant", - "agentName": "project_manager", + "agentName": "Project Manager", "content": finalPrompt, "documents": [] # DO NOT include the results documents, already with agents } @@ -668,7 +667,7 @@ filesDelivered = {self.parseJson2text(matchingDocuments)} return f"[{role} {agentName}]: {contentSummary}{docsSummary}" - async def chatMessageToWorkflow(self, role: str, agentName: str, chatMessage: Dict[str, Any], workflow: Dict[str, Any]) -> Dict[str, Any]: + async def chatMessageToWorkflow(self, role: str, agent: Dict[str, Any], chatMessage: Dict[str, Any], workflow: Dict[str, Any]) -> Dict[str, Any]: """ Integrates user inputs into a Message object including files with complete contents (State 3: User Message Processing). @@ -681,6 +680,8 @@ filesDelivered = {self.parseJson2text(matchingDocuments)} Returns: Message object with content and documents including contents """ + agentName = "" if agent is None else agent.name + agentLabel = "" if agent is None else agent.label logger.info(f"Message from {role} {agentName} sent with {len(chatMessage.get('listFileId', []))} documents") logger.debug(f"message = {self.parseJson2text(chatMessage)}.") @@ -701,7 +702,7 @@ filesDelivered = {self.parseJson2text(matchingDocuments)} # Create message object messageObject = { "role": role, - "agentName": agentName, + "agentName": agentLabel, "content": messageContent, "documents": additionalFiles, "status": chatMessage.get("status", "") @@ -931,15 +932,8 @@ filesDelivered = {self.parseJson2text(matchingDocuments)} try: # For image content, use the specialized image analysis - if contentType.startswith("image/") or content.get("metadata", {}).get("isImage", False): - # analyzeImage handles base64 encoded data internally - return await self.mydom.analyzeImage(data, contentType, image_prompt) - - # For binary data (base64Encoded but not an image), provide a generic description - elif base64Encoded: - metadata = content.get("metadata", {}) - format_type = metadata.get("format", "unknown") - return f"Binary {format_type} data ({contentType})" + if base64Encoded: + return await self.mydom.callAi4Image(data, contentType, image_prompt) # For text data, use the regular AI processing else: diff --git a/routes/routeUsers.py b/routes/routeUsers.py index ed574274..d149125e 100644 --- a/routes/routeUsers.py +++ b/routes/routeUsers.py @@ -64,44 +64,64 @@ async def getUsers(currentUser: Dict[str, Any] = Depends(getCurrentActiveUser)): else: # sysadmin return context.interfaceData.getAllUsers() + @router.post("/register", response_model=Dict[str, Any]) async def registerUser(userData: dict = Body(...)): """Register a new user""" - # Don't use user context for registration - gateway = getGatewayInterface() + # Add debug logging to see what's coming in + import logging + logger = logging.getLogger(__name__) + logger.info(f"Registration request data: {userData}") + + # Get the initial IDs for mandate and admin user + adminGateway = getGatewayInterface() + + # Get ID of the root mandate - we'll use this for new users + rootMandateId = adminGateway.getInitialId("mandates") + adminUserId = adminGateway.getInitialId("users") + + if not rootMandateId or not adminUserId: + raise HTTPException( + status_code=500, + detail="System is not properly initialized with root mandate and admin user" + ) + + # Use a gateway with admin context for user creation + gateway = getGatewayInterface(rootMandateId, adminUserId) if "username" not in userData or "password" not in userData: raise HTTPException(status_code=400, detail="Username and password required") try: - # Prepare mandate data - mandateData = { - "name": f"Mandate of {userData['username']}", + # Create user data - explicitly set fields + userCreateData = { + "username": userData["username"], + "password": userData["password"], + "mandateId": rootMandateId, # Use the Root mandate + "disabled": False, + "privilege": "user", "language": userData.get("language", "de") } - newMandate = gateway.createMandate(**mandateData) - - # Filter user attributes from the request - userCreateData = {} - for attr in userAttributes: - if attr in userData and attr != "id": # ID is auto-assigned - userCreateData[attr] = userData[attr] - - # Required fields - userCreateData["username"] = userData["username"] - userCreateData["password"] = userData["password"] - userCreateData["mandateId"] = newMandate["id"] - - # Default values for optional fields - userCreateData.setdefault("disabled", False) - userCreateData.setdefault("privilege", "user") - userCreateData.setdefault("language", "de") - + # Explicitly add optional fields - only if they exist and are not empty + if "email" in userData and userData["email"]: + userCreateData["email"] = userData["email"] + + if "fullName" in userData and userData["fullName"]: + userCreateData["fullName"] = userData["fullName"] newUser = gateway.createUser(**userCreateData) return newUser except ValueError as e: + logger.error(f"ValueError in registration: {str(e)}") raise HTTPException(status_code=400, detail=str(e)) + except PermissionError as e: + logger.error(f"PermissionError in registration: {str(e)}") + raise HTTPException(status_code=403, detail=str(e)) + except Exception as e: + import traceback + logger.error(f"Unexpected error in registration: {str(e)}") + logger.error(traceback.format_exc()) + raise HTTPException(status_code=500, detail=f"Registration failed: {str(e)}") @router.get("/{userId}", response_model=Dict[str, Any]) async def getUser( diff --git a/static/1_LF-Details.png b/static/1_LF-Details.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2be57d619cb66e70f76081929e723e874ffcad GIT binary patch literal 253009 zcmeFZcT`hb_bwb11rbC=R8T=sEFeXS^di{kk=_yMAVqo&C;|#9sB|eoDIpLLAs}7h zC`t)P??pb8H+bH2e1G@5|9#&WcZ|CSB7~i_*P3gVXFhYTJVL8nr=ww}L7`A| z@;9!ip-?ndC={g+^=^3OMaiQQ_>aO_?Yb-~n{<2(exbCytb7@T$_?AQX0i)@-{W{g z*BOP{SB3nesCK}a!5f0DHFR8bl$FFx9qf2a%p7i;^LW@f!rds8gtUjFiK(r*%gNj3 zme%%?XJ<+(&YrY3lRT>}q|B%6C}(bEeZ$MiT-{4W!_>>xRMhOOv=kkUgohZ6U}x@P za?-=@j=i&(ha~&fz+&(-@-i>Gl!TL+g_zovYrpS+-z3?sTwEN*czNC3-Fe&vcpRK8 zc`u5Jit_UD^YZg^!yVktp7t ^CfMr+yD`#oXD{$=cDy+QI%LGN8$A2UizKc2`$x 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 <%-6Eo*l=x^BB6uQj~m6$8uaci81tOBjq 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%0Adu}Gp`oLAvH7xLQ0eB~u=#w6_W9Rt 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 literal 0 HcmV?d00001 diff --git a/static/2_LF-Details_Description.txt b/static/2_LF-Details_Description.txt new file mode 100644 index 00000000..74ea1ecd --- /dev/null +++ b/static/2_LF-Details_Description.txt @@ -0,0 +1,295 @@ +Comprehensive Workflow and Team Roles in Product Development +============================================================ + +# Introduction to Comprehensive Workflow and Team Roles in Product Development + +## Purpose and Scope + +This guide, "Comprehensive Workflow and Team Roles in Product Development," is meticulously crafted to serve as an essential resource for professionals involved in the intricate process of product development. It aims to provide a detailed exploration of the workflows and team roles that are pivotal in transforming innovative ideas into successful products. By delving into the structured processes and collaborative dynamics that drive product development, this guide offers valuable insights into optimizing efficiency and effectiveness within technical teams. + +## Context and Background + +In today's fast-paced technological landscape, the development of a product from concept to market-ready status involves a complex interplay of various teams and tools. Each team, whether it be product management, engineering, quality assurance (QA), or operations, plays a critical role in ensuring that the product not only meets market demands but also adheres to high standards of quality and functionality. The integration of sophisticated tools for ticketing, roadmaps, and management dashboards further enhances the ability of these teams to coordinate and execute their tasks with precision. + +## Document Outline + +Readers of this guide will embark on a comprehensive journey through the product development lifecycle. The document is structured to provide: + +1. **An Overview of Product Development Workflow**: A detailed examination of the stages involved in product development, from initial concept through to deployment and maintenance. + +2. **Team Roles and Responsibilities**: Insight into the specific roles and responsibilities of the product, engineering, QA, and operations teams, highlighting how each contributes to the overall success of the product. + +3. **Tool Integration**: An analysis of the tools that facilitate seamless workflow management, including ticketing systems, roadmap planning tools, and management dashboards, and how they integrate into the daily operations of development teams. + +4. **Best Practices and Case Studies**: Practical examples and case studies that illustrate successful implementations of workflows and team collaborations in real-world scenarios. + +## Tone and Audience + +This guide is tailored for a technical audience, including product managers, engineers, QA specialists, and operations professionals. The tone is formal and professional, designed to engage readers who are seeking to deepen their understanding of product development processes and enhance their team's performance. By providing a structured and insightful examination of workflows and roles, this guide aims to empower technical teams to achieve greater synergy and success in their product development endeavors. + +Introduction +------------ + +# Introduction + +In the rapidly evolving landscape of product development, understanding the intricate workflow and the pivotal roles played by various teams is essential for achieving success. This guide, "Comprehensive Workflow and Team Roles in Product Development," aims to provide a detailed exploration of the processes and team dynamics that drive product innovation from conception to deployment. By delving into the workflow stages and the integration of essential tools, this guide serves as an invaluable resource for technical professionals seeking to optimize their product development strategies. + +## Overview of the Product Development Workflow + +The product development workflow is a structured sequence of stages that transforms initial ideas into market-ready products. This workflow is designed to ensure that each phase of development is meticulously planned and executed, minimizing risks and maximizing efficiency. The workflow typically begins with the **Input** stage, where ideas are sourced from customers, sales teams, and internal brainstorming sessions. These inputs serve as the foundation for the subsequent stages, guiding the product team in aligning development efforts with market needs and business objectives. + +The workflow progresses through several critical stages, each involving specific teams and processes: + +1. **Product Team:** + - **Discover:** + - **Collect:** The product team gathers a diverse array of ideas and inputs, ensuring a comprehensive understanding of potential opportunities. + - **Qualify:** Ideas are analyzed and matched against business goals, market trends, and feasibility, allowing the team to prioritize the most promising concepts. + +2. **Engineering Team:** + - **Design and Develop:** The engineering team translates qualified ideas into technical specifications and begins the development process, focusing on creating robust and scalable solutions. + +3. **Q&A Team:** + - **Test and Validate:** Quality assurance plays a crucial role in ensuring that the product meets the highest standards of quality and functionality. Rigorous testing and validation processes are employed to identify and rectify any issues before release. + +4. **Operations:** + - **Deploy and Monitor:** The operations team is responsible for deploying the product to the market and continuously monitoring its performance. This stage involves the integration of feedback loops to facilitate ongoing improvements and adaptations. + +## Importance of Team Roles and Tool Integration + +The success of the product development process hinges on the effective collaboration and coordination of various teams, each contributing their unique expertise and perspectives. The **Product Team** is tasked with strategic planning and market alignment, while the **Engineering Team** focuses on technical execution. The **Q&A Team** ensures quality assurance, and the **Operations Team** manages deployment and performance monitoring. + +In addition to clearly defined roles, the integration of specialized tools is crucial for streamlining workflows and enhancing productivity. Tools for **ticketing** facilitate efficient task management and communication across teams, ensuring that issues are promptly addressed and resolved. **Roadmaps** provide a visual representation of the product development timeline, helping teams stay aligned with project goals and deadlines. **Management dashboards** offer real-time insights into project progress and performance metrics, enabling informed decision-making and strategic adjustments. + +By leveraging these tools, teams can enhance collaboration, improve transparency, and maintain a cohesive approach to product development. This integration not only optimizes the workflow but also empowers teams to deliver high-quality products that meet customer expectations and drive business success. + +In conclusion, understanding the comprehensive workflow and the critical roles of each team in product development is essential for navigating the complexities of modern product innovation. This guide will delve deeper into each aspect, providing technical professionals with the knowledge and tools needed to excel in their roles and contribute to successful product outcomes. + +Teams Involved +-------------- + +# Teams Involved + +In the complex landscape of product development, multiple teams collaborate to ensure the successful delivery of a product from conception to deployment. Each team plays a critical role in the workflow, contributing their expertise to different stages of the process. This section provides a detailed overview of the roles and responsibilities of the key teams involved: the Product Team, the Engineering Team, the QA Team, and the Operations Team. + +## Product Team + +The Product Team is at the forefront of the product development process, responsible for setting the vision and direction of the product. Their roles include: + +- **Discover:** + - **Collect:** The Product Team gathers ideas and inputs from various sources, including customers, sales teams, and internal stakeholders. This stage is crucial for understanding market needs and identifying potential opportunities. + - **Qualify:** Once ideas are collected, the team analyzes them to ensure alignment with business objectives and feasibility. This involves evaluating the potential impact and prioritizing ideas based on strategic goals. + +- **Define:** + - **Roadmap Creation:** The Product Team develops a product roadmap that outlines the strategic direction and key milestones. This roadmap serves as a guiding document for all teams involved in the development process. + - **Requirements Specification:** Detailed product requirements are documented, providing clear guidance for the Engineering Team. This includes user stories, acceptance criteria, and any necessary technical specifications. + +## Engineering Team + +The Engineering Team is responsible for transforming the product vision into a tangible, functional product. Their roles encompass: + +- **Design and Development:** + - **Architecture Design:** Engineers design the system architecture, ensuring scalability, reliability, and performance. This involves selecting appropriate technologies and frameworks. + - **Implementation:** The team writes code and develops features according to the specifications provided by the Product Team. They ensure that the product is built to meet the defined requirements. + +- **Integration:** + - **Tool Integration:** Engineers integrate various tools for ticketing, roadmaps, and management dashboards to streamline the development process and enhance collaboration across teams. + - **Continuous Integration/Continuous Deployment (CI/CD):** The team implements CI/CD pipelines to automate testing and deployment, ensuring rapid and reliable delivery of new features and updates. + +## QA Team + +The QA (Quality Assurance) Team plays a pivotal role in maintaining the quality and reliability of the product. Their responsibilities include: + +- **Testing:** + - **Test Planning:** The QA Team develops comprehensive test plans that cover all aspects of the product, including functionality, performance, and security. + - **Execution:** They conduct various types of testing, such as unit testing, integration testing, and user acceptance testing, to identify and resolve defects before the product reaches the end-users. + +- **Quality Control:** + - **Defect Management:** The team tracks and manages defects using ticketing systems, ensuring that issues are addressed promptly and effectively. + - **Continuous Improvement:** QA professionals analyze testing outcomes to identify areas for improvement, contributing to the enhancement of product quality over time. + +## Operations Team + +The Operations Team ensures that the product is deployed smoothly and operates efficiently in the production environment. Their roles include: + +- **Deployment:** + - **Release Management:** The Operations Team manages the release process, coordinating with other teams to ensure that deployments are executed without disruptions. + - **Environment Configuration:** They configure and maintain the production environment, ensuring that it meets the necessary requirements for optimal performance. + +- **Monitoring and Support:** + - **System Monitoring:** The team implements monitoring tools to track system performance and detect issues in real-time. This proactive approach helps in maintaining high availability and reliability. + - **Incident Response:** In the event of system failures or performance issues, the Operations Team is responsible for incident management and resolution, minimizing downtime and impact on users. + +Each team plays a vital role in the product development lifecycle, and their collaboration is essential for delivering high-quality products that meet customer needs and business objectives. By integrating tools and processes effectively, these teams ensure a seamless workflow from ideation to deployment. + +Workflow Stages +--------------- + +# Workflow Stages + +In the product development lifecycle, understanding the workflow stages is crucial for ensuring seamless collaboration among various teams and achieving successful product outcomes. This section provides a detailed overview of the workflow stages, focusing on the roles of the product, engineering, QA, and operations teams, and the integration of tools for ticketing, roadmaps, and management dashboards. + +## Input + +The initial stage of the workflow involves gathering inputs from various sources to fuel the product development process. These inputs are critical for identifying potential opportunities and challenges. + +- **Sources:** + - **Customers:** Feedback and suggestions from end-users provide valuable insights into product improvements and new features. + - **Sales:** Information from the sales team highlights market demands and competitive landscape, guiding product prioritization. + - **Internal Ideas:** Contributions from team members across the organization can lead to innovative solutions and enhancements. + +## Product Team Processes + +The product team plays a pivotal role in transforming raw inputs into actionable plans. This stage is divided into several key processes: + +- **Discover:** + - **Collect:** The product team gathers ideas and inputs from various sources, ensuring a comprehensive understanding of user needs and market trends. + - **Qualify:** Ideas are analyzed and matched against business objectives and feasibility to determine their potential impact and alignment with the company's vision. + +- **Define:** + - **Prioritize:** The team prioritizes ideas based on strategic importance, resource availability, and potential ROI. + - **Plan:** Detailed plans are developed, outlining the scope, objectives, and timelines for each initiative. + +- **Shape:** + - **Design:** The product team collaborates with designers to create wireframes and prototypes, ensuring the proposed solutions are user-friendly and effective. + - **Specification:** Detailed specifications are documented, providing clear guidance for the engineering team. + +## Engineering Team Processes + +Once the product team has defined and shaped the product, the engineering team takes over to assess and develop the technical aspects. + +- **Assessment:** + - **Feasibility Study:** Engineers evaluate the technical feasibility of the proposed solutions, identifying potential challenges and resource requirements. + - **Technical Planning:** A detailed technical plan is created, outlining the architecture, technologies, and tools to be used. + +- **Development:** + - **Implementation:** The engineering team begins coding and building the product, adhering to the specifications and timelines. + - **Integration:** New features and updates are integrated into the existing system, ensuring compatibility and performance. + +## QA Team Processes + +Quality assurance is a critical stage in the workflow, ensuring that the product meets the highest standards before deployment. + +- **Testing:** + - **Unit Testing:** Individual components are tested to ensure they function correctly in isolation. + - **Integration Testing:** The product is tested as a whole to verify that all components work together seamlessly. + +- **Validation:** + - **User Acceptance Testing (UAT):** The product is tested in real-world scenarios to validate its functionality and usability. + - **Bug Fixing:** Any issues identified during testing are addressed and resolved promptly. + +## Operations Team Processes + +The final stage involves deploying the product and monitoring its performance in the live environment. + +- **Deployment:** + - **Release Management:** The operations team manages the release process, ensuring a smooth transition from development to production. + - **Configuration:** The product is configured for optimal performance and security in the live environment. + +- **Monitoring:** + - **Performance Monitoring:** Continuous monitoring of the product's performance helps identify and address any issues proactively. + - **Feedback Loop:** Feedback from users and performance data are collected to inform future improvements and updates. + +In conclusion, each stage of the workflow is integral to the success of product development. By clearly defining roles and processes, and leveraging tools for ticketing, roadmaps, and management dashboards, teams can collaborate effectively to deliver high-quality products that meet user needs and business objectives. + +Tool Integration +---------------- + +Title: Tool Integration + +In the realm of product development, the integration of various tools is crucial to streamline processes, enhance collaboration, and ensure efficient workflow management. This section delves into the essential tools used in product development, focusing on ticketing systems, roadmap tools, and management dashboards. Each tool plays a pivotal role in facilitating communication and coordination among the product, engineering, QA, and operations teams. + +## Ticketing Systems + +Ticketing systems are the backbone of issue tracking and task management within product development. These systems enable teams to log, prioritize, and track the progress of tasks and issues throughout the development lifecycle. + +### Key Features: +- **Issue Tracking:** Allows teams to report bugs, feature requests, and other tasks, ensuring nothing falls through the cracks. +- **Prioritization:** Facilitates the organization of tasks based on urgency and importance, helping teams focus on high-impact work. +- **Collaboration:** Provides a platform for team members to discuss issues, share updates, and collaborate on solutions. +- **Integration:** Often integrates with other tools such as version control systems and CI/CD pipelines to provide a seamless workflow. + +### Examples: +- **Jira:** Widely used for its robust features and flexibility, Jira supports agile methodologies and offers extensive customization options. +- **Zendesk:** Known for its customer support capabilities, Zendesk also provides ticketing solutions that integrate customer feedback directly into the development process. + +## Roadmap Tools + +Roadmap tools are essential for strategic planning and communication of product vision and progress. They help align the product team’s efforts with business goals and provide a clear timeline for stakeholders. + +### Key Features: +- **Visualization:** Offers visual representations of product timelines, milestones, and dependencies, making it easier to communicate plans. +- **Collaboration:** Enables cross-functional teams to contribute to and update the roadmap, ensuring alignment across departments. +- **Flexibility:** Allows for adjustments as priorities shift, ensuring the roadmap remains relevant and actionable. + +### Examples: +- **Aha!:** A comprehensive tool that supports product strategy, planning, and roadmapping, with features for capturing ideas and aligning them with business objectives. +- **ProductPlan:** Known for its intuitive interface, ProductPlan allows teams to create and share roadmaps easily, facilitating stakeholder engagement. + +## Management Dashboards + +Management dashboards provide a high-level overview of project status, performance metrics, and key performance indicators (KPIs). They are crucial for decision-making and ensuring that projects stay on track. + +### Key Features: +- **Real-Time Data:** Offers up-to-date insights into project progress, resource allocation, and team performance. +- **Customization:** Allows managers to tailor dashboards to display the most relevant data for their specific needs. +- **Integration:** Connects with various data sources to provide a comprehensive view of the project landscape. + +### Examples: +- **Tableau:** A powerful analytics platform that enables the creation of interactive dashboards, providing deep insights into project data. +- **Power BI:** Microsoft's business analytics service that delivers robust data visualization and reporting capabilities, integrating seamlessly with other Microsoft tools. + +In conclusion, the integration of ticketing systems, roadmap tools, and management dashboards is vital for the efficient operation of product development teams. These tools not only enhance communication and collaboration but also provide the necessary infrastructure to manage complex workflows and align team efforts with strategic objectives. By leveraging these tools, teams can ensure a more organized, transparent, and effective product development process. + +Conclusion +---------- + +# Conclusion + +In this guide, we have explored the intricate workflow and team roles that are essential in the product development process. By understanding these components, teams can enhance their efficiency and effectiveness in bringing products to market. This conclusion will summarize the key aspects of the workflow and team roles, as well as highlight the benefits of integrating tools that facilitate seamless collaboration and management. + +## Summary of Workflow and Team Roles + +The product development process is a collaborative effort that involves multiple teams, each with distinct roles and responsibilities. The workflow begins with the **Product Team**, which is responsible for the discovery phase. This phase involves collecting inputs from various sources such as customers, sales, and internal ideas, and qualifying these inputs against business objectives and market needs. + +Once the product requirements are defined, the **Engineering Team** takes over to design and develop the product. This stage is critical as it transforms ideas into tangible solutions. The engineering team works closely with the product team to ensure that the technical specifications align with the product vision. + +The **Quality Assurance (QA) Team** plays a pivotal role in maintaining the integrity of the product. Through rigorous testing and validation, the QA team ensures that the product meets the required standards and functions as intended. Their feedback is crucial for identifying and rectifying defects before the product reaches the market. + +Finally, the **Operations Team** is responsible for deploying and maintaining the product. They ensure that the product is delivered efficiently and that any operational issues are promptly addressed. This team also monitors the product's performance and gathers data to inform future development cycles. + +## Benefits of Integrated Tools + +The integration of tools for ticketing, roadmaps, and management dashboards significantly enhances the product development process. These tools provide a centralized platform for tracking progress, managing tasks, and facilitating communication across teams. + +- **Ticketing Systems**: These systems streamline issue tracking and resolution, allowing teams to prioritize tasks and allocate resources effectively. By maintaining a clear record of issues and resolutions, teams can improve their response times and reduce downtime. + +- **Roadmaps**: Product roadmaps offer a strategic overview of the product's development trajectory. They help teams align their efforts with long-term goals and ensure that all stakeholders are informed of the product's progress and future direction. + +- **Management Dashboards**: Dashboards provide real-time insights into the development process, enabling managers to make informed decisions. They offer visibility into key performance indicators (KPIs) and facilitate the identification of bottlenecks or areas for improvement. + +In conclusion, a well-defined workflow and clear team roles are fundamental to successful product development. By leveraging integrated tools, teams can enhance their collaboration, streamline processes, and ultimately deliver high-quality products that meet market demands. As organizations continue to evolve, embracing these practices will be crucial for maintaining a competitive edge in the ever-changing landscape of product development. + +CONCLUSION +---------- + +Conclusion + +In this guide, "Comprehensive Workflow and Team Roles in Product Development," we have explored the intricate processes and collaborative efforts that drive successful product development. By dissecting the workflow, we have highlighted the critical roles played by various teams, including product management, engineering, quality assurance (QA), and operations. Each team's responsibilities are pivotal in ensuring that the product development lifecycle is efficient, effective, and aligned with organizational goals. + +Key Points Summary: +- **Product Development Workflow**: We detailed the sequential and iterative processes involved in product development, emphasizing the importance of clear communication and structured phases from ideation to deployment. +- **Team Roles**: The guide outlined the specific roles and responsibilities of the product, engineering, QA, and operations teams. Each team contributes uniquely to the development process, ensuring that products are not only built to specifications but also meet quality standards and operational requirements. +- **Tool Integration**: We discussed the integration of various tools that facilitate seamless workflow management. Tools for ticketing, roadmaps, and management dashboards play a crucial role in tracking progress, managing tasks, and ensuring transparency across teams. + +Closure and Recommendations: +Understanding the workflow and team roles in product development is essential for any organization aiming to enhance its product delivery capabilities. By implementing structured processes and fostering collaboration across teams, organizations can improve efficiency, reduce time-to-market, and increase product quality. It is recommended that teams continuously evaluate and refine their workflows and tool integrations to adapt to evolving project needs and technological advancements. + +Next Steps: +- Encourage cross-functional training to enhance team collaboration and understanding of each other's roles. +- Regularly review and update tool integrations to ensure they align with current project requirements and industry standards. +- Foster a culture of continuous improvement by soliciting feedback from all team members and stakeholders. + +Significance: +This guide serves as a foundational resource for technical teams and project managers involved in product development. By providing a comprehensive overview of workflows and team roles, it equips readers with the knowledge to optimize their development processes and achieve successful product outcomes. As the landscape of product development continues to evolve, staying informed and adaptable will be key to maintaining a competitive edge. + +Thank you for engaging with this guide. We hope it serves as a valuable asset in your product development endeavors. diff --git a/static/3_generated_code.py b/static/3_generated_code.py new file mode 100644 index 00000000..3b2db9ae --- /dev/null +++ b/static/3_generated_code.py @@ -0,0 +1,38 @@ +inputFiles = [] # DO NOT CHANGE THIS LINE + +def is_prime(n): + if n <= 1: + return False + if n <= 3: + return True + if n % 2 == 0 or n % 3 == 0: + return False + i = 5 + while i * i <= n: + if n % i == 0 or n % (i + 2) == 0: + return False + i += 6 + return True + +def generate_primes(limit): + primes = [] + num = 2 + while len(primes) < limit: + if is_prime(num): + primes.append(num) + num += 1 + return primes + +primes = generate_primes(1000) +prime_numbers_content = "\n".join(map(str, primes)) + +result = { + "prime_numbers.txt": { + "content": prime_numbers_content, + "base64Encoded": False, + "contentType": "text/plain" + } +} + +import json +print(json.dumps(result)) \ No newline at end of file diff --git a/static/4_execution_history.json b/static/4_execution_history.json new file mode 100644 index 00000000..7ee8aa63 --- /dev/null +++ b/static/4_execution_history.json @@ -0,0 +1,19 @@ +[ + { + "attempt": 1, + "code": "inputFiles = [] # DO NOT CHANGE THIS LINE\n\ndef is_prime(n):\n if n <= 1:\n return False\n if n <= 3:\n return True\n if n % 2 == 0 or n % 3 == 0:\n return False\n i = 5\n while i * i <= n:\n if n % i == 0 or n % (i + 2) == 0:\n return False\n i += 6\n return True\n\ndef generate_primes(limit):\n primes = []\n num = 2\n while len(primes) < limit:\n if is_prime(num):\n primes.append(num)\n num += 1\n return primes\n\nprimes = generate_primes(1000)\nprime_numbers_content = \"\\n\".join(map(str, primes))\n\nresult = {\n \"prime_numbers.txt\": {\n \"content\": prime_numbers_content,\n \"base64Encoded\": False,\n \"contentType\": \"text/plain\"\n }\n}\n\nimport json\nprint(json.dumps(result))", + "result": { + "success": true, + "output": "{\"prime_numbers.txt\": {\"content\": \"2\\n3\\n5\\n7\\n11\\n13\\n17\\n19\\n23\\n29\\n31\\n37\\n41\\n43\\n47\\n53\\n59\\n61\\n67\\n71\\n73\\n79\\n83\\n89\\n97\\n101\\n103\\n107\\n109\\n113\\n127\\n131\\n137\\n139\\n149\\n151\\n157\\n163\\n167\\n173\\n179\\n181\\n191\\n193\\n197\\n199\\n211\\n223\\n227\\n229\\n233\\n239\\n241\\n251\\n257\\n263\\n269\\n271\\n277\\n281\\n283\\n293\\n307\\n311\\n313\\n317\\n331\\n337\\n347\\n349\\n353\\n359\\n367\\n373\\n379\\n383\\n389\\n397\\n401\\n409\\n419\\n421\\n431\\n433\\n439\\n443\\n449\\n457\\n461\\n463\\n467\\n479\\n487\\n491\\n499\\n503\\n509\\n521\\n523\\n541\\n547\\n557\\n563\\n569\\n571\\n577\\n587\\n593\\n599\\n601\\n607\\n613\\n617\\n619\\n631\\n641\\n643\\n647\\n653\\n659\\n661\\n673\\n677\\n683\\n691\\n701\\n709\\n719\\n727\\n733\\n739\\n743\\n751\\n757\\n761\\n769\\n773\\n787\\n797\\n809\\n811\\n821\\n823\\n827\\n829\\n839\\n853\\n857\\n859\\n863\\n877\\n881\\n883\\n887\\n907\\n911\\n919\\n929\\n937\\n941\\n947\\n953\\n967\\n971\\n977\\n983\\n991\\n997\\n1009\\n1013\\n1019\\n1021\\n1031\\n1033\\n1039\\n1049\\n1051\\n1061\\n1063\\n1069\\n1087\\n1091\\n1093\\n1097\\n1103\\n1109\\n1117\\n1123\\n1129\\n1151\\n1153\\n1163\\n1171\\n1181\\n1187\\n1193\\n1201\\n1213\\n1217\\n1223\\n1229\\n1231\\n1237\\n1249\\n1259\\n1277\\n1279\\n1283\\n1289\\n1291\\n1297\\n1301\\n1303\\n1307\\n1319\\n1321\\n1327\\n1361\\n1367\\n1373\\n1381\\n1399\\n1409\\n1423\\n1427\\n1429\\n1433\\n1439\\n1447\\n1451\\n1453\\n1459\\n1471\\n1481\\n1483\\n1487\\n1489\\n1493\\n1499\\n1511\\n1523\\n1531\\n1543\\n1549\\n1553\\n1559\\n1567\\n1571\\n1579\\n1583\\n1597\\n1601\\n1607\\n1609\\n1613\\n1619\\n1621\\n1627\\n1637\\n1657\\n1663\\n1667\\n1669\\n1693\\n1697\\n1699\\n1709\\n1721\\n1723\\n1733\\n1741\\n1747\\n1753\\n1759\\n1777\\n1783\\n1787\\n1789\\n1801\\n1811\\n1823\\n1831\\n1847\\n1861\\n1867\\n1871\\n1873\\n1877\\n1879\\n1889\\n1901\\n1907\\n1913\\n1931\\n1933\\n1949\\n1951\\n1973\\n1979\\n1987\\n1993\\n1997\\n1999\\n2003\\n2011\\n2017\\n2027\\n2029\\n2039\\n2053\\n2063\\n2069\\n2081\\n2083\\n2087\\n2089\\n2099\\n2111\\n2113\\n2129\\n2131\\n2137\\n2141\\n2143\\n2153\\n2161\\n2179\\n2203\\n2207\\n2213\\n2221\\n2237\\n2239\\n2243\\n2251\\n2267\\n2269\\n2273\\n2281\\n2287\\n2293\\n2297\\n2309\\n2311\\n2333\\n2339\\n2341\\n2347\\n2351\\n2357\\n2371\\n2377\\n2381\\n2383\\n2389\\n2393\\n2399\\n2411\\n2417\\n2423\\n2437\\n2441\\n2447\\n2459\\n2467\\n2473\\n2477\\n2503\\n2521\\n2531\\n2539\\n2543\\n2549\\n2551\\n2557\\n2579\\n2591\\n2593\\n2609\\n2617\\n2621\\n2633\\n2647\\n2657\\n2659\\n2663\\n2671\\n2677\\n2683\\n2687\\n2689\\n2693\\n2699\\n2707\\n2711\\n2713\\n2719\\n2729\\n2731\\n2741\\n2749\\n2753\\n2767\\n2777\\n2789\\n2791\\n2797\\n2801\\n2803\\n2819\\n2833\\n2837\\n2843\\n2851\\n2857\\n2861\\n2879\\n2887\\n2897\\n2903\\n2909\\n2917\\n2927\\n2939\\n2953\\n2957\\n2963\\n2969\\n2971\\n2999\\n3001\\n3011\\n3019\\n3023\\n3037\\n3041\\n3049\\n3061\\n3067\\n3079\\n3083\\n3089\\n3109\\n3119\\n3121\\n3137\\n3163\\n3167\\n3169\\n3181\\n3187\\n3191\\n3203\\n3209\\n3217\\n3221\\n3229\\n3251\\n3253\\n3257\\n3259\\n3271\\n3299\\n3301\\n3307\\n3313\\n3319\\n3323\\n3329\\n3331\\n3343\\n3347\\n3359\\n3361\\n3371\\n3373\\n3389\\n3391\\n3407\\n3413\\n3433\\n3449\\n3457\\n3461\\n3463\\n3467\\n3469\\n3491\\n3499\\n3511\\n3517\\n3527\\n3529\\n3533\\n3539\\n3541\\n3547\\n3557\\n3559\\n3571\\n3581\\n3583\\n3593\\n3607\\n3613\\n3617\\n3623\\n3631\\n3637\\n3643\\n3659\\n3671\\n3673\\n3677\\n3691\\n3697\\n3701\\n3709\\n3719\\n3727\\n3733\\n3739\\n3761\\n3767\\n3769\\n3779\\n3793\\n3797\\n3803\\n3821\\n3823\\n3833\\n3847\\n3851\\n3853\\n3863\\n3877\\n3881\\n3889\\n3907\\n3911\\n3917\\n3919\\n3923\\n3929\\n3931\\n3943\\n3947\\n3967\\n3989\\n4001\\n4003\\n4007\\n4013\\n4019\\n4021\\n4027\\n4049\\n4051\\n4057\\n4073\\n4079\\n4091\\n4093\\n4099\\n4111\\n4127\\n4129\\n4133\\n4139\\n4153\\n4157\\n4159\\n4177\\n4201\\n4211\\n4217\\n4219\\n4229\\n4231\\n4241\\n4243\\n4253\\n4259\\n4261\\n4271\\n4273\\n4283\\n4289\\n4297\\n4327\\n4337\\n4339\\n4349\\n4357\\n4363\\n4373\\n4391\\n4397\\n4409\\n4421\\n4423\\n4441\\n4447\\n4451\\n4457\\n4463\\n4481\\n4483\\n4493\\n4507\\n4513\\n4517\\n4519\\n4523\\n4547\\n4549\\n4561\\n4567\\n4583\\n4591\\n4597\\n4603\\n4621\\n4637\\n4639\\n4643\\n4649\\n4651\\n4657\\n4663\\n4673\\n4679\\n4691\\n4703\\n4721\\n4723\\n4729\\n4733\\n4751\\n4759\\n4783\\n4787\\n4789\\n4793\\n4799\\n4801\\n4813\\n4817\\n4831\\n4861\\n4871\\n4877\\n4889\\n4903\\n4909\\n4919\\n4931\\n4933\\n4937\\n4943\\n4951\\n4957\\n4967\\n4969\\n4973\\n4987\\n4993\\n4999\\n5003\\n5009\\n5011\\n5021\\n5023\\n5039\\n5051\\n5059\\n5077\\n5081\\n5087\\n5099\\n5101\\n5107\\n5113\\n5119\\n5147\\n5153\\n5167\\n5171\\n5179\\n5189\\n5197\\n5209\\n5227\\n5231\\n5233\\n5237\\n5261\\n5273\\n5279\\n5281\\n5297\\n5303\\n5309\\n5323\\n5333\\n5347\\n5351\\n5381\\n5387\\n5393\\n5399\\n5407\\n5413\\n5417\\n5419\\n5431\\n5437\\n5441\\n5443\\n5449\\n5471\\n5477\\n5479\\n5483\\n5501\\n5503\\n5507\\n5519\\n5521\\n5527\\n5531\\n5557\\n5563\\n5569\\n5573\\n5581\\n5591\\n5623\\n5639\\n5641\\n5647\\n5651\\n5653\\n5657\\n5659\\n5669\\n5683\\n5689\\n5693\\n5701\\n5711\\n5717\\n5737\\n5741\\n5743\\n5749\\n5779\\n5783\\n5791\\n5801\\n5807\\n5813\\n5821\\n5827\\n5839\\n5843\\n5849\\n5851\\n5857\\n5861\\n5867\\n5869\\n5879\\n5881\\n5897\\n5903\\n5923\\n5927\\n5939\\n5953\\n5981\\n5987\\n6007\\n6011\\n6029\\n6037\\n6043\\n6047\\n6053\\n6067\\n6073\\n6079\\n6089\\n6091\\n6101\\n6113\\n6121\\n6131\\n6133\\n6143\\n6151\\n6163\\n6173\\n6197\\n6199\\n6203\\n6211\\n6217\\n6221\\n6229\\n6247\\n6257\\n6263\\n6269\\n6271\\n6277\\n6287\\n6299\\n6301\\n6311\\n6317\\n6323\\n6329\\n6337\\n6343\\n6353\\n6359\\n6361\\n6367\\n6373\\n6379\\n6389\\n6397\\n6421\\n6427\\n6449\\n6451\\n6469\\n6473\\n6481\\n6491\\n6521\\n6529\\n6547\\n6551\\n6553\\n6563\\n6569\\n6571\\n6577\\n6581\\n6599\\n6607\\n6619\\n6637\\n6653\\n6659\\n6661\\n6673\\n6679\\n6689\\n6691\\n6701\\n6703\\n6709\\n6719\\n6733\\n6737\\n6761\\n6763\\n6779\\n6781\\n6791\\n6793\\n6803\\n6823\\n6827\\n6829\\n6833\\n6841\\n6857\\n6863\\n6869\\n6871\\n6883\\n6899\\n6907\\n6911\\n6917\\n6947\\n6949\\n6959\\n6961\\n6967\\n6971\\n6977\\n6983\\n6991\\n6997\\n7001\\n7013\\n7019\\n7027\\n7039\\n7043\\n7057\\n7069\\n7079\\n7103\\n7109\\n7121\\n7127\\n7129\\n7151\\n7159\\n7177\\n7187\\n7193\\n7207\\n7211\\n7213\\n7219\\n7229\\n7237\\n7243\\n7247\\n7253\\n7283\\n7297\\n7307\\n7309\\n7321\\n7331\\n7333\\n7349\\n7351\\n7369\\n7393\\n7411\\n7417\\n7433\\n7451\\n7457\\n7459\\n7477\\n7481\\n7487\\n7489\\n7499\\n7507\\n7517\\n7523\\n7529\\n7537\\n7541\\n7547\\n7549\\n7559\\n7561\\n7573\\n7577\\n7583\\n7589\\n7591\\n7603\\n7607\\n7621\\n7639\\n7643\\n7649\\n7669\\n7673\\n7681\\n7687\\n7691\\n7699\\n7703\\n7717\\n7723\\n7727\\n7741\\n7753\\n7757\\n7759\\n7789\\n7793\\n7817\\n7823\\n7829\\n7841\\n7853\\n7867\\n7873\\n7877\\n7879\\n7883\\n7901\\n7907\\n7919\", \"base64Encoded\": false, \"contentType\": \"text/plain\"}}\n", + "error": "", + "result": { + "prime_numbers.txt": { + "content": "2\n3\n5\n7\n11\n13\n17\n19\n23\n29\n31\n37\n41\n43\n47\n53\n59\n61\n67\n71\n73\n79\n83\n89\n97\n101\n103\n107\n109\n113\n127\n131\n137\n139\n149\n151\n157\n163\n167\n173\n179\n181\n191\n193\n197\n199\n211\n223\n227\n229\n233\n239\n241\n251\n257\n263\n269\n271\n277\n281\n283\n293\n307\n311\n313\n317\n331\n337\n347\n349\n353\n359\n367\n373\n379\n383\n389\n397\n401\n409\n419\n421\n431\n433\n439\n443\n449\n457\n461\n463\n467\n479\n487\n491\n499\n503\n509\n521\n523\n541\n547\n557\n563\n569\n571\n577\n587\n593\n599\n601\n607\n613\n617\n619\n631\n641\n643\n647\n653\n659\n661\n673\n677\n683\n691\n701\n709\n719\n727\n733\n739\n743\n751\n757\n761\n769\n773\n787\n797\n809\n811\n821\n823\n827\n829\n839\n853\n857\n859\n863\n877\n881\n883\n887\n907\n911\n919\n929\n937\n941\n947\n953\n967\n971\n977\n983\n991\n997\n1009\n1013\n1019\n1021\n1031\n1033\n1039\n1049\n1051\n1061\n1063\n1069\n1087\n1091\n1093\n1097\n1103\n1109\n1117\n1123\n1129\n1151\n1153\n1163\n1171\n1181\n1187\n1193\n1201\n1213\n1217\n1223\n1229\n1231\n1237\n1249\n1259\n1277\n1279\n1283\n1289\n1291\n1297\n1301\n1303\n1307\n1319\n1321\n1327\n1361\n1367\n1373\n1381\n1399\n1409\n1423\n1427\n1429\n1433\n1439\n1447\n1451\n1453\n1459\n1471\n1481\n1483\n1487\n1489\n1493\n1499\n1511\n1523\n1531\n1543\n1549\n1553\n1559\n1567\n1571\n1579\n1583\n1597\n1601\n1607\n1609\n1613\n1619\n1621\n1627\n1637\n1657\n1663\n1667\n1669\n1693\n1697\n1699\n1709\n1721\n1723\n1733\n1741\n1747\n1753\n1759\n1777\n1783\n1787\n1789\n1801\n1811\n1823\n1831\n1847\n1861\n1867\n1871\n1873\n1877\n1879\n1889\n1901\n1907\n1913\n1931\n1933\n1949\n1951\n1973\n1979\n1987\n1993\n1997\n1999\n2003\n2011\n2017\n2027\n2029\n2039\n2053\n2063\n2069\n2081\n2083\n2087\n2089\n2099\n2111\n2113\n2129\n2131\n2137\n2141\n2143\n2153\n2161\n2179\n2203\n2207\n2213\n2221\n2237\n2239\n2243\n2251\n2267\n2269\n2273\n2281\n2287\n2293\n2297\n2309\n2311\n2333\n2339\n2341\n2347\n2351\n2357\n2371\n2377\n2381\n2383\n2389\n2393\n2399\n2411\n2417\n2423\n2437\n2441\n2447\n2459\n2467\n2473\n2477\n2503\n2521\n2531\n2539\n2543\n2549\n2551\n2557\n2579\n2591\n2593\n2609\n2617\n2621\n2633\n2647\n2657\n2659\n2663\n2671\n2677\n2683\n2687\n2689\n2693\n2699\n2707\n2711\n2713\n2719\n2729\n2731\n2741\n2749\n2753\n2767\n2777\n2789\n2791\n2797\n2801\n2803\n2819\n2833\n2837\n2843\n2851\n2857\n2861\n2879\n2887\n2897\n2903\n2909\n2917\n2927\n2939\n2953\n2957\n2963\n2969\n2971\n2999\n3001\n3011\n3019\n3023\n3037\n3041\n3049\n3061\n3067\n3079\n3083\n3089\n3109\n3119\n3121\n3137\n3163\n3167\n3169\n3181\n3187\n3191\n3203\n3209\n3217\n3221\n3229\n3251\n3253\n3257\n3259\n3271\n3299\n3301\n3307\n3313\n3319\n3323\n3329\n3331\n3343\n3347\n3359\n3361\n3371\n3373\n3389\n3391\n3407\n3413\n3433\n3449\n3457\n3461\n3463\n3467\n3469\n3491\n3499\n3511\n3517\n3527\n3529\n3533\n3539\n3541\n3547\n3557\n3559\n3571\n3581\n3583\n3593\n3607\n3613\n3617\n3623\n3631\n3637\n3643\n3659\n3671\n3673\n3677\n3691\n3697\n3701\n3709\n3719\n3727\n3733\n3739\n3761\n3767\n3769\n3779\n3793\n3797\n3803\n3821\n3823\n3833\n3847\n3851\n3853\n3863\n3877\n3881\n3889\n3907\n3911\n3917\n3919\n3923\n3929\n3931\n3943\n3947\n3967\n3989\n4001\n4003\n4007\n4013\n4019\n4021\n4027\n4049\n4051\n4057\n4073\n4079\n4091\n4093\n4099\n4111\n4127\n4129\n4133\n4139\n4153\n4157\n4159\n4177\n4201\n4211\n4217\n4219\n4229\n4231\n4241\n4243\n4253\n4259\n4261\n4271\n4273\n4283\n4289\n4297\n4327\n4337\n4339\n4349\n4357\n4363\n4373\n4391\n4397\n4409\n4421\n4423\n4441\n4447\n4451\n4457\n4463\n4481\n4483\n4493\n4507\n4513\n4517\n4519\n4523\n4547\n4549\n4561\n4567\n4583\n4591\n4597\n4603\n4621\n4637\n4639\n4643\n4649\n4651\n4657\n4663\n4673\n4679\n4691\n4703\n4721\n4723\n4729\n4733\n4751\n4759\n4783\n4787\n4789\n4793\n4799\n4801\n4813\n4817\n4831\n4861\n4871\n4877\n4889\n4903\n4909\n4919\n4931\n4933\n4937\n4943\n4951\n4957\n4967\n4969\n4973\n4987\n4993\n4999\n5003\n5009\n5011\n5021\n5023\n5039\n5051\n5059\n5077\n5081\n5087\n5099\n5101\n5107\n5113\n5119\n5147\n5153\n5167\n5171\n5179\n5189\n5197\n5209\n5227\n5231\n5233\n5237\n5261\n5273\n5279\n5281\n5297\n5303\n5309\n5323\n5333\n5347\n5351\n5381\n5387\n5393\n5399\n5407\n5413\n5417\n5419\n5431\n5437\n5441\n5443\n5449\n5471\n5477\n5479\n5483\n5501\n5503\n5507\n5519\n5521\n5527\n5531\n5557\n5563\n5569\n5573\n5581\n5591\n5623\n5639\n5641\n5647\n5651\n5653\n5657\n5659\n5669\n5683\n5689\n5693\n5701\n5711\n5717\n5737\n5741\n5743\n5749\n5779\n5783\n5791\n5801\n5807\n5813\n5821\n5827\n5839\n5843\n5849\n5851\n5857\n5861\n5867\n5869\n5879\n5881\n5897\n5903\n5923\n5927\n5939\n5953\n5981\n5987\n6007\n6011\n6029\n6037\n6043\n6047\n6053\n6067\n6073\n6079\n6089\n6091\n6101\n6113\n6121\n6131\n6133\n6143\n6151\n6163\n6173\n6197\n6199\n6203\n6211\n6217\n6221\n6229\n6247\n6257\n6263\n6269\n6271\n6277\n6287\n6299\n6301\n6311\n6317\n6323\n6329\n6337\n6343\n6353\n6359\n6361\n6367\n6373\n6379\n6389\n6397\n6421\n6427\n6449\n6451\n6469\n6473\n6481\n6491\n6521\n6529\n6547\n6551\n6553\n6563\n6569\n6571\n6577\n6581\n6599\n6607\n6619\n6637\n6653\n6659\n6661\n6673\n6679\n6689\n6691\n6701\n6703\n6709\n6719\n6733\n6737\n6761\n6763\n6779\n6781\n6791\n6793\n6803\n6823\n6827\n6829\n6833\n6841\n6857\n6863\n6869\n6871\n6883\n6899\n6907\n6911\n6917\n6947\n6949\n6959\n6961\n6967\n6971\n6977\n6983\n6991\n6997\n7001\n7013\n7019\n7027\n7039\n7043\n7057\n7069\n7079\n7103\n7109\n7121\n7127\n7129\n7151\n7159\n7177\n7187\n7193\n7207\n7211\n7213\n7219\n7229\n7237\n7243\n7247\n7253\n7283\n7297\n7307\n7309\n7321\n7331\n7333\n7349\n7351\n7369\n7393\n7411\n7417\n7433\n7451\n7457\n7459\n7477\n7481\n7487\n7489\n7499\n7507\n7517\n7523\n7529\n7537\n7541\n7547\n7549\n7559\n7561\n7573\n7577\n7583\n7589\n7591\n7603\n7607\n7621\n7639\n7643\n7649\n7669\n7673\n7681\n7687\n7691\n7699\n7703\n7717\n7723\n7727\n7741\n7753\n7757\n7759\n7789\n7793\n7817\n7823\n7829\n7841\n7853\n7867\n7873\n7877\n7879\n7883\n7901\n7907\n7919", + "base64Encoded": false, + "contentType": "text/plain" + } + }, + "exitCode": 0 + } + } +] \ No newline at end of file diff --git a/static/5_prime_numbers.txt b/static/5_prime_numbers.txt new file mode 100644 index 00000000..4dbadc38 --- /dev/null +++ b/static/5_prime_numbers.txt @@ -0,0 +1,1000 @@ +2 +3 +5 +7 +11 +13 +17 +19 +23 +29 +31 +37 +41 +43 +47 +53 +59 +61 +67 +71 +73 +79 +83 +89 +97 +101 +103 +107 +109 +113 +127 +131 +137 +139 +149 +151 +157 +163 +167 +173 +179 +181 +191 +193 +197 +199 +211 +223 +227 +229 +233 +239 +241 +251 +257 +263 +269 +271 +277 +281 +283 +293 +307 +311 +313 +317 +331 +337 +347 +349 +353 +359 +367 +373 +379 +383 +389 +397 +401 +409 +419 +421 +431 +433 +439 +443 +449 +457 +461 +463 +467 +479 +487 +491 +499 +503 +509 +521 +523 +541 +547 +557 +563 +569 +571 +577 +587 +593 +599 +601 +607 +613 +617 +619 +631 +641 +643 +647 +653 +659 +661 +673 +677 +683 +691 +701 +709 +719 +727 +733 +739 +743 +751 +757 +761 +769 +773 +787 +797 +809 +811 +821 +823 +827 +829 +839 +853 +857 +859 +863 +877 +881 +883 +887 +907 +911 +919 +929 +937 +941 +947 +953 +967 +971 +977 +983 +991 +997 +1009 +1013 +1019 +1021 +1031 +1033 +1039 +1049 +1051 +1061 +1063 +1069 +1087 +1091 +1093 +1097 +1103 +1109 +1117 +1123 +1129 +1151 +1153 +1163 +1171 +1181 +1187 +1193 +1201 +1213 +1217 +1223 +1229 +1231 +1237 +1249 +1259 +1277 +1279 +1283 +1289 +1291 +1297 +1301 +1303 +1307 +1319 +1321 +1327 +1361 +1367 +1373 +1381 +1399 +1409 +1423 +1427 +1429 +1433 +1439 +1447 +1451 +1453 +1459 +1471 +1481 +1483 +1487 +1489 +1493 +1499 +1511 +1523 +1531 +1543 +1549 +1553 +1559 +1567 +1571 +1579 +1583 +1597 +1601 +1607 +1609 +1613 +1619 +1621 +1627 +1637 +1657 +1663 +1667 +1669 +1693 +1697 +1699 +1709 +1721 +1723 +1733 +1741 +1747 +1753 +1759 +1777 +1783 +1787 +1789 +1801 +1811 +1823 +1831 +1847 +1861 +1867 +1871 +1873 +1877 +1879 +1889 +1901 +1907 +1913 +1931 +1933 +1949 +1951 +1973 +1979 +1987 +1993 +1997 +1999 +2003 +2011 +2017 +2027 +2029 +2039 +2053 +2063 +2069 +2081 +2083 +2087 +2089 +2099 +2111 +2113 +2129 +2131 +2137 +2141 +2143 +2153 +2161 +2179 +2203 +2207 +2213 +2221 +2237 +2239 +2243 +2251 +2267 +2269 +2273 +2281 +2287 +2293 +2297 +2309 +2311 +2333 +2339 +2341 +2347 +2351 +2357 +2371 +2377 +2381 +2383 +2389 +2393 +2399 +2411 +2417 +2423 +2437 +2441 +2447 +2459 +2467 +2473 +2477 +2503 +2521 +2531 +2539 +2543 +2549 +2551 +2557 +2579 +2591 +2593 +2609 +2617 +2621 +2633 +2647 +2657 +2659 +2663 +2671 +2677 +2683 +2687 +2689 +2693 +2699 +2707 +2711 +2713 +2719 +2729 +2731 +2741 +2749 +2753 +2767 +2777 +2789 +2791 +2797 +2801 +2803 +2819 +2833 +2837 +2843 +2851 +2857 +2861 +2879 +2887 +2897 +2903 +2909 +2917 +2927 +2939 +2953 +2957 +2963 +2969 +2971 +2999 +3001 +3011 +3019 +3023 +3037 +3041 +3049 +3061 +3067 +3079 +3083 +3089 +3109 +3119 +3121 +3137 +3163 +3167 +3169 +3181 +3187 +3191 +3203 +3209 +3217 +3221 +3229 +3251 +3253 +3257 +3259 +3271 +3299 +3301 +3307 +3313 +3319 +3323 +3329 +3331 +3343 +3347 +3359 +3361 +3371 +3373 +3389 +3391 +3407 +3413 +3433 +3449 +3457 +3461 +3463 +3467 +3469 +3491 +3499 +3511 +3517 +3527 +3529 +3533 +3539 +3541 +3547 +3557 +3559 +3571 +3581 +3583 +3593 +3607 +3613 +3617 +3623 +3631 +3637 +3643 +3659 +3671 +3673 +3677 +3691 +3697 +3701 +3709 +3719 +3727 +3733 +3739 +3761 +3767 +3769 +3779 +3793 +3797 +3803 +3821 +3823 +3833 +3847 +3851 +3853 +3863 +3877 +3881 +3889 +3907 +3911 +3917 +3919 +3923 +3929 +3931 +3943 +3947 +3967 +3989 +4001 +4003 +4007 +4013 +4019 +4021 +4027 +4049 +4051 +4057 +4073 +4079 +4091 +4093 +4099 +4111 +4127 +4129 +4133 +4139 +4153 +4157 +4159 +4177 +4201 +4211 +4217 +4219 +4229 +4231 +4241 +4243 +4253 +4259 +4261 +4271 +4273 +4283 +4289 +4297 +4327 +4337 +4339 +4349 +4357 +4363 +4373 +4391 +4397 +4409 +4421 +4423 +4441 +4447 +4451 +4457 +4463 +4481 +4483 +4493 +4507 +4513 +4517 +4519 +4523 +4547 +4549 +4561 +4567 +4583 +4591 +4597 +4603 +4621 +4637 +4639 +4643 +4649 +4651 +4657 +4663 +4673 +4679 +4691 +4703 +4721 +4723 +4729 +4733 +4751 +4759 +4783 +4787 +4789 +4793 +4799 +4801 +4813 +4817 +4831 +4861 +4871 +4877 +4889 +4903 +4909 +4919 +4931 +4933 +4937 +4943 +4951 +4957 +4967 +4969 +4973 +4987 +4993 +4999 +5003 +5009 +5011 +5021 +5023 +5039 +5051 +5059 +5077 +5081 +5087 +5099 +5101 +5107 +5113 +5119 +5147 +5153 +5167 +5171 +5179 +5189 +5197 +5209 +5227 +5231 +5233 +5237 +5261 +5273 +5279 +5281 +5297 +5303 +5309 +5323 +5333 +5347 +5351 +5381 +5387 +5393 +5399 +5407 +5413 +5417 +5419 +5431 +5437 +5441 +5443 +5449 +5471 +5477 +5479 +5483 +5501 +5503 +5507 +5519 +5521 +5527 +5531 +5557 +5563 +5569 +5573 +5581 +5591 +5623 +5639 +5641 +5647 +5651 +5653 +5657 +5659 +5669 +5683 +5689 +5693 +5701 +5711 +5717 +5737 +5741 +5743 +5749 +5779 +5783 +5791 +5801 +5807 +5813 +5821 +5827 +5839 +5843 +5849 +5851 +5857 +5861 +5867 +5869 +5879 +5881 +5897 +5903 +5923 +5927 +5939 +5953 +5981 +5987 +6007 +6011 +6029 +6037 +6043 +6047 +6053 +6067 +6073 +6079 +6089 +6091 +6101 +6113 +6121 +6131 +6133 +6143 +6151 +6163 +6173 +6197 +6199 +6203 +6211 +6217 +6221 +6229 +6247 +6257 +6263 +6269 +6271 +6277 +6287 +6299 +6301 +6311 +6317 +6323 +6329 +6337 +6343 +6353 +6359 +6361 +6367 +6373 +6379 +6389 +6397 +6421 +6427 +6449 +6451 +6469 +6473 +6481 +6491 +6521 +6529 +6547 +6551 +6553 +6563 +6569 +6571 +6577 +6581 +6599 +6607 +6619 +6637 +6653 +6659 +6661 +6673 +6679 +6689 +6691 +6701 +6703 +6709 +6719 +6733 +6737 +6761 +6763 +6779 +6781 +6791 +6793 +6803 +6823 +6827 +6829 +6833 +6841 +6857 +6863 +6869 +6871 +6883 +6899 +6907 +6911 +6917 +6947 +6949 +6959 +6961 +6967 +6971 +6977 +6983 +6991 +6997 +7001 +7013 +7019 +7027 +7039 +7043 +7057 +7069 +7079 +7103 +7109 +7121 +7127 +7129 +7151 +7159 +7177 +7187 +7193 +7207 +7211 +7213 +7219 +7229 +7237 +7243 +7247 +7253 +7283 +7297 +7307 +7309 +7321 +7331 +7333 +7349 +7351 +7369 +7393 +7411 +7417 +7433 +7451 +7457 +7459 +7477 +7481 +7487 +7489 +7499 +7507 +7517 +7523 +7529 +7537 +7541 +7547 +7549 +7559 +7561 +7573 +7577 +7583 +7589 +7591 +7603 +7607 +7621 +7639 +7643 +7649 +7669 +7673 +7681 +7687 +7691 +7699 +7703 +7717 +7723 +7727 +7741 +7753 +7757 +7759 +7789 +7793 +7817 +7823 +7829 +7841 +7853 +7867 +7873 +7877 +7879 +7883 +7901 +7907 +7919 \ No newline at end of file