{
  "permissions": {
    "allow": [
      "Bash(ast-index *)",
      "Bash(node -e \"require\\(''./backend/src/controllers/sessionController.js''\\); console.log\\(''sessionController OK''\\)\")",
      "Bash(node -e \"require\\(''./backend/src/controllers/courseController.js''\\); console.log\\(''courseController OK''\\)\")",
      "Bash(node -e \"require\\(''''./backend/src/controllers/courseController.js''''\\); console.log\\(''''courseController OK''''\\)\")",
      "Bash(node -e \"require\\(''''./backend/src/controllers/lessonController.js''''\\); console.log\\(''''lessonController OK''''\\)\")",
      "Bash(node -e \"require\\(''''./backend/src/controllers/questionController.js''''\\); console.log\\(''''questionController OK''''\\)\")",
      "Bash(node -e \"require\\(''''./backend/src/controllers/testController.js''''\\); console.log\\(''''testController OK''''\\)\")",
      "Bash(node -e \":*)",
      "Bash(grep -n \"case ''accordion''\" \"g:/Dev/Тесты/BQ-System/frontend/lesson-editor.html\")",
      "Bash(grep -n \"case ''quote''\\\\|case ''checklist''\\\\|case ''button''\" \"g:/Dev/Тесты/BQ-System/frontend/lesson-editor.html\")",
      "Bash(grep -n \"href=//theory\\\\|href=''''//theory''''\\\\|lesson-editor\\\\|editLesson\\\\|openEditor\" g:/Dev/Тесты/BQ-System/frontend/theory.html)",
      "Bash(grep -v \"^.*://\\\\|//.*stat\")",
      "Bash(ls \"g:/Dev/Тесты/BQ-System/frontend/\"*.html)",
      "Bash(wc -l g:/Dev/Тесты/BQ-System/frontend/*.html)",
      "Bash(grep -rn \"= ''//\\\\|= \"\"//\\\\|href=\"\"//\\\\|href=''//\\\\|href = ''//\\\\|href = \"\"//\\\\|\\\\.href = ''//\" \"g:/Dev/Тесты/BQ-System/frontend/\")",
      "Bash(grep -v \"http\\\\|https\\\\|cdn\\\\|fonts\\\\|googleapis\\\\|jsdelivr\\\\|://\\\\|comment\\\\|//\")",
      "Bash(grep -rn //course g:/Dev/Тесты/BQ-System/)",
      "WebFetch(domain:hoster.by)",
      "WebFetch(domain:www.websiteplanet.com)",
      "WebFetch(domain:hostings.info)",
      "Bash(head -10 grep -n \"^const stmts\\\\|^const _stmts\\\\|= db.prepare\\\\|db\\\\.prepare\" \"g:/Dev/Тесты/BQ-System/backend/src/controllers/assignmentController.js\")",
      "Bash(node -e \"require\\(''./src/controllers/gamificationController''\\)\")",
      "Bash(node -e \"require\\(''./src/controllers/classController''\\)\")",
      "Bash(grep -rn \"BQ\\\\.notif\\\\.init\\\\|notif\\\\.init\" g:/Dev/Тесты/BQ-System/frontend/ --include=*.html)",
      "Bash(grep -rn \"connectSSE\\\\|EventSource\" g:/Dev/Тесты/BQ-System/frontend/ --include=*.html)",
      "Bash(grep -rn \"notif-item\\\\|notif-dot\\\\|notif-msg\\\\|notif-time\\\\|notif-empty\\\\|notif-read-all\" g:/Dev/Тесты/BQ-System/frontend/ --include=*.html)",
      "Bash(grep -l 'href=\"\"/lab\"\"' frontend/*.html)",
      "Bash(grep -rn \"notifications.js\" frontend/*.html)",
      "Read(//g/Dev/Тесты/BQ-System/**)",
      "Bash(python -c \":*)",
      "WebFetch(domain:www.npmjs.com)",
      "WebFetch(domain:medium.com)",
      "WebFetch(domain:raw.githubusercontent.com)",
      "WebFetch(domain:github.com)",
      "WebFetch(domain:saturncloud.io)",
      "WebFetch(domain:neilagrawal.com)",
      "WebFetch(domain:mitchum.blog)",
      "Bash(node src/db/seed-theory-2.js)",
      "Bash(ls g:/Dev/Тесты/BQ-System/backend/src/db/seed*)",
      "Bash(grep -r \"three\\\\|Three\\\\|babylon\\\\|Babylon\\\\|cesium\\\\|Cesium\\\\|webgl\\\\|WebGL\" g:/Dev/Тесты/BQ-System/frontend --include=*.html --include=*.js)",
      "Bash(node src/db/seed-red-book.js)",
      "Bash(grep -n \"requireAuth\\\\|optionalAuth\" \"g:/Dev/Тесты/BQ-System/backend/src/routes/\"*.js)",
      "Bash(node -e \"require\\(''''./src/server.js''''\\)\")",
      "Bash(node:*)",
      "Bash(grep -v \"Use \\\\`node\")",
      "Bash(node -e \"const db=require\\(''''./src/db/db''''\\); db.prepare\\(''''SELECT id,name_ru,category FROM rb_species WHERE id>=63 ORDER BY id''''\\).all\\(\\).forEach\\(r=>console.log\\(r.id,r.category,r.name_ru\\)\\); console.log\\(''''---''''\\); db.prepare\\(''''SELECT id,title,xp_reward FROM rb_quests ORDER BY id''''\\).all\\(\\).forEach\\(r=>console.log\\(r.id,r.xp_reward,r.title\\)\\); console.log\\(''''---''''\\); console.log\\(''''Видов:'''',db.prepare\\(''''SELECT COUNT\\(*\\) as n FROM rb_species''''\\).get\\(\\).n,''''Квестов:'''',db.prepare\\(''''SELECT COUNT\\(*\\) as n FROM rb_quests''''\\).get\\(\\).n,''''Связей:'''',db.prepare\\(''''SELECT COUNT\\(*\\) as n FROM rb_food_web''''\\).get\\(\\).n\\);\")",
      "Bash(grep -n \"BQ.api.*features\\\\|/api/features\" frontend/*.html)",
      "Bash(grep -l \"sb-link\\\\|sb-nav\" \"g:/Dev/Тесты/BQ-System/frontend/\"*.html)",
      "Bash(python -c \"print\\(''hello''\\)\")",
      "Bash(awk 'NR>=1180 && NR<=1200' backend/src/db/migrate.js)",
      "Bash(awk 'NR>=1410 && NR<=1425' backend/src/db/migrate.js)",
      "Bash(awk 'NR>=1465 && NR<=1490' backend/src/db/migrate.js)",
      "Bash(node -e \"require\\(''''./backend/src/db/migrate''''\\)\")",
      "Bash(ls g:/Dev/Тесты/BQ-System/frontend/biochem*.html)",
      "Bash(grep -rn [😀-🙏🔬-🧪⚗️⚛️✓✗←→↑↓★☆✔✖👤🏫] g:/Dev/Тесты/BQ-System/frontend/ g:/Dev/Тесты/BQ-System/js/)",
      "Bash(python /tmp/scan_emoji.py)",
      "Bash(python scan_emoji.py)",
      "Bash(python replace_emoji2.py)",
      "Bash(find /g/Dev/Тесты/BQ-System/frontend -name \"*.html\" -exec head -5 {})",
      "Bash(-print)",
      "Bash(do echo:*)",
      "Bash(head -15 grep -n \"bio-sidebar\\\\|bio-body\\\\|bio-panel\" \"g:/Dev/Тесты/BQ-System/frontend/biochem.html\")",
      "Bash(head -3 grep -n \"</style>\" \"g:/Dev/Тесты/BQ-System/frontend/homework.html\")",
      "Bash(head -3 grep -n \"</style>\" \"g:/Dev/Тесты/BQ-System/frontend/admin.html\")",
      "Bash(head -3 grep -n \"</style>\" \"g:/Dev/Тесты/BQ-System/frontend/test-run.html\")",
      "Bash(head -3 grep -n \"</style>\" \"g:/Dev/Тесты/BQ-System/frontend/flashcards.html\")",
      "Bash(grep -l \"sb-foot\\\\|nav-user-chip\" \"g:/Dev/Тесты/BQ-System/frontend/\"*.html)",
      "Bash(grep -l \"sb-foot\" \"g:/Dev/Тесты/BQ-System/frontend/\"*.html)",
      "Bash(ls -la frontend/biochem*.html)",
      "Bash(find g:/Dev/Тесты/BQ-System/js -name *.js)",
      "Read(//.pp-hint/|/**)",
      "Bash(grep -n \"id === ''waves''\" g:/Dev/Тесты/BQ-System/frontend/lab.html)",
      "Bash(ls g:/Dev/Тесты/BQ-System/frontend/*.html)",
      "Bash(grep -v \"//.*toast\")",
      "Bash(do ast-index:*)",
      "Bash(grep -v \"^$\")",
      "Bash(echo \"FILE: $f\")",
      "Bash(do python3 -c \":*)",
      "Bash(ast-index search:*)",
      "Bash(chmod +x \"g:/Dev/Тесты/BQ-System/backend/scripts/backup.sh\")",
      "Read(//BQ/.initPage/**)",
      "Read(//showBoardIfAllowed/**)",
      "Bash(node -e \"require\\(''express-rate-limit''\\)\")",
      "Bash(find g:DevТестыBQ-System -name *.sql -type f)",
      "Read(//g/Dev/**)",
      "Bash(ls g:/Dev/Тесты/BQ-System/.env*)",
      "Bash(docker --version)",
      "Bash(curl -s https://api.ipify.org)",
      "Bash(curl -s --connect-timeout 5 http://45.132.194.53:3000/api/health)",
      "Bash(curl -s --connect-timeout 8 http://45.132.194.53:3000/api/health)",
      "Bash(grep -n \"title>\" /g/Dev/Тесты/BQ-System/frontend/*.html)",
      "Bash(mv bioquantum.db learnspace.db)",
      "Bash(mv bioquantum.db-shm learnspace.db-shm)",
      "Bash(mv bioquantum.db-wal learnspace.db-wal)",
      "Bash(taskkill //F //IM node.exe)",
      "Bash(taskkill /F /PID 72676)",
      "Bash(cmd /c \"taskkill /F /PID 72676\")",
      "Bash(cmd /c \"taskkill /F /PID 72676 2>&1\")",
      "Bash(powershell -Command \"Stop-Process -Id 72676 -Force\")",
      "Bash(powershell -Command \"Stop-Process -Id \\(Get-NetTCPConnection -LocalPort 3000 -State Listen\\).OwningProcess -Force\")",
      "Bash(findstr /n /i \"draw\" frontend/classroom.html)",
      "Bash(findstr /i \"allow\\\\|perm\\\\|grant\\\\|toggle\\\\|_can\")",
      "Bash(findstr /n \"canDraw\" frontend/classroom.html)",
      "Bash(taskkill /F /PID 56144)",
      "Bash(cmd /c \"taskkill /F /PID 56144\")",
      "Bash(cmd /c \"taskkill /F /PID 56144 2>&1\")",
      "Bash(powershell -Command \"Stop-Process -Id 56144 -Force\")",
      "Bash(findstr \"LISTENING\")",
      "Bash(curl -s -X POST http://localhost:3000/api/auth/login -H 'Content-Type: application/json' -d '{\"email\":\"123@123.by\",\"password\":\"123456\"}')",
      "Bash(powershell -Command \"Get-Process -Id 13632 -ErrorAction SilentlyContinue | Select-Object Id, ProcessName, MainWindowTitle\")",
      "Bash(powershell -Command \"\\(Get-Process -Id 13632\\).Path\")",
      "Bash(powershell -Command ':*)",
      "Bash(curl -s http://localhost:3000/api/auth/login -X POST -H 'Content-Type: application/json' -d '{\"email\":\"admin@bq.local\",\"password\":\"123456\"}')",
      "Bash(powershell -Command \"Stop-Process -Id 13632 -Force -ErrorAction SilentlyContinue\" sleep 1 cd \"g:/Dev/Тесты/BQ-System\")",
      "Bash(powershell -Command \"Stop-Process -Id 13632 -Force\")",
      "Bash(powershell -Command \"Stop-Process -Id 11320 -Force\")",
      "Bash(powershell -Command \"Stop-Process -Id 44452 -Force\")",
      "Bash(grep -rn \"function esc\\(s\\)\" frontend/*.html)",
      "Bash(grep -rln \"Аналитика\\\\|Банк вопросов\\\\|Live-квиз\" frontend/*.html)",
      "Bash(powershell -Command \"Stop-Process -Id 62712 -Force\")",
      "Bash(findstr /i classroom)",
      "Bash(powershell -Command \"Stop-Process -Id 71864 -Force\")",
      "Bash(grep -n \"addClient\\\\|notifications/stream\" backend/src/controllers/*.js)",
      "Bash(tasklist /FI \"IMAGENAME eq node.exe\")",
      "Bash(taskkill /F /PID 24032)",
      "Bash(powershell -Command \"Stop-Process -Id 24032 -Force -ErrorAction SilentlyContinue; Write-Output 'done'\")",
      "Bash(ls frontend/gradebook*)",
      "Bash(awk -F: '{print $1}')",
      "Bash(npm --prefix backend run dev)",
      "Bash(taskkill /PID 78248 /F)",
      "Bash(cmd /c \"taskkill /PID 78248 /F\")",
      "Bash(cmd /c \"taskkill /F /PID 78248\")",
      "Bash(cmd /c \"taskkill /F /PID 78248 2>&1\")",
      "Bash(powershell -Command \"Stop-Process -Id 78248 -Force -ErrorAction SilentlyContinue; Start-Sleep -Seconds 1; Get-Process -Id 78248 -ErrorAction SilentlyContinue\")",
      "Bash(powershell -Command \"Get-NetTCPConnection -LocalPort 3000 -State Listen | Select-Object -ExpandProperty OwningProcess\")",
      "Bash(powershell -Command \"Stop-Process -Id 45184 -Force\")",
      "Bash(powershell -Command \"Start-Sleep 2; \\(Get-NetTCPConnection -LocalPort 3000 -State Listen -ErrorAction SilentlyContinue\\).OwningProcess\")",
      "Read(//c/Users/Home/AppData/Local/Temp/**)",
      "Bash(curl -s -I \"http://localhost:3000/js/api.js\")",
      "Bash(curl -s \"http://localhost:3000/js/api.js\")",
      "Bash(powershell -Command \"Stop-Process -Id 83740 -Force\")",
      "Bash(powershell -Command \"\\(Get-NetTCPConnection -LocalPort 3000 -State Listen\\).OwningProcess\")",
      "Bash(powershell -Command \"Get-Process -Id 57008 | Select-Object -ExpandProperty MainWindowTitle; \\(Get-WmiObject Win32_Process -Filter 'ProcessId=57008'\\).CommandLine\")",
      "Bash(powershell -Command \"Stop-Process -Id 57008 -Force\")",
      "Bash(powershell -Command \"Stop-Process -Id 37516 -Force\")",
      "Bash(powershell -Command \"Stop-Process -Id 2764 -Force\")",
      "Bash(powershell -Command \"Stop-Process -Id 81936 -Force\")",
      "Bash(powershell -Command \"Stop-Process -Id 40888 -Force\")",
      "Bash(powershell -Command \"\\(Get-WmiObject Win32_Process -Filter 'ProcessId=69696'\\).CommandLine\")",
      "Bash(curl -s \"http://localhost:3000/api/classroom/1/cursor\" -X POST -H \"Content-Type: application/json\" -d '{\"x\":0,\"y\":0}')",
      "Bash(powershell -Command \"Stop-Process -Id 69696 -Force\")",
      "Bash(powershell -Command \"Start-Sleep 1\")",
      "Bash(powershell -Command \"\\(Get-NetTCPConnection -LocalPort 3000 -State Listen -ErrorAction SilentlyContinue\\).OwningProcess\")",
      "Bash(powershell -Command \"Stop-Process -Id 10880 -Force\")",
      "Bash(grep -v '\\\\.js$')",
      "Bash(curl -s -X POST http://localhost:3000/api/auth/login -H \"Content-Type: application/json\" -d '{\"login\":\"admin\",\"password\":\"admin123\"}')",
      "Bash(curl -s -w '\\\\nHTTP_STATUS:%{http_code}' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Miwicm9sZSI6ImFkbWluIiwidmVyc2lvbiI6MCwiaWF0IjoxNzc1OTgyNzc2LCJleHAiOjE3NzYwNjkxNzZ9.FJ3Ya9X_Qg5fEUagPc1l8KrDnj2BaKrXarA-KRVr_QM' http://localhost:3000/api/classroom/6/pages)",
      "Bash(curl -s -w '\\\\nHTTP:%{http_code}' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Miwicm9sZSI6ImFkbWluIiwidmVyc2lvbiI6MCwiaWF0IjoxNzc1OTgyNzc2LCJleHAiOjE3NzYwNjkxNzZ9.FJ3Ya9X_Qg5fEUagPc1l8KrDnj2BaKrXarA-KRVr_QM' 'http://localhost:3000/api/classroom/6/strokes?page_num=1')",
      "Bash(wmic process:*)",
      "Bash(taskkill /F /PID 67276)",
      "Bash(cmd /c \"taskkill /F /PID 67276\")",
      "Bash(cmd /c \"taskkill /F /PID 67276 && echo killed\")",
      "Bash(cmd /c \"wmic process where ProcessId=67276 delete\")",
      "Bash(powershell -Command \"Stop-Process -Id 67276 -Force\")",
      "Bash(powershell -Command \"Start-Sleep -Milliseconds 1500; \\(Invoke-WebRequest -Uri 'http://localhost:3000/api/health' -UseBasicParsing\\).Content\")",
      "Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3000/lesson-history)",
      "Bash(curl -s http://localhost:3000/api/classroom/my/history -H \"Authorization: Bearer test\")",
      "Bash(curl -s -X DELETE http://localhost:3000/api/classroom/999/history -H \"Authorization: Bearer bad\")",
      "Bash(pkill -f \"node.*server\")",
      "Bash(grep -n \"</div>.*app-layout\\\\|<!-- app-layout\\\\|^</div>$\" frontend/classroom.html)",
      "Bash(taskkill /PID 1336 /F)",
      "Bash(taskkill /PID 55392 /F)",
      "Bash(taskkill /PID 60564 /F)",
      "Bash(ping -n 3 127.0.0.1)",
      "Bash(cmd /c \"taskkill /PID 60564 /F\")",
      "Bash(cmd /c \"taskkill /F /PID 60564 2>&1\")",
      "Bash(kill -9 60564)",
      "Bash(kill -9 9313)",
      "Read(//f/!Рабочие/ЦТ/Математика/**)",
      "Read(//f/!Рабочие/ЦТ/Физика/**)",
      "Read(//f/!����稥/��/��⥬�⨪�/**)",
      "PowerShell(Get-ChildItem \"F:\\\\!Рабочие\\\\ЦТ\\\\Математика\\\\Математика\\\\ЦТ-ЦЭ\" | Select-Object Name, @{N='MB';E={[math]::Round\\($_.Length/1MB,1\\)}} | Format-Table -AutoSize)",
      "Read(//f/!����稥/��/**)",
      "PowerShell(Get-ChildItem \"F:\\\\!Рабочие\\\\ЦТ\\\\Физика\\\\Сборники ЦЭ,ЦТ-20260116T125835Z-3-001\" | Select-Object Name, @{N='MB';E={[math]::Round\\($_.Length/1MB,1\\)}} | Format-Table -AutoSize)",
      "PowerShell(Get-ChildItem \"F:\\\\!Рабочие\\\\ЦТ\\\\Физика\\\\Сборники ЦТ-20260116T130104Z-3-001\" | Select-Object Name, @{N='MB';E={[math]::Round\\($_.Length/1MB,1\\)}} | Format-Table -AutoSize)",
      "PowerShell(Get-ChildItem \"F:\\\\!Рабочие\\\\ЦТ\\\\Физика\\\\Сборники ЦЭ,ЦТ-20260116T125835Z-3-001\\\\Сборники ЦЭ,ЦТ\" | Select-Object Name, @{N='MB';E={[math]::Round\\($_.Length/1MB,1\\)}} | Format-Table -AutoSize)",
      "PowerShell(Get-ChildItem \"F:\\\\!Рабочие\\\\ЦТ\\\\Физика\\\\Сборники ЦТ-20260116T130104Z-3-001\\\\Сборники ЦТ\" | Select-Object Name, @{N='MB';E={[math]::Round\\($_.Length/1MB,1\\)}} | Format-Table -AutoSize)",
      "Bash(git commit -m ' *)",
      "Bash(git push *)",
      "Bash(curl -s http://localhost:3000/api/subjects)",
      "PowerShell(\\(Get-Content \"g:\\\\Dev\\\\Тесты\\\\BQ-System\\\\frontend\\\\question-bank.html\"\\).Count)",
      "Bash(curl -s \"http://localhost:3000/api/subjects/math/topics\" -H \"Authorization: Bearer test\")"
    ],
    "additionalDirectories": [
      "\\tmp"
    ]
  },
  "enabledPlugins": {
    "ast-index@ast-index": true
  },
  "extraKnownMarketplaces": {
    "ast-index": {
      "source": {
        "source": "github",
        "repo": "defendend/Claude-ast-index-search"
      }
    }
  }
}
