repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
public Clawd ADK gateway launch mirror
stars
latest
clone command
git clone gitlawb://did:key:z6Mkq5mY...iFZ5/my-project-publ...git clone gitlawb://did:key:z6Mkq5mY.../my-project-publ...2fa351d6docs: add automaton and perps launch sources16d ago| #1 | import datetime |
| #2 | from uuid import uuid4 |
| #3 | |
| #4 | from app.config import DEFAULT_APP_ID, USER_ID |
| #5 | from app.database import Base, SessionLocal, engine |
| #6 | from app.mcp_server import setup_mcp_server |
| #7 | from app.models import App, User |
| #8 | from app.routers import apps_router, backup_router, config_router, memories_router, stats_router |
| #9 | from fastapi import FastAPI |
| #10 | from fastapi.middleware.cors import CORSMiddleware |
| #11 | from fastapi_pagination import add_pagination |
| #12 | |
| #13 | app = FastAPI(title="OpenMemory API") |
| #14 | |
| #15 | app.add_middleware( |
| #16 | CORSMiddleware, |
| #17 | allow_origins=["*"], |
| #18 | allow_credentials=True, |
| #19 | allow_methods=["*"], |
| #20 | allow_headers=["*"], |
| #21 | ) |
| #22 | |
| #23 | # Create all tables |
| #24 | Base.metadata.create_all(bind=engine) |
| #25 | |
| #26 | # Check for USER_ID and create default user if needed |
| #27 | def create_default_user(): |
| #28 | db = SessionLocal() |
| #29 | try: |
| #30 | # Check if user exists |
| #31 | user = db.query(User).filter(User.user_id == USER_ID).first() |
| #32 | if not user: |
| #33 | # Create default user |
| #34 | user = User( |
| #35 | id=uuid4(), |
| #36 | user_id=USER_ID, |
| #37 | name="Default User", |
| #38 | created_at=datetime.datetime.now(datetime.UTC) |
| #39 | ) |
| #40 | db.add(user) |
| #41 | db.commit() |
| #42 | finally: |
| #43 | db.close() |
| #44 | |
| #45 | |
| #46 | def create_default_app(): |
| #47 | db = SessionLocal() |
| #48 | try: |
| #49 | user = db.query(User).filter(User.user_id == USER_ID).first() |
| #50 | if not user: |
| #51 | return |
| #52 | |
| #53 | # Check if app already exists |
| #54 | existing_app = db.query(App).filter( |
| #55 | App.name == DEFAULT_APP_ID, |
| #56 | App.owner_id == user.id |
| #57 | ).first() |
| #58 | |
| #59 | if existing_app: |
| #60 | return |
| #61 | |
| #62 | app = App( |
| #63 | id=uuid4(), |
| #64 | name=DEFAULT_APP_ID, |
| #65 | owner_id=user.id, |
| #66 | created_at=datetime.datetime.now(datetime.UTC), |
| #67 | updated_at=datetime.datetime.now(datetime.UTC), |
| #68 | ) |
| #69 | db.add(app) |
| #70 | db.commit() |
| #71 | finally: |
| #72 | db.close() |
| #73 | |
| #74 | # Create default user on startup |
| #75 | create_default_user() |
| #76 | create_default_app() |
| #77 | |
| #78 | # Setup MCP server |
| #79 | setup_mcp_server(app) |
| #80 | |
| #81 | # Include routers |
| #82 | app.include_router(memories_router) |
| #83 | app.include_router(apps_router) |
| #84 | app.include_router(stats_router) |
| #85 | app.include_router(config_router) |
| #86 | app.include_router(backup_router) |
| #87 | |
| #88 | # Add pagination support |
| #89 | add_pagination(app) |
| #90 |