diff --git a/.env.example b/.env.example
index 57587c8..b9f4cc5 100644
--- a/.env.example
+++ b/.env.example
@@ -16,5 +16,5 @@ S3_REGION="eu-central"
NEXT_PUBLIC_TURNSTILE_SITE_KEY=""
TURNSTILE_SECRET_KEY=""
-# Kinescope (добавить при получении платного плана)
-# KINESCOPE_API_KEY=""
+# Kinescope API
+KINESCOPE_API_KEY=""
diff --git a/.graphifyignore b/.graphifyignore
new file mode 100644
index 0000000..00b64bb
--- /dev/null
+++ b/.graphifyignore
@@ -0,0 +1,11 @@
+# Auto-generated Prisma client — раздувает граф 28 псевдо-сообществами
+src/generated/
+
+# Superpowers / Claude Code инфраструктура, к LMS-коду не относится
+.claude/
+
+# Build/cache артефакты (на всякий случай, помимо .gitignore)
+.next/
+out/
+build/
+coverage/
diff --git a/.sbt-track b/.sbt-track
new file mode 100644
index 0000000..e69de29
diff --git a/.superpowers/brainstorm/8559-1779175817/content/admin-views.html b/.superpowers/brainstorm/8559-1779175817/content/admin-views.html
new file mode 100644
index 0000000..17ae6b9
--- /dev/null
+++ b/.superpowers/brainstorm/8559-1779175817/content/admin-views.html
@@ -0,0 +1,86 @@
+
Как выглядит раздел «Вопросы» в админке?
+Список + открытый тред — выбери что ближе по ощущению
+
+
+
+
A
+
+
Список + боковая панель треда
+
Слева список вопросов, справа открывается тред. Как почтовый клиент — не уходишь со страницы.
+
+
+
+
+
+ Открытые 4
+ Закрытые
+
+
+
Алексей М.
+
Как экспортировать в PDF?
+
15 мин назад · 🔴 новое
+
+
+
Мария К.
+
Плагины не устанавливаются
+
2 часа назад
+
+
+
Иван С.
+
Синхронизация с телефоном
+
вчера · 🔴 новое
+
+
+
+
Как экспортировать в PDF?
+
Алексей М. · Obsidian. Полный курс
+
+ Привет! Пытаюсь экспортировать заметки в PDF через Pandoc, но получаю ошибку...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
B
+
+
Список → отдельная страница треда
+
Список всех вопросов, клик открывает отдельную страницу. Проще в реализации, больше места для переписки.
+
+
+
+
+ Как экспортировать в PDF?
+ ● ОТКРЫТ
+
+
+
+
Алексей · 14:32
+ Пытаюсь экспортировать через Pandoc, получаю ошибку...
+
+
+
Дмитрий (admin) · 14:55
+ Покажи текст ошибки?
+
+
+
Алексей · 15:01
+ "Error: pandoc not found in PATH"
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.superpowers/brainstorm/8559-1779175817/content/conversation-model.html b/.superpowers/brainstorm/8559-1779175817/content/conversation-model.html
new file mode 100644
index 0000000..cfa5ec7
--- /dev/null
+++ b/.superpowers/brainstorm/8559-1779175817/content/conversation-model.html
@@ -0,0 +1,56 @@
+Как устроен диалог после отправки вопроса?
+Влияет на структуру БД и сложность реализации
+
+
+
+
A
+
+
Один вопрос → один ответ
+
Студент задаёт вопрос. Админ отвечает один раз. Закрыто. Просто и быстро в реализации.
+
+
+
+
+
Ты · 14 мая
+
Как правильно настроить шаблоны в Obsidian?
+
+
+
Дмитрий · 15 мая ✅ Отвечено
+
Зайди в Настройки → Шаблоны → укажи папку...
+
+
+
+
+
+
+
+
B
+
+
Тред (переписка)
+
Студент и админ могут писать несколько сообщений. Как поддержка-чат внутри платформы.
+
+
+
+
+
Ты · 14 мая
+ Как настроить шаблоны?
+
+
+
Дмитрий · 15 мая
+ Зайди в Настройки → Шаблоны...
+
+
+
Ты · 15 мая
+ А какую папку лучше назвать?
+
+
Написать сообщение...
+
+
+
+
+
+
+
+
Рекомендация
+
Вариант А проще, закрывает 90% случаев. Тред (Б) полезен когда ответ требует уточнений, но добавляет ~40% сложности реализации.
+
diff --git a/.superpowers/brainstorm/8559-1779175817/content/entry-point.html b/.superpowers/brainstorm/8559-1779175817/content/entry-point.html
new file mode 100644
index 0000000..6c40961
--- /dev/null
+++ b/.superpowers/brainstorm/8559-1779175817/content/entry-point.html
@@ -0,0 +1,56 @@
+Где студент начинает «Задать вопрос»?
+Влияет на то, будет ли вопрос привязан к уроку или нет
+
+
+
+
A
+
+
Только главное меню
+
Пункт «Задать вопрос» в хедере / sidebar студента. Общий вопрос без привязки к уроку.
+
+
+
+
📚 Мои курсы
+
👤 Профиль
+
❓ Задать вопрос
+
+
+
+
+
+
+
B
+
+
Только со страницы урока
+
Кнопка на странице урока рядом с комментариями. Вопрос автоматически привязан к курсу и уроку.
+
+
+
+
💬 Комментарии (3)
+
+
Написать комментарий
+
❓ Задать приватный вопрос
+
+
+
+
+
+
+
+
C
+
+
Оба места
+
Пункт в меню для общих вопросов + кнопка на уроке для вопросов по конкретному уроку. Контекст подставляется автоматически.
+
+
+
+
+
Меню → общий вопрос
+
Урок → вопрос по уроку
+
+
→ Один список у админа: «Вопросы учеников»
+
+
+
+
+
diff --git a/.superpowers/brainstorm/8559-1779175817/content/student-questions.html b/.superpowers/brainstorm/8559-1779175817/content/student-questions.html
new file mode 100644
index 0000000..350ad05
--- /dev/null
+++ b/.superpowers/brainstorm/8559-1779175817/content/student-questions.html
@@ -0,0 +1,108 @@
+Студент — раздел «Мои вопросы»
+Список + открытый тред. Скажи что поправить.
+
+
+
+
+
+
+
+
+
+ Мои вопросы
+
+
+
+
+
+
+ Как настроить синхронизацию с телефоном?
+ ● ОТКРЫТ
+
+
3 сообщения · последнее от Дмитрия
+
+
+ Новый ответ от школы
+ · 20 мин назад
+
+
+
+
+
+
+ Ошибка при установке плагина Dataview
+ ● ОТКРЫТ
+
+
2 сообщения · ожидает ответа школы
+
+
+
+
+
+ Как экспортировать заметки в PDF?
+ ✓ ЗАКРЫТ
+
+
5 сообщений · закрыт 10 мая
+
+
+
+
+
+
+
+
+
+
+
+
+
Как настроить синхронизацию с телефоном?
+
Создан 18 мая · ● Открыт
+
+
← Все вопросы
+
+
+
+
+
+
+
Ты · 18 мая, 10:14
+
Привет! Хочу синхронизировать хранилище между Mac и iPhone. Пробовал iCloud, но заметки иногда конфликтуют. Есть ли рекомендованный способ?
+
+
+
+
Дмитрий (куратор) · 18 мая, 11:30
+
Рекомендую Obsidian Sync — он создан специально для этого. Или как альтернатива — Working Copy + Git. Какой вариант тебе ближе?
+
+
+
+
Ты · 18 мая, 11:45
+
Лучше без платной подписки если можно. Расскажи про Working Copy?
+
+
+ 📎 screenshot.png · 84 KB
+
+
+
+
+
Дмитрий (куратор) · 18 мая, 20 мин назад · 🔵 новое
+
Working Copy — это Git-клиент для iOS. Схема: хранилище в приватном репо GitHub, Working Copy на телефоне синкает его автоматически...
+
+
+
+
+
+
+
+
+
+
+ jpg, png, pdf, md · до 10 МБ
+
+
+
+
+
+
+
+
+
diff --git a/.superpowers/brainstorm/8559-1779175817/content/waiting-1.html b/.superpowers/brainstorm/8559-1779175817/content/waiting-1.html
new file mode 100644
index 0000000..ef07652
--- /dev/null
+++ b/.superpowers/brainstorm/8559-1779175817/content/waiting-1.html
@@ -0,0 +1,3 @@
+
+
Continuing in terminal...
+
diff --git a/.superpowers/brainstorm/8559-1779175817/content/waiting-2.html b/.superpowers/brainstorm/8559-1779175817/content/waiting-2.html
new file mode 100644
index 0000000..6e00bdc
--- /dev/null
+++ b/.superpowers/brainstorm/8559-1779175817/content/waiting-2.html
@@ -0,0 +1,3 @@
+
+
Presenting design in terminal...
+
diff --git a/.superpowers/brainstorm/8559-1779175817/state/server-stopped b/.superpowers/brainstorm/8559-1779175817/state/server-stopped
new file mode 100644
index 0000000..7181d8c
--- /dev/null
+++ b/.superpowers/brainstorm/8559-1779175817/state/server-stopped
@@ -0,0 +1 @@
+{"reason":"idle timeout","timestamp":1779178878212}
diff --git a/.superpowers/brainstorm/8559-1779175817/state/server.log b/.superpowers/brainstorm/8559-1779175817/state/server.log
new file mode 100644
index 0000000..fffab17
--- /dev/null
+++ b/.superpowers/brainstorm/8559-1779175817/state/server.log
@@ -0,0 +1,10 @@
+{"type":"server-started","port":49771,"host":"127.0.0.1","url_host":"localhost","url":"http://localhost:49771","screen_dir":"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content","state_dir":"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/state"}
+{"type":"screen-added","file":"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/entry-point.html"}
+{"source":"user-event","type":"click","text":"A\n \n Только главное меню\n Пункт «Задать вопрос» в хедере / sidebar студента. Общий вопрос без привязки к уроку.\n \n Студент — sidebar\n \n 📚 Мои курсы\n 👤 Профиль\n ❓ Задать вопрос","choice":"a","id":null,"timestamp":1779175897914}
+{"type":"screen-added","file":"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/conversation-model.html"}
+{"source":"user-event","type":"click","text":"B\n \n Тред (переписка)\n Студент и админ могут писать несколько сообщений. Как поддержка-чат внутри платформы.\n \n Тред вопроса\n \n \n Ты · 14 мая\n Как настроить шаблоны?\n \n \n Дмитрий · 15 мая\n Зайди в Настройки → Шаблоны...\n \n \n Ты · 15 мая\n А какую папку лучше назвать?\n \n Написать сообщение...","choice":"b","id":null,"timestamp":1779176002499}
+{"type":"screen-added","file":"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/waiting-1.html"}
+{"type":"screen-added","file":"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/admin-views.html"}
+{"type":"screen-added","file":"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/waiting-2.html"}
+{"type":"screen-added","file":"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/student-questions.html"}
+{"type":"server-stopped","reason":"idle timeout"}
diff --git a/.superpowers/brainstorm/8559-1779175817/state/server.pid b/.superpowers/brainstorm/8559-1779175817/state/server.pid
new file mode 100644
index 0000000..3e989dd
--- /dev/null
+++ b/.superpowers/brainstorm/8559-1779175817/state/server.pid
@@ -0,0 +1 @@
+8568
diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json
new file mode 100644
index 0000000..19cd9e4
--- /dev/null
+++ b/graphify-out/.graphify_labels.json
@@ -0,0 +1 @@
+{"0": "Admin Categories & UI Library", "1": "Auth Flow & App Settings", "2": "Markdown→TipTap Import", "3": "Email Notifications & Q&A API", "4": "Student Lesson Player", "5": "Auth/Session & Student Profile", "6": "Lesson Editor & Quiz Tools", "7": "Admin User Detail (Balance/Contact)", "8": "Next.js Config", "9": "Course Tree & Module Sorting", "10": "CSV Import/Export", "11": "Curator Homework Review", "12": "Components Manifest", "13": "Prisma Client & Dashboards", "14": "Admin Users List & Enroll", "15": "TSConfig", "16": "S3 Upload Routes", "17": "Module Page & Lesson Sorting", "18": "Cross-cutting Course Actions", "19": "Create-User Form", "20": "Load Testing", "21": "Admin Comments Moderation", "22": "Admin Questions Split View", "23": "Bridge: Shared Libs (auth/prisma/email)", "24": "Module Actions Standalone", "25": "Student Course Sidebar Layout", "26": "Question Thread UI", "27": "Admin/Curator Dashboards", "28": "Homework Filters", "29": "Student New Question Page", "30": "Prisma Seed", "31": "Admin Homework Actions", "32": "Middleware", "33": "Email→Homework→Questions Bridge", "34": "Tech Docs & Prisma Schema", "35": "Lesson Actions Lib", "36": "Student Comment Actions", "37": "Lesson Actions + Prisma Bridge", "38": "Project Docs (CLAUDE/ROADMAP)", "39": "Homework Editor↔Actions Pair", "40": "File-format Badge & Files Manager", "41": "Auth↔Middleware Pair", "42": "ESLint Config", "43": "PostCSS Config", "44": "Lesson Editor↔md-to-tiptap", "45": "Sortable Lessons↔Module Actions", "46": "Quiz Editor↔Quiz Actions", "47": "Backup Script", "48": "Verify Email Page", "49": "Maintenance Page", "50": "Sonner Toast", "51": "User Enrollment Pair", "52": "Community 52", "53": "Community 53", "54": "Community 54", "55": "Community 55", "56": "Community 56", "57": "Community 57", "58": "Community 58", "59": "Community 59", "60": "Community 60", "61": "Community 61", "62": "Community 62", "63": "Community 63", "64": "Community 64", "65": "Community 65", "66": "Community 66", "67": "Community 67", "68": "Community 68", "69": "Community 69", "70": "Community 70", "71": "Community 71", "72": "Community 72", "73": "Community 73", "74": "Community 74", "75": "Community 75", "76": "Community 76", "77": "Community 77", "78": "Community 78"}
\ No newline at end of file
diff --git a/graphify-out/.graphify_python b/graphify-out/.graphify_python
new file mode 100644
index 0000000..123a8dd
--- /dev/null
+++ b/graphify-out/.graphify_python
@@ -0,0 +1 @@
+/Users/dementiy/.local/share/uv/tools/graphifyy/bin/python3
\ No newline at end of file
diff --git a/graphify-out/.graphify_root b/graphify-out/.graphify_root
new file mode 100644
index 0000000..04a9f34
--- /dev/null
+++ b/graphify-out/.graphify_root
@@ -0,0 +1 @@
+/Users/dementiy/Documents/Claude/lms-system
diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md
new file mode 100644
index 0000000..10b8d25
--- /dev/null
+++ b/graphify-out/GRAPH_REPORT.md
@@ -0,0 +1,253 @@
+# Graph Report - /Users/dementiy/Documents/Claude/lms-system (2026-05-20)
+
+## Corpus Check
+- 189 files · ~66,515 words
+- Verdict: corpus is large enough that graph structure adds value.
+
+## Summary
+- 747 nodes · 1213 edges · 79 communities (37 shown, 42 thin omitted)
+- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS · INFERRED: 4 edges (avg confidence: 0.85)
+- Token cost: 193,752 input · 7,975 output
+
+## Community Hubs (Navigation)
+- [[_COMMUNITY_Admin Categories & UI Library|Admin Categories & UI Library]]
+- [[_COMMUNITY_Auth Flow & App Settings|Auth Flow & App Settings]]
+- [[_COMMUNITY_Markdown→TipTap Import|Markdown→TipTap Import]]
+- [[_COMMUNITY_Email Notifications & Q&A API|Email Notifications & Q&A API]]
+- [[_COMMUNITY_Student Lesson Player|Student Lesson Player]]
+- [[_COMMUNITY_AuthSession & Student Profile|Auth/Session & Student Profile]]
+- [[_COMMUNITY_Lesson Editor & Quiz Tools|Lesson Editor & Quiz Tools]]
+- [[_COMMUNITY_Admin User Detail (BalanceContact)|Admin User Detail (Balance/Contact)]]
+- [[_COMMUNITY_Next.js Config|Next.js Config]]
+- [[_COMMUNITY_Course Tree & Module Sorting|Course Tree & Module Sorting]]
+- [[_COMMUNITY_CSV ImportExport|CSV Import/Export]]
+- [[_COMMUNITY_Curator Homework Review|Curator Homework Review]]
+- [[_COMMUNITY_Components Manifest|Components Manifest]]
+- [[_COMMUNITY_Prisma Client & Dashboards|Prisma Client & Dashboards]]
+- [[_COMMUNITY_Admin Users List & Enroll|Admin Users List & Enroll]]
+- [[_COMMUNITY_TSConfig|TSConfig]]
+- [[_COMMUNITY_S3 Upload Routes|S3 Upload Routes]]
+- [[_COMMUNITY_Module Page & Lesson Sorting|Module Page & Lesson Sorting]]
+- [[_COMMUNITY_Cross-cutting Course Actions|Cross-cutting Course Actions]]
+- [[_COMMUNITY_Create-User Form|Create-User Form]]
+- [[_COMMUNITY_Load Testing|Load Testing]]
+- [[_COMMUNITY_Admin Comments Moderation|Admin Comments Moderation]]
+- [[_COMMUNITY_Admin Questions Split View|Admin Questions Split View]]
+- [[_COMMUNITY_Bridge Shared Libs (authprismaemail)|Bridge: Shared Libs (auth/prisma/email)]]
+- [[_COMMUNITY_Module Actions Standalone|Module Actions Standalone]]
+- [[_COMMUNITY_Student Course Sidebar Layout|Student Course Sidebar Layout]]
+- [[_COMMUNITY_Question Thread UI|Question Thread UI]]
+- [[_COMMUNITY_AdminCurator Dashboards|Admin/Curator Dashboards]]
+- [[_COMMUNITY_Homework Filters|Homework Filters]]
+- [[_COMMUNITY_Student New Question Page|Student New Question Page]]
+- [[_COMMUNITY_Prisma Seed|Prisma Seed]]
+- [[_COMMUNITY_Admin Homework Actions|Admin Homework Actions]]
+- [[_COMMUNITY_Middleware|Middleware]]
+- [[_COMMUNITY_Email→Homework→Questions Bridge|Email→Homework→Questions Bridge]]
+- [[_COMMUNITY_Tech Docs & Prisma Schema|Tech Docs & Prisma Schema]]
+- [[_COMMUNITY_Lesson Actions Lib|Lesson Actions Lib]]
+- [[_COMMUNITY_Lesson Actions + Prisma Bridge|Lesson Actions + Prisma Bridge]]
+- [[_COMMUNITY_Project Docs (CLAUDEROADMAP)|Project Docs (CLAUDE/ROADMAP)]]
+- [[_COMMUNITY_Homework Editor↔Actions Pair|Homework Editor↔Actions Pair]]
+- [[_COMMUNITY_File-format Badge & Files Manager|File-format Badge & Files Manager]]
+- [[_COMMUNITY_Auth↔Middleware Pair|Auth↔Middleware Pair]]
+- [[_COMMUNITY_ESLint Config|ESLint Config]]
+- [[_COMMUNITY_PostCSS Config|PostCSS Config]]
+- [[_COMMUNITY_Lesson Editor↔md-to-tiptap|Lesson Editor↔md-to-tiptap]]
+- [[_COMMUNITY_Sortable Lessons↔Module Actions|Sortable Lessons↔Module Actions]]
+- [[_COMMUNITY_Quiz Editor↔Quiz Actions|Quiz Editor↔Quiz Actions]]
+- [[_COMMUNITY_User Enrollment Pair|User Enrollment Pair]]
+- [[_COMMUNITY_Community 54|Community 54]]
+- [[_COMMUNITY_Community 55|Community 55]]
+- [[_COMMUNITY_Community 56|Community 56]]
+- [[_COMMUNITY_Community 57|Community 57]]
+- [[_COMMUNITY_Community 58|Community 58]]
+- [[_COMMUNITY_Community 59|Community 59]]
+- [[_COMMUNITY_Community 60|Community 60]]
+- [[_COMMUNITY_Community 61|Community 61]]
+- [[_COMMUNITY_Community 62|Community 62]]
+- [[_COMMUNITY_Community 63|Community 63]]
+- [[_COMMUNITY_Community 64|Community 64]]
+- [[_COMMUNITY_Community 65|Community 65]]
+- [[_COMMUNITY_Community 66|Community 66]]
+- [[_COMMUNITY_Community 67|Community 67]]
+- [[_COMMUNITY_Community 68|Community 68]]
+- [[_COMMUNITY_Community 69|Community 69]]
+- [[_COMMUNITY_Community 70|Community 70]]
+- [[_COMMUNITY_Community 71|Community 71]]
+- [[_COMMUNITY_Community 72|Community 72]]
+- [[_COMMUNITY_Community 73|Community 73]]
+- [[_COMMUNITY_Community 74|Community 74]]
+- [[_COMMUNITY_Community 75|Community 75]]
+- [[_COMMUNITY_Community 76|Community 76]]
+- [[_COMMUNITY_Community 77|Community 77]]
+- [[_COMMUNITY_Community 78|Community 78]]
+
+## God Nodes (most connected - your core abstractions)
+1. `auth` - 55 edges
+2. `cn()` - 39 edges
+3. `compilerOptions` - 16 edges
+4. `getSetting()` - 15 edges
+5. `uploadFile()` - 14 edges
+6. `getSchoolName()` - 13 edges
+7. `Prisma Client` - 13 edges
+8. `getResend()` - 12 edges
+9. `base()` - 12 edges
+10. `btn()` - 12 edges
+
+## Surprising Connections (you probably didn't know these)
+- `cn()` --calls--> `clsx` [INFERRED]
+ src/lib/utils.ts → package.json
+- `mdToTiptap()` --calls--> `unified` [INFERRED]
+ src/lib/md-to-tiptap.ts → package.json
+- `Claude Project Rules` --references--> `Project Roadmap` [EXTRACTED]
+ CLAUDE.md → ROADMAP.md
+- `Technical Documentation` --references--> `Prisma Schema` [EXTRACTED]
+ TECHNICAL.md → prisma/schema.prisma
+- `generateMetadata()` --calls--> `getSettings` [EXTRACTED]
+ src/app/layout.tsx → src/lib/settings.ts
+
+## Communities (79 total, 42 thin omitted)
+
+### Community 0 - "Admin Categories & UI Library"
+Cohesion: 0.06
+Nodes (49): CategoryRow(), Props, Category, Course, CreateCourseDialog(), createCategory(), deleteCategory(), requireAdmin() (+41 more)
+
+### Community 1 - "Auth Flow & App Settings"
+Cohesion: 0.07
+Nodes (29): AdminNav(), links, AdminShell(), focusHandlers, inputStyle, SettingsForm(), StopImpersonateBanner(), firaMono (+21 more)
+
+### Community 2 - "Markdown→TipTap Import"
+Cohesion: 0.05
+Nodes (41): POST(), convertBlock(), convertInline(), Mark, MdastNode, mdToTiptap(), TipTapNode, dependencies (+33 more)
+
+### Community 3 - "Email Notifications & Q&A API"
+Cohesion: 0.15
+Nodes (30): createModule(), deleteModule(), grantAccess(), reorderModules(), requireAdmin(), revokeAccess(), updateModule(), HomeworkFile (+22 more)
+
+### Community 4 - "Student Lesson Player"
+Cohesion: 0.08
+Nodes (24): addComment(), deleteComment(), HomeworkFile, submitHomework(), submitQuizAttempt(), toggleLessonProgress(), parseNotificationEmails(), KinescopePlayer() (+16 more)
+
+### Community 5 - "Auth/Session & Student Profile"
+Cohesion: 0.09
+Nodes (6): { GET, POST }, auth, Session, User, metadata, POST()
+
+### Community 6 - "Lesson Editor & Quiz Tools"
+Cohesion: 0.09
+Nodes (22): deleteHomework(), requireAdmin(), saveHomework(), deleteQuiz(), requireAdmin(), saveQuiz(), HomeworkEditor(), Props (+14 more)
+
+### Community 7 - "Admin User Detail (Balance/Contact)"
+Cohesion: 0.10
+Nodes (25): bulkGrantAccess(), requireAdmin(), revokeUserAccess(), focusHandlers, formatAmount(), inputStyle, Props, Transaction (+17 more)
+
+### Community 8 - "Next.js Config"
+Cohesion: 0.07
+Nodes (26): nextConfig, devDependencies, dotenv, eslint, eslint-config-next, prisma, tailwindcss, @tailwindcss/postcss (+18 more)
+
+### Community 9 - "Course Tree & Module Sorting"
+Cohesion: 0.13
+Nodes (19): createModule(), deleteModule(), grantAccess(), reorderModules(), requireAdmin(), revokeAccess(), updateModule(), CourseEditForm() (+11 more)
+
+### Community 10 - "CSV Import/Export"
+Cohesion: 0.12
+Nodes (18): Course, CsvExporter(), focusHandlers, inputStyle, Course, CsvImporter(), focusHandlers, inputStyle (+10 more)
+
+### Community 11 - "Curator Homework Review"
+Cohesion: 0.12
+Nodes (14): AudioRecorder(), AudioRecorderProps, ContentViewer(), asBool(), deleteSubmission(), requireCurator(), setReviewing(), submitFeedback() (+6 more)
+
+### Community 12 - "Components Manifest"
+Cohesion: 0.09
+Nodes (21): aliases, components, hooks, lib, ui, utils, iconLibrary, menuAccent (+13 more)
+
+### Community 13 - "Prisma Client & Dashboards"
+Cohesion: 0.10
+Nodes (7): Props, requireAdmin(), saveLesson(), globalForPrisma, Props, metadata, Props
+
+### Community 14 - "Admin Users List & Enroll"
+Cohesion: 0.12
+Nodes (14): Course, Props, QuickEnrollButton(), inputStyle, UsersSearch(), Enrollment, roleLabel, roleVariant (+6 more)
+
+### Community 15 - "TSConfig"
+Cohesion: 0.10
+Nodes (19): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+11 more)
+
+### Community 16 - "S3 Upload Routes"
+Cohesion: 0.22
+Nodes (12): POST(), POST(), DELETE(), PATCH(), POST(), requireAdmin(), deleteFile(), getPublicUrl() (+4 more)
+
+### Community 17 - "Module Page & Lesson Sorting"
+Cohesion: 0.23
+Nodes (11): createLesson(), deleteLesson(), moveLessonToModule(), reorderLessons(), requireAdmin(), toggleLessonPublished(), updateLesson(), Lesson (+3 more)
+
+### Community 18 - "Cross-cutting Course Actions"
+Cohesion: 0.12
+Nodes (16): Course Detail Page, Create Course Action, Admin Dashboard, AdminLayout(), Create Lesson Action, Create Module Action, User Detail Page, Create User Action (+8 more)
+
+### Community 19 - "Create-User Form"
+Cohesion: 0.18
+Nodes (6): CreateUserForm(), focusHandlers, inputStyle, ROLES, metadata, createUser()
+
+### Community 20 - "Load Testing"
+Cohesion: 0.20
+Nodes (9): BROWSER_HEADERS, courseRes, dashRes, jar, lessonRes, LESSONS, loginRes, options (+1 more)
+
+### Community 21 - "Admin Comments Moderation"
+Cohesion: 0.24
+Nodes (6): Comment, CommentsTable(), inputStyle, adminDeleteComment(), metadata, Props
+
+### Community 22 - "Admin Questions Split View"
+Cohesion: 0.22
+Nodes (5): FileAttachment, Message, QuestionDetail, QuestionSplitView(), QuestionSummary
+
+### Community 23 - "Bridge: Shared Libs (auth/prisma/email)"
+Cohesion: 0.22
+Nodes (9): AudioRecorder, Better Auth, grantAccess, Email Senders, EnrollmentManager, HomeworkSection, Prisma Client, getSettings (+1 more)
+
+### Community 24 - "Module Actions Standalone"
+Cohesion: 0.46
+Nodes (7): createLesson(), deleteLesson(), moveLessonToModule(), reorderLessons(), requireAdmin(), toggleLessonPublished(), updateLesson()
+
+### Community 25 - "Student Course Sidebar Layout"
+Cohesion: 0.29
+Nodes (5): Props, Course, CourseSidebar(), Lesson, Module
+
+### Community 26 - "Question Thread UI"
+Cohesion: 0.29
+Nodes (4): FileAttachment, Message, QuestionThread(), QuestionThreadProps
+
+### Community 31 - "Admin Homework Actions"
+Cohesion: 0.83
+Nodes (3): deleteHomework(), requireAdmin(), saveHomework()
+
+### Community 33 - "Email→Homework→Questions Bridge"
+Cohesion: 0.67
+Nodes (3): Questions API Route, Email Helpers (Resend), Homework Submission Actions
+
+### Community 37 - "Lesson Actions + Prisma Bridge"
+Cohesion: 0.67
+Nodes (3): Prisma Client Singleton, Lesson Comment Actions, Lesson Progress Actions
+
+## Knowledge Gaps
+- **278 isolated node(s):** `config`, `LESSONS`, `TEST_USER`, `BROWSER_HEADERS`, `options` (+273 more)
+ These have ≤1 connection - possible missing edges or undocumented components.
+- **42 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
+
+## Suggested Questions
+_Questions this graph is uniquely positioned to answer:_
+
+- **Why does `dependencies` connect `Markdown→TipTap Import` to `Next.js Config`, `Cross-cutting Course Actions`?**
+ _High betweenness centrality (0.128) - this node is a cross-community bridge._
+- **Why does `auth` connect `Auth/Session & Student Profile` to `Admin Categories & UI Library`, `Auth Flow & App Settings`, `Markdown→TipTap Import`, `Email Notifications & Q&A API`, `Student Lesson Player`, `Lesson Editor & Quiz Tools`, `Admin User Detail (Balance/Contact)`, `Course Tree & Module Sorting`, `CSV Import/Export`, `Curator Homework Review`, `Prisma Client & Dashboards`, `Admin Users List & Enroll`, `S3 Upload Routes`, `Module Page & Lesson Sorting`, `Admin Comments Moderation`, `Admin Questions Split View`, `Module Actions Standalone`, `Student Course Sidebar Layout`, `Admin/Curator Dashboards`, `Admin Homework Actions`, `Lesson Actions Lib`, `Student Comment Actions`?**
+ _High betweenness centrality (0.121) - this node is a cross-community bridge._
+- **What connects `config`, `LESSONS`, `TEST_USER` to the rest of the system?**
+ _278 weakly-connected nodes found - possible documentation gaps or missing edges._
+- **Should `Admin Categories & UI Library` be split into smaller, more focused modules?**
+ _Cohesion score 0.06377151799687011 - nodes in this community are weakly interconnected._
+- **Should `Auth Flow & App Settings` be split into smaller, more focused modules?**
+ _Cohesion score 0.06787330316742081 - nodes in this community are weakly interconnected._
+- **Should `Markdown→TipTap Import` be split into smaller, more focused modules?**
+ _Cohesion score 0.05094130675526024 - nodes in this community are weakly interconnected._
+- **Should `Student Lesson Player` be split into smaller, more focused modules?**
+ _Cohesion score 0.08235294117647059 - nodes in this community are weakly interconnected._
\ No newline at end of file
diff --git a/graphify-out/cache/ast/021167f20a006840db24ce705a6502e32768c314b6b4d16101064e93211a3603.json b/graphify-out/cache/ast/021167f20a006840db24ce705a6502e32768c314b6b4d16101064e93211a3603.json
new file mode 100644
index 0000000..ebde59e
--- /dev/null
+++ b/graphify-out/cache/ast/021167f20a006840db24ce705a6502e32768c314b6b4d16101064e93211a3603.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "label": "user-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L1"}, {"id": "actions_user_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L8"}, {"id": "actions_user_actions_bulkgrantaccess", "label": "bulkGrantAccess()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L14"}, {"id": "actions_user_actions_revokeuseraccess", "label": "revokeUserAccess()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L44"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "target": "actions_user_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "target": "actions_user_actions_bulkgrantaccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "target": "actions_user_actions_revokeuseraccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L44", "weight": 1.0}, {"source": "actions_user_actions_bulkgrantaccess", "target": "actions_user_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L19", "weight": 1.0}, {"source": "actions_user_actions_revokeuseraccess", "target": "actions_user_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L45", "weight": 1.0}], "raw_calls": [{"caller_nid": "actions_user_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L9"}, {"caller_nid": "actions_user_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L9"}, {"caller_nid": "actions_user_actions_bulkgrantaccess", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L22"}, {"caller_nid": "actions_user_actions_bulkgrantaccess", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L23"}, {"caller_nid": "actions_user_actions_bulkgrantaccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L41"}, {"caller_nid": "actions_user_actions_revokeuseraccess", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L46"}, {"caller_nid": "actions_user_actions_revokeuseraccess", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L49"}, {"caller_nid": "actions_user_actions_revokeuseraccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts", "source_location": "L58"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/022cdb24302b285153751915110368fce63ca691bc3bdf049a90c22b7270d1d7.json b/graphify-out/cache/ast/022cdb24302b285153751915110368fce63ca691bc3bdf049a90c22b7270d1d7.json
new file mode 100644
index 0000000..4a71e39
--- /dev/null
+++ b/graphify-out/cache/ast/022cdb24302b285153751915110368fce63ca691bc3bdf049a90c22b7270d1d7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_layout_logout_button_tsx", "label": "logout-button.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/layout/logout-button.tsx", "source_location": "L1"}, {"id": "layout_logout_button_logoutbutton", "label": "LogoutButton()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/layout/logout-button.tsx", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_layout_logout_button_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/layout/logout-button.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_layout_logout_button_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_client_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/layout/logout-button.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_layout_logout_button_tsx", "target": "lib_auth_client_signout", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/layout/logout-button.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_layout_logout_button_tsx", "target": "layout_logout_button_logoutbutton", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/layout/logout-button.tsx", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "layout_logout_button_logoutbutton", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/layout/logout-button.tsx", "source_location": "L7"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/02ecf5b0b3f72c5c37d6d6d0d3b3a67f75d254c4f3bd5df67d45b30c296d233e.json b/graphify-out/cache/ast/02ecf5b0b3f72c5c37d6d6d0d3b3a67f75d254c4f3bd5df67d45b30c296d233e.json
new file mode 100644
index 0000000..dc46eae
--- /dev/null
+++ b/graphify-out/cache/ast/02ecf5b0b3f72c5c37d6d6d0d3b3a67f75d254c4f3bd5df67d45b30c296d233e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_prisma_config_ts", "label": "prisma.config.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma.config.ts", "source_location": "L1"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_prisma_config_ts", "target": "config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma.config.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_prisma_config_ts", "target": "config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma.config.ts", "source_location": "L4", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/04343e2179644ab3b46e3c2613291521c1ccd347fee29e20a883f9f3cad758cd.json b/graphify-out/cache/ast/04343e2179644ab3b46e3c2613291521c1ccd347fee29e20a883f9f3cad758cd.json
new file mode 100644
index 0000000..cbb6b50
--- /dev/null
+++ b/graphify-out/cache/ast/04343e2179644ab3b46e3c2613291521c1ccd347fee29e20a883f9f3cad758cd.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "label": "enrollment-manager.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L1"}, {"id": "admin_enrollment_manager_student", "label": "Student", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L8"}, {"id": "admin_enrollment_manager_enrollment", "label": "Enrollment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L14"}, {"id": "admin_enrollment_manager_logentry", "label": "LogEntry", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L19"}, {"id": "admin_enrollment_manager_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L28"}, {"id": "admin_enrollment_manager_enrollmentmanager", "label": "EnrollmentManager()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L35"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "ui_input_input", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "ui_button_button", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "actions_course_actions_grantaccess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "actions_course_actions_revokeaccess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "admin_enrollment_manager_student", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "admin_enrollment_manager_enrollment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "admin_enrollment_manager_logentry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L19", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "admin_enrollment_manager_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L28", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "target": "admin_enrollment_manager_enrollmentmanager", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L35", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L36"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L39"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L40"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L41"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L42"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L43"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L45"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L65"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L89"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L131"}, {"caller_nid": "admin_enrollment_manager_enrollmentmanager", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx", "source_location": "L169"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/0a1249e3d8a5f3175b8bdc8c4e3c203ddb5c2e581fdfafbaf5a7875a85647849.json b/graphify-out/cache/ast/0a1249e3d8a5f3175b8bdc8c4e3c203ddb5c2e581fdfafbaf5a7875a85647849.json
new file mode 100644
index 0000000..8d06017
--- /dev/null
+++ b/graphify-out/cache/ast/0a1249e3d8a5f3175b8bdc8c4e3c203ddb5c2e581fdfafbaf5a7875a85647849.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L1"}, {"id": "import_export_page_metadata", "label": "metadata", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L5"}, {"id": "import_export_page_importexportpage", "label": "ImportExportPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_page_tsx", "target": "admin_csv_importer_csvimporter", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_exporter_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_page_tsx", "target": "admin_csv_exporter_csvexporter", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_page_tsx", "target": "import_export_page_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_page_tsx", "target": "import_export_page_importexportpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "import_export_page_importexportpage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx", "source_location": "L8"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/0c32d32204668401137b8fb047f4153869e9d3a9fe9d7809854ddb082d3dcc60.json b/graphify-out/cache/ast/0c32d32204668401137b8fb047f4153869e9d3a9fe9d7809854ddb082d3dcc60.json
new file mode 100644
index 0000000..3592552
--- /dev/null
+++ b/graphify-out/cache/ast/0c32d32204668401137b8fb047f4153869e9d3a9fe9d7809854ddb082d3dcc60.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L1"}, {"id": "moduleid_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L9"}, {"id": "moduleid_actions_createlesson", "label": "createLesson()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L14"}, {"id": "moduleid_actions_updatelesson", "label": "updateLesson()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L26"}, {"id": "moduleid_actions_deletelesson", "label": "deleteLesson()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L33"}, {"id": "moduleid_actions_reorderlessons", "label": "reorderLessons()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L39"}, {"id": "moduleid_actions_togglelessonpublished", "label": "toggleLessonPublished()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L49"}, {"id": "moduleid_actions_movelessontomodule", "label": "moveLessonToModule()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L64"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "moduleid_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "moduleid_actions_createlesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "moduleid_actions_updatelesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L26", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "moduleid_actions_deletelesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L33", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "moduleid_actions_reorderlessons", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L39", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "moduleid_actions_togglelessonpublished", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L49", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_actions_ts", "target": "moduleid_actions_movelessontomodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L64", "weight": 1.0}, {"source": "moduleid_actions_createlesson", "target": "moduleid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L15", "weight": 1.0}, {"source": "moduleid_actions_updatelesson", "target": "moduleid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L27", "weight": 1.0}, {"source": "moduleid_actions_deletelesson", "target": "moduleid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L34", "weight": 1.0}, {"source": "moduleid_actions_reorderlessons", "target": "moduleid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L40", "weight": 1.0}, {"source": "moduleid_actions_togglelessonpublished", "target": "moduleid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L55", "weight": 1.0}, {"source": "moduleid_actions_movelessontomodule", "target": "moduleid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L70", "weight": 1.0}], "raw_calls": [{"caller_nid": "moduleid_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L10"}, {"caller_nid": "moduleid_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L10"}, {"caller_nid": "moduleid_actions_createlesson", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L16"}, {"caller_nid": "moduleid_actions_createlesson", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L17"}, {"caller_nid": "moduleid_actions_createlesson", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L17"}, {"caller_nid": "moduleid_actions_createlesson", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L18"}, {"caller_nid": "moduleid_actions_createlesson", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L19"}, {"caller_nid": "moduleid_actions_createlesson", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L22"}, {"caller_nid": "moduleid_actions_createlesson", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L23"}, {"caller_nid": "moduleid_actions_updatelesson", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L28"}, {"caller_nid": "moduleid_actions_updatelesson", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L29"}, {"caller_nid": "moduleid_actions_updatelesson", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L30"}, {"caller_nid": "moduleid_actions_deletelesson", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L35"}, {"caller_nid": "moduleid_actions_deletelesson", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L36"}, {"caller_nid": "moduleid_actions_reorderlessons", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L41"}, {"caller_nid": "moduleid_actions_reorderlessons", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L42"}, {"caller_nid": "moduleid_actions_reorderlessons", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L46"}, {"caller_nid": "moduleid_actions_togglelessonpublished", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L56"}, {"caller_nid": "moduleid_actions_togglelessonpublished", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L60"}, {"caller_nid": "moduleid_actions_togglelessonpublished", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L61"}, {"caller_nid": "moduleid_actions_movelessontomodule", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L72"}, {"caller_nid": "moduleid_actions_movelessontomodule", "callee": "aggregate", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L77"}, {"caller_nid": "moduleid_actions_movelessontomodule", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L82"}, {"caller_nid": "moduleid_actions_movelessontomodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L87"}, {"caller_nid": "moduleid_actions_movelessontomodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L88"}, {"caller_nid": "moduleid_actions_movelessontomodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts", "source_location": "L89"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/0cef5436e1c6d483072d04bd0b95b2a52d5b79a8cd8a217451df4807a4eabac9.json b/graphify-out/cache/ast/0cef5436e1c6d483072d04bd0b95b2a52d5b79a8cd8a217451df4807a4eabac9.json
new file mode 100644
index 0000000..2bd91f5
--- /dev/null
+++ b/graphify-out/cache/ast/0cef5436e1c6d483072d04bd0b95b2a52d5b79a8cd8a217451df4807a4eabac9.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L1"}, {"id": "categories_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L9"}, {"id": "categories_actions_slugify", "label": "slugify()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L14"}, {"id": "categories_actions_createcategory", "label": "createCategory()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L26"}, {"id": "categories_actions_updatecategory", "label": "updateCategory()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L35"}, {"id": "categories_actions_deletecategory", "label": "deleteCategory()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L43"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "categories_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "categories_actions_slugify", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "categories_actions_createcategory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L26", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "categories_actions_updatecategory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L35", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "target": "categories_actions_deletecategory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L43", "weight": 1.0}, {"source": "categories_actions_createcategory", "target": "categories_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L27", "weight": 1.0}, {"source": "categories_actions_createcategory", "target": "categories_actions_slugify", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L29", "weight": 1.0}, {"source": "categories_actions_updatecategory", "target": "categories_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L36", "weight": 1.0}, {"source": "categories_actions_deletecategory", "target": "categories_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L44", "weight": 1.0}], "raw_calls": [{"caller_nid": "categories_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L10"}, {"caller_nid": "categories_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L10"}, {"caller_nid": "categories_actions_slugify", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L20"}, {"caller_nid": "categories_actions_slugify", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L20"}, {"caller_nid": "categories_actions_slugify", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L20"}, {"caller_nid": "categories_actions_slugify", "callee": "toLowerCase", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L20"}, {"caller_nid": "categories_actions_createcategory", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L28"}, {"caller_nid": "categories_actions_createcategory", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L29"}, {"caller_nid": "categories_actions_createcategory", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L29"}, {"caller_nid": "categories_actions_createcategory", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L30"}, {"caller_nid": "categories_actions_createcategory", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L31"}, {"caller_nid": "categories_actions_createcategory", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L32"}, {"caller_nid": "categories_actions_updatecategory", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L37"}, {"caller_nid": "categories_actions_updatecategory", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L38"}, {"caller_nid": "categories_actions_updatecategory", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L39"}, {"caller_nid": "categories_actions_updatecategory", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L40"}, {"caller_nid": "categories_actions_deletecategory", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L45"}, {"caller_nid": "categories_actions_deletecategory", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L46"}, {"caller_nid": "categories_actions_deletecategory", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts", "source_location": "L47"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/0d4637c7371a3ab96c9a97cc20e2ee1efbb7676ec1bc042d979a697ab34ba079.json b/graphify-out/cache/ast/0d4637c7371a3ab96c9a97cc20e2ee1efbb7676ec1bc042d979a697ab34ba079.json
new file mode 100644
index 0000000..7d27665
--- /dev/null
+++ b/graphify-out/cache/ast/0d4637c7371a3ab96c9a97cc20e2ee1efbb7676ec1bc042d979a697ab34ba079.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "label": "layout.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L1"}, {"id": "curator_layout_curatorlayout", "label": "CuratorLayout()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L10"}, {"id": "curator_layout_navlink", "label": "NavLink()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L63"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_layout_logout_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "layout_logout_button_logoutbutton", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_shell_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "admin_admin_shell_adminshell", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "lib_settings_getsetting", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "curator_layout_curatorlayout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_layout_tsx", "target": "curator_layout_navlink", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L63", "weight": 1.0}], "raw_calls": [{"caller_nid": "curator_layout_curatorlayout", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L11"}, {"caller_nid": "curator_layout_curatorlayout", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L11"}, {"caller_nid": "curator_layout_curatorlayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L12"}, {"caller_nid": "curator_layout_curatorlayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L13"}, {"caller_nid": "curator_layout_curatorlayout", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L17"}, {"caller_nid": "curator_layout_curatorlayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L18"}, {"caller_nid": "curator_layout_curatorlayout", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx", "source_location": "L23"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/0da96d45910137be7e105f88b9677cb18aef4c95457fe59da59982aacfcc43ec.json b/graphify-out/cache/ast/0da96d45910137be7e105f88b9677cb18aef4c95457fe59da59982aacfcc43ec.json
new file mode 100644
index 0000000..c195085
--- /dev/null
+++ b/graphify-out/cache/ast/0da96d45910137be7e105f88b9677cb18aef4c95457fe59da59982aacfcc43ec.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "label": "course-edit-form.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L1"}, {"id": "admin_course_edit_form_course", "label": "Course", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L10"}, {"id": "admin_course_edit_form_category", "label": "Category", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L21"}, {"id": "admin_course_edit_form_courseeditform", "label": "CourseEditForm()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L26"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "ui_input_input", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_label_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "ui_label_label", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_textarea_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "ui_textarea_textarea", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "ui_button_button", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "courses_actions_updatecourse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "courses_actions_deletecourse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "admin_course_edit_form_course", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "admin_course_edit_form_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "target": "admin_course_edit_form_courseeditform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L26", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_course_edit_form_courseeditform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L27"}, {"caller_nid": "admin_course_edit_form_courseeditform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L28"}, {"caller_nid": "admin_course_edit_form_courseeditform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L29"}, {"caller_nid": "admin_course_edit_form_courseeditform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L30"}, {"caller_nid": "admin_course_edit_form_courseeditform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L31"}, {"caller_nid": "admin_course_edit_form_courseeditform", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L32"}, {"caller_nid": "admin_course_edit_form_courseeditform", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx", "source_location": "L88"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/0f3aa0ce9310d1402f7ae75b5d9c4bb3007b7a2cb277414688e9ff762041184b.json b/graphify-out/cache/ast/0f3aa0ce9310d1402f7ae75b5d9c4bb3007b7a2cb277414688e9ff762041184b.json
new file mode 100644
index 0000000..6bc12e6
--- /dev/null
+++ b/graphify-out/cache/ast/0f3aa0ce9310d1402f7ae75b5d9c4bb3007b7a2cb277414688e9ff762041184b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "label": "import-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L1"}, {"id": "import_export_import_actions_parsedrow", "label": "ParsedRow", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L12"}, {"id": "import_export_import_actions_previewresult", "label": "PreviewResult", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L24"}, {"id": "import_export_import_actions_importoptions", "label": "ImportOptions", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L31"}, {"id": "import_export_import_actions_applyresult", "label": "ApplyResult", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L40"}, {"id": "import_export_import_actions_parsecsvline", "label": "parseCSVLine()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L48"}, {"id": "import_export_import_actions_normalizeheaders", "label": "normalizeHeaders()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L73"}, {"id": "import_export_import_actions_assertadmin", "label": "assertAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L94"}, {"id": "import_export_import_actions_parsecsv", "label": "parseCSV()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L102"}, {"id": "import_export_import_actions_applyimport", "label": "applyImport()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L181"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "bcryptjs", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "iconv_lite", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "lib_email_sendwelcomeemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "import_export_import_actions_parsedrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L12", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "import_export_import_actions_previewresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L24", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "import_export_import_actions_importoptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L31", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "import_export_import_actions_applyresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L40", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "import_export_import_actions_parsecsvline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L48", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "import_export_import_actions_normalizeheaders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L73", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "import_export_import_actions_assertadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L94", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "import_export_import_actions_parsecsv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L102", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "target": "import_export_import_actions_applyimport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L181", "weight": 1.0}, {"source": "import_export_import_actions_parsecsv", "target": "import_export_import_actions_assertadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L107", "weight": 1.0}, {"source": "import_export_import_actions_parsecsv", "target": "import_export_import_actions_parsecsvline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L122", "weight": 1.0}, {"source": "import_export_import_actions_parsecsv", "target": "import_export_import_actions_normalizeheaders", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L123", "weight": 1.0}, {"source": "import_export_import_actions_applyimport", "target": "import_export_import_actions_assertadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L185", "weight": 1.0}], "raw_calls": [{"caller_nid": "import_export_import_actions_parsecsvline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L63"}, {"caller_nid": "import_export_import_actions_parsecsvline", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L63"}, {"caller_nid": "import_export_import_actions_parsecsvline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L69"}, {"caller_nid": "import_export_import_actions_parsecsvline", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L69"}, {"caller_nid": "import_export_import_actions_normalizeheaders", "callee": "forEach", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L82"}, {"caller_nid": "import_export_import_actions_assertadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L95"}, {"caller_nid": "import_export_import_actions_assertadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L95"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L110"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "decode", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L112"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "toString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L113"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L116"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L116"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L116"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L117"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L130"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L133"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "toLowerCase", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L140"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L140"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L141"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L142"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L143"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "join", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L148"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L148"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L148"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "test", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L154"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "has", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L158"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L159"}, {"caller_nid": "import_export_import_actions_parsecsv", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L173"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L190"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "slice", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L196"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "toString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L196"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "random", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L196"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "hash", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L197"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L199"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L208"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "now", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L219"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L221"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L229"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "sendWelcomeEmail", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L229"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L234"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "now", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L243"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L245"}, {"caller_nid": "import_export_import_actions_applyimport", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts", "source_location": "L255"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/10e54d7af2aa0b69e37ba51b4b89d7c25788c59bb97a62f78c0121647a2f84e5.json b/graphify-out/cache/ast/10e54d7af2aa0b69e37ba51b4b89d7c25788c59bb97a62f78c0121647a2f84e5.json
new file mode 100644
index 0000000..08d7a4d
--- /dev/null
+++ b/graphify-out/cache/ast/10e54d7af2aa0b69e37ba51b4b89d7c25788c59bb97a62f78c0121647a2f84e5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_tsconfig_json", "label": "tsconfig.json", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L1"}, {"id": "lms_system_tsconfig_compileroptions", "label": "compilerOptions", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L2"}, {"id": "lms_system_tsconfig_compileroptions_target", "label": "target", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L3"}, {"id": "lms_system_tsconfig_compileroptions_lib", "label": "lib", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L4"}, {"id": "lms_system_tsconfig_compileroptions_allowjs", "label": "allowJs", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L5"}, {"id": "lms_system_tsconfig_compileroptions_skiplibcheck", "label": "skipLibCheck", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L6"}, {"id": "lms_system_tsconfig_compileroptions_strict", "label": "strict", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L7"}, {"id": "lms_system_tsconfig_compileroptions_noemit", "label": "noEmit", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L8"}, {"id": "lms_system_tsconfig_compileroptions_esmoduleinterop", "label": "esModuleInterop", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L9"}, {"id": "lms_system_tsconfig_compileroptions_module", "label": "module", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L10"}, {"id": "lms_system_tsconfig_compileroptions_moduleresolution", "label": "moduleResolution", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L11"}, {"id": "lms_system_tsconfig_compileroptions_resolvejsonmodule", "label": "resolveJsonModule", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L12"}, {"id": "lms_system_tsconfig_compileroptions_isolatedmodules", "label": "isolatedModules", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L13"}, {"id": "lms_system_tsconfig_compileroptions_jsx", "label": "jsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L14"}, {"id": "lms_system_tsconfig_compileroptions_incremental", "label": "incremental", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L15"}, {"id": "lms_system_tsconfig_compileroptions_plugins", "label": "plugins", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L16"}, {"id": "lms_system_tsconfig_compileroptions_paths", "label": "paths", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L21"}, {"id": "lms_system_tsconfig_paths", "label": "@/*", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L22"}, {"id": "lms_system_tsconfig_include", "label": "include", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L25"}, {"id": "lms_system_tsconfig_exclude", "label": "exclude", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L33"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_tsconfig_json", "target": "lms_system_tsconfig_compileroptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L2", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_target", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L3", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_lib", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L4", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions_lib", "target": "ref_dom", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L4", "weight": 1.0, "context": "import"}, {"source": "lms_system_tsconfig_compileroptions_lib", "target": "ref_dom_iterable", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L4", "weight": 1.0, "context": "import"}, {"source": "lms_system_tsconfig_compileroptions_lib", "target": "ref_esnext", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L4", "weight": 1.0, "context": "import"}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_allowjs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L5", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_skiplibcheck", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L6", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_strict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L7", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_noemit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L8", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_esmoduleinterop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L9", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L10", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_moduleresolution", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L11", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_resolvejsonmodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L12", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_isolatedmodules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L13", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_jsx", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L14", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_incremental", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L15", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_plugins", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L16", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions", "target": "lms_system_tsconfig_compileroptions_paths", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L21", "weight": 1.0}, {"source": "lms_system_tsconfig_compileroptions_paths", "target": "lms_system_tsconfig_paths", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L22", "weight": 1.0}, {"source": "lms_system_tsconfig_paths", "target": "ref_src", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L22", "weight": 1.0, "context": "import"}, {"source": "users_dementiy_documents_claude_lms_system_tsconfig_json", "target": "lms_system_tsconfig_include", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L25", "weight": 1.0}, {"source": "lms_system_tsconfig_include", "target": "ref_next_env_d_ts", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L25", "weight": 1.0, "context": "import"}, {"source": "lms_system_tsconfig_include", "target": "ref_ts", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L25", "weight": 1.0, "context": "import"}, {"source": "lms_system_tsconfig_include", "target": "ref_tsx", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L25", "weight": 1.0, "context": "import"}, {"source": "lms_system_tsconfig_include", "target": "ref_next_types_ts", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L25", "weight": 1.0, "context": "import"}, {"source": "lms_system_tsconfig_include", "target": "ref_next_dev_types_ts", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L25", "weight": 1.0, "context": "import"}, {"source": "lms_system_tsconfig_include", "target": "ref_mts", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L25", "weight": 1.0, "context": "import"}, {"source": "users_dementiy_documents_claude_lms_system_tsconfig_json", "target": "lms_system_tsconfig_exclude", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L33", "weight": 1.0}, {"source": "lms_system_tsconfig_exclude", "target": "ref_node_modules", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L33", "weight": 1.0, "context": "import"}, {"source": "lms_system_tsconfig_exclude", "target": "ref_prisma", "relation": "extends", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json", "source_location": "L33", "weight": 1.0, "context": "import"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/16b9c063c1f8f517c5a1b0d9a980497f062c99186b487737b9f8f3c29ce5ec4d.json b/graphify-out/cache/ast/16b9c063c1f8f517c5a1b0d9a980497f062c99186b487737b9f8f3c29ce5ec4d.json
new file mode 100644
index 0000000..7cc8c81
--- /dev/null
+++ b/graphify-out/cache/ast/16b9c063c1f8f517c5a1b0d9a980497f062c99186b487737b9f8f3c29ce5ec4d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L1"}, {"id": "comments_actions_admindeletecomment", "label": "adminDeleteComment()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_actions_ts", "target": "comments_actions_admindeletecomment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "comments_actions_admindeletecomment", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L9"}, {"caller_nid": "comments_actions_admindeletecomment", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L9"}, {"caller_nid": "comments_actions_admindeletecomment", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L12"}, {"caller_nid": "comments_actions_admindeletecomment", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts", "source_location": "L17"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/1a48465b09e130c6a8cc684131c019be7ca7f1696be27c314eb8f6a4b1810db6.json b/graphify-out/cache/ast/1a48465b09e130c6a8cc684131c019be7ca7f1696be27c314eb8f6a4b1810db6.json
new file mode 100644
index 0000000..e338553
--- /dev/null
+++ b/graphify-out/cache/ast/1a48465b09e130c6a8cc684131c019be7ca7f1696be27c314eb8f6a4b1810db6.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "label": "settings-form.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L1"}, {"id": "admin_settings_form_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L10"}, {"id": "admin_settings_form_focushandlers", "label": "focusHandlers", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L20"}, {"id": "admin_settings_form_section", "label": "Section()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L27"}, {"id": "admin_settings_form_field", "label": "Field()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L56"}, {"id": "admin_settings_form_toggle", "label": "Toggle()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L83"}, {"id": "admin_settings_form_selectfield", "label": "SelectField()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L134"}, {"id": "admin_settings_form_settingsform", "label": "SettingsForm()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L172"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "settings_actions_savesettings", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "lib_settings_settings", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "admin_settings_form_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "admin_settings_form_focushandlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "admin_settings_form_section", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L27", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "admin_settings_form_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L56", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "admin_settings_form_toggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L83", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "admin_settings_form_selectfield", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L134", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "target": "admin_settings_form_settingsform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L172", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_settings_form_selectfield", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L160"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L173"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L174"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L175"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L241"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L247"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L274"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L279"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L284"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L295"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L355"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L387"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L392"}, {"caller_nid": "admin_settings_form_settingsform", "callee": "bool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx", "source_location": "L452"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/1ba149e305cc9158e0f60db9117d57d3b8ad1adaf1f5d72a70c9c518720f0e1a.json b/graphify-out/cache/ast/1ba149e305cc9158e0f60db9117d57d3b8ad1adaf1f5d72a70c9c518720f0e1a.json
new file mode 100644
index 0000000..d4bf546
--- /dev/null
+++ b/graphify-out/cache/ast/1ba149e305cc9158e0f60db9117d57d3b8ad1adaf1f5d72a70c9c518720f0e1a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_filters_tsx", "label": "homework-filters.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L1"}, {"id": "admin_homework_filters_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L7"}, {"id": "admin_homework_filters_course", "label": "Course", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L16"}, {"id": "admin_homework_filters_homeworkfilters", "label": "HomeworkFilters()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L18"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_filters_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_filters_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_filters_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_filters_tsx", "target": "admin_homework_filters_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_filters_tsx", "target": "admin_homework_filters_course", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L16", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_filters_tsx", "target": "admin_homework_filters_homeworkfilters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L18", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_homework_filters_homeworkfilters", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L19"}, {"caller_nid": "admin_homework_filters_homeworkfilters", "callee": "usePathname", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L20"}, {"caller_nid": "admin_homework_filters_homeworkfilters", "callee": "useSearchParams", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L21"}, {"caller_nid": "admin_homework_filters_homeworkfilters", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L22"}, {"caller_nid": "admin_homework_filters_homeworkfilters", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L32"}, {"caller_nid": "admin_homework_filters_homeworkfilters", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L33"}, {"caller_nid": "admin_homework_filters_homeworkfilters", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L34"}, {"caller_nid": "admin_homework_filters_homeworkfilters", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx", "source_location": "L82"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/1bbc7aea73f56d8b0f0c5f3a8a8f021a1ed5c014dc6675dae20117c206ffd194.json b/graphify-out/cache/ast/1bbc7aea73f56d8b0f0c5f3a8a8f021a1ed5c014dc6675dae20117c206ffd194.json
new file mode 100644
index 0000000..0b9998c
--- /dev/null
+++ b/graphify-out/cache/ast/1bbc7aea73f56d8b0f0c5f3a8a8f021a1ed5c014dc6675dae20117c206ffd194.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "label": "module-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L1"}, {"id": "actions_module_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L9"}, {"id": "actions_module_actions_createlesson", "label": "createLesson()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L14"}, {"id": "actions_module_actions_updatelesson", "label": "updateLesson()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L26"}, {"id": "actions_module_actions_deletelesson", "label": "deleteLesson()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L33"}, {"id": "actions_module_actions_reorderlessons", "label": "reorderLessons()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L39"}, {"id": "actions_module_actions_togglelessonpublished", "label": "toggleLessonPublished()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L49"}, {"id": "actions_module_actions_movelessontomodule", "label": "moveLessonToModule()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L64"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "actions_module_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "actions_module_actions_createlesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "actions_module_actions_updatelesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L26", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "actions_module_actions_deletelesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L33", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "actions_module_actions_reorderlessons", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L39", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "actions_module_actions_togglelessonpublished", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L49", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "target": "actions_module_actions_movelessontomodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L64", "weight": 1.0}, {"source": "actions_module_actions_createlesson", "target": "actions_module_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L15", "weight": 1.0}, {"source": "actions_module_actions_updatelesson", "target": "actions_module_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L27", "weight": 1.0}, {"source": "actions_module_actions_deletelesson", "target": "actions_module_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L34", "weight": 1.0}, {"source": "actions_module_actions_reorderlessons", "target": "actions_module_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L40", "weight": 1.0}, {"source": "actions_module_actions_togglelessonpublished", "target": "actions_module_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L55", "weight": 1.0}, {"source": "actions_module_actions_movelessontomodule", "target": "actions_module_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L70", "weight": 1.0}], "raw_calls": [{"caller_nid": "actions_module_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L10"}, {"caller_nid": "actions_module_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L10"}, {"caller_nid": "actions_module_actions_createlesson", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L16"}, {"caller_nid": "actions_module_actions_createlesson", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L17"}, {"caller_nid": "actions_module_actions_createlesson", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L17"}, {"caller_nid": "actions_module_actions_createlesson", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L18"}, {"caller_nid": "actions_module_actions_createlesson", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L19"}, {"caller_nid": "actions_module_actions_createlesson", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L22"}, {"caller_nid": "actions_module_actions_createlesson", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L23"}, {"caller_nid": "actions_module_actions_updatelesson", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L28"}, {"caller_nid": "actions_module_actions_updatelesson", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L29"}, {"caller_nid": "actions_module_actions_updatelesson", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L30"}, {"caller_nid": "actions_module_actions_deletelesson", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L35"}, {"caller_nid": "actions_module_actions_deletelesson", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L36"}, {"caller_nid": "actions_module_actions_reorderlessons", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L41"}, {"caller_nid": "actions_module_actions_reorderlessons", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L42"}, {"caller_nid": "actions_module_actions_reorderlessons", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L46"}, {"caller_nid": "actions_module_actions_togglelessonpublished", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L56"}, {"caller_nid": "actions_module_actions_togglelessonpublished", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L60"}, {"caller_nid": "actions_module_actions_togglelessonpublished", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L61"}, {"caller_nid": "actions_module_actions_movelessontomodule", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L71"}, {"caller_nid": "actions_module_actions_movelessontomodule", "callee": "aggregate", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L76"}, {"caller_nid": "actions_module_actions_movelessontomodule", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L81"}, {"caller_nid": "actions_module_actions_movelessontomodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L86"}, {"caller_nid": "actions_module_actions_movelessontomodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L87"}, {"caller_nid": "actions_module_actions_movelessontomodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts", "source_location": "L88"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/1caa5a15d5c950aef103a4e9928c79490e95dc0a707c01380f24419a72c151af.json b/graphify-out/cache/ast/1caa5a15d5c950aef103a4e9928c79490e95dc0a707c01380f24419a72c151af.json
new file mode 100644
index 0000000..754bd60
--- /dev/null
+++ b/graphify-out/cache/ast/1caa5a15d5c950aef103a4e9928c79490e95dc0a707c01380f24419a72c151af.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "label": "quiz-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L1"}, {"id": "actions_quiz_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L8"}, {"id": "actions_quiz_actions_savequiz", "label": "saveQuiz()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L13"}, {"id": "actions_quiz_actions_deletequiz", "label": "deleteQuiz()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L49"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "target": "actions_quiz_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "target": "actions_quiz_actions_savequiz", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "target": "actions_quiz_actions_deletequiz", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L49", "weight": 1.0}, {"source": "actions_quiz_actions_savequiz", "target": "actions_quiz_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L17", "weight": 1.0}, {"source": "actions_quiz_actions_deletequiz", "target": "actions_quiz_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L50", "weight": 1.0}], "raw_calls": [{"caller_nid": "actions_quiz_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L9"}, {"caller_nid": "actions_quiz_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L9"}, {"caller_nid": "actions_quiz_actions_savequiz", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L19"}, {"caller_nid": "actions_quiz_actions_savequiz", "callee": "deleteMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L22"}, {"caller_nid": "actions_quiz_actions_savequiz", "callee": "createMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L23"}, {"caller_nid": "actions_quiz_actions_savequiz", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L24"}, {"caller_nid": "actions_quiz_actions_savequiz", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L32"}, {"caller_nid": "actions_quiz_actions_savequiz", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L36"}, {"caller_nid": "actions_quiz_actions_savequiz", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L46"}, {"caller_nid": "actions_quiz_actions_deletequiz", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L51"}, {"caller_nid": "actions_quiz_actions_deletequiz", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts", "source_location": "L52"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/1cb1b25c527b1a37771772b6a288a1c713c9579a0c8043f9a2bc7b1f725168a8.json b/graphify-out/cache/ast/1cb1b25c527b1a37771772b6a288a1c713c9579a0c8043f9a2bc7b1f725168a8.json
new file mode 100644
index 0000000..8b787eb
--- /dev/null
+++ b/graphify-out/cache/ast/1cb1b25c527b1a37771772b6a288a1c713c9579a0c8043f9a2bc7b1f725168a8.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "label": "md-to-tiptap.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L1"}, {"id": "lib_md_to_tiptap_mark", "label": "Mark", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L6"}, {"id": "lib_md_to_tiptap_tiptapnode", "label": "TipTapNode", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L8"}, {"id": "lib_md_to_tiptap_mdastnode", "label": "MdastNode", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L17"}, {"id": "lib_md_to_tiptap_convertinline", "label": "convertInline()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L21"}, {"id": "lib_md_to_tiptap_convertblock", "label": "convertBlock()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L103"}, {"id": "lib_md_to_tiptap_mdtotiptap", "label": "mdToTiptap()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L173"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "target": "unified", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "target": "remark_parse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "target": "lib_md_to_tiptap_mark", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "target": "lib_md_to_tiptap_tiptapnode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "target": "lib_md_to_tiptap_mdastnode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L17", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "target": "lib_md_to_tiptap_convertinline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "target": "lib_md_to_tiptap_convertblock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L103", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "target": "lib_md_to_tiptap_mdtotiptap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L173", "weight": 1.0}, {"source": "lib_md_to_tiptap_convertblock", "target": "lib_md_to_tiptap_convertinline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L109", "weight": 1.0}, {"source": "lib_md_to_tiptap_mdtotiptap", "target": "lib_md_to_tiptap_convertblock", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L181", "weight": 1.0}], "raw_calls": [{"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L30"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L35"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L39"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L43"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L47"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L64"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "test", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L70"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L71"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L83"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "isArray", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L88"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L89"}, {"caller_nid": "lib_md_to_tiptap_convertinline", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L93"}, {"caller_nid": "lib_md_to_tiptap_convertblock", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L110"}, {"caller_nid": "lib_md_to_tiptap_convertblock", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L116"}, {"caller_nid": "lib_md_to_tiptap_convertblock", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L126"}, {"caller_nid": "lib_md_to_tiptap_convertblock", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L131"}, {"caller_nid": "lib_md_to_tiptap_convertblock", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L141"}, {"caller_nid": "lib_md_to_tiptap_convertblock", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L147"}, {"caller_nid": "lib_md_to_tiptap_convertblock", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L152"}, {"caller_nid": "lib_md_to_tiptap_mdtotiptap", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L175"}, {"caller_nid": "lib_md_to_tiptap_mdtotiptap", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L175"}, {"caller_nid": "lib_md_to_tiptap_mdtotiptap", "callee": "parse", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L179"}, {"caller_nid": "lib_md_to_tiptap_mdtotiptap", "callee": "use", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L179"}, {"caller_nid": "lib_md_to_tiptap_mdtotiptap", "callee": "unified", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L179"}, {"caller_nid": "lib_md_to_tiptap_mdtotiptap", "callee": "push", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts", "source_location": "L184"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/2246a3acc22908a3eb405ad6ec1605ad51cdf4b121f22fd5cd6030c496b5d4b2.json b/graphify-out/cache/ast/2246a3acc22908a3eb405ad6ec1605ad51cdf4b121f22fd5cd6030c496b5d4b2.json
new file mode 100644
index 0000000..f80d2af
--- /dev/null
+++ b/graphify-out/cache/ast/2246a3acc22908a3eb405ad6ec1605ad51cdf4b121f22fd5cd6030c496b5d4b2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_postcss_config_mjs", "label": "postcss.config.mjs", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/postcss.config.mjs", "source_location": "L1"}, {"id": "lms_system_postcss_config_config", "label": "config", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/postcss.config.mjs", "source_location": "L1"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_postcss_config_mjs", "target": "lms_system_postcss_config_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/postcss.config.mjs", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/2431885b03c64b907de9e1d0e09756ce2791e002c91b319bdee321f6138f299c.json b/graphify-out/cache/ast/2431885b03c64b907de9e1d0e09756ce2791e002c91b319bdee321f6138f299c.json
new file mode 100644
index 0000000..011eec5
--- /dev/null
+++ b/graphify-out/cache/ast/2431885b03c64b907de9e1d0e09756ce2791e002c91b319bdee321f6138f299c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_auth_register_register_form_tsx", "label": "register-form.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L1"}, {"id": "register_register_form_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L7"}, {"id": "register_register_form_registerform", "label": "RegisterForm()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L14"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_register_form_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_register_form_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_register_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_client_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_register_form_tsx", "target": "lib_auth_client_signup", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_register_form_tsx", "target": "register_register_form_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_register_form_tsx", "target": "register_register_form_registerform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L14", "weight": 1.0}], "raw_calls": [{"caller_nid": "register_register_form_registerform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L15"}, {"caller_nid": "register_register_form_registerform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L16"}, {"caller_nid": "register_register_form_registerform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L17"}, {"caller_nid": "register_register_form_registerform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L18"}, {"caller_nid": "register_register_form_registerform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L19"}, {"caller_nid": "register_register_form_registerform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L20"}, {"caller_nid": "register_register_form_registerform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L21"}, {"caller_nid": "register_register_form_registerform", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L33"}, {"caller_nid": "register_register_form_registerform", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx", "source_location": "L136"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/253fc6ca1851be0debcd4e2fe220b4a67b91155419b7e7b5c333ec30f45fbce8.json b/graphify-out/cache/ast/253fc6ca1851be0debcd4e2fe220b4a67b91155419b7e7b5c333ec30f45fbce8.json
new file mode 100644
index 0000000..a6bf03d
--- /dev/null
+++ b/graphify-out/cache/ast/253fc6ca1851be0debcd4e2fe220b4a67b91155419b7e7b5c333ec30f45fbce8.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_curator_audio_upload_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L1"}, {"id": "audio_upload_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_audio_upload_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_audio_upload_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_audio_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_audio_upload_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_audio_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_audio_upload_route_ts", "target": "lib_s3_uploadfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_audio_upload_route_ts", "target": "crypto", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_audio_upload_route_ts", "target": "audio_upload_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "audio_upload_route_post", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L8"}, {"caller_nid": "audio_upload_route_post", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L8"}, {"caller_nid": "audio_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L10"}, {"caller_nid": "audio_upload_route_post", "callee": "formData", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L13"}, {"caller_nid": "audio_upload_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L14"}, {"caller_nid": "audio_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L15"}, {"caller_nid": "audio_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L18"}, {"caller_nid": "audio_upload_route_post", "callee": "includes", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L20"}, {"caller_nid": "audio_upload_route_post", "callee": "includes", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L20"}, {"caller_nid": "audio_upload_route_post", "callee": "randomUUID", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L21"}, {"caller_nid": "audio_upload_route_post", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L22"}, {"caller_nid": "audio_upload_route_post", "callee": "arrayBuffer", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L22"}, {"caller_nid": "audio_upload_route_post", "callee": "uploadFile", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L23"}, {"caller_nid": "audio_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts", "source_location": "L25"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/25ddf413995ba949205b7fa901abb438895d5a496da8aa48b3d723e394de3b4c.json b/graphify-out/cache/ast/25ddf413995ba949205b7fa901abb438895d5a496da8aa48b3d723e394de3b4c.json
new file mode 100644
index 0000000..24156af
--- /dev/null
+++ b/graphify-out/cache/ast/25ddf413995ba949205b7fa901abb438895d5a496da8aa48b3d723e394de3b4c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "label": "prisma.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts", "source_location": "L1"}, {"id": "lib_prisma_globalforprisma", "label": "globalForPrisma", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts", "source_location": "L4"}, {"id": "lib_prisma_createprismaclient", "label": "createPrismaClient()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "target": "users_dementiy_documents_claude_lms_system_src_generated_prisma_client_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "target": "prisma_client_prismaclient", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "target": "adapter_pg", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "target": "lib_prisma_globalforprisma", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "target": "lib_prisma_createprismaclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts", "source_location": "L8", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/25e2109e7b2ad2a726b3b2fadf68bbcbe61628cdf08d4d9098faefe7b6ede371.json b/graphify-out/cache/ast/25e2109e7b2ad2a726b3b2fadf68bbcbe61628cdf08d4d9098faefe7b6ede371.json
new file mode 100644
index 0000000..408729e
--- /dev/null
+++ b/graphify-out/cache/ast/25e2109e7b2ad2a726b3b2fadf68bbcbe61628cdf08d4d9098faefe7b6ede371.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_profile_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L1"}, {"id": "profile_actions_changepasswordaction", "label": "changePasswordAction()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_actions_ts", "target": "bcryptjs", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_actions_ts", "target": "profile_actions_changepasswordaction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "profile_actions_changepasswordaction", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L9"}, {"caller_nid": "profile_actions_changepasswordaction", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L10"}, {"caller_nid": "profile_actions_changepasswordaction", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L11"}, {"caller_nid": "profile_actions_changepasswordaction", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L17"}, {"caller_nid": "profile_actions_changepasswordaction", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L17"}, {"caller_nid": "profile_actions_changepasswordaction", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L20"}, {"caller_nid": "profile_actions_changepasswordaction", "callee": "compare", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L25"}, {"caller_nid": "profile_actions_changepasswordaction", "callee": "hash", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L28"}, {"caller_nid": "profile_actions_changepasswordaction", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts", "source_location": "L29"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/28c489414effda5ad048a4e37bf8b70dd54ceda703187d89d742bbb4cb239421.json b/graphify-out/cache/ast/28c489414effda5ad048a4e37bf8b70dd54ceda703187d89d742bbb4cb239421.json
new file mode 100644
index 0000000..6a1e5f6
--- /dev/null
+++ b/graphify-out/cache/ast/28c489414effda5ad048a4e37bf8b70dd54ceda703187d89d742bbb4cb239421.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "label": "select.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L1"}, {"id": "ui_select_selectgroup", "label": "SelectGroup()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L11"}, {"id": "ui_select_selectvalue", "label": "SelectValue()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L21"}, {"id": "ui_select_selecttrigger", "label": "SelectTrigger()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L31"}, {"id": "ui_select_selectcontent", "label": "SelectContent()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L59"}, {"id": "ui_select_selectlabel", "label": "SelectLabel()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L98"}, {"id": "ui_select_selectitem", "label": "SelectItem()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L111"}, {"id": "ui_select_selectseparator", "label": "SelectSeparator()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L139"}, {"id": "ui_select_selectscrollupbutton", "label": "SelectScrollUpButton()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L152"}, {"id": "ui_select_selectscrolldownbutton", "label": "SelectScrollDownButton()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L171"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "select", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "lib_utils_cn", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "ui_select_selectgroup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L11", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "ui_select_selectvalue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "ui_select_selecttrigger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L31", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "ui_select_selectcontent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L59", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "ui_select_selectlabel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L98", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "ui_select_selectitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L111", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "ui_select_selectseparator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L139", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "ui_select_selectscrollupbutton", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L152", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_select_tsx", "target": "ui_select_selectscrolldownbutton", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L171", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_select_selectgroup", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L15"}, {"caller_nid": "ui_select_selectvalue", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L25"}, {"caller_nid": "ui_select_selecttrigger", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L43"}, {"caller_nid": "ui_select_selectcontent", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L86"}, {"caller_nid": "ui_select_selectlabel", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L105"}, {"caller_nid": "ui_select_selectitem", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L119"}, {"caller_nid": "ui_select_selectseparator", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L146"}, {"caller_nid": "ui_select_selectscrollupbutton", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L159"}, {"caller_nid": "ui_select_selectscrolldownbutton", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx", "source_location": "L178"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/2b3dadf657829c44fdc4e7238a0ceafb002cd8366ad1d22cfc6e6fff43bbed71.json b/graphify-out/cache/ast/2b3dadf657829c44fdc4e7238a0ceafb002cd8366ad1d22cfc6e6fff43bbed71.json
new file mode 100644
index 0000000..cfb33c4
--- /dev/null
+++ b/graphify-out/cache/ast/2b3dadf657829c44fdc4e7238a0ceafb002cd8366ad1d22cfc6e6fff43bbed71.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_package_json", "label": "package.json", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L1"}, {"id": "lms_system_package_name", "label": "name", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L2"}, {"id": "lms_system_package_version", "label": "version", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L3"}, {"id": "lms_system_package_private", "label": "private", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L4"}, {"id": "lms_system_package_scripts", "label": "scripts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L5"}, {"id": "lms_system_package_scripts_dev", "label": "dev", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L6"}, {"id": "lms_system_package_scripts_build", "label": "build", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L7"}, {"id": "lms_system_package_scripts_start", "label": "start", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L8"}, {"id": "lms_system_package_scripts_lint", "label": "lint", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L9"}, {"id": "lms_system_package_scripts_type_check", "label": "type-check", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L10"}, {"id": "lms_system_package_prisma", "label": "prisma", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L12"}, {"id": "lms_system_package_prisma_seed", "label": "seed", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L13"}, {"id": "lms_system_package_dependencies", "label": "dependencies", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L15"}, {"id": "lms_system_package_dependencies_aws_sdk_client_s3", "label": "@aws-sdk/client-s3", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L16"}, {"id": "lms_system_package_dependencies_aws_sdk_s3_request_presigner", "label": "@aws-sdk/s3-request-presigner", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L17"}, {"id": "lms_system_package_dependencies_base_ui_react", "label": "@base-ui/react", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L18"}, {"id": "lms_system_package_dependencies_dnd_kit_core", "label": "@dnd-kit/core", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L19"}, {"id": "lms_system_package_dependencies_dnd_kit_sortable", "label": "@dnd-kit/sortable", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L20"}, {"id": "lms_system_package_dependencies_dnd_kit_utilities", "label": "@dnd-kit/utilities", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L21"}, {"id": "lms_system_package_dependencies_kinescope_react_kinescope_player", "label": "@kinescope/react-kinescope-player", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L22"}, {"id": "lms_system_package_dependencies_prisma_adapter_pg", "label": "@prisma/adapter-pg", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L23"}, {"id": "lms_system_package_dependencies_prisma_client", "label": "@prisma/client", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L24"}, {"id": "lms_system_package_dependencies_tiptap_extension_image", "label": "@tiptap/extension-image", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L25"}, {"id": "lms_system_package_dependencies_tiptap_extension_link", "label": "@tiptap/extension-link", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L26"}, {"id": "lms_system_package_dependencies_tiptap_extension_placeholder", "label": "@tiptap/extension-placeholder", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L27"}, {"id": "lms_system_package_dependencies_tiptap_extension_underline", "label": "@tiptap/extension-underline", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L28"}, {"id": "lms_system_package_dependencies_tiptap_pm", "label": "@tiptap/pm", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L29"}, {"id": "lms_system_package_dependencies_tiptap_react", "label": "@tiptap/react", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L30"}, {"id": "lms_system_package_dependencies_tiptap_starter_kit", "label": "@tiptap/starter-kit", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L31"}, {"id": "lms_system_package_dependencies_bcryptjs", "label": "bcryptjs", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L32"}, {"id": "lms_system_package_dependencies_better_auth", "label": "better-auth", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L33"}, {"id": "lms_system_package_dependencies_class_variance_authority", "label": "class-variance-authority", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L34"}, {"id": "lms_system_package_dependencies_clsx", "label": "clsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L35"}, {"id": "lms_system_package_dependencies_gray_matter", "label": "gray-matter", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L36"}, {"id": "lms_system_package_dependencies_iconv_lite", "label": "iconv-lite", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L37"}, {"id": "lms_system_package_dependencies_lucide_react", "label": "lucide-react", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L38"}, {"id": "lms_system_package_dependencies_next", "label": "next", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L39"}, {"id": "lms_system_package_dependencies_next_themes", "label": "next-themes", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L40"}, {"id": "lms_system_package_dependencies_pg", "label": "pg", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L41"}, {"id": "lms_system_package_dependencies_react", "label": "react", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L42"}, {"id": "lms_system_package_dependencies_react_dom", "label": "react-dom", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L43"}, {"id": "lms_system_package_dependencies_remark_parse", "label": "remark-parse", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L44"}, {"id": "lms_system_package_dependencies_resend", "label": "resend", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L45"}, {"id": "lms_system_package_dependencies_sonner", "label": "sonner", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L46"}, {"id": "lms_system_package_dependencies_tailwind_merge", "label": "tailwind-merge", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L47"}, {"id": "lms_system_package_dependencies_unified", "label": "unified", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L48"}, {"id": "lms_system_package_dependencies_zod", "label": "zod", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L49"}, {"id": "lms_system_package_devdependencies", "label": "devDependencies", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L51"}, {"id": "lms_system_package_devdependencies_tailwindcss_postcss", "label": "@tailwindcss/postcss", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L52"}, {"id": "lms_system_package_devdependencies_types_bcryptjs", "label": "@types/bcryptjs", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L53"}, {"id": "lms_system_package_devdependencies_types_node", "label": "@types/node", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L54"}, {"id": "lms_system_package_devdependencies_types_pg", "label": "@types/pg", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L55"}, {"id": "lms_system_package_devdependencies_types_react", "label": "@types/react", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L56"}, {"id": "lms_system_package_devdependencies_types_react_dom", "label": "@types/react-dom", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L57"}, {"id": "lms_system_package_devdependencies_dotenv", "label": "dotenv", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L58"}, {"id": "lms_system_package_devdependencies_eslint", "label": "eslint", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L59"}, {"id": "lms_system_package_devdependencies_eslint_config_next", "label": "eslint-config-next", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L60"}, {"id": "lms_system_package_devdependencies_prisma", "label": "prisma", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L61"}, {"id": "lms_system_package_devdependencies_tailwindcss", "label": "tailwindcss", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L62"}, {"id": "lms_system_package_devdependencies_ts_node", "label": "ts-node", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L63"}, {"id": "lms_system_package_devdependencies_typescript", "label": "typescript", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L64"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_package_json", "target": "lms_system_package_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_package_json", "target": "lms_system_package_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_package_json", "target": "lms_system_package_private", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_package_json", "target": "lms_system_package_scripts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L5", "weight": 1.0}, {"source": "lms_system_package_scripts", "target": "lms_system_package_scripts_dev", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L6", "weight": 1.0}, {"source": "lms_system_package_scripts", "target": "lms_system_package_scripts_build", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L7", "weight": 1.0}, {"source": "lms_system_package_scripts", "target": "lms_system_package_scripts_start", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L8", "weight": 1.0}, {"source": "lms_system_package_scripts", "target": "lms_system_package_scripts_lint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L9", "weight": 1.0}, {"source": "lms_system_package_scripts", "target": "lms_system_package_scripts_type_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_package_json", "target": "lms_system_package_prisma", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L12", "weight": 1.0}, {"source": "lms_system_package_prisma", "target": "lms_system_package_prisma_seed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_package_json", "target": "lms_system_package_dependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L15", "weight": 1.0}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_aws_sdk_client_s3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L16", "weight": 1.0}, {"source": "lms_system_package_dependencies_aws_sdk_client_s3", "target": "aws_sdk_client_s3", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L16", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_aws_sdk_s3_request_presigner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L17", "weight": 1.0}, {"source": "lms_system_package_dependencies_aws_sdk_s3_request_presigner", "target": "aws_sdk_s3_request_presigner", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L17", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_base_ui_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L18", "weight": 1.0}, {"source": "lms_system_package_dependencies_base_ui_react", "target": "base_ui_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L18", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_dnd_kit_core", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L19", "weight": 1.0}, {"source": "lms_system_package_dependencies_dnd_kit_core", "target": "dnd_kit_core", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L19", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_dnd_kit_sortable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L20", "weight": 1.0}, {"source": "lms_system_package_dependencies_dnd_kit_sortable", "target": "dnd_kit_sortable", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L20", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_dnd_kit_utilities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L21", "weight": 1.0}, {"source": "lms_system_package_dependencies_dnd_kit_utilities", "target": "dnd_kit_utilities", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L21", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_kinescope_react_kinescope_player", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L22", "weight": 1.0}, {"source": "lms_system_package_dependencies_kinescope_react_kinescope_player", "target": "kinescope_react_kinescope_player", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L22", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_prisma_adapter_pg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L23", "weight": 1.0}, {"source": "lms_system_package_dependencies_prisma_adapter_pg", "target": "prisma_adapter_pg", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L23", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_prisma_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L24", "weight": 1.0}, {"source": "lms_system_package_dependencies_prisma_client", "target": "prisma_client", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L24", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_tiptap_extension_image", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L25", "weight": 1.0}, {"source": "lms_system_package_dependencies_tiptap_extension_image", "target": "tiptap_extension_image", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L25", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_tiptap_extension_link", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L26", "weight": 1.0}, {"source": "lms_system_package_dependencies_tiptap_extension_link", "target": "tiptap_extension_link", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L26", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_tiptap_extension_placeholder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L27", "weight": 1.0}, {"source": "lms_system_package_dependencies_tiptap_extension_placeholder", "target": "tiptap_extension_placeholder", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L27", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_tiptap_extension_underline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L28", "weight": 1.0}, {"source": "lms_system_package_dependencies_tiptap_extension_underline", "target": "tiptap_extension_underline", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L28", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_tiptap_pm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L29", "weight": 1.0}, {"source": "lms_system_package_dependencies_tiptap_pm", "target": "tiptap_pm", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L29", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_tiptap_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L30", "weight": 1.0}, {"source": "lms_system_package_dependencies_tiptap_react", "target": "tiptap_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L30", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_tiptap_starter_kit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L31", "weight": 1.0}, {"source": "lms_system_package_dependencies_tiptap_starter_kit", "target": "tiptap_starter_kit", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L31", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_bcryptjs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L32", "weight": 1.0}, {"source": "lms_system_package_dependencies_bcryptjs", "target": "bcryptjs", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L32", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_better_auth", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L33", "weight": 1.0}, {"source": "lms_system_package_dependencies_better_auth", "target": "better_auth", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L33", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_class_variance_authority", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L34", "weight": 1.0}, {"source": "lms_system_package_dependencies_class_variance_authority", "target": "class_variance_authority", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L34", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_clsx", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L35", "weight": 1.0}, {"source": "lms_system_package_dependencies_clsx", "target": "clsx", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L35", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_gray_matter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L36", "weight": 1.0}, {"source": "lms_system_package_dependencies_gray_matter", "target": "gray_matter", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L36", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_iconv_lite", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L37", "weight": 1.0}, {"source": "lms_system_package_dependencies_iconv_lite", "target": "iconv_lite", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L37", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_lucide_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L38", "weight": 1.0}, {"source": "lms_system_package_dependencies_lucide_react", "target": "lucide_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L38", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_next", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L39", "weight": 1.0}, {"source": "lms_system_package_dependencies_next", "target": "next", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L39", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_next_themes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L40", "weight": 1.0}, {"source": "lms_system_package_dependencies_next_themes", "target": "next_themes", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L40", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_pg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L41", "weight": 1.0}, {"source": "lms_system_package_dependencies_pg", "target": "pg", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L41", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L42", "weight": 1.0}, {"source": "lms_system_package_dependencies_react", "target": "react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L42", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_react_dom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L43", "weight": 1.0}, {"source": "lms_system_package_dependencies_react_dom", "target": "react_dom", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L43", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_remark_parse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L44", "weight": 1.0}, {"source": "lms_system_package_dependencies_remark_parse", "target": "remark_parse", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L44", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_resend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L45", "weight": 1.0}, {"source": "lms_system_package_dependencies_resend", "target": "resend", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L45", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_sonner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L46", "weight": 1.0}, {"source": "lms_system_package_dependencies_sonner", "target": "sonner", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L46", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_tailwind_merge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L47", "weight": 1.0}, {"source": "lms_system_package_dependencies_tailwind_merge", "target": "tailwind_merge", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L47", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_unified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L48", "weight": 1.0}, {"source": "lms_system_package_dependencies_unified", "target": "unified", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L48", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_dependencies", "target": "lms_system_package_dependencies_zod", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L49", "weight": 1.0}, {"source": "lms_system_package_dependencies_zod", "target": "zod", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L49", "weight": 1.0, "context": "import"}, {"source": "users_dementiy_documents_claude_lms_system_package_json", "target": "lms_system_package_devdependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L51", "weight": 1.0}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_tailwindcss_postcss", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L52", "weight": 1.0}, {"source": "lms_system_package_devdependencies_tailwindcss_postcss", "target": "tailwindcss_postcss", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L52", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_types_bcryptjs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L53", "weight": 1.0}, {"source": "lms_system_package_devdependencies_types_bcryptjs", "target": "types_bcryptjs", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L53", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_types_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L54", "weight": 1.0}, {"source": "lms_system_package_devdependencies_types_node", "target": "types_node", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L54", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_types_pg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L55", "weight": 1.0}, {"source": "lms_system_package_devdependencies_types_pg", "target": "types_pg", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L55", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_types_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L56", "weight": 1.0}, {"source": "lms_system_package_devdependencies_types_react", "target": "types_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L56", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_types_react_dom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L57", "weight": 1.0}, {"source": "lms_system_package_devdependencies_types_react_dom", "target": "types_react_dom", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L57", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_dotenv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L58", "weight": 1.0}, {"source": "lms_system_package_devdependencies_dotenv", "target": "dotenv", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L58", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_eslint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L59", "weight": 1.0}, {"source": "lms_system_package_devdependencies_eslint", "target": "eslint", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L59", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_eslint_config_next", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L60", "weight": 1.0}, {"source": "lms_system_package_devdependencies_eslint_config_next", "target": "eslint_config_next", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L60", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_prisma", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L61", "weight": 1.0}, {"source": "lms_system_package_devdependencies_prisma", "target": "prisma", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L61", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_tailwindcss", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L62", "weight": 1.0}, {"source": "lms_system_package_devdependencies_tailwindcss", "target": "tailwindcss", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L62", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_ts_node", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L63", "weight": 1.0}, {"source": "lms_system_package_devdependencies_ts_node", "target": "ts_node", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L63", "weight": 1.0, "context": "import"}, {"source": "lms_system_package_devdependencies", "target": "lms_system_package_devdependencies_typescript", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L64", "weight": 1.0}, {"source": "lms_system_package_devdependencies_typescript", "target": "typescript", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/package.json", "source_location": "L64", "weight": 1.0, "context": "import"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/2d1e7c7bd8aed95358f96a423b66b094117ebfb580450019fe390f5212d8cb1b.json b/graphify-out/cache/ast/2d1e7c7bd8aed95358f96a423b66b094117ebfb580450019fe390f5212d8cb1b.json
new file mode 100644
index 0000000..69707c2
--- /dev/null
+++ b/graphify-out/cache/ast/2d1e7c7bd8aed95358f96a423b66b094117ebfb580450019fe390f5212d8cb1b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_ui_textarea_tsx", "label": "textarea.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/textarea.tsx", "source_location": "L1"}, {"id": "ui_textarea_textarea", "label": "Textarea()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/textarea.tsx", "source_location": "L5"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_ui_textarea_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/textarea.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_textarea_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/textarea.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_textarea_tsx", "target": "lib_utils_cn", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/textarea.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_textarea_tsx", "target": "ui_textarea_textarea", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/textarea.tsx", "source_location": "L5", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_textarea_textarea", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/textarea.tsx", "source_location": "L9"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/2fb2b3e13bff03c8f1de2d3fe96b73fa3bc4f1c737a3039b0e76d17731863f42.json b/graphify-out/cache/ast/2fb2b3e13bff03c8f1de2d3fe96b73fa3bc4f1c737a3039b0e76d17731863f42.json
new file mode 100644
index 0000000..33e6a9d
--- /dev/null
+++ b/graphify-out/cache/ast/2fb2b3e13bff03c8f1de2d3fe96b73fa3bc4f1c737a3039b0e76d17731863f42.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_actions_lesson_actions_ts", "label": "lesson-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L1"}, {"id": "actions_lesson_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L8"}, {"id": "actions_lesson_actions_savelesson", "label": "saveLesson()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L13"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_lesson_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_lesson_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_lesson_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_lesson_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_lesson_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_lesson_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_lesson_actions_ts", "target": "actions_lesson_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_lesson_actions_ts", "target": "actions_lesson_actions_savelesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L13", "weight": 1.0}, {"source": "actions_lesson_actions_savelesson", "target": "actions_lesson_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L25", "weight": 1.0}], "raw_calls": [{"caller_nid": "actions_lesson_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L9"}, {"caller_nid": "actions_lesson_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L9"}, {"caller_nid": "actions_lesson_actions_savelesson", "callee": "error", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L27"}, {"caller_nid": "actions_lesson_actions_savelesson", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L31"}, {"caller_nid": "actions_lesson_actions_savelesson", "callee": "parse", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L36"}, {"caller_nid": "actions_lesson_actions_savelesson", "callee": "stringify", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L36"}, {"caller_nid": "actions_lesson_actions_savelesson", "callee": "error", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L41"}, {"caller_nid": "actions_lesson_actions_savelesson", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts", "source_location": "L44"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/34ea9d49312532dbe02332637996083455c305ae9dd8b85536c59fa22e193494.json b/graphify-out/cache/ast/34ea9d49312532dbe02332637996083455c305ae9dd8b85536c59fa22e193494.json
new file mode 100644
index 0000000..9137e92
--- /dev/null
+++ b/graphify-out/cache/ast/34ea9d49312532dbe02332637996083455c305ae9dd8b85536c59fa22e193494.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_quizid_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L1"}, {"id": "quizid_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L5"}, {"id": "quizid_page_adminquizattemptspage", "label": "AdminQuizAttemptsPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L9"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_quizid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_quizid_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_quizid_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_quizid_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_quizid_page_tsx", "target": "quizid_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_quizid_page_tsx", "target": "quizid_page_adminquizattemptspage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L9", "weight": 1.0}], "raw_calls": [{"caller_nid": "quizid_page_adminquizattemptspage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L12"}, {"caller_nid": "quizid_page_adminquizattemptspage", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L30"}, {"caller_nid": "quizid_page_adminquizattemptspage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L32"}, {"caller_nid": "quizid_page_adminquizattemptspage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L33"}, {"caller_nid": "quizid_page_adminquizattemptspage", "callee": "fromEntries", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L37"}, {"caller_nid": "quizid_page_adminquizattemptspage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L37"}, {"caller_nid": "quizid_page_adminquizattemptspage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx", "source_location": "L65"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/357d80ab68915113f99cead784ba3dafd059a42166533d36aeee91fadfe70625.json b/graphify-out/cache/ast/357d80ab68915113f99cead784ba3dafd059a42166533d36aeee91fadfe70625.json
new file mode 100644
index 0000000..a190c66
--- /dev/null
+++ b/graphify-out/cache/ast/357d80ab68915113f99cead784ba3dafd059a42166533d36aeee91fadfe70625.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "label": "comments-table.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L1"}, {"id": "admin_comments_table_comment", "label": "Comment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L9"}, {"id": "admin_comments_table_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L21"}, {"id": "admin_comments_table_commentstable", "label": "CommentsTable()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L30"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "target": "comments_actions_admindeletecomment", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "target": "admin_comments_table_comment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "target": "admin_comments_table_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "target": "admin_comments_table_commentstable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L30", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_comments_table_commentstable", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L31"}, {"caller_nid": "admin_comments_table_commentstable", "callee": "usePathname", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L32"}, {"caller_nid": "admin_comments_table_commentstable", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L33"}, {"caller_nid": "admin_comments_table_commentstable", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L83"}, {"caller_nid": "admin_comments_table_commentstable", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx", "source_location": "L90"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/37f153bad4358f3de7f07488b31a38a9dc8fc1eb0e53c026839f70e57c95d89b.json b/graphify-out/cache/ast/37f153bad4358f3de7f07488b31a38a9dc8fc1eb0e53c026839f70e57c95d89b.json
new file mode 100644
index 0000000..c17e6e9
--- /dev/null
+++ b/graphify-out/cache/ast/37f153bad4358f3de7f07488b31a38a9dc8fc1eb0e53c026839f70e57c95d89b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "label": "layout.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L1"}, {"id": "slug_layout_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L8"}, {"id": "slug_layout_courselayout", "label": "CourseLayout()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L13"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "student_course_sidebar_coursesidebar", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "slug_layout_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_layout_tsx", "target": "slug_layout_courselayout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L13", "weight": 1.0}], "raw_calls": [{"caller_nid": "slug_layout_courselayout", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L15"}, {"caller_nid": "slug_layout_courselayout", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L15"}, {"caller_nid": "slug_layout_courselayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L16"}, {"caller_nid": "slug_layout_courselayout", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L20"}, {"caller_nid": "slug_layout_courselayout", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L36"}, {"caller_nid": "slug_layout_courselayout", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L39"}, {"caller_nid": "slug_layout_courselayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L43"}, {"caller_nid": "slug_layout_courselayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L46"}, {"caller_nid": "slug_layout_courselayout", "callee": "flatMap", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L51"}, {"caller_nid": "slug_layout_courselayout", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L54"}, {"caller_nid": "slug_layout_courselayout", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx", "source_location": "L59"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/39a4c79415198ff400ba373c6f6e510e237bc40c6bb16e321f78f36575b63783.json b/graphify-out/cache/ast/39a4c79415198ff400ba373c6f6e510e237bc40c6bb16e321f78f36575b63783.json
new file mode 100644
index 0000000..7a8fcf9
--- /dev/null
+++ b/graphify-out/cache/ast/39a4c79415198ff400ba373c6f6e510e237bc40c6bb16e321f78f36575b63783.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L1"}, {"id": "settings_page_metadata", "label": "metadata", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L4"}, {"id": "settings_page_settingspage", "label": "SettingsPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_page_tsx", "target": "lib_settings_getsettings", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_settings_form_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_page_tsx", "target": "admin_settings_form_settingsform", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_page_tsx", "target": "settings_page_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_page_tsx", "target": "settings_page_settingspage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "settings_page_settingspage", "callee": "getSettings", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx", "source_location": "L7"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/3a61ccbdeba0fe491cc1dfaf9237384416a25c0718a025a87e74e70045373db6.json b/graphify-out/cache/ast/3a61ccbdeba0fe491cc1dfaf9237384416a25c0718a025a87e74e70045373db6.json
new file mode 100644
index 0000000..2aebb91
--- /dev/null
+++ b/graphify-out/cache/ast/3a61ccbdeba0fe491cc1dfaf9237384416a25c0718a025a87e74e70045373db6.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "label": "create-user-form.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L1"}, {"id": "admin_create_user_form_roles", "label": "ROLES", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L8"}, {"id": "admin_create_user_form_generatepassword", "label": "generatePassword()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L14"}, {"id": "admin_create_user_form_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L19"}, {"id": "admin_create_user_form_focushandlers", "label": "focusHandlers", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L29"}, {"id": "admin_create_user_form_field", "label": "Field()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L36"}, {"id": "admin_create_user_form_toggle", "label": "Toggle()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L48"}, {"id": "admin_create_user_form_createuserform", "label": "CreateUserForm()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L70"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "users_actions_createuser", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "admin_create_user_form_roles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "admin_create_user_form_generatepassword", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "admin_create_user_form_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L19", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "admin_create_user_form_focushandlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L29", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "admin_create_user_form_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L36", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "admin_create_user_form_toggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L48", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "target": "admin_create_user_form_createuserform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L70", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_create_user_form_generatepassword", "callee": "join", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L16"}, {"caller_nid": "admin_create_user_form_generatepassword", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L16"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L71"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L72"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L73"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L74"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L76"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L77"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L78"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L79"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L80"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L81"}, {"caller_nid": "admin_create_user_form_createuserform", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx", "source_location": "L177"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/3d201546465428c1a8b935d0393e0cdcaf7ac7ad33063df3a2c05f2687c13da2.json b/graphify-out/cache/ast/3d201546465428c1a8b935d0393e0cdcaf7ac7ad33063df3a2c05f2687c13da2.json
new file mode 100644
index 0000000..749f747
--- /dev/null
+++ b/graphify-out/cache/ast/3d201546465428c1a8b935d0393e0cdcaf7ac7ad33063df3a2c05f2687c13da2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_student_homework_upload_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L1"}, {"id": "homework_upload_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_homework_upload_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_homework_upload_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_homework_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_homework_upload_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_homework_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_homework_upload_route_ts", "target": "lib_s3_uploadfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_homework_upload_route_ts", "target": "crypto", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_homework_upload_route_ts", "target": "homework_upload_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "homework_upload_route_post", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L8"}, {"caller_nid": "homework_upload_route_post", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L8"}, {"caller_nid": "homework_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L9"}, {"caller_nid": "homework_upload_route_post", "callee": "formData", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L11"}, {"caller_nid": "homework_upload_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L12"}, {"caller_nid": "homework_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L13"}, {"caller_nid": "homework_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L16"}, {"caller_nid": "homework_upload_route_post", "callee": "pop", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L18"}, {"caller_nid": "homework_upload_route_post", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L18"}, {"caller_nid": "homework_upload_route_post", "callee": "randomUUID", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L19"}, {"caller_nid": "homework_upload_route_post", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L20"}, {"caller_nid": "homework_upload_route_post", "callee": "arrayBuffer", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L20"}, {"caller_nid": "homework_upload_route_post", "callee": "uploadFile", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L21"}, {"caller_nid": "homework_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts", "source_location": "L23"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/4483118af6ca351d5589158441e75f876c5523c5989b7d84dc103a6d687f130d.json b/graphify-out/cache/ast/4483118af6ca351d5589158441e75f876c5523c5989b7d84dc103a6d687f130d.json
new file mode 100644
index 0000000..4427b8b
--- /dev/null
+++ b/graphify-out/cache/ast/4483118af6ca351d5589158441e75f876c5523c5989b7d84dc103a6d687f130d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "label": "badge.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L1"}, {"id": "ui_badge_badgevariants", "label": "badgeVariants", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L7"}, {"id": "ui_badge_badge", "label": "Badge()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L30"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "target": "merge_props", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "target": "use_render", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "target": "class_variance_authority", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "target": "lib_utils_cn", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "target": "ui_badge_badgevariants", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "target": "ui_badge_badge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L30", "weight": 1.0}, {"source": "ui_badge_badge", "target": "ui_badge_badgevariants", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L40", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_badge_badge", "callee": "useRender", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L36"}, {"caller_nid": "ui_badge_badge", "callee": "mergeProps", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L38"}, {"caller_nid": "ui_badge_badge", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx", "source_location": "L40"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/458217c9f439e92bad315eaaa2235213c66e1ed9e24d10866e00096b7a09fa29.json b/graphify-out/cache/ast/458217c9f439e92bad315eaaa2235213c66e1ed9e24d10866e00096b7a09fa29.json
new file mode 100644
index 0000000..0755288
--- /dev/null
+++ b/graphify-out/cache/ast/458217c9f439e92bad315eaaa2235213c66e1ed9e24d10866e00096b7a09fa29.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_auth_login_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx", "source_location": "L1"}, {"id": "login_page_loginpage", "label": "LoginPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx", "source_location": "L4"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_page_tsx", "target": "lib_settings_getsetting", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_auth_login_login_form_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_page_tsx", "target": "login_login_form_loginform", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_page_tsx", "target": "login_page_loginpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx", "source_location": "L4", "weight": 1.0}], "raw_calls": [{"caller_nid": "login_page_loginpage", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx", "source_location": "L9"}, {"caller_nid": "login_page_loginpage", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx", "source_location": "L10"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/46003202b5e95e142a58d7951558696a27481be348307cf5f81cbc7780fb21d1.json b/graphify-out/cache/ast/46003202b5e95e142a58d7951558696a27481be348307cf5f81cbc7780fb21d1.json
new file mode 100644
index 0000000..e47562a
--- /dev/null
+++ b/graphify-out/cache/ast/46003202b5e95e142a58d7951558696a27481be348307cf5f81cbc7780fb21d1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "label": "homework-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L1"}, {"id": "lessonid_homework_actions_homeworkfile", "label": "HomeworkFile", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L9"}, {"id": "lessonid_homework_actions_submithomework", "label": "submitHomework()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L15"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "lib_email_sendhomeworksubmittedemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "lib_email_sendhomeworkupdatedemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "lessonid_homework_actions_homeworkfile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_homework_actions_ts", "target": "lessonid_homework_actions_submithomework", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L15", "weight": 1.0}], "raw_calls": [{"caller_nid": "lessonid_homework_actions_submithomework", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L23"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L23"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L26"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L38"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L45"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L46"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L50"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L56"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L57"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L65"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L71"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L72"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L76"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L82"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L83"}, {"caller_nid": "lessonid_homework_actions_submithomework", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts", "source_location": "L90"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/4929bee18700fc70a3a844bf9c0012d1cb5d4694d00fa6cf8051696374790d91.json b/graphify-out/cache/ast/4929bee18700fc70a3a844bf9c0012d1cb5d4694d00fa6cf8051696374790d91.json
new file mode 100644
index 0000000..583bbc2
--- /dev/null
+++ b/graphify-out/cache/ast/4929bee18700fc70a3a844bf9c0012d1cb5d4694d00fa6cf8051696374790d91.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "label": "user-enrollment-manager.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L1"}, {"id": "admin_user_enrollment_manager_course", "label": "Course", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L6"}, {"id": "admin_user_enrollment_manager_enrollment", "label": "Enrollment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L12"}, {"id": "admin_user_enrollment_manager_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L18"}, {"id": "admin_user_enrollment_manager_userenrollmentmanager", "label": "UserEnrollmentManager()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L24"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_user_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "target": "actions_user_actions_bulkgrantaccess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "target": "actions_user_actions_revokeuseraccess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "target": "admin_user_enrollment_manager_course", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "target": "admin_user_enrollment_manager_enrollment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L12", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "target": "admin_user_enrollment_manager_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "target": "admin_user_enrollment_manager_userenrollmentmanager", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L24", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_user_enrollment_manager_userenrollmentmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L25"}, {"caller_nid": "admin_user_enrollment_manager_userenrollmentmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L28"}, {"caller_nid": "admin_user_enrollment_manager_userenrollmentmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L29"}, {"caller_nid": "admin_user_enrollment_manager_userenrollmentmanager", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L30"}, {"caller_nid": "admin_user_enrollment_manager_userenrollmentmanager", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L32"}, {"caller_nid": "admin_user_enrollment_manager_userenrollmentmanager", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L75"}, {"caller_nid": "admin_user_enrollment_manager_userenrollmentmanager", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L82"}, {"caller_nid": "admin_user_enrollment_manager_userenrollmentmanager", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx", "source_location": "L105"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/4a5f3b0cd3feb919de925a97e2aa7227f20a4fb7924e51f7f2951c8ae496e443.json b/graphify-out/cache/ast/4a5f3b0cd3feb919de925a97e2aa7227f20a4fb7924e51f7f2951c8ae496e443.json
new file mode 100644
index 0000000..e9d4152
--- /dev/null
+++ b/graphify-out/cache/ast/4a5f3b0cd3feb919de925a97e2aa7227f20a4fb7924e51f7f2951c8ae496e443.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L1"}, {"id": "users_actions_createuser", "label": "createUser()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L9"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "target": "bcryptjs", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "target": "lib_email_sendwelcomeemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_actions_ts", "target": "users_actions_createuser", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L9", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_actions_createuser", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L17"}, {"caller_nid": "users_actions_createuser", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L17"}, {"caller_nid": "users_actions_createuser", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L24"}, {"caller_nid": "users_actions_createuser", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L24"}, {"caller_nid": "users_actions_createuser", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L24"}, {"caller_nid": "users_actions_createuser", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L28"}, {"caller_nid": "users_actions_createuser", "callee": "hash", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L33"}, {"caller_nid": "users_actions_createuser", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L35"}, {"caller_nid": "users_actions_createuser", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L36"}, {"caller_nid": "users_actions_createuser", "callee": "toLowerCase", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L36"}, {"caller_nid": "users_actions_createuser", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L36"}, {"caller_nid": "users_actions_createuser", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L40"}, {"caller_nid": "users_actions_createuser", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L50"}, {"caller_nid": "users_actions_createuser", "callee": "sendWelcomeEmail", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts", "source_location": "L50"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/4a8d10eac2085ea207788513d5de95688d5cfc4bc99bd1da0e97573916ec83e3.json b/graphify-out/cache/ast/4a8d10eac2085ea207788513d5de95688d5cfc4bc99bd1da0e97573916ec83e3.json
new file mode 100644
index 0000000..f2c32d0
--- /dev/null
+++ b/graphify-out/cache/ast/4a8d10eac2085ea207788513d5de95688d5cfc4bc99bd1da0e97573916ec83e3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_prisma_seed_ts", "label": "seed.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L1"}, {"id": "prisma_seed_adapter", "label": "adapter", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L6"}, {"id": "prisma_seed_prisma", "label": "prisma", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L7"}, {"id": "prisma_seed_main", "label": "main()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L9"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_prisma_seed_ts", "target": "config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_prisma_seed_ts", "target": "users_dementiy_documents_claude_lms_system_src_generated_prisma_client_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_prisma_seed_ts", "target": "prisma_client_prismaclient", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_prisma_seed_ts", "target": "adapter_pg", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_prisma_seed_ts", "target": "bcryptjs", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_prisma_seed_ts", "target": "prisma_seed_adapter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_prisma_seed_ts", "target": "prisma_seed_prisma", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_prisma_seed_ts", "target": "prisma_seed_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L9", "weight": 1.0}], "raw_calls": [{"caller_nid": "prisma_seed_main", "callee": "log", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L10"}, {"caller_nid": "prisma_seed_main", "callee": "hash", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L12"}, {"caller_nid": "prisma_seed_main", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L15"}, {"caller_nid": "prisma_seed_main", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L34"}, {"caller_nid": "prisma_seed_main", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L53"}, {"caller_nid": "prisma_seed_main", "callee": "log", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L71"}, {"caller_nid": "prisma_seed_main", "callee": "log", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L72"}, {"caller_nid": "prisma_seed_main", "callee": "log", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L73"}, {"caller_nid": "prisma_seed_main", "callee": "log", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L74"}, {"caller_nid": "prisma_seed_main", "callee": "log", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L75"}, {"caller_nid": "prisma_seed_main", "callee": "log", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts", "source_location": "L76"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/4b6dc66d7c19a0e40920e846f2946fc014054c5784522ef3686edcd1847cb5f5.json b/graphify-out/cache/ast/4b6dc66d7c19a0e40920e846f2946fc014054c5784522ef3686edcd1847cb5f5.json
new file mode 100644
index 0000000..39acb67
--- /dev/null
+++ b/graphify-out/cache/ast/4b6dc66d7c19a0e40920e846f2946fc014054c5784522ef3686edcd1847cb5f5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L1"}, {"id": "submissionid_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L8"}, {"id": "submissionid_page_formatsize", "label": "formatSize()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L12"}, {"id": "submissionid_page_statusbadge", "label": "StatusBadge()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L18"}, {"id": "submissionid_page_submissionpage", "label": "SubmissionPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L36"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "submissionid_feedback_form_feedbackform", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_content_tabs_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "submissionid_content_tabs_contenttabs", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_delete_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "submissionid_delete_button_deletesubmissionbutton", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "submissionid_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "submissionid_page_formatsize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L12", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "submissionid_page_statusbadge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_page_tsx", "target": "submissionid_page_submissionpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L36", "weight": 1.0}], "raw_calls": [{"caller_nid": "submissionid_page_formatsize", "callee": "toFixed", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L14"}, {"caller_nid": "submissionid_page_formatsize", "callee": "toFixed", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L15"}, {"caller_nid": "submissionid_page_submissionpage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L39"}, {"caller_nid": "submissionid_page_submissionpage", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L67"}, {"caller_nid": "submissionid_page_submissionpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L92"}, {"caller_nid": "submissionid_page_submissionpage", "callee": "toLocaleString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L113"}, {"caller_nid": "submissionid_page_submissionpage", "callee": "toLocaleString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L114"}, {"caller_nid": "submissionid_page_submissionpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L186"}, {"caller_nid": "submissionid_page_submissionpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx", "source_location": "L215"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/4ba65ade2911408275f38c6ee9794e31d74d96cacc3c128610b027d7bbaf82d1.json b/graphify-out/cache/ast/4ba65ade2911408275f38c6ee9794e31d74d96cacc3c128610b027d7bbaf82d1.json
new file mode 100644
index 0000000..a759e4b
--- /dev/null
+++ b/graphify-out/cache/ast/4ba65ade2911408275f38c6ee9794e31d74d96cacc3c128610b027d7bbaf82d1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_nav_tsx", "label": "admin-nav.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx", "source_location": "L1"}, {"id": "admin_admin_nav_links", "label": "links", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx", "source_location": "L6"}, {"id": "admin_admin_nav_adminnav", "label": "AdminNav()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx", "source_location": "L19"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_nav_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_nav_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_nav_tsx", "target": "admin_admin_nav_links", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_nav_tsx", "target": "admin_admin_nav_adminnav", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_admin_nav_adminnav", "callee": "usePathname", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx", "source_location": "L20"}, {"caller_nid": "admin_admin_nav_adminnav", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx", "source_location": "L24"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/4d1b6c466325775ef25b49aab1ee379066ceaafa4fcd815b81c38e6726d41ffc.json b/graphify-out/cache/ast/4d1b6c466325775ef25b49aab1ee379066ceaafa4fcd815b81c38e6726d41ffc.json
new file mode 100644
index 0000000..661cb0e
--- /dev/null
+++ b/graphify-out/cache/ast/4d1b6c466325775ef25b49aab1ee379066ceaafa4fcd815b81c38e6726d41ffc.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_auth_register_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L1"}, {"id": "register_page_registerpage", "label": "RegisterPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L5"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_page_tsx", "target": "lib_settings_getsettings", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_auth_register_register_form_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_page_tsx", "target": "register_register_form_registerform", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_register_page_tsx", "target": "register_page_registerpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L5", "weight": 1.0}], "raw_calls": [{"caller_nid": "register_page_registerpage", "callee": "getSettings", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L6"}, {"caller_nid": "register_page_registerpage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx", "source_location": "L9"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/4f773475f1c473cdb5c8065597ebbd5316ebfe775f6c8cdca86046396357f290.json b/graphify-out/cache/ast/4f773475f1c473cdb5c8065597ebbd5316ebfe775f6c8cdca86046396357f290.json
new file mode 100644
index 0000000..df78215
--- /dev/null
+++ b/graphify-out/cache/ast/4f773475f1c473cdb5c8065597ebbd5316ebfe775f6c8cdca86046396357f290.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_ui_label_tsx", "label": "label.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/label.tsx", "source_location": "L1"}, {"id": "ui_label_label", "label": "Label()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/label.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_ui_label_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/label.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_label_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/label.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_label_tsx", "target": "lib_utils_cn", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/label.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_label_tsx", "target": "ui_label_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/label.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_label_label", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/label.tsx", "source_location": "L11"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/50e14d17238592eaf28a70ea1421489627a2598c932a2708c0814db373e170c9.json b/graphify-out/cache/ast/50e14d17238592eaf28a70ea1421489627a2598c932a2708c0814db373e170c9.json
new file mode 100644
index 0000000..2f736a2
--- /dev/null
+++ b/graphify-out/cache/ast/50e14d17238592eaf28a70ea1421489627a2598c932a2708c0814db373e170c9.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_admin_import_md_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L1"}, {"id": "import_md_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_import_md_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_import_md_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_import_md_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_import_md_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_import_md_route_ts", "target": "gray_matter", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_import_md_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_md_to_tiptap_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_import_md_route_ts", "target": "lib_md_to_tiptap_mdtotiptap", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_import_md_route_ts", "target": "import_md_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "import_md_route_post", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L8"}, {"caller_nid": "import_md_route_post", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L8"}, {"caller_nid": "import_md_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L10"}, {"caller_nid": "import_md_route_post", "callee": "formData", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L13"}, {"caller_nid": "import_md_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L14"}, {"caller_nid": "import_md_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L17"}, {"caller_nid": "import_md_route_post", "callee": "endsWith", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L19"}, {"caller_nid": "import_md_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L20"}, {"caller_nid": "import_md_route_post", "callee": "text", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L23"}, {"caller_nid": "import_md_route_post", "callee": "matter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L24"}, {"caller_nid": "import_md_route_post", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L28"}, {"caller_nid": "import_md_route_post", "callee": "mdToTiptap", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L36"}, {"caller_nid": "import_md_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts", "source_location": "L38"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/5209fec417fa2d7245f824308ae6be28e044ad4c84cca9ac90d6767d916a484d.json b/graphify-out/cache/ast/5209fec417fa2d7245f824308ae6be28e044ad4c84cca9ac90d6767d916a484d.json
new file mode 100644
index 0000000..b1fe6a6
--- /dev/null
+++ b/graphify-out/cache/ast/5209fec417fa2d7245f824308ae6be28e044ad4c84cca9ac90d6767d916a484d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "label": "s3.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L1"}, {"id": "lib_s3_s3", "label": "s3", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L4"}, {"id": "lib_s3_getpublicurl", "label": "getPublicUrl()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L16"}, {"id": "lib_s3_uploadfile", "label": "uploadFile()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L20"}, {"id": "lib_s3_deletefile", "label": "deleteFile()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L36"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "target": "client_s3", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "target": "s3_request_presigner", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "target": "lib_s3_s3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "target": "lib_s3_getpublicurl", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L16", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "target": "lib_s3_uploadfile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "target": "lib_s3_deletefile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L36", "weight": 1.0}, {"source": "lib_s3_uploadfile", "target": "lib_s3_getpublicurl", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L33", "weight": 1.0}], "raw_calls": [{"caller_nid": "lib_s3_uploadfile", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L25"}, {"caller_nid": "lib_s3_deletefile", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts", "source_location": "L37"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/55b809c33fe5ddca90067ee517882ac30a8e5df3729438d0c850412523798d48.json b/graphify-out/cache/ast/55b809c33fe5ddca90067ee517882ac30a8e5df3729438d0c850412523798d48.json
new file mode 100644
index 0000000..ac9684d
--- /dev/null
+++ b/graphify-out/cache/ast/55b809c33fe5ddca90067ee517882ac30a8e5df3729438d0c850412523798d48.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_shell_tsx", "label": "admin-shell.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-shell.tsx", "source_location": "L1"}, {"id": "admin_admin_shell_adminshell", "label": "AdminShell()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-shell.tsx", "source_location": "L4"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_shell_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_nav_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-shell.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_shell_tsx", "target": "admin_admin_nav_adminnav", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-shell.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_shell_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_layout_logout_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-shell.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_shell_tsx", "target": "layout_logout_button_logoutbutton", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-shell.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_shell_tsx", "target": "admin_admin_shell_adminshell", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-shell.tsx", "source_location": "L4", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/5fe564ac395993c3fa21ee3d13d7a84e127b0f5ab0143bae46973cf5c5ee848f.json b/graphify-out/cache/ast/5fe564ac395993c3fa21ee3d13d7a84e127b0f5ab0143bae46973cf5c5ee848f.json
new file mode 100644
index 0000000..5f1161b
--- /dev/null
+++ b/graphify-out/cache/ast/5fe564ac395993c3fa21ee3d13d7a84e127b0f5ab0143bae46973cf5c5ee848f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_eslint_config_mjs", "label": "eslint.config.mjs", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/eslint.config.mjs", "source_location": "L1"}, {"id": "lms_system_eslint_config_eslintconfig", "label": "eslintConfig", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/eslint.config.mjs", "source_location": "L5"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_eslint_config_mjs", "target": "config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/eslint.config.mjs", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_eslint_config_mjs", "target": "core_web_vitals", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/eslint.config.mjs", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_eslint_config_mjs", "target": "typescript", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/eslint.config.mjs", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_eslint_config_mjs", "target": "lms_system_eslint_config_eslintconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/eslint.config.mjs", "source_location": "L5", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/60ec2b28899d7f6af041219dbd060464761ed0279c944eb266a62fe456119598.json b/graphify-out/cache/ast/60ec2b28899d7f6af041219dbd060464761ed0279c944eb266a62fe456119598.json
new file mode 100644
index 0000000..1cd8009
--- /dev/null
+++ b/graphify-out/cache/ast/60ec2b28899d7f6af041219dbd060464761ed0279c944eb266a62fe456119598.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L1"}, {"id": "userid_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L9"}, {"id": "userid_page_userpage", "label": "UserPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L13"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_user_enrollment_manager_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "admin_user_enrollment_manager_userenrollmentmanager", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_user_contact_editor_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "admin_user_contact_editor_usercontacteditor", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "admin_user_balance_block_userbalanceblock", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_reset_password_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "admin_reset_password_button_resetpasswordbutton", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "userid_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_page_tsx", "target": "userid_page_userpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L13", "weight": 1.0}], "raw_calls": [{"caller_nid": "userid_page_userpage", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L16"}, {"caller_nid": "userid_page_userpage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L17"}, {"caller_nid": "userid_page_userpage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L37"}, {"caller_nid": "userid_page_userpage", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L43"}, {"caller_nid": "userid_page_userpage", "callee": "toLocaleDateString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L65"}, {"caller_nid": "userid_page_userpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L96"}, {"caller_nid": "userid_page_userpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L113"}, {"caller_nid": "userid_page_userpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx", "source_location": "L128"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/6199769cb3e5d5a9f6ae8afcbd8517db19340e9184acfa1e8d983a9608dd09f7.json b/graphify-out/cache/ast/6199769cb3e5d5a9f6ae8afcbd8517db19340e9184acfa1e8d983a9608dd09f7.json
new file mode 100644
index 0000000..0512400
--- /dev/null
+++ b/graphify-out/cache/ast/6199769cb3e5d5a9f6ae8afcbd8517db19340e9184acfa1e8d983a9608dd09f7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_delete_action_ts", "label": "delete-action.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L1"}, {"id": "comments_delete_action_deletecomment", "label": "deleteComment()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_delete_action_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_delete_action_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_delete_action_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_delete_action_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_delete_action_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_delete_action_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_delete_action_ts", "target": "comments_delete_action_deletecomment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "comments_delete_action_deletecomment", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L9"}, {"caller_nid": "comments_delete_action_deletecomment", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L9"}, {"caller_nid": "comments_delete_action_deletecomment", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L12"}, {"caller_nid": "comments_delete_action_deletecomment", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts", "source_location": "L17"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/622f9c6019b9f2aec43a6397f0e687c1fc6ff64fae4b9a3aa43d8708b9f417ce.json b/graphify-out/cache/ast/622f9c6019b9f2aec43a6397f0e687c1fc6ff64fae4b9a3aa43d8708b9f417ce.json
new file mode 100644
index 0000000..ad43be2
--- /dev/null
+++ b/graphify-out/cache/ast/622f9c6019b9f2aec43a6397f0e687c1fc6ff64fae4b9a3aa43d8708b9f417ce.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L1"}, {"id": "lessonid_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L9"}, {"id": "lessonid_page_lessoneditorpage", "label": "LessonEditorPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L13"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "admin_lesson_editor_lessoneditor", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_files_manager_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "admin_lesson_files_manager_lessonfilesmanager", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_editor_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "admin_homework_editor_homeworkeditor", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "admin_quiz_editor_quizeditor", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "lessonid_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx", "target": "lessonid_page_lessoneditorpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L13", "weight": 1.0}], "raw_calls": [{"caller_nid": "lessonid_page_lessoneditorpage", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L16"}, {"caller_nid": "lessonid_page_lessoneditorpage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L17"}, {"caller_nid": "lessonid_page_lessoneditorpage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L30"}, {"caller_nid": "lessonid_page_lessoneditorpage", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L37"}, {"caller_nid": "lessonid_page_lessoneditorpage", "callee": "findIndex", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L39"}, {"caller_nid": "lessonid_page_lessoneditorpage", "callee": "parse", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L44"}, {"caller_nid": "lessonid_page_lessoneditorpage", "callee": "stringify", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L44"}, {"caller_nid": "lessonid_page_lessoneditorpage", "callee": "parse", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L75"}, {"caller_nid": "lessonid_page_lessoneditorpage", "callee": "stringify", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx", "source_location": "L75"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/627a8dcfcf402c33a415268726ecdefcc22f4cd8dab6bebafb5b6c8bf255ea34.json b/graphify-out/cache/ast/627a8dcfcf402c33a415268726ecdefcc22f4cd8dab6bebafb5b6c8bf255ea34.json
new file mode 100644
index 0000000..6989e1b
--- /dev/null
+++ b/graphify-out/cache/ast/627a8dcfcf402c33a415268726ecdefcc22f4cd8dab6bebafb5b6c8bf255ea34.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "label": "button.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L1"}, {"id": "ui_button_buttonvariants", "label": "buttonVariants", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L6"}, {"id": "ui_button_button", "label": "Button()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L43"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "target": "button", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "target": "class_variance_authority", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "target": "lib_utils_cn", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "target": "ui_button_buttonvariants", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "target": "ui_button_button", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L43", "weight": 1.0}, {"source": "ui_button_button", "target": "ui_button_buttonvariants", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L52", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_button_button", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx", "source_location": "L52"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/6bae9abdfd8c738914ff706a2d17e24f5a9e592c0eeae14e0e27e5e780fa776f.json b/graphify-out/cache/ast/6bae9abdfd8c738914ff706a2d17e24f5a9e592c0eeae14e0e27e5e780fa776f.json
new file mode 100644
index 0000000..2d7eefa
--- /dev/null
+++ b/graphify-out/cache/ast/6bae9abdfd8c738914ff706a2d17e24f5a9e592c0eeae14e0e27e5e780fa776f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_entrypoint_sh", "label": "entrypoint.sh", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/entrypoint.sh", "source_location": "L1"}], "edges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/6d45e1991cd530acab47e29863417434651c420ec007f8c22e6b3f9768974872.json b/graphify-out/cache/ast/6d45e1991cd530acab47e29863417434651c420ec007f8c22e6b3f9768974872.json
new file mode 100644
index 0000000..7e019a0
--- /dev/null
+++ b/graphify-out/cache/ast/6d45e1991cd530acab47e29863417434651c420ec007f8c22e6b3f9768974872.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_auth_forgot_password_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx", "source_location": "L1"}, {"id": "forgot_password_page_forgotpasswordpage", "label": "ForgotPasswordPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx", "source_location": "L4"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_auth_forgot_password_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_forgot_password_page_tsx", "target": "lib_settings_getsetting", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_forgot_password_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_auth_forgot_password_forgot_password_form_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_forgot_password_page_tsx", "target": "forgot_password_forgot_password_form_forgotpasswordform", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_forgot_password_page_tsx", "target": "forgot_password_page_forgotpasswordpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx", "source_location": "L4", "weight": 1.0}], "raw_calls": [{"caller_nid": "forgot_password_page_forgotpasswordpage", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx", "source_location": "L5"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/6d528e93fcba63f854aedc47d2d471d9ffefc8d9b3bf9101a3f186d887ee0675.json b/graphify-out/cache/ast/6d528e93fcba63f854aedc47d2d471d9ffefc8d9b3bf9101a3f186d887ee0675.json
new file mode 100644
index 0000000..82baa6f
--- /dev/null
+++ b/graphify-out/cache/ast/6d528e93fcba63f854aedc47d2d471d9ffefc8d9b3bf9101a3f186d887ee0675.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "label": "input.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx", "source_location": "L1"}, {"id": "ui_input_input", "label": "Input()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "target": "input", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "target": "lib_utils_cn", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "target": "ui_input_input", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_input_input", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx", "source_location": "L11"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/6e1ad0dc50ae60e976bd9af24c22213d3c23139b6c2a871e99ce81421ed2e047.json b/graphify-out/cache/ast/6e1ad0dc50ae60e976bd9af24c22213d3c23139b6c2a871e99ce81421ed2e047.json
new file mode 100644
index 0000000..44bb03a
--- /dev/null
+++ b/graphify-out/cache/ast/6e1ad0dc50ae60e976bd9af24c22213d3c23139b6c2a871e99ce81421ed2e047.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L1"}, {"id": "settings_actions_savesettings", "label": "saveSettings()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L9"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "lib_settings_settings_defaults", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "lib_settings_settingskey", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_settings_actions_ts", "target": "settings_actions_savesettings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L9", "weight": 1.0}], "raw_calls": [{"caller_nid": "settings_actions_savesettings", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L10"}, {"caller_nid": "settings_actions_savesettings", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L10"}, {"caller_nid": "settings_actions_savesettings", "callee": "keys", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L13"}, {"caller_nid": "settings_actions_savesettings", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L14"}, {"caller_nid": "settings_actions_savesettings", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L14"}, {"caller_nid": "settings_actions_savesettings", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L24"}, {"caller_nid": "settings_actions_savesettings", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L25"}, {"caller_nid": "settings_actions_savesettings", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts", "source_location": "L26"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/6faa0cef8c5380d2c0d09198f7dd5f50503bf492499cea801b24cebbe83d293e.json b/graphify-out/cache/ast/6faa0cef8c5380d2c0d09198f7dd5f50503bf492499cea801b24cebbe83d293e.json
new file mode 100644
index 0000000..073e681
--- /dev/null
+++ b/graphify-out/cache/ast/6faa0cef8c5380d2c0d09198f7dd5f50503bf492499cea801b24cebbe83d293e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "label": "create-course-dialog.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L1"}, {"id": "admin_create_course_dialog_createcoursedialog", "label": "CreateCourseDialog()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L17"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "ui_button_button", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "ui_input_input", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_label_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "ui_label_label", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_textarea_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "ui_textarea_textarea", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "ui_dialog_dialog", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "ui_dialog_dialogcontent", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "ui_dialog_dialogheader", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "ui_dialog_dialogtitle", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "ui_dialog_dialogtrigger", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L15", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "courses_actions_createcourse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L15", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "target": "admin_create_course_dialog_createcoursedialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L17", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_create_course_dialog_createcoursedialog", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx", "source_location": "L18"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/71311a1fe1f28749d1095984df17923e270a4511c407f6a2d4feeb6e33244f4a.json b/graphify-out/cache/ast/71311a1fe1f28749d1095984df17923e270a4511c407f6a2d4feeb6e33244f4a.json
new file mode 100644
index 0000000..acb399d
--- /dev/null
+++ b/graphify-out/cache/ast/71311a1fe1f28749d1095984df17923e270a4511c407f6a2d4feeb6e33244f4a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "label": "enroll-action.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L1"}, {"id": "users_enroll_action_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L9"}, {"id": "users_enroll_action_grantcourseaccess", "label": "grantCourseAccess()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L15"}, {"id": "users_enroll_action_getpublishedcourses", "label": "getPublishedCourses()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L68"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "lib_email_sendcourseaccessemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "users_enroll_action_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "users_enroll_action_grantcourseaccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L15", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "target": "users_enroll_action_getpublishedcourses", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L68", "weight": 1.0}, {"source": "users_enroll_action_grantcourseaccess", "target": "users_enroll_action_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L21", "weight": 1.0}, {"source": "users_enroll_action_getpublishedcourses", "target": "users_enroll_action_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L69", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_enroll_action_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L10"}, {"caller_nid": "users_enroll_action_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L10"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L23"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L24"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L25"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L31"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L35"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L41"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L53"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "sendCourseAccessEmail", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L53"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L58"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L59"}, {"caller_nid": "users_enroll_action_grantcourseaccess", "callee": "error", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L63"}, {"caller_nid": "users_enroll_action_getpublishedcourses", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts", "source_location": "L70"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/734fa154f65f9743e4f747bc54ab730d664c2222a82de15907723de78cee2179.json b/graphify-out/cache/ast/734fa154f65f9743e4f747bc54ab730d664c2222a82de15907723de78cee2179.json
new file mode 100644
index 0000000..18e4e11
--- /dev/null
+++ b/graphify-out/cache/ast/734fa154f65f9743e4f747bc54ab730d664c2222a82de15907723de78cee2179.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L1"}, {"id": "id_page_questionthreadpage", "label": "QuestionThreadPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_questions_questionthread_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "questions_questionthread_questionthread", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_id_page_tsx", "target": "id_page_questionthreadpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "id_page_questionthreadpage", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L13"}, {"caller_nid": "id_page_questionthreadpage", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L13"}, {"caller_nid": "id_page_questionthreadpage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L14"}, {"caller_nid": "id_page_questionthreadpage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L18"}, {"caller_nid": "id_page_questionthreadpage", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L29"}, {"caller_nid": "id_page_questionthreadpage", "callee": "updateMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L32"}, {"caller_nid": "id_page_questionthreadpage", "callee": "toLocaleDateString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L50"}, {"caller_nid": "id_page_questionthreadpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx", "source_location": "L78"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/77c3b0c17a484bcc23192ce3eb03c42fb71453e32b2c088b33a2a798bfcfd632.json b/graphify-out/cache/ast/77c3b0c17a484bcc23192ce3eb03c42fb71453e32b2c088b33a2a798bfcfd632.json
new file mode 100644
index 0000000..aee2d28
--- /dev/null
+++ b/graphify-out/cache/ast/77c3b0c17a484bcc23192ce3eb03c42fb71453e32b2c088b33a2a798bfcfd632.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L1"}, {"id": "courseid_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L10"}, {"id": "courseid_actions_createmodule", "label": "createModule()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L18"}, {"id": "courseid_actions_updatemodule", "label": "updateModule()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L27"}, {"id": "courseid_actions_deletemodule", "label": "deleteModule()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L35"}, {"id": "courseid_actions_reordermodules", "label": "reorderModules()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L41"}, {"id": "courseid_actions_grantaccess", "label": "grantAccess()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L53"}, {"id": "courseid_actions_revokeaccess", "label": "revokeAccess()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L88"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "lib_email_sendcourseaccessemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "courseid_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "courseid_actions_createmodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "courseid_actions_updatemodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L27", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "courseid_actions_deletemodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L35", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "courseid_actions_reordermodules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L41", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "courseid_actions_grantaccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L53", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_actions_ts", "target": "courseid_actions_revokeaccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L88", "weight": 1.0}, {"source": "courseid_actions_createmodule", "target": "courseid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L19", "weight": 1.0}, {"source": "courseid_actions_updatemodule", "target": "courseid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L28", "weight": 1.0}, {"source": "courseid_actions_deletemodule", "target": "courseid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L36", "weight": 1.0}, {"source": "courseid_actions_reordermodules", "target": "courseid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L42", "weight": 1.0}, {"source": "courseid_actions_grantaccess", "target": "courseid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L59", "weight": 1.0}, {"source": "courseid_actions_revokeaccess", "target": "courseid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L89", "weight": 1.0}], "raw_calls": [{"caller_nid": "courseid_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L11"}, {"caller_nid": "courseid_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L11"}, {"caller_nid": "courseid_actions_createmodule", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L20"}, {"caller_nid": "courseid_actions_createmodule", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L21"}, {"caller_nid": "courseid_actions_createmodule", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L22"}, {"caller_nid": "courseid_actions_createmodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L23"}, {"caller_nid": "courseid_actions_createmodule", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L24"}, {"caller_nid": "courseid_actions_updatemodule", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L29"}, {"caller_nid": "courseid_actions_updatemodule", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L30"}, {"caller_nid": "courseid_actions_updatemodule", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L30"}, {"caller_nid": "courseid_actions_updatemodule", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L31"}, {"caller_nid": "courseid_actions_updatemodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L32"}, {"caller_nid": "courseid_actions_deletemodule", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L37"}, {"caller_nid": "courseid_actions_deletemodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L38"}, {"caller_nid": "courseid_actions_reordermodules", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L43"}, {"caller_nid": "courseid_actions_reordermodules", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L44"}, {"caller_nid": "courseid_actions_reordermodules", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L48"}, {"caller_nid": "courseid_actions_grantaccess", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L60"}, {"caller_nid": "courseid_actions_grantaccess", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L65"}, {"caller_nid": "courseid_actions_grantaccess", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L77"}, {"caller_nid": "courseid_actions_grantaccess", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L78"}, {"caller_nid": "courseid_actions_grantaccess", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L79"}, {"caller_nid": "courseid_actions_grantaccess", "callee": "sendCourseAccessEmail", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L82"}, {"caller_nid": "courseid_actions_grantaccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L85"}, {"caller_nid": "courseid_actions_revokeaccess", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L90"}, {"caller_nid": "courseid_actions_revokeaccess", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L93"}, {"caller_nid": "courseid_actions_revokeaccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts", "source_location": "L103"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/78d461589c2ed7c8356d9286a56c70116470d8f6d3b8d3b902c0a3cc50fc5db7.json b/graphify-out/cache/ast/78d461589c2ed7c8356d9286a56c70116470d8f6d3b8d3b902c0a3cc50fc5db7.json
new file mode 100644
index 0000000..60c7817
--- /dev/null
+++ b/graphify-out/cache/ast/78d461589c2ed7c8356d9286a56c70116470d8f6d3b8d3b902c0a3cc50fc5db7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L1"}, {"id": "dashboard_page_curatordashboard", "label": "CuratorDashboard()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L7"}, {"id": "dashboard_page_statcard", "label": "StatCard()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L48"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "target": "dashboard_page_curatordashboard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_dashboard_page_tsx", "target": "dashboard_page_statcard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L48", "weight": 1.0}], "raw_calls": [{"caller_nid": "dashboard_page_curatordashboard", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L8"}, {"caller_nid": "dashboard_page_curatordashboard", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L8"}, {"caller_nid": "dashboard_page_curatordashboard", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L9"}, {"caller_nid": "dashboard_page_curatordashboard", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L11"}, {"caller_nid": "dashboard_page_curatordashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L12"}, {"caller_nid": "dashboard_page_curatordashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L13"}, {"caller_nid": "dashboard_page_curatordashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L14"}, {"caller_nid": "dashboard_page_curatordashboard", "callee": "getTime", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx", "source_location": "L16"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/7a357c2483944d4454d9b53cdd07276ffb56ae1364b83e3365d9837e6a5d3ba3.json b/graphify-out/cache/ast/7a357c2483944d4454d9b53cdd07276ffb56ae1364b83e3365d9837e6a5d3ba3.json
new file mode 100644
index 0000000..2fc14b0
--- /dev/null
+++ b/graphify-out/cache/ast/7a357c2483944d4454d9b53cdd07276ffb56ae1364b83e3365d9837e6a5d3ba3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_questions_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L1"}, {"id": "questions_page_adminquestionspage", "label": "AdminQuestionsPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_questions_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_questions_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_questions_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_questions_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_questions_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_questions_page_tsx", "target": "questions_questionsplitview_questionsplitview", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_questions_page_tsx", "target": "questions_page_adminquestionspage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "questions_page_adminquestionspage", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L7"}, {"caller_nid": "questions_page_adminquestionspage", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L7"}, {"caller_nid": "questions_page_adminquestionspage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx", "source_location": "L8"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/7acf8e743597fc80a6c19871efd08defed48e47c53b5f8fc25a5d247c9b6406b.json b/graphify-out/cache/ast/7acf8e743597fc80a6c19871efd08defed48e47c53b5f8fc25a5d247c9b6406b.json
new file mode 100644
index 0000000..d4d663c
--- /dev/null
+++ b/graphify-out/cache/ast/7acf8e743597fc80a6c19871efd08defed48e47c53b5f8fc25a5d247c9b6406b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L1"}, {"id": "lessonid_actions_togglelessonprogress", "label": "toggleLessonProgress()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_actions_ts", "target": "lessonid_actions_togglelessonprogress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "lessonid_actions_togglelessonprogress", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L9"}, {"caller_nid": "lessonid_actions_togglelessonprogress", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L9"}, {"caller_nid": "lessonid_actions_togglelessonprogress", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L12"}, {"caller_nid": "lessonid_actions_togglelessonprogress", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L17"}, {"caller_nid": "lessonid_actions_togglelessonprogress", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L21"}, {"caller_nid": "lessonid_actions_togglelessonprogress", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L26"}, {"caller_nid": "lessonid_actions_togglelessonprogress", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L27"}, {"caller_nid": "lessonid_actions_togglelessonprogress", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts", "source_location": "L28"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/7b119de01400b7a18afaea066fcd4b1799f8e47c316ecc64618a30ade92f4986.json b/graphify-out/cache/ast/7b119de01400b7a18afaea066fcd4b1799f8e47c316ecc64618a30ade92f4986.json
new file mode 100644
index 0000000..75cd93f
--- /dev/null
+++ b/graphify-out/cache/ast/7b119de01400b7a18afaea066fcd4b1799f8e47c316ecc64618a30ade92f4986.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_auth_verify_email_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/verify-email/page.tsx", "source_location": "L1"}, {"id": "verify_email_page_verifyemailpage", "label": "VerifyEmailPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/verify-email/page.tsx", "source_location": "L3"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_auth_verify_email_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/verify-email/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_verify_email_page_tsx", "target": "verify_email_page_verifyemailpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/verify-email/page.tsx", "source_location": "L3", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/7d58d0c3b03d76adc3cb3f6fcd41d18e3ad57b9f62637e85de372809d1678892.json b/graphify-out/cache/ast/7d58d0c3b03d76adc3cb3f6fcd41d18e3ad57b9f62637e85de372809d1678892.json
new file mode 100644
index 0000000..322e708
--- /dev/null
+++ b/graphify-out/cache/ast/7d58d0c3b03d76adc3cb3f6fcd41d18e3ad57b9f62637e85de372809d1678892.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "label": "layout.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L1"}, {"id": "admin_layout_adminlayout", "label": "AdminLayout()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_admin_shell_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "target": "admin_admin_shell_adminshell", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_layout_tsx", "target": "admin_layout_adminlayout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_layout_adminlayout", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L8"}, {"caller_nid": "admin_layout_adminlayout", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L8"}, {"caller_nid": "admin_layout_adminlayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L9"}, {"caller_nid": "admin_layout_adminlayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L10"}, {"caller_nid": "admin_layout_adminlayout", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx", "source_location": "L12"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/8397396d98dc05a4539408820bf9b5b3b21a05723620e200aa458988f77a7944.json b/graphify-out/cache/ast/8397396d98dc05a4539408820bf9b5b3b21a05723620e200aa458988f77a7944.json
new file mode 100644
index 0000000..42f5063
--- /dev/null
+++ b/graphify-out/cache/ast/8397396d98dc05a4539408820bf9b5b3b21a05723620e200aa458988f77a7944.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_questions_questionthread_tsx", "label": "QuestionThread.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L1"}, {"id": "questions_questionthread_fileattachment", "label": "FileAttachment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L5"}, {"id": "questions_questionthread_message", "label": "Message", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L11"}, {"id": "questions_questionthread_questionthreadprops", "label": "QuestionThreadProps", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L21"}, {"id": "questions_questionthread_formatdate", "label": "formatDate()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L28"}, {"id": "questions_questionthread_formatfilesize", "label": "formatFileSize()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L37"}, {"id": "questions_questionthread_questionthread", "label": "QuestionThread()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L43"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionthread_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionthread_tsx", "target": "questions_questionthread_fileattachment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionthread_tsx", "target": "questions_questionthread_message", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L11", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionthread_tsx", "target": "questions_questionthread_questionthreadprops", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionthread_tsx", "target": "questions_questionthread_formatdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L28", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionthread_tsx", "target": "questions_questionthread_formatfilesize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L37", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionthread_tsx", "target": "questions_questionthread_questionthread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L43", "weight": 1.0}], "raw_calls": [{"caller_nid": "questions_questionthread_formatdate", "callee": "toLocaleString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L29"}, {"caller_nid": "questions_questionthread_formatfilesize", "callee": "round", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L39"}, {"caller_nid": "questions_questionthread_formatfilesize", "callee": "toFixed", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L40"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L49"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L50"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L51"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L52"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L53"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L54"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L55"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L56"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "useEffect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L58"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L120"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L175"}, {"caller_nid": "questions_questionthread_questionthread", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx", "source_location": "L242"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/845bad254b1d9143bb5f6ce18600085208ff3c149a5654c3d65a56fc8f8719fd.json b/graphify-out/cache/ast/845bad254b1d9143bb5f6ce18600085208ff3c149a5654c3d65a56fc8f8719fd.json
new file mode 100644
index 0000000..2b29946
--- /dev/null
+++ b/graphify-out/cache/ast/845bad254b1d9143bb5f6ce18600085208ff3c149a5654c3d65a56fc8f8719fd.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_users_new_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx", "source_location": "L1"}, {"id": "new_page_metadata", "label": "metadata", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx", "source_location": "L4"}, {"id": "new_page_newuserpage", "label": "NewUserPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_new_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_new_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_create_user_form_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_new_page_tsx", "target": "admin_create_user_form_createuserform", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_new_page_tsx", "target": "new_page_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_new_page_tsx", "target": "new_page_newuserpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx", "source_location": "L6", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/8554e167490b96578f39d5ea965c5fd65e63cd5f1e87f60c39cc73b7f4de8038.json b/graphify-out/cache/ast/8554e167490b96578f39d5ea965c5fd65e63cd5f1e87f60c39cc73b7f4de8038.json
new file mode 100644
index 0000000..e2da97e
--- /dev/null
+++ b/graphify-out/cache/ast/8554e167490b96578f39d5ea965c5fd65e63cd5f1e87f60c39cc73b7f4de8038.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_close_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L1"}, {"id": "close_route_patch", "label": "PATCH()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_close_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_close_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_close_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_close_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_close_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_close_route_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_close_route_ts", "target": "close_route_patch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "close_route_patch", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L10"}, {"caller_nid": "close_route_patch", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L10"}, {"caller_nid": "close_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L11"}, {"caller_nid": "close_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L14"}, {"caller_nid": "close_route_patch", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L19"}, {"caller_nid": "close_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L20"}, {"caller_nid": "close_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L22"}, {"caller_nid": "close_route_patch", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L25"}, {"caller_nid": "close_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts", "source_location": "L30"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/866519274b0316160934e281d13479c68bda1685cde7aedec5fe5b3014c22a0c.json b/graphify-out/cache/ast/866519274b0316160934e281d13479c68bda1685cde7aedec5fe5b3014c22a0c.json
new file mode 100644
index 0000000..046c5da
--- /dev/null
+++ b/graphify-out/cache/ast/866519274b0316160934e281d13479c68bda1685cde7aedec5fe5b3014c22a0c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L1"}, {"id": "quizzes_page_metadata", "label": "metadata", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L4"}, {"id": "quizzes_page_adminquizzespage", "label": "AdminQuizzesPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_page_tsx", "target": "quizzes_page_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_quizzes_page_tsx", "target": "quizzes_page_adminquizzespage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "quizzes_page_adminquizzespage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L7"}, {"caller_nid": "quizzes_page_adminquizzespage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx", "source_location": "L44"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/86c3af8247aa6532ae0b36ba722555731513d8bb57ba2d465cec9ba5501ea441.json b/graphify-out/cache/ast/86c3af8247aa6532ae0b36ba722555731513d8bb57ba2d465cec9ba5501ea441.json
new file mode 100644
index 0000000..a7f4081
--- /dev/null
+++ b/graphify-out/cache/ast/86c3af8247aa6532ae0b36ba722555731513d8bb57ba2d465cec9ba5501ea441.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L1"}, {"id": "slug_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L5"}, {"id": "slug_page_coursepage", "label": "CoursePage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L9"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_page_tsx", "target": "slug_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_page_tsx", "target": "slug_page_coursepage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L9", "weight": 1.0}], "raw_calls": [{"caller_nid": "slug_page_coursepage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L12"}, {"caller_nid": "slug_page_coursepage", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L29"}, {"caller_nid": "slug_page_coursepage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx", "source_location": "L34"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/87bd29ea7e0b0452a94a115635dd3bb158799ef13f026103f5059ab8bfaf09f7.json b/graphify-out/cache/ast/87bd29ea7e0b0452a94a115635dd3bb158799ef13f026103f5059ab8bfaf09f7.json
new file mode 100644
index 0000000..7aff1e7
--- /dev/null
+++ b/graphify-out/cache/ast/87bd29ea7e0b0452a94a115635dd3bb158799ef13f026103f5059ab8bfaf09f7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_admin_upload_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L1"}, {"id": "upload_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_upload_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_upload_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_upload_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_upload_route_ts", "target": "lib_s3_uploadfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_upload_route_ts", "target": "crypto", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_upload_route_ts", "target": "upload_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "upload_route_post", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L8"}, {"caller_nid": "upload_route_post", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L8"}, {"caller_nid": "upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L10"}, {"caller_nid": "upload_route_post", "callee": "formData", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L13"}, {"caller_nid": "upload_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L14"}, {"caller_nid": "upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L15"}, {"caller_nid": "upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L18"}, {"caller_nid": "upload_route_post", "callee": "pop", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L20"}, {"caller_nid": "upload_route_post", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L20"}, {"caller_nid": "upload_route_post", "callee": "randomUUID", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L21"}, {"caller_nid": "upload_route_post", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L22"}, {"caller_nid": "upload_route_post", "callee": "arrayBuffer", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L22"}, {"caller_nid": "upload_route_post", "callee": "uploadFile", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L24"}, {"caller_nid": "upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts", "source_location": "L25"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/89d353fc82f4992540d92e27e23f69b02ebc8354142f1223fbfe8ad3032ba477.json b/graphify-out/cache/ast/89d353fc82f4992540d92e27e23f69b02ebc8354142f1223fbfe8ad3032ba477.json
new file mode 100644
index 0000000..fd098a6
--- /dev/null
+++ b/graphify-out/cache/ast/89d353fc82f4992540d92e27e23f69b02ebc8354142f1223fbfe8ad3032ba477.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "label": "dialog.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L1"}, {"id": "ui_dialog_dialog", "label": "Dialog()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L10"}, {"id": "ui_dialog_dialogtrigger", "label": "DialogTrigger()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L14"}, {"id": "ui_dialog_dialogportal", "label": "DialogPortal()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L18"}, {"id": "ui_dialog_dialogclose", "label": "DialogClose()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L22"}, {"id": "ui_dialog_dialogoverlay", "label": "DialogOverlay()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L26"}, {"id": "ui_dialog_dialogcontent", "label": "DialogContent()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L42"}, {"id": "ui_dialog_dialogheader", "label": "DialogHeader()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L83"}, {"id": "ui_dialog_dialogfooter", "label": "DialogFooter()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L93"}, {"id": "ui_dialog_dialogtitle", "label": "DialogTitle()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L120"}, {"id": "ui_dialog_dialogdescription", "label": "DialogDescription()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L133"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "dialog", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "lib_utils_cn", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_button_button", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialogtrigger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialogportal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialogclose", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L22", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialogoverlay", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L26", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialogcontent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L42", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialogheader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L83", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialogfooter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L93", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialogtitle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L120", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_dialog_tsx", "target": "ui_dialog_dialogdescription", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L133", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_dialog_dialogoverlay", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L33"}, {"caller_nid": "ui_dialog_dialogcontent", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L55"}, {"caller_nid": "ui_dialog_dialogheader", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L87"}, {"caller_nid": "ui_dialog_dialogfooter", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L104"}, {"caller_nid": "ui_dialog_dialogtitle", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L124"}, {"caller_nid": "ui_dialog_dialogdescription", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx", "source_location": "L140"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/8b91d4305c3f851dc25012ceaefc84ca981b7b1d125cd5e0e2251fe783db4327.json b/graphify-out/cache/ast/8b91d4305c3f851dc25012ceaefc84ca981b7b1d125cd5e0e2251fe783db4327.json
new file mode 100644
index 0000000..1dd1022
--- /dev/null
+++ b/graphify-out/cache/ast/8b91d4305c3f851dc25012ceaefc84ca981b7b1d125cd5e0e2251fe783db4327.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_exporter_tsx", "label": "csv-exporter.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L1"}, {"id": "admin_csv_exporter_course", "label": "Course", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L6"}, {"id": "admin_csv_exporter_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L8"}, {"id": "admin_csv_exporter_focushandlers", "label": "focusHandlers", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L17"}, {"id": "admin_csv_exporter_csvexporter", "label": "CsvExporter()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L24"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_exporter_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_exporter_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_exporter_tsx", "target": "admin_csv_exporter_course", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_exporter_tsx", "target": "admin_csv_exporter_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_exporter_tsx", "target": "admin_csv_exporter_focushandlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L17", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_exporter_tsx", "target": "admin_csv_exporter_csvexporter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L24", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_csv_exporter_csvexporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L25"}, {"caller_nid": "admin_csv_exporter_csvexporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L26"}, {"caller_nid": "admin_csv_exporter_csvexporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L27"}, {"caller_nid": "admin_csv_exporter_csvexporter", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx", "source_location": "L60"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/8c2028215627d6196fb8200d22165ad246a817e7c46ddec79d35ed8d808a9f2b.json b/graphify-out/cache/ast/8c2028215627d6196fb8200d22165ad246a817e7c46ddec79d35ed8d808a9f2b.json
new file mode 100644
index 0000000..d69e064
--- /dev/null
+++ b/graphify-out/cache/ast/8c2028215627d6196fb8200d22165ad246a817e7c46ddec79d35ed8d808a9f2b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_curator_audio_recorder_tsx", "label": "audio-recorder.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L1"}, {"id": "curator_audio_recorder_audiorecorderprops", "label": "AudioRecorderProps", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L5"}, {"id": "curator_audio_recorder_audiorecorder", "label": "AudioRecorder()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L11"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_curator_audio_recorder_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_curator_audio_recorder_tsx", "target": "curator_audio_recorder_audiorecorderprops", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_curator_audio_recorder_tsx", "target": "curator_audio_recorder_audiorecorder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L11", "weight": 1.0}], "raw_calls": [{"caller_nid": "curator_audio_recorder_audiorecorder", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L12"}, {"caller_nid": "curator_audio_recorder_audiorecorder", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L13"}, {"caller_nid": "curator_audio_recorder_audiorecorder", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L14"}, {"caller_nid": "curator_audio_recorder_audiorecorder", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L15"}, {"caller_nid": "curator_audio_recorder_audiorecorder", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx", "source_location": "L16"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/8e74f87b3c0cae858d5d7d56301decc7ef95096f6e92529597a73da71ed96295.json b/graphify-out/cache/ast/8e74f87b3c0cae858d5d7d56301decc7ef95096f6e92529597a73da71ed96295.json
new file mode 100644
index 0000000..adee97f
--- /dev/null
+++ b/graphify-out/cache/ast/8e74f87b3c0cae858d5d7d56301decc7ef95096f6e92529597a73da71ed96295.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_next_config_ts", "label": "next.config.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/next.config.ts", "source_location": "L1"}, {"id": "lms_system_next_config_nextconfig", "label": "nextConfig", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/next.config.ts", "source_location": "L3"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_next_config_ts", "target": "next", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/next.config.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_next_config_ts", "target": "lms_system_next_config_nextconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/next.config.ts", "source_location": "L3", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/8f050d3e557841d5fe03932a71a4ab481c7f54b4200b7e9b61c3bc0b825033bc.json b/graphify-out/cache/ast/8f050d3e557841d5fe03932a71a4ab481c7f54b4200b7e9b61c3bc0b825033bc.json
new file mode 100644
index 0000000..a551685
--- /dev/null
+++ b/graphify-out/cache/ast/8f050d3e557841d5fe03932a71a4ab481c7f54b4200b7e9b61c3bc0b825033bc.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L1"}, {"id": "moduleid_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L6"}, {"id": "moduleid_page_modulepage", "label": "ModulePage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L10"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_page_tsx", "target": "admin_sortable_lessons_sortablelessons", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_page_tsx", "target": "moduleid_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_page_tsx", "target": "moduleid_page_modulepage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L10", "weight": 1.0}], "raw_calls": [{"caller_nid": "moduleid_page_modulepage", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L13"}, {"caller_nid": "moduleid_page_modulepage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L14"}, {"caller_nid": "moduleid_page_modulepage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L24"}, {"caller_nid": "moduleid_page_modulepage", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L31"}, {"caller_nid": "moduleid_page_modulepage", "callee": "parse", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L33"}, {"caller_nid": "moduleid_page_modulepage", "callee": "stringify", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx", "source_location": "L33"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/8f3750260b869d68fbae2b58ab3e9042924b20afcd4a75b6e096f3af69fa034b.json b/graphify-out/cache/ast/8f3750260b869d68fbae2b58ab3e9042924b20afcd4a75b6e096f3af69fa034b.json
new file mode 100644
index 0000000..f45370b
--- /dev/null
+++ b/graphify-out/cache/ast/8f3750260b869d68fbae2b58ab3e9042924b20afcd4a75b6e096f3af69fa034b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "label": "layout.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L1"}, {"id": "student_layout_studentlayout", "label": "StudentLayout()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L9"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_layout_logout_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "layout_logout_button_logoutbutton", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "lib_settings_getsetting", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_stop_impersonate_banner_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "admin_stop_impersonate_banner_stopimpersonatebanner", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_layout_tsx", "target": "student_layout_studentlayout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L9", "weight": 1.0}], "raw_calls": [{"caller_nid": "student_layout_studentlayout", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L10"}, {"caller_nid": "student_layout_studentlayout", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L10"}, {"caller_nid": "student_layout_studentlayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L11"}, {"caller_nid": "student_layout_studentlayout", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L15"}, {"caller_nid": "student_layout_studentlayout", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L16"}, {"caller_nid": "student_layout_studentlayout", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L20"}, {"caller_nid": "student_layout_studentlayout", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L21"}, {"caller_nid": "student_layout_studentlayout", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L22"}, {"caller_nid": "student_layout_studentlayout", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L23"}, {"caller_nid": "student_layout_studentlayout", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L24"}, {"caller_nid": "student_layout_studentlayout", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L25"}, {"caller_nid": "student_layout_studentlayout", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L26"}, {"caller_nid": "student_layout_studentlayout", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx", "source_location": "L27"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/92b38291da79dcb9c69d52e8acd54c90e2b0501994a6a3de0821cb473656b83d.json b/graphify-out/cache/ast/92b38291da79dcb9c69d52e8acd54c90e2b0501994a6a3de0821cb473656b83d.json
new file mode 100644
index 0000000..1c7080d
--- /dev/null
+++ b/graphify-out/cache/ast/92b38291da79dcb9c69d52e8acd54c90e2b0501994a6a3de0821cb473656b83d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_admin_export_users_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L1"}, {"id": "export_users_route_get", "label": "GET()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_export_users_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_export_users_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_export_users_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_export_users_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_export_users_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_export_users_route_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_export_users_route_ts", "target": "iconv_lite", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_export_users_route_ts", "target": "export_users_route_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "export_users_route_get", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L8"}, {"caller_nid": "export_users_route_get", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L8"}, {"caller_nid": "export_users_route_get", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L10"}, {"caller_nid": "export_users_route_get", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L18"}, {"caller_nid": "export_users_route_get", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L33"}, {"caller_nid": "export_users_route_get", "callee": "join", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L41"}, {"caller_nid": "export_users_route_get", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L41"}, {"caller_nid": "export_users_route_get", "callee": "encode", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L49"}, {"caller_nid": "export_users_route_get", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L52"}, {"caller_nid": "export_users_route_get", "callee": "slice", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L56"}, {"caller_nid": "export_users_route_get", "callee": "toISOString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts", "source_location": "L56"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/92cf9c04db74eeb09738af00cced8506c6d552c7292e7b3623ca9b5db29dba03.json b/graphify-out/cache/ast/92cf9c04db74eeb09738af00cced8506c6d552c7292e7b3623ca9b5db29dba03.json
new file mode 100644
index 0000000..31fd667
--- /dev/null
+++ b/graphify-out/cache/ast/92cf9c04db74eeb09738af00cced8506c6d552c7292e7b3623ca9b5db29dba03.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "label": "users-table.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L1"}, {"id": "admin_users_table_enrollment", "label": "Enrollment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L8"}, {"id": "admin_users_table_userrow", "label": "UserRow", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L14"}, {"id": "admin_users_table_rolelabel", "label": "roleLabel", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L25"}, {"id": "admin_users_table_rolevariant", "label": "roleVariant", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L31"}, {"id": "admin_users_table_userpopup", "label": "UserPopup()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L37"}, {"id": "admin_users_table_impersonatebutton", "label": "ImpersonateButton()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L94"}, {"id": "admin_users_table_userstable", "label": "UsersTable()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L131"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "ui_badge_badge", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_quick_enroll_modal_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "admin_quick_enroll_modal_quickenrollbutton", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "admin_users_table_enrollment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "admin_users_table_userrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "admin_users_table_rolelabel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L25", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "admin_users_table_rolevariant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L31", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "admin_users_table_userpopup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L37", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "admin_users_table_impersonatebutton", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L94", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "target": "admin_users_table_userstable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L131", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_users_table_userpopup", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L60"}, {"caller_nid": "admin_users_table_impersonatebutton", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L95"}, {"caller_nid": "admin_users_table_userstable", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L132"}, {"caller_nid": "admin_users_table_userstable", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L139"}, {"caller_nid": "admin_users_table_userstable", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx", "source_location": "L145"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/95ec65e1c813d8552f35884bb9103708a14f62c7a27183de98315165759d3b55.json b/graphify-out/cache/ast/95ec65e1c813d8552f35884bb9103708a14f62c7a27183de98315165759d3b55.json
new file mode 100644
index 0000000..59e9a22
--- /dev/null
+++ b/graphify-out/cache/ast/95ec65e1c813d8552f35884bb9103708a14f62c7a27183de98315165759d3b55.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "label": "user-balance-block.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L1"}, {"id": "admin_user_balance_block_transaction", "label": "Transaction", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L6"}, {"id": "admin_user_balance_block_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L13"}, {"id": "admin_user_balance_block_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L18"}, {"id": "admin_user_balance_block_focushandlers", "label": "focusHandlers", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L27"}, {"id": "admin_user_balance_block_formatamount", "label": "formatAmount()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L34"}, {"id": "admin_user_balance_block_userbalanceblock", "label": "UserBalanceBlock()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L39"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "userid_actions_addbalancetransaction", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "userid_actions_deletebalancetransaction", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "admin_user_balance_block_transaction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "admin_user_balance_block_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "admin_user_balance_block_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "admin_user_balance_block_focushandlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L27", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "admin_user_balance_block_formatamount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L34", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_balance_block_tsx", "target": "admin_user_balance_block_userbalanceblock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L39", "weight": 1.0}, {"source": "admin_user_balance_block_userbalanceblock", "target": "admin_user_balance_block_formatamount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L79", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_user_balance_block_formatamount", "callee": "toLocaleString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L36"}, {"caller_nid": "admin_user_balance_block_userbalanceblock", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L40"}, {"caller_nid": "admin_user_balance_block_userbalanceblock", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L41"}, {"caller_nid": "admin_user_balance_block_userbalanceblock", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L42"}, {"caller_nid": "admin_user_balance_block_userbalanceblock", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L43"}, {"caller_nid": "admin_user_balance_block_userbalanceblock", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L44"}, {"caller_nid": "admin_user_balance_block_userbalanceblock", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L45"}, {"caller_nid": "admin_user_balance_block_userbalanceblock", "callee": "reduce", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L47"}, {"caller_nid": "admin_user_balance_block_userbalanceblock", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx", "source_location": "L142"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/99bbdb88c0b896e7cb673d9c9a03ffec7973f580fd13b6276458926d39d85bda.json b/graphify-out/cache/ast/99bbdb88c0b896e7cb673d9c9a03ffec7973f580fd13b6276458926d39d85bda.json
new file mode 100644
index 0000000..5af7c4e
--- /dev/null
+++ b/graphify-out/cache/ast/99bbdb88c0b896e7cb673d9c9a03ffec7973f580fd13b6276458926d39d85bda.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_content_tabs_tsx", "label": "content-tabs.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L1"}, {"id": "submissionid_content_tabs_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L6"}, {"id": "submissionid_content_tabs_contenttabs", "label": "ContentTabs()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L11"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_content_tabs_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_content_tabs_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_curator_content_viewer_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_content_tabs_tsx", "target": "curator_content_viewer_contentviewer", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_content_tabs_tsx", "target": "submissionid_content_tabs_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_content_tabs_tsx", "target": "submissionid_content_tabs_contenttabs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L11", "weight": 1.0}], "raw_calls": [{"caller_nid": "submissionid_content_tabs_contenttabs", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L12"}, {"caller_nid": "submissionid_content_tabs_contenttabs", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx", "source_location": "L18"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/9ac18ca57fbf2b1224f9c868e9830d4c719e1f2c604f5cc52305874caa0a4a8b.json b/graphify-out/cache/ast/9ac18ca57fbf2b1224f9c868e9830d4c719e1f2c604f5cc52305874caa0a4a8b.json
new file mode 100644
index 0000000..cefb25d
--- /dev/null
+++ b/graphify-out/cache/ast/9ac18ca57fbf2b1224f9c868e9830d4c719e1f2c604f5cc52305874caa0a4a8b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "label": "auth.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L1"}, {"id": "lib_auth_auth", "label": "auth", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L8"}, {"id": "lib_auth_session", "label": "Session", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L53"}, {"id": "lib_auth_user", "label": "User", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L54"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "better_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "prisma", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "plugins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "bcryptjs", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "lib_email_sendwelcomeemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "lib_email_sendpasswordresetemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "lib_auth_auth", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "lib_auth_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L53", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "target": "lib_auth_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts", "source_location": "L54", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/9b858917be3a4b93873520a904d36be64783e0082d07dd70b0cdcd91879ac580.json b/graphify-out/cache/ast/9b858917be3a4b93873520a904d36be64783e0082d07dd70b0cdcd91879ac580.json
new file mode 100644
index 0000000..10323ff
--- /dev/null
+++ b/graphify-out/cache/ast/9b858917be3a4b93873520a904d36be64783e0082d07dd70b0cdcd91879ac580.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "label": "utils.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/utils.ts", "source_location": "L1"}, {"id": "lib_utils_cn", "label": "cn()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/utils.ts", "source_location": "L4"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "target": "clsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/utils.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "target": "tailwind_merge", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/utils.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "target": "lib_utils_cn", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/utils.ts", "source_location": "L4", "weight": 1.0}], "raw_calls": [{"caller_nid": "lib_utils_cn", "callee": "twMerge", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/utils.ts", "source_location": "L5"}, {"caller_nid": "lib_utils_cn", "callee": "clsx", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/utils.ts", "source_location": "L5"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/9c50bcbbe85e9829e5b771caa6fec847e78cf0b5c4de7084ed4573ad853d8c0c.json b/graphify-out/cache/ast/9c50bcbbe85e9829e5b771caa6fec847e78cf0b5c4de7084ed4573ad853d8c0c.json
new file mode 100644
index 0000000..7a0b556
--- /dev/null
+++ b/graphify-out/cache/ast/9c50bcbbe85e9829e5b771caa6fec847e78cf0b5c4de7084ed4573ad853d8c0c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L1"}, {"id": "categories_page_categoriespage", "label": "CategoriesPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "admin_category_row_categoryrow", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "categories_actions_createcategory", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "ui_button_button", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "ui_input_input", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_page_tsx", "target": "categories_page_categoriespage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "categories_page_categoriespage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L8"}, {"caller_nid": "categories_page_categoriespage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx", "source_location": "L28"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/9cf5ec27f001abb934fdafa4b06f8103f41f00c9a203ab394b7f2e9fbe2b2ee9.json b/graphify-out/cache/ast/9cf5ec27f001abb934fdafa4b06f8103f41f00c9a203ab394b7f2e9fbe2b2ee9.json
new file mode 100644
index 0000000..28cbfbe
--- /dev/null
+++ b/graphify-out/cache/ast/9cf5ec27f001abb934fdafa4b06f8103f41f00c9a203ab394b7f2e9fbe2b2ee9.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_complete_button_tsx", "label": "lesson-complete-button.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx", "source_location": "L1"}, {"id": "student_lesson_complete_button_lessoncompletebutton", "label": "LessonCompleteButton()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_complete_button_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_complete_button_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_complete_button_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_complete_button_tsx", "target": "actions_student_actions_togglelessonprogress", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_complete_button_tsx", "target": "student_lesson_complete_button_lessoncompletebutton", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "student_lesson_complete_button_lessoncompletebutton", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx", "source_location": "L18"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/9cff85429ce2a78fd8fd8ade02ed91e3efa090f2d0e9c436a9703ab6720d361f.json b/graphify-out/cache/ast/9cff85429ce2a78fd8fd8ade02ed91e3efa090f2d0e9c436a9703ab6720d361f.json
new file mode 100644
index 0000000..2113825
--- /dev/null
+++ b/graphify-out/cache/ast/9cff85429ce2a78fd8fd8ade02ed91e3efa090f2d0e9c436a9703ab6720d361f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_auth_login_login_form_tsx", "label": "login-form.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L1"}, {"id": "login_login_form_loginform", "label": "LoginForm()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_login_form_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_login_form_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_login_form_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_login_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_client_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_login_form_tsx", "target": "lib_auth_client_signin", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_login_form_tsx", "target": "lib_auth_client_authclient", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_login_login_form_tsx", "target": "login_login_form_loginform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "login_login_form_loginform", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L9"}, {"caller_nid": "login_login_form_loginform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L10"}, {"caller_nid": "login_login_form_loginform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L11"}, {"caller_nid": "login_login_form_loginform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L12"}, {"caller_nid": "login_login_form_loginform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx", "source_location": "L13"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/9cfffe1e50d7238aa88678f4fdfe98dc3512be99be5223b1193fb1782fe5a666.json b/graphify-out/cache/ast/9cfffe1e50d7238aa88678f4fdfe98dc3512be99be5223b1193fb1782fe5a666.json
new file mode 100644
index 0000000..510cd21
--- /dev/null
+++ b/graphify-out/cache/ast/9cfffe1e50d7238aa88678f4fdfe98dc3512be99be5223b1193fb1782fe5a666.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "label": "homework-section.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L1"}, {"id": "student_homework_section_hwfile", "label": "HWFile", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L7"}, {"id": "student_homework_section_feedback", "label": "Feedback", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L9"}, {"id": "student_homework_section_submission", "label": "Submission", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L18"}, {"id": "student_homework_section_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L27"}, {"id": "student_homework_section_formatsize", "label": "formatSize()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L35"}, {"id": "student_homework_section_homeworksection", "label": "HomeworkSection()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L41"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "actions_student_actions_submithomework", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_curator_audio_recorder_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "curator_audio_recorder_audiorecorder", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "student_homework_section_hwfile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "student_homework_section_feedback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "student_homework_section_submission", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "student_homework_section_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L27", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "student_homework_section_formatsize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L35", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "target": "student_homework_section_homeworksection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L41", "weight": 1.0}], "raw_calls": [{"caller_nid": "student_homework_section_formatsize", "callee": "toFixed", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L37"}, {"caller_nid": "student_homework_section_formatsize", "callee": "toFixed", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L38"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L42"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L43"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L44"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L45"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L46"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L47"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L107"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "toLocaleDateString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L150"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L170"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L199"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L222"}, {"caller_nid": "student_homework_section_homeworksection", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx", "source_location": "L224"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/9e04d81b8b371a7e6ef333385e645410b8b3b9caa816471afe940ca4e5364afe.json b/graphify-out/cache/ast/9e04d81b8b371a7e6ef333385e645410b8b3b9caa816471afe940ca4e5364afe.json
new file mode 100644
index 0000000..66581ce
--- /dev/null
+++ b/graphify-out/cache/ast/9e04d81b8b371a7e6ef333385e645410b8b3b9caa816471afe940ca4e5364afe.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_maintenance_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/maintenance/page.tsx", "source_location": "L1"}, {"id": "maintenance_page_maintenancepage", "label": "MaintenancePage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/maintenance/page.tsx", "source_location": "L1"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_maintenance_page_tsx", "target": "maintenance_page_maintenancepage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/maintenance/page.tsx", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/9eb20dcee65b89e8cc04254df319dc05cece98ad187441b8defed4f6ed8d2737.json b/graphify-out/cache/ast/9eb20dcee65b89e8cc04254df319dc05cece98ad187441b8defed4f6ed8d2737.json
new file mode 100644
index 0000000..a986e97
--- /dev/null
+++ b/graphify-out/cache/ast/9eb20dcee65b89e8cc04254df319dc05cece98ad187441b8defed4f6ed8d2737.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "label": "alert-dialog.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L1"}, {"id": "ui_alert_dialog_alertdialog", "label": "AlertDialog()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L9"}, {"id": "ui_alert_dialog_alertdialogtrigger", "label": "AlertDialogTrigger()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L13"}, {"id": "ui_alert_dialog_alertdialogportal", "label": "AlertDialogPortal()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L19"}, {"id": "ui_alert_dialog_alertdialogoverlay", "label": "AlertDialogOverlay()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L25"}, {"id": "ui_alert_dialog_alertdialogcontent", "label": "AlertDialogContent()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L41"}, {"id": "ui_alert_dialog_alertdialogheader", "label": "AlertDialogHeader()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L64"}, {"id": "ui_alert_dialog_alertdialogfooter", "label": "AlertDialogFooter()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L80"}, {"id": "ui_alert_dialog_alertdialogmedia", "label": "AlertDialogMedia()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L96"}, {"id": "ui_alert_dialog_alertdialogtitle", "label": "AlertDialogTitle()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L112"}, {"id": "ui_alert_dialog_alertdialogdescription", "label": "AlertDialogDescription()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L128"}, {"id": "ui_alert_dialog_alertdialogaction", "label": "AlertDialogAction()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L144"}, {"id": "ui_alert_dialog_alertdialogcancel", "label": "AlertDialogCancel()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L157"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "alert_dialog", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_utils_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "lib_utils_cn", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_button_button", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogtrigger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogportal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L19", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogoverlay", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L25", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogcontent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L41", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogheader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L64", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogfooter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L80", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogmedia", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L96", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogtitle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L112", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogdescription", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L128", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogaction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L144", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_alert_dialog_tsx", "target": "ui_alert_dialog_alertdialogcancel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L157", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_alert_dialog_alertdialogoverlay", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L32"}, {"caller_nid": "ui_alert_dialog_alertdialogcontent", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L54"}, {"caller_nid": "ui_alert_dialog_alertdialogheader", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L71"}, {"caller_nid": "ui_alert_dialog_alertdialogfooter", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L87"}, {"caller_nid": "ui_alert_dialog_alertdialogmedia", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L103"}, {"caller_nid": "ui_alert_dialog_alertdialogtitle", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L119"}, {"caller_nid": "ui_alert_dialog_alertdialogdescription", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L135"}, {"caller_nid": "ui_alert_dialog_alertdialogaction", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L151"}, {"caller_nid": "ui_alert_dialog_alertdialogcancel", "callee": "cn", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx", "source_location": "L167"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/9fe59a8b368ba17d79c52203441d6eac1edddfa5df641a250fe51791484f13f1.json b/graphify-out/cache/ast/9fe59a8b368ba17d79c52203441d6eac1edddfa5df641a250fe51791484f13f1.json
new file mode 100644
index 0000000..3c97dd9
--- /dev/null
+++ b/graphify-out/cache/ast/9fe59a8b368ba17d79c52203441d6eac1edddfa5df641a250fe51791484f13f1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_student_audio_upload_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L1"}, {"id": "audio_upload_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_audio_upload_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_audio_upload_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_audio_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_audio_upload_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_audio_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_audio_upload_route_ts", "target": "lib_s3_uploadfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_audio_upload_route_ts", "target": "crypto", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_audio_upload_route_ts", "target": "audio_upload_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "audio_upload_route_post", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L8"}, {"caller_nid": "audio_upload_route_post", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L8"}, {"caller_nid": "audio_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L9"}, {"caller_nid": "audio_upload_route_post", "callee": "formData", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L11"}, {"caller_nid": "audio_upload_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L12"}, {"caller_nid": "audio_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L13"}, {"caller_nid": "audio_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L16"}, {"caller_nid": "audio_upload_route_post", "callee": "includes", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L18"}, {"caller_nid": "audio_upload_route_post", "callee": "includes", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L18"}, {"caller_nid": "audio_upload_route_post", "callee": "randomUUID", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L19"}, {"caller_nid": "audio_upload_route_post", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L20"}, {"caller_nid": "audio_upload_route_post", "callee": "arrayBuffer", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L20"}, {"caller_nid": "audio_upload_route_post", "callee": "uploadFile", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L21"}, {"caller_nid": "audio_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts", "source_location": "L23"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/a04a3436d7edc30a372eba85d06c3da2cc5317f0968f98c74a11f732d85ac0f9.json b/graphify-out/cache/ast/a04a3436d7edc30a372eba85d06c3da2cc5317f0968f98c74a11f732d85ac0f9.json
new file mode 100644
index 0000000..5d9d6ad
--- /dev/null
+++ b/graphify-out/cache/ast/a04a3436d7edc30a372eba85d06c3da2cc5317f0968f98c74a11f732d85ac0f9.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_curator_content_viewer_tsx", "label": "content-viewer.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx", "source_location": "L1"}, {"id": "curator_content_viewer_contentviewer", "label": "ContentViewer()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_curator_content_viewer_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_curator_content_viewer_tsx", "target": "starter_kit", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_curator_content_viewer_tsx", "target": "extension_link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_curator_content_viewer_tsx", "target": "extension_underline", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_curator_content_viewer_tsx", "target": "curator_content_viewer_contentviewer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "curator_content_viewer_contentviewer", "callee": "useEditor", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx", "source_location": "L9"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/a189471048b27777b36b386031224f8b7ca45e7d2058d318413a5acf0b4ad467.json b/graphify-out/cache/ast/a189471048b27777b36b386031224f8b7ca45e7d2058d318413a5acf0b4ad467.json
new file mode 100644
index 0000000..c1e107f
--- /dev/null
+++ b/graphify-out/cache/ast/a189471048b27777b36b386031224f8b7ca45e7d2058d318413a5acf0b4ad467.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "label": "course-sidebar.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L1"}, {"id": "student_course_sidebar_lesson", "label": "Lesson", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L8"}, {"id": "student_course_sidebar_module", "label": "Module", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L13"}, {"id": "student_course_sidebar_course", "label": "Course", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L19"}, {"id": "student_course_sidebar_coursesidebar", "label": "CourseSidebar()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L25"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "target": "student_course_sidebar_lesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "target": "student_course_sidebar_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "target": "student_course_sidebar_course", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L19", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_course_sidebar_tsx", "target": "student_course_sidebar_coursesidebar", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L25", "weight": 1.0}], "raw_calls": [{"caller_nid": "student_course_sidebar_coursesidebar", "callee": "usePathname", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L32"}, {"caller_nid": "student_course_sidebar_coursesidebar", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L33"}, {"caller_nid": "student_course_sidebar_coursesidebar", "callee": "reduce", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L35"}, {"caller_nid": "student_course_sidebar_coursesidebar", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L36"}, {"caller_nid": "student_course_sidebar_coursesidebar", "callee": "flatMap", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L36"}, {"caller_nid": "student_course_sidebar_coursesidebar", "callee": "round", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L39"}, {"caller_nid": "student_course_sidebar_coursesidebar", "callee": "join", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L66"}, {"caller_nid": "student_course_sidebar_coursesidebar", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx", "source_location": "L125"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/a1e496662ca3e230d53c2fedab5123118cbeb29eb1d5268e5837ab03fea0b5ff.json b/graphify-out/cache/ast/a1e496662ca3e230d53c2fedab5123118cbeb29eb1d5268e5837ab03fea0b5ff.json
new file mode 100644
index 0000000..61de90d
--- /dev/null
+++ b/graphify-out/cache/ast/a1e496662ca3e230d53c2fedab5123118cbeb29eb1d5268e5837ab03fea0b5ff.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_comment_actions_ts", "label": "comment-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L1"}, {"id": "lessonid_comment_actions_addcomment", "label": "addComment()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L8"}, {"id": "lessonid_comment_actions_deletecomment", "label": "deleteComment()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L50"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_comment_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_comment_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_comment_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_comment_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_comment_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_comment_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_comment_actions_ts", "target": "lessonid_comment_actions_addcomment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_comment_actions_ts", "target": "lessonid_comment_actions_deletecomment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L50", "weight": 1.0}], "raw_calls": [{"caller_nid": "lessonid_comment_actions_addcomment", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L9"}, {"caller_nid": "lessonid_comment_actions_addcomment", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L9"}, {"caller_nid": "lessonid_comment_actions_addcomment", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L12"}, {"caller_nid": "lessonid_comment_actions_addcomment", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L16"}, {"caller_nid": "lessonid_comment_actions_addcomment", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L25"}, {"caller_nid": "lessonid_comment_actions_addcomment", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L39"}, {"caller_nid": "lessonid_comment_actions_addcomment", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L43"}, {"caller_nid": "lessonid_comment_actions_addcomment", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L47"}, {"caller_nid": "lessonid_comment_actions_deletecomment", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L51"}, {"caller_nid": "lessonid_comment_actions_deletecomment", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L51"}, {"caller_nid": "lessonid_comment_actions_deletecomment", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L54"}, {"caller_nid": "lessonid_comment_actions_deletecomment", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L63"}, {"caller_nid": "lessonid_comment_actions_deletecomment", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts", "source_location": "L68"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/a6263ba7b7f0f3e59a34161934166d0c866bc5d789b8fe7ced9b67dc11873f7c.json b/graphify-out/cache/ast/a6263ba7b7f0f3e59a34161934166d0c866bc5d789b8fe7ced9b67dc11873f7c.json
new file mode 100644
index 0000000..e1c1b9d
--- /dev/null
+++ b/graphify-out/cache/ast/a6263ba7b7f0f3e59a34161934166d0c866bc5d789b8fe7ced9b67dc11873f7c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_course_tree_tsx", "label": "course-tree.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L1"}, {"id": "admin_course_tree_lesson", "label": "Lesson", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L7"}, {"id": "admin_course_tree_module", "label": "Module", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L14"}, {"id": "admin_course_tree_coursetree", "label": "CourseTree()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L21"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_tree_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_tree_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_tree_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_tree_tsx", "target": "admin_course_tree_lesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_tree_tsx", "target": "admin_course_tree_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_course_tree_tsx", "target": "admin_course_tree_coursetree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L21", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_course_tree_coursetree", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L29"}, {"caller_nid": "admin_course_tree_coursetree", "callee": "reduce", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L41"}, {"caller_nid": "admin_course_tree_coursetree", "callee": "reduce", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L42"}, {"caller_nid": "admin_course_tree_coursetree", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx", "source_location": "L76"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/a633ab2f77e8876decb1c6ee176cbd2fa5ce6ea30c4e44e66665a37a7e527a18.json b/graphify-out/cache/ast/a633ab2f77e8876decb1c6ee176cbd2fa5ce6ea30c4e44e66665a37a7e527a18.json
new file mode 100644
index 0000000..b889e76
--- /dev/null
+++ b/graphify-out/cache/ast/a633ab2f77e8876decb1c6ee176cbd2fa5ce6ea30c4e44e66665a37a7e527a18.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_load_test_js", "label": "load-test.js", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L1"}, {"id": "lms_system_load_test_lessons", "label": "LESSONS", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L7"}, {"id": "lms_system_load_test_test_user", "label": "TEST_USER", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L20"}, {"id": "lms_system_load_test_browser_headers", "label": "BROWSER_HEADERS", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L25"}, {"id": "lms_system_load_test_options", "label": "options", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L30"}, {"id": "lms_system_load_test_jar", "label": "jar", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L49"}, {"id": "lms_system_load_test_loginres", "label": "loginRes", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L57"}, {"id": "lms_system_load_test_dashres", "label": "dashRes", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L73"}, {"id": "lms_system_load_test_courseres", "label": "courseRes", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L78"}, {"id": "lms_system_load_test_lessonres", "label": "lessonRes", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L85"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "http", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "k6", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "lms_system_load_test_lessons", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "lms_system_load_test_test_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "lms_system_load_test_browser_headers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L25", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "lms_system_load_test_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L30", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "lms_system_load_test_jar", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L49", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "lms_system_load_test_loginres", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L57", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "lms_system_load_test_dashres", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L73", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "lms_system_load_test_courseres", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L78", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_load_test_js", "target": "lms_system_load_test_lessonres", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/load-test.js", "source_location": "L85", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/a8884b091aaceef1fed8165b025385fa79da768df105d82f6bdac21124585b4a.json b/graphify-out/cache/ast/a8884b091aaceef1fed8165b025385fa79da768df105d82f6bdac21124585b4a.json
new file mode 100644
index 0000000..04aa701
--- /dev/null
+++ b/graphify-out/cache/ast/a8884b091aaceef1fed8165b025385fa79da768df105d82f6bdac21124585b4a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_editor_tsx", "label": "homework-editor.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L1"}, {"id": "admin_homework_editor_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L6"}, {"id": "admin_homework_editor_homeworkeditor", "label": "HomeworkEditor()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L11"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_editor_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_editor_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_editor_tsx", "target": "actions_homework_actions_savehomework", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_editor_tsx", "target": "actions_homework_actions_deletehomework", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_editor_tsx", "target": "admin_homework_editor_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_homework_editor_tsx", "target": "admin_homework_editor_homeworkeditor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L11", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_homework_editor_homeworkeditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L12"}, {"caller_nid": "admin_homework_editor_homeworkeditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L13"}, {"caller_nid": "admin_homework_editor_homeworkeditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L14"}, {"caller_nid": "admin_homework_editor_homeworkeditor", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L15"}, {"caller_nid": "admin_homework_editor_homeworkeditor", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L80"}, {"caller_nid": "admin_homework_editor_homeworkeditor", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx", "source_location": "L82"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/ad60da29c7766261ebec06b1000f5ead6d05231a175f29df3bdddd11477e3629.json b/graphify-out/cache/ast/ad60da29c7766261ebec06b1000f5ead6d05231a175f29df3bdddd11477e3629.json
new file mode 100644
index 0000000..90703af
--- /dev/null
+++ b/graphify-out/cache/ast/ad60da29c7766261ebec06b1000f5ead6d05231a175f29df3bdddd11477e3629.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L1"}, {"id": "users_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L10"}, {"id": "users_page_userspage", "label": "UsersPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L14"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_users_table_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "admin_users_table_userstable", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_users_search_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "admin_users_search_userssearch", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "users_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_page_tsx", "target": "users_page_userspage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L14", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_page_userspage", "callee": "max", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L16"}, {"caller_nid": "users_page_userspage", "callee": "parseInt", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L16"}, {"caller_nid": "users_page_userspage", "callee": "groupBy", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L22"}, {"caller_nid": "users_page_userspage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L27"}, {"caller_nid": "users_page_userspage", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L45"}, {"caller_nid": "users_page_userspage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L46"}, {"caller_nid": "users_page_userspage", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L59"}, {"caller_nid": "users_page_userspage", "callee": "ceil", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L62"}, {"caller_nid": "users_page_userspage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L64"}, {"caller_nid": "users_page_userspage", "callee": "pageUrl", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L116"}, {"caller_nid": "users_page_userspage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L118"}, {"caller_nid": "users_page_userspage", "callee": "reduce", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L118"}, {"caller_nid": "users_page_userspage", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L118"}, {"caller_nid": "users_page_userspage", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L118"}, {"caller_nid": "users_page_userspage", "callee": "pageUrl", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx", "source_location": "L136"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/adefab4d1bc62d6c5439b5a8eefed533f4ee3013f331706c64f1000d90eff68c.json b/graphify-out/cache/ast/adefab4d1bc62d6c5439b5a8eefed533f4ee3013f331706c64f1000d90eff68c.json
new file mode 100644
index 0000000..833b12a
--- /dev/null
+++ b/graphify-out/cache/ast/adefab4d1bc62d6c5439b5a8eefed533f4ee3013f331706c64f1000d90eff68c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "label": "feedback-form.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L1"}, {"id": "submissionid_feedback_form_fileitem", "label": "FileItem", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L9"}, {"id": "submissionid_feedback_form_formatsize", "label": "formatSize()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L15"}, {"id": "submissionid_feedback_form_feedbackform", "label": "FeedbackForm()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L21"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "submissionid_actions_submitfeedback", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "submissionid_actions_setreviewing", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_curator_audio_recorder_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "curator_audio_recorder_audiorecorder", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "submissionid_feedback_form_fileitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "submissionid_feedback_form_formatsize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L15", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_feedback_form_tsx", "target": "submissionid_feedback_form_feedbackform", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L21", "weight": 1.0}], "raw_calls": [{"caller_nid": "submissionid_feedback_form_formatsize", "callee": "toFixed", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L17"}, {"caller_nid": "submissionid_feedback_form_formatsize", "callee": "toFixed", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L18"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L28"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L29"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L30"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L31"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L32"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L33"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L34"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L130"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L160"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L162"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L187"}, {"caller_nid": "submissionid_feedback_form_feedbackform", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx", "source_location": "L193"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/b0226ae72d19c4144899abbbe65e5e2c22ab77cd1cef8aa9fd4864a2ac7c5fc1.json b/graphify-out/cache/ast/b0226ae72d19c4144899abbbe65e5e2c22ab77cd1cef8aa9fd4864a2ac7c5fc1.json
new file mode 100644
index 0000000..d52c9d2
--- /dev/null
+++ b/graphify-out/cache/ast/b0226ae72d19c4144899abbbe65e5e2c22ab77cd1cef8aa9fd4864a2ac7c5fc1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "label": "student-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L1"}, {"id": "actions_student_actions_togglelessonprogress", "label": "toggleLessonProgress()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L12"}, {"id": "actions_student_actions_homeworkfile", "label": "HomeworkFile", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L37"}, {"id": "actions_student_actions_submithomework", "label": "submitHomework()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L43"}, {"id": "actions_student_actions_submitquizattempt", "label": "submitQuizAttempt()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L104"}, {"id": "actions_student_actions_addcomment", "label": "addComment()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L141"}, {"id": "actions_student_actions_deletecomment", "label": "deleteComment()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L182"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "lib_email_sendhomeworksubmittedemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "lib_settings_getsettings", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "lib_settings_parsenotificationemails", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "lib_settings_asbool", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "actions_student_actions_togglelessonprogress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L12", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "actions_student_actions_homeworkfile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L37", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "actions_student_actions_submithomework", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L43", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "actions_student_actions_submitquizattempt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L104", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "actions_student_actions_addcomment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L141", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "target": "actions_student_actions_deletecomment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L182", "weight": 1.0}], "raw_calls": [{"caller_nid": "actions_student_actions_togglelessonprogress", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L13"}, {"caller_nid": "actions_student_actions_togglelessonprogress", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L13"}, {"caller_nid": "actions_student_actions_togglelessonprogress", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L16"}, {"caller_nid": "actions_student_actions_togglelessonprogress", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L21"}, {"caller_nid": "actions_student_actions_togglelessonprogress", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L25"}, {"caller_nid": "actions_student_actions_togglelessonprogress", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L30"}, {"caller_nid": "actions_student_actions_togglelessonprogress", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L31"}, {"caller_nid": "actions_student_actions_togglelessonprogress", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L32"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L51"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L51"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L54"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L65"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L71"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L76"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L77"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "getSettings", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L81"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "asBool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L83"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "parseNotificationEmails", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L84"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L86"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L87"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L91"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L92"}, {"caller_nid": "actions_student_actions_submithomework", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L99"}, {"caller_nid": "actions_student_actions_submitquizattempt", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L110"}, {"caller_nid": "actions_student_actions_submitquizattempt", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L110"}, {"caller_nid": "actions_student_actions_submitquizattempt", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L113"}, {"caller_nid": "actions_student_actions_submitquizattempt", "callee": "$transaction", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L118"}, {"caller_nid": "actions_student_actions_submitquizattempt", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L134"}, {"caller_nid": "actions_student_actions_submitquizattempt", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L135"}, {"caller_nid": "actions_student_actions_submitquizattempt", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L136"}, {"caller_nid": "actions_student_actions_addcomment", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L142"}, {"caller_nid": "actions_student_actions_addcomment", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L142"}, {"caller_nid": "actions_student_actions_addcomment", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L145"}, {"caller_nid": "actions_student_actions_addcomment", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L148"}, {"caller_nid": "actions_student_actions_addcomment", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L157"}, {"caller_nid": "actions_student_actions_addcomment", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L171"}, {"caller_nid": "actions_student_actions_addcomment", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L175"}, {"caller_nid": "actions_student_actions_addcomment", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L179"}, {"caller_nid": "actions_student_actions_deletecomment", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L183"}, {"caller_nid": "actions_student_actions_deletecomment", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L183"}, {"caller_nid": "actions_student_actions_deletecomment", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L186"}, {"caller_nid": "actions_student_actions_deletecomment", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L195"}, {"caller_nid": "actions_student_actions_deletecomment", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts", "source_location": "L200"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/b23bccbe3271c93e586160f40a463dcfbbc5f05cd8c9d4ad6fe09bcb5c780423.json b/graphify-out/cache/ast/b23bccbe3271c93e586160f40a463dcfbbc5f05cd8c9d4ad6fe09bcb5c780423.json
new file mode 100644
index 0000000..98b211d
--- /dev/null
+++ b/graphify-out/cache/ast/b23bccbe3271c93e586160f40a463dcfbbc5f05cd8c9d4ad6fe09bcb5c780423.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_student_quiz_section_tsx", "label": "quiz-section.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L1"}, {"id": "student_quiz_section_question", "label": "Question", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L6"}, {"id": "student_quiz_section_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L13"}, {"id": "student_quiz_section_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L20"}, {"id": "student_quiz_section_quizsection", "label": "QuizSection()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L32"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_student_quiz_section_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_quiz_section_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_quiz_section_tsx", "target": "actions_student_actions_submitquizattempt", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_quiz_section_tsx", "target": "student_quiz_section_question", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_quiz_section_tsx", "target": "student_quiz_section_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_quiz_section_tsx", "target": "student_quiz_section_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_quiz_section_tsx", "target": "student_quiz_section_quizsection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L32", "weight": 1.0}], "raw_calls": [{"caller_nid": "student_quiz_section_quizsection", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L33"}, {"caller_nid": "student_quiz_section_quizsection", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L36"}, {"caller_nid": "student_quiz_section_quizsection", "callee": "every", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L38"}, {"caller_nid": "student_quiz_section_quizsection", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L55"}, {"caller_nid": "student_quiz_section_quizsection", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx", "source_location": "L73"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/b308c1934308e51b9e21cbfb5f2c1232f14e1453eaa62b53ee8462f178ba033f.json b/graphify-out/cache/ast/b308c1934308e51b9e21cbfb5f2c1232f14e1453eaa62b53ee8462f178ba033f.json
new file mode 100644
index 0000000..65c71af
--- /dev/null
+++ b/graphify-out/cache/ast/b308c1934308e51b9e21cbfb5f2c1232f14e1453eaa62b53ee8462f178ba033f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L1"}, {"id": "questions_route_fileattachment", "label": "FileAttachment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L7"}, {"id": "questions_route_builds3prefix", "label": "buildS3Prefix()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L13"}, {"id": "questions_route_get", "label": "GET()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L19"}, {"id": "questions_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L61"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "lib_email_sendquestioncreatedemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "questions_route_fileattachment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "questions_route_builds3prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "questions_route_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L19", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_route_ts", "target": "questions_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L61", "weight": 1.0}, {"source": "questions_route_post", "target": "questions_route_builds3prefix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L85", "weight": 1.0}], "raw_calls": [{"caller_nid": "questions_route_get", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L20"}, {"caller_nid": "questions_route_get", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L20"}, {"caller_nid": "questions_route_get", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L21"}, {"caller_nid": "questions_route_get", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L29"}, {"caller_nid": "questions_route_get", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L47"}, {"caller_nid": "questions_route_get", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L48"}, {"caller_nid": "questions_route_post", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L62"}, {"caller_nid": "questions_route_post", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L62"}, {"caller_nid": "questions_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L63"}, {"caller_nid": "questions_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L65"}, {"caller_nid": "questions_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L70"}, {"caller_nid": "questions_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L72"}, {"caller_nid": "questions_route_post", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L81"}, {"caller_nid": "questions_route_post", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L81"}, {"caller_nid": "questions_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L82"}, {"caller_nid": "questions_route_post", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L86"}, {"caller_nid": "questions_route_post", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L86"}, {"caller_nid": "questions_route_post", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L97"}, {"caller_nid": "questions_route_post", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L101"}, {"caller_nid": "questions_route_post", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L105"}, {"caller_nid": "questions_route_post", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L112"}, {"caller_nid": "questions_route_post", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L116"}, {"caller_nid": "questions_route_post", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L117"}, {"caller_nid": "questions_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts", "source_location": "L122"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/b40f8f85d9b7008d3bb32441a807f2c6c7551e2de51a79ab57226fdca54c18bd.json b/graphify-out/cache/ast/b40f8f85d9b7008d3bb32441a807f2c6c7551e2de51a79ab57226fdca54c18bd.json
new file mode 100644
index 0000000..1116e15
--- /dev/null
+++ b/graphify-out/cache/ast/b40f8f85d9b7008d3bb32441a807f2c6c7551e2de51a79ab57226fdca54c18bd.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "label": "course-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L1"}, {"id": "actions_course_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L10"}, {"id": "actions_course_actions_createmodule", "label": "createModule()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L18"}, {"id": "actions_course_actions_updatemodule", "label": "updateModule()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L27"}, {"id": "actions_course_actions_deletemodule", "label": "deleteModule()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L35"}, {"id": "actions_course_actions_reordermodules", "label": "reorderModules()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L41"}, {"id": "actions_course_actions_grantaccess", "label": "grantAccess()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L53"}, {"id": "actions_course_actions_revokeaccess", "label": "revokeAccess()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L87"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "lib_email_sendcourseaccessemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "actions_course_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "actions_course_actions_createmodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "actions_course_actions_updatemodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L27", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "actions_course_actions_deletemodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L35", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "actions_course_actions_reordermodules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L41", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "actions_course_actions_grantaccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L53", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "target": "actions_course_actions_revokeaccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L87", "weight": 1.0}, {"source": "actions_course_actions_createmodule", "target": "actions_course_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L19", "weight": 1.0}, {"source": "actions_course_actions_updatemodule", "target": "actions_course_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L28", "weight": 1.0}, {"source": "actions_course_actions_deletemodule", "target": "actions_course_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L36", "weight": 1.0}, {"source": "actions_course_actions_reordermodules", "target": "actions_course_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L42", "weight": 1.0}, {"source": "actions_course_actions_grantaccess", "target": "actions_course_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L59", "weight": 1.0}, {"source": "actions_course_actions_revokeaccess", "target": "actions_course_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L88", "weight": 1.0}], "raw_calls": [{"caller_nid": "actions_course_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L11"}, {"caller_nid": "actions_course_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L11"}, {"caller_nid": "actions_course_actions_createmodule", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L20"}, {"caller_nid": "actions_course_actions_createmodule", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L21"}, {"caller_nid": "actions_course_actions_createmodule", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L22"}, {"caller_nid": "actions_course_actions_createmodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L23"}, {"caller_nid": "actions_course_actions_createmodule", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L24"}, {"caller_nid": "actions_course_actions_updatemodule", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L29"}, {"caller_nid": "actions_course_actions_updatemodule", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L30"}, {"caller_nid": "actions_course_actions_updatemodule", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L30"}, {"caller_nid": "actions_course_actions_updatemodule", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L31"}, {"caller_nid": "actions_course_actions_updatemodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L32"}, {"caller_nid": "actions_course_actions_deletemodule", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L37"}, {"caller_nid": "actions_course_actions_deletemodule", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L38"}, {"caller_nid": "actions_course_actions_reordermodules", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L43"}, {"caller_nid": "actions_course_actions_reordermodules", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L44"}, {"caller_nid": "actions_course_actions_reordermodules", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L48"}, {"caller_nid": "actions_course_actions_grantaccess", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L60"}, {"caller_nid": "actions_course_actions_grantaccess", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L65"}, {"caller_nid": "actions_course_actions_grantaccess", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L76"}, {"caller_nid": "actions_course_actions_grantaccess", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L77"}, {"caller_nid": "actions_course_actions_grantaccess", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L78"}, {"caller_nid": "actions_course_actions_grantaccess", "callee": "sendCourseAccessEmail", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L81"}, {"caller_nid": "actions_course_actions_grantaccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L84"}, {"caller_nid": "actions_course_actions_revokeaccess", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L89"}, {"caller_nid": "actions_course_actions_revokeaccess", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L92"}, {"caller_nid": "actions_course_actions_revokeaccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts", "source_location": "L102"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/b4fed2248eecad9ecd1fdaa56668bd635666d28dc397c69de585949493decc6f.json b/graphify-out/cache/ast/b4fed2248eecad9ecd1fdaa56668bd635666d28dc397c69de585949493decc6f.json
new file mode 100644
index 0000000..5d29c2a
--- /dev/null
+++ b/graphify-out/cache/ast/b4fed2248eecad9ecd1fdaa56668bd635666d28dc397c69de585949493decc6f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_stop_impersonate_banner_tsx", "label": "stop-impersonate-banner.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/stop-impersonate-banner.tsx", "source_location": "L1"}, {"id": "admin_stop_impersonate_banner_stopimpersonatebanner", "label": "StopImpersonateBanner()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/stop-impersonate-banner.tsx", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_stop_impersonate_banner_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/stop-impersonate-banner.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_stop_impersonate_banner_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_client_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/stop-impersonate-banner.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_stop_impersonate_banner_tsx", "target": "lib_auth_client_authclient", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/stop-impersonate-banner.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_stop_impersonate_banner_tsx", "target": "admin_stop_impersonate_banner_stopimpersonatebanner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/stop-impersonate-banner.tsx", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_stop_impersonate_banner_stopimpersonatebanner", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/stop-impersonate-banner.tsx", "source_location": "L7"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/b62fe275166638d73817bde8d3bfe00e595bba8c193b9c3f79fd5c45e6b34bcc.json b/graphify-out/cache/ast/b62fe275166638d73817bde8d3bfe00e595bba8c193b9c3f79fd5c45e6b34bcc.json
new file mode 100644
index 0000000..4725735
--- /dev/null
+++ b/graphify-out/cache/ast/b62fe275166638d73817bde8d3bfe00e595bba8c193b9c3f79fd5c45e6b34bcc.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_dashboard_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L1"}, {"id": "dashboard_page_admindashboard", "label": "AdminDashboard()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L4"}, {"id": "dashboard_page_statcard", "label": "StatCard()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L203"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_dashboard_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_dashboard_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_dashboard_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_dashboard_page_tsx", "target": "dashboard_page_admindashboard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_dashboard_page_tsx", "target": "dashboard_page_statcard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L203", "weight": 1.0}], "raw_calls": [{"caller_nid": "dashboard_page_admindashboard", "callee": "getTime", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L6"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "getTime", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L7"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "getTime", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L8"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L22"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L23"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L24"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L25"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L26"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L27"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L30"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "getTime", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L31"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L33"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L34"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L35"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "aggregate", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L36"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "then", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L37"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L37"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "Number", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L44"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L47"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L57"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "toLocaleDateString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L68"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L116"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L146"}, {"caller_nid": "dashboard_page_admindashboard", "callee": "toLocaleString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx", "source_location": "L185"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/b8ac0f4954217704d93b271d1e8c6d7538c49bef70756128ae46aab661ac7674.json b/graphify-out/cache/ast/b8ac0f4954217704d93b271d1e8c6d7538c49bef70756128ae46aab661ac7674.json
new file mode 100644
index 0000000..0d89fb0
--- /dev/null
+++ b/graphify-out/cache/ast/b8ac0f4954217704d93b271d1e8c6d7538c49bef70756128ae46aab661ac7674.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L1"}, {"id": "question_upload_route_allowed_types", "label": "ALLOWED_TYPES", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L7"}, {"id": "question_upload_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L13"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "target": "lib_s3_uploadfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "target": "crypto", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "target": "question_upload_route_allowed_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_student_question_upload_route_ts", "target": "question_upload_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L13", "weight": 1.0}], "raw_calls": [{"caller_nid": "question_upload_route_post", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L14"}, {"caller_nid": "question_upload_route_post", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L14"}, {"caller_nid": "question_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L15"}, {"caller_nid": "question_upload_route_post", "callee": "formData", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L17"}, {"caller_nid": "question_upload_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L18"}, {"caller_nid": "question_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L19"}, {"caller_nid": "question_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L22"}, {"caller_nid": "question_upload_route_post", "callee": "has", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L25"}, {"caller_nid": "question_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L26"}, {"caller_nid": "question_upload_route_post", "callee": "toLowerCase", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L32"}, {"caller_nid": "question_upload_route_post", "callee": "pop", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L32"}, {"caller_nid": "question_upload_route_post", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L32"}, {"caller_nid": "question_upload_route_post", "callee": "has", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L34"}, {"caller_nid": "question_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L35"}, {"caller_nid": "question_upload_route_post", "callee": "randomUUID", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L38"}, {"caller_nid": "question_upload_route_post", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L39"}, {"caller_nid": "question_upload_route_post", "callee": "arrayBuffer", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L39"}, {"caller_nid": "question_upload_route_post", "callee": "uploadFile", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L40"}, {"caller_nid": "question_upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts", "source_location": "L42"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/b9ffff0440adeac0bd6f389f5fbd8b2b955e638e2b841de75e6f421748ef214f.json b/graphify-out/cache/ast/b9ffff0440adeac0bd6f389f5fbd8b2b955e638e2b841de75e6f421748ef214f.json
new file mode 100644
index 0000000..29acd80
--- /dev/null
+++ b/graphify-out/cache/ast/b9ffff0440adeac0bd6f389f5fbd8b2b955e638e2b841de75e6f421748ef214f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_content_tsx", "label": "lesson-content.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L1"}, {"id": "student_lesson_content_lessoncontent", "label": "LessonContent()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_content_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_content_tsx", "target": "starter_kit", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_content_tsx", "target": "extension_image", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_content_tsx", "target": "extension_link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_content_tsx", "target": "student_lesson_content_lessoncontent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "student_lesson_content_lessoncontent", "callee": "useEditor", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L9"}, {"caller_nid": "student_lesson_content_lessoncontent", "callee": "configure", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L12"}, {"caller_nid": "student_lesson_content_lessoncontent", "callee": "configure", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx", "source_location": "L13"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/ba5744179f5aa98574a62c49f38192dc4c7eadfd57f124e3236364dc0dcf1554.json b/graphify-out/cache/ast/ba5744179f5aa98574a62c49f38192dc4c7eadfd57f124e3236364dc0dcf1554.json
new file mode 100644
index 0000000..b9cd3c5
--- /dev/null
+++ b/graphify-out/cache/ast/ba5744179f5aa98574a62c49f38192dc4c7eadfd57f124e3236364dc0dcf1554.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lessons_lessonid_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L1"}, {"id": "lessonid_route_patch", "label": "PATCH()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lessons_lessonid_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lessons_lessonid_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lessons_lessonid_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lessons_lessonid_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lessons_lessonid_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lessons_lessonid_route_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lessons_lessonid_route_ts", "target": "lessonid_route_patch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "lessonid_route_patch", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L10"}, {"caller_nid": "lessonid_route_patch", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L10"}, {"caller_nid": "lessonid_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L12"}, {"caller_nid": "lessonid_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L16"}, {"caller_nid": "lessonid_route_patch", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L23"}, {"caller_nid": "lessonid_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts", "source_location": "L33"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/bb922622525dfcf22657787400a5bc97a224ced18f5ce5b0dee1ff1b4b763a96.json b/graphify-out/cache/ast/bb922622525dfcf22657787400a5bc97a224ced18f5ce5b0dee1ff1b4b763a96.json
new file mode 100644
index 0000000..bf0fb45
--- /dev/null
+++ b/graphify-out/cache/ast/bb922622525dfcf22657787400a5bc97a224ced18f5ce5b0dee1ff1b4b763a96.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L1"}, {"id": "messages_route_fileattachment", "label": "FileAttachment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L7"}, {"id": "messages_route_builds3prefix", "label": "buildS3Prefix()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L13"}, {"id": "messages_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L20"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "lib_email_sendquestionfollowupemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "lib_email_sendquestionreplyemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "messages_route_fileattachment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "messages_route_builds3prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_messages_route_ts", "target": "messages_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L20", "weight": 1.0}, {"source": "messages_route_post", "target": "messages_route_builds3prefix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L55", "weight": 1.0}], "raw_calls": [{"caller_nid": "messages_route_post", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L24"}, {"caller_nid": "messages_route_post", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L24"}, {"caller_nid": "messages_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L25"}, {"caller_nid": "messages_route_post", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L30"}, {"caller_nid": "messages_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L35"}, {"caller_nid": "messages_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L37"}, {"caller_nid": "messages_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L40"}, {"caller_nid": "messages_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L45"}, {"caller_nid": "messages_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L47"}, {"caller_nid": "messages_route_post", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L51"}, {"caller_nid": "messages_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L52"}, {"caller_nid": "messages_route_post", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L56"}, {"caller_nid": "messages_route_post", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L56"}, {"caller_nid": "messages_route_post", "callee": "$transaction", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L67"}, {"caller_nid": "messages_route_post", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L68"}, {"caller_nid": "messages_route_post", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L72"}, {"caller_nid": "messages_route_post", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L77"}, {"caller_nid": "messages_route_post", "callee": "sendQuestionReplyEmail", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L85"}, {"caller_nid": "messages_route_post", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L92"}, {"caller_nid": "messages_route_post", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L96"}, {"caller_nid": "messages_route_post", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L97"}, {"caller_nid": "messages_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts", "source_location": "L103"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/bc5566077af74fc152ce4dfaa7b68adbfb427a25cff5a11488ce4915fc2d4ca5.json b/graphify-out/cache/ast/bc5566077af74fc152ce4dfaa7b68adbfb427a25cff5a11488ce4915fc2d4ca5.json
new file mode 100644
index 0000000..9edef25
--- /dev/null
+++ b/graphify-out/cache/ast/bc5566077af74fc152ce4dfaa7b68adbfb427a25cff5a11488ce4915fc2d4ca5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_curator_upload_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L1"}, {"id": "upload_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_upload_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_upload_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_upload_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_upload_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_upload_route_ts", "target": "lib_s3_uploadfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_upload_route_ts", "target": "crypto", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_curator_upload_route_ts", "target": "upload_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "upload_route_post", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L8"}, {"caller_nid": "upload_route_post", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L8"}, {"caller_nid": "upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L10"}, {"caller_nid": "upload_route_post", "callee": "formData", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L13"}, {"caller_nid": "upload_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L14"}, {"caller_nid": "upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L15"}, {"caller_nid": "upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L18"}, {"caller_nid": "upload_route_post", "callee": "pop", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L20"}, {"caller_nid": "upload_route_post", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L20"}, {"caller_nid": "upload_route_post", "callee": "randomUUID", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L21"}, {"caller_nid": "upload_route_post", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L22"}, {"caller_nid": "upload_route_post", "callee": "arrayBuffer", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L22"}, {"caller_nid": "upload_route_post", "callee": "uploadFile", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L23"}, {"caller_nid": "upload_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts", "source_location": "L25"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/bd4c3f3373b181a5f9357360cc954e0edf368890b56ae63e7defb680ca596d4b.json b/graphify-out/cache/ast/bd4c3f3373b181a5f9357360cc954e0edf368890b56ae63e7defb680ca596d4b.json
new file mode 100644
index 0000000..2ae9cf0
--- /dev/null
+++ b/graphify-out/cache/ast/bd4c3f3373b181a5f9357360cc954e0edf368890b56ae63e7defb680ca596d4b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_next_env_d_ts", "label": "next-env.d.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/next-env.d.ts", "source_location": "L1"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_next_env_d_ts", "target": "users_dementiy_documents_claude_lms_system_next_types_routes_d_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/next-env.d.ts", "source_location": "L3", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/bd559694c624d8066aa7dbc82808936416c3123567949ae6a923d0041fec59ff.json b/graphify-out/cache/ast/bd559694c624d8066aa7dbc82808936416c3123567949ae6a923d0041fec59ff.json
new file mode 100644
index 0000000..a26c27a
--- /dev/null
+++ b/graphify-out/cache/ast/bd559694c624d8066aa7dbc82808936416c3123567949ae6a923d0041fec59ff.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L1"}, {"id": "app_page_homepage", "label": "HomePage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L5"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_page_tsx", "target": "app_page_homepage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L5", "weight": 1.0}], "raw_calls": [{"caller_nid": "app_page_homepage", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L6"}, {"caller_nid": "app_page_homepage", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L6"}, {"caller_nid": "app_page_homepage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L9"}, {"caller_nid": "app_page_homepage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L14"}, {"caller_nid": "app_page_homepage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L15"}, {"caller_nid": "app_page_homepage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx", "source_location": "L16"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/bd57ddf8780f4eea7439ae52a22aa659aeae7dc360960f78ea25a296c6c737af.json b/graphify-out/cache/ast/bd57ddf8780f4eea7439ae52a22aa659aeae7dc360960f78ea25a296c6c737af.json
new file mode 100644
index 0000000..80f050d
--- /dev/null
+++ b/graphify-out/cache/ast/bd57ddf8780f4eea7439ae52a22aa659aeae7dc360960f78ea25a296c6c737af.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_profile_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L1"}, {"id": "profile_page_metadata", "label": "metadata", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L6"}, {"id": "profile_page_profilepage", "label": "ProfilePage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L8"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_student_profile_change_password_form_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_page_tsx", "target": "profile_change_password_form_changepasswordform", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_page_tsx", "target": "profile_page_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_profile_page_tsx", "target": "profile_page_profilepage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "profile_page_profilepage", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L9"}, {"caller_nid": "profile_page_profilepage", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L9"}, {"caller_nid": "profile_page_profilepage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx", "source_location": "L10"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/bd5d344eb4bcd69e495a7c2fd87b36bc562e8a0358db8d50e6243a6de79e5394.json b/graphify-out/cache/ast/bd5d344eb4bcd69e495a7c2fd87b36bc562e8a0358db8d50e6243a6de79e5394.json
new file mode 100644
index 0000000..b9a22b3
--- /dev/null
+++ b/graphify-out/cache/ast/bd5d344eb4bcd69e495a7c2fd87b36bc562e8a0358db8d50e6243a6de79e5394.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L1"}, {"id": "homework_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L7"}, {"id": "homework_page_homeworklistpage", "label": "HomeworkListPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L16"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_page_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_page_tsx", "target": "homework_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_page_tsx", "target": "homework_page_homeworklistpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L16", "weight": 1.0}], "raw_calls": [{"caller_nid": "homework_page_homeworklistpage", "callee": "max", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L21"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "parseInt", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L21"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L46"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L47"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L67"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L68"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "ceil", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L71"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L122"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L167"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "pageUrl", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L209"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L211"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "reduce", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L211"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L211"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L211"}, {"caller_nid": "homework_page_homeworklistpage", "callee": "pageUrl", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx", "source_location": "L237"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/c1590ccd01864c2e288b42f544ffb84faa248945edbb8f6afa1eb9bc5dc27e1d.json b/graphify-out/cache/ast/c1590ccd01864c2e288b42f544ffb84faa248945edbb8f6afa1eb9bc5dc27e1d.json
new file mode 100644
index 0000000..ba7f729
--- /dev/null
+++ b/graphify-out/cache/ast/c1590ccd01864c2e288b42f544ffb84faa248945edbb8f6afa1eb9bc5dc27e1d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_middleware_ts", "label": "middleware.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L1"}, {"id": "src_middleware_public_routes", "label": "PUBLIC_ROUTES", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L4"}, {"id": "src_middleware_middleware", "label": "middleware()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L6"}, {"id": "src_middleware_config", "label": "config", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L26"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_middleware_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_middleware_ts", "target": "cookies", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_middleware_ts", "target": "src_middleware_public_routes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_middleware_ts", "target": "src_middleware_middleware", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_middleware_ts", "target": "src_middleware_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L26", "weight": 1.0}], "raw_calls": [{"caller_nid": "src_middleware_middleware", "callee": "some", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L10"}, {"caller_nid": "src_middleware_middleware", "callee": "startsWith", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L11"}, {"caller_nid": "src_middleware_middleware", "callee": "startsWith", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L12"}, {"caller_nid": "src_middleware_middleware", "callee": "next", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L14"}, {"caller_nid": "src_middleware_middleware", "callee": "getSessionCookie", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L17"}, {"caller_nid": "src_middleware_middleware", "callee": "redirect", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L20"}, {"caller_nid": "src_middleware_middleware", "callee": "next", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts", "source_location": "L23"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/c402c1813230c0a8bfc1e6e9c2ae2552e774a307bd29e49dea4e6b260c5aae45.json b/graphify-out/cache/ast/c402c1813230c0a8bfc1e6e9c2ae2552e774a307bd29e49dea4e6b260c5aae45.json
new file mode 100644
index 0000000..1460489
--- /dev/null
+++ b/graphify-out/cache/ast/c402c1813230c0a8bfc1e6e9c2ae2552e774a307bd29e49dea4e6b260c5aae45.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_curator_questions_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L1"}, {"id": "questions_page_curatorquestionspage", "label": "CuratorQuestionsPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_curator_questions_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_questions_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_questions_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_questions_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_questions_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_questions_page_tsx", "target": "questions_questionsplitview_questionsplitview", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_questions_page_tsx", "target": "questions_page_curatorquestionspage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "questions_page_curatorquestionspage", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L7"}, {"caller_nid": "questions_page_curatorquestionspage", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L7"}, {"caller_nid": "questions_page_curatorquestionspage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L8"}, {"caller_nid": "questions_page_curatorquestionspage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx", "source_location": "L9"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/c53d5eb7282adb492ef8e8d00121e48d5c90bd3bf3f708c038ec528131010163.json b/graphify-out/cache/ast/c53d5eb7282adb492ef8e8d00121e48d5c90bd3bf3f708c038ec528131010163.json
new file mode 100644
index 0000000..e3dc493
--- /dev/null
+++ b/graphify-out/cache/ast/c53d5eb7282adb492ef8e8d00121e48d5c90bd3bf3f708c038ec528131010163.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_player_kinescope_player_tsx", "label": "kinescope-player.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx", "source_location": "L1"}, {"id": "player_kinescope_player_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx", "source_location": "L6"}, {"id": "player_kinescope_player_kinescopeplayer", "label": "KinescopePlayer()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx", "source_location": "L11"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_player_kinescope_player_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_player_kinescope_player_tsx", "target": "react_kinescope_player", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_player_kinescope_player_tsx", "target": "player_kinescope_player_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_player_kinescope_player_tsx", "target": "player_kinescope_player_kinescopeplayer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx", "source_location": "L11", "weight": 1.0}], "raw_calls": [{"caller_nid": "player_kinescope_player_kinescopeplayer", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx", "source_location": "L12"}, {"caller_nid": "player_kinescope_player_kinescopeplayer", "callee": "useEffect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx", "source_location": "L13"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/c579648a40afe1f6d13a81fe5f9db1090de194f44c47520f097643d4bd45d0da.json b/graphify-out/cache/ast/c579648a40afe1f6d13a81fe5f9db1090de194f44c47520f097643d4bd45d0da.json
new file mode 100644
index 0000000..fa7d9f6
--- /dev/null
+++ b/graphify-out/cache/ast/c579648a40afe1f6d13a81fe5f9db1090de194f44c47520f097643d4bd45d0da.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "label": "category-row.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L1"}, {"id": "admin_category_row_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L8"}, {"id": "admin_category_row_categoryrow", "label": "CategoryRow()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L13"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_input_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "ui_input_input", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "ui_button_button", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_categories_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "categories_actions_updatecategory", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "categories_actions_deletecategory", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "admin_category_row_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_category_row_tsx", "target": "admin_category_row_categoryrow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L13", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_category_row_categoryrow", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L14"}, {"caller_nid": "admin_category_row_categoryrow", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx", "source_location": "L15"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/c9c88beb592831e3ca0eee9893f15fc293d824e786696a6750f23d9f146debe1.json b/graphify-out/cache/ast/c9c88beb592831e3ca0eee9893f15fc293d824e786696a6750f23d9f146debe1.json
new file mode 100644
index 0000000..9f9b5ce
--- /dev/null
+++ b/graphify-out/cache/ast/c9c88beb592831e3ca0eee9893f15fc293d824e786696a6750f23d9f146debe1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "label": "lesson-comments.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L1"}, {"id": "student_lesson_comments_reply", "label": "Reply", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L6"}, {"id": "student_lesson_comments_comment", "label": "Comment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L14"}, {"id": "student_lesson_comments_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L23"}, {"id": "student_lesson_comments_formatdate", "label": "formatDate()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L31"}, {"id": "student_lesson_comments_lessoncomments", "label": "LessonComments()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L41"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_student_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "target": "actions_student_actions_addcomment", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "target": "actions_student_actions_deletecomment", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "target": "student_lesson_comments_reply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "target": "student_lesson_comments_comment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "target": "student_lesson_comments_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L23", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "target": "student_lesson_comments_formatdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L31", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "target": "student_lesson_comments_lessoncomments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L41", "weight": 1.0}], "raw_calls": [{"caller_nid": "student_lesson_comments_formatdate", "callee": "toLocaleDateString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L32"}, {"caller_nid": "student_lesson_comments_lessoncomments", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L42"}, {"caller_nid": "student_lesson_comments_lessoncomments", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L43"}, {"caller_nid": "student_lesson_comments_lessoncomments", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L44"}, {"caller_nid": "student_lesson_comments_lessoncomments", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L45"}, {"caller_nid": "student_lesson_comments_lessoncomments", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L46"}, {"caller_nid": "student_lesson_comments_lessoncomments", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L96"}, {"caller_nid": "student_lesson_comments_lessoncomments", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx", "source_location": "L274"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/caee92110ddececac4ac0ec6e3db47909d58cbb0a39e1eee487f3a9978a5e1e0.json b/graphify-out/cache/ast/caee92110ddececac4ac0ec6e3db47909d58cbb0a39e1eee487f3a9978a5e1e0.json
new file mode 100644
index 0000000..1b741f3
--- /dev/null
+++ b/graphify-out/cache/ast/caee92110ddececac4ac0ec6e3db47909d58cbb0a39e1eee487f3a9978a5e1e0.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "label": "QuestionSplitView.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L1"}, {"id": "questions_questionsplitview_fileattachment", "label": "FileAttachment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L5"}, {"id": "questions_questionsplitview_message", "label": "Message", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L11"}, {"id": "questions_questionsplitview_questionsummary", "label": "QuestionSummary", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L21"}, {"id": "questions_questionsplitview_questiondetail", "label": "QuestionDetail", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L31"}, {"id": "questions_questionsplitview_formatdate", "label": "formatDate()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L40"}, {"id": "questions_questionsplitview_formatfilesize", "label": "formatFileSize()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L49"}, {"id": "questions_questionsplitview_questionsplitview", "label": "QuestionSplitView()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L55"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "target": "questions_questionsplitview_fileattachment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "target": "questions_questionsplitview_message", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L11", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "target": "questions_questionsplitview_questionsummary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "target": "questions_questionsplitview_questiondetail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L31", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "target": "questions_questionsplitview_formatdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L40", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "target": "questions_questionsplitview_formatfilesize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L49", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_questions_questionsplitview_tsx", "target": "questions_questionsplitview_questionsplitview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L55", "weight": 1.0}], "raw_calls": [{"caller_nid": "questions_questionsplitview_formatdate", "callee": "toLocaleString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L41"}, {"caller_nid": "questions_questionsplitview_formatfilesize", "callee": "round", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L51"}, {"caller_nid": "questions_questionsplitview_formatfilesize", "callee": "toFixed", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L52"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L56"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L57"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L58"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L59"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L60"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L61"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L62"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L63"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L64"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L65"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L66"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L67"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L68"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useCallback", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L70"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "useEffect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L88"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L181"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L194"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L229"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "toLocaleDateString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L286"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L310"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L393"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L430"}, {"caller_nid": "questions_questionsplitview_questionsplitview", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx", "source_location": "L436"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/cbcff5e716f1569b19923c64d6909deed0bccb0d816f1c339d2ca14797d12d28.json b/graphify-out/cache/ast/cbcff5e716f1569b19923c64d6909deed0bccb0d816f1c339d2ca14797d12d28.json
new file mode 100644
index 0000000..57ad14c
--- /dev/null
+++ b/graphify-out/cache/ast/cbcff5e716f1569b19923c64d6909deed0bccb0d816f1c339d2ca14797d12d28.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L1"}, {"id": "lessonid_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L8"}, {"id": "lessonid_actions_savelesson", "label": "saveLesson()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L13"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts", "target": "lessonid_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts", "target": "lessonid_actions_savelesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L13", "weight": 1.0}, {"source": "lessonid_actions_savelesson", "target": "lessonid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L24", "weight": 1.0}], "raw_calls": [{"caller_nid": "lessonid_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L9"}, {"caller_nid": "lessonid_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L9"}, {"caller_nid": "lessonid_actions_savelesson", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L25"}, {"caller_nid": "lessonid_actions_savelesson", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L34"}, {"caller_nid": "lessonid_actions_savelesson", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts", "source_location": "L35"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/cce4bcb396d93283c9eec65ddf54ab50662fef27b234df602a63e827cf22b4b3.json b/graphify-out/cache/ast/cce4bcb396d93283c9eec65ddf54ab50662fef27b234df602a63e827cf22b4b3.json
new file mode 100644
index 0000000..31b933c
--- /dev/null
+++ b/graphify-out/cache/ast/cce4bcb396d93283c9eec65ddf54ab50662fef27b234df602a63e827cf22b4b3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "label": "csv-importer.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L1"}, {"id": "admin_csv_importer_course", "label": "Course", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L13"}, {"id": "admin_csv_importer_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L15"}, {"id": "admin_csv_importer_focushandlers", "label": "focusHandlers", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L24"}, {"id": "admin_csv_importer_toggle", "label": "Toggle()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L31"}, {"id": "admin_csv_importer_stepindicator", "label": "StepIndicator()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L47"}, {"id": "admin_csv_importer_csvimporter", "label": "CsvImporter()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L84"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_import_export_import_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "import_export_import_actions_parsecsv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "import_export_import_actions_applyimport", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "import_export_import_actions_previewresult", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "import_export_import_actions_importoptions", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "import_export_import_actions_applyresult", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "admin_csv_importer_course", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "admin_csv_importer_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L15", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "admin_csv_importer_focushandlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L24", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "admin_csv_importer_toggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L31", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "admin_csv_importer_stepindicator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L47", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_csv_importer_tsx", "target": "admin_csv_importer_csvimporter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L84", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_csv_importer_stepindicator", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L51"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L85"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L86"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L87"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L88"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L91"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L92"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L93"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L94"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L97"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L100"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L101"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L102"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L103"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L106"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L242"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L259"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L265"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L311"}, {"caller_nid": "admin_csv_importer_csvimporter", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx", "source_location": "L370"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/cda9842c1dd277e8617666d682f773cf493ec4c99d58bc426c40b9b4db7fd7e3.json b/graphify-out/cache/ast/cda9842c1dd277e8617666d682f773cf493ec4c99d58bc426c40b9b4db7fd7e3.json
new file mode 100644
index 0000000..1af39d9
--- /dev/null
+++ b/graphify-out/cache/ast/cda9842c1dd277e8617666d682f773cf493ec4c99d58bc426c40b9b4db7fd7e3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_files_manager_tsx", "label": "lesson-files-manager.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L1"}, {"id": "admin_lesson_files_manager_lessonfile", "label": "LessonFile", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L6"}, {"id": "admin_lesson_files_manager_lessonfilesmanager", "label": "LessonFilesManager()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L13"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_files_manager_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_files_manager_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_shared_file_format_badge_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_files_manager_tsx", "target": "shared_file_format_badge_fileformatbadge", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_files_manager_tsx", "target": "admin_lesson_files_manager_lessonfile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_files_manager_tsx", "target": "admin_lesson_files_manager_lessonfilesmanager", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L13", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_lesson_files_manager_lessonfilesmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L14"}, {"caller_nid": "admin_lesson_files_manager_lessonfilesmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L15"}, {"caller_nid": "admin_lesson_files_manager_lessonfilesmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L16"}, {"caller_nid": "admin_lesson_files_manager_lessonfilesmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L17"}, {"caller_nid": "admin_lesson_files_manager_lessonfilesmanager", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L18"}, {"caller_nid": "admin_lesson_files_manager_lessonfilesmanager", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L19"}, {"caller_nid": "admin_lesson_files_manager_lessonfilesmanager", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx", "source_location": "L84"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/ceed4f92a6e9f4993f18d9039df4f712d8e232cf1d1447e1ba0f9503b1efb93d.json b/graphify-out/cache/ast/ceed4f92a6e9f4993f18d9039df4f712d8e232cf1d1447e1ba0f9503b1efb93d.json
new file mode 100644
index 0000000..f832428
--- /dev/null
+++ b/graphify-out/cache/ast/ceed4f92a6e9f4993f18d9039df4f712d8e232cf1d1447e1ba0f9503b1efb93d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L1"}, {"id": "courses_page_coursespage", "label": "CoursesPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_badge_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "ui_badge_badge", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_ui_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "ui_button_button", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_create_course_dialog_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "admin_create_course_dialog_createcoursedialog", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_page_tsx", "target": "courses_page_coursespage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "courses_page_coursespage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L8"}, {"caller_nid": "courses_page_coursespage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx", "source_location": "L31"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/d561e64847d500c7c6d3a7b5695a0e261afc737395cc13190b90dd9c6e2c3de2.json b/graphify-out/cache/ast/d561e64847d500c7c6d3a7b5695a0e261afc737395cc13190b90dd9c6e2c3de2.json
new file mode 100644
index 0000000..8822d25
--- /dev/null
+++ b/graphify-out/cache/ast/d561e64847d500c7c6d3a7b5695a0e261afc737395cc13190b90dd9c6e2c3de2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_auth_reset_password_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx", "source_location": "L1"}, {"id": "reset_password_page_resetpasswordpage", "label": "ResetPasswordPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx", "source_location": "L5"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_auth_reset_password_page_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_reset_password_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_reset_password_page_tsx", "target": "lib_settings_getsetting", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_reset_password_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_auth_reset_password_reset_password_form_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_reset_password_page_tsx", "target": "reset_password_reset_password_form_resetpasswordform", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_auth_reset_password_page_tsx", "target": "reset_password_page_resetpasswordpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx", "source_location": "L5", "weight": 1.0}], "raw_calls": [{"caller_nid": "reset_password_page_resetpasswordpage", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx", "source_location": "L6"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/d5d576bc2b09b9cf145dcd30872e63fcd89c5504a8656c66bd4f2baa7fbd15c0.json b/graphify-out/cache/ast/d5d576bc2b09b9cf145dcd30872e63fcd89c5504a8656c66bd4f2baa7fbd15c0.json
new file mode 100644
index 0000000..26418d5
--- /dev/null
+++ b/graphify-out/cache/ast/d5d576bc2b09b9cf145dcd30872e63fcd89c5504a8656c66bd4f2baa7fbd15c0.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "label": "homework-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L1"}, {"id": "lessonid_homework_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L8"}, {"id": "lessonid_homework_actions_savehomework", "label": "saveHomework()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L13"}, {"id": "lessonid_homework_actions_deletehomework", "label": "deleteHomework()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L23"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "target": "lessonid_homework_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "target": "lessonid_homework_actions_savehomework", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts", "target": "lessonid_homework_actions_deletehomework", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L23", "weight": 1.0}, {"source": "lessonid_homework_actions_savehomework", "target": "lessonid_homework_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L14", "weight": 1.0}, {"source": "lessonid_homework_actions_deletehomework", "target": "lessonid_homework_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L24", "weight": 1.0}], "raw_calls": [{"caller_nid": "lessonid_homework_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L9"}, {"caller_nid": "lessonid_homework_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L9"}, {"caller_nid": "lessonid_homework_actions_savehomework", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L15"}, {"caller_nid": "lessonid_homework_actions_savehomework", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L20"}, {"caller_nid": "lessonid_homework_actions_deletehomework", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L25"}, {"caller_nid": "lessonid_homework_actions_deletehomework", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts", "source_location": "L26"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/d73fd57592c7c069a0f2763c8555e03062f8f9e9d39073d50f23a9e2ac5ee42d.json b/graphify-out/cache/ast/d73fd57592c7c069a0f2763c8555e03062f8f9e9d39073d50f23a9e2ac5ee42d.json
new file mode 100644
index 0000000..9019b0e
--- /dev/null
+++ b/graphify-out/cache/ast/d73fd57592c7c069a0f2763c8555e03062f8f9e9d39073d50f23a9e2ac5ee42d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_questions_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L1"}, {"id": "questions_page_questionspage", "label": "QuestionsPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_page_tsx", "target": "questions_page_questionspage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "questions_page_questionspage", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L8"}, {"caller_nid": "questions_page_questionspage", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L8"}, {"caller_nid": "questions_page_questionspage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L9"}, {"caller_nid": "questions_page_questionspage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L11"}, {"caller_nid": "questions_page_questionspage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx", "source_location": "L56"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/db2b37ba886081b8d51ba65e0cf9ead6556cadb44cde07bb72cb5af19e9d4ee4.json b/graphify-out/cache/ast/db2b37ba886081b8d51ba65e0cf9ead6556cadb44cde07bb72cb5af19e9d4ee4.json
new file mode 100644
index 0000000..e3f4b4e
--- /dev/null
+++ b/graphify-out/cache/ast/db2b37ba886081b8d51ba65e0cf9ead6556cadb44cde07bb72cb5af19e9d4ee4.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_users_search_tsx", "label": "users-search.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L1"}, {"id": "admin_users_search_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L7"}, {"id": "admin_users_search_userssearch", "label": "UsersSearch()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L16"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_search_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_search_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_search_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_search_tsx", "target": "admin_users_search_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_users_search_tsx", "target": "admin_users_search_userssearch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L16", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_users_search_userssearch", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L27"}, {"caller_nid": "admin_users_search_userssearch", "callee": "usePathname", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L28"}, {"caller_nid": "admin_users_search_userssearch", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx", "source_location": "L29"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/db738a15460ccd932902e63903d17074d65f68dae59507e9aab04fa7ed5ffcc7.json b/graphify-out/cache/ast/db738a15460ccd932902e63903d17074d65f68dae59507e9aab04fa7ed5ffcc7.json
new file mode 100644
index 0000000..921c4d0
--- /dev/null
+++ b/graphify-out/cache/ast/db738a15460ccd932902e63903d17074d65f68dae59507e9aab04fa7ed5ffcc7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_layout_tsx", "label": "layout.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L1"}, {"id": "app_layout_firamono", "label": "firaMono", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L6"}, {"id": "app_layout_generatemetadata", "label": "generateMetadata()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L13"}, {"id": "app_layout_rootlayout", "label": "RootLayout()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L22"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_layout_tsx", "target": "next", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_layout_tsx", "target": "google", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_globals_css", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_layout_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_layout_tsx", "target": "lib_settings_getsettings", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_layout_tsx", "target": "app_layout_firamono", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_layout_tsx", "target": "app_layout_generatemetadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_layout_tsx", "target": "app_layout_rootlayout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L22", "weight": 1.0}], "raw_calls": [{"caller_nid": "app_layout_generatemetadata", "callee": "getSettings", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L14"}, {"caller_nid": "app_layout_rootlayout", "callee": "getSettings", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx", "source_location": "L27"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/dcfe31f114c58c6da623442ddc1dcdf612bcf39ec729b39d1f9681de47d1442f.json b/graphify-out/cache/ast/dcfe31f114c58c6da623442ddc1dcdf612bcf39ec729b39d1f9681de47d1442f.json
new file mode 100644
index 0000000..a7f963b
--- /dev/null
+++ b/graphify-out/cache/ast/dcfe31f114c58c6da623442ddc1dcdf612bcf39ec729b39d1f9681de47d1442f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_questions_new_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L1"}, {"id": "new_page_fileattachment", "label": "FileAttachment", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L7"}, {"id": "new_page_formatfilesize", "label": "formatFileSize()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L13"}, {"id": "new_page_newquestionpage", "label": "NewQuestionPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L19"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_new_page_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_new_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_new_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_new_page_tsx", "target": "new_page_fileattachment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_new_page_tsx", "target": "new_page_formatfilesize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_questions_new_page_tsx", "target": "new_page_newquestionpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "new_page_formatfilesize", "callee": "round", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L15"}, {"caller_nid": "new_page_formatfilesize", "callee": "toFixed", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L16"}, {"caller_nid": "new_page_newquestionpage", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L20"}, {"caller_nid": "new_page_newquestionpage", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L21"}, {"caller_nid": "new_page_newquestionpage", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L22"}, {"caller_nid": "new_page_newquestionpage", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L23"}, {"caller_nid": "new_page_newquestionpage", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L24"}, {"caller_nid": "new_page_newquestionpage", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L25"}, {"caller_nid": "new_page_newquestionpage", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L26"}, {"caller_nid": "new_page_newquestionpage", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L27"}, {"caller_nid": "new_page_newquestionpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L160"}, {"caller_nid": "new_page_newquestionpage", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L205"}, {"caller_nid": "new_page_newquestionpage", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L205"}, {"caller_nid": "new_page_newquestionpage", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L211"}, {"caller_nid": "new_page_newquestionpage", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx", "source_location": "L211"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/dd2d4e517086425f31de615739261713367ffca0f4b7e22d8d628f5325bb6250.json b/graphify-out/cache/ast/dd2d4e517086425f31de615739261713367ffca0f4b7e22d8d628f5325bb6250.json
new file mode 100644
index 0000000..96a5b4c
--- /dev/null
+++ b/graphify-out/cache/ast/dd2d4e517086425f31de615739261713367ffca0f4b7e22d8d628f5325bb6250.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L1"}, {"id": "lessonid_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L14"}, {"id": "lessonid_page_lessonpage", "label": "LessonPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L18"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_player_kinescope_player_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "player_kinescope_player_kinescopeplayer", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_content_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "student_lesson_content_lessoncontent", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_complete_button_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "student_lesson_complete_button_lessoncompletebutton", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_student_homework_section_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "student_homework_section_homeworksection", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_student_quiz_section_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "student_quiz_section_quizsection", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_student_lesson_comments_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L11", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "student_lesson_comments_lessoncomments", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L11", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_shared_file_format_badge_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L12", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "shared_file_format_badge_fileformatbadge", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L12", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "lessonid_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_courses_slug_lessons_lessonid_page_tsx", "target": "lessonid_page_lessonpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L18", "weight": 1.0}], "raw_calls": [{"caller_nid": "lessonid_page_lessonpage", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L21"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L21"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L24"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L25"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L54"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L58"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L73"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L85"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L90"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "flatMap", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L95"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "findIndex", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L96"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "keys", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L100"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L134"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L169"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L190"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L255"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L256"}, {"caller_nid": "lessonid_page_lessonpage", "callee": "flatMap", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx", "source_location": "L256"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/dd4ea646acb08d09aa646938c486ee25873dabae74a501404da98715c0970c30.json b/graphify-out/cache/ast/dd4ea646acb08d09aa646938c486ee25873dabae74a501404da98715c0970c30.json
new file mode 100644
index 0000000..e2feb6f
--- /dev/null
+++ b/graphify-out/cache/ast/dd4ea646acb08d09aa646938c486ee25873dabae74a501404da98715c0970c30.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L1"}, {"id": "userid_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L9"}, {"id": "userid_actions_bulkgrantaccess", "label": "bulkGrantAccess()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L15"}, {"id": "userid_actions_updateusercontact", "label": "updateUserContact()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L45"}, {"id": "userid_actions_addbalancetransaction", "label": "addBalanceTransaction()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L63"}, {"id": "userid_actions_deletebalancetransaction", "label": "deleteBalanceTransaction()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L76"}, {"id": "userid_actions_resetuserpassword", "label": "resetUserPassword()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L82"}, {"id": "userid_actions_revokeuseraccess", "label": "revokeUserAccess()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L102"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "bcryptjs", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "userid_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "userid_actions_bulkgrantaccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L15", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "userid_actions_updateusercontact", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L45", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "userid_actions_addbalancetransaction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L63", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "userid_actions_deletebalancetransaction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L76", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "userid_actions_resetuserpassword", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L82", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "target": "userid_actions_revokeuseraccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L102", "weight": 1.0}, {"source": "userid_actions_bulkgrantaccess", "target": "userid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L20", "weight": 1.0}, {"source": "userid_actions_updateusercontact", "target": "userid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L49", "weight": 1.0}, {"source": "userid_actions_addbalancetransaction", "target": "userid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L67", "weight": 1.0}, {"source": "userid_actions_deletebalancetransaction", "target": "userid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L77", "weight": 1.0}, {"source": "userid_actions_resetuserpassword", "target": "userid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L83", "weight": 1.0}, {"source": "userid_actions_revokeuseraccess", "target": "userid_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L103", "weight": 1.0}], "raw_calls": [{"caller_nid": "userid_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L10"}, {"caller_nid": "userid_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L10"}, {"caller_nid": "userid_actions_bulkgrantaccess", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L23"}, {"caller_nid": "userid_actions_bulkgrantaccess", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L24"}, {"caller_nid": "userid_actions_bulkgrantaccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L42"}, {"caller_nid": "userid_actions_updateusercontact", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L50"}, {"caller_nid": "userid_actions_updateusercontact", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L53"}, {"caller_nid": "userid_actions_updateusercontact", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L54"}, {"caller_nid": "userid_actions_updateusercontact", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L55"}, {"caller_nid": "userid_actions_updateusercontact", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L57"}, {"caller_nid": "userid_actions_updateusercontact", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L60"}, {"caller_nid": "userid_actions_addbalancetransaction", "callee": "parseFloat", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L68"}, {"caller_nid": "userid_actions_addbalancetransaction", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L68"}, {"caller_nid": "userid_actions_addbalancetransaction", "callee": "isNaN", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L69"}, {"caller_nid": "userid_actions_addbalancetransaction", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L70"}, {"caller_nid": "userid_actions_addbalancetransaction", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L71"}, {"caller_nid": "userid_actions_addbalancetransaction", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L73"}, {"caller_nid": "userid_actions_deletebalancetransaction", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L78"}, {"caller_nid": "userid_actions_deletebalancetransaction", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L79"}, {"caller_nid": "userid_actions_resetuserpassword", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L85"}, {"caller_nid": "userid_actions_resetuserpassword", "callee": "join", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L91"}, {"caller_nid": "userid_actions_resetuserpassword", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L91"}, {"caller_nid": "userid_actions_resetuserpassword", "callee": "hash", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L93"}, {"caller_nid": "userid_actions_resetuserpassword", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L94"}, {"caller_nid": "userid_actions_revokeuseraccess", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L104"}, {"caller_nid": "userid_actions_revokeuseraccess", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L107"}, {"caller_nid": "userid_actions_revokeuseraccess", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts", "source_location": "L116"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/de562c9e56c9378d41b176fc3249a0ef851dbb07ae4f736ba2ec4e73cfdbce8c.json b/graphify-out/cache/ast/de562c9e56c9378d41b176fc3249a0ef851dbb07ae4f736ba2ec4e73cfdbce8c.json
new file mode 100644
index 0000000..3904f36
--- /dev/null
+++ b/graphify-out/cache/ast/de562c9e56c9378d41b176fc3249a0ef851dbb07ae4f736ba2ec4e73cfdbce8c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_scripts_backup_sh", "label": "backup.sh", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/scripts/backup.sh", "source_location": "L1"}, {"id": "scripts_backup_log", "label": "log()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/scripts/backup.sh", "source_location": "L32"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_scripts_backup_sh", "target": "scripts_backup_log", "relation": "defines", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/scripts/backup.sh", "source_location": "L32", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/df8c29cf846c4a389144948fe8b624628ad5a5582ab33ab56f26a560e5e4e77b.json b/graphify-out/cache/ast/df8c29cf846c4a389144948fe8b624628ad5a5582ab33ab56f26a560e5e4e77b.json
new file mode 100644
index 0000000..4032f3a
--- /dev/null
+++ b/graphify-out/cache/ast/df8c29cf846c4a389144948fe8b624628ad5a5582ab33ab56f26a560e5e4e77b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_shared_file_format_badge_tsx", "label": "file-format-badge.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L1"}, {"id": "shared_file_format_badge_format_map", "label": "FORMAT_MAP", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L1"}, {"id": "shared_file_format_badge_getfileformatinfo", "label": "getFileFormatInfo()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L14"}, {"id": "shared_file_format_badge_fileformatbadge", "label": "FileFormatBadge()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L19"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_shared_file_format_badge_tsx", "target": "shared_file_format_badge_format_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_shared_file_format_badge_tsx", "target": "shared_file_format_badge_getfileformatinfo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_shared_file_format_badge_tsx", "target": "shared_file_format_badge_fileformatbadge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L19", "weight": 1.0}, {"source": "shared_file_format_badge_fileformatbadge", "target": "shared_file_format_badge_getfileformatinfo", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L20", "weight": 1.0}], "raw_calls": [{"caller_nid": "shared_file_format_badge_getfileformatinfo", "callee": "toLowerCase", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L15"}, {"caller_nid": "shared_file_format_badge_getfileformatinfo", "callee": "pop", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L15"}, {"caller_nid": "shared_file_format_badge_getfileformatinfo", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L15"}, {"caller_nid": "shared_file_format_badge_getfileformatinfo", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L15"}, {"caller_nid": "shared_file_format_badge_getfileformatinfo", "callee": "slice", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L16"}, {"caller_nid": "shared_file_format_badge_getfileformatinfo", "callee": "toUpperCase", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx", "source_location": "L16"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/e06456cd36ae738c22c4ba96531cdc77dac2e8214adad134770d8a0dba56c258.json b/graphify-out/cache/ast/e06456cd36ae738c22c4ba96531cdc77dac2e8214adad134770d8a0dba56c258.json
new file mode 100644
index 0000000..1b08590
--- /dev/null
+++ b/graphify-out/cache/ast/e06456cd36ae738c22c4ba96531cdc77dac2e8214adad134770d8a0dba56c258.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_components_json", "label": "components.json", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L1"}, {"id": "lms_system_components_schema", "label": "$schema", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L2"}, {"id": "lms_system_components_style", "label": "style", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L3"}, {"id": "lms_system_components_rsc", "label": "rsc", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L4"}, {"id": "lms_system_components_tsx", "label": "tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L5"}, {"id": "lms_system_components_tailwind", "label": "tailwind", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L6"}, {"id": "lms_system_components_tailwind_config", "label": "config", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L7"}, {"id": "lms_system_components_tailwind_css", "label": "css", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L8"}, {"id": "lms_system_components_tailwind_basecolor", "label": "baseColor", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L9"}, {"id": "lms_system_components_tailwind_cssvariables", "label": "cssVariables", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L10"}, {"id": "lms_system_components_tailwind_prefix", "label": "prefix", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L11"}, {"id": "lms_system_components_iconlibrary", "label": "iconLibrary", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L13"}, {"id": "lms_system_components_rtl", "label": "rtl", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L14"}, {"id": "lms_system_components_aliases", "label": "aliases", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L15"}, {"id": "lms_system_components_aliases_components", "label": "components", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L16"}, {"id": "lms_system_components_aliases_utils", "label": "utils", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L17"}, {"id": "lms_system_components_aliases_ui", "label": "ui", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L18"}, {"id": "lms_system_components_aliases_lib", "label": "lib", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L19"}, {"id": "lms_system_components_aliases_hooks", "label": "hooks", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L20"}, {"id": "lms_system_components_menucolor", "label": "menuColor", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L22"}, {"id": "lms_system_components_menuaccent", "label": "menuAccent", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L23"}, {"id": "lms_system_components_registries", "label": "registries", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L24"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_schema", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_style", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_rsc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_tsx", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_tailwind", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L6", "weight": 1.0}, {"source": "lms_system_components_tailwind", "target": "lms_system_components_tailwind_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L7", "weight": 1.0}, {"source": "lms_system_components_tailwind", "target": "lms_system_components_tailwind_css", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L8", "weight": 1.0}, {"source": "lms_system_components_tailwind", "target": "lms_system_components_tailwind_basecolor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L9", "weight": 1.0}, {"source": "lms_system_components_tailwind", "target": "lms_system_components_tailwind_cssvariables", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L10", "weight": 1.0}, {"source": "lms_system_components_tailwind", "target": "lms_system_components_tailwind_prefix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L11", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_iconlibrary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_rtl", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_aliases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L15", "weight": 1.0}, {"source": "lms_system_components_aliases", "target": "lms_system_components_aliases_components", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L16", "weight": 1.0}, {"source": "lms_system_components_aliases", "target": "lms_system_components_aliases_utils", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L17", "weight": 1.0}, {"source": "lms_system_components_aliases", "target": "lms_system_components_aliases_ui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L18", "weight": 1.0}, {"source": "lms_system_components_aliases", "target": "lms_system_components_aliases_lib", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L19", "weight": 1.0}, {"source": "lms_system_components_aliases", "target": "lms_system_components_aliases_hooks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_menucolor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L22", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_menuaccent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L23", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_components_json", "target": "lms_system_components_registries", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/components.json", "source_location": "L24", "weight": 1.0}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/e2c11655d5d2e8d43534328cb52a00fc113b2e83ecbd765559f33bba36a72f7f.json b/graphify-out/cache/ast/e2c11655d5d2e8d43534328cb52a00fc113b2e83ecbd765559f33bba36a72f7f.json
new file mode 100644
index 0000000..0a06355
--- /dev/null
+++ b/graphify-out/cache/ast/e2c11655d5d2e8d43534328cb52a00fc113b2e83ecbd765559f33bba36a72f7f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "label": "sortable-modules.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L1"}, {"id": "admin_sortable_modules_module", "label": "Module", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L22"}, {"id": "admin_sortable_modules_sortablemodule", "label": "SortableModule()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L30"}, {"id": "admin_sortable_modules_sortablemodules", "label": "SortableModules()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L150"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "core", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "sortable", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L12", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "utilities", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L19", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_course_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "actions_course_actions_createmodule", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "actions_course_actions_deletemodule", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "actions_course_actions_updatemodule", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "actions_course_actions_reordermodules", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "admin_sortable_modules_module", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L22", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "admin_sortable_modules_sortablemodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L30", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "target": "admin_sortable_modules_sortablemodules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L150", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_sortable_modules_sortablemodule", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L31"}, {"caller_nid": "admin_sortable_modules_sortablemodule", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L32"}, {"caller_nid": "admin_sortable_modules_sortablemodule", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L33"}, {"caller_nid": "admin_sortable_modules_sortablemodule", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L34"}, {"caller_nid": "admin_sortable_modules_sortablemodule", "callee": "useSortable", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L36"}, {"caller_nid": "admin_sortable_modules_sortablemodule", "callee": "toString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L39"}, {"caller_nid": "admin_sortable_modules_sortablemodules", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L151"}, {"caller_nid": "admin_sortable_modules_sortablemodules", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L152"}, {"caller_nid": "admin_sortable_modules_sortablemodules", "callee": "useSensors", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L154"}, {"caller_nid": "admin_sortable_modules_sortablemodules", "callee": "useSensor", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L154"}, {"caller_nid": "admin_sortable_modules_sortablemodules", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L177"}, {"caller_nid": "admin_sortable_modules_sortablemodules", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx", "source_location": "L178"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/e4166c5e85ee312ba8e543c4fdab8f6526f07d1e5e50fae22745d4fce90032af.json b/graphify-out/cache/ast/e4166c5e85ee312ba8e543c4fdab8f6526f07d1e5e50fae22745d4fce90032af.json
new file mode 100644
index 0000000..e888bc3
--- /dev/null
+++ b/graphify-out/cache/ast/e4166c5e85ee312ba8e543c4fdab8f6526f07d1e5e50fae22745d4fce90032af.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "label": "settings.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L1"}, {"id": "lib_settings_settings_defaults", "label": "SETTINGS_DEFAULTS", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L6"}, {"id": "lib_settings_settingskey", "label": "SettingsKey", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L51"}, {"id": "lib_settings_settings", "label": "Settings", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L52"}, {"id": "lib_settings_getsettings", "label": "getSettings", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L56"}, {"id": "lib_settings_getsetting", "label": "getSetting()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L70"}, {"id": "lib_settings_asbool", "label": "asBool()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L82"}, {"id": "lib_settings_parsenotificationemails", "label": "parseNotificationEmails()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L87"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "lib_settings_settings_defaults", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "lib_settings_settingskey", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L51", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "lib_settings_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L52", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "lib_settings_getsettings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L56", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "lib_settings_getsetting", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L70", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "lib_settings_asbool", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L82", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "target": "lib_settings_parsenotificationemails", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L87", "weight": 1.0}], "raw_calls": [{"caller_nid": "lib_settings_getsetting", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L72"}, {"caller_nid": "lib_settings_parsenotificationemails", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L88"}, {"caller_nid": "lib_settings_parsenotificationemails", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L88"}, {"caller_nid": "lib_settings_parsenotificationemails", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts", "source_location": "L88"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/e69d082776cd6a5b3a75f69685335744136b866cfe2c5f9d803e18e9773ec274.json b/graphify-out/cache/ast/e69d082776cd6a5b3a75f69685335744136b866cfe2c5f9d803e18e9773ec274.json
new file mode 100644
index 0000000..b66859c
--- /dev/null
+++ b/graphify-out/cache/ast/e69d082776cd6a5b3a75f69685335744136b866cfe2c5f9d803e18e9773ec274.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L1"}, {"id": "lesson_files_route_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L8"}, {"id": "lesson_files_route_post", "label": "POST()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L14"}, {"id": "lesson_files_route_patch", "label": "PATCH()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L52"}, {"id": "lesson_files_route_delete", "label": "DELETE()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L68"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_s3_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "lib_s3_uploadfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "lib_s3_deletefile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "crypto", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "lesson_files_route_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "lesson_files_route_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "lesson_files_route_patch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L52", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_admin_lesson_files_route_ts", "target": "lesson_files_route_delete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L68", "weight": 1.0}, {"source": "lesson_files_route_post", "target": "lesson_files_route_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L15", "weight": 1.0}, {"source": "lesson_files_route_patch", "target": "lesson_files_route_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L53", "weight": 1.0}, {"source": "lesson_files_route_delete", "target": "lesson_files_route_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L69", "weight": 1.0}], "raw_calls": [{"caller_nid": "lesson_files_route_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L9"}, {"caller_nid": "lesson_files_route_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L9"}, {"caller_nid": "lesson_files_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L16"}, {"caller_nid": "lesson_files_route_post", "callee": "formData", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L19"}, {"caller_nid": "lesson_files_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L20"}, {"caller_nid": "lesson_files_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L21"}, {"caller_nid": "lesson_files_route_post", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L22"}, {"caller_nid": "lesson_files_route_post", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L22"}, {"caller_nid": "lesson_files_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L23"}, {"caller_nid": "lesson_files_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L26"}, {"caller_nid": "lesson_files_route_post", "callee": "findFirst", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L29"}, {"caller_nid": "lesson_files_route_post", "callee": "pop", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L31"}, {"caller_nid": "lesson_files_route_post", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L31"}, {"caller_nid": "lesson_files_route_post", "callee": "randomUUID", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L32"}, {"caller_nid": "lesson_files_route_post", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L33"}, {"caller_nid": "lesson_files_route_post", "callee": "arrayBuffer", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L33"}, {"caller_nid": "lesson_files_route_post", "callee": "uploadFile", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L34"}, {"caller_nid": "lesson_files_route_post", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L37"}, {"caller_nid": "lesson_files_route_post", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L38"}, {"caller_nid": "lesson_files_route_post", "callee": "deleteFile", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L38"}, {"caller_nid": "lesson_files_route_post", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L39"}, {"caller_nid": "lesson_files_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L43"}, {"caller_nid": "lesson_files_route_post", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L46"}, {"caller_nid": "lesson_files_route_post", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L49"}, {"caller_nid": "lesson_files_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L54"}, {"caller_nid": "lesson_files_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L57"}, {"caller_nid": "lesson_files_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L59"}, {"caller_nid": "lesson_files_route_patch", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L61"}, {"caller_nid": "lesson_files_route_patch", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L63"}, {"caller_nid": "lesson_files_route_patch", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L65"}, {"caller_nid": "lesson_files_route_delete", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L70"}, {"caller_nid": "lesson_files_route_delete", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L73"}, {"caller_nid": "lesson_files_route_delete", "callee": "split", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L75"}, {"caller_nid": "lesson_files_route_delete", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L76"}, {"caller_nid": "lesson_files_route_delete", "callee": "deleteFile", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L76"}, {"caller_nid": "lesson_files_route_delete", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts", "source_location": "L79"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/ea525c1508869fdd8a943eba94183c31d2391c760073f5777d1a402365a27427.json b/graphify-out/cache/ast/ea525c1508869fdd8a943eba94183c31d2391c760073f5777d1a402365a27427.json
new file mode 100644
index 0000000..5f2a8fd
--- /dev/null
+++ b/graphify-out/cache/ast/ea525c1508869fdd8a943eba94183c31d2391c760073f5777d1a402365a27427.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "label": "quiz-editor.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L1"}, {"id": "admin_quiz_editor_qtype", "label": "QType", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L6"}, {"id": "admin_quiz_editor_question", "label": "Question", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L8"}, {"id": "admin_quiz_editor_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L15"}, {"id": "admin_quiz_editor_type_labels", "label": "TYPE_LABELS", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L20"}, {"id": "admin_quiz_editor_quizeditor", "label": "QuizEditor()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L26"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_quiz_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "target": "actions_quiz_actions_savequiz", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "target": "actions_quiz_actions_deletequiz", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "target": "admin_quiz_editor_qtype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "target": "admin_quiz_editor_question", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "target": "admin_quiz_editor_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L15", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "target": "admin_quiz_editor_type_labels", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quiz_editor_tsx", "target": "admin_quiz_editor_quizeditor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L26", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_quiz_editor_quizeditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L27"}, {"caller_nid": "admin_quiz_editor_quizeditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L30"}, {"caller_nid": "admin_quiz_editor_quizeditor", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L31"}, {"caller_nid": "admin_quiz_editor_quizeditor", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L90"}, {"caller_nid": "admin_quiz_editor_quizeditor", "callee": "some", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L144"}, {"caller_nid": "admin_quiz_editor_quizeditor", "callee": "some", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx", "source_location": "L148"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/ea6106fd947c603cbefb3b01e4f9430663a8518159bd9d2f91c2dd4fd427feee.json b/graphify-out/cache/ast/ea6106fd947c603cbefb3b01e4f9430663a8518159bd9d2f91c2dd4fd427feee.json
new file mode 100644
index 0000000..1b2bdc5
--- /dev/null
+++ b/graphify-out/cache/ast/ea6106fd947c603cbefb3b01e4f9430663a8518159bd9d2f91c2dd4fd427feee.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_auth_client_ts", "label": "auth-client.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth-client.ts", "source_location": "L1"}, {"id": "lib_auth_client_authclient", "label": "authClient", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth-client.ts", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_client_ts", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth-client.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_client_ts", "target": "plugins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth-client.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_auth_client_ts", "target": "lib_auth_client_authclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth-client.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/ebd4b0a44c4113792d3aaebae59e3d447a86fb209dbcfd71b5b40255ea2919d6.json b/graphify-out/cache/ast/ebd4b0a44c4113792d3aaebae59e3d447a86fb209dbcfd71b5b40255ea2919d6.json
new file mode 100644
index 0000000..329eb1b
--- /dev/null
+++ b/graphify-out/cache/ast/ebd4b0a44c4113792d3aaebae59e3d447a86fb209dbcfd71b5b40255ea2919d6.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_student_dashboard_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L1"}, {"id": "dashboard_page_studentdashboard", "label": "StudentDashboard()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_student_dashboard_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_dashboard_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_dashboard_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_dashboard_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_dashboard_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_dashboard_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_dashboard_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_student_dashboard_page_tsx", "target": "dashboard_page_studentdashboard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "dashboard_page_studentdashboard", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L8"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L8"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L9"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L11"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L32"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L33"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "flatMap", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L36"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L40"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L45"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L64"}, {"caller_nid": "dashboard_page_studentdashboard", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx", "source_location": "L140"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/ec8384b6e84abf3529b771b55296bd702227d2044b4d374f6b985ed9b6bbde2c.json b/graphify-out/cache/ast/ec8384b6e84abf3529b771b55296bd702227d2044b4d374f6b985ed9b6bbde2c.json
new file mode 100644
index 0000000..55ca30c
--- /dev/null
+++ b/graphify-out/cache/ast/ec8384b6e84abf3529b771b55296bd702227d2044b4d374f6b985ed9b6bbde2c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L1"}, {"id": "comments_page_metadata", "label": "metadata", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L9"}, {"id": "comments_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L13"}, {"id": "comments_page_admincommentspage", "label": "AdminCommentsPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L17"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_comments_table_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "admin_comments_table_commentstable", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "comments_page_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "comments_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_comments_page_tsx", "target": "comments_page_admincommentspage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L17", "weight": 1.0}], "raw_calls": [{"caller_nid": "comments_page_admincommentspage", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L18"}, {"caller_nid": "comments_page_admincommentspage", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L18"}, {"caller_nid": "comments_page_admincommentspage", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L19"}, {"caller_nid": "comments_page_admincommentspage", "callee": "max", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L22"}, {"caller_nid": "comments_page_admincommentspage", "callee": "parseInt", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L22"}, {"caller_nid": "comments_page_admincommentspage", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L38"}, {"caller_nid": "comments_page_admincommentspage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L39"}, {"caller_nid": "comments_page_admincommentspage", "callee": "count", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L59"}, {"caller_nid": "comments_page_admincommentspage", "callee": "ceil", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L62"}, {"caller_nid": "comments_page_admincommentspage", "callee": "pageUrl", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L93"}, {"caller_nid": "comments_page_admincommentspage", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L95"}, {"caller_nid": "comments_page_admincommentspage", "callee": "reduce", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L95"}, {"caller_nid": "comments_page_admincommentspage", "callee": "filter", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L95"}, {"caller_nid": "comments_page_admincommentspage", "callee": "from", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L95"}, {"caller_nid": "comments_page_admincommentspage", "callee": "pageUrl", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx", "source_location": "L113"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/ee0fbd658529f11e59d2bd6608a45bf5c193efe813a0a65d48ed8440ea36be38.json b/graphify-out/cache/ast/ee0fbd658529f11e59d2bd6608a45bf5c193efe813a0a65d48ed8440ea36be38.json
new file mode 100644
index 0000000..cd8bc7c
--- /dev/null
+++ b/graphify-out/cache/ast/ee0fbd658529f11e59d2bd6608a45bf5c193efe813a0a65d48ed8440ea36be38.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "label": "homework-actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L1"}, {"id": "actions_homework_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L8"}, {"id": "actions_homework_actions_savehomework", "label": "saveHomework()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L13"}, {"id": "actions_homework_actions_deletehomework", "label": "deleteHomework()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L23"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "target": "actions_homework_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "target": "actions_homework_actions_savehomework", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_actions_homework_actions_ts", "target": "actions_homework_actions_deletehomework", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L23", "weight": 1.0}, {"source": "actions_homework_actions_savehomework", "target": "actions_homework_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L14", "weight": 1.0}, {"source": "actions_homework_actions_deletehomework", "target": "actions_homework_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L24", "weight": 1.0}], "raw_calls": [{"caller_nid": "actions_homework_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L9"}, {"caller_nid": "actions_homework_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L9"}, {"caller_nid": "actions_homework_actions_savehomework", "callee": "upsert", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L15"}, {"caller_nid": "actions_homework_actions_savehomework", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L20"}, {"caller_nid": "actions_homework_actions_deletehomework", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L25"}, {"caller_nid": "actions_homework_actions_deletehomework", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts", "source_location": "L26"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/eecee429892929ff432b3b4e11228b05148b235a272391876ce78e748a5f783e.json b/graphify-out/cache/ast/eecee429892929ff432b3b4e11228b05148b235a272391876ce78e748a5f783e.json
new file mode 100644
index 0000000..8747c70
--- /dev/null
+++ b/graphify-out/cache/ast/eecee429892929ff432b3b4e11228b05148b235a272391876ce78e748a5f783e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_user_contact_editor_tsx", "label": "user-contact-editor.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L1"}, {"id": "admin_user_contact_editor_inputstyle", "label": "inputStyle", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L6"}, {"id": "admin_user_contact_editor_focushandlers", "label": "focusHandlers", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L16"}, {"id": "admin_user_contact_editor_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L23"}, {"id": "admin_user_contact_editor_usercontacteditor", "label": "UserContactEditor()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L32"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_contact_editor_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_contact_editor_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_users_userid_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_contact_editor_tsx", "target": "userid_actions_updateusercontact", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_contact_editor_tsx", "target": "admin_user_contact_editor_inputstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_contact_editor_tsx", "target": "admin_user_contact_editor_focushandlers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L16", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_contact_editor_tsx", "target": "admin_user_contact_editor_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L23", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_user_contact_editor_tsx", "target": "admin_user_contact_editor_usercontacteditor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L32", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L33"}, {"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L34"}, {"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L35"}, {"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L36"}, {"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L37"}, {"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "slice", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L38"}, {"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "toISOString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L38"}, {"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L40"}, {"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L41"}, {"caller_nid": "admin_user_contact_editor_usercontacteditor", "callee": "toLocaleDateString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx", "source_location": "L72"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/f16647f8cebd87f4320159a4dde80b87e7e778e5c62d541b80080a46a3152611.json b/graphify-out/cache/ast/f16647f8cebd87f4320159a4dde80b87e7e778e5c62d541b80080a46a3152611.json
new file mode 100644
index 0000000..bc49193
--- /dev/null
+++ b/graphify-out/cache/ast/f16647f8cebd87f4320159a4dde80b87e7e778e5c62d541b80080a46a3152611.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "label": "page.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L1"}, {"id": "courseid_page_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L9"}, {"id": "courseid_page_coursedetailpage", "label": "CourseDetailPage()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L13"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_course_edit_form_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "admin_course_edit_form_courseeditform", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_modules_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "admin_sortable_modules_sortablemodules", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_enrollment_manager_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "admin_enrollment_manager_enrollmentmanager", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "users_dementiy_documents_claude_lms_system_src_components_admin_course_tree_tsx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "admin_course_tree_coursetree", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "courseid_page_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_courseid_page_tsx", "target": "courseid_page_coursedetailpage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L13", "weight": 1.0}], "raw_calls": [{"caller_nid": "courseid_page_coursedetailpage", "callee": "all", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L16"}, {"caller_nid": "courseid_page_coursedetailpage", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L17"}, {"caller_nid": "courseid_page_coursedetailpage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L43"}, {"caller_nid": "courseid_page_coursedetailpage", "callee": "findMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L48"}, {"caller_nid": "courseid_page_coursedetailpage", "callee": "notFound", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L51"}, {"caller_nid": "courseid_page_coursedetailpage", "callee": "parse", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L55"}, {"caller_nid": "courseid_page_coursedetailpage", "callee": "stringify", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx", "source_location": "L55"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/f2f7f9b3f18f2dd61ec9d997db06e73a732849933c061b69fad71c19d1f348a8.json b/graphify-out/cache/ast/f2f7f9b3f18f2dd61ec9d997db06e73a732849933c061b69fad71c19d1f348a8.json
new file mode 100644
index 0000000..7c29046
--- /dev/null
+++ b/graphify-out/cache/ast/f2f7f9b3f18f2dd61ec9d997db06e73a732849933c061b69fad71c19d1f348a8.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_auth_all_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/auth/[...all]/route.ts", "source_location": "L1"}, {"id": "all_route_get_post", "label": "{ GET, POST }", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/auth/[...all]/route.ts", "source_location": "L4"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_auth_all_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/auth/[...all]/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_auth_all_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/auth/[...all]/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_auth_all_route_ts", "target": "next_js", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/auth/[...all]/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_auth_all_route_ts", "target": "all_route_get_post", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/auth/[...all]/route.ts", "source_location": "L4", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/f39076f409e7b8f12b68c3603b0ed5fed32e48c490c40f176b49a47092d08d4c.json b/graphify-out/cache/ast/f39076f409e7b8f12b68c3603b0ed5fed32e48c490c40f176b49a47092d08d4c.json
new file mode 100644
index 0000000..746bf03
--- /dev/null
+++ b/graphify-out/cache/ast/f39076f409e7b8f12b68c3603b0ed5fed32e48c490c40f176b49a47092d08d4c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_ui_sonner_tsx", "label": "sonner.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/sonner.tsx", "source_location": "L1"}, {"id": "ui_sonner_toaster", "label": "Toaster()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/sonner.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_ui_sonner_tsx", "target": "next_themes", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/sonner.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_sonner_tsx", "target": "sonner", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/sonner.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_sonner_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/sonner.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_ui_sonner_tsx", "target": "ui_sonner_toaster", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/sonner.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "ui_sonner_toaster", "callee": "useTheme", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/sonner.tsx", "source_location": "L8"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/f3e468c59717f35d7db7c9daeb9b93809e74367ed1d247318ac244910d1282c1.json b/graphify-out/cache/ast/f3e468c59717f35d7db7c9daeb9b93809e74367ed1d247318ac244910d1282c1.json
new file mode 100644
index 0000000..1069a34
--- /dev/null
+++ b/graphify-out/cache/ast/f3e468c59717f35d7db7c9daeb9b93809e74367ed1d247318ac244910d1282c1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "label": "email.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L1"}, {"id": "lib_email_getresend", "label": "getResend()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L4"}, {"id": "lib_email_getschoolname", "label": "getSchoolName()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L10"}, {"id": "lib_email_base", "label": "base()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L16"}, {"id": "lib_email_btn", "label": "btn()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L82"}, {"id": "lib_email_quote", "label": "quote()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L92"}, {"id": "lib_email_sendcourseaccessemail", "label": "sendCourseAccessEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L104"}, {"id": "lib_email_sendhomeworksubmittedemail", "label": "sendHomeworkSubmittedEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L119"}, {"id": "lib_email_sendfeedbackreceivedemail", "label": "sendFeedbackReceivedEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L140"}, {"id": "lib_email_sendwelcomeemail", "label": "sendWelcomeEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L162"}, {"id": "lib_email_sendtestemail", "label": "sendTestEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L177"}, {"id": "lib_email_sendaccessemail", "label": "sendAccessEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L193"}, {"id": "lib_email_sendpasswordresetemail", "label": "sendPasswordResetEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L216"}, {"id": "lib_email_sendquestioncreatedemail", "label": "sendQuestionCreatedEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L232"}, {"id": "lib_email_sendquestionreplyemail", "label": "sendQuestionReplyEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L253"}, {"id": "lib_email_sendquestionfollowupemail", "label": "sendQuestionFollowUpEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L274"}, {"id": "lib_email_sendhomeworkupdatedemail", "label": "sendHomeworkUpdatedEmail()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L295"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "resend", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_settings_getsetting", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_getresend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_getschoolname", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_base", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L16", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_btn", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L82", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L92", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendcourseaccessemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L104", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendhomeworksubmittedemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L119", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendfeedbackreceivedemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L140", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendwelcomeemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L162", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendtestemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L177", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendaccessemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L193", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendpasswordresetemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L216", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendquestioncreatedemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L232", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendquestionreplyemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L253", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendquestionfollowupemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L274", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "target": "lib_email_sendhomeworkupdatedemail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L295", "weight": 1.0}, {"source": "lib_email_sendcourseaccessemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L105", "weight": 1.0}, {"source": "lib_email_sendcourseaccessemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L106", "weight": 1.0}, {"source": "lib_email_sendcourseaccessemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L110", "weight": 1.0}, {"source": "lib_email_sendcourseaccessemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L114", "weight": 1.0}, {"source": "lib_email_sendhomeworksubmittedemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L126", "weight": 1.0}, {"source": "lib_email_sendhomeworksubmittedemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L127", "weight": 1.0}, {"source": "lib_email_sendhomeworksubmittedemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L131", "weight": 1.0}, {"source": "lib_email_sendhomeworksubmittedemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L135", "weight": 1.0}, {"source": "lib_email_sendfeedbackreceivedemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L147", "weight": 1.0}, {"source": "lib_email_sendfeedbackreceivedemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L148", "weight": 1.0}, {"source": "lib_email_sendfeedbackreceivedemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L152", "weight": 1.0}, {"source": "lib_email_sendfeedbackreceivedemail", "target": "lib_email_quote", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L155", "weight": 1.0}, {"source": "lib_email_sendfeedbackreceivedemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L157", "weight": 1.0}, {"source": "lib_email_sendwelcomeemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L163", "weight": 1.0}, {"source": "lib_email_sendwelcomeemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L164", "weight": 1.0}, {"source": "lib_email_sendwelcomeemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L168", "weight": 1.0}, {"source": "lib_email_sendwelcomeemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L172", "weight": 1.0}, {"source": "lib_email_sendtestemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L178", "weight": 1.0}, {"source": "lib_email_sendtestemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L179", "weight": 1.0}, {"source": "lib_email_sendtestemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L183", "weight": 1.0}, {"source": "lib_email_sendtestemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L188", "weight": 1.0}, {"source": "lib_email_sendaccessemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L199", "weight": 1.0}, {"source": "lib_email_sendaccessemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L200", "weight": 1.0}, {"source": "lib_email_sendaccessemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L204", "weight": 1.0}, {"source": "lib_email_sendaccessemail", "target": "lib_email_quote", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L208", "weight": 1.0}, {"source": "lib_email_sendaccessemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L211", "weight": 1.0}, {"source": "lib_email_sendpasswordresetemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L217", "weight": 1.0}, {"source": "lib_email_sendpasswordresetemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L218", "weight": 1.0}, {"source": "lib_email_sendpasswordresetemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L222", "weight": 1.0}, {"source": "lib_email_sendpasswordresetemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L227", "weight": 1.0}, {"source": "lib_email_sendquestioncreatedemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L238", "weight": 1.0}, {"source": "lib_email_sendquestioncreatedemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L239", "weight": 1.0}, {"source": "lib_email_sendquestioncreatedemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L243", "weight": 1.0}, {"source": "lib_email_sendquestioncreatedemail", "target": "lib_email_quote", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L246", "weight": 1.0}, {"source": "lib_email_sendquestioncreatedemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L248", "weight": 1.0}, {"source": "lib_email_sendquestionreplyemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L259", "weight": 1.0}, {"source": "lib_email_sendquestionreplyemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L260", "weight": 1.0}, {"source": "lib_email_sendquestionreplyemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L264", "weight": 1.0}, {"source": "lib_email_sendquestionreplyemail", "target": "lib_email_quote", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L267", "weight": 1.0}, {"source": "lib_email_sendquestionreplyemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L269", "weight": 1.0}, {"source": "lib_email_sendquestionfollowupemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L280", "weight": 1.0}, {"source": "lib_email_sendquestionfollowupemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L281", "weight": 1.0}, {"source": "lib_email_sendquestionfollowupemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L285", "weight": 1.0}, {"source": "lib_email_sendquestionfollowupemail", "target": "lib_email_quote", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L288", "weight": 1.0}, {"source": "lib_email_sendquestionfollowupemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L290", "weight": 1.0}, {"source": "lib_email_sendhomeworkupdatedemail", "target": "lib_email_getschoolname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L302", "weight": 1.0}, {"source": "lib_email_sendhomeworkupdatedemail", "target": "lib_email_getresend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L303", "weight": 1.0}, {"source": "lib_email_sendhomeworkupdatedemail", "target": "lib_email_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L307", "weight": 1.0}, {"source": "lib_email_sendhomeworkupdatedemail", "target": "lib_email_btn", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L311", "weight": 1.0}], "raw_calls": [{"caller_nid": "lib_email_getschoolname", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L11"}, {"caller_nid": "lib_email_quote", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L96"}, {"caller_nid": "lib_email_sendcourseaccessemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L106"}, {"caller_nid": "lib_email_sendcourseaccessemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L106"}, {"caller_nid": "lib_email_sendhomeworksubmittedemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L127"}, {"caller_nid": "lib_email_sendhomeworksubmittedemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L127"}, {"caller_nid": "lib_email_sendfeedbackreceivedemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L148"}, {"caller_nid": "lib_email_sendfeedbackreceivedemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L148"}, {"caller_nid": "lib_email_sendwelcomeemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L164"}, {"caller_nid": "lib_email_sendwelcomeemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L164"}, {"caller_nid": "lib_email_sendtestemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L179"}, {"caller_nid": "lib_email_sendtestemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L179"}, {"caller_nid": "lib_email_sendaccessemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L200"}, {"caller_nid": "lib_email_sendaccessemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L200"}, {"caller_nid": "lib_email_sendpasswordresetemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L218"}, {"caller_nid": "lib_email_sendpasswordresetemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L218"}, {"caller_nid": "lib_email_sendquestioncreatedemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L239"}, {"caller_nid": "lib_email_sendquestioncreatedemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L239"}, {"caller_nid": "lib_email_sendquestionreplyemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L260"}, {"caller_nid": "lib_email_sendquestionreplyemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L260"}, {"caller_nid": "lib_email_sendquestionfollowupemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L281"}, {"caller_nid": "lib_email_sendquestionfollowupemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L281"}, {"caller_nid": "lib_email_sendhomeworkupdatedemail", "callee": "catch", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L303"}, {"caller_nid": "lib_email_sendhomeworkupdatedemail", "callee": "send", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts", "source_location": "L303"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/f49527982fad95c460b56179418ca6c6fc89c128e4e99c6813045383fd945cf7.json b/graphify-out/cache/ast/f49527982fad95c460b56179418ca6c6fc89c128e4e99c6813045383fd945cf7.json
new file mode 100644
index 0000000..3531b25
--- /dev/null
+++ b/graphify-out/cache/ast/f49527982fad95c460b56179418ca6c6fc89c128e4e99c6813045383fd945cf7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_route_ts", "label": "route.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L1"}, {"id": "id_route_get", "label": "GET()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L6"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_route_ts", "target": "server", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_route_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L2", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_route_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_route_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_route_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_api_questions_id_route_ts", "target": "id_route_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "id_route_get", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L10"}, {"caller_nid": "id_route_get", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L10"}, {"caller_nid": "id_route_get", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L11"}, {"caller_nid": "id_route_get", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L16"}, {"caller_nid": "id_route_get", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L28"}, {"caller_nid": "id_route_get", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L30"}, {"caller_nid": "id_route_get", "callee": "updateMany", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L38"}, {"caller_nid": "id_route_get", "callee": "json", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts", "source_location": "L43"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/f62c2eb223051897932ea716cde6a1f7cd5361086815c99e03c0cb151cd1ab0f.json b/graphify-out/cache/ast/f62c2eb223051897932ea716cde6a1f7cd5361086815c99e03c0cb151cd1ab0f.json
new file mode 100644
index 0000000..247f513
--- /dev/null
+++ b/graphify-out/cache/ast/f62c2eb223051897932ea716cde6a1f7cd5361086815c99e03c0cb151cd1ab0f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_delete_button_tsx", "label": "delete-button.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx", "source_location": "L1"}, {"id": "submissionid_delete_button_deletesubmissionbutton", "label": "DeleteSubmissionButton()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx", "source_location": "L7"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_delete_button_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_delete_button_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_delete_button_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_delete_button_tsx", "target": "submissionid_actions_deletesubmission", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_delete_button_tsx", "target": "submissionid_delete_button_deletesubmissionbutton", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx", "source_location": "L7", "weight": 1.0}], "raw_calls": [{"caller_nid": "submissionid_delete_button_deletesubmissionbutton", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx", "source_location": "L14"}, {"caller_nid": "submissionid_delete_button_deletesubmissionbutton", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx", "source_location": "L15"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/f88ff33bc36f729fb00838aeb4955a7b25a1101fc4b86d17b25f4d7d45f03e78.json b/graphify-out/cache/ast/f88ff33bc36f729fb00838aeb4955a7b25a1101fc4b86d17b25f4d7d45f03e78.json
new file mode 100644
index 0000000..304984c
--- /dev/null
+++ b/graphify-out/cache/ast/f88ff33bc36f729fb00838aeb4955a7b25a1101fc4b86d17b25f4d7d45f03e78.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "label": "lesson-editor.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L1"}, {"id": "admin_lesson_editor_lessondata", "label": "LessonData", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L13"}, {"id": "admin_lesson_editor_siblinglesson", "label": "SiblingLesson", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L21"}, {"id": "admin_lesson_editor_lessoneditor", "label": "LessonEditor()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L26"}, {"id": "admin_lesson_editor_sep", "label": "Sep()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L376"}, {"id": "admin_lesson_editor_toolbtn", "label": "ToolBtn()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L380"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "starter_kit", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "extension_image", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "extension_link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "extension_underline", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "extension_placeholder", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L11", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "admin_lesson_editor_lessondata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L13", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "admin_lesson_editor_siblinglesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "admin_lesson_editor_lessoneditor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L26", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "admin_lesson_editor_sep", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L376", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_lesson_editor_tsx", "target": "admin_lesson_editor_toolbtn", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L380", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useRouter", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L41"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L42"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L43"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L44"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L45"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L46"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L47"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L48"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L49"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L50"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useEditor", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L62"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "configure", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L66"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "configure", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L67"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "configure", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L68"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "keys", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L70"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useCallback", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L78"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useCallback", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L96"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "useCallback", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L124"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L332"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L333"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L334"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L335"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L336"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L341"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L342"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L343"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L348"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L349"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L350"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L351"}, {"caller_nid": "admin_lesson_editor_lessoneditor", "callee": "isActive", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx", "source_location": "L357"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/f93975ede196557eb3ec74f1cc231a62c31e5220588d69fee44e8da21be94abf.json b/graphify-out/cache/ast/f93975ede196557eb3ec74f1cc231a62c31e5220588d69fee44e8da21be94abf.json
new file mode 100644
index 0000000..b1ef0ab
--- /dev/null
+++ b/graphify-out/cache/ast/f93975ede196557eb3ec74f1cc231a62c31e5220588d69fee44e8da21be94abf.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "label": "sortable-lessons.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L1"}, {"id": "admin_sortable_lessons_lesson", "label": "Lesson", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L30"}, {"id": "admin_sortable_lessons_othermodule", "label": "OtherModule", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L38"}, {"id": "admin_sortable_lessons_sortablelesson", "label": "SortableLesson()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L43"}, {"id": "admin_sortable_lessons_sortablelessons", "label": "SortableLessons()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L215"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "core", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "sortable", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L12", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "utilities", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "link", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L19", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "lucide_react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L20", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "users_dementiy_documents_claude_lms_system_src_lib_actions_module_actions_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "actions_module_actions_createlesson", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "actions_module_actions_deletelesson", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "actions_module_actions_updatelesson", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "actions_module_actions_reorderlessons", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "actions_module_actions_togglelessonpublished", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "actions_module_actions_movelessontomodule", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L21", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "admin_sortable_lessons_lesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L30", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "admin_sortable_lessons_othermodule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L38", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "admin_sortable_lessons_sortablelesson", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L43", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_sortable_lessons_tsx", "target": "admin_sortable_lessons_sortablelessons", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L215", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_sortable_lessons_sortablelesson", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L54"}, {"caller_nid": "admin_sortable_lessons_sortablelesson", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L55"}, {"caller_nid": "admin_sortable_lessons_sortablelesson", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L56"}, {"caller_nid": "admin_sortable_lessons_sortablelesson", "callee": "useSortable", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L58"}, {"caller_nid": "admin_sortable_lessons_sortablelesson", "callee": "toString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L61"}, {"caller_nid": "admin_sortable_lessons_sortablelesson", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L193"}, {"caller_nid": "admin_sortable_lessons_sortablelessons", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L226"}, {"caller_nid": "admin_sortable_lessons_sortablelessons", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L227"}, {"caller_nid": "admin_sortable_lessons_sortablelessons", "callee": "useSensors", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L229"}, {"caller_nid": "admin_sortable_lessons_sortablelessons", "callee": "useSensor", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L229"}, {"caller_nid": "admin_sortable_lessons_sortablelessons", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L251"}, {"caller_nid": "admin_sortable_lessons_sortablelessons", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx", "source_location": "L252"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/fa905c5817c688d90c2ab489a01a63241148d5fe12e16a84c06b510e7d633ac7.json b/graphify-out/cache/ast/fa905c5817c688d90c2ab489a01a63241148d5fe12e16a84c06b510e7d633ac7.json
new file mode 100644
index 0000000..fa9cb1e
--- /dev/null
+++ b/graphify-out/cache/ast/fa905c5817c688d90c2ab489a01a63241148d5fe12e16a84c06b510e7d633ac7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L1"}, {"id": "submissionid_actions_requirecurator", "label": "requireCurator()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L10"}, {"id": "submissionid_actions_submitfeedback", "label": "submitFeedback()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L18"}, {"id": "submissionid_actions_setreviewing", "label": "setReviewing()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L101"}, {"id": "submissionid_actions_deletesubmission", "label": "deleteSubmission()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L111"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_email_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "lib_email_sendfeedbackreceivedemail", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_settings_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "lib_settings_getsetting", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "lib_settings_asbool", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L8", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "submissionid_actions_requirecurator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L10", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "submissionid_actions_submitfeedback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L18", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "submissionid_actions_setreviewing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L101", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_curator_homework_submissionid_actions_ts", "target": "submissionid_actions_deletesubmission", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L111", "weight": 1.0}, {"source": "submissionid_actions_submitfeedback", "target": "submissionid_actions_requirecurator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L27", "weight": 1.0}, {"source": "submissionid_actions_setreviewing", "target": "submissionid_actions_requirecurator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L102", "weight": 1.0}, {"source": "submissionid_actions_deletesubmission", "target": "submissionid_actions_requirecurator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L112", "weight": 1.0}], "raw_calls": [{"caller_nid": "submissionid_actions_requirecurator", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L11"}, {"caller_nid": "submissionid_actions_requirecurator", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L11"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "findUnique", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L30"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "$transaction", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L50"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "getSetting", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L82"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "asBool", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L83"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "sendFeedbackReceivedEmail", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L85"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L94"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L95"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L96"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L97"}, {"caller_nid": "submissionid_actions_submitfeedback", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L98"}, {"caller_nid": "submissionid_actions_setreviewing", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L103"}, {"caller_nid": "submissionid_actions_setreviewing", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L107"}, {"caller_nid": "submissionid_actions_setreviewing", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L108"}, {"caller_nid": "submissionid_actions_deletesubmission", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L113"}, {"caller_nid": "submissionid_actions_deletesubmission", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts", "source_location": "L114"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/fe2df6545498d39ddd77306d03a77dc97a2487914123543a13852d77a1dd504d.json b/graphify-out/cache/ast/fe2df6545498d39ddd77306d03a77dc97a2487914123543a13852d77a1dd504d.json
new file mode 100644
index 0000000..8e42471
--- /dev/null
+++ b/graphify-out/cache/ast/fe2df6545498d39ddd77306d03a77dc97a2487914123543a13852d77a1dd504d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_components_admin_quick_enroll_modal_tsx", "label": "quick-enroll-modal.tsx", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L1"}, {"id": "admin_quick_enroll_modal_course", "label": "Course", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L6"}, {"id": "admin_quick_enroll_modal_props", "label": "Props", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L11"}, {"id": "admin_quick_enroll_modal_quickenrollbutton", "label": "QuickEnrollButton()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L16"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quick_enroll_modal_tsx", "target": "react", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quick_enroll_modal_tsx", "target": "users_dementiy_documents_claude_lms_system_src_app_admin_users_enroll_action_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quick_enroll_modal_tsx", "target": "users_enroll_action_grantcourseaccess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quick_enroll_modal_tsx", "target": "users_enroll_action_getpublishedcourses", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quick_enroll_modal_tsx", "target": "admin_quick_enroll_modal_course", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quick_enroll_modal_tsx", "target": "admin_quick_enroll_modal_props", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L11", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_components_admin_quick_enroll_modal_tsx", "target": "admin_quick_enroll_modal_quickenrollbutton", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L16", "weight": 1.0}], "raw_calls": [{"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L17"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L18"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L19"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L20"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L21"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L22"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useState", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L23"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useTransition", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L24"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useRef", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L25"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useEffect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L28"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "useEffect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L40"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "map", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L172"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "slice", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L194"}, {"caller_nid": "admin_quick_enroll_modal_quickenrollbutton", "callee": "toISOString", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx", "source_location": "L194"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/ast/ff8bd4cb20da2516b1d05a7844c84ae6a9d4c61fbb9dbe09514e907bdc8ea04d.json b/graphify-out/cache/ast/ff8bd4cb20da2516b1d05a7844c84ae6a9d4c61fbb9dbe09514e907bdc8ea04d.json
new file mode 100644
index 0000000..cb811dd
--- /dev/null
+++ b/graphify-out/cache/ast/ff8bd4cb20da2516b1d05a7844c84ae6a9d4c61fbb9dbe09514e907bdc8ea04d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "label": "actions.ts", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L1"}, {"id": "courses_actions_requireadmin", "label": "requireAdmin()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L9"}, {"id": "courses_actions_slugify", "label": "slugify()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L14"}, {"id": "courses_actions_createcourse", "label": "createCourse()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L26"}, {"id": "courses_actions_updatecourse", "label": "updateCourse()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L40"}, {"id": "courses_actions_deletecourse", "label": "deleteCourse()", "file_type": "code", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L59"}], "edges": [{"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_prisma_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "lib_prisma_prisma", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L3", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "headers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L4", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "users_dementiy_documents_claude_lms_system_src_lib_auth_ts", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "lib_auth_auth", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L5", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "navigation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L6", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "cache", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L7", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "courses_actions_requireadmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L9", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "courses_actions_slugify", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L14", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "courses_actions_createcourse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L26", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "courses_actions_updatecourse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L40", "weight": 1.0}, {"source": "users_dementiy_documents_claude_lms_system_src_app_admin_courses_actions_ts", "target": "courses_actions_deletecourse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L59", "weight": 1.0}, {"source": "courses_actions_createcourse", "target": "courses_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L27", "weight": 1.0}, {"source": "courses_actions_createcourse", "target": "courses_actions_slugify", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L29", "weight": 1.0}, {"source": "courses_actions_updatecourse", "target": "courses_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L41", "weight": 1.0}, {"source": "courses_actions_deletecourse", "target": "courses_actions_requireadmin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L60", "weight": 1.0}], "raw_calls": [{"caller_nid": "courses_actions_requireadmin", "callee": "getSession", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L10"}, {"caller_nid": "courses_actions_requireadmin", "callee": "headers", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L10"}, {"caller_nid": "courses_actions_slugify", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L20"}, {"caller_nid": "courses_actions_slugify", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L20"}, {"caller_nid": "courses_actions_slugify", "callee": "replace", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L20"}, {"caller_nid": "courses_actions_slugify", "callee": "toLowerCase", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L20"}, {"caller_nid": "courses_actions_createcourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L28"}, {"caller_nid": "courses_actions_createcourse", "callee": "trim", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L29"}, {"caller_nid": "courses_actions_createcourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L29"}, {"caller_nid": "courses_actions_createcourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L30"}, {"caller_nid": "courses_actions_createcourse", "callee": "create", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L32"}, {"caller_nid": "courses_actions_createcourse", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L36"}, {"caller_nid": "courses_actions_createcourse", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L37"}, {"caller_nid": "courses_actions_updatecourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L42"}, {"caller_nid": "courses_actions_updatecourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L43"}, {"caller_nid": "courses_actions_updatecourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L44"}, {"caller_nid": "courses_actions_updatecourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L45"}, {"caller_nid": "courses_actions_updatecourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L46"}, {"caller_nid": "courses_actions_updatecourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L47"}, {"caller_nid": "courses_actions_updatecourse", "callee": "get", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L48"}, {"caller_nid": "courses_actions_updatecourse", "callee": "update", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L50"}, {"caller_nid": "courses_actions_updatecourse", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L55"}, {"caller_nid": "courses_actions_updatecourse", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L56"}, {"caller_nid": "courses_actions_deletecourse", "callee": "delete", "is_member_call": true, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L61"}, {"caller_nid": "courses_actions_deletecourse", "callee": "revalidatePath", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L62"}, {"caller_nid": "courses_actions_deletecourse", "callee": "redirect", "is_member_call": false, "source_file": "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts", "source_location": "L63"}]}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/021167f20a006840db24ce705a6502e32768c314b6b4d16101064e93211a3603.json b/graphify-out/cache/semantic/021167f20a006840db24ce705a6502e32768c314b6b4d16101064e93211a3603.json
new file mode 100644
index 0000000..8d4f1c1
--- /dev/null
+++ b/graphify-out/cache/semantic/021167f20a006840db24ce705a6502e32768c314b6b4d16101064e93211a3603.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "user_actions_bulkgrantaccess", "label": "bulkGrantAccess", "file_type": "code", "source_file": "src/lib/actions/user-actions.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/022cdb24302b285153751915110368fce63ca691bc3bdf049a90c22b7270d1d7.json b/graphify-out/cache/semantic/022cdb24302b285153751915110368fce63ca691bc3bdf049a90c22b7270d1d7.json
new file mode 100644
index 0000000..deb68de
--- /dev/null
+++ b/graphify-out/cache/semantic/022cdb24302b285153751915110368fce63ca691bc3bdf049a90c22b7270d1d7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "logout_button_logoutbutton", "label": "LogoutButton", "file_type": "code", "source_file": "src/components/layout/logout-button.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/02ecf5b0b3f72c5c37d6d6d0d3b3a67f75d254c4f3bd5df67d45b30c296d233e.json b/graphify-out/cache/semantic/02ecf5b0b3f72c5c37d6d6d0d3b3a67f75d254c4f3bd5df67d45b30c296d233e.json
new file mode 100644
index 0000000..47d14aa
--- /dev/null
+++ b/graphify-out/cache/semantic/02ecf5b0b3f72c5c37d6d6d0d3b3a67f75d254c4f3bd5df67d45b30c296d233e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "prisma_config_ts", "label": "Prisma Config", "file_type": "code", "source_file": "prisma.config.ts"}], "edges": [{"source": "prisma_config_ts", "target": "prisma_schema", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "prisma.config.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/04343e2179644ab3b46e3c2613291521c1ccd347fee29e20a883f9f3cad758cd.json b/graphify-out/cache/semantic/04343e2179644ab3b46e3c2613291521c1ccd347fee29e20a883f9f3cad758cd.json
new file mode 100644
index 0000000..8aa41bd
--- /dev/null
+++ b/graphify-out/cache/semantic/04343e2179644ab3b46e3c2613291521c1ccd347fee29e20a883f9f3cad758cd.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "enrollment_manager_enrollmentmanager", "label": "EnrollmentManager", "file_type": "code", "source_file": "src/components/admin/enrollment-manager.tsx"}], "edges": [{"source": "enrollment_manager_enrollmentmanager", "target": "course_actions_grantaccess", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/components/admin/enrollment-manager.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/0c32d32204668401137b8fb047f4153869e9d3a9fe9d7809854ddb082d3dcc60.json b/graphify-out/cache/semantic/0c32d32204668401137b8fb047f4153869e9d3a9fe9d7809854ddb082d3dcc60.json
new file mode 100644
index 0000000..eca5e86
--- /dev/null
+++ b/graphify-out/cache/semantic/0c32d32204668401137b8fb047f4153869e9d3a9fe9d7809854ddb082d3dcc60.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "admin_lesson_actions_createlesson", "label": "Create Lesson Action", "file_type": "code", "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts"}], "edges": [{"source": "admin_lesson_actions_createlesson", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/0da96d45910137be7e105f88b9677cb18aef4c95457fe59da59982aacfcc43ec.json b/graphify-out/cache/semantic/0da96d45910137be7e105f88b9677cb18aef4c95457fe59da59982aacfcc43ec.json
new file mode 100644
index 0000000..8cda94b
--- /dev/null
+++ b/graphify-out/cache/semantic/0da96d45910137be7e105f88b9677cb18aef4c95457fe59da59982aacfcc43ec.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "course_edit_form_courseeditform", "label": "CourseEditForm", "file_type": "code", "source_file": "src/components/admin/course-edit-form.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/0f3aa0ce9310d1402f7ae75b5d9c4bb3007b7a2cb277414688e9ff762041184b.json b/graphify-out/cache/semantic/0f3aa0ce9310d1402f7ae75b5d9c4bb3007b7a2cb277414688e9ff762041184b.json
new file mode 100644
index 0000000..8babdb1
--- /dev/null
+++ b/graphify-out/cache/semantic/0f3aa0ce9310d1402f7ae75b5d9c4bb3007b7a2cb277414688e9ff762041184b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "import_actions_parsecsv", "label": "Parse CSV Action", "file_type": "code", "source_file": "src/app/admin/import-export/import-actions.ts"}, {"id": "import_actions_applyimport", "label": "Apply Import Action", "file_type": "code", "source_file": "src/app/admin/import-export/import-actions.ts"}], "edges": [{"source": "import_actions_applyimport", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/admin/import-export/import-actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/10e54d7af2aa0b69e37ba51b4b89d7c25788c59bb97a62f78c0121647a2f84e5.json b/graphify-out/cache/semantic/10e54d7af2aa0b69e37ba51b4b89d7c25788c59bb97a62f78c0121647a2f84e5.json
new file mode 100644
index 0000000..1f66079
--- /dev/null
+++ b/graphify-out/cache/semantic/10e54d7af2aa0b69e37ba51b4b89d7c25788c59bb97a62f78c0121647a2f84e5.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "tsconfig_json", "label": "TypeScript Config", "file_type": "code", "source_file": "tsconfig.json"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/1ba149e305cc9158e0f60db9117d57d3b8ad1adaf1f5d72a70c9c518720f0e1a.json b/graphify-out/cache/semantic/1ba149e305cc9158e0f60db9117d57d3b8ad1adaf1f5d72a70c9c518720f0e1a.json
new file mode 100644
index 0000000..0bb7890
--- /dev/null
+++ b/graphify-out/cache/semantic/1ba149e305cc9158e0f60db9117d57d3b8ad1adaf1f5d72a70c9c518720f0e1a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "homework_filters_homeworkfilters", "label": "HomeworkFilters", "file_type": "code", "source_file": "src/components/admin/homework-filters.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/1bbc7aea73f56d8b0f0c5f3a8a8f021a1ed5c014dc6675dae20117c206ffd194.json b/graphify-out/cache/semantic/1bbc7aea73f56d8b0f0c5f3a8a8f021a1ed5c014dc6675dae20117c206ffd194.json
new file mode 100644
index 0000000..8ba8da1
--- /dev/null
+++ b/graphify-out/cache/semantic/1bbc7aea73f56d8b0f0c5f3a8a8f021a1ed5c014dc6675dae20117c206ffd194.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "module_actions_createlesson", "label": "createLesson", "file_type": "code", "source_file": "src/lib/actions/module-actions.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/1caa5a15d5c950aef103a4e9928c79490e95dc0a707c01380f24419a72c151af.json b/graphify-out/cache/semantic/1caa5a15d5c950aef103a4e9928c79490e95dc0a707c01380f24419a72c151af.json
new file mode 100644
index 0000000..7f6148b
--- /dev/null
+++ b/graphify-out/cache/semantic/1caa5a15d5c950aef103a4e9928c79490e95dc0a707c01380f24419a72c151af.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "quiz_actions_savequiz", "label": "saveQuiz", "file_type": "code", "source_file": "src/lib/actions/quiz-actions.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/1cb1b25c527b1a37771772b6a288a1c713c9579a0c8043f9a2bc7b1f725168a8.json b/graphify-out/cache/semantic/1cb1b25c527b1a37771772b6a288a1c713c9579a0c8043f9a2bc7b1f725168a8.json
new file mode 100644
index 0000000..67318ce
--- /dev/null
+++ b/graphify-out/cache/semantic/1cb1b25c527b1a37771772b6a288a1c713c9579a0c8043f9a2bc7b1f725168a8.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "md_to_tiptap_mdtotiptap", "label": "mdToTiptap", "file_type": "code", "source_file": "src/lib/md-to-tiptap.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/2246a3acc22908a3eb405ad6ec1605ad51cdf4b121f22fd5cd6030c496b5d4b2.json b/graphify-out/cache/semantic/2246a3acc22908a3eb405ad6ec1605ad51cdf4b121f22fd5cd6030c496b5d4b2.json
new file mode 100644
index 0000000..6c22156
--- /dev/null
+++ b/graphify-out/cache/semantic/2246a3acc22908a3eb405ad6ec1605ad51cdf4b121f22fd5cd6030c496b5d4b2.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "postcss_config_mjs", "label": "PostCSS Config", "file_type": "code", "source_file": "postcss.config.mjs"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/25ddf413995ba949205b7fa901abb438895d5a496da8aa48b3d723e394de3b4c.json b/graphify-out/cache/semantic/25ddf413995ba949205b7fa901abb438895d5a496da8aa48b3d723e394de3b4c.json
new file mode 100644
index 0000000..37822e2
--- /dev/null
+++ b/graphify-out/cache/semantic/25ddf413995ba949205b7fa901abb438895d5a496da8aa48b3d723e394de3b4c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lib_prisma_ts", "label": "Prisma Client Singleton", "file_type": "code", "source_file": "src/lib/prisma.ts"}, {"id": "prisma_client", "label": "Prisma Client", "file_type": "code", "source_file": "src/lib/prisma.ts"}, {"id": "prisma_prisma", "label": "Prisma Client", "file_type": "code", "source_file": "src/lib/prisma.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/25e2109e7b2ad2a726b3b2fadf68bbcbe61628cdf08d4d9098faefe7b6ede371.json b/graphify-out/cache/semantic/25e2109e7b2ad2a726b3b2fadf68bbcbe61628cdf08d4d9098faefe7b6ede371.json
new file mode 100644
index 0000000..a56c18c
--- /dev/null
+++ b/graphify-out/cache/semantic/25e2109e7b2ad2a726b3b2fadf68bbcbe61628cdf08d4d9098faefe7b6ede371.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "profile_actions_changepasswordaction", "label": "Change Password Action", "file_type": "code", "source_file": "src/app/(student)/profile/actions.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/2b3dadf657829c44fdc4e7238a0ceafb002cd8366ad1d22cfc6e6fff43bbed71.json b/graphify-out/cache/semantic/2b3dadf657829c44fdc4e7238a0ceafb002cd8366ad1d22cfc6e6fff43bbed71.json
new file mode 100644
index 0000000..7c4509e
--- /dev/null
+++ b/graphify-out/cache/semantic/2b3dadf657829c44fdc4e7238a0ceafb002cd8366ad1d22cfc6e6fff43bbed71.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "package_json", "label": "Package Manifest", "file_type": "code", "source_file": "package.json"}], "edges": [{"source": "package_json", "target": "next_config_ts", "relation": "references", "confidence": "INFERRED", "confidence_score": 1.0, "source_file": "package.json"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/2fb2b3e13bff03c8f1de2d3fe96b73fa3bc4f1c737a3039b0e76d17731863f42.json b/graphify-out/cache/semantic/2fb2b3e13bff03c8f1de2d3fe96b73fa3bc4f1c737a3039b0e76d17731863f42.json
new file mode 100644
index 0000000..da89630
--- /dev/null
+++ b/graphify-out/cache/semantic/2fb2b3e13bff03c8f1de2d3fe96b73fa3bc4f1c737a3039b0e76d17731863f42.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lesson_actions_savelesson", "label": "saveLesson", "file_type": "code", "source_file": "src/lib/actions/lesson-actions.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/34671ec3a50559bbf5906f4435217f48b5271a9b5083486ceb8f46cdda00d34c.json b/graphify-out/cache/semantic/34671ec3a50559bbf5906f4435217f48b5271a9b5083486ceb8f46cdda00d34c.json
new file mode 100644
index 0000000..c6fd203
--- /dev/null
+++ b/graphify-out/cache/semantic/34671ec3a50559bbf5906f4435217f48b5271a9b5083486ceb8f46cdda00d34c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "prisma_schema", "label": "Prisma Schema", "file_type": "code", "source_file": "prisma/schema.prisma"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/357d80ab68915113f99cead784ba3dafd059a42166533d36aeee91fadfe70625.json b/graphify-out/cache/semantic/357d80ab68915113f99cead784ba3dafd059a42166533d36aeee91fadfe70625.json
new file mode 100644
index 0000000..79372ea
--- /dev/null
+++ b/graphify-out/cache/semantic/357d80ab68915113f99cead784ba3dafd059a42166533d36aeee91fadfe70625.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "comments_table_commentstable", "label": "CommentsTable", "file_type": "code", "source_file": "src/components/admin/comments-table.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/46003202b5e95e142a58d7951558696a27481be348307cf5f81cbc7780fb21d1.json b/graphify-out/cache/semantic/46003202b5e95e142a58d7951558696a27481be348307cf5f81cbc7780fb21d1.json
new file mode 100644
index 0000000..2242d09
--- /dev/null
+++ b/graphify-out/cache/semantic/46003202b5e95e142a58d7951558696a27481be348307cf5f81cbc7780fb21d1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "student_homework_actions", "label": "Homework Submission Actions", "file_type": "code", "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts"}], "edges": [{"source": "student_homework_actions", "target": "lib_email_ts", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/4929bee18700fc70a3a844bf9c0012d1cb5d4694d00fa6cf8051696374790d91.json b/graphify-out/cache/semantic/4929bee18700fc70a3a844bf9c0012d1cb5d4694d00fa6cf8051696374790d91.json
new file mode 100644
index 0000000..ffe8395
--- /dev/null
+++ b/graphify-out/cache/semantic/4929bee18700fc70a3a844bf9c0012d1cb5d4694d00fa6cf8051696374790d91.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "user_enrollment_manager_userenrollmentmanager", "label": "UserEnrollmentManager", "file_type": "code", "source_file": "src/components/admin/user-enrollment-manager.tsx"}], "edges": [{"source": "user_enrollment_manager_userenrollmentmanager", "target": "user_actions_bulkgrantaccess", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/components/admin/user-enrollment-manager.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/4a5f3b0cd3feb919de925a97e2aa7227f20a4fb7924e51f7f2951c8ae496e443.json b/graphify-out/cache/semantic/4a5f3b0cd3feb919de925a97e2aa7227f20a4fb7924e51f7f2951c8ae496e443.json
new file mode 100644
index 0000000..e782d7e
--- /dev/null
+++ b/graphify-out/cache/semantic/4a5f3b0cd3feb919de925a97e2aa7227f20a4fb7924e51f7f2951c8ae496e443.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "admin_users_actions_createuser", "label": "Create User Action", "file_type": "code", "source_file": "src/app/admin/users/actions.ts"}], "edges": [{"source": "admin_users_actions_createuser", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/admin/users/actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/5209fec417fa2d7245f824308ae6be28e044ad4c84cca9ac90d6767d916a484d.json b/graphify-out/cache/semantic/5209fec417fa2d7245f824308ae6be28e044ad4c84cca9ac90d6767d916a484d.json
new file mode 100644
index 0000000..0fb3db7
--- /dev/null
+++ b/graphify-out/cache/semantic/5209fec417fa2d7245f824308ae6be28e044ad4c84cca9ac90d6767d916a484d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "s3_s3", "label": "S3 Client", "file_type": "code", "source_file": "src/lib/s3.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/55b809c33fe5ddca90067ee517882ac30a8e5df3729438d0c850412523798d48.json b/graphify-out/cache/semantic/55b809c33fe5ddca90067ee517882ac30a8e5df3729438d0c850412523798d48.json
new file mode 100644
index 0000000..81ea6b7
--- /dev/null
+++ b/graphify-out/cache/semantic/55b809c33fe5ddca90067ee517882ac30a8e5df3729438d0c850412523798d48.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "admin_shell_adminshell", "label": "AdminShell", "file_type": "code", "source_file": "src/components/admin/admin-shell.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/58054f9557d36dceee71200a58b7760a750d63b0a2b8b8bfb5d707a410ea7f51.json b/graphify-out/cache/semantic/58054f9557d36dceee71200a58b7760a750d63b0a2b8b8bfb5d707a410ea7f51.json
new file mode 100644
index 0000000..0f49028
--- /dev/null
+++ b/graphify-out/cache/semantic/58054f9557d36dceee71200a58b7760a750d63b0a2b8b8bfb5d707a410ea7f51.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "roadmap_md", "label": "Project Roadmap", "file_type": "document", "source_file": "ROADMAP.md"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/60ec2b28899d7f6af041219dbd060464761ed0279c944eb266a62fe456119598.json b/graphify-out/cache/semantic/60ec2b28899d7f6af041219dbd060464761ed0279c944eb266a62fe456119598.json
new file mode 100644
index 0000000..11f77e6
--- /dev/null
+++ b/graphify-out/cache/semantic/60ec2b28899d7f6af041219dbd060464761ed0279c944eb266a62fe456119598.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "admin_user_detail_userpage", "label": "User Detail Page", "file_type": "code", "source_file": "src/app/admin/users/[userId]/page.tsx"}], "edges": [{"source": "admin_user_detail_userpage", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/admin/users/[userId]/page.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/77c3b0c17a484bcc23192ce3eb03c42fb71453e32b2c088b33a2a798bfcfd632.json b/graphify-out/cache/semantic/77c3b0c17a484bcc23192ce3eb03c42fb71453e32b2c088b33a2a798bfcfd632.json
new file mode 100644
index 0000000..c1b64bf
--- /dev/null
+++ b/graphify-out/cache/semantic/77c3b0c17a484bcc23192ce3eb03c42fb71453e32b2c088b33a2a798bfcfd632.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "admin_module_actions_createmodule", "label": "Create Module Action", "file_type": "code", "source_file": "src/app/admin/courses/[courseId]/actions.ts"}], "edges": [{"source": "admin_module_actions_createmodule", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/admin/courses/[courseId]/actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/7acf8e743597fc80a6c19871efd08defed48e47c53b5f8fc25a5d247c9b6406b.json b/graphify-out/cache/semantic/7acf8e743597fc80a6c19871efd08defed48e47c53b5f8fc25a5d247c9b6406b.json
new file mode 100644
index 0000000..9daaa8b
--- /dev/null
+++ b/graphify-out/cache/semantic/7acf8e743597fc80a6c19871efd08defed48e47c53b5f8fc25a5d247c9b6406b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "student_lesson_actions", "label": "Lesson Progress Actions", "file_type": "code", "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts"}], "edges": [{"source": "student_lesson_actions", "target": "lib_prisma_ts", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/7d58d0c3b03d76adc3cb3f6fcd41d18e3ad57b9f62637e85de372809d1678892.json b/graphify-out/cache/semantic/7d58d0c3b03d76adc3cb3f6fcd41d18e3ad57b9f62637e85de372809d1678892.json
new file mode 100644
index 0000000..45ba706
--- /dev/null
+++ b/graphify-out/cache/semantic/7d58d0c3b03d76adc3cb3f6fcd41d18e3ad57b9f62637e85de372809d1678892.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "admin_layout_adminlayout", "label": "Admin Layout", "file_type": "code", "source_file": "src/app/admin/layout.tsx"}], "edges": [{"source": "admin_layout_adminlayout", "target": "auth_lib", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/admin/layout.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/8397396d98dc05a4539408820bf9b5b3b21a05723620e200aa458988f77a7944.json b/graphify-out/cache/semantic/8397396d98dc05a4539408820bf9b5b3b21a05723620e200aa458988f77a7944.json
new file mode 100644
index 0000000..1d69d14
--- /dev/null
+++ b/graphify-out/cache/semantic/8397396d98dc05a4539408820bf9b5b3b21a05723620e200aa458988f77a7944.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "question_thread_questionthread", "label": "QuestionThread", "file_type": "code", "source_file": "src/components/questions/QuestionThread.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/8c2028215627d6196fb8200d22165ad246a817e7c46ddec79d35ed8d808a9f2b.json b/graphify-out/cache/semantic/8c2028215627d6196fb8200d22165ad246a817e7c46ddec79d35ed8d808a9f2b.json
new file mode 100644
index 0000000..2157c88
--- /dev/null
+++ b/graphify-out/cache/semantic/8c2028215627d6196fb8200d22165ad246a817e7c46ddec79d35ed8d808a9f2b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "audio_recorder_audiorecorder", "label": "AudioRecorder", "file_type": "code", "source_file": "src/components/curator/audio-recorder.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/8dadbfafec3e33ab8d01c2fe4863362ed3e1696f2f21428d673a870179049225.json b/graphify-out/cache/semantic/8dadbfafec3e33ab8d01c2fe4863362ed3e1696f2f21428d673a870179049225.json
new file mode 100644
index 0000000..98de31d
--- /dev/null
+++ b/graphify-out/cache/semantic/8dadbfafec3e33ab8d01c2fe4863362ed3e1696f2f21428d673a870179049225.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "agents_md", "label": "Agent Instructions", "file_type": "document", "source_file": "AGENTS.md"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/8e74f87b3c0cae858d5d7d56301decc7ef95096f6e92529597a73da71ed96295.json b/graphify-out/cache/semantic/8e74f87b3c0cae858d5d7d56301decc7ef95096f6e92529597a73da71ed96295.json
new file mode 100644
index 0000000..ce727e1
--- /dev/null
+++ b/graphify-out/cache/semantic/8e74f87b3c0cae858d5d7d56301decc7ef95096f6e92529597a73da71ed96295.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "next_config_ts", "label": "Next.js Config", "file_type": "code", "source_file": "next.config.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/937b4203afe76e45b941804f1ecddd490bc5395174fbbaa496f2070473472053.json b/graphify-out/cache/semantic/937b4203afe76e45b941804f1ecddd490bc5395174fbbaa496f2070473472053.json
new file mode 100644
index 0000000..1fb7b97
--- /dev/null
+++ b/graphify-out/cache/semantic/937b4203afe76e45b941804f1ecddd490bc5395174fbbaa496f2070473472053.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "claude_md", "label": "Claude Project Rules", "file_type": "document", "source_file": "CLAUDE.md"}], "edges": [{"source": "claude_md", "target": "roadmap_md", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "CLAUDE.md"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/95ec65e1c813d8552f35884bb9103708a14f62c7a27183de98315165759d3b55.json b/graphify-out/cache/semantic/95ec65e1c813d8552f35884bb9103708a14f62c7a27183de98315165759d3b55.json
new file mode 100644
index 0000000..f916eca
--- /dev/null
+++ b/graphify-out/cache/semantic/95ec65e1c813d8552f35884bb9103708a14f62c7a27183de98315165759d3b55.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "user_balance_block_userbalanceblock", "label": "UserBalanceBlock", "file_type": "code", "source_file": "src/components/admin/user-balance-block.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/9ac18ca57fbf2b1224f9c868e9830d4c719e1f2c604f5cc52305874caa0a4a8b.json b/graphify-out/cache/semantic/9ac18ca57fbf2b1224f9c868e9830d4c719e1f2c604f5cc52305874caa0a4a8b.json
new file mode 100644
index 0000000..e846f12
--- /dev/null
+++ b/graphify-out/cache/semantic/9ac18ca57fbf2b1224f9c868e9830d4c719e1f2c604f5cc52305874caa0a4a8b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lib_auth_ts", "label": "Better Auth Server Config", "file_type": "code", "source_file": "src/lib/auth.ts"}, {"id": "auth_lib", "label": "Auth Library", "file_type": "code", "source_file": "src/lib/auth.ts"}, {"id": "auth_auth", "label": "Better Auth", "file_type": "code", "source_file": "src/lib/auth.ts"}], "edges": [{"source": "auth_auth", "target": "email_senders", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/lib/auth.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/9cf5ec27f001abb934fdafa4b06f8103f41f00c9a203ab394b7f2e9fbe2b2ee9.json b/graphify-out/cache/semantic/9cf5ec27f001abb934fdafa4b06f8103f41f00c9a203ab394b7f2e9fbe2b2ee9.json
new file mode 100644
index 0000000..435d517
--- /dev/null
+++ b/graphify-out/cache/semantic/9cf5ec27f001abb934fdafa4b06f8103f41f00c9a203ab394b7f2e9fbe2b2ee9.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lesson_complete_button_lessoncompletebutton", "label": "LessonCompleteButton", "file_type": "code", "source_file": "src/components/student/lesson-complete-button.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/9cfffe1e50d7238aa88678f4fdfe98dc3512be99be5223b1193fb1782fe5a666.json b/graphify-out/cache/semantic/9cfffe1e50d7238aa88678f4fdfe98dc3512be99be5223b1193fb1782fe5a666.json
new file mode 100644
index 0000000..daece0c
--- /dev/null
+++ b/graphify-out/cache/semantic/9cfffe1e50d7238aa88678f4fdfe98dc3512be99be5223b1193fb1782fe5a666.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "homework_section_homeworksection", "label": "HomeworkSection", "file_type": "code", "source_file": "src/components/student/homework-section.tsx"}], "edges": [{"source": "homework_section_homeworksection", "target": "student_actions_submithomework", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/components/student/homework-section.tsx"}, {"source": "homework_section_homeworksection", "target": "audio_recorder_audiorecorder", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/components/student/homework-section.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/a04a3436d7edc30a372eba85d06c3da2cc5317f0968f98c74a11f732d85ac0f9.json b/graphify-out/cache/semantic/a04a3436d7edc30a372eba85d06c3da2cc5317f0968f98c74a11f732d85ac0f9.json
new file mode 100644
index 0000000..0aa09ed
--- /dev/null
+++ b/graphify-out/cache/semantic/a04a3436d7edc30a372eba85d06c3da2cc5317f0968f98c74a11f732d85ac0f9.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "content_viewer_contentviewer", "label": "ContentViewer", "file_type": "code", "source_file": "src/components/curator/content-viewer.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/a189471048b27777b36b386031224f8b7ca45e7d2058d318413a5acf0b4ad467.json b/graphify-out/cache/semantic/a189471048b27777b36b386031224f8b7ca45e7d2058d318413a5acf0b4ad467.json
new file mode 100644
index 0000000..3d04c85
--- /dev/null
+++ b/graphify-out/cache/semantic/a189471048b27777b36b386031224f8b7ca45e7d2058d318413a5acf0b4ad467.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "course_sidebar_coursesidebar", "label": "CourseSidebar", "file_type": "code", "source_file": "src/components/student/course-sidebar.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/a1e496662ca3e230d53c2fedab5123118cbeb29eb1d5268e5837ab03fea0b5ff.json b/graphify-out/cache/semantic/a1e496662ca3e230d53c2fedab5123118cbeb29eb1d5268e5837ab03fea0b5ff.json
new file mode 100644
index 0000000..f73ef90
--- /dev/null
+++ b/graphify-out/cache/semantic/a1e496662ca3e230d53c2fedab5123118cbeb29eb1d5268e5837ab03fea0b5ff.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "student_comment_actions", "label": "Lesson Comment Actions", "file_type": "code", "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts"}], "edges": [{"source": "student_comment_actions", "target": "lib_prisma_ts", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/a6263ba7b7f0f3e59a34161934166d0c866bc5d789b8fe7ced9b67dc11873f7c.json b/graphify-out/cache/semantic/a6263ba7b7f0f3e59a34161934166d0c866bc5d789b8fe7ced9b67dc11873f7c.json
new file mode 100644
index 0000000..9f68c21
--- /dev/null
+++ b/graphify-out/cache/semantic/a6263ba7b7f0f3e59a34161934166d0c866bc5d789b8fe7ced9b67dc11873f7c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "course_tree_coursetree", "label": "CourseTree", "file_type": "code", "source_file": "src/components/admin/course-tree.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/a633ab2f77e8876decb1c6ee176cbd2fa5ce6ea30c4e44e66665a37a7e527a18.json b/graphify-out/cache/semantic/a633ab2f77e8876decb1c6ee176cbd2fa5ce6ea30c4e44e66665a37a7e527a18.json
new file mode 100644
index 0000000..d4f161b
--- /dev/null
+++ b/graphify-out/cache/semantic/a633ab2f77e8876decb1c6ee176cbd2fa5ce6ea30c4e44e66665a37a7e527a18.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "load_test_js", "label": "Load Test (k6)", "file_type": "code", "source_file": "load-test.js"}], "edges": [{"source": "load_test_js", "target": "api_auth_signin", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.9, "source_file": "load-test.js"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/a8884b091aaceef1fed8165b025385fa79da768df105d82f6bdac21124585b4a.json b/graphify-out/cache/semantic/a8884b091aaceef1fed8165b025385fa79da768df105d82f6bdac21124585b4a.json
new file mode 100644
index 0000000..e300c4c
--- /dev/null
+++ b/graphify-out/cache/semantic/a8884b091aaceef1fed8165b025385fa79da768df105d82f6bdac21124585b4a.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "homework_editor_homeworkeditor", "label": "HomeworkEditor", "file_type": "code", "source_file": "src/components/admin/homework-editor.tsx"}], "edges": [{"source": "homework_editor_homeworkeditor", "target": "homework_actions_savehomework", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/components/admin/homework-editor.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/b0226ae72d19c4144899abbbe65e5e2c22ab77cd1cef8aa9fd4864a2ac7c5fc1.json b/graphify-out/cache/semantic/b0226ae72d19c4144899abbbe65e5e2c22ab77cd1cef8aa9fd4864a2ac7c5fc1.json
new file mode 100644
index 0000000..db703c1
--- /dev/null
+++ b/graphify-out/cache/semantic/b0226ae72d19c4144899abbbe65e5e2c22ab77cd1cef8aa9fd4864a2ac7c5fc1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "student_actions_submithomework", "label": "submitHomework", "file_type": "code", "source_file": "src/lib/actions/student-actions.ts"}], "edges": [{"source": "student_actions_submithomework", "target": "email_senders", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/lib/actions/student-actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/b23bccbe3271c93e586160f40a463dcfbbc5f05cd8c9d4ad6fe09bcb5c780423.json b/graphify-out/cache/semantic/b23bccbe3271c93e586160f40a463dcfbbc5f05cd8c9d4ad6fe09bcb5c780423.json
new file mode 100644
index 0000000..d62b163
--- /dev/null
+++ b/graphify-out/cache/semantic/b23bccbe3271c93e586160f40a463dcfbbc5f05cd8c9d4ad6fe09bcb5c780423.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "quiz_section_quizsection", "label": "QuizSection", "file_type": "code", "source_file": "src/components/student/quiz-section.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/b308c1934308e51b9e21cbfb5f2c1232f14e1453eaa62b53ee8462f178ba033f.json b/graphify-out/cache/semantic/b308c1934308e51b9e21cbfb5f2c1232f14e1453eaa62b53ee8462f178ba033f.json
new file mode 100644
index 0000000..747ee90
--- /dev/null
+++ b/graphify-out/cache/semantic/b308c1934308e51b9e21cbfb5f2c1232f14e1453eaa62b53ee8462f178ba033f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "api_questions_route", "label": "Questions API Route", "file_type": "code", "source_file": "src/app/api/questions/route.ts"}, {"id": "api_questions_post", "label": "Create Question API", "file_type": "code", "source_file": "src/app/api/questions/route.ts"}], "edges": [{"source": "api_questions_route", "target": "lib_email_ts", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/api/questions/route.ts"}, {"source": "api_questions_post", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/api/questions/route.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/b40f8f85d9b7008d3bb32441a807f2c6c7551e2de51a79ab57226fdca54c18bd.json b/graphify-out/cache/semantic/b40f8f85d9b7008d3bb32441a807f2c6c7551e2de51a79ab57226fdca54c18bd.json
new file mode 100644
index 0000000..6e62b9c
--- /dev/null
+++ b/graphify-out/cache/semantic/b40f8f85d9b7008d3bb32441a807f2c6c7551e2de51a79ab57226fdca54c18bd.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "course_actions_grantaccess", "label": "grantAccess", "file_type": "code", "source_file": "src/lib/actions/course-actions.ts"}], "edges": [{"source": "course_actions_grantaccess", "target": "email_senders", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/lib/actions/course-actions.ts"}, {"source": "course_actions_grantaccess", "target": "prisma_prisma", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/lib/actions/course-actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/b62fe275166638d73817bde8d3bfe00e595bba8c193b9c3f79fd5c45e6b34bcc.json b/graphify-out/cache/semantic/b62fe275166638d73817bde8d3bfe00e595bba8c193b9c3f79fd5c45e6b34bcc.json
new file mode 100644
index 0000000..254ed58
--- /dev/null
+++ b/graphify-out/cache/semantic/b62fe275166638d73817bde8d3bfe00e595bba8c193b9c3f79fd5c45e6b34bcc.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "admin_dashboard_admindashboard", "label": "Admin Dashboard", "file_type": "code", "source_file": "src/app/admin/dashboard/page.tsx"}], "edges": [{"source": "admin_dashboard_admindashboard", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/admin/dashboard/page.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/b9ffff0440adeac0bd6f389f5fbd8b2b955e638e2b841de75e6f421748ef214f.json b/graphify-out/cache/semantic/b9ffff0440adeac0bd6f389f5fbd8b2b955e638e2b841de75e6f421748ef214f.json
new file mode 100644
index 0000000..e4da3d1
--- /dev/null
+++ b/graphify-out/cache/semantic/b9ffff0440adeac0bd6f389f5fbd8b2b955e638e2b841de75e6f421748ef214f.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lesson_content_lessoncontent", "label": "LessonContent", "file_type": "code", "source_file": "src/components/student/lesson-content.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/c1590ccd01864c2e288b42f544ffb84faa248945edbb8f6afa1eb9bc5dc27e1d.json b/graphify-out/cache/semantic/c1590ccd01864c2e288b42f544ffb84faa248945edbb8f6afa1eb9bc5dc27e1d.json
new file mode 100644
index 0000000..ad22068
--- /dev/null
+++ b/graphify-out/cache/semantic/c1590ccd01864c2e288b42f544ffb84faa248945edbb8f6afa1eb9bc5dc27e1d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "middleware_ts", "label": "Auth Middleware", "file_type": "code", "source_file": "src/middleware.ts"}], "edges": [{"source": "middleware_ts", "target": "lib_auth_ts", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/middleware.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/c53d5eb7282adb492ef8e8d00121e48d5c90bd3bf3f708c038ec528131010163.json b/graphify-out/cache/semantic/c53d5eb7282adb492ef8e8d00121e48d5c90bd3bf3f708c038ec528131010163.json
new file mode 100644
index 0000000..3a05dac
--- /dev/null
+++ b/graphify-out/cache/semantic/c53d5eb7282adb492ef8e8d00121e48d5c90bd3bf3f708c038ec528131010163.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "kinescope_player_kinescopeplayer", "label": "KinescopePlayer", "file_type": "code", "source_file": "src/components/player/kinescope-player.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/c579648a40afe1f6d13a81fe5f9db1090de194f44c47520f097643d4bd45d0da.json b/graphify-out/cache/semantic/c579648a40afe1f6d13a81fe5f9db1090de194f44c47520f097643d4bd45d0da.json
new file mode 100644
index 0000000..c1d8de5
--- /dev/null
+++ b/graphify-out/cache/semantic/c579648a40afe1f6d13a81fe5f9db1090de194f44c47520f097643d4bd45d0da.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "category_row_categoryrow", "label": "CategoryRow", "file_type": "code", "source_file": "src/components/admin/category-row.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/c9c88beb592831e3ca0eee9893f15fc293d824e786696a6750f23d9f146debe1.json b/graphify-out/cache/semantic/c9c88beb592831e3ca0eee9893f15fc293d824e786696a6750f23d9f146debe1.json
new file mode 100644
index 0000000..6d0d1f7
--- /dev/null
+++ b/graphify-out/cache/semantic/c9c88beb592831e3ca0eee9893f15fc293d824e786696a6750f23d9f146debe1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lesson_comments_lessoncomments", "label": "LessonComments", "file_type": "code", "source_file": "src/components/student/lesson-comments.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/caee92110ddececac4ac0ec6e3db47909d58cbb0a39e1eee487f3a9978a5e1e0.json b/graphify-out/cache/semantic/caee92110ddececac4ac0ec6e3db47909d58cbb0a39e1eee487f3a9978a5e1e0.json
new file mode 100644
index 0000000..608f4b7
--- /dev/null
+++ b/graphify-out/cache/semantic/caee92110ddececac4ac0ec6e3db47909d58cbb0a39e1eee487f3a9978a5e1e0.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "question_split_view_questionsplitview", "label": "QuestionSplitView", "file_type": "code", "source_file": "src/components/questions/QuestionSplitView.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/cce4bcb396d93283c9eec65ddf54ab50662fef27b234df602a63e827cf22b4b3.json b/graphify-out/cache/semantic/cce4bcb396d93283c9eec65ddf54ab50662fef27b234df602a63e827cf22b4b3.json
new file mode 100644
index 0000000..d3616bd
--- /dev/null
+++ b/graphify-out/cache/semantic/cce4bcb396d93283c9eec65ddf54ab50662fef27b234df602a63e827cf22b4b3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "csv_importer_csvimporter", "label": "CsvImporter", "file_type": "code", "source_file": "src/components/admin/csv-importer.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/cda9842c1dd277e8617666d682f773cf493ec4c99d58bc426c40b9b4db7fd7e3.json b/graphify-out/cache/semantic/cda9842c1dd277e8617666d682f773cf493ec4c99d58bc426c40b9b4db7fd7e3.json
new file mode 100644
index 0000000..35a35dc
--- /dev/null
+++ b/graphify-out/cache/semantic/cda9842c1dd277e8617666d682f773cf493ec4c99d58bc426c40b9b4db7fd7e3.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lesson_files_manager_lessonfilesmanager", "label": "LessonFilesManager", "file_type": "code", "source_file": "src/components/admin/lesson-files-manager.tsx"}], "edges": [{"source": "lesson_files_manager_lessonfilesmanager", "target": "file_format_badge_fileformatbadge", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/components/admin/lesson-files-manager.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/d73fd57592c7c069a0f2763c8555e03062f8f9e9d39073d50f23a9e2ac5ee42d.json b/graphify-out/cache/semantic/d73fd57592c7c069a0f2763c8555e03062f8f9e9d39073d50f23a9e2ac5ee42d.json
new file mode 100644
index 0000000..7362a05
--- /dev/null
+++ b/graphify-out/cache/semantic/d73fd57592c7c069a0f2763c8555e03062f8f9e9d39073d50f23a9e2ac5ee42d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "questions_page_questionspage", "label": "Questions Page", "file_type": "code", "source_file": "src/app/(student)/questions/page.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/d9f534c9a4cc5c420e2685b57f9c84048a4820fc8159db191274a6654e9ac2ff.json b/graphify-out/cache/semantic/d9f534c9a4cc5c420e2685b57f9c84048a4820fc8159db191274a6654e9ac2ff.json
new file mode 100644
index 0000000..ec4b482
--- /dev/null
+++ b/graphify-out/cache/semantic/d9f534c9a4cc5c420e2685b57f9c84048a4820fc8159db191274a6654e9ac2ff.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "technical_md", "label": "Technical Documentation", "file_type": "document", "source_file": "TECHNICAL.md"}], "edges": [{"source": "technical_md", "target": "prisma_schema", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "TECHNICAL.md"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/dd2d4e517086425f31de615739261713367ffca0f4b7e22d8d628f5325bb6250.json b/graphify-out/cache/semantic/dd2d4e517086425f31de615739261713367ffca0f4b7e22d8d628f5325bb6250.json
new file mode 100644
index 0000000..479da78
--- /dev/null
+++ b/graphify-out/cache/semantic/dd2d4e517086425f31de615739261713367ffca0f4b7e22d8d628f5325bb6250.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lesson_page_lessonpage", "label": "Lesson Page", "file_type": "code", "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx"}], "edges": [{"source": "lesson_page_lessonpage", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx"}, {"source": "lesson_page_lessonpage", "target": "auth_lib", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/df8c29cf846c4a389144948fe8b624628ad5a5582ab33ab56f26a560e5e4e77b.json b/graphify-out/cache/semantic/df8c29cf846c4a389144948fe8b624628ad5a5582ab33ab56f26a560e5e4e77b.json
new file mode 100644
index 0000000..48d0a16
--- /dev/null
+++ b/graphify-out/cache/semantic/df8c29cf846c4a389144948fe8b624628ad5a5582ab33ab56f26a560e5e4e77b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "file_format_badge_fileformatbadge", "label": "FileFormatBadge", "file_type": "code", "source_file": "src/components/shared/file-format-badge.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/e4166c5e85ee312ba8e543c4fdab8f6526f07d1e5e50fae22745d4fce90032af.json b/graphify-out/cache/semantic/e4166c5e85ee312ba8e543c4fdab8f6526f07d1e5e50fae22745d4fce90032af.json
new file mode 100644
index 0000000..15daf12
--- /dev/null
+++ b/graphify-out/cache/semantic/e4166c5e85ee312ba8e543c4fdab8f6526f07d1e5e50fae22745d4fce90032af.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lib_settings_ts", "label": "Settings Helper", "file_type": "code", "source_file": "src/lib/settings.ts"}, {"id": "settings_getsettings", "label": "getSettings", "file_type": "code", "source_file": "src/lib/settings.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/ea525c1508869fdd8a943eba94183c31d2391c760073f5777d1a402365a27427.json b/graphify-out/cache/semantic/ea525c1508869fdd8a943eba94183c31d2391c760073f5777d1a402365a27427.json
new file mode 100644
index 0000000..48128a4
--- /dev/null
+++ b/graphify-out/cache/semantic/ea525c1508869fdd8a943eba94183c31d2391c760073f5777d1a402365a27427.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "quiz_editor_quizeditor", "label": "QuizEditor", "file_type": "code", "source_file": "src/components/admin/quiz-editor.tsx"}], "edges": [{"source": "quiz_editor_quizeditor", "target": "quiz_actions_savequiz", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/components/admin/quiz-editor.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/ebd4b0a44c4113792d3aaebae59e3d447a86fb209dbcfd71b5b40255ea2919d6.json b/graphify-out/cache/semantic/ebd4b0a44c4113792d3aaebae59e3d447a86fb209dbcfd71b5b40255ea2919d6.json
new file mode 100644
index 0000000..48754ad
--- /dev/null
+++ b/graphify-out/cache/semantic/ebd4b0a44c4113792d3aaebae59e3d447a86fb209dbcfd71b5b40255ea2919d6.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "student_dashboard_studentdashboard", "label": "Student Dashboard", "file_type": "code", "source_file": "src/app/(student)/dashboard/page.tsx"}], "edges": [{"source": "student_dashboard_studentdashboard", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/(student)/dashboard/page.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/ee0fbd658529f11e59d2bd6608a45bf5c193efe813a0a65d48ed8440ea36be38.json b/graphify-out/cache/semantic/ee0fbd658529f11e59d2bd6608a45bf5c193efe813a0a65d48ed8440ea36be38.json
new file mode 100644
index 0000000..8562fb6
--- /dev/null
+++ b/graphify-out/cache/semantic/ee0fbd658529f11e59d2bd6608a45bf5c193efe813a0a65d48ed8440ea36be38.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "homework_actions_savehomework", "label": "saveHomework", "file_type": "code", "source_file": "src/lib/actions/homework-actions.ts"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/eecee429892929ff432b3b4e11228b05148b235a272391876ce78e748a5f783e.json b/graphify-out/cache/semantic/eecee429892929ff432b3b4e11228b05148b235a272391876ce78e748a5f783e.json
new file mode 100644
index 0000000..4cee17c
--- /dev/null
+++ b/graphify-out/cache/semantic/eecee429892929ff432b3b4e11228b05148b235a272391876ce78e748a5f783e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "user_contact_editor_usercontacteditor", "label": "UserContactEditor", "file_type": "code", "source_file": "src/components/admin/user-contact-editor.tsx"}], "edges": [], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/f16647f8cebd87f4320159a4dde80b87e7e778e5c62d541b80080a46a3152611.json b/graphify-out/cache/semantic/f16647f8cebd87f4320159a4dde80b87e7e778e5c62d541b80080a46a3152611.json
new file mode 100644
index 0000000..d220784
--- /dev/null
+++ b/graphify-out/cache/semantic/f16647f8cebd87f4320159a4dde80b87e7e778e5c62d541b80080a46a3152611.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "admin_course_detail_coursedetailpage", "label": "Course Detail Page", "file_type": "code", "source_file": "src/app/admin/courses/[courseId]/page.tsx"}], "edges": [{"source": "admin_course_detail_coursedetailpage", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/admin/courses/[courseId]/page.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/f3e468c59717f35d7db7c9daeb9b93809e74367ed1d247318ac244910d1282c1.json b/graphify-out/cache/semantic/f3e468c59717f35d7db7c9daeb9b93809e74367ed1d247318ac244910d1282c1.json
new file mode 100644
index 0000000..2f61c5b
--- /dev/null
+++ b/graphify-out/cache/semantic/f3e468c59717f35d7db7c9daeb9b93809e74367ed1d247318ac244910d1282c1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lib_email_ts", "label": "Email Helpers (Resend)", "file_type": "code", "source_file": "src/lib/email.ts"}, {"id": "email_senders", "label": "Email Senders", "file_type": "code", "source_file": "src/lib/email.ts"}], "edges": [{"source": "email_senders", "target": "settings_getsettings", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/lib/email.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/f88ff33bc36f729fb00838aeb4955a7b25a1101fc4b86d17b25f4d7d45f03e78.json b/graphify-out/cache/semantic/f88ff33bc36f729fb00838aeb4955a7b25a1101fc4b86d17b25f4d7d45f03e78.json
new file mode 100644
index 0000000..65f8ec1
--- /dev/null
+++ b/graphify-out/cache/semantic/f88ff33bc36f729fb00838aeb4955a7b25a1101fc4b86d17b25f4d7d45f03e78.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "lesson_editor_lessoneditor", "label": "LessonEditor", "file_type": "code", "source_file": "src/components/admin/lesson-editor.tsx"}], "edges": [{"source": "lesson_editor_lessoneditor", "target": "md_to_tiptap_mdtotiptap", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "src/components/admin/lesson-editor.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/f93975ede196557eb3ec74f1cc231a62c31e5220588d69fee44e8da21be94abf.json b/graphify-out/cache/semantic/f93975ede196557eb3ec74f1cc231a62c31e5220588d69fee44e8da21be94abf.json
new file mode 100644
index 0000000..960ff88
--- /dev/null
+++ b/graphify-out/cache/semantic/f93975ede196557eb3ec74f1cc231a62c31e5220588d69fee44e8da21be94abf.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "sortable_lessons_sortablelessons", "label": "SortableLessons", "file_type": "code", "source_file": "src/components/admin/sortable-lessons.tsx"}], "edges": [{"source": "sortable_lessons_sortablelessons", "target": "module_actions_createlesson", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/components/admin/sortable-lessons.tsx"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/fa905c5817c688d90c2ab489a01a63241148d5fe12e16a84c06b510e7d633ac7.json b/graphify-out/cache/semantic/fa905c5817c688d90c2ab489a01a63241148d5fe12e16a84c06b510e7d633ac7.json
new file mode 100644
index 0000000..e541a18
--- /dev/null
+++ b/graphify-out/cache/semantic/fa905c5817c688d90c2ab489a01a63241148d5fe12e16a84c06b510e7d633ac7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "curator_homework_actions_submitfeedback", "label": "Submit Feedback Action", "file_type": "code", "source_file": "src/app/curator/homework/[submissionId]/actions.ts"}], "edges": [{"source": "curator_homework_actions_submitfeedback", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/curator/homework/[submissionId]/actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/semantic/ff8bd4cb20da2516b1d05a7844c84ae6a9d4c61fbb9dbe09514e907bdc8ea04d.json b/graphify-out/cache/semantic/ff8bd4cb20da2516b1d05a7844c84ae6a9d4c61fbb9dbe09514e907bdc8ea04d.json
new file mode 100644
index 0000000..3d436b7
--- /dev/null
+++ b/graphify-out/cache/semantic/ff8bd4cb20da2516b1d05a7844c84ae6a9d4c61fbb9dbe09514e907bdc8ea04d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "admin_courses_actions_createcourse", "label": "Create Course Action", "file_type": "code", "source_file": "src/app/admin/courses/actions.ts"}, {"id": "admin_courses_actions_updatecourse", "label": "Update Course Action", "file_type": "code", "source_file": "src/app/admin/courses/actions.ts"}], "edges": [{"source": "admin_courses_actions_createcourse", "target": "prisma_client", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/app/admin/courses/actions.ts"}], "hyperedges": []}
\ No newline at end of file
diff --git a/graphify-out/cache/stat-index.json b/graphify-out/cache/stat-index.json
new file mode 100644
index 0000000..dd91944
--- /dev/null
+++ b/graphify-out/cache/stat-index.json
@@ -0,0 +1 @@
+{"/Users/dementiy/Documents/Claude/lms-system/postcss.config.mjs":{"size":94,"mtime_ns":1775539448963376228,"hash":"2246a3acc22908a3eb405ad6ec1605ad51cdf4b121f22fd5cd6030c496b5d4b2"},"/Users/dementiy/Documents/Claude/lms-system/load-test.js":{"size":3402,"mtime_ns":1778127844228371945,"hash":"a633ab2f77e8876decb1c6ee176cbd2fa5ce6ea30c4e44e66665a37a7e527a18"},"/Users/dementiy/Documents/Claude/lms-system/prisma.config.ts":{"size":374,"mtime_ns":1775539681266892087,"hash":"02ecf5b0b3f72c5c37d6d6d0d3b3a67f75d254c4f3bd5df67d45b30c296d233e"},"/Users/dementiy/Documents/Claude/lms-system/next-env.d.ts":{"size":247,"mtime_ns":1775539455786413736,"hash":"bd4c3f3373b181a5f9357360cc954e0edf368890b56ae63e7defb680ca596d4b"},"/Users/dementiy/Documents/Claude/lms-system/package.json":{"size":1812,"mtime_ns":1778337219897403970,"hash":"2b3dadf657829c44fdc4e7238a0ceafb002cd8366ad1d22cfc6e6fff43bbed71"},"/Users/dementiy/Documents/Claude/lms-system/components.json":{"size":520,"mtime_ns":1775543430349632168,"hash":"e06456cd36ae738c22c4ba96531cdc77dac2e8214adad134770d8a0dba56c258"},"/Users/dementiy/Documents/Claude/lms-system/tsconfig.json":{"size":680,"mtime_ns":1775540751687926579,"hash":"10e54d7af2aa0b69e37ba51b4b89d7c25788c59bb97a62f78c0121647a2f84e5"},"/Users/dementiy/Documents/Claude/lms-system/entrypoint.sh":{"size":154,"mtime_ns":1775541006186572754,"hash":"6bae9abdfd8c738914ff706a2d17e24f5a9e592c0eeae14e0e27e5e780fa776f"},"/Users/dementiy/Documents/Claude/lms-system/eslint.config.mjs":{"size":465,"mtime_ns":1775539455799861734,"hash":"5fe564ac395993c3fa21ee3d13d7a84e127b0f5ab0143bae46973cf5c5ee848f"},"/Users/dementiy/Documents/Claude/lms-system/next.config.ts":{"size":253,"mtime_ns":1777111664801421818,"hash":"8e74f87b3c0cae858d5d7d56301decc7ef95096f6e92529597a73da71ed96295"},"/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts":{"size":2077,"mtime_ns":1775540870481172172,"hash":"4a8d10eac2085ea207788513d5de95688d5cfc4bc99bd1da0e97573916ec83e3"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260429100000_add_comment_replies/migration.sql":{"size":228,"mtime_ns":1777450551026347872,"hash":"64d1300359e9d0a0f3fad6104ac4727c393fc1502b153faba5650195505c24c5"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260506100000_add_user_comment/migration.sql":{"size":60,"mtime_ns":1778127844228691149,"hash":"cb93f44e3526d4bd22bc59fcab93fce712021ff61696e1ee8fe80d51d66b7f59"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260407000000_init/migration.sql":{"size":9994,"mtime_ns":1775541164066065423,"hash":"e69a7fcd29aedaf6f02dc7dfdfef8b3bd83d99b16b71b77de657f27fa3679eb4"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260408200000_add_module_description/migration.sql":{"size":52,"mtime_ns":1775636691969880556,"hash":"bd2dcd3a4e74301236f385975c2f3e7a777d028fda2170a6b3bddba388347038"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260409100000_add_submission_status/migration.sql":{"size":155,"mtime_ns":1775638648060572048,"hash":"74ef05cb5241a8b5541baa6100447f2dbbbd4a811af922c2c8b0250db2f5ebde"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260427100000_add_phone_birthday/migration.sql":{"size":113,"mtime_ns":1777289909534323787,"hash":"f87acfa27dd1ce90c59554981af19958ca958d60abcf96d3bf05be16384e0d15"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260407100000_add_categories_expiry_access_log/migration.sql":{"size":1536,"mtime_ns":1775544940147991944,"hash":"eb94ee543ed5911eceafe9013edf1c6939e0f0e59f77db4903289a1ddaf83544"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260409200000_add_feedback_fields/migration.sql":{"size":116,"mtime_ns":1775638651888055529,"hash":"e95fb5faf230fe004c64b69407b6fadffadd1a8ede46b3b48fbcac844f68a5b0"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260408100000_add_settings/migration.sql":{"size":187,"mtime_ns":1775628507384781968,"hash":"ed0eead46bc4b2371c217f02f21f2362e6248f929a173ed1bfff6bfa016f592e"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260519110000_add_student_questions_indexes/migration.sql":{"size":291,"mtime_ns":1779178699478311441,"hash":"c6fcb332e13e8ad549474f880b3c801e7395c0c358f4b06748c31f0d8bc3e507"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260519100000_add_student_questions/migration.sql":{"size":1809,"mtime_ns":1779178168940186350,"hash":"3f282285aa78630c18ddb9562c5d05d817b42c3a961f3ad2d67f25311e9a23d2"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260507120000_add_balance_transactions/migration.sql":{"size":485,"mtime_ns":1778127844347623482,"hash":"e5a9efb11cd35ce61cd3ade772d20928edf05554013de16d3ea7a82245222b4b"},"/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260409300000_add_audio_fields/migration.sql":{"size":138,"mtime_ns":1775639653454320613,"hash":"1dda9956d7943f4965bdb59f6785ff16f8dbab485910bb56bc671a88056bb7ab"},"/Users/dementiy/Documents/Claude/lms-system/scripts/backup.sh":{"size":2493,"mtime_ns":1775641099978340302,"hash":"de562c9e56c9378d41b176fc3249a0ef851dbb07ae4f736ba2ec4e73cfdbce8c"},"/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts":{"size":796,"mtime_ns":1778336973807513897,"hash":"c1590ccd01864c2e288b42f544ffb84faa248945edbb8f6afa1eb9bc5dc27e1d"},"/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx":{"size":1207,"mtime_ns":1775628711840773193,"hash":"db738a15460ccd932902e63903d17074d65f68dae59507e9aab04fa7ed5ffcc7"},"/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx":{"size":461,"mtime_ns":1775539897744764395,"hash":"bd559694c624d8066aa7dbc82808936416c3123567949ae6a923d0041fec59ff"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx":{"size":3752,"mtime_ns":1779180543421369866,"hash":"8f3750260b869d68fbae2b58ab3e9042924b20afcd4a75b6e096f3af69fa034b"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx":{"size":6338,"mtime_ns":1775549773648537042,"hash":"ebd4b0a44c4113792d3aaebae59e3d447a86fb209dbcfd71b5b40255ea2919d6"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx":{"size":2084,"mtime_ns":1779106455977222099,"hash":"37f153bad4358f3de7f07488b31a38a9dc8fc1eb0e53c026839f70e57c95d89b"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx":{"size":1267,"mtime_ns":1775545897678032044,"hash":"86c3af8247aa6532ae0b36ba722555731513d8bb57ba2d465cec9ba5501ea441"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts":{"size":901,"mtime_ns":1775549694123128747,"hash":"7acf8e743597fc80a6c19871efd08defed48e47c53b5f8fc25a5d247c9b6406b"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts":{"size":2838,"mtime_ns":1779180714287342973,"hash":"46003202b5e95e142a58d7951558696a27481be348307cf5f81cbc7780fb21d1"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts":{"size":2439,"mtime_ns":1777450299366856011,"hash":"a1e496662ca3e230d53c2fedab5123118cbeb29eb1d5268e5837ab03fea0b5ff"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx":{"size":9678,"mtime_ns":1778127844230318829,"hash":"dd2d4e517086425f31de615739261713367ffca0f4b7e22d8d628f5325bb6250"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts":{"size":1445,"mtime_ns":1778503284404951724,"hash":"25e2109e7b2ad2a726b3b2fadf68bbcbe61628cdf08d4d9098faefe7b6ede371"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx":{"size":1558,"mtime_ns":1778501000318959248,"hash":"bd57ddf8780f4eea7439ae52a22aa659aeae7dc360960f78ea25a296c6c737af"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx":{"size":3963,"mtime_ns":1779179897649290594,"hash":"d73fd57592c7c069a0f2763c8555e03062f8f9e9d39073d50f23a9e2ac5ee42d"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx":{"size":7645,"mtime_ns":1779197082357360303,"hash":"dcfe31f114c58c6da623442ddc1dcdf612bcf39ec729b39d1f9681de47d1442f"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx":{"size":2636,"mtime_ns":1779179476519161603,"hash":"734fa154f65f9743e4f747bc54ab730d664c2222a82de15907723de78cee2179"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx":{"size":798,"mtime_ns":1779180532407453072,"hash":"7d58d0c3b03d76adc3cb3f6fcd41d18e3ad57b9f62637e85de372809d1678892"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts":{"size":875,"mtime_ns":1775628548345527819,"hash":"6e1ad0dc50ae60e976bd9af24c22213d3c23139b6c2a871e99ce81421ed2e047"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx":{"size":631,"mtime_ns":1775628621340747798,"hash":"39a4c79415198ff400ba373c6f6e510e237bc40c6bb16e321f78f36575b63783"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts":{"size":591,"mtime_ns":1779183085534397581,"hash":"6199769cb3e5d5a9f6ae8afcbd8517db19340e9184acfa1e8d983a9608dd09f7"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts":{"size":547,"mtime_ns":1775635172327824279,"hash":"16b9c063c1f8f517c5a1b0d9a980497f062c99186b487737b9f8f3c29ce5ec4d"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx":{"size":4118,"mtime_ns":1779183080306464343,"hash":"ec8384b6e84abf3529b771b55296bd702227d2044b4d374f6b985ed9b6bbde2c"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx":{"size":9083,"mtime_ns":1778507539629426785,"hash":"b62fe275166638d73817bde8d3bfe00e595bba8c193b9c3f79fd5c45e6b34bcc"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts":{"size":2307,"mtime_ns":1775639784738656628,"hash":"ff8bd4cb20da2516b1d05a7844c84ae6a9d4c61fbb9dbe09514e907bdc8ea04d"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx":{"size":2380,"mtime_ns":1775543594652091989,"hash":"ceed4f92a6e9f4993f18d9039df4f712d8e232cf1d1447e1ba0f9503b1efb93d"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts":{"size":3711,"mtime_ns":1775636734577820865,"hash":"77c3b0c17a484bcc23192ce3eb03c42fb71453e32b2c088b33a2a798bfcfd632"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx":{"size":4158,"mtime_ns":1777106507453838625,"hash":"f16647f8cebd87f4320159a4dde80b87e7e778e5c62d541b80080a46a3152611"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts":{"size":3112,"mtime_ns":1775636714899170309,"hash":"0c32d32204668401137b8fb047f4153869e9d3a9fe9d7809854ddb082d3dcc60"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx":{"size":2389,"mtime_ns":1777106909170258566,"hash":"8f050d3e557841d5fe03932a71a4ab481c7f54b4200b7e9b61c3bc0b825033bc"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts":{"size":964,"mtime_ns":1775543714795509788,"hash":"cbcff5e716f1569b19923c64d6909deed0bccb0d816f1c339d2ca14797d12d28"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts":{"size":811,"mtime_ns":1775552997802914937,"hash":"d5d576bc2b09b9cf145dcd30872e63fcd89c5504a8656c66bd4f2baa7fbd15c0"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx":{"size":4072,"mtime_ns":1777272075928586603,"hash":"622f9c6019b9f2aec43a6397f0e687c1fc6ff64fae4b9a3aa43d8708b9f417ce"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts":{"size":8148,"mtime_ns":1775634520955554779,"hash":"0f3aa0ce9310d1402f7ae75b5d9c4bb3007b7a2cb277414688e9ff762041184b"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx":{"size":1457,"mtime_ns":1775634643624910865,"hash":"0a1249e3d8a5f3175b8bdc8c4e3c203ddb5c2e581fdfafbaf5a7875a85647849"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts":{"size":2324,"mtime_ns":1779182830661880654,"hash":"71311a1fe1f28749d1095984df17923e270a4511c407f6a2d4feeb6e33244f4a"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts":{"size":1672,"mtime_ns":1775633709570278608,"hash":"4a5f3b0cd3feb919de925a97e2aa7227f20a4fb7924e51f7f2951c8ae496e443"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx":{"size":5144,"mtime_ns":1779182734645263233,"hash":"ad60da29c7766261ebec06b1000f5ead6d05231a175f29df3bdddd11477e3629"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx":{"size":955,"mtime_ns":1775633763911143894,"hash":"845bad254b1d9143bb5f6ce18600085208ff3c149a5654c3d65a56fc8f8719fd"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts":{"size":3495,"mtime_ns":1778510039726706518,"hash":"dd4ea646acb08d09aa646938c486ee25873dabae74a501404da98715c0970c30"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx":{"size":5614,"mtime_ns":1778510061434213544,"hash":"60ec2b28899d7f6af041219dbd060464761ed0279c944eb266a62fe456119598"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts":{"size":1756,"mtime_ns":1775544951254228457,"hash":"0cef5436e1c6d483072d04bd0b95b2a52d5b79a8cd8a217451df4807a4eabac9"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx":{"size":2325,"mtime_ns":1775544967419935338,"hash":"9c50bcbbe85e9829e5b771caa6fec847e78cf0b5c4de7084ed4573ad853d8c0c"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx":{"size":2542,"mtime_ns":1777273467258629012,"hash":"866519274b0316160934e281d13479c68bda1685cde7aedec5fe5b3014c22a0c"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx":{"size":3943,"mtime_ns":1777273643627022998,"hash":"34ea9d49312532dbe02332637996083455c305ae9dd8b85536c59fa22e193494"},"/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx":{"size":462,"mtime_ns":1779180141239374416,"hash":"7a357c2483944d4454d9b53cdd07276ffb56ae1364b83e3365d9837e6a5d3ba3"},"/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx":{"size":2809,"mtime_ns":1779180972295450440,"hash":"0d4637c7371a3ab96c9a97cc20e2ee1efbb7676ec1bc042d979a697ab34ba079"},"/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx":{"size":2283,"mtime_ns":1775638873526176795,"hash":"78d461589c2ed7c8356d9286a56c70116470d8f6d3b8d3b902c0a3cc50fc5db7"},"/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx":{"size":8696,"mtime_ns":1779182966183248372,"hash":"bd5d344eb4bcd69e495a7c2fd87b36bc562e8a0358db8d50e6243a6de79e5394"},"/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts":{"size":3421,"mtime_ns":1777285619308737922,"hash":"fa905c5817c688d90c2ab489a01a63241148d5fe12e16a84c06b510e7d633ac7"},"/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx":{"size":1630,"mtime_ns":1775638774706930449,"hash":"99bbdb88c0b896e7cb673d9c9a03ffec7973f580fd13b6276458926d39d85bda"},"/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx":{"size":1003,"mtime_ns":1775638782406193809,"hash":"f62c2eb223051897932ea716cde6a1f7cd5361086815c99e03c0cb151cd1ab0f"},"/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx":{"size":6500,"mtime_ns":1779106456009981697,"hash":"adefab4d1bc62d6c5439b5a8eefed533f4ee3013f331706c64f1000d90eff68c"},"/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx":{"size":9381,"mtime_ns":1775639791850079248,"hash":"4b6dc66d7c19a0e40920e846f2946fc014054c5784522ef3686edcd1847cb5f5"},"/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx":{"size":527,"mtime_ns":1779180145845075622,"hash":"c402c1813230c0a8bfc1e6e9c2ae2552e774a307bd29e49dea4e6b260c5aae45"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/auth/[...all]/route.ts":{"size":143,"mtime_ns":1775539836880051660,"hash":"f2f7f9b3f18f2dd61ec9d997db06e73a732849933c061b69fad71c19d1f348a8"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts":{"size":1087,"mtime_ns":1778337153168584395,"hash":"9fe59a8b368ba17d79c52203441d6eac1edddfa5df641a250fe51791484f13f1"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts":{"size":1692,"mtime_ns":1779179903052211349,"hash":"b8ac0f4954217704d93b271d1e8c6d7538c49bef70756128ae46aab661ac7674"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts":{"size":1056,"mtime_ns":1778337151617059221,"hash":"3d201546465428c1a8b935d0393e0cdcaf7ac7ad33063df3a2c05f2687c13da2"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts":{"size":2218,"mtime_ns":1775634670238486194,"hash":"92b38291da79dcb9c69d52e8acd54c90e2b0501994a6a3de0821cb473656b83d"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts":{"size":914,"mtime_ns":1778127844231483977,"hash":"ba5744179f5aa98574a62c49f38192dc4c7eadfd57f124e3236364dc0dcf1554"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts":{"size":2855,"mtime_ns":1778337150351870267,"hash":"e69d082776cd6a5b3a75f69685335744136b866cfe2c5f9d803e18e9773ec274"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts":{"size":1411,"mtime_ns":1775558548709138882,"hash":"50e14d17238592eaf28a70ea1421489627a2598c932a2708c0814db373e170c9"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts":{"size":1042,"mtime_ns":1778337148688618394,"hash":"87bd29ea7e0b0452a94a115635dd3bb158799ef13f026103f5059ab8bfaf09f7"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts":{"size":1167,"mtime_ns":1778337154440365573,"hash":"253fc6ca1851be0debcd4e2fe220b4a67b91155419b7e7b5c333ec30f45fbce8"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts":{"size":1136,"mtime_ns":1778337155674469592,"hash":"bc5566077af74fc152ce4dfaa7b68adbfb427a25cff5a11488ce4915fc2d4ca5"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts":{"size":3540,"mtime_ns":1779197102557529105,"hash":"b308c1934308e51b9e21cbfb5f2c1232f14e1453eaa62b53ee8462f178ba033f"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts":{"size":1487,"mtime_ns":1779178933592123703,"hash":"f49527982fad95c460b56179418ca6c6fc89c128e4e99c6813045383fd945cf7"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts":{"size":3179,"mtime_ns":1779180938464701148,"hash":"bb922622525dfcf22657787400a5bc97a224ced18f5ce5b0dee1ff1b4b763a96"},"/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts":{"size":1106,"mtime_ns":1779178951103603688,"hash":"8554e167490b96578f39d5ea965c5fd65e63cd5f1e87f60c39cc73b7f4de8038"},"/Users/dementiy/Documents/Claude/lms-system/src/app/maintenance/page.tsx":{"size":893,"mtime_ns":1775628663515161097,"hash":"9e04d81b8b371a7e6ef333385e645410b8b3b9caa816471afe940ca4e5364afe"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/verify-email/page.tsx":{"size":770,"mtime_ns":1775539860144685245,"hash":"7b119de01400b7a18afaea066fcd4b1799f8e47c316ecc64618a30ade92f4986"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx":{"size":6170,"mtime_ns":1779106456009416863,"hash":"2431885b03c64b907de9e1d0e09756ce2791e002c91b319bdee321f6138f299c"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx":{"size":1246,"mtime_ns":1779106456008421280,"hash":"4d1b6c466325775ef25b49aab1ee379066ceaafa4fcd815b81c38e6726d41ffc"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx":{"size":905,"mtime_ns":1779106456007962946,"hash":"6d45e1991cd530acab47e29863417434651c420ec007f8c22e6b3f9768974872"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx":{"size":996,"mtime_ns":1779106456009656447,"hash":"d561e64847d500c7c6d3a7b5695a0e261afc737395cc13190b90dd9c6e2c3de2"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx":{"size":3590,"mtime_ns":1778133423057205865,"hash":"9cff85429ce2a78fd8fd8ade02ed91e3efa090f2d0e9c436a9703ab6720d361f"},"/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx":{"size":1709,"mtime_ns":1779106456008194488,"hash":"458217c9f439e92bad315eaaa2235213c66e1ed9e24d10866e00096b7a09fa29"},"/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx":{"size":5272,"mtime_ns":1775543455199009049,"hash":"9eb20dcee65b89e8cc04254df319dc05cece98ad187441b8defed4f6ed8d2737"},"/Users/dementiy/Documents/Claude/lms-system/src/components/ui/label.tsx":{"size":518,"mtime_ns":1775543454961253251,"hash":"4f773475f1c473cdb5c8065597ebbd5316ebfe775f6c8cdca86046396357f290"},"/Users/dementiy/Documents/Claude/lms-system/src/components/ui/sonner.tsx":{"size":1226,"mtime_ns":1775543455099082480,"hash":"f39076f409e7b8f12b68c3603b0ed5fed32e48c490c40f176b49a47092d08d4c"},"/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx":{"size":4075,"mtime_ns":1775543455171738769,"hash":"89d353fc82f4992540d92e27e23f69b02ebc8354142f1223fbfe8ad3032ba477"},"/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx":{"size":1925,"mtime_ns":1775543454987062620,"hash":"4483118af6ca351d5589158441e75f876c5523c5989b7d84dc103a6d687f130d"},"/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx":{"size":3197,"mtime_ns":1775543437795013004,"hash":"627a8dcfcf402c33a415268726ecdefcc22f4cd8dab6bebafb5b6c8bf255ea34"},"/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx":{"size":6655,"mtime_ns":1775543455057192918,"hash":"28c489414effda5ad048a4e37bf8b70dd54ceda703187d89d742bbb4cb239421"},"/Users/dementiy/Documents/Claude/lms-system/src/components/ui/textarea.tsx":{"size":842,"mtime_ns":1775543454933278140,"hash":"2d1e7c7bd8aed95358f96a423b66b094117ebfb580450019fe390f5212d8cb1b"},"/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx":{"size":1040,"mtime_ns":1775543454904014575,"hash":"6d528e93fcba63f854aedc47d2d471d9ffefc8d9b3bf9101a3f186d887ee0675"},"/Users/dementiy/Documents/Claude/lms-system/src/components/layout/logout-button.tsx":{"size":453,"mtime_ns":1775539883725083981,"hash":"022cdb24302b285153751915110368fce63ca691bc3bdf049a90c22b7270d1d7"},"/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx":{"size":6217,"mtime_ns":1779106455984067769,"hash":"a189471048b27777b36b386031224f8b7ca45e7d2058d318413a5acf0b4ad467"},"/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx":{"size":2998,"mtime_ns":1779106456014486241,"hash":"b23bccbe3271c93e586160f40a463dcfbbc5f05cd8c9d4ad6fe09bcb5c780423"},"/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx":{"size":9907,"mtime_ns":1779106456014196657,"hash":"9cfffe1e50d7238aa88678f4fdfe98dc3512be99be5223b1193fb1782fe5a666"},"/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx":{"size":1140,"mtime_ns":1777194005495382448,"hash":"9cf5ec27f001abb934fdafa4b06f8103f41f00c9a203ab394b7f2e9fbe2b2ee9"},"/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx":{"size":641,"mtime_ns":1775545924213994120,"hash":"b9ffff0440adeac0bd6f389f5fbd8b2b955e638e2b841de75e6f421748ef214f"},"/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx":{"size":10210,"mtime_ns":1777450388973096329,"hash":"c9c88beb592831e3ca0eee9893f15fc293d824e786696a6750f23d9f146debe1"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx":{"size":7218,"mtime_ns":1777107866087802309,"hash":"e2c11655d5d2e8d43534328cb52a00fc113b2e83ecbd765559f33bba36a72f7f"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/stop-impersonate-banner.tsx":{"size":1034,"mtime_ns":1777104746690576587,"hash":"b4fed2248eecad9ecd1fdaa56668bd635666d28dc397c69de585949493decc6f"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx":{"size":3500,"mtime_ns":1779106456010827989,"hash":"8b91d4305c3f851dc25012ceaefc84ca981b7b1d125cd5e0e2251fe783db4327"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx":{"size":4102,"mtime_ns":1779182708862261347,"hash":"db2b37ba886081b8d51ba65e0cf9ead6556cadb44cde07bb72cb5af19e9d4ee4"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx":{"size":8446,"mtime_ns":1779182853729398884,"hash":"fe2df6545498d39ddd77306d03a77dc97a2487914123543a13852d77a1dd504d"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx":{"size":18340,"mtime_ns":1779106456012745782,"hash":"1a48465b09e130c6a8cc684131c019be7ca7f1696be27c314eb8f6a4b1810db6"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx":{"size":6903,"mtime_ns":1779182863008058987,"hash":"92cf9c04db74eeb09738af00cced8506c6d552c7292e7b3623ca9b5db29dba03"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx":{"size":7624,"mtime_ns":1779106456010489197,"hash":"3a61ccbdeba0fe491cc1dfaf9237384416a25c0718a025a87e74e70045373db6"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx":{"size":2284,"mtime_ns":1779180512324781431,"hash":"4ba65ade2911408275f38c6ee9794e31d74d96cacc3c128610b027d7bbaf82d1"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx":{"size":1992,"mtime_ns":1775543880864161218,"hash":"6faa0cef8c5380d2c0d09198f7dd5f50503bf492499cea801b24cebbe83d293e"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx":{"size":5994,"mtime_ns":1777355316102954805,"hash":"cda9842c1dd277e8617666d682f773cf493ec4c99d58bc426c40b9b4db7fd7e3"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx":{"size":9519,"mtime_ns":1777107864979823882,"hash":"f93975ede196557eb3ec74f1cc231a62c31e5220588d69fee44e8da21be94abf"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx":{"size":6233,"mtime_ns":1779106456013394198,"hash":"eecee429892929ff432b3b4e11228b05148b235a272391876ce78e748a5f783e"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx":{"size":2461,"mtime_ns":1775544980992662255,"hash":"c579648a40afe1f6d13a81fe5f9db1090de194f44c47520f097643d4bd45d0da"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx":{"size":5781,"mtime_ns":1779106456013716615,"hash":"4929bee18700fc70a3a844bf9c0012d1cb5d4694d00fa6cf8051696374790d91"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx":{"size":3236,"mtime_ns":1779106456011654198,"hash":"a8884b091aaceef1fed8165b025385fa79da768df105d82f6bdac21124585b4a"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx":{"size":6588,"mtime_ns":1775636773744270499,"hash":"a6263ba7b7f0f3e59a34161934166d0c866bc5d789b8fe7ced9b67dc11873f7c"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx":{"size":16926,"mtime_ns":1779106456011131447,"hash":"cce4bcb396d93283c9eec65ddf54ab50662fef27b234df602a63e827cf22b4b3"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx":{"size":5838,"mtime_ns":1775639775533787642,"hash":"0da96d45910137be7e105f88b9677cb18aef4c95457fe59da59982aacfcc43ec"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx":{"size":5408,"mtime_ns":1775635207529827470,"hash":"357d80ab68915113f99cead784ba3dafd059a42166533d36aeee91fadfe70625"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx":{"size":3592,"mtime_ns":1775638827695806753,"hash":"1ba149e305cc9158e0f60db9117d57d3b8ad1adaf1f5d72a70c9c518720f0e1a"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx":{"size":5301,"mtime_ns":1779106456012476281,"hash":"ea525c1508869fdd8a943eba94183c31d2391c760073f5777d1a402365a27427"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx":{"size":6665,"mtime_ns":1779106456013101282,"hash":"95ec65e1c813d8552f35884bb9103708a14f62c7a27183de98315165759d3b55"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx":{"size":15573,"mtime_ns":1779106456012118948,"hash":"f88ff33bc36f729fb00838aeb4955a7b25a1101fc4b86d17b25f4d7d45f03e78"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx":{"size":7839,"mtime_ns":1777107867096842914,"hash":"04343e2179644ab3b46e3c2613291521c1ccd347fee29e20a883f9f3cad758cd"},"/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-shell.tsx":{"size":1499,"mtime_ns":1779180525259325666,"hash":"55b809c33fe5ddca90067ee517882ac30a8e5df3729438d0c850412523798d48"},"/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx":{"size":822,"mtime_ns":1775638700013331296,"hash":"a04a3436d7edc30a372eba85d06c3da2cc5317f0968f98c74a11f732d85ac0f9"},"/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx":{"size":3928,"mtime_ns":1775639674106305137,"hash":"8c2028215627d6196fb8200d22165ad246a817e7c46ddec79d35ed8d808a9f2b"},"/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx":{"size":1239,"mtime_ns":1777186261752922841,"hash":"df8c29cf846c4a389144948fe8b624628ad5a5582ab33ab56f26a560e5e4e77b"},"/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx":{"size":16331,"mtime_ns":1779197151186217563,"hash":"caee92110ddececac4ac0ec6e3db47909d58cbb0a39e1eee487f3a9978a5e1e0"},"/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx":{"size":8691,"mtime_ns":1779180956567944756,"hash":"8397396d98dc05a4539408820bf9b5b3b21a05723620e200aa458988f77a7944"},"/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx":{"size":631,"mtime_ns":1778127854187472337,"hash":"c53d5eb7282adb492ef8e8d00121e48d5c90bd3bf3f708c038ec528131010163"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts":{"size":507,"mtime_ns":1777111660135824927,"hash":"25ddf413995ba949205b7fa901abb438895d5a496da8aa48b3d723e394de3b4c"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts":{"size":998,"mtime_ns":1775543223097991423,"hash":"5209fec417fa2d7245f824308ae6be28e044ad4c84cca9ac90d6767d916a484d"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts":{"size":2945,"mtime_ns":1778337003957733758,"hash":"e4166c5e85ee312ba8e543c4fdab8f6526f07d1e5e50fae22745d4fce90032af"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts":{"size":6091,"mtime_ns":1775558530787185578,"hash":"1cb1b25c527b1a37771772b6a288a1c713c9579a0c8043f9a2bc7b1f725168a8"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts":{"size":13736,"mtime_ns":1779179263137147003,"hash":"f3e468c59717f35d7db7c9daeb9b93809e74367ed1d247318ac244910d1282c1"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/utils.ts":{"size":166,"mtime_ns":1775543437825825647,"hash":"9b858917be3a4b93873520a904d36be64783e0082d07dd70b0cdcd91879ac580"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts":{"size":1379,"mtime_ns":1778133356140316965,"hash":"9ac18ca57fbf2b1224f9c868e9830d4c719e1f2c604f5cc52305874caa0a4a8b"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/auth-client.ts":{"size":273,"mtime_ns":1775541698498471831,"hash":"ea6106fd947c603cbefb3b01e4f9430663a8518159bd9d2f91c2dd4fd427feee"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts":{"size":3682,"mtime_ns":1777107837939075467,"hash":"b40f8f85d9b7008d3bb32441a807f2c6c7551e2de51a79ab57226fdca54c18bd"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts":{"size":1352,"mtime_ns":1777271863078377350,"hash":"1caa5a15d5c950aef103a4e9928c79490e95dc0a707c01380f24419a72c151af"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts":{"size":7104,"mtime_ns":1777450317976330456,"hash":"b0226ae72d19c4144899abbbe65e5e2c22ab77cd1cef8aa9fd4864a2ac7c5fc1"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts":{"size":1113,"mtime_ns":1778337022129081000,"hash":"2fb2b3e13bff03c8f1de2d3fe96b73fa3bc4f1c737a3039b0e76d17731863f42"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts":{"size":1566,"mtime_ns":1777107847469851096,"hash":"021167f20a006840db24ce705a6502e32768c314b6b4d16101064e93211a3603"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts":{"size":3063,"mtime_ns":1777107844003811072,"hash":"1bbc7aea73f56d8b0f0c5f3a8a8f021a1ed5c014dc6675dae20117c206ffd194"},"/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts":{"size":811,"mtime_ns":1777107480985503988,"hash":"ee0fbd658529f11e59d2bd6608a45bf5c193efe813a0a65d48ed8440ea36be38"},"/Users/dementiy/Documents/Claude/lms-system/README.md":{"size":1450,"mtime_ns":1775539455786625947,"hash":"0b44daaa94766d385f056c95e8aabb30ad6e49ef3aa9c7eb9e32606055f4eaf2"},"/Users/dementiy/Documents/Claude/lms-system/ROADMAP.md":{"size":26219,"mtime_ns":1778127844347461485,"hash":"58054f9557d36dceee71200a58b7760a750d63b0a2b8b8bfb5d707a410ea7f51"},"/Users/dementiy/Documents/Claude/lms-system/LMS_PROJECT_BRIEF.md":{"size":13877,"mtime_ns":1775537937099096179,"hash":"23d974861eec812e8ffa9f34e91fb871b3f4e4b93149f9641deea8cf14c60ab5"},"/Users/dementiy/Documents/Claude/lms-system/docker-compose.yml":{"size":303,"mtime_ns":1775539673517714007,"hash":"947898277df190eee4456c367af697ffc37f88b236ba288425bbf96f0550c638"},"/Users/dementiy/Documents/Claude/lms-system/docker-compose.prod.yml":{"size":928,"mtime_ns":1775540307576920257,"hash":"3bdef21caace985a0f7566704a01af557b1a7b4fc51df37565249751515d3d6c"},"/Users/dementiy/Documents/Claude/lms-system/DESIGN.md":{"size":2625,"mtime_ns":1779106456019306368,"hash":"eeae74540c1efd4f4f93e2b460e62ae6f435999d5a9db989a2911263fd007ba2"},"/Users/dementiy/Documents/Claude/lms-system/TECHNICAL.md":{"size":13413,"mtime_ns":1775555187306344402,"hash":"d9f534c9a4cc5c420e2685b57f9c84048a4820fc8159db191274a6654e9ac2ff"},"/Users/dementiy/Documents/Claude/lms-system/AGENTS.md":{"size":14169,"mtime_ns":1778127844347221114,"hash":"8dadbfafec3e33ab8d01c2fe4863362ed3e1696f2f21428d673a870179049225"},"/Users/dementiy/Documents/Claude/lms-system/TECH_DEBT_AUDIT.md":{"size":15238,"mtime_ns":1778336765167710826,"hash":"639da1ecbbe4a58c13fa876d4e184f99314eb99bc9888c00fc61e718772289e5"},"/Users/dementiy/Documents/Claude/lms-system/CLAUDE.md":{"size":10778,"mtime_ns":1778337231515081461,"hash":"937b4203afe76e45b941804f1ecddd490bc5395174fbbaa496f2070473472053"},"/Users/dementiy/Documents/Claude/lms-system/docs/specs/20260519-student-questions-design.md":{"size":5373,"mtime_ns":1779177173624969560,"hash":"728b41e1d8b02b521efd148b2fdc7a0767f0f3796b87acf4ebbabda46ab4231c"},"/Users/dementiy/Documents/Claude/lms-system/docs/superpowers/plans/2026-05-19-student-questions.md":{"size":61750,"mtime_ns":1779177560908418930,"hash":"ee5ad2b6461c0945272608c6712b7343c9c7920f7867c18c1f26dc139624e452"},"/Users/dementiy/Documents/Claude/lms-system/scripts/backup-setup.md":{"size":2862,"mtime_ns":1775641119090769914,"hash":"9cb1b3c5ff4807b6f4d213945ae1a18dd9216234bd3072326eeb4d218fdcdcf1"},"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/waiting-2.html":{"size":151,"mtime_ns":1779176668562282433,"hash":"434e6d6a2be778a4a2b5e61c944bab84456521d28e9d90743934ab0d75f8e9c6"},"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/admin-views.html":{"size":6184,"mtime_ns":1779176561902918446,"hash":"034f215aea8858b2807332f41c82315631b6d9b5450c8ac50116589874051fc5"},"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/waiting-1.html":{"size":144,"mtime_ns":1779176044220278909,"hash":"24e4b6ce85579d22020c6729e6e0920db2c6ea0930cfa86df70d2bd71ecf733b"},"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/student-questions.html":{"size":7807,"mtime_ns":1779176873049346270,"hash":"1d90398060a64956d92107b3dff4ab37c4623b7356736072c48a1c7b2390ab4b"},"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/conversation-model.html":{"size":3556,"mtime_ns":1779175933371128294,"hash":"15040423d7de6c61049e2f58c25f6033cba880ea4a7835ef4c8bbebf72472837"},"/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/entry-point.html":{"size":3670,"mtime_ns":1779175845068101098,"hash":"4f3501c5bfa26ea247d2c0898d6c99c8e8e02531dd024062b90fa9e24fbc59c4"},"/Users/dementiy/Documents/Claude/lms-system/public/file.svg":{"size":391,"mtime_ns":1775539455787108705,"hash":"52163ecb5257da6ecb3ddf8967f0d51a0da93d79d48caa09e9d307ea1c1d3f17"},"/Users/dementiy/Documents/Claude/lms-system/public/vercel.svg":{"size":128,"mtime_ns":1775539455787257207,"hash":"dd579ec801cede14607350aa14a79bf784424d7144e1b63dbcbc4b9e32c12474"},"/Users/dementiy/Documents/Claude/lms-system/public/next.svg":{"size":1375,"mtime_ns":1775539455787375834,"hash":"9caa34ac82b48d59fd2add4c0dbf6fcceaf3c3904254c3ccd89dd00644b375ad"},"/Users/dementiy/Documents/Claude/lms-system/public/globe.svg":{"size":1035,"mtime_ns":1775539455787522253,"hash":"8c99baedee05ada37bd392e179350c9a8e893c25c08cb2e1a8ec25f4f8a33868"},"/Users/dementiy/Documents/Claude/lms-system/public/window.svg":{"size":385,"mtime_ns":1775539455787654213,"hash":"58d233ee9a0b0231d74f31667bfd20bc006b78d64d40f6521293bd71f06d435e"},"/Users/dementiy/Documents/Claude/lms-system/prisma/schema.prisma":{"size":12635,"mtime_ns":1779178468499359105,"hash":"34671ec3a50559bbf5906f4435217f48b5271a9b5083486ceb8f46cdda00d34c"}}
\ No newline at end of file
diff --git a/graphify-out/cost.json b/graphify-out/cost.json
new file mode 100644
index 0000000..b064494
--- /dev/null
+++ b/graphify-out/cost.json
@@ -0,0 +1,12 @@
+{
+ "runs": [
+ {
+ "date": "2026-05-20T13:03:23.318602+00:00",
+ "input_tokens": 193752,
+ "output_tokens": 7975,
+ "files": 189
+ }
+ ],
+ "total_input_tokens": 193752,
+ "total_output_tokens": 7975
+}
\ No newline at end of file
diff --git a/graphify-out/graph.html b/graphify-out/graph.html
new file mode 100644
index 0000000..b69498c
--- /dev/null
+++ b/graphify-out/graph.html
@@ -0,0 +1,305 @@
+
+
+
+
+graphify - graphify-out/graph.html
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/graphify-out/graph.json b/graphify-out/graph.json
new file mode 100644
index 0000000..34d7fcf
--- /dev/null
+++ b/graphify-out/graph.json
@@ -0,0 +1,19367 @@
+{
+ "directed": false,
+ "multigraph": false,
+ "graph": {},
+ "nodes": [
+ {
+ "label": "postcss.config.mjs",
+ "file_type": "code",
+ "source_file": "postcss.config.mjs",
+ "source_location": "L1",
+ "id": "postcss_config_mjs",
+ "community": 43,
+ "norm_label": "postcss.config.mjs"
+ },
+ {
+ "label": "config",
+ "file_type": "code",
+ "source_file": "postcss.config.mjs",
+ "source_location": "L1",
+ "id": "lms_system_postcss_config_config",
+ "community": 43,
+ "norm_label": "config"
+ },
+ {
+ "label": "load-test.js",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L1",
+ "id": "load_test_js",
+ "community": 20,
+ "norm_label": "load-test.js"
+ },
+ {
+ "label": "LESSONS",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L7",
+ "id": "lms_system_load_test_lessons",
+ "community": 20,
+ "norm_label": "lessons"
+ },
+ {
+ "label": "TEST_USER",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L20",
+ "id": "lms_system_load_test_test_user",
+ "community": 20,
+ "norm_label": "test_user"
+ },
+ {
+ "label": "BROWSER_HEADERS",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L25",
+ "id": "lms_system_load_test_browser_headers",
+ "community": 20,
+ "norm_label": "browser_headers"
+ },
+ {
+ "label": "options",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L30",
+ "id": "lms_system_load_test_options",
+ "community": 20,
+ "norm_label": "options"
+ },
+ {
+ "label": "jar",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L49",
+ "id": "lms_system_load_test_jar",
+ "community": 20,
+ "norm_label": "jar"
+ },
+ {
+ "label": "loginRes",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L57",
+ "id": "lms_system_load_test_loginres",
+ "community": 20,
+ "norm_label": "loginres"
+ },
+ {
+ "label": "dashRes",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L73",
+ "id": "lms_system_load_test_dashres",
+ "community": 20,
+ "norm_label": "dashres"
+ },
+ {
+ "label": "courseRes",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L78",
+ "id": "lms_system_load_test_courseres",
+ "community": 20,
+ "norm_label": "courseres"
+ },
+ {
+ "label": "lessonRes",
+ "file_type": "code",
+ "source_file": "load-test.js",
+ "source_location": "L85",
+ "id": "lms_system_load_test_lessonres",
+ "community": 20,
+ "norm_label": "lessonres"
+ },
+ {
+ "label": "prisma.config.ts",
+ "file_type": "code",
+ "source_file": "prisma.config.ts",
+ "source_location": "L1",
+ "id": "prisma_config_ts",
+ "community": 34,
+ "norm_label": "prisma.config.ts"
+ },
+ {
+ "label": "next-env.d.ts",
+ "file_type": "code",
+ "source_file": "next-env.d.ts",
+ "source_location": "L1",
+ "id": "next_env_d_ts",
+ "community": 52,
+ "norm_label": "next-env.d.ts"
+ },
+ {
+ "label": "package.json",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L1",
+ "id": "package_json",
+ "community": 8,
+ "norm_label": "package.json"
+ },
+ {
+ "label": "name",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L2",
+ "id": "lms_system_package_name",
+ "community": 8,
+ "norm_label": "name"
+ },
+ {
+ "label": "version",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L3",
+ "id": "lms_system_package_version",
+ "community": 8,
+ "norm_label": "version"
+ },
+ {
+ "label": "private",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L4",
+ "id": "lms_system_package_private",
+ "community": 8,
+ "norm_label": "private"
+ },
+ {
+ "label": "scripts",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L5",
+ "id": "lms_system_package_scripts",
+ "community": 8,
+ "norm_label": "scripts"
+ },
+ {
+ "label": "dev",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L6",
+ "id": "lms_system_package_scripts_dev",
+ "community": 8,
+ "norm_label": "dev"
+ },
+ {
+ "label": "build",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L7",
+ "id": "lms_system_package_scripts_build",
+ "community": 8,
+ "norm_label": "build"
+ },
+ {
+ "label": "start",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L8",
+ "id": "lms_system_package_scripts_start",
+ "community": 8,
+ "norm_label": "start"
+ },
+ {
+ "label": "lint",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L9",
+ "id": "lms_system_package_scripts_lint",
+ "community": 8,
+ "norm_label": "lint"
+ },
+ {
+ "label": "type-check",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L10",
+ "id": "lms_system_package_scripts_type_check",
+ "community": 8,
+ "norm_label": "type-check"
+ },
+ {
+ "label": "prisma",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L12",
+ "id": "lms_system_package_prisma",
+ "community": 8,
+ "norm_label": "prisma"
+ },
+ {
+ "label": "seed",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L13",
+ "id": "lms_system_package_prisma_seed",
+ "community": 8,
+ "norm_label": "seed"
+ },
+ {
+ "label": "dependencies",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L15",
+ "id": "lms_system_package_dependencies",
+ "community": 2,
+ "norm_label": "dependencies"
+ },
+ {
+ "label": "@aws-sdk/client-s3",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L16",
+ "id": "lms_system_package_dependencies_aws_sdk_client_s3",
+ "community": 2,
+ "norm_label": "@aws-sdk/client-s3"
+ },
+ {
+ "label": "@aws-sdk/s3-request-presigner",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L17",
+ "id": "lms_system_package_dependencies_aws_sdk_s3_request_presigner",
+ "community": 2,
+ "norm_label": "@aws-sdk/s3-request-presigner"
+ },
+ {
+ "label": "@base-ui/react",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L18",
+ "id": "lms_system_package_dependencies_base_ui_react",
+ "community": 2,
+ "norm_label": "@base-ui/react"
+ },
+ {
+ "label": "@dnd-kit/core",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L19",
+ "id": "lms_system_package_dependencies_dnd_kit_core",
+ "community": 2,
+ "norm_label": "@dnd-kit/core"
+ },
+ {
+ "label": "@dnd-kit/sortable",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L20",
+ "id": "lms_system_package_dependencies_dnd_kit_sortable",
+ "community": 2,
+ "norm_label": "@dnd-kit/sortable"
+ },
+ {
+ "label": "@dnd-kit/utilities",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L21",
+ "id": "lms_system_package_dependencies_dnd_kit_utilities",
+ "community": 2,
+ "norm_label": "@dnd-kit/utilities"
+ },
+ {
+ "label": "@kinescope/react-kinescope-player",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L22",
+ "id": "lms_system_package_dependencies_kinescope_react_kinescope_player",
+ "community": 2,
+ "norm_label": "@kinescope/react-kinescope-player"
+ },
+ {
+ "label": "@prisma/adapter-pg",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L23",
+ "id": "lms_system_package_dependencies_prisma_adapter_pg",
+ "community": 2,
+ "norm_label": "@prisma/adapter-pg"
+ },
+ {
+ "label": "@prisma/client",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L24",
+ "id": "lms_system_package_dependencies_prisma_client",
+ "community": 18,
+ "norm_label": "@prisma/client"
+ },
+ {
+ "label": "@tiptap/extension-image",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L25",
+ "id": "lms_system_package_dependencies_tiptap_extension_image",
+ "community": 2,
+ "norm_label": "@tiptap/extension-image"
+ },
+ {
+ "label": "@tiptap/extension-link",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L26",
+ "id": "lms_system_package_dependencies_tiptap_extension_link",
+ "community": 2,
+ "norm_label": "@tiptap/extension-link"
+ },
+ {
+ "label": "@tiptap/extension-placeholder",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L27",
+ "id": "lms_system_package_dependencies_tiptap_extension_placeholder",
+ "community": 2,
+ "norm_label": "@tiptap/extension-placeholder"
+ },
+ {
+ "label": "@tiptap/extension-underline",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L28",
+ "id": "lms_system_package_dependencies_tiptap_extension_underline",
+ "community": 2,
+ "norm_label": "@tiptap/extension-underline"
+ },
+ {
+ "label": "@tiptap/pm",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L29",
+ "id": "lms_system_package_dependencies_tiptap_pm",
+ "community": 2,
+ "norm_label": "@tiptap/pm"
+ },
+ {
+ "label": "@tiptap/react",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L30",
+ "id": "lms_system_package_dependencies_tiptap_react",
+ "community": 2,
+ "norm_label": "@tiptap/react"
+ },
+ {
+ "label": "@tiptap/starter-kit",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L31",
+ "id": "lms_system_package_dependencies_tiptap_starter_kit",
+ "community": 2,
+ "norm_label": "@tiptap/starter-kit"
+ },
+ {
+ "label": "bcryptjs",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L32",
+ "id": "lms_system_package_dependencies_bcryptjs",
+ "community": 2,
+ "norm_label": "bcryptjs"
+ },
+ {
+ "label": "better-auth",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L33",
+ "id": "lms_system_package_dependencies_better_auth",
+ "community": 2,
+ "norm_label": "better-auth"
+ },
+ {
+ "label": "class-variance-authority",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L34",
+ "id": "lms_system_package_dependencies_class_variance_authority",
+ "community": 2,
+ "norm_label": "class-variance-authority"
+ },
+ {
+ "label": "clsx",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L35",
+ "id": "lms_system_package_dependencies_clsx",
+ "community": 2,
+ "norm_label": "clsx"
+ },
+ {
+ "label": "gray-matter",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L36",
+ "id": "lms_system_package_dependencies_gray_matter",
+ "community": 2,
+ "norm_label": "gray-matter"
+ },
+ {
+ "label": "iconv-lite",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L37",
+ "id": "lms_system_package_dependencies_iconv_lite",
+ "community": 2,
+ "norm_label": "iconv-lite"
+ },
+ {
+ "label": "lucide-react",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L38",
+ "id": "lms_system_package_dependencies_lucide_react",
+ "community": 2,
+ "norm_label": "lucide-react"
+ },
+ {
+ "label": "next",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L39",
+ "id": "lms_system_package_dependencies_next",
+ "community": 2,
+ "norm_label": "next"
+ },
+ {
+ "label": "next-themes",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L40",
+ "id": "lms_system_package_dependencies_next_themes",
+ "community": 2,
+ "norm_label": "next-themes"
+ },
+ {
+ "label": "pg",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L41",
+ "id": "lms_system_package_dependencies_pg",
+ "community": 2,
+ "norm_label": "pg"
+ },
+ {
+ "label": "react",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L42",
+ "id": "lms_system_package_dependencies_react",
+ "community": 2,
+ "norm_label": "react"
+ },
+ {
+ "label": "react-dom",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L43",
+ "id": "lms_system_package_dependencies_react_dom",
+ "community": 2,
+ "norm_label": "react-dom"
+ },
+ {
+ "label": "remark-parse",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L44",
+ "id": "lms_system_package_dependencies_remark_parse",
+ "community": 2,
+ "norm_label": "remark-parse"
+ },
+ {
+ "label": "resend",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L45",
+ "id": "lms_system_package_dependencies_resend",
+ "community": 2,
+ "norm_label": "resend"
+ },
+ {
+ "label": "sonner",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L46",
+ "id": "lms_system_package_dependencies_sonner",
+ "community": 2,
+ "norm_label": "sonner"
+ },
+ {
+ "label": "tailwind-merge",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L47",
+ "id": "lms_system_package_dependencies_tailwind_merge",
+ "community": 2,
+ "norm_label": "tailwind-merge"
+ },
+ {
+ "label": "unified",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L48",
+ "id": "lms_system_package_dependencies_unified",
+ "community": 2,
+ "norm_label": "unified"
+ },
+ {
+ "label": "zod",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L49",
+ "id": "lms_system_package_dependencies_zod",
+ "community": 2,
+ "norm_label": "zod"
+ },
+ {
+ "label": "devDependencies",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L51",
+ "id": "lms_system_package_devdependencies",
+ "community": 8,
+ "norm_label": "devdependencies"
+ },
+ {
+ "label": "@tailwindcss/postcss",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L52",
+ "id": "lms_system_package_devdependencies_tailwindcss_postcss",
+ "community": 8,
+ "norm_label": "@tailwindcss/postcss"
+ },
+ {
+ "label": "@types/bcryptjs",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L53",
+ "id": "lms_system_package_devdependencies_types_bcryptjs",
+ "community": 8,
+ "norm_label": "@types/bcryptjs"
+ },
+ {
+ "label": "@types/node",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L54",
+ "id": "lms_system_package_devdependencies_types_node",
+ "community": 8,
+ "norm_label": "@types/node"
+ },
+ {
+ "label": "@types/pg",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L55",
+ "id": "lms_system_package_devdependencies_types_pg",
+ "community": 8,
+ "norm_label": "@types/pg"
+ },
+ {
+ "label": "@types/react",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L56",
+ "id": "lms_system_package_devdependencies_types_react",
+ "community": 8,
+ "norm_label": "@types/react"
+ },
+ {
+ "label": "@types/react-dom",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L57",
+ "id": "lms_system_package_devdependencies_types_react_dom",
+ "community": 8,
+ "norm_label": "@types/react-dom"
+ },
+ {
+ "label": "dotenv",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L58",
+ "id": "lms_system_package_devdependencies_dotenv",
+ "community": 8,
+ "norm_label": "dotenv"
+ },
+ {
+ "label": "eslint",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L59",
+ "id": "lms_system_package_devdependencies_eslint",
+ "community": 8,
+ "norm_label": "eslint"
+ },
+ {
+ "label": "eslint-config-next",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L60",
+ "id": "lms_system_package_devdependencies_eslint_config_next",
+ "community": 8,
+ "norm_label": "eslint-config-next"
+ },
+ {
+ "label": "prisma",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L61",
+ "id": "lms_system_package_devdependencies_prisma",
+ "community": 8,
+ "norm_label": "prisma"
+ },
+ {
+ "label": "tailwindcss",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L62",
+ "id": "lms_system_package_devdependencies_tailwindcss",
+ "community": 8,
+ "norm_label": "tailwindcss"
+ },
+ {
+ "label": "ts-node",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L63",
+ "id": "lms_system_package_devdependencies_ts_node",
+ "community": 8,
+ "norm_label": "ts-node"
+ },
+ {
+ "label": "typescript",
+ "file_type": "code",
+ "source_file": "package.json",
+ "source_location": "L64",
+ "id": "lms_system_package_devdependencies_typescript",
+ "community": 8,
+ "norm_label": "typescript"
+ },
+ {
+ "label": "components.json",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L1",
+ "id": "components_json",
+ "community": 12,
+ "norm_label": "components.json"
+ },
+ {
+ "label": "$schema",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L2",
+ "id": "lms_system_components_schema",
+ "community": 12,
+ "norm_label": "$schema"
+ },
+ {
+ "label": "style",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L3",
+ "id": "lms_system_components_style",
+ "community": 12,
+ "norm_label": "style"
+ },
+ {
+ "label": "rsc",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L4",
+ "id": "lms_system_components_rsc",
+ "community": 12,
+ "norm_label": "rsc"
+ },
+ {
+ "label": "tsx",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L5",
+ "id": "lms_system_components_tsx",
+ "community": 12,
+ "norm_label": "tsx"
+ },
+ {
+ "label": "tailwind",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L6",
+ "id": "lms_system_components_tailwind",
+ "community": 12,
+ "norm_label": "tailwind"
+ },
+ {
+ "label": "config",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L7",
+ "id": "lms_system_components_tailwind_config",
+ "community": 12,
+ "norm_label": "config"
+ },
+ {
+ "label": "css",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L8",
+ "id": "lms_system_components_tailwind_css",
+ "community": 12,
+ "norm_label": "css"
+ },
+ {
+ "label": "baseColor",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L9",
+ "id": "lms_system_components_tailwind_basecolor",
+ "community": 12,
+ "norm_label": "basecolor"
+ },
+ {
+ "label": "cssVariables",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L10",
+ "id": "lms_system_components_tailwind_cssvariables",
+ "community": 12,
+ "norm_label": "cssvariables"
+ },
+ {
+ "label": "prefix",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L11",
+ "id": "lms_system_components_tailwind_prefix",
+ "community": 12,
+ "norm_label": "prefix"
+ },
+ {
+ "label": "iconLibrary",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L13",
+ "id": "lms_system_components_iconlibrary",
+ "community": 12,
+ "norm_label": "iconlibrary"
+ },
+ {
+ "label": "rtl",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L14",
+ "id": "lms_system_components_rtl",
+ "community": 12,
+ "norm_label": "rtl"
+ },
+ {
+ "label": "aliases",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L15",
+ "id": "lms_system_components_aliases",
+ "community": 12,
+ "norm_label": "aliases"
+ },
+ {
+ "label": "components",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L16",
+ "id": "lms_system_components_aliases_components",
+ "community": 12,
+ "norm_label": "components"
+ },
+ {
+ "label": "utils",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L17",
+ "id": "lms_system_components_aliases_utils",
+ "community": 12,
+ "norm_label": "utils"
+ },
+ {
+ "label": "ui",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L18",
+ "id": "lms_system_components_aliases_ui",
+ "community": 12,
+ "norm_label": "ui"
+ },
+ {
+ "label": "lib",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L19",
+ "id": "lms_system_components_aliases_lib",
+ "community": 12,
+ "norm_label": "lib"
+ },
+ {
+ "label": "hooks",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L20",
+ "id": "lms_system_components_aliases_hooks",
+ "community": 12,
+ "norm_label": "hooks"
+ },
+ {
+ "label": "menuColor",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L22",
+ "id": "lms_system_components_menucolor",
+ "community": 12,
+ "norm_label": "menucolor"
+ },
+ {
+ "label": "menuAccent",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L23",
+ "id": "lms_system_components_menuaccent",
+ "community": 12,
+ "norm_label": "menuaccent"
+ },
+ {
+ "label": "registries",
+ "file_type": "code",
+ "source_file": "components.json",
+ "source_location": "L24",
+ "id": "lms_system_components_registries",
+ "community": 12,
+ "norm_label": "registries"
+ },
+ {
+ "label": "tsconfig.json",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L1",
+ "id": "tsconfig_json",
+ "community": 15,
+ "norm_label": "tsconfig.json"
+ },
+ {
+ "label": "compilerOptions",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L2",
+ "id": "lms_system_tsconfig_compileroptions",
+ "community": 15,
+ "norm_label": "compileroptions"
+ },
+ {
+ "label": "target",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L3",
+ "id": "lms_system_tsconfig_compileroptions_target",
+ "community": 15,
+ "norm_label": "target"
+ },
+ {
+ "label": "lib",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L4",
+ "id": "lms_system_tsconfig_compileroptions_lib",
+ "community": 15,
+ "norm_label": "lib"
+ },
+ {
+ "label": "allowJs",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L5",
+ "id": "lms_system_tsconfig_compileroptions_allowjs",
+ "community": 15,
+ "norm_label": "allowjs"
+ },
+ {
+ "label": "skipLibCheck",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L6",
+ "id": "lms_system_tsconfig_compileroptions_skiplibcheck",
+ "community": 15,
+ "norm_label": "skiplibcheck"
+ },
+ {
+ "label": "strict",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L7",
+ "id": "lms_system_tsconfig_compileroptions_strict",
+ "community": 15,
+ "norm_label": "strict"
+ },
+ {
+ "label": "noEmit",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L8",
+ "id": "lms_system_tsconfig_compileroptions_noemit",
+ "community": 15,
+ "norm_label": "noemit"
+ },
+ {
+ "label": "esModuleInterop",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L9",
+ "id": "lms_system_tsconfig_compileroptions_esmoduleinterop",
+ "community": 15,
+ "norm_label": "esmoduleinterop"
+ },
+ {
+ "label": "module",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L10",
+ "id": "lms_system_tsconfig_compileroptions_module",
+ "community": 15,
+ "norm_label": "module"
+ },
+ {
+ "label": "moduleResolution",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L11",
+ "id": "lms_system_tsconfig_compileroptions_moduleresolution",
+ "community": 15,
+ "norm_label": "moduleresolution"
+ },
+ {
+ "label": "resolveJsonModule",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L12",
+ "id": "lms_system_tsconfig_compileroptions_resolvejsonmodule",
+ "community": 15,
+ "norm_label": "resolvejsonmodule"
+ },
+ {
+ "label": "isolatedModules",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L13",
+ "id": "lms_system_tsconfig_compileroptions_isolatedmodules",
+ "community": 15,
+ "norm_label": "isolatedmodules"
+ },
+ {
+ "label": "jsx",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L14",
+ "id": "lms_system_tsconfig_compileroptions_jsx",
+ "community": 15,
+ "norm_label": "jsx"
+ },
+ {
+ "label": "incremental",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L15",
+ "id": "lms_system_tsconfig_compileroptions_incremental",
+ "community": 15,
+ "norm_label": "incremental"
+ },
+ {
+ "label": "plugins",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L16",
+ "id": "lms_system_tsconfig_compileroptions_plugins",
+ "community": 15,
+ "norm_label": "plugins"
+ },
+ {
+ "label": "paths",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L21",
+ "id": "lms_system_tsconfig_compileroptions_paths",
+ "community": 15,
+ "norm_label": "paths"
+ },
+ {
+ "label": "@/*",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L22",
+ "id": "lms_system_tsconfig_paths",
+ "community": 15,
+ "norm_label": "@/*"
+ },
+ {
+ "label": "include",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L25",
+ "id": "lms_system_tsconfig_include",
+ "community": 15,
+ "norm_label": "include"
+ },
+ {
+ "label": "exclude",
+ "file_type": "code",
+ "source_file": "tsconfig.json",
+ "source_location": "L33",
+ "id": "lms_system_tsconfig_exclude",
+ "community": 15,
+ "norm_label": "exclude"
+ },
+ {
+ "label": "entrypoint.sh",
+ "file_type": "code",
+ "source_file": "entrypoint.sh",
+ "source_location": "L1",
+ "id": "entrypoint_sh",
+ "community": 53,
+ "norm_label": "entrypoint.sh"
+ },
+ {
+ "label": "eslint.config.mjs",
+ "file_type": "code",
+ "source_file": "eslint.config.mjs",
+ "source_location": "L1",
+ "id": "eslint_config_mjs",
+ "community": 42,
+ "norm_label": "eslint.config.mjs"
+ },
+ {
+ "label": "eslintConfig",
+ "file_type": "code",
+ "source_file": "eslint.config.mjs",
+ "source_location": "L5",
+ "id": "lms_system_eslint_config_eslintconfig",
+ "community": 42,
+ "norm_label": "eslintconfig"
+ },
+ {
+ "label": "next.config.ts",
+ "file_type": "code",
+ "source_file": "next.config.ts",
+ "source_location": "L1",
+ "id": "next_config_ts",
+ "community": 8,
+ "norm_label": "next.config.ts"
+ },
+ {
+ "label": "nextConfig",
+ "file_type": "code",
+ "source_file": "next.config.ts",
+ "source_location": "L3",
+ "id": "lms_system_next_config_nextconfig",
+ "community": 8,
+ "norm_label": "nextconfig"
+ },
+ {
+ "label": "seed.ts",
+ "file_type": "code",
+ "source_file": "prisma/seed.ts",
+ "source_location": "L1",
+ "id": "prisma_seed_ts",
+ "community": 30,
+ "norm_label": "seed.ts"
+ },
+ {
+ "label": "adapter",
+ "file_type": "code",
+ "source_file": "prisma/seed.ts",
+ "source_location": "L6",
+ "id": "prisma_seed_adapter",
+ "community": 30,
+ "norm_label": "adapter"
+ },
+ {
+ "label": "prisma",
+ "file_type": "code",
+ "source_file": "prisma/seed.ts",
+ "source_location": "L7",
+ "id": "prisma_seed_prisma",
+ "community": 30,
+ "norm_label": "prisma"
+ },
+ {
+ "label": "main()",
+ "file_type": "code",
+ "source_file": "prisma/seed.ts",
+ "source_location": "L9",
+ "id": "prisma_seed_main",
+ "community": 30,
+ "norm_label": "main()"
+ },
+ {
+ "label": "backup.sh",
+ "file_type": "code",
+ "source_file": "scripts/backup.sh",
+ "source_location": "L1",
+ "id": "scripts_backup_sh",
+ "community": 47,
+ "norm_label": "backup.sh"
+ },
+ {
+ "label": "log()",
+ "file_type": "code",
+ "source_file": "scripts/backup.sh",
+ "source_location": "L32",
+ "id": "scripts_backup_log",
+ "community": 47,
+ "norm_label": "log()"
+ },
+ {
+ "label": "middleware.ts",
+ "file_type": "code",
+ "source_file": "src/middleware.ts",
+ "source_location": "L1",
+ "id": "src_middleware_ts",
+ "community": 32,
+ "norm_label": "middleware.ts"
+ },
+ {
+ "label": "PUBLIC_ROUTES",
+ "file_type": "code",
+ "source_file": "src/middleware.ts",
+ "source_location": "L4",
+ "id": "src_middleware_public_routes",
+ "community": 32,
+ "norm_label": "public_routes"
+ },
+ {
+ "label": "middleware()",
+ "file_type": "code",
+ "source_file": "src/middleware.ts",
+ "source_location": "L6",
+ "id": "src_middleware_middleware",
+ "community": 32,
+ "norm_label": "middleware()"
+ },
+ {
+ "label": "config",
+ "file_type": "code",
+ "source_file": "src/middleware.ts",
+ "source_location": "L26",
+ "id": "src_middleware_config",
+ "community": 32,
+ "norm_label": "config"
+ },
+ {
+ "label": "layout.tsx",
+ "file_type": "code",
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L1",
+ "id": "src_app_layout_tsx",
+ "community": 1,
+ "norm_label": "layout.tsx"
+ },
+ {
+ "label": "firaMono",
+ "file_type": "code",
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L6",
+ "id": "app_layout_firamono",
+ "community": 1,
+ "norm_label": "firamono"
+ },
+ {
+ "label": "generateMetadata()",
+ "file_type": "code",
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L13",
+ "id": "app_layout_generatemetadata",
+ "community": 1,
+ "norm_label": "generatemetadata()"
+ },
+ {
+ "label": "RootLayout()",
+ "file_type": "code",
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L22",
+ "id": "app_layout_rootlayout",
+ "community": 1,
+ "norm_label": "rootlayout()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_page_tsx",
+ "community": 5,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "HomePage()",
+ "file_type": "code",
+ "source_file": "src/app/page.tsx",
+ "source_location": "L5",
+ "id": "app_page_homepage",
+ "community": 5,
+ "norm_label": "homepage()"
+ },
+ {
+ "label": "layout.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L1",
+ "id": "src_app_student_layout_tsx",
+ "community": 1,
+ "norm_label": "layout.tsx"
+ },
+ {
+ "label": "StudentLayout()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L9",
+ "id": "student_layout_studentlayout",
+ "community": 1,
+ "norm_label": "studentlayout()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(student)/dashboard/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_student_dashboard_page_tsx",
+ "community": 13,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "StudentDashboard()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/dashboard/page.tsx",
+ "source_location": "L7",
+ "id": "dashboard_page_studentdashboard",
+ "community": 13,
+ "norm_label": "studentdashboard()"
+ },
+ {
+ "label": "layout.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L1",
+ "id": "src_app_student_courses_slug_layout_tsx",
+ "community": 25,
+ "norm_label": "layout.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L8",
+ "id": "slug_layout_props",
+ "community": 25,
+ "norm_label": "props"
+ },
+ {
+ "label": "CourseLayout()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L13",
+ "id": "slug_layout_courselayout",
+ "community": 25,
+ "norm_label": "courselayout()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_student_courses_slug_page_tsx",
+ "community": 13,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/page.tsx",
+ "source_location": "L5",
+ "id": "slug_page_props",
+ "community": 13,
+ "norm_label": "props"
+ },
+ {
+ "label": "CoursePage()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/page.tsx",
+ "source_location": "L9",
+ "id": "slug_page_coursepage",
+ "community": 13,
+ "norm_label": "coursepage()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_student_courses_slug_lessons_lessonid_actions_ts",
+ "community": 5,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "toggleLessonProgress()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts",
+ "source_location": "L8",
+ "id": "lessonid_actions_togglelessonprogress",
+ "community": 5,
+ "norm_label": "togglelessonprogress()"
+ },
+ {
+ "label": "homework-actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L1",
+ "id": "src_app_student_courses_slug_lessons_lessonid_homework_actions_ts",
+ "community": 3,
+ "norm_label": "homework-actions.ts"
+ },
+ {
+ "label": "HomeworkFile",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L9",
+ "id": "lessonid_homework_actions_homeworkfile",
+ "community": 3,
+ "norm_label": "homeworkfile"
+ },
+ {
+ "label": "submitHomework()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L15",
+ "id": "lessonid_homework_actions_submithomework",
+ "community": 3,
+ "norm_label": "submithomework()"
+ },
+ {
+ "label": "comment-actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "source_location": "L1",
+ "id": "src_app_student_courses_slug_lessons_lessonid_comment_actions_ts",
+ "community": 36,
+ "norm_label": "comment-actions.ts"
+ },
+ {
+ "label": "addComment()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "source_location": "L8",
+ "id": "lessonid_comment_actions_addcomment",
+ "community": 36,
+ "norm_label": "addcomment()"
+ },
+ {
+ "label": "deleteComment()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "source_location": "L50",
+ "id": "lessonid_comment_actions_deletecomment",
+ "community": 36,
+ "norm_label": "deletecomment()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "community": 4,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L9",
+ "id": "lessonid_page_props",
+ "community": 6,
+ "norm_label": "props"
+ },
+ {
+ "label": "LessonPage()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L18",
+ "id": "lessonid_page_lessonpage",
+ "community": 4,
+ "norm_label": "lessonpage()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/(student)/profile/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_student_profile_actions_ts",
+ "community": 5,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "changePasswordAction()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/profile/actions.ts",
+ "source_location": "L8",
+ "id": "profile_actions_changepasswordaction",
+ "community": 5,
+ "norm_label": "changepasswordaction()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(student)/profile/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_student_profile_page_tsx",
+ "community": 5,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "metadata",
+ "file_type": "code",
+ "source_file": "src/app/(student)/profile/page.tsx",
+ "source_location": "L6",
+ "id": "profile_page_metadata",
+ "community": 5,
+ "norm_label": "metadata"
+ },
+ {
+ "label": "ProfilePage()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/profile/page.tsx",
+ "source_location": "L8",
+ "id": "profile_page_profilepage",
+ "community": 5,
+ "norm_label": "profilepage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(student)/questions/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_student_questions_page_tsx",
+ "community": 5,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "QuestionsPage()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/questions/page.tsx",
+ "source_location": "L7",
+ "id": "questions_page_questionspage",
+ "community": 5,
+ "norm_label": "questionspage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(student)/questions/new/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_student_questions_new_page_tsx",
+ "community": 29,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "FileAttachment",
+ "file_type": "code",
+ "source_file": "src/app/(student)/questions/new/page.tsx",
+ "source_location": "L7",
+ "id": "new_page_fileattachment",
+ "community": 29,
+ "norm_label": "fileattachment"
+ },
+ {
+ "label": "formatFileSize()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/questions/new/page.tsx",
+ "source_location": "L13",
+ "id": "new_page_formatfilesize",
+ "community": 29,
+ "norm_label": "formatfilesize()"
+ },
+ {
+ "label": "NewQuestionPage()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/questions/new/page.tsx",
+ "source_location": "L19",
+ "id": "new_page_newquestionpage",
+ "community": 29,
+ "norm_label": "newquestionpage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(student)/questions/[id]/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_student_questions_id_page_tsx",
+ "community": 5,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "QuestionThreadPage()",
+ "file_type": "code",
+ "source_file": "src/app/(student)/questions/[id]/page.tsx",
+ "source_location": "L8",
+ "id": "id_page_questionthreadpage",
+ "community": 5,
+ "norm_label": "questionthreadpage()"
+ },
+ {
+ "label": "layout.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/layout.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_layout_tsx",
+ "community": 13,
+ "norm_label": "layout.tsx"
+ },
+ {
+ "label": "AdminLayout()",
+ "file_type": "code",
+ "source_file": "src/app/admin/layout.tsx",
+ "source_location": "L7",
+ "id": "admin_layout_adminlayout",
+ "community": 18,
+ "norm_label": "adminlayout()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/settings/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_settings_actions_ts",
+ "community": 1,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "saveSettings()",
+ "file_type": "code",
+ "source_file": "src/app/admin/settings/actions.ts",
+ "source_location": "L9",
+ "id": "settings_actions_savesettings",
+ "community": 1,
+ "norm_label": "savesettings()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_settings_page_tsx",
+ "community": 1,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "metadata",
+ "file_type": "code",
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L4",
+ "id": "settings_page_metadata",
+ "community": 1,
+ "norm_label": "metadata"
+ },
+ {
+ "label": "SettingsPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L6",
+ "id": "settings_page_settingspage",
+ "community": 1,
+ "norm_label": "settingspage()"
+ },
+ {
+ "label": "delete-action.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/comments/delete-action.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_comments_delete_action_ts",
+ "community": 5,
+ "norm_label": "delete-action.ts"
+ },
+ {
+ "label": "deleteComment()",
+ "file_type": "code",
+ "source_file": "src/app/admin/comments/delete-action.ts",
+ "source_location": "L8",
+ "id": "comments_delete_action_deletecomment",
+ "community": 5,
+ "norm_label": "deletecomment()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/comments/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_comments_actions_ts",
+ "community": 21,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "adminDeleteComment()",
+ "file_type": "code",
+ "source_file": "src/app/admin/comments/actions.ts",
+ "source_location": "L8",
+ "id": "comments_actions_admindeletecomment",
+ "community": 21,
+ "norm_label": "admindeletecomment()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_comments_page_tsx",
+ "community": 21,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "metadata",
+ "file_type": "code",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L9",
+ "id": "comments_page_metadata",
+ "community": 21,
+ "norm_label": "metadata"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L13",
+ "id": "comments_page_props",
+ "community": 21,
+ "norm_label": "props"
+ },
+ {
+ "label": "AdminCommentsPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L17",
+ "id": "comments_page_admincommentspage",
+ "community": 21,
+ "norm_label": "admincommentspage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/dashboard/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_dashboard_page_tsx",
+ "community": 27,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "AdminDashboard()",
+ "file_type": "code",
+ "source_file": "src/app/admin/dashboard/page.tsx",
+ "source_location": "L4",
+ "id": "dashboard_page_admindashboard",
+ "community": 27,
+ "norm_label": "admindashboard()"
+ },
+ {
+ "label": "StatCard()",
+ "file_type": "code",
+ "source_file": "src/app/curator/dashboard/page.tsx",
+ "source_location": "L48",
+ "id": "dashboard_page_statcard",
+ "community": 27,
+ "norm_label": "statcard()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_courses_actions_ts",
+ "community": 0,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L9",
+ "id": "courses_actions_requireadmin",
+ "community": 0,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "slugify()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L14",
+ "id": "courses_actions_slugify",
+ "community": 0,
+ "norm_label": "slugify()"
+ },
+ {
+ "label": "createCourse()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L26",
+ "id": "courses_actions_createcourse",
+ "community": 0,
+ "norm_label": "createcourse()"
+ },
+ {
+ "label": "updateCourse()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L40",
+ "id": "courses_actions_updatecourse",
+ "community": 0,
+ "norm_label": "updatecourse()"
+ },
+ {
+ "label": "deleteCourse()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L59",
+ "id": "courses_actions_deletecourse",
+ "community": 0,
+ "norm_label": "deletecourse()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_courses_page_tsx",
+ "community": 0,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "CoursesPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L7",
+ "id": "courses_page_coursespage",
+ "community": 0,
+ "norm_label": "coursespage()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_courses_courseid_actions_ts",
+ "community": 3,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L10",
+ "id": "courseid_actions_requireadmin",
+ "community": 3,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "createModule()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L18",
+ "id": "courseid_actions_createmodule",
+ "community": 3,
+ "norm_label": "createmodule()"
+ },
+ {
+ "label": "updateModule()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L27",
+ "id": "courseid_actions_updatemodule",
+ "community": 3,
+ "norm_label": "updatemodule()"
+ },
+ {
+ "label": "deleteModule()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L35",
+ "id": "courseid_actions_deletemodule",
+ "community": 3,
+ "norm_label": "deletemodule()"
+ },
+ {
+ "label": "reorderModules()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L41",
+ "id": "courseid_actions_reordermodules",
+ "community": 3,
+ "norm_label": "reordermodules()"
+ },
+ {
+ "label": "grantAccess()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L53",
+ "id": "courseid_actions_grantaccess",
+ "community": 3,
+ "norm_label": "grantaccess()"
+ },
+ {
+ "label": "revokeAccess()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L88",
+ "id": "courseid_actions_revokeaccess",
+ "community": 3,
+ "norm_label": "revokeaccess()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_courses_courseid_page_tsx",
+ "community": 9,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L9",
+ "id": "courseid_page_props",
+ "community": 9,
+ "norm_label": "props"
+ },
+ {
+ "label": "CourseDetailPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L13",
+ "id": "courseid_page_coursedetailpage",
+ "community": 9,
+ "norm_label": "coursedetailpage()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "community": 24,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L9",
+ "id": "moduleid_actions_requireadmin",
+ "community": 24,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "createLesson()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L14",
+ "id": "moduleid_actions_createlesson",
+ "community": 24,
+ "norm_label": "createlesson()"
+ },
+ {
+ "label": "updateLesson()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L26",
+ "id": "moduleid_actions_updatelesson",
+ "community": 24,
+ "norm_label": "updatelesson()"
+ },
+ {
+ "label": "deleteLesson()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L33",
+ "id": "moduleid_actions_deletelesson",
+ "community": 24,
+ "norm_label": "deletelesson()"
+ },
+ {
+ "label": "reorderLessons()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L39",
+ "id": "moduleid_actions_reorderlessons",
+ "community": 24,
+ "norm_label": "reorderlessons()"
+ },
+ {
+ "label": "toggleLessonPublished()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L49",
+ "id": "moduleid_actions_togglelessonpublished",
+ "community": 24,
+ "norm_label": "togglelessonpublished()"
+ },
+ {
+ "label": "moveLessonToModule()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L64",
+ "id": "moduleid_actions_movelessontomodule",
+ "community": 24,
+ "norm_label": "movelessontomodule()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_courses_courseid_modules_moduleid_page_tsx",
+ "community": 17,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx",
+ "source_location": "L6",
+ "id": "moduleid_page_props",
+ "community": 17,
+ "norm_label": "props"
+ },
+ {
+ "label": "ModulePage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx",
+ "source_location": "L10",
+ "id": "moduleid_page_modulepage",
+ "community": 17,
+ "norm_label": "modulepage()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts",
+ "community": 13,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts",
+ "source_location": "L8",
+ "id": "lessonid_actions_requireadmin",
+ "community": 13,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "saveLesson()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts",
+ "source_location": "L13",
+ "id": "lessonid_actions_savelesson",
+ "community": 13,
+ "norm_label": "savelesson()"
+ },
+ {
+ "label": "homework-actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts",
+ "community": 31,
+ "norm_label": "homework-actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L8",
+ "id": "lessonid_homework_actions_requireadmin",
+ "community": 31,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "saveHomework()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L13",
+ "id": "lessonid_homework_actions_savehomework",
+ "community": 31,
+ "norm_label": "savehomework()"
+ },
+ {
+ "label": "deleteHomework()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L23",
+ "id": "lessonid_homework_actions_deletehomework",
+ "community": 31,
+ "norm_label": "deletehomework()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "community": 6,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "LessonEditorPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L13",
+ "id": "lessonid_page_lessoneditorpage",
+ "community": 6,
+ "norm_label": "lessoneditorpage()"
+ },
+ {
+ "label": "import-actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_import_export_import_actions_ts",
+ "community": 10,
+ "norm_label": "import-actions.ts"
+ },
+ {
+ "label": "ParsedRow",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L12",
+ "id": "import_export_import_actions_parsedrow",
+ "community": 10,
+ "norm_label": "parsedrow"
+ },
+ {
+ "label": "PreviewResult",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L24",
+ "id": "import_export_import_actions_previewresult",
+ "community": 10,
+ "norm_label": "previewresult"
+ },
+ {
+ "label": "ImportOptions",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L31",
+ "id": "import_export_import_actions_importoptions",
+ "community": 10,
+ "norm_label": "importoptions"
+ },
+ {
+ "label": "ApplyResult",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L40",
+ "id": "import_export_import_actions_applyresult",
+ "community": 10,
+ "norm_label": "applyresult"
+ },
+ {
+ "label": "parseCSVLine()",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L48",
+ "id": "import_export_import_actions_parsecsvline",
+ "community": 10,
+ "norm_label": "parsecsvline()"
+ },
+ {
+ "label": "normalizeHeaders()",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L73",
+ "id": "import_export_import_actions_normalizeheaders",
+ "community": 10,
+ "norm_label": "normalizeheaders()"
+ },
+ {
+ "label": "assertAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L94",
+ "id": "import_export_import_actions_assertadmin",
+ "community": 10,
+ "norm_label": "assertadmin()"
+ },
+ {
+ "label": "parseCSV()",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L102",
+ "id": "import_export_import_actions_parsecsv",
+ "community": 10,
+ "norm_label": "parsecsv()"
+ },
+ {
+ "label": "applyImport()",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L181",
+ "id": "import_export_import_actions_applyimport",
+ "community": 10,
+ "norm_label": "applyimport()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_import_export_page_tsx",
+ "community": 10,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "metadata",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L5",
+ "id": "import_export_page_metadata",
+ "community": 10,
+ "norm_label": "metadata"
+ },
+ {
+ "label": "ImportExportPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L7",
+ "id": "import_export_page_importexportpage",
+ "community": 10,
+ "norm_label": "importexportpage()"
+ },
+ {
+ "label": "enroll-action.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_users_enroll_action_ts",
+ "community": 14,
+ "norm_label": "enroll-action.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L9",
+ "id": "users_enroll_action_requireadmin",
+ "community": 14,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "grantCourseAccess()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L15",
+ "id": "users_enroll_action_grantcourseaccess",
+ "community": 14,
+ "norm_label": "grantcourseaccess()"
+ },
+ {
+ "label": "getPublishedCourses()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L68",
+ "id": "users_enroll_action_getpublishedcourses",
+ "community": 14,
+ "norm_label": "getpublishedcourses()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_users_actions_ts",
+ "community": 13,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "createUser()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/actions.ts",
+ "source_location": "L9",
+ "id": "users_actions_createuser",
+ "community": 19,
+ "norm_label": "createuser()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_users_page_tsx",
+ "community": 14,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L10",
+ "id": "users_page_props",
+ "community": 14,
+ "norm_label": "props"
+ },
+ {
+ "label": "UsersPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L14",
+ "id": "users_page_userspage",
+ "community": 14,
+ "norm_label": "userspage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/new/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_users_new_page_tsx",
+ "community": 19,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "metadata",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/new/page.tsx",
+ "source_location": "L4",
+ "id": "new_page_metadata",
+ "community": 19,
+ "norm_label": "metadata"
+ },
+ {
+ "label": "NewUserPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/new/page.tsx",
+ "source_location": "L6",
+ "id": "new_page_newuserpage",
+ "community": 19,
+ "norm_label": "newuserpage()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_users_userid_actions_ts",
+ "community": 7,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L9",
+ "id": "userid_actions_requireadmin",
+ "community": 7,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "bulkGrantAccess()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L15",
+ "id": "userid_actions_bulkgrantaccess",
+ "community": 7,
+ "norm_label": "bulkgrantaccess()"
+ },
+ {
+ "label": "updateUserContact()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L45",
+ "id": "userid_actions_updateusercontact",
+ "community": 7,
+ "norm_label": "updateusercontact()"
+ },
+ {
+ "label": "addBalanceTransaction()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L63",
+ "id": "userid_actions_addbalancetransaction",
+ "community": 7,
+ "norm_label": "addbalancetransaction()"
+ },
+ {
+ "label": "deleteBalanceTransaction()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L76",
+ "id": "userid_actions_deletebalancetransaction",
+ "community": 7,
+ "norm_label": "deletebalancetransaction()"
+ },
+ {
+ "label": "resetUserPassword()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L82",
+ "id": "userid_actions_resetuserpassword",
+ "community": 7,
+ "norm_label": "resetuserpassword()"
+ },
+ {
+ "label": "revokeUserAccess()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L102",
+ "id": "userid_actions_revokeuseraccess",
+ "community": 7,
+ "norm_label": "revokeuseraccess()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_users_userid_page_tsx",
+ "community": 7,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L9",
+ "id": "userid_page_props",
+ "community": 7,
+ "norm_label": "props"
+ },
+ {
+ "label": "UserPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L13",
+ "id": "userid_page_userpage",
+ "community": 7,
+ "norm_label": "userpage()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_admin_categories_actions_ts",
+ "community": 0,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L9",
+ "id": "categories_actions_requireadmin",
+ "community": 0,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "slugify()",
+ "file_type": "code",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L14",
+ "id": "categories_actions_slugify",
+ "community": 0,
+ "norm_label": "slugify()"
+ },
+ {
+ "label": "createCategory()",
+ "file_type": "code",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L26",
+ "id": "categories_actions_createcategory",
+ "community": 0,
+ "norm_label": "createcategory()"
+ },
+ {
+ "label": "updateCategory()",
+ "file_type": "code",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L35",
+ "id": "categories_actions_updatecategory",
+ "community": 0,
+ "norm_label": "updatecategory()"
+ },
+ {
+ "label": "deleteCategory()",
+ "file_type": "code",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L43",
+ "id": "categories_actions_deletecategory",
+ "community": 0,
+ "norm_label": "deletecategory()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_categories_page_tsx",
+ "community": 0,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "CategoriesPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L7",
+ "id": "categories_page_categoriespage",
+ "community": 0,
+ "norm_label": "categoriespage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/quizzes/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_quizzes_page_tsx",
+ "community": 13,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "metadata",
+ "file_type": "code",
+ "source_file": "src/app/admin/quizzes/page.tsx",
+ "source_location": "L4",
+ "id": "quizzes_page_metadata",
+ "community": 13,
+ "norm_label": "metadata"
+ },
+ {
+ "label": "AdminQuizzesPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/quizzes/page.tsx",
+ "source_location": "L6",
+ "id": "quizzes_page_adminquizzespage",
+ "community": 13,
+ "norm_label": "adminquizzespage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/quizzes/[quizId]/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_quizzes_quizid_page_tsx",
+ "community": 13,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/admin/quizzes/[quizId]/page.tsx",
+ "source_location": "L5",
+ "id": "quizid_page_props",
+ "community": 13,
+ "norm_label": "props"
+ },
+ {
+ "label": "AdminQuizAttemptsPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/quizzes/[quizId]/page.tsx",
+ "source_location": "L9",
+ "id": "quizid_page_adminquizattemptspage",
+ "community": 13,
+ "norm_label": "adminquizattemptspage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/admin/questions/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_admin_questions_page_tsx",
+ "community": 22,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "AdminQuestionsPage()",
+ "file_type": "code",
+ "source_file": "src/app/admin/questions/page.tsx",
+ "source_location": "L6",
+ "id": "questions_page_adminquestionspage",
+ "community": 22,
+ "norm_label": "adminquestionspage()"
+ },
+ {
+ "label": "layout.tsx",
+ "file_type": "code",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L1",
+ "id": "src_app_curator_layout_tsx",
+ "community": 1,
+ "norm_label": "layout.tsx"
+ },
+ {
+ "label": "CuratorLayout()",
+ "file_type": "code",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L10",
+ "id": "curator_layout_curatorlayout",
+ "community": 1,
+ "norm_label": "curatorlayout()"
+ },
+ {
+ "label": "NavLink()",
+ "file_type": "code",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L63",
+ "id": "curator_layout_navlink",
+ "community": 1,
+ "norm_label": "navlink()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/curator/dashboard/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_curator_dashboard_page_tsx",
+ "community": 27,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "CuratorDashboard()",
+ "file_type": "code",
+ "source_file": "src/app/curator/dashboard/page.tsx",
+ "source_location": "L7",
+ "id": "dashboard_page_curatordashboard",
+ "community": 27,
+ "norm_label": "curatordashboard()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_curator_homework_page_tsx",
+ "community": 13,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/page.tsx",
+ "source_location": "L7",
+ "id": "homework_page_props",
+ "community": 13,
+ "norm_label": "props"
+ },
+ {
+ "label": "HomeworkListPage()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/page.tsx",
+ "source_location": "L16",
+ "id": "homework_page_homeworklistpage",
+ "community": 13,
+ "norm_label": "homeworklistpage()"
+ },
+ {
+ "label": "actions.ts",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L1",
+ "id": "src_app_curator_homework_submissionid_actions_ts",
+ "community": 11,
+ "norm_label": "actions.ts"
+ },
+ {
+ "label": "requireCurator()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L10",
+ "id": "submissionid_actions_requirecurator",
+ "community": 11,
+ "norm_label": "requirecurator()"
+ },
+ {
+ "label": "submitFeedback()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L18",
+ "id": "submissionid_actions_submitfeedback",
+ "community": 11,
+ "norm_label": "submitfeedback()"
+ },
+ {
+ "label": "setReviewing()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L101",
+ "id": "submissionid_actions_setreviewing",
+ "community": 11,
+ "norm_label": "setreviewing()"
+ },
+ {
+ "label": "deleteSubmission()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L111",
+ "id": "submissionid_actions_deletesubmission",
+ "community": 11,
+ "norm_label": "deletesubmission()"
+ },
+ {
+ "label": "content-tabs.tsx",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/content-tabs.tsx",
+ "source_location": "L1",
+ "id": "src_app_curator_homework_submissionid_content_tabs_tsx",
+ "community": 11,
+ "norm_label": "content-tabs.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/content-tabs.tsx",
+ "source_location": "L6",
+ "id": "submissionid_content_tabs_props",
+ "community": 11,
+ "norm_label": "props"
+ },
+ {
+ "label": "ContentTabs()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/content-tabs.tsx",
+ "source_location": "L11",
+ "id": "submissionid_content_tabs_contenttabs",
+ "community": 11,
+ "norm_label": "contenttabs()"
+ },
+ {
+ "label": "delete-button.tsx",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/delete-button.tsx",
+ "source_location": "L1",
+ "id": "src_app_curator_homework_submissionid_delete_button_tsx",
+ "community": 11,
+ "norm_label": "delete-button.tsx"
+ },
+ {
+ "label": "DeleteSubmissionButton()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/delete-button.tsx",
+ "source_location": "L7",
+ "id": "submissionid_delete_button_deletesubmissionbutton",
+ "community": 11,
+ "norm_label": "deletesubmissionbutton()"
+ },
+ {
+ "label": "feedback-form.tsx",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L1",
+ "id": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "community": 11,
+ "norm_label": "feedback-form.tsx"
+ },
+ {
+ "label": "FileItem",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L9",
+ "id": "submissionid_feedback_form_fileitem",
+ "community": 11,
+ "norm_label": "fileitem"
+ },
+ {
+ "label": "formatSize()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L15",
+ "id": "submissionid_feedback_form_formatsize",
+ "community": 11,
+ "norm_label": "formatsize()"
+ },
+ {
+ "label": "FeedbackForm()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L21",
+ "id": "submissionid_feedback_form_feedbackform",
+ "community": 11,
+ "norm_label": "feedbackform()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_curator_homework_submissionid_page_tsx",
+ "community": 11,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L8",
+ "id": "submissionid_page_props",
+ "community": 11,
+ "norm_label": "props"
+ },
+ {
+ "label": "formatSize()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L12",
+ "id": "submissionid_page_formatsize",
+ "community": 11,
+ "norm_label": "formatsize()"
+ },
+ {
+ "label": "StatusBadge()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L18",
+ "id": "submissionid_page_statusbadge",
+ "community": 11,
+ "norm_label": "statusbadge()"
+ },
+ {
+ "label": "SubmissionPage()",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L36",
+ "id": "submissionid_page_submissionpage",
+ "community": 11,
+ "norm_label": "submissionpage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/curator/questions/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_curator_questions_page_tsx",
+ "community": 5,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "CuratorQuestionsPage()",
+ "file_type": "code",
+ "source_file": "src/app/curator/questions/page.tsx",
+ "source_location": "L6",
+ "id": "questions_page_curatorquestionspage",
+ "community": 5,
+ "norm_label": "curatorquestionspage()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/auth/[...all]/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_auth_all_route_ts",
+ "community": 5,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "{ GET, POST }",
+ "file_type": "code",
+ "source_file": "src/app/api/auth/[...all]/route.ts",
+ "source_location": "L4",
+ "id": "all_route_get_post",
+ "community": 5,
+ "norm_label": "{ get, post }"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/student/audio-upload/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_student_audio_upload_route_ts",
+ "community": 16,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "POST()",
+ "file_type": "code",
+ "source_file": "src/app/api/curator/audio-upload/route.ts",
+ "source_location": "L7",
+ "id": "audio_upload_route_post",
+ "community": 16,
+ "norm_label": "post()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_student_question_upload_route_ts",
+ "community": 16,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "ALLOWED_TYPES",
+ "file_type": "code",
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L7",
+ "id": "question_upload_route_allowed_types",
+ "community": 16,
+ "norm_label": "allowed_types"
+ },
+ {
+ "label": "POST()",
+ "file_type": "code",
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L13",
+ "id": "question_upload_route_post",
+ "community": 16,
+ "norm_label": "post()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/student/homework-upload/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_student_homework_upload_route_ts",
+ "community": 16,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "POST()",
+ "file_type": "code",
+ "source_file": "src/app/api/student/homework-upload/route.ts",
+ "source_location": "L7",
+ "id": "homework_upload_route_post",
+ "community": 16,
+ "norm_label": "post()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/export-users/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_admin_export_users_route_ts",
+ "community": 5,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "GET()",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/export-users/route.ts",
+ "source_location": "L7",
+ "id": "export_users_route_get",
+ "community": 5,
+ "norm_label": "get()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/lessons/[lessonId]/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_admin_lessons_lessonid_route_ts",
+ "community": 5,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "PATCH()",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/lessons/[lessonId]/route.ts",
+ "source_location": "L6",
+ "id": "lessonid_route_patch",
+ "community": 5,
+ "norm_label": "patch()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_admin_lesson_files_route_ts",
+ "community": 16,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L8",
+ "id": "lesson_files_route_requireadmin",
+ "community": 16,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "POST()",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L14",
+ "id": "lesson_files_route_post",
+ "community": 16,
+ "norm_label": "post()"
+ },
+ {
+ "label": "PATCH()",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L52",
+ "id": "lesson_files_route_patch",
+ "community": 16,
+ "norm_label": "patch()"
+ },
+ {
+ "label": "DELETE()",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L68",
+ "id": "lesson_files_route_delete",
+ "community": 16,
+ "norm_label": "delete()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/import-md/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_admin_import_md_route_ts",
+ "community": 2,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "POST()",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/import-md/route.ts",
+ "source_location": "L7",
+ "id": "import_md_route_post",
+ "community": 2,
+ "norm_label": "post()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/admin/upload/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_admin_upload_route_ts",
+ "community": 5,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "POST()",
+ "file_type": "code",
+ "source_file": "src/app/api/curator/upload/route.ts",
+ "source_location": "L7",
+ "id": "upload_route_post",
+ "community": 5,
+ "norm_label": "post()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/curator/audio-upload/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_curator_audio_upload_route_ts",
+ "community": 16,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/curator/upload/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_curator_upload_route_ts",
+ "community": 5,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_questions_route_ts",
+ "community": 3,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "FileAttachment",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L7",
+ "id": "questions_route_fileattachment",
+ "community": 3,
+ "norm_label": "fileattachment"
+ },
+ {
+ "label": "buildS3Prefix()",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L13",
+ "id": "questions_route_builds3prefix",
+ "community": 3,
+ "norm_label": "builds3prefix()"
+ },
+ {
+ "label": "GET()",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L19",
+ "id": "questions_route_get",
+ "community": 3,
+ "norm_label": "get()"
+ },
+ {
+ "label": "POST()",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L61",
+ "id": "questions_route_post",
+ "community": 3,
+ "norm_label": "post()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/[id]/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_questions_id_route_ts",
+ "community": 5,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "GET()",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/[id]/route.ts",
+ "source_location": "L6",
+ "id": "id_route_get",
+ "community": 5,
+ "norm_label": "get()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_questions_id_messages_route_ts",
+ "community": 3,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "FileAttachment",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L7",
+ "id": "messages_route_fileattachment",
+ "community": 3,
+ "norm_label": "fileattachment"
+ },
+ {
+ "label": "buildS3Prefix()",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L13",
+ "id": "messages_route_builds3prefix",
+ "community": 3,
+ "norm_label": "builds3prefix()"
+ },
+ {
+ "label": "POST()",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L20",
+ "id": "messages_route_post",
+ "community": 3,
+ "norm_label": "post()"
+ },
+ {
+ "label": "route.ts",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/[id]/close/route.ts",
+ "source_location": "L1",
+ "id": "src_app_api_questions_id_close_route_ts",
+ "community": 5,
+ "norm_label": "route.ts"
+ },
+ {
+ "label": "PATCH()",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/[id]/close/route.ts",
+ "source_location": "L6",
+ "id": "close_route_patch",
+ "community": 5,
+ "norm_label": "patch()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/maintenance/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_maintenance_page_tsx",
+ "community": 49,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "MaintenancePage()",
+ "file_type": "code",
+ "source_file": "src/app/maintenance/page.tsx",
+ "source_location": "L1",
+ "id": "maintenance_page_maintenancepage",
+ "community": 49,
+ "norm_label": "maintenancepage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/verify-email/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_auth_verify_email_page_tsx",
+ "community": 48,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "VerifyEmailPage()",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/verify-email/page.tsx",
+ "source_location": "L3",
+ "id": "verify_email_page_verifyemailpage",
+ "community": 48,
+ "norm_label": "verifyemailpage()"
+ },
+ {
+ "label": "register-form.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/register/register-form.tsx",
+ "source_location": "L1",
+ "id": "src_app_auth_register_register_form_tsx",
+ "community": 1,
+ "norm_label": "register-form.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/register/register-form.tsx",
+ "source_location": "L7",
+ "id": "register_register_form_props",
+ "community": 1,
+ "norm_label": "props"
+ },
+ {
+ "label": "RegisterForm()",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/register/register-form.tsx",
+ "source_location": "L14",
+ "id": "register_register_form_registerform",
+ "community": 1,
+ "norm_label": "registerform()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/register/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_auth_register_page_tsx",
+ "community": 1,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "RegisterPage()",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/register/page.tsx",
+ "source_location": "L5",
+ "id": "register_page_registerpage",
+ "community": 1,
+ "norm_label": "registerpage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/forgot-password/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_auth_forgot_password_page_tsx",
+ "community": 1,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "ForgotPasswordPage()",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/forgot-password/page.tsx",
+ "source_location": "L4",
+ "id": "forgot_password_page_forgotpasswordpage",
+ "community": 1,
+ "norm_label": "forgotpasswordpage()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/reset-password/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_auth_reset_password_page_tsx",
+ "community": 1,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "ResetPasswordPage()",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/reset-password/page.tsx",
+ "source_location": "L5",
+ "id": "reset_password_page_resetpasswordpage",
+ "community": 1,
+ "norm_label": "resetpasswordpage()"
+ },
+ {
+ "label": "login-form.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/login/login-form.tsx",
+ "source_location": "L1",
+ "id": "src_app_auth_login_login_form_tsx",
+ "community": 1,
+ "norm_label": "login-form.tsx"
+ },
+ {
+ "label": "LoginForm()",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/login/login-form.tsx",
+ "source_location": "L8",
+ "id": "login_login_form_loginform",
+ "community": 1,
+ "norm_label": "loginform()"
+ },
+ {
+ "label": "page.tsx",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/login/page.tsx",
+ "source_location": "L1",
+ "id": "src_app_auth_login_page_tsx",
+ "community": 1,
+ "norm_label": "page.tsx"
+ },
+ {
+ "label": "LoginPage()",
+ "file_type": "code",
+ "source_file": "src/app/(auth)/login/page.tsx",
+ "source_location": "L4",
+ "id": "login_page_loginpage",
+ "community": 1,
+ "norm_label": "loginpage()"
+ },
+ {
+ "label": "alert-dialog.tsx",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L1",
+ "id": "src_components_ui_alert_dialog_tsx",
+ "community": 0,
+ "norm_label": "alert-dialog.tsx"
+ },
+ {
+ "label": "AlertDialog()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L9",
+ "id": "ui_alert_dialog_alertdialog",
+ "community": 0,
+ "norm_label": "alertdialog()"
+ },
+ {
+ "label": "AlertDialogTrigger()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L13",
+ "id": "ui_alert_dialog_alertdialogtrigger",
+ "community": 0,
+ "norm_label": "alertdialogtrigger()"
+ },
+ {
+ "label": "AlertDialogPortal()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L19",
+ "id": "ui_alert_dialog_alertdialogportal",
+ "community": 0,
+ "norm_label": "alertdialogportal()"
+ },
+ {
+ "label": "AlertDialogOverlay()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L25",
+ "id": "ui_alert_dialog_alertdialogoverlay",
+ "community": 0,
+ "norm_label": "alertdialogoverlay()"
+ },
+ {
+ "label": "AlertDialogContent()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L41",
+ "id": "ui_alert_dialog_alertdialogcontent",
+ "community": 0,
+ "norm_label": "alertdialogcontent()"
+ },
+ {
+ "label": "AlertDialogHeader()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L64",
+ "id": "ui_alert_dialog_alertdialogheader",
+ "community": 0,
+ "norm_label": "alertdialogheader()"
+ },
+ {
+ "label": "AlertDialogFooter()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L80",
+ "id": "ui_alert_dialog_alertdialogfooter",
+ "community": 0,
+ "norm_label": "alertdialogfooter()"
+ },
+ {
+ "label": "AlertDialogMedia()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L96",
+ "id": "ui_alert_dialog_alertdialogmedia",
+ "community": 0,
+ "norm_label": "alertdialogmedia()"
+ },
+ {
+ "label": "AlertDialogTitle()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L112",
+ "id": "ui_alert_dialog_alertdialogtitle",
+ "community": 0,
+ "norm_label": "alertdialogtitle()"
+ },
+ {
+ "label": "AlertDialogDescription()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L128",
+ "id": "ui_alert_dialog_alertdialogdescription",
+ "community": 0,
+ "norm_label": "alertdialogdescription()"
+ },
+ {
+ "label": "AlertDialogAction()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L144",
+ "id": "ui_alert_dialog_alertdialogaction",
+ "community": 0,
+ "norm_label": "alertdialogaction()"
+ },
+ {
+ "label": "AlertDialogCancel()",
+ "file_type": "code",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L157",
+ "id": "ui_alert_dialog_alertdialogcancel",
+ "community": 0,
+ "norm_label": "alertdialogcancel()"
+ },
+ {
+ "label": "label.tsx",
+ "file_type": "code",
+ "source_file": "src/components/ui/label.tsx",
+ "source_location": "L1",
+ "id": "src_components_ui_label_tsx",
+ "community": 0,
+ "norm_label": "label.tsx"
+ },
+ {
+ "label": "Label()",
+ "file_type": "code",
+ "source_file": "src/components/ui/label.tsx",
+ "source_location": "L7",
+ "id": "ui_label_label",
+ "community": 0,
+ "norm_label": "label()"
+ },
+ {
+ "label": "sonner.tsx",
+ "file_type": "code",
+ "source_file": "src/components/ui/sonner.tsx",
+ "source_location": "L1",
+ "id": "src_components_ui_sonner_tsx",
+ "community": 50,
+ "norm_label": "sonner.tsx"
+ },
+ {
+ "label": "Toaster()",
+ "file_type": "code",
+ "source_file": "src/components/ui/sonner.tsx",
+ "source_location": "L7",
+ "id": "ui_sonner_toaster",
+ "community": 50,
+ "norm_label": "toaster()"
+ },
+ {
+ "label": "dialog.tsx",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L1",
+ "id": "src_components_ui_dialog_tsx",
+ "community": 0,
+ "norm_label": "dialog.tsx"
+ },
+ {
+ "label": "Dialog()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L10",
+ "id": "ui_dialog_dialog",
+ "community": 0,
+ "norm_label": "dialog()"
+ },
+ {
+ "label": "DialogTrigger()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L14",
+ "id": "ui_dialog_dialogtrigger",
+ "community": 0,
+ "norm_label": "dialogtrigger()"
+ },
+ {
+ "label": "DialogPortal()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L18",
+ "id": "ui_dialog_dialogportal",
+ "community": 0,
+ "norm_label": "dialogportal()"
+ },
+ {
+ "label": "DialogClose()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L22",
+ "id": "ui_dialog_dialogclose",
+ "community": 0,
+ "norm_label": "dialogclose()"
+ },
+ {
+ "label": "DialogOverlay()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L26",
+ "id": "ui_dialog_dialogoverlay",
+ "community": 0,
+ "norm_label": "dialogoverlay()"
+ },
+ {
+ "label": "DialogContent()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L42",
+ "id": "ui_dialog_dialogcontent",
+ "community": 0,
+ "norm_label": "dialogcontent()"
+ },
+ {
+ "label": "DialogHeader()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L83",
+ "id": "ui_dialog_dialogheader",
+ "community": 0,
+ "norm_label": "dialogheader()"
+ },
+ {
+ "label": "DialogFooter()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L93",
+ "id": "ui_dialog_dialogfooter",
+ "community": 0,
+ "norm_label": "dialogfooter()"
+ },
+ {
+ "label": "DialogTitle()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L120",
+ "id": "ui_dialog_dialogtitle",
+ "community": 0,
+ "norm_label": "dialogtitle()"
+ },
+ {
+ "label": "DialogDescription()",
+ "file_type": "code",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L133",
+ "id": "ui_dialog_dialogdescription",
+ "community": 0,
+ "norm_label": "dialogdescription()"
+ },
+ {
+ "label": "badge.tsx",
+ "file_type": "code",
+ "source_file": "src/components/ui/badge.tsx",
+ "source_location": "L1",
+ "id": "src_components_ui_badge_tsx",
+ "community": 0,
+ "norm_label": "badge.tsx"
+ },
+ {
+ "label": "badgeVariants",
+ "file_type": "code",
+ "source_file": "src/components/ui/badge.tsx",
+ "source_location": "L7",
+ "id": "ui_badge_badgevariants",
+ "community": 0,
+ "norm_label": "badgevariants"
+ },
+ {
+ "label": "Badge()",
+ "file_type": "code",
+ "source_file": "src/components/ui/badge.tsx",
+ "source_location": "L30",
+ "id": "ui_badge_badge",
+ "community": 0,
+ "norm_label": "badge()"
+ },
+ {
+ "label": "button.tsx",
+ "file_type": "code",
+ "source_file": "src/components/ui/button.tsx",
+ "source_location": "L1",
+ "id": "src_components_ui_button_tsx",
+ "community": 0,
+ "norm_label": "button.tsx"
+ },
+ {
+ "label": "buttonVariants",
+ "file_type": "code",
+ "source_file": "src/components/ui/button.tsx",
+ "source_location": "L6",
+ "id": "ui_button_buttonvariants",
+ "community": 0,
+ "norm_label": "buttonvariants"
+ },
+ {
+ "label": "Button()",
+ "file_type": "code",
+ "source_file": "src/components/ui/button.tsx",
+ "source_location": "L43",
+ "id": "ui_button_button",
+ "community": 0,
+ "norm_label": "button()"
+ },
+ {
+ "label": "select.tsx",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L1",
+ "id": "src_components_ui_select_tsx",
+ "community": 0,
+ "norm_label": "select.tsx"
+ },
+ {
+ "label": "SelectGroup()",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L11",
+ "id": "ui_select_selectgroup",
+ "community": 0,
+ "norm_label": "selectgroup()"
+ },
+ {
+ "label": "SelectValue()",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L21",
+ "id": "ui_select_selectvalue",
+ "community": 0,
+ "norm_label": "selectvalue()"
+ },
+ {
+ "label": "SelectTrigger()",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L31",
+ "id": "ui_select_selecttrigger",
+ "community": 0,
+ "norm_label": "selecttrigger()"
+ },
+ {
+ "label": "SelectContent()",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L59",
+ "id": "ui_select_selectcontent",
+ "community": 0,
+ "norm_label": "selectcontent()"
+ },
+ {
+ "label": "SelectLabel()",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L98",
+ "id": "ui_select_selectlabel",
+ "community": 0,
+ "norm_label": "selectlabel()"
+ },
+ {
+ "label": "SelectItem()",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L111",
+ "id": "ui_select_selectitem",
+ "community": 0,
+ "norm_label": "selectitem()"
+ },
+ {
+ "label": "SelectSeparator()",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L139",
+ "id": "ui_select_selectseparator",
+ "community": 0,
+ "norm_label": "selectseparator()"
+ },
+ {
+ "label": "SelectScrollUpButton()",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L152",
+ "id": "ui_select_selectscrollupbutton",
+ "community": 0,
+ "norm_label": "selectscrollupbutton()"
+ },
+ {
+ "label": "SelectScrollDownButton()",
+ "file_type": "code",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L171",
+ "id": "ui_select_selectscrolldownbutton",
+ "community": 0,
+ "norm_label": "selectscrolldownbutton()"
+ },
+ {
+ "label": "textarea.tsx",
+ "file_type": "code",
+ "source_file": "src/components/ui/textarea.tsx",
+ "source_location": "L1",
+ "id": "src_components_ui_textarea_tsx",
+ "community": 0,
+ "norm_label": "textarea.tsx"
+ },
+ {
+ "label": "Textarea()",
+ "file_type": "code",
+ "source_file": "src/components/ui/textarea.tsx",
+ "source_location": "L5",
+ "id": "ui_textarea_textarea",
+ "community": 0,
+ "norm_label": "textarea()"
+ },
+ {
+ "label": "input.tsx",
+ "file_type": "code",
+ "source_file": "src/components/ui/input.tsx",
+ "source_location": "L1",
+ "id": "src_components_ui_input_tsx",
+ "community": 0,
+ "norm_label": "input.tsx"
+ },
+ {
+ "label": "Input()",
+ "file_type": "code",
+ "source_file": "src/components/ui/input.tsx",
+ "source_location": "L6",
+ "id": "ui_input_input",
+ "community": 0,
+ "norm_label": "input()"
+ },
+ {
+ "label": "logout-button.tsx",
+ "file_type": "code",
+ "source_file": "src/components/layout/logout-button.tsx",
+ "source_location": "L1",
+ "id": "src_components_layout_logout_button_tsx",
+ "community": 1,
+ "norm_label": "logout-button.tsx"
+ },
+ {
+ "label": "LogoutButton()",
+ "file_type": "code",
+ "source_file": "src/components/layout/logout-button.tsx",
+ "source_location": "L6",
+ "id": "layout_logout_button_logoutbutton",
+ "community": 1,
+ "norm_label": "logoutbutton()"
+ },
+ {
+ "label": "course-sidebar.tsx",
+ "file_type": "code",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "source_location": "L1",
+ "id": "src_components_student_course_sidebar_tsx",
+ "community": 25,
+ "norm_label": "course-sidebar.tsx"
+ },
+ {
+ "label": "Lesson",
+ "file_type": "code",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "source_location": "L8",
+ "id": "student_course_sidebar_lesson",
+ "community": 25,
+ "norm_label": "lesson"
+ },
+ {
+ "label": "Module",
+ "file_type": "code",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "source_location": "L13",
+ "id": "student_course_sidebar_module",
+ "community": 25,
+ "norm_label": "module"
+ },
+ {
+ "label": "Course",
+ "file_type": "code",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "source_location": "L19",
+ "id": "student_course_sidebar_course",
+ "community": 25,
+ "norm_label": "course"
+ },
+ {
+ "label": "CourseSidebar()",
+ "file_type": "code",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "source_location": "L25",
+ "id": "student_course_sidebar_coursesidebar",
+ "community": 25,
+ "norm_label": "coursesidebar()"
+ },
+ {
+ "label": "quiz-section.tsx",
+ "file_type": "code",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L1",
+ "id": "src_components_student_quiz_section_tsx",
+ "community": 4,
+ "norm_label": "quiz-section.tsx"
+ },
+ {
+ "label": "Question",
+ "file_type": "code",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L6",
+ "id": "student_quiz_section_question",
+ "community": 4,
+ "norm_label": "question"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L13",
+ "id": "student_quiz_section_props",
+ "community": 4,
+ "norm_label": "props"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L20",
+ "id": "student_quiz_section_inputstyle",
+ "community": 4,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "QuizSection()",
+ "file_type": "code",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L32",
+ "id": "student_quiz_section_quizsection",
+ "community": 4,
+ "norm_label": "quizsection()"
+ },
+ {
+ "label": "homework-section.tsx",
+ "file_type": "code",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L1",
+ "id": "src_components_student_homework_section_tsx",
+ "community": 4,
+ "norm_label": "homework-section.tsx"
+ },
+ {
+ "label": "HWFile",
+ "file_type": "code",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L7",
+ "id": "student_homework_section_hwfile",
+ "community": 4,
+ "norm_label": "hwfile"
+ },
+ {
+ "label": "Feedback",
+ "file_type": "code",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L9",
+ "id": "student_homework_section_feedback",
+ "community": 4,
+ "norm_label": "feedback"
+ },
+ {
+ "label": "Submission",
+ "file_type": "code",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L18",
+ "id": "student_homework_section_submission",
+ "community": 4,
+ "norm_label": "submission"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L27",
+ "id": "student_homework_section_props",
+ "community": 4,
+ "norm_label": "props"
+ },
+ {
+ "label": "formatSize()",
+ "file_type": "code",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L35",
+ "id": "student_homework_section_formatsize",
+ "community": 4,
+ "norm_label": "formatsize()"
+ },
+ {
+ "label": "HomeworkSection()",
+ "file_type": "code",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L41",
+ "id": "student_homework_section_homeworksection",
+ "community": 4,
+ "norm_label": "homeworksection()"
+ },
+ {
+ "label": "lesson-complete-button.tsx",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-complete-button.tsx",
+ "source_location": "L1",
+ "id": "src_components_student_lesson_complete_button_tsx",
+ "community": 4,
+ "norm_label": "lesson-complete-button.tsx"
+ },
+ {
+ "label": "LessonCompleteButton()",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-complete-button.tsx",
+ "source_location": "L7",
+ "id": "student_lesson_complete_button_lessoncompletebutton",
+ "community": 4,
+ "norm_label": "lessoncompletebutton()"
+ },
+ {
+ "label": "lesson-content.tsx",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-content.tsx",
+ "source_location": "L1",
+ "id": "src_components_student_lesson_content_tsx",
+ "community": 4,
+ "norm_label": "lesson-content.tsx"
+ },
+ {
+ "label": "LessonContent()",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-content.tsx",
+ "source_location": "L8",
+ "id": "student_lesson_content_lessoncontent",
+ "community": 4,
+ "norm_label": "lessoncontent()"
+ },
+ {
+ "label": "lesson-comments.tsx",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L1",
+ "id": "src_components_student_lesson_comments_tsx",
+ "community": 4,
+ "norm_label": "lesson-comments.tsx"
+ },
+ {
+ "label": "Reply",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L6",
+ "id": "student_lesson_comments_reply",
+ "community": 4,
+ "norm_label": "reply"
+ },
+ {
+ "label": "Comment",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L14",
+ "id": "student_lesson_comments_comment",
+ "community": 4,
+ "norm_label": "comment"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L23",
+ "id": "student_lesson_comments_props",
+ "community": 4,
+ "norm_label": "props"
+ },
+ {
+ "label": "formatDate()",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L31",
+ "id": "student_lesson_comments_formatdate",
+ "community": 4,
+ "norm_label": "formatdate()"
+ },
+ {
+ "label": "LessonComments()",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L41",
+ "id": "student_lesson_comments_lessoncomments",
+ "community": 4,
+ "norm_label": "lessoncomments()"
+ },
+ {
+ "label": "sortable-modules.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_sortable_modules_tsx",
+ "community": 9,
+ "norm_label": "sortable-modules.tsx"
+ },
+ {
+ "label": "Module",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L22",
+ "id": "admin_sortable_modules_module",
+ "community": 9,
+ "norm_label": "module"
+ },
+ {
+ "label": "SortableModule()",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L30",
+ "id": "admin_sortable_modules_sortablemodule",
+ "community": 9,
+ "norm_label": "sortablemodule()"
+ },
+ {
+ "label": "SortableModules()",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L150",
+ "id": "admin_sortable_modules_sortablemodules",
+ "community": 9,
+ "norm_label": "sortablemodules()"
+ },
+ {
+ "label": "stop-impersonate-banner.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/stop-impersonate-banner.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_stop_impersonate_banner_tsx",
+ "community": 1,
+ "norm_label": "stop-impersonate-banner.tsx"
+ },
+ {
+ "label": "StopImpersonateBanner()",
+ "file_type": "code",
+ "source_file": "src/components/admin/stop-impersonate-banner.tsx",
+ "source_location": "L6",
+ "id": "admin_stop_impersonate_banner_stopimpersonatebanner",
+ "community": 1,
+ "norm_label": "stopimpersonatebanner()"
+ },
+ {
+ "label": "csv-exporter.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-exporter.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_csv_exporter_tsx",
+ "community": 10,
+ "norm_label": "csv-exporter.tsx"
+ },
+ {
+ "label": "Course",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-exporter.tsx",
+ "source_location": "L6",
+ "id": "admin_csv_exporter_course",
+ "community": 10,
+ "norm_label": "course"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-exporter.tsx",
+ "source_location": "L8",
+ "id": "admin_csv_exporter_inputstyle",
+ "community": 10,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "focusHandlers",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-exporter.tsx",
+ "source_location": "L17",
+ "id": "admin_csv_exporter_focushandlers",
+ "community": 10,
+ "norm_label": "focushandlers"
+ },
+ {
+ "label": "CsvExporter()",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-exporter.tsx",
+ "source_location": "L24",
+ "id": "admin_csv_exporter_csvexporter",
+ "community": 10,
+ "norm_label": "csvexporter()"
+ },
+ {
+ "label": "users-search.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-search.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_users_search_tsx",
+ "community": 14,
+ "norm_label": "users-search.tsx"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-search.tsx",
+ "source_location": "L7",
+ "id": "admin_users_search_inputstyle",
+ "community": 14,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "UsersSearch()",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-search.tsx",
+ "source_location": "L16",
+ "id": "admin_users_search_userssearch",
+ "community": 14,
+ "norm_label": "userssearch()"
+ },
+ {
+ "label": "quick-enroll-modal.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_quick_enroll_modal_tsx",
+ "community": 14,
+ "norm_label": "quick-enroll-modal.tsx"
+ },
+ {
+ "label": "Course",
+ "file_type": "code",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L6",
+ "id": "admin_quick_enroll_modal_course",
+ "community": 14,
+ "norm_label": "course"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L11",
+ "id": "admin_quick_enroll_modal_props",
+ "community": 14,
+ "norm_label": "props"
+ },
+ {
+ "label": "QuickEnrollButton()",
+ "file_type": "code",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L16",
+ "id": "admin_quick_enroll_modal_quickenrollbutton",
+ "community": 14,
+ "norm_label": "quickenrollbutton()"
+ },
+ {
+ "label": "settings-form.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_settings_form_tsx",
+ "community": 1,
+ "norm_label": "settings-form.tsx"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L10",
+ "id": "admin_settings_form_inputstyle",
+ "community": 1,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "focusHandlers",
+ "file_type": "code",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L20",
+ "id": "admin_settings_form_focushandlers",
+ "community": 1,
+ "norm_label": "focushandlers"
+ },
+ {
+ "label": "Section()",
+ "file_type": "code",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L27",
+ "id": "admin_settings_form_section",
+ "community": 1,
+ "norm_label": "section()"
+ },
+ {
+ "label": "Field()",
+ "file_type": "code",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L56",
+ "id": "admin_settings_form_field",
+ "community": 1,
+ "norm_label": "field()"
+ },
+ {
+ "label": "Toggle()",
+ "file_type": "code",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L83",
+ "id": "admin_settings_form_toggle",
+ "community": 1,
+ "norm_label": "toggle()"
+ },
+ {
+ "label": "SelectField()",
+ "file_type": "code",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L134",
+ "id": "admin_settings_form_selectfield",
+ "community": 1,
+ "norm_label": "selectfield()"
+ },
+ {
+ "label": "SettingsForm()",
+ "file_type": "code",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L172",
+ "id": "admin_settings_form_settingsform",
+ "community": 1,
+ "norm_label": "settingsform()"
+ },
+ {
+ "label": "users-table.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_users_table_tsx",
+ "community": 14,
+ "norm_label": "users-table.tsx"
+ },
+ {
+ "label": "Enrollment",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L8",
+ "id": "admin_users_table_enrollment",
+ "community": 14,
+ "norm_label": "enrollment"
+ },
+ {
+ "label": "UserRow",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L14",
+ "id": "admin_users_table_userrow",
+ "community": 14,
+ "norm_label": "userrow"
+ },
+ {
+ "label": "roleLabel",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L25",
+ "id": "admin_users_table_rolelabel",
+ "community": 14,
+ "norm_label": "rolelabel"
+ },
+ {
+ "label": "roleVariant",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L31",
+ "id": "admin_users_table_rolevariant",
+ "community": 14,
+ "norm_label": "rolevariant"
+ },
+ {
+ "label": "UserPopup()",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L37",
+ "id": "admin_users_table_userpopup",
+ "community": 14,
+ "norm_label": "userpopup()"
+ },
+ {
+ "label": "ImpersonateButton()",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L94",
+ "id": "admin_users_table_impersonatebutton",
+ "community": 14,
+ "norm_label": "impersonatebutton()"
+ },
+ {
+ "label": "UsersTable()",
+ "file_type": "code",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L131",
+ "id": "admin_users_table_userstable",
+ "community": 14,
+ "norm_label": "userstable()"
+ },
+ {
+ "label": "create-user-form.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_create_user_form_tsx",
+ "community": 19,
+ "norm_label": "create-user-form.tsx"
+ },
+ {
+ "label": "ROLES",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L8",
+ "id": "admin_create_user_form_roles",
+ "community": 19,
+ "norm_label": "roles"
+ },
+ {
+ "label": "generatePassword()",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L14",
+ "id": "admin_create_user_form_generatepassword",
+ "community": 19,
+ "norm_label": "generatepassword()"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L19",
+ "id": "admin_create_user_form_inputstyle",
+ "community": 19,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "focusHandlers",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L29",
+ "id": "admin_create_user_form_focushandlers",
+ "community": 19,
+ "norm_label": "focushandlers"
+ },
+ {
+ "label": "Field()",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L36",
+ "id": "admin_create_user_form_field",
+ "community": 19,
+ "norm_label": "field()"
+ },
+ {
+ "label": "Toggle()",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L48",
+ "id": "admin_create_user_form_toggle",
+ "community": 19,
+ "norm_label": "toggle()"
+ },
+ {
+ "label": "CreateUserForm()",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L70",
+ "id": "admin_create_user_form_createuserform",
+ "community": 19,
+ "norm_label": "createuserform()"
+ },
+ {
+ "label": "admin-nav.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/admin-nav.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_admin_nav_tsx",
+ "community": 1,
+ "norm_label": "admin-nav.tsx"
+ },
+ {
+ "label": "links",
+ "file_type": "code",
+ "source_file": "src/components/admin/admin-nav.tsx",
+ "source_location": "L6",
+ "id": "admin_admin_nav_links",
+ "community": 1,
+ "norm_label": "links"
+ },
+ {
+ "label": "AdminNav()",
+ "file_type": "code",
+ "source_file": "src/components/admin/admin-nav.tsx",
+ "source_location": "L19",
+ "id": "admin_admin_nav_adminnav",
+ "community": 1,
+ "norm_label": "adminnav()"
+ },
+ {
+ "label": "create-course-dialog.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_create_course_dialog_tsx",
+ "community": 0,
+ "norm_label": "create-course-dialog.tsx"
+ },
+ {
+ "label": "CreateCourseDialog()",
+ "file_type": "code",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L17",
+ "id": "admin_create_course_dialog_createcoursedialog",
+ "community": 0,
+ "norm_label": "createcoursedialog()"
+ },
+ {
+ "label": "lesson-files-manager.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-files-manager.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_lesson_files_manager_tsx",
+ "community": 6,
+ "norm_label": "lesson-files-manager.tsx"
+ },
+ {
+ "label": "LessonFile",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-files-manager.tsx",
+ "source_location": "L6",
+ "id": "admin_lesson_files_manager_lessonfile",
+ "community": 6,
+ "norm_label": "lessonfile"
+ },
+ {
+ "label": "LessonFilesManager()",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-files-manager.tsx",
+ "source_location": "L13",
+ "id": "admin_lesson_files_manager_lessonfilesmanager",
+ "community": 6,
+ "norm_label": "lessonfilesmanager()"
+ },
+ {
+ "label": "sortable-lessons.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_sortable_lessons_tsx",
+ "community": 17,
+ "norm_label": "sortable-lessons.tsx"
+ },
+ {
+ "label": "Lesson",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L30",
+ "id": "admin_sortable_lessons_lesson",
+ "community": 17,
+ "norm_label": "lesson"
+ },
+ {
+ "label": "OtherModule",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L38",
+ "id": "admin_sortable_lessons_othermodule",
+ "community": 17,
+ "norm_label": "othermodule"
+ },
+ {
+ "label": "SortableLesson()",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L43",
+ "id": "admin_sortable_lessons_sortablelesson",
+ "community": 17,
+ "norm_label": "sortablelesson()"
+ },
+ {
+ "label": "SortableLessons()",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L215",
+ "id": "admin_sortable_lessons_sortablelessons",
+ "community": 17,
+ "norm_label": "sortablelessons()"
+ },
+ {
+ "label": "user-contact-editor.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_user_contact_editor_tsx",
+ "community": 7,
+ "norm_label": "user-contact-editor.tsx"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L6",
+ "id": "admin_user_contact_editor_inputstyle",
+ "community": 7,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "focusHandlers",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L16",
+ "id": "admin_user_contact_editor_focushandlers",
+ "community": 7,
+ "norm_label": "focushandlers"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L23",
+ "id": "admin_user_contact_editor_props",
+ "community": 7,
+ "norm_label": "props"
+ },
+ {
+ "label": "UserContactEditor()",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L32",
+ "id": "admin_user_contact_editor_usercontacteditor",
+ "community": 7,
+ "norm_label": "usercontacteditor()"
+ },
+ {
+ "label": "category-row.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_category_row_tsx",
+ "community": 0,
+ "norm_label": "category-row.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L8",
+ "id": "admin_category_row_props",
+ "community": 0,
+ "norm_label": "props"
+ },
+ {
+ "label": "CategoryRow()",
+ "file_type": "code",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L13",
+ "id": "admin_category_row_categoryrow",
+ "community": 0,
+ "norm_label": "categoryrow()"
+ },
+ {
+ "label": "user-enrollment-manager.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_user_enrollment_manager_tsx",
+ "community": 7,
+ "norm_label": "user-enrollment-manager.tsx"
+ },
+ {
+ "label": "Course",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L6",
+ "id": "admin_user_enrollment_manager_course",
+ "community": 7,
+ "norm_label": "course"
+ },
+ {
+ "label": "Enrollment",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L12",
+ "id": "admin_user_enrollment_manager_enrollment",
+ "community": 7,
+ "norm_label": "enrollment"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L18",
+ "id": "admin_user_enrollment_manager_props",
+ "community": 7,
+ "norm_label": "props"
+ },
+ {
+ "label": "UserEnrollmentManager()",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L24",
+ "id": "admin_user_enrollment_manager_userenrollmentmanager",
+ "community": 7,
+ "norm_label": "userenrollmentmanager()"
+ },
+ {
+ "label": "homework-editor.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_homework_editor_tsx",
+ "community": 6,
+ "norm_label": "homework-editor.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "source_location": "L6",
+ "id": "admin_homework_editor_props",
+ "community": 6,
+ "norm_label": "props"
+ },
+ {
+ "label": "HomeworkEditor()",
+ "file_type": "code",
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "source_location": "L11",
+ "id": "admin_homework_editor_homeworkeditor",
+ "community": 6,
+ "norm_label": "homeworkeditor()"
+ },
+ {
+ "label": "course-tree.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-tree.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_course_tree_tsx",
+ "community": 9,
+ "norm_label": "course-tree.tsx"
+ },
+ {
+ "label": "Lesson",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-tree.tsx",
+ "source_location": "L7",
+ "id": "admin_course_tree_lesson",
+ "community": 9,
+ "norm_label": "lesson"
+ },
+ {
+ "label": "Module",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-tree.tsx",
+ "source_location": "L14",
+ "id": "admin_course_tree_module",
+ "community": 9,
+ "norm_label": "module"
+ },
+ {
+ "label": "CourseTree()",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-tree.tsx",
+ "source_location": "L21",
+ "id": "admin_course_tree_coursetree",
+ "community": 9,
+ "norm_label": "coursetree()"
+ },
+ {
+ "label": "csv-importer.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_csv_importer_tsx",
+ "community": 10,
+ "norm_label": "csv-importer.tsx"
+ },
+ {
+ "label": "Course",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L13",
+ "id": "admin_csv_importer_course",
+ "community": 10,
+ "norm_label": "course"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L15",
+ "id": "admin_csv_importer_inputstyle",
+ "community": 10,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "focusHandlers",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L24",
+ "id": "admin_csv_importer_focushandlers",
+ "community": 10,
+ "norm_label": "focushandlers"
+ },
+ {
+ "label": "Toggle()",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L31",
+ "id": "admin_csv_importer_toggle",
+ "community": 10,
+ "norm_label": "toggle()"
+ },
+ {
+ "label": "StepIndicator()",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L47",
+ "id": "admin_csv_importer_stepindicator",
+ "community": 10,
+ "norm_label": "stepindicator()"
+ },
+ {
+ "label": "CsvImporter()",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L84",
+ "id": "admin_csv_importer_csvimporter",
+ "community": 10,
+ "norm_label": "csvimporter()"
+ },
+ {
+ "label": "course-edit-form.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_course_edit_form_tsx",
+ "community": 0,
+ "norm_label": "course-edit-form.tsx"
+ },
+ {
+ "label": "Course",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L10",
+ "id": "admin_course_edit_form_course",
+ "community": 0,
+ "norm_label": "course"
+ },
+ {
+ "label": "Category",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L21",
+ "id": "admin_course_edit_form_category",
+ "community": 0,
+ "norm_label": "category"
+ },
+ {
+ "label": "CourseEditForm()",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L26",
+ "id": "admin_course_edit_form_courseeditform",
+ "community": 9,
+ "norm_label": "courseeditform()"
+ },
+ {
+ "label": "comments-table.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_comments_table_tsx",
+ "community": 21,
+ "norm_label": "comments-table.tsx"
+ },
+ {
+ "label": "Comment",
+ "file_type": "code",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "source_location": "L9",
+ "id": "admin_comments_table_comment",
+ "community": 21,
+ "norm_label": "comment"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "source_location": "L21",
+ "id": "admin_comments_table_inputstyle",
+ "community": 21,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "CommentsTable()",
+ "file_type": "code",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "source_location": "L30",
+ "id": "admin_comments_table_commentstable",
+ "community": 21,
+ "norm_label": "commentstable()"
+ },
+ {
+ "label": "homework-filters.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/homework-filters.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_homework_filters_tsx",
+ "community": 28,
+ "norm_label": "homework-filters.tsx"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/admin/homework-filters.tsx",
+ "source_location": "L7",
+ "id": "admin_homework_filters_inputstyle",
+ "community": 28,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "Course",
+ "file_type": "code",
+ "source_file": "src/components/admin/homework-filters.tsx",
+ "source_location": "L16",
+ "id": "admin_homework_filters_course",
+ "community": 28,
+ "norm_label": "course"
+ },
+ {
+ "label": "HomeworkFilters()",
+ "file_type": "code",
+ "source_file": "src/components/admin/homework-filters.tsx",
+ "source_location": "L18",
+ "id": "admin_homework_filters_homeworkfilters",
+ "community": 28,
+ "norm_label": "homeworkfilters()"
+ },
+ {
+ "label": "quiz-editor.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_quiz_editor_tsx",
+ "community": 6,
+ "norm_label": "quiz-editor.tsx"
+ },
+ {
+ "label": "QType",
+ "file_type": "code",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L6",
+ "id": "admin_quiz_editor_qtype",
+ "community": 6,
+ "norm_label": "qtype"
+ },
+ {
+ "label": "Question",
+ "file_type": "code",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L8",
+ "id": "admin_quiz_editor_question",
+ "community": 6,
+ "norm_label": "question"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L15",
+ "id": "admin_quiz_editor_props",
+ "community": 6,
+ "norm_label": "props"
+ },
+ {
+ "label": "TYPE_LABELS",
+ "file_type": "code",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L20",
+ "id": "admin_quiz_editor_type_labels",
+ "community": 6,
+ "norm_label": "type_labels"
+ },
+ {
+ "label": "QuizEditor()",
+ "file_type": "code",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L26",
+ "id": "admin_quiz_editor_quizeditor",
+ "community": 6,
+ "norm_label": "quizeditor()"
+ },
+ {
+ "label": "user-balance-block.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_user_balance_block_tsx",
+ "community": 7,
+ "norm_label": "user-balance-block.tsx"
+ },
+ {
+ "label": "Transaction",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L6",
+ "id": "admin_user_balance_block_transaction",
+ "community": 7,
+ "norm_label": "transaction"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L13",
+ "id": "admin_user_balance_block_props",
+ "community": 7,
+ "norm_label": "props"
+ },
+ {
+ "label": "inputStyle",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L18",
+ "id": "admin_user_balance_block_inputstyle",
+ "community": 7,
+ "norm_label": "inputstyle"
+ },
+ {
+ "label": "focusHandlers",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L27",
+ "id": "admin_user_balance_block_focushandlers",
+ "community": 7,
+ "norm_label": "focushandlers"
+ },
+ {
+ "label": "formatAmount()",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L34",
+ "id": "admin_user_balance_block_formatamount",
+ "community": 7,
+ "norm_label": "formatamount()"
+ },
+ {
+ "label": "UserBalanceBlock()",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L39",
+ "id": "admin_user_balance_block_userbalanceblock",
+ "community": 7,
+ "norm_label": "userbalanceblock()"
+ },
+ {
+ "label": "lesson-editor.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_lesson_editor_tsx",
+ "community": 6,
+ "norm_label": "lesson-editor.tsx"
+ },
+ {
+ "label": "LessonData",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L13",
+ "id": "admin_lesson_editor_lessondata",
+ "community": 6,
+ "norm_label": "lessondata"
+ },
+ {
+ "label": "SiblingLesson",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L21",
+ "id": "admin_lesson_editor_siblinglesson",
+ "community": 6,
+ "norm_label": "siblinglesson"
+ },
+ {
+ "label": "LessonEditor()",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L26",
+ "id": "admin_lesson_editor_lessoneditor",
+ "community": 6,
+ "norm_label": "lessoneditor()"
+ },
+ {
+ "label": "Sep()",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L376",
+ "id": "admin_lesson_editor_sep",
+ "community": 6,
+ "norm_label": "sep()"
+ },
+ {
+ "label": "ToolBtn()",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L380",
+ "id": "admin_lesson_editor_toolbtn",
+ "community": 6,
+ "norm_label": "toolbtn()"
+ },
+ {
+ "label": "enrollment-manager.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_enrollment_manager_tsx",
+ "community": 9,
+ "norm_label": "enrollment-manager.tsx"
+ },
+ {
+ "label": "Student",
+ "file_type": "code",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L8",
+ "id": "admin_enrollment_manager_student",
+ "community": 9,
+ "norm_label": "student"
+ },
+ {
+ "label": "Enrollment",
+ "file_type": "code",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L14",
+ "id": "admin_enrollment_manager_enrollment",
+ "community": 9,
+ "norm_label": "enrollment"
+ },
+ {
+ "label": "LogEntry",
+ "file_type": "code",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L19",
+ "id": "admin_enrollment_manager_logentry",
+ "community": 9,
+ "norm_label": "logentry"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L28",
+ "id": "admin_enrollment_manager_props",
+ "community": 9,
+ "norm_label": "props"
+ },
+ {
+ "label": "EnrollmentManager()",
+ "file_type": "code",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L35",
+ "id": "admin_enrollment_manager_enrollmentmanager",
+ "community": 9,
+ "norm_label": "enrollmentmanager()"
+ },
+ {
+ "label": "admin-shell.tsx",
+ "file_type": "code",
+ "source_file": "src/components/admin/admin-shell.tsx",
+ "source_location": "L1",
+ "id": "src_components_admin_admin_shell_tsx",
+ "community": 1,
+ "norm_label": "admin-shell.tsx"
+ },
+ {
+ "label": "AdminShell()",
+ "file_type": "code",
+ "source_file": "src/components/admin/admin-shell.tsx",
+ "source_location": "L4",
+ "id": "admin_admin_shell_adminshell",
+ "community": 1,
+ "norm_label": "adminshell()"
+ },
+ {
+ "label": "content-viewer.tsx",
+ "file_type": "code",
+ "source_file": "src/components/curator/content-viewer.tsx",
+ "source_location": "L1",
+ "id": "src_components_curator_content_viewer_tsx",
+ "community": 11,
+ "norm_label": "content-viewer.tsx"
+ },
+ {
+ "label": "ContentViewer()",
+ "file_type": "code",
+ "source_file": "src/components/curator/content-viewer.tsx",
+ "source_location": "L8",
+ "id": "curator_content_viewer_contentviewer",
+ "community": 11,
+ "norm_label": "contentviewer()"
+ },
+ {
+ "label": "audio-recorder.tsx",
+ "file_type": "code",
+ "source_file": "src/components/curator/audio-recorder.tsx",
+ "source_location": "L1",
+ "id": "src_components_curator_audio_recorder_tsx",
+ "community": 11,
+ "norm_label": "audio-recorder.tsx"
+ },
+ {
+ "label": "AudioRecorderProps",
+ "file_type": "code",
+ "source_file": "src/components/curator/audio-recorder.tsx",
+ "source_location": "L5",
+ "id": "curator_audio_recorder_audiorecorderprops",
+ "community": 11,
+ "norm_label": "audiorecorderprops"
+ },
+ {
+ "label": "AudioRecorder()",
+ "file_type": "code",
+ "source_file": "src/components/curator/audio-recorder.tsx",
+ "source_location": "L11",
+ "id": "curator_audio_recorder_audiorecorder",
+ "community": 11,
+ "norm_label": "audiorecorder()"
+ },
+ {
+ "label": "file-format-badge.tsx",
+ "file_type": "code",
+ "source_file": "src/components/shared/file-format-badge.tsx",
+ "source_location": "L1",
+ "id": "src_components_shared_file_format_badge_tsx",
+ "community": 6,
+ "norm_label": "file-format-badge.tsx"
+ },
+ {
+ "label": "FORMAT_MAP",
+ "file_type": "code",
+ "source_file": "src/components/shared/file-format-badge.tsx",
+ "source_location": "L1",
+ "id": "shared_file_format_badge_format_map",
+ "community": 6,
+ "norm_label": "format_map"
+ },
+ {
+ "label": "getFileFormatInfo()",
+ "file_type": "code",
+ "source_file": "src/components/shared/file-format-badge.tsx",
+ "source_location": "L14",
+ "id": "shared_file_format_badge_getfileformatinfo",
+ "community": 6,
+ "norm_label": "getfileformatinfo()"
+ },
+ {
+ "label": "FileFormatBadge()",
+ "file_type": "code",
+ "source_file": "src/components/shared/file-format-badge.tsx",
+ "source_location": "L19",
+ "id": "shared_file_format_badge_fileformatbadge",
+ "community": 6,
+ "norm_label": "fileformatbadge()"
+ },
+ {
+ "label": "QuestionSplitView.tsx",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L1",
+ "id": "src_components_questions_questionsplitview_tsx",
+ "community": 22,
+ "norm_label": "questionsplitview.tsx"
+ },
+ {
+ "label": "FileAttachment",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L5",
+ "id": "questions_questionsplitview_fileattachment",
+ "community": 22,
+ "norm_label": "fileattachment"
+ },
+ {
+ "label": "Message",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L11",
+ "id": "questions_questionsplitview_message",
+ "community": 22,
+ "norm_label": "message"
+ },
+ {
+ "label": "QuestionSummary",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L21",
+ "id": "questions_questionsplitview_questionsummary",
+ "community": 22,
+ "norm_label": "questionsummary"
+ },
+ {
+ "label": "QuestionDetail",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L31",
+ "id": "questions_questionsplitview_questiondetail",
+ "community": 22,
+ "norm_label": "questiondetail"
+ },
+ {
+ "label": "formatDate()",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L40",
+ "id": "questions_questionsplitview_formatdate",
+ "community": 22,
+ "norm_label": "formatdate()"
+ },
+ {
+ "label": "formatFileSize()",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L49",
+ "id": "questions_questionsplitview_formatfilesize",
+ "community": 22,
+ "norm_label": "formatfilesize()"
+ },
+ {
+ "label": "QuestionSplitView()",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L55",
+ "id": "questions_questionsplitview_questionsplitview",
+ "community": 22,
+ "norm_label": "questionsplitview()"
+ },
+ {
+ "label": "QuestionThread.tsx",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L1",
+ "id": "src_components_questions_questionthread_tsx",
+ "community": 26,
+ "norm_label": "questionthread.tsx"
+ },
+ {
+ "label": "FileAttachment",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L5",
+ "id": "questions_questionthread_fileattachment",
+ "community": 26,
+ "norm_label": "fileattachment"
+ },
+ {
+ "label": "Message",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L11",
+ "id": "questions_questionthread_message",
+ "community": 26,
+ "norm_label": "message"
+ },
+ {
+ "label": "QuestionThreadProps",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L21",
+ "id": "questions_questionthread_questionthreadprops",
+ "community": 26,
+ "norm_label": "questionthreadprops"
+ },
+ {
+ "label": "formatDate()",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L28",
+ "id": "questions_questionthread_formatdate",
+ "community": 26,
+ "norm_label": "formatdate()"
+ },
+ {
+ "label": "formatFileSize()",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L37",
+ "id": "questions_questionthread_formatfilesize",
+ "community": 26,
+ "norm_label": "formatfilesize()"
+ },
+ {
+ "label": "QuestionThread()",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L43",
+ "id": "questions_questionthread_questionthread",
+ "community": 26,
+ "norm_label": "questionthread()"
+ },
+ {
+ "label": "kinescope-player.tsx",
+ "file_type": "code",
+ "source_file": "src/components/player/kinescope-player.tsx",
+ "source_location": "L1",
+ "id": "src_components_player_kinescope_player_tsx",
+ "community": 4,
+ "norm_label": "kinescope-player.tsx"
+ },
+ {
+ "label": "Props",
+ "file_type": "code",
+ "source_file": "src/components/player/kinescope-player.tsx",
+ "source_location": "L6",
+ "id": "player_kinescope_player_props",
+ "community": 4,
+ "norm_label": "props"
+ },
+ {
+ "label": "KinescopePlayer()",
+ "file_type": "code",
+ "source_file": "src/components/player/kinescope-player.tsx",
+ "source_location": "L11",
+ "id": "player_kinescope_player_kinescopeplayer",
+ "community": 4,
+ "norm_label": "kinescopeplayer()"
+ },
+ {
+ "label": "prisma.ts",
+ "file_type": "code",
+ "source_file": "src/lib/prisma.ts",
+ "source_location": "L1",
+ "id": "src_lib_prisma_ts",
+ "community": 13,
+ "norm_label": "prisma.ts"
+ },
+ {
+ "label": "globalForPrisma",
+ "file_type": "code",
+ "source_file": "src/lib/prisma.ts",
+ "source_location": "L4",
+ "id": "lib_prisma_globalforprisma",
+ "community": 13,
+ "norm_label": "globalforprisma"
+ },
+ {
+ "label": "createPrismaClient()",
+ "file_type": "code",
+ "source_file": "src/lib/prisma.ts",
+ "source_location": "L8",
+ "id": "lib_prisma_createprismaclient",
+ "community": 13,
+ "norm_label": "createprismaclient()"
+ },
+ {
+ "label": "s3.ts",
+ "file_type": "code",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L1",
+ "id": "src_lib_s3_ts",
+ "community": 16,
+ "norm_label": "s3.ts"
+ },
+ {
+ "label": "s3",
+ "file_type": "code",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L4",
+ "id": "lib_s3_s3",
+ "community": 16,
+ "norm_label": "s3"
+ },
+ {
+ "label": "getPublicUrl()",
+ "file_type": "code",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L16",
+ "id": "lib_s3_getpublicurl",
+ "community": 16,
+ "norm_label": "getpublicurl()"
+ },
+ {
+ "label": "uploadFile()",
+ "file_type": "code",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L20",
+ "id": "lib_s3_uploadfile",
+ "community": 16,
+ "norm_label": "uploadfile()"
+ },
+ {
+ "label": "deleteFile()",
+ "file_type": "code",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L36",
+ "id": "lib_s3_deletefile",
+ "community": 16,
+ "norm_label": "deletefile()"
+ },
+ {
+ "label": "settings.ts",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L1",
+ "id": "src_lib_settings_ts",
+ "community": 1,
+ "norm_label": "settings.ts"
+ },
+ {
+ "label": "SETTINGS_DEFAULTS",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L6",
+ "id": "lib_settings_settings_defaults",
+ "community": 1,
+ "norm_label": "settings_defaults"
+ },
+ {
+ "label": "SettingsKey",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L51",
+ "id": "lib_settings_settingskey",
+ "community": 1,
+ "norm_label": "settingskey"
+ },
+ {
+ "label": "Settings",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L52",
+ "id": "lib_settings_settings",
+ "community": 1,
+ "norm_label": "settings"
+ },
+ {
+ "label": "getSettings",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L56",
+ "id": "lib_settings_getsettings",
+ "community": 1,
+ "norm_label": "getsettings"
+ },
+ {
+ "label": "getSetting()",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L70",
+ "id": "lib_settings_getsetting",
+ "community": 1,
+ "norm_label": "getsetting()"
+ },
+ {
+ "label": "asBool()",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L82",
+ "id": "lib_settings_asbool",
+ "community": 11,
+ "norm_label": "asbool()"
+ },
+ {
+ "label": "parseNotificationEmails()",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L87",
+ "id": "lib_settings_parsenotificationemails",
+ "community": 4,
+ "norm_label": "parsenotificationemails()"
+ },
+ {
+ "label": "md-to-tiptap.ts",
+ "file_type": "code",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L1",
+ "id": "src_lib_md_to_tiptap_ts",
+ "community": 2,
+ "norm_label": "md-to-tiptap.ts"
+ },
+ {
+ "label": "Mark",
+ "file_type": "code",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L6",
+ "id": "lib_md_to_tiptap_mark",
+ "community": 2,
+ "norm_label": "mark"
+ },
+ {
+ "label": "TipTapNode",
+ "file_type": "code",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L8",
+ "id": "lib_md_to_tiptap_tiptapnode",
+ "community": 2,
+ "norm_label": "tiptapnode"
+ },
+ {
+ "label": "MdastNode",
+ "file_type": "code",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L17",
+ "id": "lib_md_to_tiptap_mdastnode",
+ "community": 2,
+ "norm_label": "mdastnode"
+ },
+ {
+ "label": "convertInline()",
+ "file_type": "code",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L21",
+ "id": "lib_md_to_tiptap_convertinline",
+ "community": 2,
+ "norm_label": "convertinline()"
+ },
+ {
+ "label": "convertBlock()",
+ "file_type": "code",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L103",
+ "id": "lib_md_to_tiptap_convertblock",
+ "community": 2,
+ "norm_label": "convertblock()"
+ },
+ {
+ "label": "mdToTiptap()",
+ "file_type": "code",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L173",
+ "id": "lib_md_to_tiptap_mdtotiptap",
+ "community": 2,
+ "norm_label": "mdtotiptap()"
+ },
+ {
+ "label": "email.ts",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L1",
+ "id": "src_lib_email_ts",
+ "community": 3,
+ "norm_label": "email.ts"
+ },
+ {
+ "label": "getResend()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L4",
+ "id": "lib_email_getresend",
+ "community": 3,
+ "norm_label": "getresend()"
+ },
+ {
+ "label": "getSchoolName()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L10",
+ "id": "lib_email_getschoolname",
+ "community": 3,
+ "norm_label": "getschoolname()"
+ },
+ {
+ "label": "base()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L16",
+ "id": "lib_email_base",
+ "community": 3,
+ "norm_label": "base()"
+ },
+ {
+ "label": "btn()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L82",
+ "id": "lib_email_btn",
+ "community": 3,
+ "norm_label": "btn()"
+ },
+ {
+ "label": "quote()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L92",
+ "id": "lib_email_quote",
+ "community": 3,
+ "norm_label": "quote()"
+ },
+ {
+ "label": "sendCourseAccessEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L104",
+ "id": "lib_email_sendcourseaccessemail",
+ "community": 3,
+ "norm_label": "sendcourseaccessemail()"
+ },
+ {
+ "label": "sendHomeworkSubmittedEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L119",
+ "id": "lib_email_sendhomeworksubmittedemail",
+ "community": 3,
+ "norm_label": "sendhomeworksubmittedemail()"
+ },
+ {
+ "label": "sendFeedbackReceivedEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L140",
+ "id": "lib_email_sendfeedbackreceivedemail",
+ "community": 3,
+ "norm_label": "sendfeedbackreceivedemail()"
+ },
+ {
+ "label": "sendWelcomeEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L162",
+ "id": "lib_email_sendwelcomeemail",
+ "community": 3,
+ "norm_label": "sendwelcomeemail()"
+ },
+ {
+ "label": "sendTestEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L177",
+ "id": "lib_email_sendtestemail",
+ "community": 3,
+ "norm_label": "sendtestemail()"
+ },
+ {
+ "label": "sendAccessEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L193",
+ "id": "lib_email_sendaccessemail",
+ "community": 3,
+ "norm_label": "sendaccessemail()"
+ },
+ {
+ "label": "sendPasswordResetEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L216",
+ "id": "lib_email_sendpasswordresetemail",
+ "community": 3,
+ "norm_label": "sendpasswordresetemail()"
+ },
+ {
+ "label": "sendQuestionCreatedEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L232",
+ "id": "lib_email_sendquestioncreatedemail",
+ "community": 3,
+ "norm_label": "sendquestioncreatedemail()"
+ },
+ {
+ "label": "sendQuestionReplyEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L253",
+ "id": "lib_email_sendquestionreplyemail",
+ "community": 3,
+ "norm_label": "sendquestionreplyemail()"
+ },
+ {
+ "label": "sendQuestionFollowUpEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L274",
+ "id": "lib_email_sendquestionfollowupemail",
+ "community": 3,
+ "norm_label": "sendquestionfollowupemail()"
+ },
+ {
+ "label": "sendHomeworkUpdatedEmail()",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L295",
+ "id": "lib_email_sendhomeworkupdatedemail",
+ "community": 3,
+ "norm_label": "sendhomeworkupdatedemail()"
+ },
+ {
+ "label": "utils.ts",
+ "file_type": "code",
+ "source_file": "src/lib/utils.ts",
+ "source_location": "L1",
+ "id": "src_lib_utils_ts",
+ "community": 0,
+ "norm_label": "utils.ts"
+ },
+ {
+ "label": "cn()",
+ "file_type": "code",
+ "source_file": "src/lib/utils.ts",
+ "source_location": "L4",
+ "id": "lib_utils_cn",
+ "community": 0,
+ "norm_label": "cn()"
+ },
+ {
+ "label": "auth.ts",
+ "file_type": "code",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L1",
+ "id": "src_lib_auth_ts",
+ "community": 5,
+ "norm_label": "auth.ts"
+ },
+ {
+ "label": "auth",
+ "file_type": "code",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L8",
+ "id": "lib_auth_auth",
+ "community": 5,
+ "norm_label": "auth"
+ },
+ {
+ "label": "Session",
+ "file_type": "code",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L53",
+ "id": "lib_auth_session",
+ "community": 5,
+ "norm_label": "session"
+ },
+ {
+ "label": "User",
+ "file_type": "code",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L54",
+ "id": "lib_auth_user",
+ "community": 5,
+ "norm_label": "user"
+ },
+ {
+ "label": "auth-client.ts",
+ "file_type": "code",
+ "source_file": "src/lib/auth-client.ts",
+ "source_location": "L1",
+ "id": "src_lib_auth_client_ts",
+ "community": 1,
+ "norm_label": "auth-client.ts"
+ },
+ {
+ "label": "authClient",
+ "file_type": "code",
+ "source_file": "src/lib/auth-client.ts",
+ "source_location": "L6",
+ "id": "lib_auth_client_authclient",
+ "community": 1,
+ "norm_label": "authclient"
+ },
+ {
+ "label": "course-actions.ts",
+ "file_type": "code",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L1",
+ "id": "src_lib_actions_course_actions_ts",
+ "community": 9,
+ "norm_label": "course-actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L10",
+ "id": "actions_course_actions_requireadmin",
+ "community": 9,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "createModule()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L18",
+ "id": "actions_course_actions_createmodule",
+ "community": 9,
+ "norm_label": "createmodule()"
+ },
+ {
+ "label": "updateModule()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L27",
+ "id": "actions_course_actions_updatemodule",
+ "community": 9,
+ "norm_label": "updatemodule()"
+ },
+ {
+ "label": "deleteModule()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L35",
+ "id": "actions_course_actions_deletemodule",
+ "community": 9,
+ "norm_label": "deletemodule()"
+ },
+ {
+ "label": "reorderModules()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L41",
+ "id": "actions_course_actions_reordermodules",
+ "community": 9,
+ "norm_label": "reordermodules()"
+ },
+ {
+ "label": "grantAccess()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L53",
+ "id": "actions_course_actions_grantaccess",
+ "community": 9,
+ "norm_label": "grantaccess()"
+ },
+ {
+ "label": "revokeAccess()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L87",
+ "id": "actions_course_actions_revokeaccess",
+ "community": 9,
+ "norm_label": "revokeaccess()"
+ },
+ {
+ "label": "quiz-actions.ts",
+ "file_type": "code",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L1",
+ "id": "src_lib_actions_quiz_actions_ts",
+ "community": 6,
+ "norm_label": "quiz-actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L8",
+ "id": "actions_quiz_actions_requireadmin",
+ "community": 6,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "saveQuiz()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L13",
+ "id": "actions_quiz_actions_savequiz",
+ "community": 6,
+ "norm_label": "savequiz()"
+ },
+ {
+ "label": "deleteQuiz()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L49",
+ "id": "actions_quiz_actions_deletequiz",
+ "community": 6,
+ "norm_label": "deletequiz()"
+ },
+ {
+ "label": "student-actions.ts",
+ "file_type": "code",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L1",
+ "id": "src_lib_actions_student_actions_ts",
+ "community": 4,
+ "norm_label": "student-actions.ts"
+ },
+ {
+ "label": "toggleLessonProgress()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L12",
+ "id": "actions_student_actions_togglelessonprogress",
+ "community": 4,
+ "norm_label": "togglelessonprogress()"
+ },
+ {
+ "label": "HomeworkFile",
+ "file_type": "code",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L37",
+ "id": "actions_student_actions_homeworkfile",
+ "community": 4,
+ "norm_label": "homeworkfile"
+ },
+ {
+ "label": "submitHomework()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L43",
+ "id": "actions_student_actions_submithomework",
+ "community": 4,
+ "norm_label": "submithomework()"
+ },
+ {
+ "label": "submitQuizAttempt()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L104",
+ "id": "actions_student_actions_submitquizattempt",
+ "community": 4,
+ "norm_label": "submitquizattempt()"
+ },
+ {
+ "label": "addComment()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L141",
+ "id": "actions_student_actions_addcomment",
+ "community": 4,
+ "norm_label": "addcomment()"
+ },
+ {
+ "label": "deleteComment()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L182",
+ "id": "actions_student_actions_deletecomment",
+ "community": 4,
+ "norm_label": "deletecomment()"
+ },
+ {
+ "label": "lesson-actions.ts",
+ "file_type": "code",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "source_location": "L1",
+ "id": "src_lib_actions_lesson_actions_ts",
+ "community": 35,
+ "norm_label": "lesson-actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "source_location": "L8",
+ "id": "actions_lesson_actions_requireadmin",
+ "community": 35,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "saveLesson()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "source_location": "L13",
+ "id": "actions_lesson_actions_savelesson",
+ "community": 35,
+ "norm_label": "savelesson()"
+ },
+ {
+ "label": "user-actions.ts",
+ "file_type": "code",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L1",
+ "id": "src_lib_actions_user_actions_ts",
+ "community": 7,
+ "norm_label": "user-actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L8",
+ "id": "actions_user_actions_requireadmin",
+ "community": 7,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "bulkGrantAccess()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L14",
+ "id": "actions_user_actions_bulkgrantaccess",
+ "community": 7,
+ "norm_label": "bulkgrantaccess()"
+ },
+ {
+ "label": "revokeUserAccess()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L44",
+ "id": "actions_user_actions_revokeuseraccess",
+ "community": 7,
+ "norm_label": "revokeuseraccess()"
+ },
+ {
+ "label": "module-actions.ts",
+ "file_type": "code",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L1",
+ "id": "src_lib_actions_module_actions_ts",
+ "community": 17,
+ "norm_label": "module-actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L9",
+ "id": "actions_module_actions_requireadmin",
+ "community": 17,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "createLesson()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L14",
+ "id": "actions_module_actions_createlesson",
+ "community": 17,
+ "norm_label": "createlesson()"
+ },
+ {
+ "label": "updateLesson()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L26",
+ "id": "actions_module_actions_updatelesson",
+ "community": 17,
+ "norm_label": "updatelesson()"
+ },
+ {
+ "label": "deleteLesson()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L33",
+ "id": "actions_module_actions_deletelesson",
+ "community": 17,
+ "norm_label": "deletelesson()"
+ },
+ {
+ "label": "reorderLessons()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L39",
+ "id": "actions_module_actions_reorderlessons",
+ "community": 17,
+ "norm_label": "reorderlessons()"
+ },
+ {
+ "label": "toggleLessonPublished()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L49",
+ "id": "actions_module_actions_togglelessonpublished",
+ "community": 17,
+ "norm_label": "togglelessonpublished()"
+ },
+ {
+ "label": "moveLessonToModule()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L64",
+ "id": "actions_module_actions_movelessontomodule",
+ "community": 17,
+ "norm_label": "movelessontomodule()"
+ },
+ {
+ "label": "homework-actions.ts",
+ "file_type": "code",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L1",
+ "id": "src_lib_actions_homework_actions_ts",
+ "community": 6,
+ "norm_label": "homework-actions.ts"
+ },
+ {
+ "label": "requireAdmin()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L8",
+ "id": "actions_homework_actions_requireadmin",
+ "community": 6,
+ "norm_label": "requireadmin()"
+ },
+ {
+ "label": "saveHomework()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L13",
+ "id": "actions_homework_actions_savehomework",
+ "community": 6,
+ "norm_label": "savehomework()"
+ },
+ {
+ "label": "deleteHomework()",
+ "file_type": "code",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L23",
+ "id": "actions_homework_actions_deletehomework",
+ "community": 6,
+ "norm_label": "deletehomework()"
+ },
+ {
+ "label": "Project Roadmap",
+ "file_type": "document",
+ "source_file": "ROADMAP.md",
+ "id": "roadmap_md",
+ "community": 38,
+ "norm_label": "project roadmap"
+ },
+ {
+ "label": "Technical Documentation",
+ "file_type": "document",
+ "source_file": "TECHNICAL.md",
+ "id": "technical_md",
+ "community": 34,
+ "norm_label": "technical documentation"
+ },
+ {
+ "label": "Agent Instructions",
+ "file_type": "document",
+ "source_file": "AGENTS.md",
+ "id": "agents_md",
+ "community": 54,
+ "norm_label": "agent instructions"
+ },
+ {
+ "label": "Claude Project Rules",
+ "file_type": "document",
+ "source_file": "CLAUDE.md",
+ "id": "claude_md",
+ "community": 38,
+ "norm_label": "claude project rules"
+ },
+ {
+ "label": "Prisma Schema",
+ "file_type": "code",
+ "source_file": "prisma/schema.prisma",
+ "id": "prisma_schema",
+ "community": 34,
+ "norm_label": "prisma schema"
+ },
+ {
+ "label": "Auth Middleware",
+ "file_type": "code",
+ "source_file": "src/middleware.ts",
+ "id": "middleware_ts",
+ "community": 41,
+ "norm_label": "auth middleware"
+ },
+ {
+ "label": "Better Auth Server Config",
+ "file_type": "code",
+ "source_file": "src/lib/auth.ts",
+ "id": "lib_auth_ts",
+ "community": 41,
+ "norm_label": "better auth server config"
+ },
+ {
+ "label": "Prisma Client Singleton",
+ "file_type": "code",
+ "source_file": "src/lib/prisma.ts",
+ "id": "lib_prisma_ts",
+ "community": 37,
+ "norm_label": "prisma client singleton"
+ },
+ {
+ "label": "Settings Helper",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "id": "lib_settings_ts",
+ "community": 55,
+ "norm_label": "settings helper"
+ },
+ {
+ "label": "Email Helpers (Resend)",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "id": "lib_email_ts",
+ "community": 33,
+ "norm_label": "email helpers (resend)"
+ },
+ {
+ "label": "Lesson Progress Actions",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts",
+ "id": "student_lesson_actions",
+ "community": 37,
+ "norm_label": "lesson progress actions"
+ },
+ {
+ "label": "Homework Submission Actions",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "id": "student_homework_actions",
+ "community": 33,
+ "norm_label": "homework submission actions"
+ },
+ {
+ "label": "Lesson Comment Actions",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "id": "student_comment_actions",
+ "community": 37,
+ "norm_label": "lesson comment actions"
+ },
+ {
+ "label": "Questions API Route",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/route.ts",
+ "id": "api_questions_route",
+ "community": 33,
+ "norm_label": "questions api route"
+ },
+ {
+ "label": "Lesson Page",
+ "file_type": "code",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "id": "lesson_page_lessonpage",
+ "community": 18,
+ "norm_label": "lesson page"
+ },
+ {
+ "label": "Student Dashboard",
+ "file_type": "code",
+ "source_file": "src/app/(student)/dashboard/page.tsx",
+ "id": "student_dashboard_studentdashboard",
+ "community": 18,
+ "norm_label": "student dashboard"
+ },
+ {
+ "label": "Create Course Action",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "id": "admin_courses_actions_createcourse",
+ "community": 18,
+ "norm_label": "create course action"
+ },
+ {
+ "label": "Update Course Action",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "id": "admin_courses_actions_updatecourse",
+ "community": 56,
+ "norm_label": "update course action"
+ },
+ {
+ "label": "Course Detail Page",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "id": "admin_course_detail_coursedetailpage",
+ "community": 18,
+ "norm_label": "course detail page"
+ },
+ {
+ "label": "Create Module Action",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "id": "admin_module_actions_createmodule",
+ "community": 18,
+ "norm_label": "create module action"
+ },
+ {
+ "label": "Create Lesson Action",
+ "file_type": "code",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "id": "admin_lesson_actions_createlesson",
+ "community": 18,
+ "norm_label": "create lesson action"
+ },
+ {
+ "label": "Admin Dashboard",
+ "file_type": "code",
+ "source_file": "src/app/admin/dashboard/page.tsx",
+ "id": "admin_dashboard_admindashboard",
+ "community": 18,
+ "norm_label": "admin dashboard"
+ },
+ {
+ "label": "Parse CSV Action",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "id": "import_actions_parsecsv",
+ "community": 57,
+ "norm_label": "parse csv action"
+ },
+ {
+ "label": "Apply Import Action",
+ "file_type": "code",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "id": "import_actions_applyimport",
+ "community": 18,
+ "norm_label": "apply import action"
+ },
+ {
+ "label": "Create User Action",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/actions.ts",
+ "id": "admin_users_actions_createuser",
+ "community": 18,
+ "norm_label": "create user action"
+ },
+ {
+ "label": "User Detail Page",
+ "file_type": "code",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "id": "admin_user_detail_userpage",
+ "community": 18,
+ "norm_label": "user detail page"
+ },
+ {
+ "label": "Create Question API",
+ "file_type": "code",
+ "source_file": "src/app/api/questions/route.ts",
+ "id": "api_questions_post",
+ "community": 18,
+ "norm_label": "create question api"
+ },
+ {
+ "label": "Submit Feedback Action",
+ "file_type": "code",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "id": "curator_homework_actions_submitfeedback",
+ "community": 18,
+ "norm_label": "submit feedback action"
+ },
+ {
+ "label": "Prisma Client",
+ "file_type": "code",
+ "source_file": "src/lib/prisma.ts",
+ "id": "prisma_client",
+ "community": 18,
+ "norm_label": "prisma client"
+ },
+ {
+ "label": "Auth Library",
+ "file_type": "code",
+ "source_file": "src/lib/auth.ts",
+ "id": "auth_lib",
+ "community": 18,
+ "norm_label": "auth library"
+ },
+ {
+ "label": "LessonFilesManager",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-files-manager.tsx",
+ "id": "lesson_files_manager_lessonfilesmanager",
+ "community": 40,
+ "norm_label": "lessonfilesmanager"
+ },
+ {
+ "label": "SortableLessons",
+ "file_type": "code",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "id": "sortable_lessons_sortablelessons",
+ "community": 45,
+ "norm_label": "sortablelessons"
+ },
+ {
+ "label": "UserContactEditor",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "id": "user_contact_editor_usercontacteditor",
+ "community": 58,
+ "norm_label": "usercontacteditor"
+ },
+ {
+ "label": "CategoryRow",
+ "file_type": "code",
+ "source_file": "src/components/admin/category-row.tsx",
+ "id": "category_row_categoryrow",
+ "community": 59,
+ "norm_label": "categoryrow"
+ },
+ {
+ "label": "UserEnrollmentManager",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "id": "user_enrollment_manager_userenrollmentmanager",
+ "community": 51,
+ "norm_label": "userenrollmentmanager"
+ },
+ {
+ "label": "HomeworkEditor",
+ "file_type": "code",
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "id": "homework_editor_homeworkeditor",
+ "community": 39,
+ "norm_label": "homeworkeditor"
+ },
+ {
+ "label": "CourseTree",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-tree.tsx",
+ "id": "course_tree_coursetree",
+ "community": 60,
+ "norm_label": "coursetree"
+ },
+ {
+ "label": "CsvImporter",
+ "file_type": "code",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "id": "csv_importer_csvimporter",
+ "community": 61,
+ "norm_label": "csvimporter"
+ },
+ {
+ "label": "CourseEditForm",
+ "file_type": "code",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "id": "course_edit_form_courseeditform",
+ "community": 62,
+ "norm_label": "courseeditform"
+ },
+ {
+ "label": "CommentsTable",
+ "file_type": "code",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "id": "comments_table_commentstable",
+ "community": 63,
+ "norm_label": "commentstable"
+ },
+ {
+ "label": "HomeworkFilters",
+ "file_type": "code",
+ "source_file": "src/components/admin/homework-filters.tsx",
+ "id": "homework_filters_homeworkfilters",
+ "community": 64,
+ "norm_label": "homeworkfilters"
+ },
+ {
+ "label": "QuizEditor",
+ "file_type": "code",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "id": "quiz_editor_quizeditor",
+ "community": 46,
+ "norm_label": "quizeditor"
+ },
+ {
+ "label": "UserBalanceBlock",
+ "file_type": "code",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "id": "user_balance_block_userbalanceblock",
+ "community": 65,
+ "norm_label": "userbalanceblock"
+ },
+ {
+ "label": "LessonEditor",
+ "file_type": "code",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "id": "lesson_editor_lessoneditor",
+ "community": 44,
+ "norm_label": "lessoneditor"
+ },
+ {
+ "label": "EnrollmentManager",
+ "file_type": "code",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "id": "enrollment_manager_enrollmentmanager",
+ "community": 23,
+ "norm_label": "enrollmentmanager"
+ },
+ {
+ "label": "AdminShell",
+ "file_type": "code",
+ "source_file": "src/components/admin/admin-shell.tsx",
+ "id": "admin_shell_adminshell",
+ "community": 66,
+ "norm_label": "adminshell"
+ },
+ {
+ "label": "ContentViewer",
+ "file_type": "code",
+ "source_file": "src/components/curator/content-viewer.tsx",
+ "id": "content_viewer_contentviewer",
+ "community": 67,
+ "norm_label": "contentviewer"
+ },
+ {
+ "label": "AudioRecorder",
+ "file_type": "code",
+ "source_file": "src/components/curator/audio-recorder.tsx",
+ "id": "audio_recorder_audiorecorder",
+ "community": 23,
+ "norm_label": "audiorecorder"
+ },
+ {
+ "label": "LogoutButton",
+ "file_type": "code",
+ "source_file": "src/components/layout/logout-button.tsx",
+ "id": "logout_button_logoutbutton",
+ "community": 68,
+ "norm_label": "logoutbutton"
+ },
+ {
+ "label": "KinescopePlayer",
+ "file_type": "code",
+ "source_file": "src/components/player/kinescope-player.tsx",
+ "id": "kinescope_player_kinescopeplayer",
+ "community": 69,
+ "norm_label": "kinescopeplayer"
+ },
+ {
+ "label": "QuestionSplitView",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "id": "question_split_view_questionsplitview",
+ "community": 70,
+ "norm_label": "questionsplitview"
+ },
+ {
+ "label": "QuestionThread",
+ "file_type": "code",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "id": "question_thread_questionthread",
+ "community": 71,
+ "norm_label": "questionthread"
+ },
+ {
+ "label": "FileFormatBadge",
+ "file_type": "code",
+ "source_file": "src/components/shared/file-format-badge.tsx",
+ "id": "file_format_badge_fileformatbadge",
+ "community": 40,
+ "norm_label": "fileformatbadge"
+ },
+ {
+ "label": "CourseSidebar",
+ "file_type": "code",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "id": "course_sidebar_coursesidebar",
+ "community": 72,
+ "norm_label": "coursesidebar"
+ },
+ {
+ "label": "QuizSection",
+ "file_type": "code",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "id": "quiz_section_quizsection",
+ "community": 73,
+ "norm_label": "quizsection"
+ },
+ {
+ "label": "HomeworkSection",
+ "file_type": "code",
+ "source_file": "src/components/student/homework-section.tsx",
+ "id": "homework_section_homeworksection",
+ "community": 23,
+ "norm_label": "homeworksection"
+ },
+ {
+ "label": "LessonCompleteButton",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-complete-button.tsx",
+ "id": "lesson_complete_button_lessoncompletebutton",
+ "community": 74,
+ "norm_label": "lessoncompletebutton"
+ },
+ {
+ "label": "LessonContent",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-content.tsx",
+ "id": "lesson_content_lessoncontent",
+ "community": 75,
+ "norm_label": "lessoncontent"
+ },
+ {
+ "label": "LessonComments",
+ "file_type": "code",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "id": "lesson_comments_lessoncomments",
+ "community": 76,
+ "norm_label": "lessoncomments"
+ },
+ {
+ "label": "Prisma Client",
+ "file_type": "code",
+ "source_file": "src/lib/prisma.ts",
+ "id": "prisma_prisma",
+ "community": 23,
+ "norm_label": "prisma client"
+ },
+ {
+ "label": "S3 Client",
+ "file_type": "code",
+ "source_file": "src/lib/s3.ts",
+ "id": "s3_s3",
+ "community": 77,
+ "norm_label": "s3 client"
+ },
+ {
+ "label": "getSettings",
+ "file_type": "code",
+ "source_file": "src/lib/settings.ts",
+ "id": "settings_getsettings",
+ "community": 23,
+ "norm_label": "getsettings"
+ },
+ {
+ "label": "mdToTiptap",
+ "file_type": "code",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "id": "md_to_tiptap_mdtotiptap",
+ "community": 44,
+ "norm_label": "mdtotiptap"
+ },
+ {
+ "label": "Email Senders",
+ "file_type": "code",
+ "source_file": "src/lib/email.ts",
+ "id": "email_senders",
+ "community": 23,
+ "norm_label": "email senders"
+ },
+ {
+ "label": "Better Auth",
+ "file_type": "code",
+ "source_file": "src/lib/auth.ts",
+ "id": "auth_auth",
+ "community": 23,
+ "norm_label": "better auth"
+ },
+ {
+ "label": "grantAccess",
+ "file_type": "code",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "id": "course_actions_grantaccess",
+ "community": 23,
+ "norm_label": "grantaccess"
+ },
+ {
+ "label": "saveQuiz",
+ "file_type": "code",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "id": "quiz_actions_savequiz",
+ "community": 46,
+ "norm_label": "savequiz"
+ },
+ {
+ "label": "submitHomework",
+ "file_type": "code",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "id": "student_actions_submithomework",
+ "community": 23,
+ "norm_label": "submithomework"
+ },
+ {
+ "label": "saveLesson",
+ "file_type": "code",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "id": "lesson_actions_savelesson",
+ "community": 78,
+ "norm_label": "savelesson"
+ },
+ {
+ "label": "bulkGrantAccess",
+ "file_type": "code",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "id": "user_actions_bulkgrantaccess",
+ "community": 51,
+ "norm_label": "bulkgrantaccess"
+ },
+ {
+ "label": "createLesson",
+ "file_type": "code",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "id": "module_actions_createlesson",
+ "community": 45,
+ "norm_label": "createlesson"
+ },
+ {
+ "label": "saveHomework",
+ "file_type": "code",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "id": "homework_actions_savehomework",
+ "community": 39,
+ "norm_label": "savehomework"
+ }
+ ],
+ "links": [
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "postcss.config.mjs",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "postcss_config_mjs",
+ "target": "lms_system_postcss_config_config",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "load-test.js",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "load_test_js",
+ "target": "lms_system_load_test_lessons",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "load-test.js",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "load_test_js",
+ "target": "lms_system_load_test_test_user",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "load-test.js",
+ "source_location": "L25",
+ "weight": 1.0,
+ "source": "load_test_js",
+ "target": "lms_system_load_test_browser_headers",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "load-test.js",
+ "source_location": "L30",
+ "weight": 1.0,
+ "source": "load_test_js",
+ "target": "lms_system_load_test_options",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "load-test.js",
+ "source_location": "L49",
+ "weight": 1.0,
+ "source": "load_test_js",
+ "target": "lms_system_load_test_jar",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "load-test.js",
+ "source_location": "L57",
+ "weight": 1.0,
+ "source": "load_test_js",
+ "target": "lms_system_load_test_loginres",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "load-test.js",
+ "source_location": "L73",
+ "weight": 1.0,
+ "source": "load_test_js",
+ "target": "lms_system_load_test_dashres",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "load-test.js",
+ "source_location": "L78",
+ "weight": 1.0,
+ "source": "load_test_js",
+ "target": "lms_system_load_test_courseres",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "load-test.js",
+ "source_location": "L85",
+ "weight": 1.0,
+ "source": "load_test_js",
+ "target": "lms_system_load_test_lessonres",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "prisma.config.ts",
+ "source": "prisma_config_ts",
+ "target": "prisma_schema"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "package_json",
+ "target": "lms_system_package_name",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "package_json",
+ "target": "lms_system_package_version",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "package_json",
+ "target": "lms_system_package_private",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "package_json",
+ "target": "lms_system_package_scripts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L12",
+ "weight": 1.0,
+ "source": "package_json",
+ "target": "lms_system_package_prisma",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "package_json",
+ "target": "lms_system_package_dependencies",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L51",
+ "weight": 1.0,
+ "source": "package_json",
+ "target": "lms_system_package_devdependencies",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "references",
+ "confidence": "INFERRED",
+ "confidence_score": 1.0,
+ "source_file": "package.json",
+ "source": "package_json",
+ "target": "next_config_ts"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "lms_system_package_scripts",
+ "target": "lms_system_package_scripts_dev",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "lms_system_package_scripts",
+ "target": "lms_system_package_scripts_build",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "lms_system_package_scripts",
+ "target": "lms_system_package_scripts_start",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "lms_system_package_scripts",
+ "target": "lms_system_package_scripts_lint",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "lms_system_package_scripts",
+ "target": "lms_system_package_scripts_type_check",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "lms_system_package_prisma",
+ "target": "lms_system_package_prisma_seed",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_aws_sdk_client_s3",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L17",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_aws_sdk_s3_request_presigner",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_base_ui_react",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_dnd_kit_core",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_dnd_kit_sortable",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_dnd_kit_utilities",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L22",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_kinescope_react_kinescope_player",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L23",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_prisma_adapter_pg",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_prisma_client",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L25",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_tiptap_extension_image",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_tiptap_extension_link",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_tiptap_extension_placeholder",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L28",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_tiptap_extension_underline",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L29",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_tiptap_pm",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L30",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_tiptap_react",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L31",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_tiptap_starter_kit",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L32",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_bcryptjs",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L33",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_better_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L34",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_class_variance_authority",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L35",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_clsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L36",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_gray_matter",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L37",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_iconv_lite",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L38",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_lucide_react",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L39",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_next",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L40",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_next_themes",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L41",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_pg",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L42",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_react",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L43",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_react_dom",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L44",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_remark_parse",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L45",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_resend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L46",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_sonner",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L47",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_tailwind_merge",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L48",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_unified",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L49",
+ "weight": 1.0,
+ "source": "lms_system_package_dependencies",
+ "target": "lms_system_package_dependencies_zod",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L24",
+ "weight": 1.0,
+ "context": "import",
+ "source": "lms_system_package_dependencies_prisma_client",
+ "target": "prisma_client",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "INFERRED",
+ "confidence_score": 0.8,
+ "source_file": "src/lib/utils.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "lib_utils_cn",
+ "target": "lms_system_package_dependencies_clsx"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "INFERRED",
+ "confidence_score": 0.8,
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L179",
+ "weight": 1.0,
+ "source": "lib_md_to_tiptap_mdtotiptap",
+ "target": "lms_system_package_dependencies_unified"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L52",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_tailwindcss_postcss",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L53",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_types_bcryptjs",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L54",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_types_node",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L55",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_types_pg",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L56",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_types_react",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L57",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_types_react_dom",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L58",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_dotenv",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L59",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_eslint",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L60",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_eslint_config_next",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L61",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_prisma",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L62",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_tailwindcss",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L63",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_ts_node",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "package.json",
+ "source_location": "L64",
+ "weight": 1.0,
+ "source": "lms_system_package_devdependencies",
+ "target": "lms_system_package_devdependencies_typescript",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_schema",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_style",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_rsc",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_tailwind",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_iconlibrary",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_rtl",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_aliases",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L22",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_menucolor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L23",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_menuaccent",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "components_json",
+ "target": "lms_system_components_registries",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "lms_system_components_tailwind",
+ "target": "lms_system_components_tailwind_config",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "lms_system_components_tailwind",
+ "target": "lms_system_components_tailwind_css",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "lms_system_components_tailwind",
+ "target": "lms_system_components_tailwind_basecolor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "lms_system_components_tailwind",
+ "target": "lms_system_components_tailwind_cssvariables",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "lms_system_components_tailwind",
+ "target": "lms_system_components_tailwind_prefix",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "lms_system_components_aliases",
+ "target": "lms_system_components_aliases_components",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L17",
+ "weight": 1.0,
+ "source": "lms_system_components_aliases",
+ "target": "lms_system_components_aliases_utils",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "lms_system_components_aliases",
+ "target": "lms_system_components_aliases_ui",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "lms_system_components_aliases",
+ "target": "lms_system_components_aliases_lib",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "components.json",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "lms_system_components_aliases",
+ "target": "lms_system_components_aliases_hooks",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "tsconfig_json",
+ "target": "lms_system_tsconfig_compileroptions",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L25",
+ "weight": 1.0,
+ "source": "tsconfig_json",
+ "target": "lms_system_tsconfig_include",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L33",
+ "weight": 1.0,
+ "source": "tsconfig_json",
+ "target": "lms_system_tsconfig_exclude",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_target",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_lib",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_allowjs",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_skiplibcheck",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_strict",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_noemit",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_esmoduleinterop",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_module",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_moduleresolution",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L12",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_resolvejsonmodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_isolatedmodules",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_jsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_incremental",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_plugins",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions",
+ "target": "lms_system_tsconfig_compileroptions_paths",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "tsconfig.json",
+ "source_location": "L22",
+ "weight": 1.0,
+ "source": "lms_system_tsconfig_compileroptions_paths",
+ "target": "lms_system_tsconfig_paths",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "eslint.config.mjs",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "eslint_config_mjs",
+ "target": "lms_system_eslint_config_eslintconfig",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "next.config.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "next_config_ts",
+ "target": "lms_system_next_config_nextconfig",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "prisma/seed.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "prisma_seed_ts",
+ "target": "prisma_seed_adapter",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "prisma/seed.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "prisma_seed_ts",
+ "target": "prisma_seed_prisma",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "prisma/seed.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "prisma_seed_ts",
+ "target": "prisma_seed_main",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "defines",
+ "confidence": "EXTRACTED",
+ "source_file": "scripts/backup.sh",
+ "source_location": "L32",
+ "weight": 1.0,
+ "source": "scripts_backup_sh",
+ "target": "scripts_backup_log",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/middleware.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_middleware_ts",
+ "target": "src_middleware_public_routes",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/middleware.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_middleware_ts",
+ "target": "src_middleware_middleware",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/middleware.ts",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "src_middleware_ts",
+ "target": "src_middleware_config",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_layout_tsx",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_layout_tsx",
+ "target": "lib_settings_getsettings",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_layout_tsx",
+ "target": "app_layout_firamono",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_layout_tsx",
+ "target": "app_layout_generatemetadata",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L22",
+ "weight": 1.0,
+ "source": "src_app_layout_tsx",
+ "target": "app_layout_rootlayout",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "app_layout_generatemetadata",
+ "target": "lib_settings_getsettings"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/layout.tsx",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "app_layout_rootlayout",
+ "target": "lib_settings_getsettings"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_page_tsx",
+ "target": "app_page_homepage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_layout_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_layout_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_student_layout_tsx",
+ "target": "src_components_layout_logout_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_student_layout_tsx",
+ "target": "layout_logout_button_logoutbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_student_layout_tsx",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_student_layout_tsx",
+ "target": "lib_settings_getsetting",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_layout_tsx",
+ "target": "src_components_admin_stop_impersonate_banner_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_layout_tsx",
+ "target": "admin_stop_impersonate_banner_stopimpersonatebanner",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_student_layout_tsx",
+ "target": "student_layout_studentlayout",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(student)/layout.tsx",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "student_layout_studentlayout",
+ "target": "lib_settings_getsetting"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/dashboard/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_dashboard_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/dashboard/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_dashboard_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/dashboard/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_dashboard_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/dashboard/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_dashboard_page_tsx",
+ "target": "dashboard_page_studentdashboard",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_layout_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_layout_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_layout_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_layout_tsx",
+ "target": "src_components_student_course_sidebar_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_layout_tsx",
+ "target": "student_course_sidebar_coursesidebar",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_layout_tsx",
+ "target": "slug_layout_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/layout.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_layout_tsx",
+ "target": "slug_layout_courselayout",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_page_tsx",
+ "target": "slug_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/page.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_page_tsx",
+ "target": "slug_page_coursepage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_actions_ts",
+ "target": "lessonid_actions_togglelessonprogress",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_homework_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_homework_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_homework_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_homework_actions_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_homework_actions_ts",
+ "target": "lib_email_sendhomeworksubmittedemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_homework_actions_ts",
+ "target": "lib_email_sendhomeworkupdatedemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_homework_actions_ts",
+ "target": "lessonid_homework_actions_homeworkfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_homework_actions_ts",
+ "target": "lessonid_homework_actions_submithomework",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_comment_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_comment_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_comment_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_comment_actions_ts",
+ "target": "lessonid_comment_actions_addcomment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "source_location": "L50",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_comment_actions_ts",
+ "target": "lessonid_comment_actions_deletecomment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "src_components_player_kinescope_player_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "player_kinescope_player_kinescopeplayer",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "src_components_student_lesson_content_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "student_lesson_content_lessoncontent",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "src_components_student_lesson_complete_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "student_lesson_complete_button_lessoncompletebutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "src_components_student_homework_section_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "student_homework_section_homeworksection",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "src_components_student_quiz_section_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "student_quiz_section_quizsection",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "src_components_student_lesson_comments_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "student_lesson_comments_lessoncomments",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L12",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "src_components_shared_file_format_badge_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L12",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "shared_file_format_badge_fileformatbadge",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "lessonid_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_app_student_courses_slug_lessons_lessonid_page_tsx",
+ "target": "lessonid_page_lessonpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "lessonid_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/profile/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_profile_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/profile/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_profile_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/profile/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_student_profile_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/profile/actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_student_profile_actions_ts",
+ "target": "profile_actions_changepasswordaction",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/profile/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_profile_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/profile/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_profile_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/profile/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_student_profile_page_tsx",
+ "target": "profile_page_metadata",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/profile/page.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_student_profile_page_tsx",
+ "target": "profile_page_profilepage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_questions_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_questions_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_questions_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_questions_page_tsx",
+ "target": "questions_page_questionspage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/new/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_student_questions_new_page_tsx",
+ "target": "new_page_fileattachment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/new/page.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_student_questions_new_page_tsx",
+ "target": "new_page_formatfilesize",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/new/page.tsx",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "src_app_student_questions_new_page_tsx",
+ "target": "new_page_newquestionpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/[id]/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_questions_id_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/[id]/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_student_questions_id_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/[id]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_student_questions_id_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/[id]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_student_questions_id_page_tsx",
+ "target": "src_components_questions_questionthread_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/[id]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_student_questions_id_page_tsx",
+ "target": "questions_questionthread_questionthread",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(student)/questions/[id]/page.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_student_questions_id_page_tsx",
+ "target": "id_page_questionthreadpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/layout.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_layout_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/layout.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_layout_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/layout.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_layout_tsx",
+ "target": "src_components_admin_admin_shell_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/layout.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_layout_tsx",
+ "target": "admin_admin_shell_adminshell",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/layout.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_layout_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/layout.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_layout_tsx",
+ "target": "admin_layout_adminlayout",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/layout.tsx",
+ "source": "admin_layout_adminlayout",
+ "target": "auth_lib"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_actions_ts",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_actions_ts",
+ "target": "lib_settings_settings_defaults",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_actions_ts",
+ "target": "lib_settings_settingskey",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/actions.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_actions_ts",
+ "target": "settings_actions_savesettings",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "src_app_admin_settings_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "settings_actions_savesettings",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_page_tsx",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_page_tsx",
+ "target": "lib_settings_getsettings",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_page_tsx",
+ "target": "src_components_admin_settings_form_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_page_tsx",
+ "target": "admin_settings_form_settingsform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_page_tsx",
+ "target": "settings_page_metadata",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_settings_page_tsx",
+ "target": "settings_page_settingspage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/settings/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "settings_page_settingspage",
+ "target": "lib_settings_getsettings"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/delete-action.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_delete_action_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/delete-action.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_delete_action_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/delete-action.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_delete_action_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/delete-action.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_delete_action_ts",
+ "target": "comments_delete_action_deletecomment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_actions_ts",
+ "target": "comments_actions_admindeletecomment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_admin_comments_table_tsx",
+ "target": "src_app_admin_comments_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_admin_comments_table_tsx",
+ "target": "comments_actions_admindeletecomment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_page_tsx",
+ "target": "src_components_admin_comments_table_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_page_tsx",
+ "target": "admin_comments_table_commentstable",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_page_tsx",
+ "target": "comments_page_metadata",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_page_tsx",
+ "target": "comments_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/comments/page.tsx",
+ "source_location": "L17",
+ "weight": 1.0,
+ "source": "src_app_admin_comments_page_tsx",
+ "target": "comments_page_admincommentspage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/dashboard/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_dashboard_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/dashboard/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_dashboard_page_tsx",
+ "target": "dashboard_page_admindashboard",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/dashboard/page.tsx",
+ "source_location": "L203",
+ "weight": 1.0,
+ "source": "src_app_admin_dashboard_page_tsx",
+ "target": "dashboard_page_statcard",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/dashboard/page.tsx",
+ "source_location": "L48",
+ "weight": 1.0,
+ "source": "src_app_curator_dashboard_page_tsx",
+ "target": "dashboard_page_statcard",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_actions_ts",
+ "target": "courses_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_actions_ts",
+ "target": "courses_actions_slugify",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_actions_ts",
+ "target": "courses_actions_createcourse",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L40",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_actions_ts",
+ "target": "courses_actions_updatecourse",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L59",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_actions_ts",
+ "target": "courses_actions_deletecourse",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "src_app_admin_courses_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "src_app_admin_courses_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "courses_actions_createcourse",
+ "target": "courses_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L41",
+ "weight": 1.0,
+ "source": "courses_actions_updatecourse",
+ "target": "courses_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L60",
+ "weight": 1.0,
+ "source": "courses_actions_deletecourse",
+ "target": "courses_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source_location": "L29",
+ "weight": 1.0,
+ "source": "courses_actions_createcourse",
+ "target": "courses_actions_slugify",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "courses_actions_createcourse",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "courses_actions_updatecourse",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "courses_actions_deletecourse",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_page_tsx",
+ "target": "src_components_ui_badge_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_page_tsx",
+ "target": "ui_badge_badge",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_page_tsx",
+ "target": "src_components_ui_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_page_tsx",
+ "target": "ui_button_button",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_page_tsx",
+ "target": "src_components_admin_create_course_dialog_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_page_tsx",
+ "target": "admin_create_course_dialog_createcoursedialog",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_page_tsx",
+ "target": "courses_page_coursespage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "lib_email_sendcourseaccessemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "courseid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "courseid_actions_createmodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "courseid_actions_updatemodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L35",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "courseid_actions_deletemodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L41",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "courseid_actions_reordermodules",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L53",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "courseid_actions_grantaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L88",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_actions_ts",
+ "target": "courseid_actions_revokeaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "courseid_actions_createmodule",
+ "target": "courseid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L28",
+ "weight": 1.0,
+ "source": "courseid_actions_updatemodule",
+ "target": "courseid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L36",
+ "weight": 1.0,
+ "source": "courseid_actions_deletemodule",
+ "target": "courseid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L42",
+ "weight": 1.0,
+ "source": "courseid_actions_reordermodules",
+ "target": "courseid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L59",
+ "weight": 1.0,
+ "source": "courseid_actions_grantaccess",
+ "target": "courseid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L89",
+ "weight": 1.0,
+ "source": "courseid_actions_revokeaccess",
+ "target": "courseid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source_location": "L82",
+ "weight": 1.0,
+ "source": "courseid_actions_grantaccess",
+ "target": "lib_email_sendcourseaccessemail"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "src_components_admin_course_edit_form_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "admin_course_edit_form_courseeditform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "src_components_admin_sortable_modules_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "admin_sortable_modules_sortablemodules",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "src_components_admin_enrollment_manager_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "admin_enrollment_manager_enrollmentmanager",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "src_components_admin_course_tree_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "admin_course_tree_coursetree",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "courseid_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_page_tsx",
+ "target": "courseid_page_coursedetailpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "moduleid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "moduleid_actions_createlesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "moduleid_actions_updatelesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L33",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "moduleid_actions_deletelesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L39",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "moduleid_actions_reorderlessons",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L49",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "moduleid_actions_togglelessonpublished",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L64",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_actions_ts",
+ "target": "moduleid_actions_movelessontomodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "moduleid_actions_createlesson",
+ "target": "moduleid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "moduleid_actions_updatelesson",
+ "target": "moduleid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L34",
+ "weight": 1.0,
+ "source": "moduleid_actions_deletelesson",
+ "target": "moduleid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L40",
+ "weight": 1.0,
+ "source": "moduleid_actions_reorderlessons",
+ "target": "moduleid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L55",
+ "weight": 1.0,
+ "source": "moduleid_actions_togglelessonpublished",
+ "target": "moduleid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source_location": "L70",
+ "weight": 1.0,
+ "source": "moduleid_actions_movelessontomodule",
+ "target": "moduleid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_page_tsx",
+ "target": "src_components_admin_sortable_lessons_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_page_tsx",
+ "target": "admin_sortable_lessons_sortablelessons",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_page_tsx",
+ "target": "moduleid_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_page_tsx",
+ "target": "moduleid_page_modulepage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts",
+ "target": "lessonid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_actions_ts",
+ "target": "lessonid_actions_savelesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "lessonid_actions_savelesson",
+ "target": "lessonid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts",
+ "target": "lessonid_homework_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts",
+ "target": "lessonid_homework_actions_savehomework",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L23",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_homework_actions_ts",
+ "target": "lessonid_homework_actions_deletehomework",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "lessonid_homework_actions_savehomework",
+ "target": "lessonid_homework_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "lessonid_homework_actions_deletehomework",
+ "target": "lessonid_homework_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "src_components_admin_lesson_editor_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "admin_lesson_editor_lessoneditor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "src_components_admin_lesson_files_manager_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "admin_lesson_files_manager_lessonfilesmanager",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "src_components_admin_homework_editor_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "admin_homework_editor_homeworkeditor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "src_components_admin_quiz_editor_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "admin_quiz_editor_quizeditor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_admin_courses_courseid_modules_moduleid_lessons_lessonid_page_tsx",
+ "target": "lessonid_page_lessoneditorpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "lib_email_sendwelcomeemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L12",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "import_export_import_actions_parsedrow",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "import_export_import_actions_previewresult",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L31",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "import_export_import_actions_importoptions",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L40",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "import_export_import_actions_applyresult",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L48",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "import_export_import_actions_parsecsvline",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L73",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "import_export_import_actions_normalizeheaders",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L94",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "import_export_import_actions_assertadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L102",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "import_export_import_actions_parsecsv",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L181",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_import_actions_ts",
+ "target": "import_export_import_actions_applyimport",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "src_app_admin_import_export_import_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "import_export_import_actions_previewresult",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "import_export_import_actions_importoptions",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "import_export_import_actions_applyresult",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L122",
+ "weight": 1.0,
+ "source": "import_export_import_actions_parsecsv",
+ "target": "import_export_import_actions_parsecsvline",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L123",
+ "weight": 1.0,
+ "source": "import_export_import_actions_parsecsv",
+ "target": "import_export_import_actions_normalizeheaders",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L107",
+ "weight": 1.0,
+ "source": "import_export_import_actions_parsecsv",
+ "target": "import_export_import_actions_assertadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L185",
+ "weight": 1.0,
+ "source": "import_export_import_actions_applyimport",
+ "target": "import_export_import_actions_assertadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "import_export_import_actions_parsecsv",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "import_export_import_actions_applyimport",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source_location": "L229",
+ "weight": 1.0,
+ "source": "import_export_import_actions_applyimport",
+ "target": "lib_email_sendwelcomeemail"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_page_tsx",
+ "target": "src_components_admin_csv_importer_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_page_tsx",
+ "target": "admin_csv_importer_csvimporter",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_page_tsx",
+ "target": "src_components_admin_csv_exporter_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_page_tsx",
+ "target": "admin_csv_exporter_csvexporter",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_page_tsx",
+ "target": "import_export_page_metadata",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/import-export/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_import_export_page_tsx",
+ "target": "import_export_page_importexportpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_users_enroll_action_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_users_enroll_action_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_users_enroll_action_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_users_enroll_action_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_users_enroll_action_ts",
+ "target": "lib_email_sendcourseaccessemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_users_enroll_action_ts",
+ "target": "users_enroll_action_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "src_app_admin_users_enroll_action_ts",
+ "target": "users_enroll_action_grantcourseaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L68",
+ "weight": 1.0,
+ "source": "src_app_admin_users_enroll_action_ts",
+ "target": "users_enroll_action_getpublishedcourses",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_quick_enroll_modal_tsx",
+ "target": "src_app_admin_users_enroll_action_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "users_enroll_action_grantcourseaccess",
+ "target": "users_enroll_action_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L69",
+ "weight": 1.0,
+ "source": "users_enroll_action_getpublishedcourses",
+ "target": "users_enroll_action_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_quick_enroll_modal_tsx",
+ "target": "users_enroll_action_grantcourseaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/users/enroll-action.ts",
+ "source_location": "L53",
+ "weight": 1.0,
+ "source": "users_enroll_action_grantcourseaccess",
+ "target": "lib_email_sendcourseaccessemail"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_quick_enroll_modal_tsx",
+ "target": "users_enroll_action_getpublishedcourses",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_users_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_users_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_users_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_users_actions_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_users_actions_ts",
+ "target": "lib_email_sendwelcomeemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/actions.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_users_actions_ts",
+ "target": "users_actions_createuser",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_create_user_form_tsx",
+ "target": "src_app_admin_users_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_create_user_form_tsx",
+ "target": "users_actions_createuser",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/users/actions.ts",
+ "source_location": "L50",
+ "weight": 1.0,
+ "source": "users_actions_createuser",
+ "target": "lib_email_sendwelcomeemail"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_users_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_users_page_tsx",
+ "target": "src_components_admin_users_table_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_users_page_tsx",
+ "target": "admin_users_table_userstable",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_users_page_tsx",
+ "target": "src_components_admin_users_search_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_users_page_tsx",
+ "target": "admin_users_search_userssearch",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_app_admin_users_page_tsx",
+ "target": "users_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/page.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_app_admin_users_page_tsx",
+ "target": "users_page_userspage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/new/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_users_new_page_tsx",
+ "target": "src_components_admin_create_user_form_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/new/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_users_new_page_tsx",
+ "target": "admin_create_user_form_createuserform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/new/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_users_new_page_tsx",
+ "target": "new_page_metadata",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/new/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_users_new_page_tsx",
+ "target": "new_page_newuserpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "userid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "userid_actions_bulkgrantaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L45",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "userid_actions_updateusercontact",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L63",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "userid_actions_addbalancetransaction",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L76",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "userid_actions_deletebalancetransaction",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L82",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "userid_actions_resetuserpassword",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L102",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_actions_ts",
+ "target": "userid_actions_revokeuseraccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_user_contact_editor_tsx",
+ "target": "src_app_admin_users_userid_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_user_balance_block_tsx",
+ "target": "src_app_admin_users_userid_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "userid_actions_bulkgrantaccess",
+ "target": "userid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L49",
+ "weight": 1.0,
+ "source": "userid_actions_updateusercontact",
+ "target": "userid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L67",
+ "weight": 1.0,
+ "source": "userid_actions_addbalancetransaction",
+ "target": "userid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L77",
+ "weight": 1.0,
+ "source": "userid_actions_deletebalancetransaction",
+ "target": "userid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L83",
+ "weight": 1.0,
+ "source": "userid_actions_resetuserpassword",
+ "target": "userid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/actions.ts",
+ "source_location": "L103",
+ "weight": 1.0,
+ "source": "userid_actions_revokeuseraccess",
+ "target": "userid_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_user_contact_editor_tsx",
+ "target": "userid_actions_updateusercontact",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_user_balance_block_tsx",
+ "target": "userid_actions_addbalancetransaction",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_user_balance_block_tsx",
+ "target": "userid_actions_deletebalancetransaction",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_page_tsx",
+ "target": "src_components_admin_user_enrollment_manager_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_page_tsx",
+ "target": "admin_user_enrollment_manager_userenrollmentmanager",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_page_tsx",
+ "target": "src_components_admin_user_contact_editor_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_page_tsx",
+ "target": "admin_user_contact_editor_usercontacteditor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_page_tsx",
+ "target": "src_components_admin_user_balance_block_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_page_tsx",
+ "target": "admin_user_balance_block_userbalanceblock",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_page_tsx",
+ "target": "userid_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_admin_users_userid_page_tsx",
+ "target": "userid_page_userpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_actions_ts",
+ "target": "categories_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_actions_ts",
+ "target": "categories_actions_slugify",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_actions_ts",
+ "target": "categories_actions_createcategory",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L35",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_actions_ts",
+ "target": "categories_actions_updatecategory",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L43",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_actions_ts",
+ "target": "categories_actions_deletecategory",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "src_app_admin_categories_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_category_row_tsx",
+ "target": "src_app_admin_categories_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "categories_actions_createcategory",
+ "target": "categories_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L36",
+ "weight": 1.0,
+ "source": "categories_actions_updatecategory",
+ "target": "categories_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L44",
+ "weight": 1.0,
+ "source": "categories_actions_deletecategory",
+ "target": "categories_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/actions.ts",
+ "source_location": "L29",
+ "weight": 1.0,
+ "source": "categories_actions_createcategory",
+ "target": "categories_actions_slugify",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "categories_actions_createcategory",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_category_row_tsx",
+ "target": "categories_actions_updatecategory",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_category_row_tsx",
+ "target": "categories_actions_deletecategory",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "src_components_admin_category_row_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "admin_category_row_categoryrow",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "src_components_ui_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "ui_button_button",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "src_components_ui_input_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "ui_input_input",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/categories/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_admin_categories_page_tsx",
+ "target": "categories_page_categoriespage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/quizzes/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_quizzes_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/quizzes/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_quizzes_page_tsx",
+ "target": "quizzes_page_metadata",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/quizzes/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_quizzes_page_tsx",
+ "target": "quizzes_page_adminquizzespage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/quizzes/[quizId]/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_admin_quizzes_quizid_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/quizzes/[quizId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_admin_quizzes_quizid_page_tsx",
+ "target": "quizid_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/quizzes/[quizId]/page.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_admin_quizzes_quizid_page_tsx",
+ "target": "quizid_page_adminquizattemptspage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/questions/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_questions_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/questions/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_admin_questions_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/questions/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_questions_page_tsx",
+ "target": "src_components_questions_questionsplitview_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/questions/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_admin_questions_page_tsx",
+ "target": "questions_questionsplitview_questionsplitview",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/admin/questions/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_admin_questions_page_tsx",
+ "target": "questions_page_adminquestionspage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "src_components_layout_logout_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "layout_logout_button_logoutbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "src_components_admin_admin_shell_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "admin_admin_shell_adminshell",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "lib_settings_getsetting",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "curator_layout_curatorlayout",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L63",
+ "weight": 1.0,
+ "source": "src_app_curator_layout_tsx",
+ "target": "curator_layout_navlink",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/curator/layout.tsx",
+ "source_location": "L17",
+ "weight": 1.0,
+ "source": "curator_layout_curatorlayout",
+ "target": "lib_settings_getsetting"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/dashboard/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_curator_dashboard_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/dashboard/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_curator_dashboard_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/dashboard/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_curator_dashboard_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/dashboard/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_curator_dashboard_page_tsx",
+ "target": "dashboard_page_curatordashboard",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/page.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_page_tsx",
+ "target": "homework_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/page.tsx",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_page_tsx",
+ "target": "homework_page_homeworklistpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "lib_email_sendfeedbackreceivedemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "lib_settings_getsetting",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "lib_settings_asbool",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "submissionid_actions_requirecurator",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "submissionid_actions_submitfeedback",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L101",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "submissionid_actions_setreviewing",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L111",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_actions_ts",
+ "target": "submissionid_actions_deletesubmission",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/delete-button.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_delete_button_tsx",
+ "target": "src_app_curator_homework_submissionid_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "target": "src_app_curator_homework_submissionid_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "submissionid_actions_submitfeedback",
+ "target": "submissionid_actions_requirecurator",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L102",
+ "weight": 1.0,
+ "source": "submissionid_actions_setreviewing",
+ "target": "submissionid_actions_requirecurator",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L112",
+ "weight": 1.0,
+ "source": "submissionid_actions_deletesubmission",
+ "target": "submissionid_actions_requirecurator",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "target": "submissionid_actions_submitfeedback",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L82",
+ "weight": 1.0,
+ "source": "submissionid_actions_submitfeedback",
+ "target": "lib_settings_getsetting"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L83",
+ "weight": 1.0,
+ "source": "submissionid_actions_submitfeedback",
+ "target": "lib_settings_asbool"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source_location": "L85",
+ "weight": 1.0,
+ "source": "submissionid_actions_submitfeedback",
+ "target": "lib_email_sendfeedbackreceivedemail"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "target": "submissionid_actions_setreviewing",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/delete-button.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_delete_button_tsx",
+ "target": "submissionid_actions_deletesubmission",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/content-tabs.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_content_tabs_tsx",
+ "target": "src_components_curator_content_viewer_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/content-tabs.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_content_tabs_tsx",
+ "target": "curator_content_viewer_contentviewer",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/content-tabs.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_content_tabs_tsx",
+ "target": "submissionid_content_tabs_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/content-tabs.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_content_tabs_tsx",
+ "target": "submissionid_content_tabs_contenttabs",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "src_app_curator_homework_submissionid_content_tabs_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "submissionid_content_tabs_contenttabs",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/delete-button.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_delete_button_tsx",
+ "target": "submissionid_delete_button_deletesubmissionbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "src_app_curator_homework_submissionid_delete_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "submissionid_delete_button_deletesubmissionbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "target": "src_components_curator_audio_recorder_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "target": "curator_audio_recorder_audiorecorder",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "target": "submissionid_feedback_form_fileitem",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "target": "submissionid_feedback_form_formatsize",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/feedback-form.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "target": "submissionid_feedback_form_feedbackform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "src_app_curator_homework_submissionid_feedback_form_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "submissionid_feedback_form_feedbackform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "submissionid_page_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L12",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "submissionid_page_formatsize",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "submissionid_page_statusbadge",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/homework/[submissionId]/page.tsx",
+ "source_location": "L36",
+ "weight": 1.0,
+ "source": "src_app_curator_homework_submissionid_page_tsx",
+ "target": "submissionid_page_submissionpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/questions/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_curator_questions_page_tsx",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/questions/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_curator_questions_page_tsx",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/questions/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_curator_questions_page_tsx",
+ "target": "src_components_questions_questionsplitview_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/questions/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_curator_questions_page_tsx",
+ "target": "questions_questionsplitview_questionsplitview",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/curator/questions/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_curator_questions_page_tsx",
+ "target": "questions_page_curatorquestionspage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/auth/[...all]/route.ts",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_api_auth_all_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/auth/[...all]/route.ts",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_api_auth_all_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/auth/[...all]/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_auth_all_route_ts",
+ "target": "all_route_get_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/audio-upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_student_audio_upload_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/audio-upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_student_audio_upload_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/audio-upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_student_audio_upload_route_ts",
+ "target": "src_lib_s3_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/audio-upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_student_audio_upload_route_ts",
+ "target": "lib_s3_uploadfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/audio-upload/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_student_audio_upload_route_ts",
+ "target": "audio_upload_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/audio-upload/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_curator_audio_upload_route_ts",
+ "target": "audio_upload_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/student/audio-upload/route.ts",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "audio_upload_route_post",
+ "target": "lib_s3_uploadfile"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_student_question_upload_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_student_question_upload_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_student_question_upload_route_ts",
+ "target": "src_lib_s3_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_student_question_upload_route_ts",
+ "target": "lib_s3_uploadfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_student_question_upload_route_ts",
+ "target": "question_upload_route_allowed_types",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_api_student_question_upload_route_ts",
+ "target": "question_upload_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/student/question-upload/route.ts",
+ "source_location": "L40",
+ "weight": 1.0,
+ "source": "question_upload_route_post",
+ "target": "lib_s3_uploadfile"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/homework-upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_student_homework_upload_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/homework-upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_student_homework_upload_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/homework-upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_student_homework_upload_route_ts",
+ "target": "src_lib_s3_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/homework-upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_student_homework_upload_route_ts",
+ "target": "lib_s3_uploadfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/student/homework-upload/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_student_homework_upload_route_ts",
+ "target": "homework_upload_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/student/homework-upload/route.ts",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "homework_upload_route_post",
+ "target": "lib_s3_uploadfile"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/export-users/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_export_users_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/export-users/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_export_users_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/export-users/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_admin_export_users_route_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/export-users/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_admin_export_users_route_ts",
+ "target": "export_users_route_get",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lessons/[lessonId]/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lessons_lessonid_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lessons/[lessonId]/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lessons_lessonid_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lessons/[lessonId]/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lessons_lessonid_route_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lessons/[lessonId]/route.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lessons_lessonid_route_ts",
+ "target": "lessonid_route_patch",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "src_lib_s3_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "lib_s3_uploadfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "lib_s3_deletefile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "lesson_files_route_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "lesson_files_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L52",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "lesson_files_route_patch",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L68",
+ "weight": 1.0,
+ "source": "src_app_api_admin_lesson_files_route_ts",
+ "target": "lesson_files_route_delete",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "lesson_files_route_post",
+ "target": "lesson_files_route_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L53",
+ "weight": 1.0,
+ "source": "lesson_files_route_patch",
+ "target": "lesson_files_route_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L69",
+ "weight": 1.0,
+ "source": "lesson_files_route_delete",
+ "target": "lesson_files_route_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L34",
+ "weight": 1.0,
+ "source": "lesson_files_route_post",
+ "target": "lib_s3_uploadfile"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L38",
+ "weight": 1.0,
+ "source": "lesson_files_route_post",
+ "target": "lib_s3_deletefile"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/admin/lesson-files/route.ts",
+ "source_location": "L76",
+ "weight": 1.0,
+ "source": "lesson_files_route_delete",
+ "target": "lib_s3_deletefile"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/import-md/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_import_md_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/import-md/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_import_md_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/import-md/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_admin_import_md_route_ts",
+ "target": "src_lib_md_to_tiptap_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/import-md/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_admin_import_md_route_ts",
+ "target": "lib_md_to_tiptap_mdtotiptap",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/import-md/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_admin_import_md_route_ts",
+ "target": "import_md_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/admin/import-md/route.ts",
+ "source_location": "L36",
+ "weight": 1.0,
+ "source": "import_md_route_post",
+ "target": "lib_md_to_tiptap_mdtotiptap"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_upload_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_admin_upload_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_admin_upload_route_ts",
+ "target": "src_lib_s3_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_admin_upload_route_ts",
+ "target": "lib_s3_uploadfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/admin/upload/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_admin_upload_route_ts",
+ "target": "upload_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/upload/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_curator_upload_route_ts",
+ "target": "upload_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/admin/upload/route.ts",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "upload_route_post",
+ "target": "lib_s3_uploadfile"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/audio-upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_curator_audio_upload_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/audio-upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_curator_audio_upload_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/audio-upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_curator_audio_upload_route_ts",
+ "target": "src_lib_s3_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/audio-upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_curator_audio_upload_route_ts",
+ "target": "lib_s3_uploadfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_curator_upload_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/upload/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_curator_upload_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_curator_upload_route_ts",
+ "target": "src_lib_s3_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/curator/upload/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_curator_upload_route_ts",
+ "target": "lib_s3_uploadfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_questions_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_questions_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_questions_route_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_questions_route_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_questions_route_ts",
+ "target": "lib_email_sendquestioncreatedemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_questions_route_ts",
+ "target": "questions_route_fileattachment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_api_questions_route_ts",
+ "target": "questions_route_builds3prefix",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "src_app_api_questions_route_ts",
+ "target": "questions_route_get",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L61",
+ "weight": 1.0,
+ "source": "src_app_api_questions_route_ts",
+ "target": "questions_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/route.ts",
+ "source_location": "L85",
+ "weight": 1.0,
+ "source": "questions_route_post",
+ "target": "questions_route_builds3prefix",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_route_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/route.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_route_ts",
+ "target": "id_route_get",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_messages_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_messages_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_messages_route_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_messages_route_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_messages_route_ts",
+ "target": "lib_email_sendquestionfollowupemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_messages_route_ts",
+ "target": "lib_email_sendquestionreplyemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_messages_route_ts",
+ "target": "messages_route_fileattachment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_messages_route_ts",
+ "target": "messages_route_builds3prefix",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_messages_route_ts",
+ "target": "messages_route_post",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L55",
+ "weight": 1.0,
+ "source": "messages_route_post",
+ "target": "messages_route_builds3prefix",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/questions/[id]/messages/route.ts",
+ "source_location": "L85",
+ "weight": 1.0,
+ "source": "messages_route_post",
+ "target": "lib_email_sendquestionreplyemail"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/close/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_close_route_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/close/route.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_close_route_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/close/route.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_close_route_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/api/questions/[id]/close/route.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_api_questions_id_close_route_ts",
+ "target": "close_route_patch",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/maintenance/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_maintenance_page_tsx",
+ "target": "maintenance_page_maintenancepage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/verify-email/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_auth_verify_email_page_tsx",
+ "target": "verify_email_page_verifyemailpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/register/register-form.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_auth_register_register_form_tsx",
+ "target": "src_lib_auth_client_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/register/register-form.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_app_auth_register_register_form_tsx",
+ "target": "register_register_form_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/register/register-form.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_app_auth_register_register_form_tsx",
+ "target": "register_register_form_registerform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/register/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_auth_register_page_tsx",
+ "target": "src_app_auth_register_register_form_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/register/page.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_app_auth_register_page_tsx",
+ "target": "register_register_form_registerform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/register/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_auth_register_page_tsx",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/register/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_auth_register_page_tsx",
+ "target": "lib_settings_getsettings",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/register/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_auth_register_page_tsx",
+ "target": "register_page_registerpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(auth)/register/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "register_page_registerpage",
+ "target": "lib_settings_getsettings"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/forgot-password/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_auth_forgot_password_page_tsx",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/forgot-password/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_auth_forgot_password_page_tsx",
+ "target": "lib_settings_getsetting",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/forgot-password/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_auth_forgot_password_page_tsx",
+ "target": "forgot_password_page_forgotpasswordpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(auth)/forgot-password/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "forgot_password_page_forgotpasswordpage",
+ "target": "lib_settings_getsetting"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/reset-password/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_auth_reset_password_page_tsx",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/reset-password/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_auth_reset_password_page_tsx",
+ "target": "lib_settings_getsetting",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/reset-password/page.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_app_auth_reset_password_page_tsx",
+ "target": "reset_password_page_resetpasswordpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(auth)/reset-password/page.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "reset_password_page_resetpasswordpage",
+ "target": "lib_settings_getsetting"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/login/login-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_auth_login_login_form_tsx",
+ "target": "src_lib_auth_client_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/login/login-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_app_auth_login_login_form_tsx",
+ "target": "lib_auth_client_authclient",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/login/login-form.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_app_auth_login_login_form_tsx",
+ "target": "login_login_form_loginform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/login/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_auth_login_page_tsx",
+ "target": "src_app_auth_login_login_form_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/login/page.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_app_auth_login_page_tsx",
+ "target": "login_login_form_loginform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/login/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_auth_login_page_tsx",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/login/page.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_app_auth_login_page_tsx",
+ "target": "lib_settings_getsetting",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/app/(auth)/login/page.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_app_auth_login_page_tsx",
+ "target": "login_page_loginpage",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(auth)/login/page.tsx",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "login_page_loginpage",
+ "target": "lib_settings_getsetting"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "src_lib_utils_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "lib_utils_cn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "src_components_ui_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_button_button",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialog",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogtrigger",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogportal",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L25",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogoverlay",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L41",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogcontent",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L64",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogheader",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L80",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogfooter",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L96",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogmedia",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L112",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogtitle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L128",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogdescription",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L144",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogaction",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L157",
+ "weight": 1.0,
+ "source": "src_components_ui_alert_dialog_tsx",
+ "target": "ui_alert_dialog_alertdialogcancel",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L32",
+ "weight": 1.0,
+ "source": "ui_alert_dialog_alertdialogoverlay",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L54",
+ "weight": 1.0,
+ "source": "ui_alert_dialog_alertdialogcontent",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L71",
+ "weight": 1.0,
+ "source": "ui_alert_dialog_alertdialogheader",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L87",
+ "weight": 1.0,
+ "source": "ui_alert_dialog_alertdialogfooter",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L103",
+ "weight": 1.0,
+ "source": "ui_alert_dialog_alertdialogmedia",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L119",
+ "weight": 1.0,
+ "source": "ui_alert_dialog_alertdialogtitle",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L135",
+ "weight": 1.0,
+ "source": "ui_alert_dialog_alertdialogdescription",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L151",
+ "weight": 1.0,
+ "source": "ui_alert_dialog_alertdialogaction",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/alert-dialog.tsx",
+ "source_location": "L167",
+ "weight": 1.0,
+ "source": "ui_alert_dialog_alertdialogcancel",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/label.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_ui_label_tsx",
+ "target": "src_lib_utils_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/label.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_ui_label_tsx",
+ "target": "lib_utils_cn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/label.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_ui_label_tsx",
+ "target": "ui_label_label",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "src_components_ui_label_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "src_components_ui_label_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "ui_label_label",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "ui_label_label",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/label.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "ui_label_label",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/sonner.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_ui_sonner_tsx",
+ "target": "ui_sonner_toaster",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "src_lib_utils_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "lib_utils_cn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "src_components_ui_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_button_button",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialog",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialogtrigger",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialogportal",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L22",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialogclose",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialogoverlay",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L42",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialogcontent",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L83",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialogheader",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L93",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialogfooter",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L120",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialogtitle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L133",
+ "weight": 1.0,
+ "source": "src_components_ui_dialog_tsx",
+ "target": "ui_dialog_dialogdescription",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "src_components_ui_dialog_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "ui_dialog_dialog",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "ui_dialog_dialogtrigger",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L33",
+ "weight": 1.0,
+ "source": "ui_dialog_dialogoverlay",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "ui_dialog_dialogcontent",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L55",
+ "weight": 1.0,
+ "source": "ui_dialog_dialogcontent",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "ui_dialog_dialogheader",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L87",
+ "weight": 1.0,
+ "source": "ui_dialog_dialogheader",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L104",
+ "weight": 1.0,
+ "source": "ui_dialog_dialogfooter",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "ui_dialog_dialogtitle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L124",
+ "weight": 1.0,
+ "source": "ui_dialog_dialogtitle",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/dialog.tsx",
+ "source_location": "L140",
+ "weight": 1.0,
+ "source": "ui_dialog_dialogdescription",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/badge.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_ui_badge_tsx",
+ "target": "src_lib_utils_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/badge.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_ui_badge_tsx",
+ "target": "lib_utils_cn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/badge.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_ui_badge_tsx",
+ "target": "ui_badge_badgevariants",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/badge.tsx",
+ "source_location": "L30",
+ "weight": 1.0,
+ "source": "src_components_ui_badge_tsx",
+ "target": "ui_badge_badge",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "src_components_ui_badge_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/badge.tsx",
+ "source_location": "L40",
+ "weight": 1.0,
+ "source": "ui_badge_badge",
+ "target": "ui_badge_badgevariants",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "ui_badge_badge",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/badge.tsx",
+ "source_location": "L40",
+ "weight": 1.0,
+ "source": "ui_badge_badge",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/button.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_ui_button_tsx",
+ "target": "src_lib_utils_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/button.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_ui_button_tsx",
+ "target": "lib_utils_cn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/button.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_ui_button_tsx",
+ "target": "ui_button_buttonvariants",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/button.tsx",
+ "source_location": "L43",
+ "weight": 1.0,
+ "source": "src_components_ui_button_tsx",
+ "target": "ui_button_button",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "src_components_ui_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_category_row_tsx",
+ "target": "src_components_ui_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "src_components_ui_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "src_components_ui_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/button.tsx",
+ "source_location": "L52",
+ "weight": 1.0,
+ "source": "ui_button_button",
+ "target": "ui_button_buttonvariants",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "ui_button_button",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_category_row_tsx",
+ "target": "ui_button_button",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "ui_button_button",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "ui_button_button",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/button.tsx",
+ "source_location": "L52",
+ "weight": 1.0,
+ "source": "ui_button_button",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "src_lib_utils_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "lib_utils_cn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "ui_select_selectgroup",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "ui_select_selectvalue",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L31",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "ui_select_selecttrigger",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L59",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "ui_select_selectcontent",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L98",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "ui_select_selectlabel",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L111",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "ui_select_selectitem",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L139",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "ui_select_selectseparator",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L152",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "ui_select_selectscrollupbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L171",
+ "weight": 1.0,
+ "source": "src_components_ui_select_tsx",
+ "target": "ui_select_selectscrolldownbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "ui_select_selectgroup",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L25",
+ "weight": 1.0,
+ "source": "ui_select_selectvalue",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L43",
+ "weight": 1.0,
+ "source": "ui_select_selecttrigger",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L86",
+ "weight": 1.0,
+ "source": "ui_select_selectcontent",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L105",
+ "weight": 1.0,
+ "source": "ui_select_selectlabel",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L119",
+ "weight": 1.0,
+ "source": "ui_select_selectitem",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L146",
+ "weight": 1.0,
+ "source": "ui_select_selectseparator",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L159",
+ "weight": 1.0,
+ "source": "ui_select_selectscrollupbutton",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/select.tsx",
+ "source_location": "L178",
+ "weight": 1.0,
+ "source": "ui_select_selectscrolldownbutton",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/textarea.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_components_ui_textarea_tsx",
+ "target": "src_lib_utils_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/textarea.tsx",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_components_ui_textarea_tsx",
+ "target": "lib_utils_cn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/textarea.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_ui_textarea_tsx",
+ "target": "ui_textarea_textarea",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "src_components_ui_textarea_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "src_components_ui_textarea_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "ui_textarea_textarea",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "ui_textarea_textarea",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/textarea.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "ui_textarea_textarea",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/input.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_ui_input_tsx",
+ "target": "src_lib_utils_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/input.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_ui_input_tsx",
+ "target": "lib_utils_cn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/ui/input.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_ui_input_tsx",
+ "target": "ui_input_input",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "src_components_ui_input_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_category_row_tsx",
+ "target": "src_components_ui_input_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "src_components_ui_input_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "src_components_ui_input_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "ui_input_input",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_category_row_tsx",
+ "target": "ui_input_input",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "ui_input_input",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "ui_input_input",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/ui/input.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "ui_input_input",
+ "target": "lib_utils_cn"
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/layout/logout-button.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_layout_logout_button_tsx",
+ "target": "src_lib_auth_client_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/layout/logout-button.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_layout_logout_button_tsx",
+ "target": "layout_logout_button_logoutbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/admin-shell.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_components_admin_admin_shell_tsx",
+ "target": "src_components_layout_logout_button_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/admin-shell.tsx",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_components_admin_admin_shell_tsx",
+ "target": "layout_logout_button_logoutbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_student_course_sidebar_tsx",
+ "target": "student_course_sidebar_lesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_components_student_course_sidebar_tsx",
+ "target": "student_course_sidebar_module",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "src_components_student_course_sidebar_tsx",
+ "target": "student_course_sidebar_course",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/course-sidebar.tsx",
+ "source_location": "L25",
+ "weight": 1.0,
+ "source": "src_components_student_course_sidebar_tsx",
+ "target": "student_course_sidebar_coursesidebar",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_student_quiz_section_tsx",
+ "target": "src_lib_actions_student_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_student_quiz_section_tsx",
+ "target": "actions_student_actions_submitquizattempt",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_student_quiz_section_tsx",
+ "target": "student_quiz_section_question",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_components_student_quiz_section_tsx",
+ "target": "student_quiz_section_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_components_student_quiz_section_tsx",
+ "target": "student_quiz_section_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/quiz-section.tsx",
+ "source_location": "L32",
+ "weight": 1.0,
+ "source": "src_components_student_quiz_section_tsx",
+ "target": "student_quiz_section_quizsection",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "src_lib_actions_student_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "actions_student_actions_submithomework",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "src_components_curator_audio_recorder_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "curator_audio_recorder_audiorecorder",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "student_homework_section_hwfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "student_homework_section_feedback",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "student_homework_section_submission",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "student_homework_section_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L35",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "student_homework_section_formatsize",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/homework-section.tsx",
+ "source_location": "L41",
+ "weight": 1.0,
+ "source": "src_components_student_homework_section_tsx",
+ "target": "student_homework_section_homeworksection",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-complete-button.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_complete_button_tsx",
+ "target": "src_lib_actions_student_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-complete-button.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_complete_button_tsx",
+ "target": "actions_student_actions_togglelessonprogress",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-complete-button.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_complete_button_tsx",
+ "target": "student_lesson_complete_button_lessoncompletebutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-content.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_content_tsx",
+ "target": "student_lesson_content_lessoncontent",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_comments_tsx",
+ "target": "src_lib_actions_student_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_comments_tsx",
+ "target": "actions_student_actions_addcomment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_comments_tsx",
+ "target": "actions_student_actions_deletecomment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_comments_tsx",
+ "target": "student_lesson_comments_reply",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_comments_tsx",
+ "target": "student_lesson_comments_comment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L23",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_comments_tsx",
+ "target": "student_lesson_comments_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L31",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_comments_tsx",
+ "target": "student_lesson_comments_formatdate",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/student/lesson-comments.tsx",
+ "source_location": "L41",
+ "weight": 1.0,
+ "source": "src_components_student_lesson_comments_tsx",
+ "target": "student_lesson_comments_lessoncomments",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_modules_tsx",
+ "target": "src_lib_actions_course_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_modules_tsx",
+ "target": "actions_course_actions_createmodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_modules_tsx",
+ "target": "actions_course_actions_deletemodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_modules_tsx",
+ "target": "actions_course_actions_updatemodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_modules_tsx",
+ "target": "actions_course_actions_reordermodules",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L22",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_modules_tsx",
+ "target": "admin_sortable_modules_module",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L30",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_modules_tsx",
+ "target": "admin_sortable_modules_sortablemodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-modules.tsx",
+ "source_location": "L150",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_modules_tsx",
+ "target": "admin_sortable_modules_sortablemodules",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/stop-impersonate-banner.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_stop_impersonate_banner_tsx",
+ "target": "src_lib_auth_client_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/stop-impersonate-banner.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_stop_impersonate_banner_tsx",
+ "target": "lib_auth_client_authclient",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/stop-impersonate-banner.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_stop_impersonate_banner_tsx",
+ "target": "admin_stop_impersonate_banner_stopimpersonatebanner",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-exporter.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_exporter_tsx",
+ "target": "admin_csv_exporter_course",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-exporter.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_exporter_tsx",
+ "target": "admin_csv_exporter_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-exporter.tsx",
+ "source_location": "L17",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_exporter_tsx",
+ "target": "admin_csv_exporter_focushandlers",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-exporter.tsx",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_exporter_tsx",
+ "target": "admin_csv_exporter_csvexporter",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-search.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_admin_users_search_tsx",
+ "target": "admin_users_search_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-search.tsx",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "src_components_admin_users_search_tsx",
+ "target": "admin_users_search_userssearch",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_quick_enroll_modal_tsx",
+ "target": "admin_quick_enroll_modal_course",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_components_admin_quick_enroll_modal_tsx",
+ "target": "admin_quick_enroll_modal_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quick-enroll-modal.tsx",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "src_components_admin_quick_enroll_modal_tsx",
+ "target": "admin_quick_enroll_modal_quickenrollbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "src_components_admin_quick_enroll_modal_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "admin_quick_enroll_modal_quickenrollbutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "lib_settings_settings",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "admin_settings_form_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "admin_settings_form_focushandlers",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "admin_settings_form_section",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L56",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "admin_settings_form_field",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L83",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "admin_settings_form_toggle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L134",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "admin_settings_form_selectfield",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/settings-form.tsx",
+ "source_location": "L172",
+ "weight": 1.0,
+ "source": "src_components_admin_settings_form_tsx",
+ "target": "admin_settings_form_settingsform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "admin_users_table_enrollment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "admin_users_table_userrow",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L25",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "admin_users_table_rolelabel",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L31",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "admin_users_table_rolevariant",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L37",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "admin_users_table_userpopup",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L94",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "admin_users_table_impersonatebutton",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/users-table.tsx",
+ "source_location": "L131",
+ "weight": 1.0,
+ "source": "src_components_admin_users_table_tsx",
+ "target": "admin_users_table_userstable",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_create_user_form_tsx",
+ "target": "admin_create_user_form_roles",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_components_admin_create_user_form_tsx",
+ "target": "admin_create_user_form_generatepassword",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "src_components_admin_create_user_form_tsx",
+ "target": "admin_create_user_form_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L29",
+ "weight": 1.0,
+ "source": "src_components_admin_create_user_form_tsx",
+ "target": "admin_create_user_form_focushandlers",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L36",
+ "weight": 1.0,
+ "source": "src_components_admin_create_user_form_tsx",
+ "target": "admin_create_user_form_field",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L48",
+ "weight": 1.0,
+ "source": "src_components_admin_create_user_form_tsx",
+ "target": "admin_create_user_form_toggle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-user-form.tsx",
+ "source_location": "L70",
+ "weight": 1.0,
+ "source": "src_components_admin_create_user_form_tsx",
+ "target": "admin_create_user_form_createuserform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/admin-nav.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_admin_nav_tsx",
+ "target": "admin_admin_nav_links",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/admin-nav.tsx",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "src_components_admin_admin_nav_tsx",
+ "target": "admin_admin_nav_adminnav",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/admin-shell.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_components_admin_admin_shell_tsx",
+ "target": "src_components_admin_admin_nav_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/admin-shell.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_components_admin_admin_shell_tsx",
+ "target": "admin_admin_nav_adminnav",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/create-course-dialog.tsx",
+ "source_location": "L17",
+ "weight": 1.0,
+ "source": "src_components_admin_create_course_dialog_tsx",
+ "target": "admin_create_course_dialog_createcoursedialog",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/lesson-files-manager.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_lesson_files_manager_tsx",
+ "target": "src_components_shared_file_format_badge_tsx",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/lesson-files-manager.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_lesson_files_manager_tsx",
+ "target": "shared_file_format_badge_fileformatbadge",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/lesson-files-manager.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_lesson_files_manager_tsx",
+ "target": "admin_lesson_files_manager_lessonfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/lesson-files-manager.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_components_admin_lesson_files_manager_tsx",
+ "target": "admin_lesson_files_manager_lessonfilesmanager",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "src_lib_actions_module_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "actions_module_actions_createlesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "actions_module_actions_deletelesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "actions_module_actions_updatelesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "actions_module_actions_reorderlessons",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "actions_module_actions_togglelessonpublished",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "actions_module_actions_movelessontomodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L30",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "admin_sortable_lessons_lesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L38",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "admin_sortable_lessons_othermodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L43",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "admin_sortable_lessons_sortablelesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source_location": "L215",
+ "weight": 1.0,
+ "source": "src_components_admin_sortable_lessons_tsx",
+ "target": "admin_sortable_lessons_sortablelessons",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_user_contact_editor_tsx",
+ "target": "admin_user_contact_editor_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "src_components_admin_user_contact_editor_tsx",
+ "target": "admin_user_contact_editor_focushandlers",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L23",
+ "weight": 1.0,
+ "source": "src_components_admin_user_contact_editor_tsx",
+ "target": "admin_user_contact_editor_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-contact-editor.tsx",
+ "source_location": "L32",
+ "weight": 1.0,
+ "source": "src_components_admin_user_contact_editor_tsx",
+ "target": "admin_user_contact_editor_usercontacteditor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_category_row_tsx",
+ "target": "admin_category_row_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/category-row.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_components_admin_category_row_tsx",
+ "target": "admin_category_row_categoryrow",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_user_enrollment_manager_tsx",
+ "target": "src_lib_actions_user_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_user_enrollment_manager_tsx",
+ "target": "actions_user_actions_bulkgrantaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_user_enrollment_manager_tsx",
+ "target": "actions_user_actions_revokeuseraccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_user_enrollment_manager_tsx",
+ "target": "admin_user_enrollment_manager_course",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L12",
+ "weight": 1.0,
+ "source": "src_components_admin_user_enrollment_manager_tsx",
+ "target": "admin_user_enrollment_manager_enrollment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_components_admin_user_enrollment_manager_tsx",
+ "target": "admin_user_enrollment_manager_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "src_components_admin_user_enrollment_manager_tsx",
+ "target": "admin_user_enrollment_manager_userenrollmentmanager",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_homework_editor_tsx",
+ "target": "src_lib_actions_homework_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_homework_editor_tsx",
+ "target": "actions_homework_actions_savehomework",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_homework_editor_tsx",
+ "target": "actions_homework_actions_deletehomework",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_homework_editor_tsx",
+ "target": "admin_homework_editor_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_components_admin_homework_editor_tsx",
+ "target": "admin_homework_editor_homeworkeditor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-tree.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_admin_course_tree_tsx",
+ "target": "admin_course_tree_lesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-tree.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_components_admin_course_tree_tsx",
+ "target": "admin_course_tree_module",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-tree.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_course_tree_tsx",
+ "target": "admin_course_tree_coursetree",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "admin_csv_importer_course",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "admin_csv_importer_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "admin_csv_importer_focushandlers",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L31",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "admin_csv_importer_toggle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L47",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "admin_csv_importer_stepindicator",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/csv-importer.tsx",
+ "source_location": "L84",
+ "weight": 1.0,
+ "source": "src_components_admin_csv_importer_tsx",
+ "target": "admin_csv_importer_csvimporter",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "admin_course_edit_form_course",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "admin_course_edit_form_category",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/course-edit-form.tsx",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "src_components_admin_course_edit_form_tsx",
+ "target": "admin_course_edit_form_courseeditform",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_components_admin_comments_table_tsx",
+ "target": "admin_comments_table_comment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_comments_table_tsx",
+ "target": "admin_comments_table_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/comments-table.tsx",
+ "source_location": "L30",
+ "weight": 1.0,
+ "source": "src_components_admin_comments_table_tsx",
+ "target": "admin_comments_table_commentstable",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/homework-filters.tsx",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_components_admin_homework_filters_tsx",
+ "target": "admin_homework_filters_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/homework-filters.tsx",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "src_components_admin_homework_filters_tsx",
+ "target": "admin_homework_filters_course",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/homework-filters.tsx",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_components_admin_homework_filters_tsx",
+ "target": "admin_homework_filters_homeworkfilters",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_quiz_editor_tsx",
+ "target": "src_lib_actions_quiz_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_quiz_editor_tsx",
+ "target": "actions_quiz_actions_savequiz",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_quiz_editor_tsx",
+ "target": "actions_quiz_actions_deletequiz",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_quiz_editor_tsx",
+ "target": "admin_quiz_editor_qtype",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_quiz_editor_tsx",
+ "target": "admin_quiz_editor_question",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "src_components_admin_quiz_editor_tsx",
+ "target": "admin_quiz_editor_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_components_admin_quiz_editor_tsx",
+ "target": "admin_quiz_editor_type_labels",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "src_components_admin_quiz_editor_tsx",
+ "target": "admin_quiz_editor_quizeditor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_user_balance_block_tsx",
+ "target": "admin_user_balance_block_transaction",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_components_admin_user_balance_block_tsx",
+ "target": "admin_user_balance_block_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_components_admin_user_balance_block_tsx",
+ "target": "admin_user_balance_block_inputstyle",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "src_components_admin_user_balance_block_tsx",
+ "target": "admin_user_balance_block_focushandlers",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L34",
+ "weight": 1.0,
+ "source": "src_components_admin_user_balance_block_tsx",
+ "target": "admin_user_balance_block_formatamount",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L39",
+ "weight": 1.0,
+ "source": "src_components_admin_user_balance_block_tsx",
+ "target": "admin_user_balance_block_userbalanceblock",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/user-balance-block.tsx",
+ "source_location": "L79",
+ "weight": 1.0,
+ "source": "admin_user_balance_block_userbalanceblock",
+ "target": "admin_user_balance_block_formatamount",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_components_admin_lesson_editor_tsx",
+ "target": "admin_lesson_editor_lessondata",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_admin_lesson_editor_tsx",
+ "target": "admin_lesson_editor_siblinglesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "src_components_admin_lesson_editor_tsx",
+ "target": "admin_lesson_editor_lessoneditor",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L376",
+ "weight": 1.0,
+ "source": "src_components_admin_lesson_editor_tsx",
+ "target": "admin_lesson_editor_sep",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source_location": "L380",
+ "weight": 1.0,
+ "source": "src_components_admin_lesson_editor_tsx",
+ "target": "admin_lesson_editor_toolbtn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "src_lib_actions_course_actions_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "actions_course_actions_grantaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "actions_course_actions_revokeaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "admin_enrollment_manager_student",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "admin_enrollment_manager_enrollment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "admin_enrollment_manager_logentry",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L28",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "admin_enrollment_manager_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source_location": "L35",
+ "weight": 1.0,
+ "source": "src_components_admin_enrollment_manager_tsx",
+ "target": "admin_enrollment_manager_enrollmentmanager",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/admin/admin-shell.tsx",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_components_admin_admin_shell_tsx",
+ "target": "admin_admin_shell_adminshell",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/curator/content-viewer.tsx",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_components_curator_content_viewer_tsx",
+ "target": "curator_content_viewer_contentviewer",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/curator/audio-recorder.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_curator_audio_recorder_tsx",
+ "target": "curator_audio_recorder_audiorecorderprops",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/curator/audio-recorder.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_components_curator_audio_recorder_tsx",
+ "target": "curator_audio_recorder_audiorecorder",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/shared/file-format-badge.tsx",
+ "source_location": "L1",
+ "weight": 1.0,
+ "source": "src_components_shared_file_format_badge_tsx",
+ "target": "shared_file_format_badge_format_map",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/shared/file-format-badge.tsx",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_components_shared_file_format_badge_tsx",
+ "target": "shared_file_format_badge_getfileformatinfo",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/shared/file-format-badge.tsx",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "src_components_shared_file_format_badge_tsx",
+ "target": "shared_file_format_badge_fileformatbadge",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/shared/file-format-badge.tsx",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "shared_file_format_badge_fileformatbadge",
+ "target": "shared_file_format_badge_getfileformatinfo",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_questions_questionsplitview_tsx",
+ "target": "questions_questionsplitview_fileattachment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_components_questions_questionsplitview_tsx",
+ "target": "questions_questionsplitview_message",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_questions_questionsplitview_tsx",
+ "target": "questions_questionsplitview_questionsummary",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L31",
+ "weight": 1.0,
+ "source": "src_components_questions_questionsplitview_tsx",
+ "target": "questions_questionsplitview_questiondetail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L40",
+ "weight": 1.0,
+ "source": "src_components_questions_questionsplitview_tsx",
+ "target": "questions_questionsplitview_formatdate",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L49",
+ "weight": 1.0,
+ "source": "src_components_questions_questionsplitview_tsx",
+ "target": "questions_questionsplitview_formatfilesize",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionSplitView.tsx",
+ "source_location": "L55",
+ "weight": 1.0,
+ "source": "src_components_questions_questionsplitview_tsx",
+ "target": "questions_questionsplitview_questionsplitview",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_components_questions_questionthread_tsx",
+ "target": "questions_questionthread_fileattachment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_components_questions_questionthread_tsx",
+ "target": "questions_questionthread_message",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_components_questions_questionthread_tsx",
+ "target": "questions_questionthread_questionthreadprops",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L28",
+ "weight": 1.0,
+ "source": "src_components_questions_questionthread_tsx",
+ "target": "questions_questionthread_formatdate",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L37",
+ "weight": 1.0,
+ "source": "src_components_questions_questionthread_tsx",
+ "target": "questions_questionthread_formatfilesize",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/questions/QuestionThread.tsx",
+ "source_location": "L43",
+ "weight": 1.0,
+ "source": "src_components_questions_questionthread_tsx",
+ "target": "questions_questionthread_questionthread",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/player/kinescope-player.tsx",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_components_player_kinescope_player_tsx",
+ "target": "player_kinescope_player_props",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/components/player/kinescope-player.tsx",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "src_components_player_kinescope_player_tsx",
+ "target": "player_kinescope_player_kinescopeplayer",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/prisma.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_prisma_ts",
+ "target": "lib_prisma_globalforprisma",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/prisma.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_prisma_ts",
+ "target": "lib_prisma_createprismaclient",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_lib_settings_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_auth_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_lib_actions_quiz_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_lib_actions_lesson_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_lib_actions_user_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L3",
+ "weight": 1.0,
+ "source": "src_lib_actions_homework_actions_ts",
+ "target": "src_lib_prisma_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_s3_ts",
+ "target": "lib_s3_s3",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "src_lib_s3_ts",
+ "target": "lib_s3_getpublicurl",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L20",
+ "weight": 1.0,
+ "source": "src_lib_s3_ts",
+ "target": "lib_s3_uploadfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L36",
+ "weight": 1.0,
+ "source": "src_lib_s3_ts",
+ "target": "lib_s3_deletefile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/s3.ts",
+ "source_location": "L33",
+ "weight": 1.0,
+ "source": "lib_s3_uploadfile",
+ "target": "lib_s3_getpublicurl",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_lib_settings_ts",
+ "target": "lib_settings_settings_defaults",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L51",
+ "weight": 1.0,
+ "source": "src_lib_settings_ts",
+ "target": "lib_settings_settingskey",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L52",
+ "weight": 1.0,
+ "source": "src_lib_settings_ts",
+ "target": "lib_settings_settings",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L56",
+ "weight": 1.0,
+ "source": "src_lib_settings_ts",
+ "target": "lib_settings_getsettings",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L70",
+ "weight": 1.0,
+ "source": "src_lib_settings_ts",
+ "target": "lib_settings_getsetting",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L82",
+ "weight": 1.0,
+ "source": "src_lib_settings_ts",
+ "target": "lib_settings_asbool",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/settings.ts",
+ "source_location": "L87",
+ "weight": 1.0,
+ "source": "src_lib_settings_ts",
+ "target": "lib_settings_parsenotificationemails",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "src_lib_settings_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "lib_settings_getsettings",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L81",
+ "weight": 1.0,
+ "source": "actions_student_actions_submithomework",
+ "target": "lib_settings_getsettings"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L2",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_settings_getsetting",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/email.ts",
+ "source_location": "L11",
+ "weight": 1.0,
+ "source": "lib_email_getschoolname",
+ "target": "lib_settings_getsetting"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "lib_settings_asbool",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L83",
+ "weight": 1.0,
+ "source": "actions_student_actions_submithomework",
+ "target": "lib_settings_asbool"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "lib_settings_parsenotificationemails",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L84",
+ "weight": 1.0,
+ "source": "actions_student_actions_submithomework",
+ "target": "lib_settings_parsenotificationemails"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_lib_md_to_tiptap_ts",
+ "target": "lib_md_to_tiptap_mark",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_md_to_tiptap_ts",
+ "target": "lib_md_to_tiptap_tiptapnode",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L17",
+ "weight": 1.0,
+ "source": "src_lib_md_to_tiptap_ts",
+ "target": "lib_md_to_tiptap_mdastnode",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L21",
+ "weight": 1.0,
+ "source": "src_lib_md_to_tiptap_ts",
+ "target": "lib_md_to_tiptap_convertinline",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L103",
+ "weight": 1.0,
+ "source": "src_lib_md_to_tiptap_ts",
+ "target": "lib_md_to_tiptap_convertblock",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L173",
+ "weight": 1.0,
+ "source": "src_lib_md_to_tiptap_ts",
+ "target": "lib_md_to_tiptap_mdtotiptap",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L109",
+ "weight": 1.0,
+ "source": "lib_md_to_tiptap_convertblock",
+ "target": "lib_md_to_tiptap_convertinline",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/md-to-tiptap.ts",
+ "source_location": "L181",
+ "weight": 1.0,
+ "source": "lib_md_to_tiptap_mdtotiptap",
+ "target": "lib_md_to_tiptap_convertblock",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L16",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L82",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L92",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_quote",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L104",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendcourseaccessemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L119",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendhomeworksubmittedemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L140",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendfeedbackreceivedemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L162",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendwelcomeemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L177",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendtestemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L193",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendaccessemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L216",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendpasswordresetemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L232",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendquestioncreatedemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L253",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendquestionreplyemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L274",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendquestionfollowupemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L295",
+ "weight": 1.0,
+ "source": "src_lib_email_ts",
+ "target": "lib_email_sendhomeworkupdatedemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_lib_auth_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "src_lib_email_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L106",
+ "weight": 1.0,
+ "source": "lib_email_sendcourseaccessemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L127",
+ "weight": 1.0,
+ "source": "lib_email_sendhomeworksubmittedemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L148",
+ "weight": 1.0,
+ "source": "lib_email_sendfeedbackreceivedemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L164",
+ "weight": 1.0,
+ "source": "lib_email_sendwelcomeemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L179",
+ "weight": 1.0,
+ "source": "lib_email_sendtestemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L200",
+ "weight": 1.0,
+ "source": "lib_email_sendaccessemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L218",
+ "weight": 1.0,
+ "source": "lib_email_sendpasswordresetemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L239",
+ "weight": 1.0,
+ "source": "lib_email_sendquestioncreatedemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L260",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionreplyemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L281",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionfollowupemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L303",
+ "weight": 1.0,
+ "source": "lib_email_sendhomeworkupdatedemail",
+ "target": "lib_email_getresend",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L105",
+ "weight": 1.0,
+ "source": "lib_email_sendcourseaccessemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L126",
+ "weight": 1.0,
+ "source": "lib_email_sendhomeworksubmittedemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L147",
+ "weight": 1.0,
+ "source": "lib_email_sendfeedbackreceivedemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L163",
+ "weight": 1.0,
+ "source": "lib_email_sendwelcomeemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L178",
+ "weight": 1.0,
+ "source": "lib_email_sendtestemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L199",
+ "weight": 1.0,
+ "source": "lib_email_sendaccessemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L217",
+ "weight": 1.0,
+ "source": "lib_email_sendpasswordresetemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L238",
+ "weight": 1.0,
+ "source": "lib_email_sendquestioncreatedemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L259",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionreplyemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L280",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionfollowupemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L302",
+ "weight": 1.0,
+ "source": "lib_email_sendhomeworkupdatedemail",
+ "target": "lib_email_getschoolname",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L110",
+ "weight": 1.0,
+ "source": "lib_email_sendcourseaccessemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L131",
+ "weight": 1.0,
+ "source": "lib_email_sendhomeworksubmittedemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L152",
+ "weight": 1.0,
+ "source": "lib_email_sendfeedbackreceivedemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L168",
+ "weight": 1.0,
+ "source": "lib_email_sendwelcomeemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L183",
+ "weight": 1.0,
+ "source": "lib_email_sendtestemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L204",
+ "weight": 1.0,
+ "source": "lib_email_sendaccessemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L222",
+ "weight": 1.0,
+ "source": "lib_email_sendpasswordresetemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L243",
+ "weight": 1.0,
+ "source": "lib_email_sendquestioncreatedemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L264",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionreplyemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L285",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionfollowupemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L307",
+ "weight": 1.0,
+ "source": "lib_email_sendhomeworkupdatedemail",
+ "target": "lib_email_base",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L114",
+ "weight": 1.0,
+ "source": "lib_email_sendcourseaccessemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L135",
+ "weight": 1.0,
+ "source": "lib_email_sendhomeworksubmittedemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L157",
+ "weight": 1.0,
+ "source": "lib_email_sendfeedbackreceivedemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L172",
+ "weight": 1.0,
+ "source": "lib_email_sendwelcomeemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L188",
+ "weight": 1.0,
+ "source": "lib_email_sendtestemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L211",
+ "weight": 1.0,
+ "source": "lib_email_sendaccessemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L227",
+ "weight": 1.0,
+ "source": "lib_email_sendpasswordresetemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L248",
+ "weight": 1.0,
+ "source": "lib_email_sendquestioncreatedemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L269",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionreplyemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L290",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionfollowupemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L311",
+ "weight": 1.0,
+ "source": "lib_email_sendhomeworkupdatedemail",
+ "target": "lib_email_btn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L155",
+ "weight": 1.0,
+ "source": "lib_email_sendfeedbackreceivedemail",
+ "target": "lib_email_quote",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L208",
+ "weight": 1.0,
+ "source": "lib_email_sendaccessemail",
+ "target": "lib_email_quote",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L246",
+ "weight": 1.0,
+ "source": "lib_email_sendquestioncreatedemail",
+ "target": "lib_email_quote",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L267",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionreplyemail",
+ "target": "lib_email_quote",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/email.ts",
+ "source_location": "L288",
+ "weight": 1.0,
+ "source": "lib_email_sendquestionfollowupemail",
+ "target": "lib_email_quote",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "lib_email_sendcourseaccessemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L81",
+ "weight": 1.0,
+ "source": "actions_course_actions_grantaccess",
+ "target": "lib_email_sendcourseaccessemail"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L7",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "lib_email_sendhomeworksubmittedemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_lib_auth_ts",
+ "target": "lib_email_sendwelcomeemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_lib_auth_ts",
+ "target": "lib_email_sendpasswordresetemail",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/utils.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_utils_ts",
+ "target": "lib_utils_cn",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_auth_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L53",
+ "weight": 1.0,
+ "source": "src_lib_auth_ts",
+ "target": "lib_auth_session",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/auth.ts",
+ "source_location": "L54",
+ "weight": 1.0,
+ "source": "src_lib_auth_ts",
+ "target": "lib_auth_user",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_actions_quiz_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_lib_actions_lesson_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_lib_actions_user_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_actions_homework_actions_ts",
+ "target": "src_lib_auth_ts",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_actions_quiz_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_lib_actions_lesson_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_lib_actions_user_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L5",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L4",
+ "weight": 1.0,
+ "source": "src_lib_actions_homework_actions_ts",
+ "target": "lib_auth_auth",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/auth-client.ts",
+ "source_location": "L6",
+ "weight": 1.0,
+ "source": "src_lib_auth_client_ts",
+ "target": "lib_auth_client_authclient",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L10",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "actions_course_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L18",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "actions_course_actions_createmodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "actions_course_actions_updatemodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L35",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "actions_course_actions_deletemodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L41",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "actions_course_actions_reordermodules",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L53",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "actions_course_actions_grantaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L87",
+ "weight": 1.0,
+ "source": "src_lib_actions_course_actions_ts",
+ "target": "actions_course_actions_revokeaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "actions_course_actions_createmodule",
+ "target": "actions_course_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L28",
+ "weight": 1.0,
+ "source": "actions_course_actions_updatemodule",
+ "target": "actions_course_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L36",
+ "weight": 1.0,
+ "source": "actions_course_actions_deletemodule",
+ "target": "actions_course_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L42",
+ "weight": 1.0,
+ "source": "actions_course_actions_reordermodules",
+ "target": "actions_course_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L59",
+ "weight": 1.0,
+ "source": "actions_course_actions_grantaccess",
+ "target": "actions_course_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source_location": "L88",
+ "weight": 1.0,
+ "source": "actions_course_actions_revokeaccess",
+ "target": "actions_course_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_quiz_actions_ts",
+ "target": "actions_quiz_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_lib_actions_quiz_actions_ts",
+ "target": "actions_quiz_actions_savequiz",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L49",
+ "weight": 1.0,
+ "source": "src_lib_actions_quiz_actions_ts",
+ "target": "actions_quiz_actions_deletequiz",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L17",
+ "weight": 1.0,
+ "source": "actions_quiz_actions_savequiz",
+ "target": "actions_quiz_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/quiz-actions.ts",
+ "source_location": "L50",
+ "weight": 1.0,
+ "source": "actions_quiz_actions_deletequiz",
+ "target": "actions_quiz_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L12",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "actions_student_actions_togglelessonprogress",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L37",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "actions_student_actions_homeworkfile",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L43",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "actions_student_actions_submithomework",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L104",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "actions_student_actions_submitquizattempt",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L141",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "actions_student_actions_addcomment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source_location": "L182",
+ "weight": 1.0,
+ "source": "src_lib_actions_student_actions_ts",
+ "target": "actions_student_actions_deletecomment",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_lesson_actions_ts",
+ "target": "actions_lesson_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_lib_actions_lesson_actions_ts",
+ "target": "actions_lesson_actions_savelesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/lesson-actions.ts",
+ "source_location": "L25",
+ "weight": 1.0,
+ "source": "actions_lesson_actions_savelesson",
+ "target": "actions_lesson_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_user_actions_ts",
+ "target": "actions_user_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_lib_actions_user_actions_ts",
+ "target": "actions_user_actions_bulkgrantaccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L44",
+ "weight": 1.0,
+ "source": "src_lib_actions_user_actions_ts",
+ "target": "actions_user_actions_revokeuseraccess",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L19",
+ "weight": 1.0,
+ "source": "actions_user_actions_bulkgrantaccess",
+ "target": "actions_user_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/user-actions.ts",
+ "source_location": "L45",
+ "weight": 1.0,
+ "source": "actions_user_actions_revokeuseraccess",
+ "target": "actions_user_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L9",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "actions_module_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "actions_module_actions_createlesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L26",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "actions_module_actions_updatelesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L33",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "actions_module_actions_deletelesson",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L39",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "actions_module_actions_reorderlessons",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L49",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "actions_module_actions_togglelessonpublished",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L64",
+ "weight": 1.0,
+ "source": "src_lib_actions_module_actions_ts",
+ "target": "actions_module_actions_movelessontomodule",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L15",
+ "weight": 1.0,
+ "source": "actions_module_actions_createlesson",
+ "target": "actions_module_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L27",
+ "weight": 1.0,
+ "source": "actions_module_actions_updatelesson",
+ "target": "actions_module_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L34",
+ "weight": 1.0,
+ "source": "actions_module_actions_deletelesson",
+ "target": "actions_module_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L40",
+ "weight": 1.0,
+ "source": "actions_module_actions_reorderlessons",
+ "target": "actions_module_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L55",
+ "weight": 1.0,
+ "source": "actions_module_actions_togglelessonpublished",
+ "target": "actions_module_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/module-actions.ts",
+ "source_location": "L70",
+ "weight": 1.0,
+ "source": "actions_module_actions_movelessontomodule",
+ "target": "actions_module_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L8",
+ "weight": 1.0,
+ "source": "src_lib_actions_homework_actions_ts",
+ "target": "actions_homework_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L13",
+ "weight": 1.0,
+ "source": "src_lib_actions_homework_actions_ts",
+ "target": "actions_homework_actions_savehomework",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L23",
+ "weight": 1.0,
+ "source": "src_lib_actions_homework_actions_ts",
+ "target": "actions_homework_actions_deletehomework",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L14",
+ "weight": 1.0,
+ "source": "actions_homework_actions_savehomework",
+ "target": "actions_homework_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "src/lib/actions/homework-actions.ts",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "actions_homework_actions_deletehomework",
+ "target": "actions_homework_actions_requireadmin",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CLAUDE.md",
+ "source": "claude_md",
+ "target": "roadmap_md"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "TECHNICAL.md",
+ "source": "technical_md",
+ "target": "prisma_schema"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/middleware.ts",
+ "source": "middleware_ts",
+ "target": "lib_auth_ts"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts",
+ "source": "student_lesson_actions",
+ "target": "lib_prisma_ts"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts",
+ "source": "student_comment_actions",
+ "target": "lib_prisma_ts"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts",
+ "source": "student_homework_actions",
+ "target": "lib_email_ts"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/questions/route.ts",
+ "source": "api_questions_route",
+ "target": "lib_email_ts"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source": "lesson_page_lessonpage",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx",
+ "source": "lesson_page_lessonpage",
+ "target": "auth_lib"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/(student)/dashboard/page.tsx",
+ "source": "student_dashboard_studentdashboard",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/courses/actions.ts",
+ "source": "admin_courses_actions_createcourse",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/courses/[courseId]/page.tsx",
+ "source": "admin_course_detail_coursedetailpage",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/courses/[courseId]/actions.ts",
+ "source": "admin_module_actions_createmodule",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts",
+ "source": "admin_lesson_actions_createlesson",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/dashboard/page.tsx",
+ "source": "admin_dashboard_admindashboard",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/import-export/import-actions.ts",
+ "source": "import_actions_applyimport",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/users/actions.ts",
+ "source": "admin_users_actions_createuser",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/admin/users/[userId]/page.tsx",
+ "source": "admin_user_detail_userpage",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/api/questions/route.ts",
+ "source": "api_questions_post",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/app/curator/homework/[submissionId]/actions.ts",
+ "source": "curator_homework_actions_submitfeedback",
+ "target": "prisma_client"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/admin/lesson-files-manager.tsx",
+ "source": "lesson_files_manager_lessonfilesmanager",
+ "target": "file_format_badge_fileformatbadge"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/admin/sortable-lessons.tsx",
+ "source": "sortable_lessons_sortablelessons",
+ "target": "module_actions_createlesson"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/admin/user-enrollment-manager.tsx",
+ "source": "user_enrollment_manager_userenrollmentmanager",
+ "target": "user_actions_bulkgrantaccess"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/admin/homework-editor.tsx",
+ "source": "homework_editor_homeworkeditor",
+ "target": "homework_actions_savehomework"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/admin/quiz-editor.tsx",
+ "source": "quiz_editor_quizeditor",
+ "target": "quiz_actions_savequiz"
+ },
+ {
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.8,
+ "source_file": "src/components/admin/lesson-editor.tsx",
+ "source": "lesson_editor_lessoneditor",
+ "target": "md_to_tiptap_mdtotiptap"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/admin/enrollment-manager.tsx",
+ "source": "enrollment_manager_enrollmentmanager",
+ "target": "course_actions_grantaccess"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/student/homework-section.tsx",
+ "source": "homework_section_homeworksection",
+ "target": "audio_recorder_audiorecorder"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/components/student/homework-section.tsx",
+ "source": "homework_section_homeworksection",
+ "target": "student_actions_submithomework"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source": "course_actions_grantaccess",
+ "target": "prisma_prisma"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/email.ts",
+ "source": "email_senders",
+ "target": "settings_getsettings"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/actions/course-actions.ts",
+ "source": "course_actions_grantaccess",
+ "target": "email_senders"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/actions/student-actions.ts",
+ "source": "student_actions_submithomework",
+ "target": "email_senders"
+ },
+ {
+ "relation": "calls",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "src/lib/auth.ts",
+ "source": "auth_auth",
+ "target": "email_senders"
+ }
+ ],
+ "hyperedges": [],
+ "built_at_commit": "3b57b14d9b4ff5f33fb30241655dce07d15ae6eb"
+}
\ No newline at end of file
diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json
new file mode 100644
index 0000000..be67c7c
--- /dev/null
+++ b/graphify-out/manifest.json
@@ -0,0 +1,947 @@
+{
+ "/Users/dementiy/Documents/Claude/lms-system/postcss.config.mjs": {
+ "mtime": 1775539448.9633763,
+ "ast_hash": "239f3ebf717465dc636818a1a619398d",
+ "semantic_hash": "239f3ebf717465dc636818a1a619398d"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/load-test.js": {
+ "mtime": 1778127844.2283719,
+ "ast_hash": "41a16de8fabafd834cfd6dd05bff3fc8",
+ "semantic_hash": "41a16de8fabafd834cfd6dd05bff3fc8"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma.config.ts": {
+ "mtime": 1775539681.2668922,
+ "ast_hash": "f6143a6083213d512c0beaa8d98daf63",
+ "semantic_hash": "f6143a6083213d512c0beaa8d98daf63"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/next-env.d.ts": {
+ "mtime": 1775539455.7864137,
+ "ast_hash": "2a74d3909800ca5467fa83b0ab4a4890",
+ "semantic_hash": "2a74d3909800ca5467fa83b0ab4a4890"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/package.json": {
+ "mtime": 1778337219.897404,
+ "ast_hash": "56408d012a302bae6beb8c2b595f1959",
+ "semantic_hash": "56408d012a302bae6beb8c2b595f1959"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/components.json": {
+ "mtime": 1775543430.3496323,
+ "ast_hash": "fc5c9e9a7b93eeb2f7b4e1ce0959e4a6",
+ "semantic_hash": "fc5c9e9a7b93eeb2f7b4e1ce0959e4a6"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/tsconfig.json": {
+ "mtime": 1775540751.6879265,
+ "ast_hash": "5b8a0b2790d0f63f9d34c39f33d1576e",
+ "semantic_hash": "5b8a0b2790d0f63f9d34c39f33d1576e"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/entrypoint.sh": {
+ "mtime": 1775541006.1865728,
+ "ast_hash": "01872fb2571d8f1668a102f309e56db0",
+ "semantic_hash": "01872fb2571d8f1668a102f309e56db0"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/eslint.config.mjs": {
+ "mtime": 1775539455.7998617,
+ "ast_hash": "dfa1f5f6a7037bf39dc510f30b180002",
+ "semantic_hash": "dfa1f5f6a7037bf39dc510f30b180002"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/next.config.ts": {
+ "mtime": 1777111664.8014219,
+ "ast_hash": "790740c612cd65aa517d43cf6dcb9310",
+ "semantic_hash": "790740c612cd65aa517d43cf6dcb9310"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/seed.ts": {
+ "mtime": 1775540870.481172,
+ "ast_hash": "e05692f594ca9e506effc660c6872901",
+ "semantic_hash": "e05692f594ca9e506effc660c6872901"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260429100000_add_comment_replies/migration.sql": {
+ "mtime": 1777450551.0263479,
+ "ast_hash": "a2cf7759d8d7ed3e9266cacd7c337e88",
+ "semantic_hash": "a2cf7759d8d7ed3e9266cacd7c337e88"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260506100000_add_user_comment/migration.sql": {
+ "mtime": 1778127844.228691,
+ "ast_hash": "90c9a98edbd5a4abac0f329db37fab9f",
+ "semantic_hash": "90c9a98edbd5a4abac0f329db37fab9f"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260407000000_init/migration.sql": {
+ "mtime": 1775541164.0660653,
+ "ast_hash": "c0bd162952882d9fe2437fe02014570d",
+ "semantic_hash": "c0bd162952882d9fe2437fe02014570d"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260408200000_add_module_description/migration.sql": {
+ "mtime": 1775636691.9698806,
+ "ast_hash": "9b7a8e4cf16d1523e9a7d4da6fa6b12d",
+ "semantic_hash": "9b7a8e4cf16d1523e9a7d4da6fa6b12d"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260409100000_add_submission_status/migration.sql": {
+ "mtime": 1775638648.0605721,
+ "ast_hash": "4454c96b36e332abf3dd9448af70d37d",
+ "semantic_hash": "4454c96b36e332abf3dd9448af70d37d"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260427100000_add_phone_birthday/migration.sql": {
+ "mtime": 1777289909.5343237,
+ "ast_hash": "6d3fdbe469686e9e66ddd1b36d5e5729",
+ "semantic_hash": "6d3fdbe469686e9e66ddd1b36d5e5729"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260407100000_add_categories_expiry_access_log/migration.sql": {
+ "mtime": 1775544940.147992,
+ "ast_hash": "eb68f750b724b3f7f7a5e093c93bfd66",
+ "semantic_hash": "eb68f750b724b3f7f7a5e093c93bfd66"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260409200000_add_feedback_fields/migration.sql": {
+ "mtime": 1775638651.8880556,
+ "ast_hash": "127d6fe94fc59eab627308c3c3c697b8",
+ "semantic_hash": "127d6fe94fc59eab627308c3c3c697b8"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260408100000_add_settings/migration.sql": {
+ "mtime": 1775628507.384782,
+ "ast_hash": "44a1a4821492322b5724450714308178",
+ "semantic_hash": "44a1a4821492322b5724450714308178"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260519110000_add_student_questions_indexes/migration.sql": {
+ "mtime": 1779178699.4783115,
+ "ast_hash": "18528b7f8538e8011b405e817686a1da",
+ "semantic_hash": "18528b7f8538e8011b405e817686a1da"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260519100000_add_student_questions/migration.sql": {
+ "mtime": 1779178168.9401863,
+ "ast_hash": "d9bac292ee934a08ba4ba071ae6a2eb0",
+ "semantic_hash": "d9bac292ee934a08ba4ba071ae6a2eb0"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260507120000_add_balance_transactions/migration.sql": {
+ "mtime": 1778127844.3476236,
+ "ast_hash": "d1aaa7291e12cfbfb6cd8cbc196363df",
+ "semantic_hash": "d1aaa7291e12cfbfb6cd8cbc196363df"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/prisma/migrations/20260409300000_add_audio_fields/migration.sql": {
+ "mtime": 1775639653.4543207,
+ "ast_hash": "43d98b6a9fd121a5044481ffd7489a28",
+ "semantic_hash": "43d98b6a9fd121a5044481ffd7489a28"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/scripts/backup.sh": {
+ "mtime": 1775641099.9783404,
+ "ast_hash": "c82b7570c899b64f77a83c16cfd08e48",
+ "semantic_hash": "c82b7570c899b64f77a83c16cfd08e48"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/middleware.ts": {
+ "mtime": 1778336973.807514,
+ "ast_hash": "9dc1e6fdaba5e1083b5c7fbc4c6daa71",
+ "semantic_hash": "9dc1e6fdaba5e1083b5c7fbc4c6daa71"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/layout.tsx": {
+ "mtime": 1775628711.840773,
+ "ast_hash": "75a46585f59b04c4399ec029a43cc6a7",
+ "semantic_hash": "75a46585f59b04c4399ec029a43cc6a7"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/page.tsx": {
+ "mtime": 1775539897.7447643,
+ "ast_hash": "ebddecc43ff2ea4ff8003e29ad1dbcda",
+ "semantic_hash": "ebddecc43ff2ea4ff8003e29ad1dbcda"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/layout.tsx": {
+ "mtime": 1779180543.4213698,
+ "ast_hash": "d9e2af4a647f054ef408ae955cf55f99",
+ "semantic_hash": "d9e2af4a647f054ef408ae955cf55f99"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/dashboard/page.tsx": {
+ "mtime": 1775549773.6485372,
+ "ast_hash": "316f8854752fa880d20b43b08c2ff2af",
+ "semantic_hash": "316f8854752fa880d20b43b08c2ff2af"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/layout.tsx": {
+ "mtime": 1779106455.9772222,
+ "ast_hash": "484a69fbaa17d2c66d006db5000461ae",
+ "semantic_hash": "484a69fbaa17d2c66d006db5000461ae"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/page.tsx": {
+ "mtime": 1775545897.6780322,
+ "ast_hash": "78f4e3233a8bee166c3d1dad1f5ce3b6",
+ "semantic_hash": "78f4e3233a8bee166c3d1dad1f5ce3b6"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/actions.ts": {
+ "mtime": 1775549694.1231287,
+ "ast_hash": "7562f84528733b5c5008ba33e73d791b",
+ "semantic_hash": "7562f84528733b5c5008ba33e73d791b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/homework-actions.ts": {
+ "mtime": 1779180714.287343,
+ "ast_hash": "1cfaec20194debc386487727cd3c7ec4",
+ "semantic_hash": "1cfaec20194debc386487727cd3c7ec4"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/comment-actions.ts": {
+ "mtime": 1777450299.366856,
+ "ast_hash": "33b6602bc53fcccf39e54e252d23aa93",
+ "semantic_hash": "33b6602bc53fcccf39e54e252d23aa93"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx": {
+ "mtime": 1778127844.2303188,
+ "ast_hash": "9aac4b157b2e0fb8f6c872764e7a12ec",
+ "semantic_hash": "9aac4b157b2e0fb8f6c872764e7a12ec"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/actions.ts": {
+ "mtime": 1778503284.4049518,
+ "ast_hash": "4aa4c5db544758cb73edbbc2b1b05a22",
+ "semantic_hash": "4aa4c5db544758cb73edbbc2b1b05a22"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/profile/page.tsx": {
+ "mtime": 1778501000.3189592,
+ "ast_hash": "100eae7a38f96baf538f7fca6da17c1a",
+ "semantic_hash": "100eae7a38f96baf538f7fca6da17c1a"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/page.tsx": {
+ "mtime": 1779179897.6492906,
+ "ast_hash": "bd6dd4b99effc6925479982df025caa8",
+ "semantic_hash": "bd6dd4b99effc6925479982df025caa8"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/new/page.tsx": {
+ "mtime": 1779197082.3573604,
+ "ast_hash": "ef8c519b8198270c636868422c947336",
+ "semantic_hash": "ef8c519b8198270c636868422c947336"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(student)/questions/[id]/page.tsx": {
+ "mtime": 1779179476.5191617,
+ "ast_hash": "9e2d432d3ab227b85dd10fedddddcbd8",
+ "semantic_hash": "9e2d432d3ab227b85dd10fedddddcbd8"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/layout.tsx": {
+ "mtime": 1779180532.407453,
+ "ast_hash": "3e246b4d842b880d82279da97cfddae9",
+ "semantic_hash": "3e246b4d842b880d82279da97cfddae9"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/actions.ts": {
+ "mtime": 1775628548.345528,
+ "ast_hash": "ce006c1c0101b44fcff92c89a545fc78",
+ "semantic_hash": "ce006c1c0101b44fcff92c89a545fc78"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/settings/page.tsx": {
+ "mtime": 1775628621.3407478,
+ "ast_hash": "69072ead029b382d15efdaeea3158cae",
+ "semantic_hash": "69072ead029b382d15efdaeea3158cae"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/delete-action.ts": {
+ "mtime": 1779183085.5343976,
+ "ast_hash": "88785d86e9733f566fd407b8251b8e6e",
+ "semantic_hash": "88785d86e9733f566fd407b8251b8e6e"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/actions.ts": {
+ "mtime": 1775635172.3278244,
+ "ast_hash": "04bd6dec85bba9c3db8fbb5f9f29a5f6",
+ "semantic_hash": "04bd6dec85bba9c3db8fbb5f9f29a5f6"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/comments/page.tsx": {
+ "mtime": 1779183080.3064644,
+ "ast_hash": "cb74260d956f871b4e8be6c0af517cad",
+ "semantic_hash": "cb74260d956f871b4e8be6c0af517cad"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/dashboard/page.tsx": {
+ "mtime": 1778507539.6294267,
+ "ast_hash": "7572d39d062cd2848b43001671fbea55",
+ "semantic_hash": "7572d39d062cd2848b43001671fbea55"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/actions.ts": {
+ "mtime": 1775639784.7386565,
+ "ast_hash": "427331a321c59cc88a8514f452607ca1",
+ "semantic_hash": "427331a321c59cc88a8514f452607ca1"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/page.tsx": {
+ "mtime": 1775543594.652092,
+ "ast_hash": "2b6489d62015bd627378eff09a669a86",
+ "semantic_hash": "2b6489d62015bd627378eff09a669a86"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/actions.ts": {
+ "mtime": 1775636734.5778208,
+ "ast_hash": "c57a528069e98dc96dd221c232eb864f",
+ "semantic_hash": "c57a528069e98dc96dd221c232eb864f"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/page.tsx": {
+ "mtime": 1777106507.4538386,
+ "ast_hash": "f2f1a9860c322449f601e03a1f24586c",
+ "semantic_hash": "f2f1a9860c322449f601e03a1f24586c"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/actions.ts": {
+ "mtime": 1775636714.8991704,
+ "ast_hash": "66a97903f65200b7334addf655e24edb",
+ "semantic_hash": "66a97903f65200b7334addf655e24edb"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx": {
+ "mtime": 1777106909.1702585,
+ "ast_hash": "60384d2ce8110ff21af12b12a9333a24",
+ "semantic_hash": "60384d2ce8110ff21af12b12a9333a24"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/actions.ts": {
+ "mtime": 1775543714.7955098,
+ "ast_hash": "1ef1c476415867380c1fc70a3bd0c961",
+ "semantic_hash": "1ef1c476415867380c1fc70a3bd0c961"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/homework-actions.ts": {
+ "mtime": 1775552997.8029149,
+ "ast_hash": "1dac1ba921e0735550f764460915a982",
+ "semantic_hash": "1dac1ba921e0735550f764460915a982"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx": {
+ "mtime": 1777272075.9285867,
+ "ast_hash": "9bdd956180e954bdbc1fc0088fae4302",
+ "semantic_hash": "9bdd956180e954bdbc1fc0088fae4302"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/import-actions.ts": {
+ "mtime": 1775634520.9555547,
+ "ast_hash": "bdc140f07b6717979fffd0501116f16e",
+ "semantic_hash": "bdc140f07b6717979fffd0501116f16e"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/import-export/page.tsx": {
+ "mtime": 1775634643.6249108,
+ "ast_hash": "3b7e12b60836e9e8c36ef11e86e2741b",
+ "semantic_hash": "3b7e12b60836e9e8c36ef11e86e2741b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/enroll-action.ts": {
+ "mtime": 1779182830.6618807,
+ "ast_hash": "3e98cbc6d48360f70dbf3a85d8fdb627",
+ "semantic_hash": "3e98cbc6d48360f70dbf3a85d8fdb627"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/actions.ts": {
+ "mtime": 1775633709.5702786,
+ "ast_hash": "fe76b76f7de722cb580352d59463383b",
+ "semantic_hash": "fe76b76f7de722cb580352d59463383b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/page.tsx": {
+ "mtime": 1779182734.6452632,
+ "ast_hash": "216bd05553f5f3045afeea4f557495ec",
+ "semantic_hash": "216bd05553f5f3045afeea4f557495ec"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/new/page.tsx": {
+ "mtime": 1775633763.9111438,
+ "ast_hash": "aa7856d61cfd3ba3206f9b7868be9109",
+ "semantic_hash": "aa7856d61cfd3ba3206f9b7868be9109"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/actions.ts": {
+ "mtime": 1778510039.7267065,
+ "ast_hash": "f23b74e57aa3e3f38db763581029aabf",
+ "semantic_hash": "f23b74e57aa3e3f38db763581029aabf"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/users/[userId]/page.tsx": {
+ "mtime": 1778510061.4342136,
+ "ast_hash": "b7f5fd8a77290f7d1368d7e86c4edb80",
+ "semantic_hash": "b7f5fd8a77290f7d1368d7e86c4edb80"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/actions.ts": {
+ "mtime": 1775544951.2542284,
+ "ast_hash": "66aaf2168b5f375918fe9f59d5614ab0",
+ "semantic_hash": "66aaf2168b5f375918fe9f59d5614ab0"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/categories/page.tsx": {
+ "mtime": 1775544967.4199352,
+ "ast_hash": "b859525c0e1f598390623178405d21db",
+ "semantic_hash": "b859525c0e1f598390623178405d21db"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/page.tsx": {
+ "mtime": 1777273467.258629,
+ "ast_hash": "315e0f6b55ed0eeec3138ddee3a62261",
+ "semantic_hash": "315e0f6b55ed0eeec3138ddee3a62261"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/quizzes/[quizId]/page.tsx": {
+ "mtime": 1777273643.627023,
+ "ast_hash": "2145c9935d295b62151c8fafa76b5bb4",
+ "semantic_hash": "2145c9935d295b62151c8fafa76b5bb4"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/admin/questions/page.tsx": {
+ "mtime": 1779180141.2393744,
+ "ast_hash": "bfa581bb5abb8ba95f68890ea56335a6",
+ "semantic_hash": "bfa581bb5abb8ba95f68890ea56335a6"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/layout.tsx": {
+ "mtime": 1779180972.2954504,
+ "ast_hash": "064808503b31baa50c7abe9fd30e2928",
+ "semantic_hash": "064808503b31baa50c7abe9fd30e2928"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/dashboard/page.tsx": {
+ "mtime": 1775638873.5261767,
+ "ast_hash": "91fdc6c08d776b56c191fd35c73a4b27",
+ "semantic_hash": "91fdc6c08d776b56c191fd35c73a4b27"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/page.tsx": {
+ "mtime": 1779182966.1832483,
+ "ast_hash": "4c4d6e4c6216034baa892de69f2735b9",
+ "semantic_hash": "4c4d6e4c6216034baa892de69f2735b9"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/actions.ts": {
+ "mtime": 1777285619.308738,
+ "ast_hash": "fa688d11e457ad85d4113998bc2b6ff3",
+ "semantic_hash": "fa688d11e457ad85d4113998bc2b6ff3"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/content-tabs.tsx": {
+ "mtime": 1775638774.7069304,
+ "ast_hash": "f7c6a65722268c3ed10368d316811768",
+ "semantic_hash": "f7c6a65722268c3ed10368d316811768"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/delete-button.tsx": {
+ "mtime": 1775638782.4061937,
+ "ast_hash": "57fc77b153563e7bcec4f18a9e9b01c7",
+ "semantic_hash": "57fc77b153563e7bcec4f18a9e9b01c7"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/feedback-form.tsx": {
+ "mtime": 1779106456.0099816,
+ "ast_hash": "3975b8a166b984c4c8f1216458e4627b",
+ "semantic_hash": "3975b8a166b984c4c8f1216458e4627b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/homework/[submissionId]/page.tsx": {
+ "mtime": 1775639791.8500793,
+ "ast_hash": "26e1675de0025df53bc62981819bead8",
+ "semantic_hash": "26e1675de0025df53bc62981819bead8"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/curator/questions/page.tsx": {
+ "mtime": 1779180145.8450756,
+ "ast_hash": "56a7eff9bdc775bc156fb43f505c3e4f",
+ "semantic_hash": "56a7eff9bdc775bc156fb43f505c3e4f"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/auth/[...all]/route.ts": {
+ "mtime": 1775539836.8800516,
+ "ast_hash": "1904de94f5362beedc269759cad175f0",
+ "semantic_hash": "1904de94f5362beedc269759cad175f0"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/audio-upload/route.ts": {
+ "mtime": 1778337153.1685843,
+ "ast_hash": "a7f789e064d05bf1872bca7fcde83363",
+ "semantic_hash": "a7f789e064d05bf1872bca7fcde83363"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/question-upload/route.ts": {
+ "mtime": 1779179903.0522113,
+ "ast_hash": "62ffbd6f1298d1a9d63b80d51f75fd85",
+ "semantic_hash": "62ffbd6f1298d1a9d63b80d51f75fd85"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/student/homework-upload/route.ts": {
+ "mtime": 1778337151.6170592,
+ "ast_hash": "14cb113ab9a8830b9a4911983bfe715c",
+ "semantic_hash": "14cb113ab9a8830b9a4911983bfe715c"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/export-users/route.ts": {
+ "mtime": 1775634670.2384863,
+ "ast_hash": "2fedc89a7ee108a41d3133cbc967cf2d",
+ "semantic_hash": "2fedc89a7ee108a41d3133cbc967cf2d"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lessons/[lessonId]/route.ts": {
+ "mtime": 1778127844.231484,
+ "ast_hash": "1d38f35fa9552598e9cbe2ca2f81f31e",
+ "semantic_hash": "1d38f35fa9552598e9cbe2ca2f81f31e"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/lesson-files/route.ts": {
+ "mtime": 1778337150.3518703,
+ "ast_hash": "932ea83020a69aae42e1c158acdaadf3",
+ "semantic_hash": "932ea83020a69aae42e1c158acdaadf3"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/import-md/route.ts": {
+ "mtime": 1775558548.7091389,
+ "ast_hash": "35a1f4f85acda910cc4f27ab2161e3d1",
+ "semantic_hash": "35a1f4f85acda910cc4f27ab2161e3d1"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/admin/upload/route.ts": {
+ "mtime": 1778337148.6886184,
+ "ast_hash": "92b5206674eb2e4ba28423482cdb979c",
+ "semantic_hash": "92b5206674eb2e4ba28423482cdb979c"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/audio-upload/route.ts": {
+ "mtime": 1778337154.4403656,
+ "ast_hash": "490f7e576b1063d597facec0ea6e03eb",
+ "semantic_hash": "490f7e576b1063d597facec0ea6e03eb"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/curator/upload/route.ts": {
+ "mtime": 1778337155.6744697,
+ "ast_hash": "e5a57c56ccf076b4a9f6bac94e7b302f",
+ "semantic_hash": "e5a57c56ccf076b4a9f6bac94e7b302f"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/route.ts": {
+ "mtime": 1779197102.5575292,
+ "ast_hash": "df0776243f3872e9fb5f75b6c3fe08f6",
+ "semantic_hash": "df0776243f3872e9fb5f75b6c3fe08f6"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/route.ts": {
+ "mtime": 1779178933.5921237,
+ "ast_hash": "62eb866c5702cd9ba4e3409b7c1a8958",
+ "semantic_hash": "62eb866c5702cd9ba4e3409b7c1a8958"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/messages/route.ts": {
+ "mtime": 1779180938.4647012,
+ "ast_hash": "8471b7d88eb085630638427102ca95f1",
+ "semantic_hash": "8471b7d88eb085630638427102ca95f1"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/api/questions/[id]/close/route.ts": {
+ "mtime": 1779178951.1036036,
+ "ast_hash": "3f7d9ecefbf7f20d1fa5b7a887da8b75",
+ "semantic_hash": "3f7d9ecefbf7f20d1fa5b7a887da8b75"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/maintenance/page.tsx": {
+ "mtime": 1775628663.515161,
+ "ast_hash": "dee854fe5c4fbf541237557ca6e7c58b",
+ "semantic_hash": "dee854fe5c4fbf541237557ca6e7c58b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/verify-email/page.tsx": {
+ "mtime": 1775539860.1446853,
+ "ast_hash": "b8d40f28521f05f3151707ff56e3dd14",
+ "semantic_hash": "b8d40f28521f05f3151707ff56e3dd14"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/register-form.tsx": {
+ "mtime": 1779106456.0094168,
+ "ast_hash": "637d16cc0939433b27271dcb3540c8d0",
+ "semantic_hash": "637d16cc0939433b27271dcb3540c8d0"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/register/page.tsx": {
+ "mtime": 1779106456.0084212,
+ "ast_hash": "0c92aa4e5f6c930d5a824585e13f8dd3",
+ "semantic_hash": "0c92aa4e5f6c930d5a824585e13f8dd3"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/forgot-password/page.tsx": {
+ "mtime": 1779106456.007963,
+ "ast_hash": "08af8c8e3163caa6a9fe730d40166cbd",
+ "semantic_hash": "08af8c8e3163caa6a9fe730d40166cbd"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/reset-password/page.tsx": {
+ "mtime": 1779106456.0096564,
+ "ast_hash": "bedf14c1251fbd63d3aa04b78fefe686",
+ "semantic_hash": "bedf14c1251fbd63d3aa04b78fefe686"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/login-form.tsx": {
+ "mtime": 1778133423.057206,
+ "ast_hash": "33b5c6f94e0acbecbdc1bdc1dd8fb3de",
+ "semantic_hash": "33b5c6f94e0acbecbdc1bdc1dd8fb3de"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/app/(auth)/login/page.tsx": {
+ "mtime": 1779106456.0081944,
+ "ast_hash": "1f439f4b562b2bd25ab1bae3e0e35ccd",
+ "semantic_hash": "1f439f4b562b2bd25ab1bae3e0e35ccd"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/alert-dialog.tsx": {
+ "mtime": 1775543455.199009,
+ "ast_hash": "4f3e711a6b5df14e88f6fc243b57599b",
+ "semantic_hash": "4f3e711a6b5df14e88f6fc243b57599b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/label.tsx": {
+ "mtime": 1775543454.9612532,
+ "ast_hash": "a70440da86bfc6a07f15197cca48cb08",
+ "semantic_hash": "a70440da86bfc6a07f15197cca48cb08"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/sonner.tsx": {
+ "mtime": 1775543455.0990825,
+ "ast_hash": "f46214bc2a6a5153a6e04fad523d5587",
+ "semantic_hash": "f46214bc2a6a5153a6e04fad523d5587"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/dialog.tsx": {
+ "mtime": 1775543455.1717389,
+ "ast_hash": "d9618a63d34473ec512321cc12d43692",
+ "semantic_hash": "d9618a63d34473ec512321cc12d43692"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/badge.tsx": {
+ "mtime": 1775543454.9870627,
+ "ast_hash": "e4ec840217040d5630ee6ed7213a1d72",
+ "semantic_hash": "e4ec840217040d5630ee6ed7213a1d72"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/button.tsx": {
+ "mtime": 1775543437.795013,
+ "ast_hash": "705bf3552a39e0c722665ccbecb30654",
+ "semantic_hash": "705bf3552a39e0c722665ccbecb30654"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/select.tsx": {
+ "mtime": 1775543455.0571928,
+ "ast_hash": "ab95f478cb74d1906b07425c15b124cc",
+ "semantic_hash": "ab95f478cb74d1906b07425c15b124cc"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/textarea.tsx": {
+ "mtime": 1775543454.933278,
+ "ast_hash": "d448d2a90e48542e51b93a1189127bf2",
+ "semantic_hash": "d448d2a90e48542e51b93a1189127bf2"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/ui/input.tsx": {
+ "mtime": 1775543454.9040146,
+ "ast_hash": "0607b02d99a2e92f9509223f36ccc6ec",
+ "semantic_hash": "0607b02d99a2e92f9509223f36ccc6ec"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/layout/logout-button.tsx": {
+ "mtime": 1775539883.725084,
+ "ast_hash": "15797f4a22be8526d1c6b0635d7faff1",
+ "semantic_hash": "15797f4a22be8526d1c6b0635d7faff1"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/student/course-sidebar.tsx": {
+ "mtime": 1779106455.9840677,
+ "ast_hash": "9ee0fd5dd69768879152ad26ab6c98ae",
+ "semantic_hash": "9ee0fd5dd69768879152ad26ab6c98ae"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/student/quiz-section.tsx": {
+ "mtime": 1779106456.0144863,
+ "ast_hash": "eddb6234d8a1b52ab4ab9c6c30dabeac",
+ "semantic_hash": "eddb6234d8a1b52ab4ab9c6c30dabeac"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/student/homework-section.tsx": {
+ "mtime": 1779106456.0141966,
+ "ast_hash": "f2b243c6d8f06d8170043840b01a11b3",
+ "semantic_hash": "f2b243c6d8f06d8170043840b01a11b3"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-complete-button.tsx": {
+ "mtime": 1777194005.4953825,
+ "ast_hash": "f8ac398a6af95e6fd56e712893aab19e",
+ "semantic_hash": "f8ac398a6af95e6fd56e712893aab19e"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-content.tsx": {
+ "mtime": 1775545924.213994,
+ "ast_hash": "edcb997e3cf7192f8f91f03df0cff34d",
+ "semantic_hash": "edcb997e3cf7192f8f91f03df0cff34d"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/student/lesson-comments.tsx": {
+ "mtime": 1777450388.9730964,
+ "ast_hash": "693f91db92037b405bd97c33f25e32b1",
+ "semantic_hash": "693f91db92037b405bd97c33f25e32b1"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-modules.tsx": {
+ "mtime": 1777107866.0878024,
+ "ast_hash": "f90528064d738ebb0215df0dd980aaa1",
+ "semantic_hash": "f90528064d738ebb0215df0dd980aaa1"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/stop-impersonate-banner.tsx": {
+ "mtime": 1777104746.6905766,
+ "ast_hash": "54d04f8eddf4dbb49c7036e445eccef4",
+ "semantic_hash": "54d04f8eddf4dbb49c7036e445eccef4"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-exporter.tsx": {
+ "mtime": 1779106456.010828,
+ "ast_hash": "a79c014eecdd468916e9986f0dced9ab",
+ "semantic_hash": "a79c014eecdd468916e9986f0dced9ab"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-search.tsx": {
+ "mtime": 1779182708.8622613,
+ "ast_hash": "1ee3d5714c39338ed62455f80edd7e83",
+ "semantic_hash": "1ee3d5714c39338ed62455f80edd7e83"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quick-enroll-modal.tsx": {
+ "mtime": 1779182853.729399,
+ "ast_hash": "5b96016c489810361c324ad0f0cecb46",
+ "semantic_hash": "5b96016c489810361c324ad0f0cecb46"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/settings-form.tsx": {
+ "mtime": 1779106456.0127459,
+ "ast_hash": "a22ac60850b2f7810f3e9cc30d10925b",
+ "semantic_hash": "a22ac60850b2f7810f3e9cc30d10925b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/users-table.tsx": {
+ "mtime": 1779182863.008059,
+ "ast_hash": "6a84eaeb4e1899f0ce348094d9a3af33",
+ "semantic_hash": "6a84eaeb4e1899f0ce348094d9a3af33"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-user-form.tsx": {
+ "mtime": 1779106456.0104892,
+ "ast_hash": "27117cd0038adfaead1749d9cea83dec",
+ "semantic_hash": "27117cd0038adfaead1749d9cea83dec"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-nav.tsx": {
+ "mtime": 1779180512.3247814,
+ "ast_hash": "0d67b9387b7c4181fc0315563811466a",
+ "semantic_hash": "0d67b9387b7c4181fc0315563811466a"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/create-course-dialog.tsx": {
+ "mtime": 1775543880.8641613,
+ "ast_hash": "14fbbd5e65001cfd89ee48a09cc6f54d",
+ "semantic_hash": "14fbbd5e65001cfd89ee48a09cc6f54d"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-files-manager.tsx": {
+ "mtime": 1777355316.1029549,
+ "ast_hash": "ca53268a3cedde1ecce9ee964ef634d6",
+ "semantic_hash": "ca53268a3cedde1ecce9ee964ef634d6"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/sortable-lessons.tsx": {
+ "mtime": 1777107864.9798238,
+ "ast_hash": "07abdd4e1f5c78d5bf481128fc501478",
+ "semantic_hash": "07abdd4e1f5c78d5bf481128fc501478"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-contact-editor.tsx": {
+ "mtime": 1779106456.013394,
+ "ast_hash": "79d5cf60b59ab01553d1c8634dbf720a",
+ "semantic_hash": "79d5cf60b59ab01553d1c8634dbf720a"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/category-row.tsx": {
+ "mtime": 1775544980.9926622,
+ "ast_hash": "878eb64f21a70ae037e5850e5c362ddb",
+ "semantic_hash": "878eb64f21a70ae037e5850e5c362ddb"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-enrollment-manager.tsx": {
+ "mtime": 1779106456.0137167,
+ "ast_hash": "d0b18e1d07102a8d98800e5ea83f17f7",
+ "semantic_hash": "d0b18e1d07102a8d98800e5ea83f17f7"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-editor.tsx": {
+ "mtime": 1779106456.0116541,
+ "ast_hash": "671153b31946d612b3bdf0a5e5c92a58",
+ "semantic_hash": "671153b31946d612b3bdf0a5e5c92a58"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-tree.tsx": {
+ "mtime": 1775636773.7442706,
+ "ast_hash": "b703c13a6b6967ec5b53ec07da5d0766",
+ "semantic_hash": "b703c13a6b6967ec5b53ec07da5d0766"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/csv-importer.tsx": {
+ "mtime": 1779106456.0111315,
+ "ast_hash": "baf3c241afe7b47621fd847ed404221f",
+ "semantic_hash": "baf3c241afe7b47621fd847ed404221f"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/course-edit-form.tsx": {
+ "mtime": 1775639775.5337877,
+ "ast_hash": "8f8c0cd38957bea97c9909ac390b9ec0",
+ "semantic_hash": "8f8c0cd38957bea97c9909ac390b9ec0"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/comments-table.tsx": {
+ "mtime": 1775635207.5298274,
+ "ast_hash": "48c38fa8b35d807b9229cffa5ea13871",
+ "semantic_hash": "48c38fa8b35d807b9229cffa5ea13871"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/homework-filters.tsx": {
+ "mtime": 1775638827.6958067,
+ "ast_hash": "7d216edbaf5a796591f1d4119e502bbd",
+ "semantic_hash": "7d216edbaf5a796591f1d4119e502bbd"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/quiz-editor.tsx": {
+ "mtime": 1779106456.0124762,
+ "ast_hash": "e15a256269b0389cffd3766c6803a01b",
+ "semantic_hash": "e15a256269b0389cffd3766c6803a01b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/user-balance-block.tsx": {
+ "mtime": 1779106456.0131013,
+ "ast_hash": "e4a6ab7a61c21f26fbcfc71862cb4845",
+ "semantic_hash": "e4a6ab7a61c21f26fbcfc71862cb4845"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/lesson-editor.tsx": {
+ "mtime": 1779106456.012119,
+ "ast_hash": "127c3540eaadeca94ed22acaf9628f98",
+ "semantic_hash": "127c3540eaadeca94ed22acaf9628f98"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/enrollment-manager.tsx": {
+ "mtime": 1777107867.096843,
+ "ast_hash": "2cd41bf79e0918a2a744a46afe22ee97",
+ "semantic_hash": "2cd41bf79e0918a2a744a46afe22ee97"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/admin/admin-shell.tsx": {
+ "mtime": 1779180525.2593257,
+ "ast_hash": "2011c71c511059ee14e68e12f8937087",
+ "semantic_hash": "2011c71c511059ee14e68e12f8937087"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/content-viewer.tsx": {
+ "mtime": 1775638700.0133314,
+ "ast_hash": "cc7b09b898e3650d0c49e28c487f81e4",
+ "semantic_hash": "cc7b09b898e3650d0c49e28c487f81e4"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/curator/audio-recorder.tsx": {
+ "mtime": 1775639674.1063051,
+ "ast_hash": "d1a25e94909c5c03467f61fbe4193e76",
+ "semantic_hash": "d1a25e94909c5c03467f61fbe4193e76"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/shared/file-format-badge.tsx": {
+ "mtime": 1777186261.7529228,
+ "ast_hash": "0491018f6081e27ff8c942d7e7c0f172",
+ "semantic_hash": "0491018f6081e27ff8c942d7e7c0f172"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionSplitView.tsx": {
+ "mtime": 1779197151.1862175,
+ "ast_hash": "1c6edfb6dab7311bec205cfc04b88717",
+ "semantic_hash": "1c6edfb6dab7311bec205cfc04b88717"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/questions/QuestionThread.tsx": {
+ "mtime": 1779180956.5679448,
+ "ast_hash": "98c6688eaf38c389d661e66e01fa040b",
+ "semantic_hash": "98c6688eaf38c389d661e66e01fa040b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/components/player/kinescope-player.tsx": {
+ "mtime": 1778127854.1874723,
+ "ast_hash": "7eb55925167e8ad9c796644e535b38b1",
+ "semantic_hash": "7eb55925167e8ad9c796644e535b38b1"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/prisma.ts": {
+ "mtime": 1777111660.135825,
+ "ast_hash": "7c89ac6edfa6f58c4ce9ebe777171568",
+ "semantic_hash": "7c89ac6edfa6f58c4ce9ebe777171568"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/s3.ts": {
+ "mtime": 1775543223.0979915,
+ "ast_hash": "efc1b8b49cf454a5fba50e2adfc18a6c",
+ "semantic_hash": "efc1b8b49cf454a5fba50e2adfc18a6c"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/settings.ts": {
+ "mtime": 1778337003.9577339,
+ "ast_hash": "50f00fb15cb1c836c85c6cc3da8da1a2",
+ "semantic_hash": "50f00fb15cb1c836c85c6cc3da8da1a2"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/md-to-tiptap.ts": {
+ "mtime": 1775558530.7871857,
+ "ast_hash": "e00a85724b233bbdbb500c22ee559f92",
+ "semantic_hash": "e00a85724b233bbdbb500c22ee559f92"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/email.ts": {
+ "mtime": 1779179263.137147,
+ "ast_hash": "1047e2d669f18135ae3668c430a2dd91",
+ "semantic_hash": "1047e2d669f18135ae3668c430a2dd91"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/utils.ts": {
+ "mtime": 1775543437.8258257,
+ "ast_hash": "5a6fd53fdcf2be529e9cc0b718fde352",
+ "semantic_hash": "5a6fd53fdcf2be529e9cc0b718fde352"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth.ts": {
+ "mtime": 1778133356.140317,
+ "ast_hash": "8cef753b0dd4247dce7822934004c075",
+ "semantic_hash": "8cef753b0dd4247dce7822934004c075"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/auth-client.ts": {
+ "mtime": 1775541698.4984717,
+ "ast_hash": "5d1642aa9316636d40d3d93f84578931",
+ "semantic_hash": "5d1642aa9316636d40d3d93f84578931"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/course-actions.ts": {
+ "mtime": 1777107837.9390755,
+ "ast_hash": "3c6ba4c5dea7276fae2bac316f787f92",
+ "semantic_hash": "3c6ba4c5dea7276fae2bac316f787f92"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/quiz-actions.ts": {
+ "mtime": 1777271863.0783772,
+ "ast_hash": "b2584b9d5b72c65ddbf0215bc3bcbb7c",
+ "semantic_hash": "b2584b9d5b72c65ddbf0215bc3bcbb7c"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/student-actions.ts": {
+ "mtime": 1777450317.9763305,
+ "ast_hash": "5f87fa0040ed2ef7503feb9c55ed61c7",
+ "semantic_hash": "5f87fa0040ed2ef7503feb9c55ed61c7"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/lesson-actions.ts": {
+ "mtime": 1778337022.129081,
+ "ast_hash": "d2a83e7727abd5ac93d5d5a6cb0987a2",
+ "semantic_hash": "d2a83e7727abd5ac93d5d5a6cb0987a2"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/user-actions.ts": {
+ "mtime": 1777107847.469851,
+ "ast_hash": "185eb90033df8b3bf835d8c1c2329200",
+ "semantic_hash": "185eb90033df8b3bf835d8c1c2329200"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/module-actions.ts": {
+ "mtime": 1777107844.0038111,
+ "ast_hash": "8604614f6302ed41a171bb20596cc5cb",
+ "semantic_hash": "8604614f6302ed41a171bb20596cc5cb"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/src/lib/actions/homework-actions.ts": {
+ "mtime": 1777107480.985504,
+ "ast_hash": "1dac1ba921e0735550f764460915a982",
+ "semantic_hash": "1dac1ba921e0735550f764460915a982"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/README.md": {
+ "mtime": 1775539455.7866259,
+ "ast_hash": "f15aaa42d5d299d091b1171097ea56ad",
+ "semantic_hash": "f15aaa42d5d299d091b1171097ea56ad"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/ROADMAP.md": {
+ "mtime": 1778127844.3474615,
+ "ast_hash": "9f3f564384801dfba7b050ae6aaa8406",
+ "semantic_hash": "9f3f564384801dfba7b050ae6aaa8406"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/LMS_PROJECT_BRIEF.md": {
+ "mtime": 1775537937.099096,
+ "ast_hash": "166c255a259c118322a2609b5004f89b",
+ "semantic_hash": "166c255a259c118322a2609b5004f89b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/docker-compose.yml": {
+ "mtime": 1775539673.517714,
+ "ast_hash": "11410645d53446dc91c06b107b5aeede",
+ "semantic_hash": "11410645d53446dc91c06b107b5aeede"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/docker-compose.prod.yml": {
+ "mtime": 1775540307.5769203,
+ "ast_hash": "47974c6b6ef6376f604a59892ee34342",
+ "semantic_hash": "47974c6b6ef6376f604a59892ee34342"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/DESIGN.md": {
+ "mtime": 1779106456.0193064,
+ "ast_hash": "e9b57331f2c9825b30dbd1f5b69e8880",
+ "semantic_hash": "e9b57331f2c9825b30dbd1f5b69e8880"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/TECHNICAL.md": {
+ "mtime": 1775555187.3063445,
+ "ast_hash": "bcb8ce50eb1808eb4abbcd89b4936d4b",
+ "semantic_hash": "bcb8ce50eb1808eb4abbcd89b4936d4b"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/AGENTS.md": {
+ "mtime": 1778127844.3472211,
+ "ast_hash": "987827c9cd8673be4716bf75d8091e13",
+ "semantic_hash": "987827c9cd8673be4716bf75d8091e13"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/TECH_DEBT_AUDIT.md": {
+ "mtime": 1778336765.1677108,
+ "ast_hash": "dbfa402aca04c261cd4f4e5fdcaa7949",
+ "semantic_hash": "dbfa402aca04c261cd4f4e5fdcaa7949"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/CLAUDE.md": {
+ "mtime": 1778337231.5150814,
+ "ast_hash": "7410ae791df581dc06b3bf8bc0fb6206",
+ "semantic_hash": "7410ae791df581dc06b3bf8bc0fb6206"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/docs/specs/20260519-student-questions-design.md": {
+ "mtime": 1779177173.6249695,
+ "ast_hash": "d08dc20b0a6a016a4723e69d86ced930",
+ "semantic_hash": "d08dc20b0a6a016a4723e69d86ced930"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/docs/superpowers/plans/2026-05-19-student-questions.md": {
+ "mtime": 1779177560.908419,
+ "ast_hash": "754f28bc3a56dd31a42c63d255864248",
+ "semantic_hash": "754f28bc3a56dd31a42c63d255864248"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/scripts/backup-setup.md": {
+ "mtime": 1775641119.09077,
+ "ast_hash": "b6891dab23f3fc3d972fdc28aa533584",
+ "semantic_hash": "b6891dab23f3fc3d972fdc28aa533584"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/waiting-2.html": {
+ "mtime": 1779176668.5622823,
+ "ast_hash": "da91a1892b62506402b060fb3abe53fe",
+ "semantic_hash": "da91a1892b62506402b060fb3abe53fe"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/admin-views.html": {
+ "mtime": 1779176561.9029183,
+ "ast_hash": "c1fca2f967a5bf94a97113308ae4624e",
+ "semantic_hash": "c1fca2f967a5bf94a97113308ae4624e"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/waiting-1.html": {
+ "mtime": 1779176044.220279,
+ "ast_hash": "44b3ae034f564b8ed722d684a274336d",
+ "semantic_hash": "44b3ae034f564b8ed722d684a274336d"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/student-questions.html": {
+ "mtime": 1779176873.0493462,
+ "ast_hash": "3457730624e77f428167a4ca887e6d58",
+ "semantic_hash": "3457730624e77f428167a4ca887e6d58"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/conversation-model.html": {
+ "mtime": 1779175933.3711283,
+ "ast_hash": "6b755b9525b6ad6a993083757e3a00b2",
+ "semantic_hash": "6b755b9525b6ad6a993083757e3a00b2"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/.superpowers/brainstorm/8559-1779175817/content/entry-point.html": {
+ "mtime": 1779175845.0681012,
+ "ast_hash": "8ed267264007a1846692569acbeeb420",
+ "semantic_hash": "8ed267264007a1846692569acbeeb420"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/public/file.svg": {
+ "mtime": 1775539455.7871087,
+ "ast_hash": "d09f95206c3fa0bb9bd9fefabfd0ea71",
+ "semantic_hash": "d09f95206c3fa0bb9bd9fefabfd0ea71"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/public/vercel.svg": {
+ "mtime": 1775539455.7872572,
+ "ast_hash": "c0af2f507b369b085b35ef4bbe3bcf1e",
+ "semantic_hash": "c0af2f507b369b085b35ef4bbe3bcf1e"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/public/next.svg": {
+ "mtime": 1775539455.787376,
+ "ast_hash": "8e061864f388b47f33a1c3780831193e",
+ "semantic_hash": "8e061864f388b47f33a1c3780831193e"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/public/globe.svg": {
+ "mtime": 1775539455.7875223,
+ "ast_hash": "2aaafa6a49b6563925fe440891e32717",
+ "semantic_hash": "2aaafa6a49b6563925fe440891e32717"
+ },
+ "/Users/dementiy/Documents/Claude/lms-system/public/window.svg": {
+ "mtime": 1775539455.7876542,
+ "ast_hash": "a2760511c65806022ad20adf74370ff3",
+ "semantic_hash": "a2760511c65806022ad20adf74370ff3"
+ }
+}
\ No newline at end of file
diff --git a/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx b/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx
index 7bd9134..65c78f0 100644
--- a/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx
+++ b/src/app/(student)/courses/[slug]/lessons/[lessonId]/page.tsx
@@ -122,9 +122,6 @@ export default async function LessonPage({ params }: Props) {
{/* Title */}
{lesson.title}
- {/* DEBUG: remove after fix */}
- DEBUG lessonId: {lessonId} | kinescopeId: {String(lesson.kinescopeId ?? "NULL")} | coverImage: {String(lesson.coverImage ?? "NULL")} | isAdmin: {String(isAdmin)}
-
{/* Video */}
{lesson.kinescopeId && (
@@ -135,7 +132,7 @@ export default async function LessonPage({ params }: Props) {
{/* Text content */}
{hasContent && (
-
+
)}
diff --git a/src/components/student/lesson-content.tsx b/src/components/student/lesson-content.tsx
index cc36091..ef91613 100644
--- a/src/components/student/lesson-content.tsx
+++ b/src/components/student/lesson-content.tsx
@@ -8,23 +8,33 @@ import Link from "@tiptap/extension-link";
import Underline from "@tiptap/extension-underline";
import { KinescopePlayer } from "@/components/player/kinescope-player";
-function KinescopeVideoStudentView({ node }: { node: { attrs: Record
} }) {
+function KinescopeVideoStudentView({
+ node,
+ extension,
+}: {
+ node: { attrs: Record };
+ extension: { options: { poster?: string } };
+}) {
const videoId = node.attrs.videoId as string;
if (!videoId) return null;
return (
-
+
);
}
-const KinescopeVideoExtension = Node.create({
+const KinescopeVideoExtension = Node.create<{ poster?: string }>({
name: "kinescopeVideo",
group: "block",
atom: true,
+ addOptions() {
+ return { poster: undefined };
+ },
+
addAttributes() {
return { videoId: { default: "" } };
},
@@ -43,14 +53,14 @@ const KinescopeVideoExtension = Node.create({
},
});
-export function LessonContent({ content }: { content: object }) {
+export function LessonContent({ content, coverImage }: { content: object; coverImage?: string | null }) {
const editor = useEditor({
extensions: [
StarterKit,
Underline,
Image.configure({ inline: false }),
Link.configure({ openOnClick: true }),
- KinescopeVideoExtension,
+ KinescopeVideoExtension.configure({ poster: coverImage ?? undefined }),
],
content,
editable: false,