{
  "repo": "pingcap/LinguFlow",
  "binary": "app",
  "binary_path": "app.py",
  "surface_kind": "mixed_service",
  "type": "service",
  "services": [
    {
      "name": "ApplicationLifecycle",
      "package": "app",
      "type": "lifecycle",
      "methods": [
        {
          "name": "Startup",
          "name_key": "ApplicationLifecycle.Startup",
          "input": "uvicorn app:app",
          "output": "running FastAPI server",
          "type": "local"
        }
      ]
    },
    {
      "name": "ApplicationAPI",
      "package": "api.application",
      "type": "http",
      "methods": [
        {"name": "GET /patterns", "name_key": "HTTP GET /patterns", "path": "/patterns", "http_method": "GET", "handler": "ApplicationView.patterns", "type": "http"},
        {"name": "GET /blocks", "name_key": "HTTP GET /blocks", "path": "/blocks", "http_method": "GET", "handler": "ApplicationView.blocks", "type": "http"},
        {"name": "GET /applications/{application_id}", "name_key": "HTTP GET /applications/{application_id}", "path": "/applications/{application_id}", "http_method": "GET", "handler": "ApplicationView.get_app", "type": "http"},
        {"name": "GET /applications", "name_key": "HTTP GET /applications", "path": "/applications", "http_method": "GET", "handler": "ApplicationView.list_app", "type": "http"},
        {"name": "POST /applications", "name_key": "HTTP POST /applications", "path": "/applications", "http_method": "POST", "handler": "ApplicationView.create_app", "type": "http"},
        {"name": "POST /applications/{application_id}/async_run", "name_key": "HTTP POST /applications/{application_id}/async_run", "path": "/applications/{application_id}/async_run", "http_method": "POST", "handler": "ApplicationView.async_run_app", "type": "http"},
        {"name": "GET /interactions/{interaction_id}", "name_key": "HTTP GET /interactions/{interaction_id}", "path": "/interactions/{interaction_id}", "http_method": "GET", "handler": "ApplicationView.get_interaction", "type": "http"},
        {"name": "POST /interactions/{interaction_id}/scores", "name_key": "HTTP POST /interactions/{interaction_id}/scores", "path": "/interactions/{interaction_id}/scores", "http_method": "POST", "handler": "ApplicationView.score_interaction", "type": "http"},
        {"name": "PUT /applications/{application_id}", "name_key": "HTTP PUT /applications/{application_id}", "path": "/applications/{application_id}", "http_method": "PUT", "handler": "ApplicationView.update_app_meta", "type": "http"},
        {"name": "DELETE /applications/{application_id}", "name_key": "HTTP DELETE /applications/{application_id}", "path": "/applications/{application_id}", "http_method": "DELETE", "handler": "ApplicationView.delete_app", "type": "http"},
        {"name": "POST /applications/{application_id}/versions/{version_id}/async_run", "name_key": "HTTP POST /applications/{application_id}/versions/{version_id}/async_run", "path": "/applications/{application_id}/versions/{version_id}/async_run", "http_method": "POST", "handler": "ApplicationView.async_run_app_version", "type": "http"},
        {"name": "GET /applications/{application_id}/versions/{version_id}", "name_key": "HTTP GET /applications/{application_id}/versions/{version_id}", "path": "/applications/{application_id}/versions/{version_id}", "http_method": "GET", "handler": "ApplicationView.get_app_version", "type": "http"},
        {"name": "GET /applications/{application_id}/versions", "name_key": "HTTP GET /applications/{application_id}/versions", "path": "/applications/{application_id}/versions", "http_method": "GET", "handler": "ApplicationView.list_app_versions", "type": "http"},
        {"name": "POST /applications/{application_id}/versions", "name_key": "HTTP POST /applications/{application_id}/versions", "path": "/applications/{application_id}/versions", "http_method": "POST", "handler": "ApplicationView.create_app_version", "type": "http"},
        {"name": "PUT /applications/{application_id}/versions/{version_id}", "name_key": "HTTP PUT /applications/{application_id}/versions/{version_id}", "path": "/applications/{application_id}/versions/{version_id}", "http_method": "PUT", "handler": "ApplicationView.update_app_version_meta", "type": "http"},
        {"name": "DELETE /applications/{application_id}/versions/{version_id}", "name_key": "HTTP DELETE /applications/{application_id}/versions/{version_id}", "path": "/applications/{application_id}/versions/{version_id}", "http_method": "DELETE", "handler": "ApplicationView.delete_app_version", "type": "http"},
        {"name": "PUT /applications/{application_id}/versions/{version_id}/active", "name_key": "HTTP PUT /applications/{application_id}/versions/{version_id}/active", "path": "/applications/{application_id}/versions/{version_id}/active", "http_method": "PUT", "handler": "ApplicationView.active_app_version", "type": "http"},
        {"name": "GET /ping", "name_key": "HTTP GET /ping", "path": "/ping", "http_method": "GET", "handler": "ApplicationView.ping", "type": "http"},
        {"name": "GET /me", "name_key": "HTTP GET /me", "path": "/me", "http_method": "GET", "handler": "ApplicationView.me", "type": "http"}
      ]
    }
  ],
  "extensions": {}
}
