mirror of
https://github.com/openswarm-ai/openswarm.git
synced 2026-09-12 04:37:44 +02:00
[Haik]: removed lingering OLDapps dependancy from create_browser_card, also made mods to shared_structs because of this
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Optional, List, Dict
|
||||
from datetime import datetime
|
||||
from uuid import uuid4
|
||||
|
||||
|
||||
class CardPosition(BaseModel):
|
||||
session_id: str
|
||||
x: float = 0
|
||||
y: float = 0
|
||||
width: float = 420
|
||||
height: float = 280
|
||||
|
||||
|
||||
class ViewCardPosition(BaseModel):
|
||||
output_id: str
|
||||
x: float = 0
|
||||
y: float = 0
|
||||
width: float = 480
|
||||
height: float = 360
|
||||
|
||||
|
||||
class BrowserTab(BaseModel):
|
||||
id: str
|
||||
url: str = ""
|
||||
title: str = ""
|
||||
favicon: Optional[str] = None
|
||||
|
||||
|
||||
class BrowserCardPosition(BaseModel):
|
||||
browser_id: str
|
||||
url: str = ""
|
||||
tabs: List[BrowserTab] = Field(default_factory=list)
|
||||
activeTabId: str = ""
|
||||
x: float = 0
|
||||
y: float = 0
|
||||
width: float = 1280
|
||||
height: float = 800
|
||||
|
||||
|
||||
class DashboardLayout(BaseModel):
|
||||
cards: Dict[str, CardPosition] = Field(default_factory=dict)
|
||||
view_cards: Dict[str, ViewCardPosition] = Field(default_factory=dict)
|
||||
browser_cards: Dict[str, BrowserCardPosition] = Field(default_factory=dict)
|
||||
expanded_session_ids: list[str] = Field(default_factory=list)
|
||||
|
||||
|
||||
class Dashboard(BaseModel):
|
||||
id: str = Field(default_factory=lambda: uuid4().hex)
|
||||
name: str = "Untitled Dashboard"
|
||||
auto_named: bool = False
|
||||
created_at: datetime = Field(default_factory=datetime.now)
|
||||
updated_at: datetime = Field(default_factory=datetime.now)
|
||||
layout: DashboardLayout = Field(default_factory=DashboardLayout)
|
||||
thumbnail: Optional[str] = None
|
||||
@@ -7,10 +7,8 @@ from pydantic import BaseModel
|
||||
|
||||
from backend.config.Apps import SubApp
|
||||
from backend.core.db.PydanticStore import PydanticStore
|
||||
from backend.apps.dashboards.Dashboard import (
|
||||
Dashboard,
|
||||
DashboardLayout,
|
||||
)
|
||||
from backend.core.shared_structs.dashboard.Dashboard import Dashboard
|
||||
from backend.core.shared_structs.dashboard.DashboardLayout import DashboardLayout
|
||||
from backend.apps.agents.agents import list_sessions, delete_session
|
||||
from backend.apps.settings.settings import load_settings
|
||||
from backend.apps.dashboards.generate_dashboard_name import generate_dashboard_name
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import Field
|
||||
from typing import List
|
||||
|
||||
from backend.core.shared_structs.browser.BrowserTab import BrowserTab
|
||||
from backend.core.shared_structs.card.CardPosition import CardPosition
|
||||
|
||||
class BrowserCardPosition(BaseModel):
|
||||
browser_id: str
|
||||
class BrowserCardPosition(CardPosition):
|
||||
url: str = ""
|
||||
tabs: List[BrowserTab] = Field(default_factory=list)
|
||||
activeTabId: str = ""
|
||||
x: float = 0
|
||||
y: float = 0
|
||||
width: float = 1280
|
||||
height: float = 800
|
||||
activeTabId: str = ""
|
||||
@@ -0,0 +1,9 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class CardPosition(BaseModel):
|
||||
id: str
|
||||
x: float = 0
|
||||
y: float = 0
|
||||
width: float = 420
|
||||
height: float = 280
|
||||
@@ -0,0 +1,14 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
from backend.core.shared_structs.dashboard.DashboardLayout import DashboardLayout
|
||||
from uuid import uuid4
|
||||
|
||||
class Dashboard(BaseModel):
|
||||
id: str = Field(default_factory=lambda: uuid4().hex)
|
||||
name: str = "Untitled Dashboard"
|
||||
auto_named: bool = False
|
||||
created_at: datetime = Field(default_factory=datetime.now)
|
||||
updated_at: datetime = Field(default_factory=datetime.now)
|
||||
layout: DashboardLayout = Field(default_factory=DashboardLayout)
|
||||
thumbnail: Optional[str] = None
|
||||
@@ -0,0 +1,10 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Dict
|
||||
from backend.core.shared_structs.browser.BrowserCardPosition import BrowserCardPosition
|
||||
from backend.core.shared_structs.card.CardPosition import CardPosition
|
||||
|
||||
class DashboardLayout(BaseModel):
|
||||
cards: Dict[str, CardPosition] = Field(default_factory=dict)
|
||||
app_cards: Dict[str, CardPosition] = Field(default_factory=dict)
|
||||
browser_cards: Dict[str, BrowserCardPosition] = Field(default_factory=dict)
|
||||
expanded_card_ids: list[str] = Field(default_factory=list)
|
||||
+8
-5
@@ -1,20 +1,23 @@
|
||||
from datetime import datetime
|
||||
from uuid import uuid4
|
||||
from typing import Optional, Callable
|
||||
|
||||
from typeguard import typechecked
|
||||
from typing import Optional
|
||||
|
||||
from backend.OLDapps.dashboards.dashboards import _load, _save
|
||||
from backend.core.events.events import EventCallback, BrowserCardAddedEvent
|
||||
from backend.core.shared_structs.browser.BrowserCardPosition import BrowserCardPosition
|
||||
from backend.core.shared_structs.browser.BrowserTab import BrowserTab
|
||||
from backend.core.shared_structs.dashboard.Dashboard import Dashboard
|
||||
|
||||
|
||||
@typechecked
|
||||
async def create_browser_card(
|
||||
dashboard_id: str,
|
||||
load_dashboard: Callable[[str], Dashboard],
|
||||
save_dashboard: Callable[[Dashboard], None],
|
||||
emit: Optional[EventCallback] = None,
|
||||
) -> str:
|
||||
dashboard = _load(dashboard_id)
|
||||
dashboard = load_dashboard(dashboard_id)
|
||||
browser_id = f"browser-{uuid4().hex[:8]}"
|
||||
tab_id = f"tab-{uuid4().hex[:8]}"
|
||||
tab = BrowserTab(id=tab_id, url="https://www.google.com", title="")
|
||||
@@ -24,10 +27,10 @@ async def create_browser_card(
|
||||
)
|
||||
dashboard.layout.browser_cards[browser_id] = card
|
||||
dashboard.updated_at = datetime.now()
|
||||
_save(dashboard)
|
||||
save_dashboard(dashboard)
|
||||
if emit:
|
||||
await emit(BrowserCardAddedEvent(
|
||||
dashboard_id=dashboard_id,
|
||||
browser_card=card,
|
||||
))
|
||||
return browser_id
|
||||
return browser_id
|
||||
Reference in New Issue
Block a user