2026-02-04 02:28:51 +05:30
|
|
|
from __future__ import annotations
|
|
|
|
|
|
2026-02-06 16:12:04 +05:30
|
|
|
import asyncio
|
2026-02-07 16:21:31 +05:30
|
|
|
import sys
|
|
|
|
|
from pathlib import Path
|
2026-02-04 02:28:51 +05:30
|
|
|
from uuid import uuid4
|
|
|
|
|
|
2026-02-07 16:21:31 +05:30
|
|
|
BACKEND_ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
sys.path.insert(0, str(BACKEND_ROOT))
|
|
|
|
|
|
|
|
|
|
from app.db.session import async_session_maker, init_db # noqa: E402
|
|
|
|
|
from app.models.agents import Agent # noqa: E402
|
|
|
|
|
from app.models.boards import Board # noqa: E402
|
|
|
|
|
from app.models.gateways import Gateway # noqa: E402
|
|
|
|
|
from app.models.users import User # noqa: E402
|
2026-02-06 16:12:04 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
async def run() -> None:
|
|
|
|
|
await init_db()
|
|
|
|
|
async with async_session_maker() as session:
|
|
|
|
|
gateway = Gateway(
|
|
|
|
|
name="Demo Gateway",
|
|
|
|
|
url="http://localhost:8080",
|
|
|
|
|
token=None,
|
|
|
|
|
main_session_key="demo:main",
|
|
|
|
|
workspace_root="/tmp/openclaw-demo",
|
|
|
|
|
)
|
|
|
|
|
session.add(gateway)
|
|
|
|
|
await session.commit()
|
|
|
|
|
await session.refresh(gateway)
|
|
|
|
|
|
|
|
|
|
board = Board(
|
|
|
|
|
name="Demo Board",
|
|
|
|
|
slug="demo-board",
|
|
|
|
|
gateway_id=gateway.id,
|
|
|
|
|
board_type="goal",
|
|
|
|
|
objective="Demo objective",
|
|
|
|
|
success_metrics={"demo": True},
|
|
|
|
|
)
|
|
|
|
|
session.add(board)
|
|
|
|
|
await session.commit()
|
|
|
|
|
await session.refresh(board)
|
2026-02-04 02:28:51 +05:30
|
|
|
|
|
|
|
|
user = User(
|
|
|
|
|
clerk_user_id=f"demo-{uuid4()}",
|
|
|
|
|
email="demo@example.com",
|
|
|
|
|
name="Demo Admin",
|
|
|
|
|
is_super_admin=True,
|
|
|
|
|
)
|
|
|
|
|
session.add(user)
|
2026-02-06 16:12:04 +05:30
|
|
|
await session.commit()
|
|
|
|
|
await session.refresh(user)
|
|
|
|
|
|
|
|
|
|
lead = Agent(
|
|
|
|
|
board_id=board.id,
|
|
|
|
|
name="Lead Agent",
|
|
|
|
|
status="online",
|
|
|
|
|
is_board_lead=True,
|
2026-02-04 02:28:51 +05:30
|
|
|
)
|
2026-02-06 16:12:04 +05:30
|
|
|
session.add(lead)
|
|
|
|
|
await session.commit()
|
2026-02-04 02:28:51 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2026-02-06 16:12:04 +05:30
|
|
|
asyncio.run(run())
|