https://github.com/Turanchoks/teachflow
· scanned 2026-06-16 00:43 UTC (2 months, 1 week ago)
84 raw signals (0 security + 84 graph)
Last scanned 2 months, 1 week ago · v1 · 83 actionable findings from 1 signal source. 1 repeated signal grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 2099 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
register |
software | healthy | instrumentation.ts:register |
isPublicPath |
software | healthy | proxy.ts:isPublicPath |
proxy |
software | healthy | proxy.ts:proxy |
body |
software | healthy | tests/demo-path.spec.ts:body |
generateRandomTestUser |
software | healthy | tests/helpers.ts:generateRandomTestUser |
generateTestMessage |
software | healthy | tests/helpers.ts:generateTestMessage |
signInAsGuest |
software | healthy | tests/helpers-demo.ts:signInAsGuest |
setSidebarExpanded |
software | healthy | tests/helpers-demo.ts:setSidebarExpanded |
createStudent |
software | healthy | tests/helpers-demo.ts:createStudent |
student |
software | healthy | tests/helpers-demo.ts:student |
sendChatMessage |
software | healthy | tests/helpers-demo.ts:sendChatMessage |
waitForReply |
software | healthy | tests/helpers-demo.ts:waitForReply |
waitForMemoryFacts |
software | healthy | tests/helpers-demo.ts:waitForMemoryFacts |
waitForArtifactWithContent |
software | healthy | tests/helpers-demo.ts:waitForArtifactWithContent |
hasExercise |
software | healthy | tests/helpers-demo.ts:hasExercise |
getShareUrl |
software | healthy | tests/helpers-demo.ts:getShareUrl |
body |
software | healthy | tests/helpers-demo.ts:body |
captureDocumentId |
software | healthy | tests/helpers-demo.ts:captureDocumentId |
openSharePageAnon |
software | healthy | tests/helpers-demo.ts:openSharePageAnon |
getResponseChunksByPrompt |
software | healthy | tests/prompts/utils.ts:getResponseChunksByPrompt |
__commonJS |
software | healthy | mcp/exercise-server.cjs:__commonJS |
__require |
software | healthy | mcp/exercise-server.cjs:__require |
__export |
software | healthy | mcp/exercise-server.cjs:__export |
__copyProps |
software | healthy | mcp/exercise-server.cjs:__copyProps |
__toESM |
software | healthy | mcp/exercise-server.cjs:__toESM |
_ |
software | healthy | mcp/exercise-server.cjs:_ |
str |
software | healthy | mcp/exercise-server.cjs:str |
addCodeArg |
software | healthy | mcp/exercise-server.cjs:addCodeArg |
optimize |
software | healthy | mcp/exercise-server.cjs:optimize |
mergeExprItems |
software | healthy | mcp/exercise-server.cjs:mergeExprItems |
strConcat |
software | healthy | mcp/exercise-server.cjs:strConcat |
interpolate |
software | healthy | mcp/exercise-server.cjs:interpolate |
stringify |
software | healthy | mcp/exercise-server.cjs:stringify |
safeStringify |
software | healthy | mcp/exercise-server.cjs:safeStringify |
getProperty |
software | healthy | mcp/exercise-server.cjs:getProperty |
getEsmExportName |
software | healthy | mcp/exercise-server.cjs:getEsmExportName |
regexpCode |
software | healthy | mcp/exercise-server.cjs:regexpCode |
line |
software | healthy | mcp/exercise-server.cjs:line |
valueKey |
software | healthy | mcp/exercise-server.cjs:valueKey |
definition |
software | healthy | mcp/exercise-server.cjs:definition |
addNames |
software | healthy | mcp/exercise-server.cjs:addNames |
addExprNames |
software | healthy | mcp/exercise-server.cjs:addExprNames |
optimizeExpr |
software | healthy | mcp/exercise-server.cjs:optimizeExpr |
replaceName |
software | healthy | mcp/exercise-server.cjs:replaceName |
canOptimize |
software | healthy | mcp/exercise-server.cjs:canOptimize |
subtractNames |
software | healthy | mcp/exercise-server.cjs:subtractNames |
not |
software | healthy | mcp/exercise-server.cjs:not |
and |
software | healthy | mcp/exercise-server.cjs:and |
or |
software | healthy | mcp/exercise-server.cjs:or |
mappend |
software | healthy | mcp/exercise-server.cjs:mappend |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
playwright.config.ts |
software | healthy | playwright.config.ts |
instrumentation.ts |
software | healthy | instrumentation.ts |
vercel.json |
software | healthy | vercel.json |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
vercel-template.json |
software | healthy | vercel-template.json |
README.md |
software | healthy | README.md |
pnpm-lock.yaml |
software | healthy | pnpm-lock.yaml |
package.json |
software | healthy | package.json |
CONTRACTS.md |
software | healthy | CONTRACTS.md |
Dockerfile |
software | healthy | Dockerfile |
components.json |
software | healthy | components.json |
instrumentation-client.ts |
software | healthy | instrumentation-client.ts |
pnpm-workspace.yaml |
software | healthy | pnpm-workspace.yaml |
.env.example |
software | healthy | .env.example |
tsconfig.json |
software | healthy | tsconfig.json |
drizzle.config.ts |
software | healthy | drizzle.config.ts |
LICENSE |
software | healthy | LICENSE |
playwright.demo.config.ts |
software | healthy | playwright.demo.config.ts |
proxy.ts |
software | healthy | proxy.ts |
next.config.ts |
software | healthy | next.config.ts |
fixtures.ts |
software | healthy | tests/fixtures.ts |
demo-path.spec.ts |
software | healthy | tests/demo-path.spec.ts |
helpers.ts |
software | healthy | tests/helpers.ts |
helpers-demo.ts |
software | healthy | tests/helpers-demo.ts |
chat.ts |
software | healthy | tests/pages/chat.ts |
utils.ts |
software | healthy | tests/prompts/utils.ts |
auth.test.ts |
software | healthy | tests/e2e/auth.test.ts |
api.test.ts |
software | healthy | tests/e2e/api.test.ts |
chat.test.ts |
software | healthy | tests/e2e/chat.test.ts |
model-selector.test.ts |
software | healthy | tests/e2e/model-selector.test.ts |
exercise-server.cjs |
software | healthy | mcp/exercise-server.cjs |
exercise-server.ts |
software | healthy | mcp/exercise-server.ts |
DEVPOST.md |
software | healthy | docs/DEVPOST.md |
EVALS.md |
software | healthy | docs/EVALS.md |
DEMO_SCRIPT.md |
software | healthy | docs/DEMO_SCRIPT.md |
MCP.md |
software | healthy | docs/MCP.md |
test-media-gen.ts |
software | healthy | docs/harvest/test-media-gen.ts |
pedagogy-rubric.md |
software | healthy | docs/harvest/pedagogy-rubric.md |
media-generation.md |
software | healthy | docs/harvest/media-generation.md |
audio-image-exercises.md |
software | healthy | docs/harvest/audio-image-exercises.md |
prompts.md |
software | healthy | docs/harvest/prompts.md |
mem-probe-newchat.mjs |
software | healthy | scripts/mem-probe-newchat.mjs |
visual-qa.ts |
software | healthy | scripts/visual-qa.ts |
mem-pad.ts |
software | healthy | scripts/mem-pad.ts |
seed-share-fixture.ts |
software | healthy | scripts/seed-share-fixture.ts |
test-media-homework.ts |
software | healthy | scripts/test-media-homework.ts |
_no-server-only.cjs |
software | healthy | scripts/_no-server-only.cjs |
seed-demo.ts |
software | healthy | scripts/seed-demo.ts |
test-homework-handler.ts |
software | healthy | scripts/test-homework-handler.ts |
mem-seed.ts |
software | healthy | scripts/mem-seed.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
pages |
software | healthy | tests/pages |
prompts |
software | healthy | tests/prompts |
e2e |
software | healthy | tests/e2e |
mcp |
software | healthy | mcp |
docs |
software | healthy | docs |
harvest |
software | healthy | docs/harvest |
scripts |
software | healthy | scripts |
video |
software | healthy | scripts/video |
components |
software | healthy | components |
ui |
software | healthy | components/ui |
chat |
software | healthy | components/chat |
quiz |
software | healthy | components/quiz |
exercises |
software | healthy | components/quiz/exercises |
chain |
software | healthy | components/quiz/chain |
lib |
software | healthy | components/quiz/lib |
core |
software | healthy | components/quiz/core |
studio |
software | healthy | components/studio |
ai-elements |
software | healthy | components/ai-elements |
app |
software | healthy | app |
api |
software | healthy | app/api |
share-results |
software | healthy | app/api/share-results |
mcp |
software | healthy | app/api/mcp |
[transport] |
software | healthy | app/api/mcp/[transport] |
uploads |
software | healthy | app/api/uploads |
serve |
software | healthy | app/api/uploads/serve |
[...path] |
software | healthy | app/api/uploads/serve/[...path] |
pubsub |
software | healthy | app/api/pubsub |
video-analyze |
software | healthy | app/api/pubsub/video-analyze |
s |
software | healthy | app/s |
[slug] |
software | healthy | app/s/[slug] |
(auth) |
software | healthy | app/(auth) |
login |
software | healthy | app/(auth)/login |
api |
software | healthy | app/(auth)/api |
auth |
software | healthy | app/(auth)/api/auth |
[...nextauth] |
software | healthy | app/(auth)/api/auth/[...nextauth] |
guest |
software | healthy | app/(auth)/api/auth/guest |
register |
software | healthy | app/(auth)/register |
(chat) |
software | healthy | app/(chat) |
api |
software | healthy | app/(chat)/api |
models |
software | healthy | app/(chat)/api/models |
document |
software | healthy | app/(chat)/api/document |
suggestions |
software | healthy | app/(chat)/api/suggestions |
uploads |
software | healthy | app/(chat)/api/uploads |
direct |
software | healthy | app/(chat)/api/uploads/direct |
[videoId] |
software | healthy | app/(chat)/api/uploads/direct/[videoId] |
chat |
software | healthy | app/(chat)/api/chat |
[id] |
software | healthy | app/(chat)/api/chat/[id] |
stream |
software | healthy | app/(chat)/api/chat/[id]/stream |
students |
software | healthy | app/(chat)/api/students |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
auth::app/(auth)/register/page.tsx |
security | healthy | app/(auth)/register/page.tsx |
auth::components/chat/app-sidebar.tsx |
security | healthy | components/chat/app-sidebar.tsx |
auth::app/(auth)/api/auth/guest/route.ts |
security | healthy | app/(auth)/api/auth/guest/route.ts |
auth::lib/agent/run.ts |
security | healthy | lib/agent/run.ts |
auth::proxy.ts |
security | healthy | proxy.ts |
auth::mcp/exercise-server.cjs |
security | healthy | mcp/exercise-server.cjs |
auth::components/chat/sidebar-history.tsx |
security | healthy | components/chat/sidebar-history.tsx |
auth::lib/agent/tools.ts |
security | healthy | lib/agent/tools.ts |
auth::lib/agent/proactive.ts |
security | healthy | lib/agent/proactive.ts |
auth::evals/homework-eval.ts |
security | healthy | evals/homework-eval.ts |
auth::lib/ai/tools/create-document.ts |
security | healthy | lib/ai/tools/create-document.ts |
auth::package.json |
security | healthy | package.json |
auth::lib/mcp-public/generation.ts |
security | healthy | lib/mcp-public/generation.ts |
auth::app/(auth)/auth.ts |
security | healthy | app/(auth)/auth.ts |
auth::README.md |
security | healthy | README.md |
auth::lib/artifacts/server.ts |
security | healthy | lib/artifacts/server.ts |
auth::lib/ai/tools/update-document.ts |
security | healthy | lib/ai/tools/update-document.ts |
auth::scripts/video/helpers.ts |
security | healthy | scripts/video/helpers.ts |
auth::lib/ai/tools/edit-document.ts |
security | healthy | lib/ai/tools/edit-document.ts |
auth::components/chat/sidebar-user-nav.tsx |
security | healthy | components/chat/sidebar-user-nav.tsx |
auth::app/(auth)/login/page.tsx |
security | healthy | app/(auth)/login/page.tsx |
auth::app/layout.tsx |
security | healthy | app/layout.tsx |
auth::scripts/test-media-homework.ts |
security | healthy | scripts/test-media-homework.ts |
auth::scripts/test-homework-handler.ts |
security | healthy | scripts/test-homework-handler.ts |
auth::app/(auth)/auth.config.ts |
security | healthy | app/(auth)/auth.config.ts |
auth::lib/mcp-public/auth.ts |
security | healthy | lib/mcp-public/auth.ts |
auth::lib/ai/tools/request-suggestions.ts |
security | healthy | lib/ai/tools/request-suggestions.ts |
auth::app/api/pubsub/video-analyze/route.ts |
security | healthy | app/api/pubsub/video-analyze/route.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
ChatPage |
software | healthy | tests/pages/chat.ts:ChatPage |
extends |
software | healthy | mcp/exercise-server.cjs:extends |
_If |
software | healthy | mcp/exercise-server.cjs:_If |
_ZodError |
software | healthy | mcp/exercise-server.cjs:_ZodError |
_ParseStatus |
software | healthy | mcp/exercise-server.cjs:_ParseStatus |
_ZodString2 |
software | healthy | mcp/exercise-server.cjs:_ZodString2 |
_ZodNumber |
software | healthy | mcp/exercise-server.cjs:_ZodNumber |
_ZodBigInt |
software | healthy | mcp/exercise-server.cjs:_ZodBigInt |
_ZodDate |
software | healthy | mcp/exercise-server.cjs:_ZodDate |
_ZodArray |
software | healthy | mcp/exercise-server.cjs:_ZodArray |
_ZodObject |
software | healthy | mcp/exercise-server.cjs:_ZodObject |
_ZodDiscriminatedUnion |
software | healthy | mcp/exercise-server.cjs:_ZodDiscriminatedUnion |
_ZodTuple |
software | healthy | mcp/exercise-server.cjs:_ZodTuple |
_ZodRecord |
software | healthy | mcp/exercise-server.cjs:_ZodRecord |
_ZodSet |
software | healthy | mcp/exercise-server.cjs:_ZodSet |
_ZodFunction |
software | healthy | mcp/exercise-server.cjs:_ZodFunction |
_ZodEnum |
software | healthy | mcp/exercise-server.cjs:_ZodEnum |
_ZodPipeline |
software | healthy | mcp/exercise-server.cjs:_ZodPipeline |
Definition |
software | healthy | mcp/exercise-server.cjs:Definition |
_McpError |
software | healthy | mcp/exercise-server.cjs:_McpError |
Artifact |
software | healthy | components/chat/create-artifact.tsx:Artifact |
ChatbotError |
software | healthy | lib/errors.ts:ChatbotError |
McpAuthError |
software | healthy | lib/mcp-public/auth.ts:McpAuthError |
| Label | Layer | Status | Path |
|---|---|---|---|
RootLayout |
frontend | healthy | app/layout.tsx |
SharePage |
frontend | healthy | app/s/[slug]/page.tsx |
AuthLayout |
frontend | healthy | app/(auth)/layout.tsx |
Page |
frontend | healthy | app/(auth)/login/page.tsx |
Page |
frontend | healthy | app/(auth)/register/page.tsx |
Layout |
frontend | healthy | app/(chat)/layout.tsx |
Page |
frontend | healthy | app/(chat)/chat/[id]/page.tsx |
LandingPage |
frontend | healthy | app/(marketing)/page.tsx |
MarketingLayout |
frontend | healthy | app/(marketing)/layout.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
User |
data | healthy | lib/db/migrations/0000_initial.sql |
Chat |
data | healthy | lib/db/migrations/0000_initial.sql |
Message_v2 |
data | healthy | lib/db/migrations/0000_initial.sql |
Vote_v2 |
data | healthy | lib/db/migrations/0000_initial.sql |
Document |
data | healthy | lib/db/migrations/0000_initial.sql |
Suggestion |
data | healthy | lib/db/migrations/0000_initial.sql |
Stream |
data | healthy | lib/db/migrations/0000_initial.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | README.md |
mariadb |
data | healthy | pnpm-lock.yaml |
mysql |
data | healthy | pnpm-lock.yaml |
postgresql |
data | healthy | pnpm-lock.yaml |
sqlite |
data | healthy | pnpm-lock.yaml |
redis |
data | healthy | pnpm-lock.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
/chat |
frontend | healthy | tests/pages/chat.ts |
/page.tsx |
frontend | healthy | app/(chat)/app/page.tsx |
/student/[studentId] |
frontend | healthy | app/(chat)/app/student/[studentId]/page.tsx |
/api/chat |
frontend | healthy | instrumentation-client.ts |
/ |
frontend | healthy | scripts/video/helpers.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | README.md |
vps::azure |
hardware | healthy | pnpm-lock.yaml |
vps::aws |
hardware | healthy | pnpm-lock.yaml |
vps::vultr |
hardware | healthy | components/ai-elements/model-selector.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
port:64 |
network | healthy | pnpm-lock.yaml |
port:16 |
network | healthy | pnpm-lock.yaml |
port:8080 |
network | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::scripts/seed-demo.ts |
security | healthy | scripts/seed-demo.ts |
password_literal::scripts/video/_debug2.ts |
security | healthy | scripts/video/_debug2.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-qafxuvp6 |
software | healthy | /tmp/repobility-clone-qafxuvp6 |
| Label | Layer | Status | Path |
|---|---|---|---|
pubsub |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
0000_initial.sql |
data | healthy | lib/db/migrations/0000_initial.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | components/chat/multimodal-input.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::deploy |
cicd | healthy | .github/workflows/deploy.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
deploy |
cicd | healthy | .github/workflows/deploy.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GCP_SA_KEY |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/9a0af072-79ec-4517-8015-537b0ad94400/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/9a0af072-79ec-4517-8015-537b0ad94400/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.