Перейти к основному содержимому

Анализ

API для анализа кодовой базы.

Семантический поиск

POST /api/v1/projects/:id/search

Тело запроса

{
"query": "логика аутентификации",
"limit": 10
}

Ответ

{
"success": true,
"data": {
"results": [
{
"file": "src/auth/login.ts",
"line": 45,
"content": "async function authenticateUser...",
"score": 0.95
}
]
}
}

AI-ассистент

POST /api/v1/projects/:id/ask

Тело запроса

{
"question": "Как работает аутентификация?"
}

Ответ

{
"success": true,
"data": {
"answer": "Система аутентификации использует JWT токены...",
"sources": [
{
"file": "src/auth/login.ts",
"lines": "45-78"
}
]
}
}

Анализ влияния

POST /api/v1/projects/:id/analyze

Тело запроса

{
"path": "src/services/user.ts"
}

Ответ

{
"success": true,
"data": {
"file": "src/services/user.ts",
"dependencies": [
"src/utils/crypto.ts",
"src/db/models/user.ts"
],
"dependents": [
"src/controllers/auth.ts",
"src/controllers/profile.ts"
],
"riskLevel": "medium",
"affectedTests": 2
}
}

Метрики кода

GET /api/v1/projects/:id/metrics

Ответ

{
"success": true,
"data": {
"files": 150,
"lines": 12500,
"functions": 320,
"classes": 45,
"avgComplexity": 4.2,
"maxComplexity": 18
}
}

Сканирование безопасности

GET /api/v1/projects/:id/security

Ответ

{
"success": true,
"data": {
"issues": [
{
"severity": "high",
"type": "SQL_INJECTION",
"file": "src/db/queries.ts",
"line": 23,
"message": "Потенциальная SQL-инъекция"
}
],
"summary": {
"critical": 0,
"high": 1,
"medium": 3,
"low": 5
}
}
}

Симуляция изменений

POST /api/v1/projects/:id/simulate

Тело запроса

{
"description": "Добавить параметр к функции getUser()"
}

Ответ

{
"success": true,
"data": {
"affectedFiles": [
"src/controllers/auth.ts",
"src/controllers/profile.ts"
],
"affectedTests": [
"tests/user.test.ts"
],
"estimatedEffort": "medium",
"analysis": "Изменение затронет 3 файла и 5 вызовов функции..."
}
}