Skip to content

Commit 7766ebe

Browse files
authored
Merge pull request #5 from UABGH-Emerging-Technologies/feature/azure-ready
Feature/azure ready merged on incoming
2 parents 8a50a91 + 473bd44 commit 7766ebe

22 files changed

Lines changed: 196 additions & 164 deletions

UMLBot/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
"""UMLBot core package."""
2-

UMLBot/config/config.py

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -72,28 +72,18 @@ class UMLBotConfig:
7272
DEFAULT_DIAGRAM_TYPE = "Use Case"
7373

7474
FALLBACK_PLANTUML_TEMPLATE = "@startuml\n' {diagram_type} diagram\n' {description}\n@enduml"
75-
FALLBACK_MINDMAP_TEMPLATE = (
76-
"@startmindmap\n* {diagram_type}\n** {description}\n@endmindmap"
77-
)
78-
FALLBACK_SALT_TEMPLATE = (
79-
"@startsalt\n{diagram_type}\n{description}\n@endsalt"
80-
)
81-
FALLBACK_GANTT_TEMPLATE = (
82-
"@startgantt\n[Task] lasts 1 day\n@endgantt"
83-
)
84-
FALLBACK_ERD_TEMPLATE = (
85-
"@startuml\nentity \"Entity\" as E {\n *id : int\n}\n@enduml"
86-
)
87-
FALLBACK_JSON_TEMPLATE = (
88-
"@startjson\n{\n \"sample\": true\n}\n@endjson"
89-
)
75+
FALLBACK_MINDMAP_TEMPLATE = "@startmindmap\n* {diagram_type}\n** {description}\n@endmindmap"
76+
FALLBACK_SALT_TEMPLATE = "@startsalt\n{diagram_type}\n{description}\n@endsalt"
77+
FALLBACK_GANTT_TEMPLATE = "@startgantt\n[Task] lasts 1 day\n@endgantt"
78+
FALLBACK_ERD_TEMPLATE = '@startuml\nentity "Entity" as E {\n *id : int\n}\n@enduml'
79+
FALLBACK_JSON_TEMPLATE = '@startjson\n{\n "sample": true\n}\n@endjson'
9080
FALLBACK_C4_TEMPLATE = (
9181
"@startuml\n"
9282
"!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml\n"
9383
"title {diagram_type}\n"
94-
"Person(user, \"User\", \"\")\n"
95-
"System(system, \"System\", \"{description}\")\n"
96-
"Rel(user, system, \"Uses\")\n"
84+
'Person(user, "User", "")\n'
85+
'System(system, "System", "{description}")\n'
86+
'Rel(user, system, "Uses")\n'
9787
"@enduml"
9888
)
9989
DIAGRAM_SUCCESS_MSG = "Diagram generated successfully using LLM."

UMLBot/diagram_handlers/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
"""Diagram handler package exports."""
22

3-
from UMLBot.diagram_handlers.uml_draft_handler import UMLDraftHandler, UMLRetryManager
4-
from UMLBot.diagram_handlers.mindmap_draft_handler import MindmapDraftHandler
5-
from UMLBot.diagram_handlers.ui_mockup_draft_handler import UIMockupDraftHandler
6-
from UMLBot.diagram_handlers.gantt_draft_handler import GanttDraftHandler
3+
from UMLBot.diagram_handlers.c4_draft_handler import C4DraftHandler
74
from UMLBot.diagram_handlers.er_draft_handler import ERDraftHandler
5+
from UMLBot.diagram_handlers.gantt_draft_handler import GanttDraftHandler
86
from UMLBot.diagram_handlers.json_draft_handler import JsonDraftHandler
9-
from UMLBot.diagram_handlers.c4_draft_handler import C4DraftHandler
7+
from UMLBot.diagram_handlers.mindmap_draft_handler import MindmapDraftHandler
8+
from UMLBot.diagram_handlers.ui_mockup_draft_handler import UIMockupDraftHandler
9+
from UMLBot.diagram_handlers.uml_draft_handler import UMLDraftHandler, UMLRetryManager
1010

1111
__all__ = [
1212
"C4DraftHandler",

UMLBot/diagram_handlers/gantt_draft_handler.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,4 @@ class GanttDraftHandler(UMLDraftHandler):
2020
def __init__(self, config: Optional[UMLBotConfig] = None):
2121
"""Initialize the handler with optional configuration overrides."""
2222
super().__init__(config=config)
23-
self.prompty_path = (
24-
Path(__file__).resolve().parents[2] / "assets" / "gantt_chart.prompty"
25-
)
23+
self.prompty_path = Path(__file__).resolve().parents[2] / "assets" / "gantt_chart.prompty"

UMLBot/diagram_handlers/mindmap_draft_handler.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,4 @@ class MindmapDraftHandler(UMLDraftHandler):
2020
def __init__(self, config: Optional[UMLBotConfig] = None):
2121
"""Initialize the handler with optional configuration overrides."""
2222
super().__init__(config=config)
23-
self.prompty_path = (
24-
Path(__file__).resolve().parents[2] / "assets" / "mindmap.prompty"
25-
)
23+
self.prompty_path = Path(__file__).resolve().parents[2] / "assets" / "mindmap.prompty"

UMLBot/diagram_handlers/ui_mockup_draft_handler.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,4 @@ class UIMockupDraftHandler(UMLDraftHandler):
2020
def __init__(self, config: Optional[UMLBotConfig] = None):
2121
"""Initialize the handler with optional configuration overrides."""
2222
super().__init__(config=config)
23-
self.prompty_path = (
24-
Path(__file__).resolve().parents[2] / "assets" / "ui_mockup.prompty"
25-
)
23+
self.prompty_path = Path(__file__).resolve().parents[2] / "assets" / "ui_mockup.prompty"

UMLBot/diagram_handlers/uml_draft_handler.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def error_context(self) -> str:
4545

4646
import logging
4747
from pathlib import Path
48-
from typing import Optional, Any
48+
from typing import Any, Optional
4949

5050

5151
def escape_curly_braces(val: Optional[str]) -> Optional[str]:
@@ -62,6 +62,7 @@ def escape_curly_braces(val: Optional[str]) -> Optional[str]:
6262

6363

6464
from aiweb_common.WorkflowHandler import WorkflowHandler
65+
6566
from UMLBot.config.config import UMLBotConfig
6667

6768

@@ -76,9 +77,7 @@ class UMLDraftHandler(WorkflowHandler):
7677
def __init__(self, config: Optional[UMLBotConfig] = None):
7778
"""Initialize the handler with optional configuration overrides."""
7879
super().__init__()
79-
self.prompty_path = (
80-
Path(__file__).resolve().parents[2] / "assets" / "uml_diagram.prompty"
81-
)
80+
self.prompty_path = Path(__file__).resolve().parents[2] / "assets" / "uml_diagram.prompty"
8281
self.config = config or UMLBotConfig()
8382

8483
def _validate_prompt_template(self, template: str) -> None:

UMLBot/exceptions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
"""Custom exceptions for UMLBot modules."""
22

3+
34
class LLMError(Exception):
45
"""Raised when an LLM invocation fails."""

UMLBot/llm_interface.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,3 @@ async def invoke_async(self, prompt: str) -> str:
5151

5252

5353
__all__ = ["LangchainLLMAdapter", "LLMInterface"]
54-

UMLBot/services/diagram_service.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
@dataclass
3030
class DiagramGenerationResult:
3131
"""Result container for a UML generation request."""
32+
3233
plantuml_code: str
3334
pil_image: Image.Image | None
3435
status_message: str

0 commit comments

Comments
 (0)