Scan timing: clone 4.32s · analysis 59.0s · 18.8 MB · GitHub API rate-limit (preflight)
https://github.com/2anki/server
· scanned 2026-06-05 20:15 UTC (4 days, 13 hours ago)
· 10 languages
766 raw signals (278 security + 488 graph) 16th percentile · Typescript · large (100-500K LoC) System graph score 70 (lower by 5)
Last scanned 4 days, 13 hours ago · v2 · 369 actionable findings from 2 signal sources. 128 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
85.0 | 0.15 | 12.75 |
security_score |
3.0 | 0.25 | 0.75 |
testing_score |
100.0 | 0.20 | 20.00 |
documentation_score |
88.4 | 0.15 | 13.26 |
practices_score |
78.0 | 0.15 | 11.70 |
code_quality |
64.5 | 0.10 | 6.45 |
| Overall | 1.00 | 64.9 |
All 9077 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 |
|---|---|---|---|
validateEnvironment |
software | healthy | scripts/digitalocean/config.ts:validateEnvironment |
getSourceConnectionParams |
software | healthy | scripts/digitalocean/config.ts:getSourceConnectionParams |
getTargetConnectionParams |
software | healthy | scripts/digitalocean/config.ts:getTargetConnectionParams |
buildConnectionString |
software | healthy | scripts/digitalocean/config.ts:buildConnectionString |
sanitizeForLogging |
software | healthy | scripts/digitalocean/config.ts:sanitizeForLogging |
testDatabaseConnection |
software | healthy | scripts/digitalocean/connection-test.ts:testDatabaseConnect… |
testConnections |
software | healthy | scripts/digitalocean/connection-test.ts:testConnections |
promptForConfirmation |
software | healthy | scripts/digitalocean/prompt.ts:promptForConfirmation |
findExecutable |
software | healthy | scripts/digitalocean/utils.ts:findExecutable |
getSecurePostgresPath |
software | healthy | scripts/digitalocean/utils.ts:getSecurePostgresPath |
cleanup |
software | healthy | scripts/digitalocean/cleanup.ts:cleanup |
restoreDatabase |
software | healthy | scripts/digitalocean/restore.ts:restoreDatabase |
createDatabaseDump |
software | healthy | scripts/digitalocean/dump.ts:createDatabaseDump |
executeSqlQuery |
software | healthy | scripts/digitalocean/verify.ts:executeSqlQuery |
verifyMigration |
software | healthy | scripts/digitalocean/verify.ts:verifyMigration |
log |
software | healthy | scripts/digitalocean/logger.ts:log |
error |
software | healthy | scripts/digitalocean/logger.ts:error |
success |
software | healthy | scripts/digitalocean/logger.ts:success |
info |
software | healthy | scripts/digitalocean/logger.ts:info |
warning |
software | healthy | scripts/digitalocean/logger.ts:warning |
shortenFullSha |
software | healthy | web/vite.config.ts:shortenFullSha |
resolveRelease |
software | healthy | web/vite.config.ts:resolveRelease |
landingPrerender |
software | healthy | web/vite.config.ts:landingPrerender |
manifestSameOrigin |
software | healthy | web/vite.config.ts:manifestSameOrigin |
setupMocks |
software | healthy | web/tests/rules-and-card-options.spec.ts:setupMocks |
setupCommonMocks |
software | healthy | web/tests/onboarding-tour.spec.ts:setupCommonMocks |
countMatches |
software | healthy | web/scripts/prerenderLandingPages.test.ts:countMatches |
keepManifestSameOrigin |
software | healthy | web/scripts/keepManifestSameOrigin.ts:keepManifestSameOrigin |
escapeHtml |
software | healthy | web/scripts/prerenderLandingPages.ts:escapeHtml |
buildHeroFragment |
software | healthy | web/scripts/prerenderLandingPages.ts:buildHeroFragment |
stripExistingMeta |
software | healthy | web/scripts/prerenderLandingPages.ts:stripExistingMeta |
rewriteHead |
software | healthy | web/scripts/prerenderLandingPages.ts:rewriteHead |
rewriteRoot |
software | healthy | web/scripts/prerenderLandingPages.ts:rewriteRoot |
buildNotionMarketplaceFragment |
software | healthy | web/scripts/prerenderLandingPages.ts:buildNotionMarketplace… |
emitNotionMarketplacePage |
software | healthy | web/scripts/prerenderLandingPages.ts:emitNotionMarketplaceP… |
emitConvertHubPage |
software | healthy | web/scripts/prerenderLandingPages.ts:emitConvertHubPage |
emitLandingPages |
software | healthy | web/scripts/prerenderLandingPages.ts:emitLandingPages |
emitMetaOnlyPages |
software | healthy | web/scripts/prerenderLandingPages.ts:emitMetaOnlyPages |
emitAnswersPages |
software | healthy | web/scripts/prerenderLandingPages.ts:emitAnswersPages |
getAllowedOrigins |
software | healthy | web/mock-server/server.js:getAllowedOrigins |
main |
software | healthy | web/src/index.tsx:main |
RequireAuth |
software | healthy | web/src/App.tsx:RequireAuth |
AppContent |
software | healthy | web/src/App.tsx:AppContent |
requireAuth |
software | healthy | web/src/App.tsx:requireAuth |
AppWithCookies |
software | healthy | web/src/App.tsx:AppWithCookies |
handledError |
software | healthy | web/src/App.tsx:handledError |
App |
software | healthy | web/src/App.tsx:App |
secureParams |
software | healthy | web/src/generated/http-client.ts:secureParams |
TextAlignPicker |
software | healthy | web/src/components/TextAlignPicker.tsx:TextAlignPicker |
TemplateSelect |
software | healthy | web/src/components/TemplateSelect.tsx:TemplateSelect |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.releaserc.json |
software | healthy | .releaserc.json |
VOICE.md |
software | healthy | VOICE.md |
.mcp.json |
software | healthy | .mcp.json |
jest.config.js |
software | warning | jest.config.js |
.aider.conf.yml |
software | healthy | .aider.conf.yml |
README.md |
software | healthy | README.md |
.kanelrc.js |
software | warning | .kanelrc.js |
pnpm-lock.yaml |
software | healthy | pnpm-lock.yaml |
CLAUDE.md |
software | healthy | CLAUDE.md |
netlify.toml |
software | healthy | netlify.toml |
package.json |
software | healthy | package.json |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
CREDITS.md |
software | healthy | CREDITS.md |
incidents.json |
software | healthy | incidents.json |
LICENSE.md |
software | healthy | LICENSE.md |
ROADMAP.md |
software | healthy | ROADMAP.md |
pnpm-workspace.yaml |
software | healthy | pnpm-workspace.yaml |
Makefile |
software | healthy | Makefile |
tsconfig.json |
software | healthy | tsconfig.json |
ecosystem.blue-green.config.js |
software | warning | ecosystem.blue-green.config.js |
CODE_OF_CONDUCT.md |
software | healthy | CODE_OF_CONDUCT.md |
AIDER.md |
software | healthy | AIDER.md |
ga4-bot-filter-checklist-W21.md |
software | healthy | docs/analytics/ga4-bot-filter-checklist-W21.md |
start_stripe_proxy.sh |
software | healthy | scripts/start_stripe_proxy.sh |
dependabot.bash |
software | healthy | scripts/dependabot.bash |
generate-notion-color-css.js |
software | warning | scripts/generate-notion-color-css.js |
deploy-blue-green.sh |
software | healthy | scripts/deploy-blue-green.sh |
config.ts |
software | healthy | scripts/digitalocean/config.ts |
connection-test.ts |
software | healthy | scripts/digitalocean/connection-test.ts |
README.md |
software | healthy | scripts/digitalocean/README.md |
package.json |
software | healthy | scripts/digitalocean/package.json |
prompt.ts |
software | healthy | scripts/digitalocean/prompt.ts |
utils.ts |
software | healthy | scripts/digitalocean/utils.ts |
package-lock.json |
software | healthy | scripts/digitalocean/package-lock.json |
cleanup.ts |
software | healthy | scripts/digitalocean/cleanup.ts |
migrate.ts |
software | warning | scripts/digitalocean/migrate.ts |
Makefile |
software | healthy | scripts/digitalocean/Makefile |
tsconfig.json |
software | healthy | scripts/digitalocean/tsconfig.json |
restore.ts |
software | healthy | scripts/digitalocean/restore.ts |
dump.ts |
software | healthy | scripts/digitalocean/dump.ts |
types.ts |
software | warning | scripts/digitalocean/types.ts |
verify.ts |
software | healthy | scripts/digitalocean/verify.ts |
logger.ts |
software | healthy | scripts/digitalocean/logger.ts |
index.html |
software | healthy | deploy/netlify-redirect/index.html |
playwright.config.ts |
software | warning | web/playwright.config.ts |
vite.config.ts |
software | healthy | web/vite.config.ts |
README.md |
software | healthy | web/README.md |
.kanelrc.js |
software | warning | web/.kanelrc.js |
pnpm-lock.yaml |
software | healthy | web/pnpm-lock.yaml |
CLAUDE.md |
software | healthy | web/CLAUDE.md |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
/NotFoundPage |
frontend | healthy | web/src/pages/NotFoundPage.tsx |
/HomePage/useShowcase |
frontend | healthy | web/src/pages/HomePage/useShowcase.ts |
/HomePage/HomePage |
frontend | healthy | web/src/pages/HomePage/HomePage.tsx |
/HomePage/HomePage.test |
frontend | healthy | web/src/pages/HomePage/HomePage.test.tsx |
/HomePage/ShowcaseSection |
frontend | healthy | web/src/pages/HomePage/ShowcaseSection.tsx |
/HomePage/ |
frontend | healthy | web/src/pages/HomePage/index.tsx |
/HomePage/ShowcaseSection.test |
frontend | healthy | web/src/pages/HomePage/ShowcaseSection.test.tsx |
/HomePage/components/Sections/hero/HeroText |
frontend | healthy | web/src/pages/HomePage/components/Sections/hero/HeroText.tsx |
/HomePage/components/Sections/hero/ |
frontend | healthy | web/src/pages/HomePage/components/Sections/hero/index.tsx |
/AccountPreviewPage/AccountPreviewPage |
frontend | healthy | web/src/pages/AccountPreviewPage/AccountPreviewPage.tsx |
/ConvertLandingPage/ApkgCsvExportForm.test |
frontend | healthy | web/src/pages/ConvertLandingPage/ApkgCsvExportForm.test.tsx |
/ConvertLandingPage/ConvertLandingPage |
frontend | healthy | web/src/pages/ConvertLandingPage/ConvertLandingPage.tsx |
/ConvertLandingPage/convertLandingConfig |
frontend | healthy | web/src/pages/ConvertLandingPage/convertLandingConfig.ts |
/ConvertLandingPage/ApkgCsvExportForm |
frontend | healthy | web/src/pages/ConvertLandingPage/ApkgCsvExportForm.tsx |
/ConvertLandingPage/ConvertLandingPage.test |
frontend | healthy | web/src/pages/ConvertLandingPage/ConvertLandingPage.test.tsx |
/AboutPage/AboutPage |
frontend | healthy | web/src/pages/AboutPage/AboutPage.tsx |
/AccountPage/AccountPage.test |
frontend | healthy | web/src/pages/AccountPage/AccountPage.test.tsx |
/AccountPage/AccountPage |
frontend | healthy | web/src/pages/AccountPage/AccountPage.tsx |
/AccountPage/ |
frontend | healthy | web/src/pages/AccountPage/index.ts |
/AccountPage/components/SubscriptionManagement.test |
frontend | healthy | web/src/pages/AccountPage/components/SubscriptionManagement… |
/AccountPage/components/PlanDetails |
frontend | healthy | web/src/pages/AccountPage/components/PlanDetails.tsx |
/AccountPage/components/SubscriptionManagement |
frontend | healthy | web/src/pages/AccountPage/components/SubscriptionManagement… |
/AccountPage/components/ |
frontend | healthy | web/src/pages/AccountPage/components/index.ts |
/AccountPage/components/AccountDeletion |
frontend | healthy | web/src/pages/AccountPage/components/AccountDeletion.tsx |
/AccountPage/components/UserProfile |
frontend | healthy | web/src/pages/AccountPage/components/UserProfile.tsx |
/AccountPage/components/ClaimSubscription |
frontend | healthy | web/src/pages/AccountPage/components/ClaimSubscription.tsx |
/AccountPage/components/AccountDeletion.test |
frontend | healthy | web/src/pages/AccountPage/components/AccountDeletion.test.t… |
/AccountPage/components/ClaimSubscription.test |
frontend | healthy | web/src/pages/AccountPage/components/ClaimSubscription.test… |
/AccountPage/components/CancellationFollowUp |
frontend | healthy | web/src/pages/AccountPage/components/CancellationFollowUp.t… |
/AccountPage/components/CancellationFollowUp.test |
frontend | healthy | web/src/pages/AccountPage/components/CancellationFollowUp.t… |
/AccountPage/hooks/ |
frontend | healthy | web/src/pages/AccountPage/hooks/index.ts |
/AccountPage/hooks/useEmailLinking |
frontend | healthy | web/src/pages/AccountPage/hooks/useEmailLinking.ts |
/AccountPage/hooks/useSubscriptionCancellation |
frontend | healthy | web/src/pages/AccountPage/hooks/useSubscriptionCancellation… |
/AccountPage/hooks/useSubscriptionStatus |
frontend | healthy | web/src/pages/AccountPage/hooks/useSubscriptionStatus.ts |
/AccountPage/hooks/useSubscriptionCancellation.test |
frontend | healthy | web/src/pages/AccountPage/hooks/useSubscriptionCancellation… |
/NativeAppPage/NativeAppPage.test |
frontend | healthy | web/src/pages/NativeAppPage/NativeAppPage.test.tsx |
/NativeAppPage/NativeAppPage |
frontend | healthy | web/src/pages/NativeAppPage/NativeAppPage.tsx |
/Chat/AssistantMarkdown.test |
frontend | healthy | web/src/pages/Chat/AssistantMarkdown.test.tsx |
/Chat/CodeBlock.test |
frontend | healthy | web/src/pages/Chat/CodeBlock.test.tsx |
/Chat/CardPreview |
frontend | healthy | web/src/pages/Chat/CardPreview.tsx |
/Chat/CardPreview.test |
frontend | healthy | web/src/pages/Chat/CardPreview.test.tsx |
/Chat/ChatPage |
frontend | healthy | web/src/pages/Chat/ChatPage.tsx |
/Chat/CodeBlock |
frontend | healthy | web/src/pages/Chat/CodeBlock.tsx |
/Chat/AssistantMarkdown |
frontend | healthy | web/src/pages/Chat/AssistantMarkdown.tsx |
/Chat/ChatPage.test |
frontend | healthy | web/src/pages/Chat/ChatPage.test.tsx |
/Chat/ConversationsSidebar |
frontend | healthy | web/src/pages/Chat/ConversationsSidebar.tsx |
/AnswersPage/AnswersPage.test |
frontend | healthy | web/src/pages/AnswersPage/AnswersPage.test.tsx |
/AnswersPage/AnswersPage |
frontend | healthy | web/src/pages/AnswersPage/AnswersPage.tsx |
/AnswersPage/AnswerFigures |
frontend | healthy | web/src/pages/AnswersPage/AnswerFigures.tsx |
/AnswersPage/answersConfig |
frontend | healthy | web/src/pages/AnswersPage/answersConfig.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
ResizeObserver |
software | healthy | web/src/setupTests.ts:ResizeObserver |
Login |
software | healthy | web/src/generated/Login.ts:Login |
Webhook |
software | healthy | web/src/generated/Webhook.ts:Webhook |
Download |
software | healthy | web/src/generated/Download.ts:Download |
SuccessfulCheckout |
software | healthy | web/src/generated/SuccessfulCheckout.ts:SuccessfulCheckout |
PatrOn |
software | healthy | web/src/generated/PatrOn.ts:PatrOn |
Api |
software | healthy | web/src/generated/Api.ts:Api |
IndexHtml |
software | healthy | web/src/generated/IndexHtml.ts:IndexHtml |
HttpClient |
software | healthy | web/src/generated/http-client.ts:HttpClient |
Search |
software | healthy | web/src/generated/Search.ts:Search |
Path |
software | healthy | web/src/generated/Path.ts:Path |
RootErrorBoundary |
software | healthy | web/src/components/RootErrorBoundary/RootErrorBoundary.tsx:… |
UserNotice |
software | healthy | web/src/lib/errors/UserNotice.ts:UserNotice |
AiQuotaExceededError |
software | healthy | web/src/lib/backend/templates.ts:AiQuotaExceededError |
TrackerSchemaError |
software | healthy | web/src/lib/backend/Backend.ts:TrackerSchemaError |
Backend |
software | healthy | web/src/lib/backend/Backend.ts:Backend |
CardOption |
software | healthy | web/src/lib/data_layer/model/CardOption.ts:CardOption |
for |
software | healthy | web/src/pages/PreviewPage/BlockNode.test.tsx:for |
IntersectionObserver |
software | healthy | web/src/pages/PreviewPage/PreviewPage.test.tsx:Intersection… |
IntersectionObserver |
software | healthy | web/src/pages/SharedDeckPage/SharedDeckPage.test.tsx:Inters… |
names |
software | healthy | web/src/pages/UploadPage/components/UploadForm/UploadSource… |
FakeFileReader |
software | healthy | web/src/pages/PhotoToFlashcardsPage/PhotoToFlashcardsPage.t… |
FakeImage |
software | healthy | web/src/pages/PhotoToFlashcardsPage/PhotoToFlashcardsPage.t… |
ZipHandler |
software | healthy | src/lib/zip/zip.tsx:ZipHandler |
CardGenerator |
software | healthy | src/lib/anki/CardGenerator.ts:CardGenerator |
PythonExitError |
software | healthy | src/lib/anki/buildPythonExitError.ts:PythonExitError |
TemplateFieldValidationError |
software | healthy | src/lib/templates/validateTemplateFields.ts:TemplateFieldVa… |
EpubError |
software | healthy | src/lib/vocab/EpubWalker.ts:EpubError |
EpubTooLargeError |
software | healthy | src/lib/vocab/EpubWalker.ts:EpubTooLargeError |
EpubNoAnnotationsError |
software | healthy | src/lib/vocab/EpubWalker.ts:EpubNoAnnotationsError |
repeat |
software | healthy | src/lib/vocab/EpubWalker.ts:repeat |
InMemoryRateLimiter |
software | healthy | src/lib/rateLimit/InMemoryRateLimiter.ts:InMemoryRateLimiter |
InvalidScheduleTimeError |
software | healthy | src/lib/ankify/nextDailyRunAt.ts:InvalidScheduleTimeError |
InvalidTimezoneError |
software | healthy | src/lib/ankify/nextDailyRunAt.ts:InvalidTimezoneError |
Package |
software | healthy | src/lib/parser/Package.ts:Package |
ParserRules |
software | healthy | src/lib/parser/ParserRules.ts:ParserRules |
and |
software | healthy | src/lib/parser/ParserRules.ts:and |
Note |
software | healthy | src/lib/parser/Note.ts:Note |
DeckParser |
software | healthy | src/lib/parser/DeckParser.ts:DeckParser |
const |
software | healthy | src/lib/parser/DeckParser.ts:const |
TagRegistry |
software | healthy | src/lib/parser/TagRegistry.ts:TagRegistry |
Deck |
software | healthy | src/lib/parser/Deck.ts:Deck |
Workspace |
software | healthy | src/lib/parser/WorkSpace.ts:Workspace |
AnkiAppExportError |
software | healthy | src/lib/parser/parsers/parseAnkiAppXml.ts:AnkiAppExportError |
DeckTooLargeError |
software | healthy | src/lib/parser/exporters/DeckTooLargeError.ts:DeckTooLargeE… |
CustomExporter |
software | healthy | src/lib/parser/exporters/CustomExporter.ts:CustomExporter |
CardOption |
software | healthy | src/lib/parser/Settings/CardOption.ts:CardOption |
FallbackParser |
software | healthy | src/lib/parser/experimental/FallbackParser.ts:FallbackParser |
PlainTextParser |
software | healthy | src/lib/parser/experimental/PlainTextParser/PlainTextParser… |
ClaudeParseError |
software | healthy | src/lib/claude/ClaudeService.ts:ClaudeParseError |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
docs |
software | healthy | docs |
analytics |
software | healthy | docs/analytics |
scripts |
software | healthy | scripts |
digitalocean |
software | healthy | scripts/digitalocean |
deploy |
software | healthy | deploy |
netlify-redirect |
software | healthy | deploy/netlify-redirect |
web |
software | healthy | web |
tests |
software | healthy | web/tests |
scripts |
software | healthy | web/scripts |
mock-server |
software | healthy | web/mock-server |
public |
software | healthy | web/public |
src |
software | healthy | web/src |
types |
software | healthy | web/src/types |
generated |
software | healthy | web/src/generated |
components |
software | healthy | web/src/components |
modals |
software | healthy | web/src/components/modals |
SettingsModal |
software | healthy | web/src/components/modals/SettingsModal |
input |
software | healthy | web/src/components/input |
ThemeSwitcher |
software | healthy | web/src/components/ThemeSwitcher |
ChunkReloadOverlay |
software | healthy | web/src/components/ChunkReloadOverlay |
NotionColumnMappingModal |
software | healthy | web/src/components/NotionColumnMappingModal |
CheckYourEmail |
software | healthy | web/src/components/CheckYourEmail |
UpsellCard |
software | healthy | web/src/components/UpsellCard |
AdSense |
software | healthy | web/src/components/AdSense |
ConsentModal |
software | healthy | web/src/components/ConsentModal |
NavigationBar |
software | healthy | web/src/components/NavigationBar |
components |
software | healthy | web/src/components/NavigationBar/components |
helpers |
software | healthy | web/src/components/NavigationBar/helpers |
shared |
software | healthy | web/src/components/shared |
VerifyEmailNotice |
software | healthy | web/src/components/VerifyEmailNotice |
Skeleton |
software | healthy | web/src/components/Skeleton |
StepIndicator |
software | healthy | web/src/components/StepIndicator |
errors |
software | healthy | web/src/components/errors |
helpers |
software | healthy | web/src/components/errors/helpers |
AppShell |
software | healthy | web/src/components/AppShell |
PostLoginSurvey |
software | healthy | web/src/components/PostLoginSurvey |
TopMessage |
software | healthy | web/src/components/TopMessage |
icons |
software | healthy | web/src/components/icons |
ChatPanel |
software | healthy | web/src/components/ChatPanel |
EmptyState |
software | healthy | web/src/components/EmptyState |
AuthPageBackground |
software | healthy | web/src/components/AuthPageBackground |
Layout |
software | healthy | web/src/components/Layout |
CardOptionsForm |
software | healthy | web/src/components/CardOptionsForm |
AccessBanner |
software | healthy | web/src/components/AccessBanner |
FeedbackWidget |
software | healthy | web/src/components/FeedbackWidget |
forms |
software | healthy | web/src/components/forms |
ForgotPasswordForm |
software | healthy | web/src/components/forms/ForgotPasswordForm |
RootErrorBoundary |
software | healthy | web/src/components/RootErrorBoundary |
lib |
software | healthy | web/src/lib |
google |
software | healthy | web/src/lib/google |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
USE /docs |
api | healthy | web/mock-server/server.js |
GET /api/users/debug/locals |
api | healthy | web/mock-server/server.js |
POST /api/users/logout |
api | healthy | web/mock-server/server.js |
POST /api/users/login |
api | healthy | web/mock-server/server.js |
POST /api/users/link_email |
api | healthy | web/mock-server/server.js |
GET /api/users/auth/google |
api | healthy | web/mock-server/server.js |
GET /api/notion/get-notion-link |
api | healthy | web/mock-server/server.js |
POST /api/notion/pages |
api | healthy | web/mock-server/server.js |
POST /api/notion/convert |
api | healthy | web/mock-server/server.js |
GET /api/upload/jobs |
api | healthy | web/mock-server/server.js |
GET /api/upload/mine |
api | healthy | web/mock-server/server.js |
GET /health |
api | healthy | web/mock-server/server.js |
GET /docs/swagger.json |
api | healthy | web/mock-server/server.js |
USE /templates |
api | healthy | src/server.ts |
USE /assets |
api | healthy | src/lib/mountWebBuild.ts |
POST /webhook |
api | healthy | src/routes/WebhookRouter.ts |
GET /successful-checkout |
api | healthy | src/routes/WebhookRouter.ts |
GET /api/stripe/subscription-status |
api | healthy | src/routes/WebhookRouter.ts |
GET /api/showcase |
api | healthy | src/routes/ShowcaseRouter.ts |
GET /api/ops/errors |
api | healthy | src/routes/OpsErrorsRouter.ts |
GET /api/ops/errors/export |
api | healthy | src/routes/OpsErrorsRouter.ts |
POST /api/ops/errors/:messageHash/resolve |
api | healthy | src/routes/OpsErrorsRouter.ts |
DELETE /api/ops/errors/:messageHash/resolve |
api | healthy | src/routes/OpsErrorsRouter.ts |
GET /api/checks |
api | healthy | src/routes/ChecksRouter.ts |
POST /api/favorite/create |
api | healthy | src/routes/FavoriteRouter.ts |
POST /api/favorite/remove |
api | healthy | src/routes/FavoriteRouter.ts |
GET /api/favorite |
api | healthy | src/routes/FavoriteRouter.ts |
POST /api/upload/file |
api | healthy | src/routes/UploadRouter.ts |
POST /api/upload/save |
api | healthy | src/routes/UploadRouter.ts |
POST /api/upload/retry-with-credential |
api | healthy | src/routes/UploadRouter.ts |
POST /api/upload/dropbox |
api | healthy | src/routes/UploadRouter.ts |
POST /api/upload/google_drive |
api | healthy | src/routes/UploadRouter.ts |
GET /api/upload/recent-sources |
api | healthy | src/routes/UploadRouter.ts |
DELETE /api/upload/jobs/:id |
api | healthy | src/routes/UploadRouter.ts |
GET /api/upload/jobs/:jobId/download |
api | healthy | src/routes/UploadRouter.ts |
POST /api/upload/jobs/:jobId/restart |
api | healthy | src/routes/UploadRouter.ts |
DELETE /api/upload/mine/:key |
api | healthy | src/routes/UploadRouter.ts |
GET /api/upload/dropbox/mine |
api | healthy | src/routes/UploadRouter.ts |
DELETE /api/upload/dropbox/mine/:id |
api | healthy | src/routes/UploadRouter.ts |
GET /api/upload/google_drive/mine |
api | healthy | src/routes/UploadRouter.ts |
DELETE /api/upload/google_drive/mine/:id |
api | healthy | src/routes/UploadRouter.ts |
POST /api/feedback/interview |
api | healthy | src/routes/FeedbackRouter.ts |
GET /api/surveys/post-login |
api | healthy | src/routes/UserSurveyRouter.ts |
POST /api/surveys/post-login |
api | healthy | src/routes/UserSurveyRouter.ts |
GET /index.html |
api | healthy | src/routes/DefaultRouter.ts |
GET /documentation/api/docs |
api | healthy | src/routes/DefaultRouter.ts |
POST /api/contact-us |
api | healthy | src/routes/DefaultRouter.ts |
GET /api/rules/find/:id |
api | healthy | src/routes/ParserRulesRouter.ts |
POST /api/rules/create/:id |
api | healthy | src/routes/ParserRulesRouter.ts |
DELETE /api/rules/:id |
api | healthy | src/routes/ParserRulesRouter.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | web/src/App.tsx |
TextAlignPicker |
frontend | healthy | web/src/components/TextAlignPicker.tsx |
TemplateSelect |
frontend | healthy | web/src/components/TemplateSelect.tsx |
TextColorPicker |
frontend | healthy | web/src/components/TextColorPicker.tsx |
LocalCheckbox |
frontend | healthy | web/src/components/LocalCheckbox.tsx |
Footer |
frontend | healthy | web/src/components/Footer.tsx |
FontSizePicker |
frontend | healthy | web/src/components/FontSizePicker.tsx |
TemplateName |
frontend | healthy | web/src/components/TemplateName.tsx |
SettingsModal |
frontend | healthy | web/src/components/modals/SettingsModal/SettingsModal.tsx |
Switch |
frontend | healthy | web/src/components/input/Switch.tsx |
CheckYourEmail |
frontend | healthy | web/src/components/CheckYourEmail/CheckYourEmail.tsx |
ConsentModal |
frontend | healthy | web/src/components/ConsentModal/ConsentModal.tsx |
NavbarItem |
frontend | healthy | web/src/components/NavigationBar/NavbarItem.tsx |
NavigationBar |
frontend | healthy | web/src/components/NavigationBar/NavigationBar.tsx |
PostLoginSurvey |
frontend | healthy | web/src/components/PostLoginSurvey/PostLoginSurvey.tsx |
TopMessage |
frontend | healthy | web/src/components/TopMessage/TopMessage.tsx |
CommandLineIcon |
frontend | healthy | web/src/components/icons/CommandLineIcon.tsx |
PencilIcon |
frontend | healthy | web/src/components/icons/PencilIcon.tsx |
RectangleGroupIcon |
frontend | healthy | web/src/components/icons/RectangleGroupIcon.tsx |
ShareIcon |
frontend | healthy | web/src/components/icons/ShareIcon.tsx |
ArrowUpTrayIcon |
frontend | healthy | web/src/components/icons/ArrowUpTrayIcon.tsx |
ArrowRightIcon |
frontend | healthy | web/src/components/icons/ArrowRightIcon.tsx |
DotsHorizontal |
frontend | healthy | web/src/components/icons/DotsHorizontal.tsx |
ArrowRight |
frontend | healthy | web/src/components/icons/ArrowRight.tsx |
WrenchIcon |
frontend | healthy | web/src/components/icons/WrenchIcon.tsx |
RefreshIcon |
frontend | healthy | web/src/components/icons/RefreshIcon.tsx |
EyeIcon |
frontend | healthy | web/src/components/icons/EyeIcon.tsx |
BookOpenIcon |
frontend | healthy | web/src/components/icons/BookOpenIcon.tsx |
CheckIcon |
frontend | healthy | web/src/components/icons/CheckIcon.tsx |
CreditCardIcon |
frontend | healthy | web/src/components/icons/CreditCardIcon.tsx |
ChatBubbleIcon |
frontend | healthy | web/src/components/icons/ChatBubbleIcon.tsx |
ChevronRightIcon |
frontend | healthy | web/src/components/icons/ChevronRightIcon.tsx |
LayersIcon |
frontend | healthy | web/src/components/icons/LayersIcon.tsx |
SparklesIcon |
frontend | healthy | web/src/components/icons/SparklesIcon.tsx |
ArrowLeftIcon |
frontend | healthy | web/src/components/icons/ArrowLeftIcon.tsx |
PrinterIcon |
frontend | healthy | web/src/components/icons/PrinterIcon.tsx |
ExternalLinkIcon |
frontend | healthy | web/src/components/icons/ExternalLinkIcon.tsx |
StarIcon |
frontend | healthy | web/src/components/icons/StarIcon.tsx |
InfoIcon |
frontend | healthy | web/src/components/icons/InfoIcon.tsx |
UserCircleIcon |
frontend | healthy | web/src/components/icons/UserCircleIcon.tsx |
DownloadIcon |
frontend | healthy | web/src/components/icons/DownloadIcon.tsx |
CameraIcon |
frontend | healthy | web/src/components/icons/CameraIcon.tsx |
SettingsIcon |
frontend | healthy | web/src/components/icons/SettingsIcon.tsx |
SwatchIcon |
frontend | healthy | web/src/components/icons/SwatchIcon.tsx |
ArrowRightOnRectangleIcon |
frontend | healthy | web/src/components/icons/ArrowRightOnRectangleIcon.tsx |
TrashIcon |
frontend | healthy | web/src/components/icons/TrashIcon.tsx |
ChatPanel |
frontend | healthy | web/src/components/ChatPanel/ChatPanel.tsx |
OverlappingClozePreview |
frontend | healthy | web/src/components/CardOptionsForm/OverlappingClozePreview.… |
NoteTypePicker |
frontend | healthy | web/src/components/CardOptionsForm/NoteTypePicker.tsx |
RegisterForm |
frontend | healthy | web/src/components/forms/RegisterForm.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
Migrations.ts |
data | healthy | web/src/schemas/public/Migrations.ts |
KnexMigrationsLock.ts |
data | healthy | web/src/schemas/public/KnexMigrationsLock.ts |
KnexMigrations.ts |
data | healthy | web/src/schemas/public/KnexMigrations.ts |
20211008190414_users-add-susbcriber-field.js |
data | healthy | migrations/20211008190414_users-add-susbcriber-field.js |
20220104230034_rename-rules-table.js |
data | healthy | migrations/20220104230034_rename-rules-table.js |
20260806000000_add_feature_flags.js |
data | healthy | migrations/20260806000000_add_feature_flags.js |
20260512000000_ankify_session_tokens_drop_unique_active.js |
data | healthy | migrations/20260512000000_ankify_session_tokens_drop_unique… |
20230716_add_type_to_jobs_table.js |
data | healthy | migrations/20230716_add_type_to_jobs_table.js |
20220423114610_user-favourites.js |
data | healthy | migrations/20220423114610_user-favourites.js |
20240901_drop_sessions_table.js |
data | healthy | migrations/20240901_drop_sessions_table.js |
20260507000001_ankify_export_schedules.js |
data | healthy | migrations/20260507000001_ankify_export_schedules.js |
20221029071325_remove-verify-user.js |
data | healthy | migrations/20221029071325_remove-verify-user.js |
20260602000000_add_created_at_to_dropbox_uploads.js |
data | healthy | migrations/20260602000000_add_created_at_to_dropbox_uploads… |
20211001165820_notion-tokens.js |
data | healthy | migrations/20211001165820_notion-tokens.js |
20260507000004_ankify_sync_conflicts.js |
data | healthy | migrations/20260507000004_ankify_sync_conflicts.js |
20260601000000_observability_jobs_and_signup_country.js |
data | healthy | migrations/20260601000000_observability_jobs_and_signup_cou… |
20260903000001_uploads_dedupe_index_concurrent.js |
data | healthy | migrations/20260903000001_uploads_dedupe_index_concurrent.js |
20230731_delete_patreon_tokens_table.js |
data | healthy | migrations/20230731_delete_patreon_tokens_table.js |
20260507000003_ankify_notion_subscriptions.js |
data | healthy | migrations/20260507000003_ankify_notion_subscriptions.js |
20220320084342_uploads-make-all-fields-text.js |
data | healthy | migrations/20220320084342_uploads-make-all-fields-text.js |
20260605000002_add_stripe_product_id_to_subscriptions.js |
data | healthy | migrations/20260605000002_add_stripe_product_id_to_subscrip… |
20260530000000_add_ai_template_counts_to_users.js |
data | healthy | migrations/20260530000000_add_ai_template_counts_to_users.js |
20260531000000_add_monthly_card_counter_to_users.js |
data | healthy | migrations/20260531000000_add_monthly_card_counter_to_users… |
20260525000001_notion_tokens_add_invalidated_at.js |
data | healthy | migrations/20260525000001_notion_tokens_add_invalidated_at.… |
20220424145342_user-favourites-add-type.js |
data | healthy | migrations/20220424145342_user-favourites-add-type.js |
20260800000000_add_error_events_table.js |
data | healthy | migrations/20260800000000_add_error_events_table.js |
20260605000001_add_recovery_url_to_abandoned_checkout_recov… |
data | healthy | migrations/20260605000001_add_recovery_url_to_abandoned_che… |
20211211112309_page.js |
data | healthy | migrations/20211211112309_page.js |
20220308210348_user-delete-subscriber.js |
data | healthy | migrations/20220308210348_user-delete-subscriber.js |
20260504000000_cancellation_feedback.js |
data | healthy | migrations/20260504000000_cancellation_feedback.js |
20260529000000_conversation_drafts.js |
data | healthy | migrations/20260529000000_conversation_drafts.js |
20260529000000_normalize_parser_rules_deck_options.js |
data | healthy | migrations/20260529000000_normalize_parser_rules_deck_optio… |
20241009123057_subscriptions.js |
data | healthy | migrations/20241009123057_subscriptions.js |
20260605000003_add_stripe_customer_id_to_users.js |
data | healthy | migrations/20260605000003_add_stripe_customer_id_to_users.js |
20260614000000_emoji_feedback_created_at_index.js |
data | healthy | migrations/20260614000000_emoji_feedback_created_at_index.js |
20260513000001_io_drafts.js |
data | healthy | migrations/20260513000001_io_drafts.js |
20210919214919_users.js |
data | healthy | migrations/20210919214919_users.js |
20210922094041_users-verification.js |
data | healthy | migrations/20210922094041_users-verification.js |
20260801000000_add_anonymous_passes.js |
data | healthy | migrations/20260801000000_add_anonymous_passes.js |
20260616000000_conversations_template_slug.js |
data | healthy | migrations/20260616000000_conversations_template_slug.js |
20260604000000_add_chat_consent_at.js |
data | healthy | migrations/20260604000000_add_chat_consent_at.js |
20240510202957_subscriptions_add_link_email.js |
data | healthy | migrations/20240510202957_subscriptions_add_link_email.js |
20260528000000_drop_dead_columns.js |
data | healthy | migrations/20260528000000_drop_dead_columns.js |
20260510000000_observability.js |
data | healthy | migrations/20260510000000_observability.js |
20260611000000_add_abandoned_checkout_recovery_emails.js |
data | healthy | migrations/20260611000000_add_abandoned_checkout_recovery_e… |
20220703092025_create_templates.js |
data | healthy | migrations/20220703092025_create_templates.js |
20240816074735_dropbox_uploads-add_owner.js |
data | healthy | migrations/20240816074735_dropbox_uploads-add_owner.js |
20220107175849_add-patreon-user-table.js |
data | healthy | migrations/20220107175849_add-patreon-user-table.js |
20211224105411_add-owner-slicer-rules.js |
data | healthy | migrations/20211224105411_add-owner-slicer-rules.js |
20260520000000_re_engagement_emails.js |
data | healthy | migrations/20260520000000_re_engagement_emails.js |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | scripts/deploy-blue-green.sh |
7.59.4.07 |
network | healthy | web/src/components/Footer.tsx |
1.23.82.72 |
network | healthy | web/src/components/Footer.tsx |
2.33.66.07 |
network | healthy | web/src/components/Footer.tsx |
2.2.82.64 |
network | healthy | web/src/components/Footer.tsx |
2.12.51.56 |
network | healthy | web/src/components/Footer.tsx |
3.95.29.25 |
network | healthy | web/src/components/Footer.tsx |
21.15.46.55 |
network | healthy | web/src/components/Footer.tsx |
2.685.8.8 |
network | healthy | web/src/components/icons/PencilIcon.tsx |
18.324.283.696 |
network | healthy | web/src/components/icons/ShareIcon.tsx |
7.178.07.207 |
network | healthy | web/src/components/icons/EyeIcon.tsx |
3.423.379.35 |
network | healthy | web/src/components/icons/ChatBubbleIcon.tsx |
026.67.21.865 |
network | healthy | web/src/components/icons/ChatBubbleIcon.tsx |
24.03.48.062 |
network | healthy | web/src/components/icons/PrinterIcon.tsx |
499.04.701.663 |
network | healthy | web/src/components/icons/StarIcon.tsx |
2.37.996.608 |
network | healthy | web/src/components/icons/SettingsIcon.tsx |
7.513.934.653 |
network | healthy | web/src/components/forms/WithNotionLink.tsx |
124.0.0.0 |
network | healthy | web/src/pages/OpsPage/buildCopyArtifact.test.ts |
1.2.3.4 |
network | healthy | src/lib/rateLimit/ipHelpers.test.ts |
10.0.0.1 |
network | healthy | src/lib/rateLimit/ipHelpers.test.ts |
203.0.113.7 |
network | healthy | src/lib/rateLimit/ipHelpers.test.ts |
70.41.3.18 |
network | healthy | src/lib/rateLimit/ipHelpers.test.ts |
150.172.238.178 |
network | healthy | src/lib/rateLimit/ipHelpers.test.ts |
198.51.100.4 |
network | healthy | src/lib/rateLimit/ipHelpers.test.ts |
203.0.113.8 |
network | healthy | src/lib/rateLimit/ipHelpers.test.ts |
192.168.1.1 |
network | healthy | src/controllers/ErrorEventController.test.ts |
13.224.0.1 |
network | healthy | src/services/NotionService/helpers/downloadMediaOrSkip.test… |
169.254.169.254 |
network | healthy | src/services/NotionService/blocks/media/BlockBookmark/hooks… |
172.16.0.1 |
network | healthy | src/services/observability/instrumentedAxios.test.ts |
93.184.216.34 |
network | healthy | src/usecases/ankify/SyncNotionPageToRacUseCase.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::web/src/pages/LoginPage/components/LoginForm/LoginFor… |
security | healthy | web/src/pages/LoginPage/components/LoginForm/LoginForm.test… |
auth::src/controllers/NotionController.test.ts |
security | healthy | src/controllers/NotionController.test.ts |
auth::web/src/pages/AnswersPage/answersConfig.ts |
security | healthy | web/src/pages/AnswersPage/answersConfig.ts |
auth::web/src/lib/google/assertGoogleApiKeyShape.ts |
security | healthy | web/src/lib/google/assertGoogleApiKeyShape.ts |
auth::web/src/generated/Api.ts |
security | healthy | web/src/generated/Api.ts |
auth::web/src/pages/UploadPage/UploadPage.tsx |
security | healthy | web/src/pages/UploadPage/UploadPage.tsx |
auth::src/routes/middleware/RequireOpsAccess.test.ts |
security | healthy | src/routes/middleware/RequireOpsAccess.test.ts |
auth::src/routes/UserRouter.ts |
security | healthy | src/routes/UserRouter.ts |
auth::src/controllers/NotionController.ts |
security | healthy | src/controllers/NotionController.ts |
auth::web/src/lib/google/assertGoogleApiKeyShape.test.ts |
security | healthy | web/src/lib/google/assertGoogleApiKeyShape.test.ts |
auth::src/services/AuthenticationService.test.ts |
security | healthy | src/services/AuthenticationService.test.ts |
auth::src/services/NotionService/NotionService.ts |
security | healthy | src/services/NotionService/NotionService.ts |
auth::src/services/NotionService/NotionService.getAccessDat… |
security | healthy | src/services/NotionService/NotionService.getAccessData.test… |
auth::src/services/AuthenticationService.ts |
security | healthy | src/services/AuthenticationService.ts |
auth::web/mock-server/server.js |
security | healthy | web/mock-server/server.js |
auth::src/controllers/UsersControllers.test.ts |
security | healthy | src/controllers/UsersControllers.test.ts |
auth::src/routes/NotionRouter.ts |
security | healthy | src/routes/NotionRouter.ts |
auth::src/config/swagger.ts |
security | healthy | src/config/swagger.ts |
auth::web/src/pages/SearchPage/helpers/useNotionData.test.t… |
security | healthy | web/src/pages/SearchPage/helpers/useNotionData.test.tsx |
auth::web/src/pages/WhatsNewPage/changelog/2026-05-24-oauth… |
security | healthy | web/src/pages/WhatsNewPage/changelog/2026-05-24-oauth-card-… |
auth::web/tests/login-loop.spec.ts |
security | healthy | web/tests/login-loop.spec.ts |
auth::src/services/NotionService/nativeOAuthState.ts |
security | healthy | src/services/NotionService/nativeOAuthState.ts |
auth::web/src/pages/LoginPage/LoginPage.test.tsx |
security | healthy | web/src/pages/LoginPage/LoginPage.test.tsx |
auth::src/services/NotionService/NotionService.getNotionAut… |
security | healthy | src/services/NotionService/NotionService.getNotionAuthoriza… |
| Label | Layer | Status | Path |
|---|---|---|---|
lint |
cicd | healthy | .github/workflows/create_deck.yml |
test |
cicd | healthy | .github/workflows/create_deck.yml |
claude-review |
cicd | healthy | .github/workflows/claude-code-review.yml |
playwright |
cicd | healthy | .github/workflows/playwright.yml |
deploy |
cicd | healthy | .github/workflows/deploy.2anki.net.yml |
draft-retro |
cicd | healthy | .github/workflows/weekly-retro.yml |
claude |
cicd | healthy | .github/workflows/claude.yml |
lint |
cicd | healthy | .github/workflows/web.yml |
build |
cicd | healthy | .github/workflows/web.yml |
test |
cicd | healthy | .github/workflows/web.yml |
typecheck |
cicd | healthy | .github/workflows/server.yml |
test |
cicd | healthy | .github/workflows/server.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
CLAUDE_CODE_OAUTH_TOKEN |
cicd | healthy | — |
GITHUB_TOKEN |
cicd | healthy | — |
SPACES_ASSETS_REGION |
cicd | healthy | — |
SPACES_ASSETS_ACCESS_KEY_ID |
cicd | healthy | — |
SSH_PRIVATE_KEY |
cicd | healthy | — |
SPACES_ASSETS_BUCKET |
cicd | healthy | — |
SPACES_ASSETS_SECRET_ACCESS_KEY |
cicd | healthy | — |
SSH_USERNAME |
cicd | healthy | — |
NOTION_KEY |
cicd | healthy | — |
ASSET_BASE_URL |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::create_deck |
cicd | healthy | .github/workflows/create_deck.yml |
gha::claude-code-review |
cicd | healthy | .github/workflows/claude-code-review.yml |
gha::playwright |
cicd | healthy | .github/workflows/playwright.yml |
gha::deploy.2anki.net |
cicd | healthy | .github/workflows/deploy.2anki.net.yml |
gha::weekly-retro |
cicd | healthy | .github/workflows/weekly-retro.yml |
gha::claude |
cicd | healthy | .github/workflows/claude.yml |
gha::web |
cicd | healthy | .github/workflows/web.yml |
gha::server |
cicd | healthy | .github/workflows/server.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8080 |
network | healthy | Makefile |
port:3000 |
network | healthy | ecosystem.blue-green.config.js |
port:3001 |
network | healthy | ecosystem.blue-green.config.js |
port:2020 |
network | healthy | scripts/start_stripe_proxy.sh |
port:16 |
network | healthy | .github/workflows/weekly-retro.yml |
port:18 |
network | healthy | .github/workflows/weekly-retro.yml |
port:17 |
network | healthy | .github/workflows/weekly-retro.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
mysql |
data | healthy | pnpm-lock.yaml |
postgres |
data | healthy | pnpm-lock.yaml |
postgresql |
data | healthy | scripts/digitalocean/config.ts |
sqlite |
data | healthy | src/services/ApkgPreviewService/parseCollection.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | src/server.ts |
caddy |
network | healthy | src/routes/AnkifyRouter.ts |
traefik |
network | healthy | src/routes/AnkifyRouter.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | pnpm-lock.yaml |
vps::gcp |
hardware | healthy | pnpm-lock.yaml |
vps::digitalocean |
hardware | healthy | scripts/digitalocean/config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-l27weqz5 |
software | healthy | /tmp/repobility-clone-l27weqz5 |
| Label | Layer | Status | Path |
|---|---|---|---|
Subscription root |
api | healthy | web/src/pages/AnkifyPage/components/NotionSubscriptions.tes… |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::src/lib/parser/extractPdfText.test.ts |
security | healthy | src/lib/parser/extractPdfText.test.ts |
This page is publicly accessible at:
https://repobility.com/scan/b025e7bf-6c41-400d-89d0-ece5870610fb/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/b025e7bf-6c41-400d-89d0-ece5870610fb/
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.